生产计划-功能 12.16

zhc4dev
zhc077 2 years ago
parent 3c8f31099c
commit f9c17d8dde
  1. 217
      ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessDataList.vue
  2. 30
      ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue
  3. 73
      ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue
  4. 4
      ant-design-vue-jeecg/src/views/team/modules/GroupxModal.vue
  5. 16
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java
  6. 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyProductPlanController.java
  7. 19
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java
  8. 27
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java
  9. 4
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java
  10. 45
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java

@ -0,0 +1,217 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('生产计划工序')">导出</a-button>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
<!-- @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
<!-- </a-upload>-->
<!-- 高级查询区域 -->
<j-super-query :fieldList="superFieldList" ref="superQueryModal"
@handleSuperQuery="handleSuperQuery"></j-super-query>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel">
<a-icon type="delete"/>
删除
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作
<a-icon type="down"/>
</a-button>
</a-dropdown>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
:scroll="{x:true}"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange">
<!-- <span slot="action1" slot-scope="text, record">-->
<!-- <a @click="jumpPage1(record)">班组成员管理</a>-->
<!-- &lt;!&ndash; <a-divider type="vertical"/>&ndash;&gt;-->
<!-- &lt;!&ndash; <a @click="jumpPage2(record)">工位工具管理</a>&ndash;&gt;-->
<!-- </span>-->
<span slot="action" slot-scope="text, record">
<!-- <a @click="handleEdit(record)">编辑</a>-->
<!-- <a-divider type="vertical"/>-->
<!-- <a @click="handleDetail(record)">详情</a>-->
<!-- <a-divider type="vertical"/>-->
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
<a-divider type="vertical"/>
<a @click="jumpPage1(record)">制定计划详情</a>
</span>
</a-table>
</div>
<zy-plan-process-modal ref="modalForm" @ok="modalFormOk"></zy-plan-process-modal>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import ZyPlanProcessModal from './modules/ZyPlanProcessModal2'
export default {
name: 'ZyPlanProcessList',
mixins: [JeecgListMixin, mixinDevice],
components: {
ZyPlanProcessModal
},
data() {
return {
description: '计划工序制定数据列表',
//
columns: [
{
title: '#',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title: '生产计划id',
align: "center",
dataIndex: 'planId'
},
{
title: '车间名称',
align: "center",
dataIndex: 'teamName'
},
{
title: '工单编号',
align: "center",
dataIndex: 'productCode'
},
{
title: '产品名称',
align: "center",
dataIndex: 'productCode2'
},
{
title:'工序名称',
align:"center",
dataIndex: 'processId_dictText'
},
{
title:'序号',
align:"center",
dataIndex: 'number'
},
{
title: '操作',
dataIndex: 'action',
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'}
}
],
url: {
list: "/org.jeecg.modules.productplan/zyPlanProcess/list",
productPlanlist: "/org.jeecg.modules.productplan/zyProductPlan/list",
delete: "/org.jeecg.modules.productplan/zyPlanProcess/delete",
deleteBatch: "/org.jeecg.modules.productplan/zyPlanProcess/deleteBatch",
exportXlsUrl: "/org.jeecg.modules.productplan/zyPlanProcess/exportXls",
importExcelUrl: "org.jeecg.modules.productplan/zyPlanProcess/importExcel",
},
dictOptions: {},
superFieldList: [],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
initDictConfig() {
},
getSuperFieldList() {
let fieldList = [];
fieldList.push({type: 'string', value: 'planId', text: '生产计划id', dictCode: ''})
fieldList.push({type: 'string', value: 'stationId', text: '工位id', dictCode: ''})
fieldList.push({type: 'string', value: 'machineIds', text: '设备id列表', dictCode: ''})
fieldList.push({type: 'string', value: 'toolsIds', text: '工具id列表', dictCode: ''})
fieldList.push({type: 'string', value: 'processIds', text: '工序id列表', dictCode: ''})
fieldList.push({type: 'string', value: 'userIds', text: '成员id列表', dictCode: ''})
this.superFieldList = fieldList
},
jumpPage1(record) {
this.$router.push({
path: '/productplan/ZyProductPlanList',
// query: { //
// 'stationId': record.id,
// 'stationName': record.stationName,
// },
});
},
// pf(record) {
// this.$router.push({
// path: '/productplan/ZyPlanProcessAddList',
// query: { //
// }
// });
// getAction("productPlanlist", {id: record.id}).then((res) => {
// if (res.success) {
// this.$router.push({
// path: '/src/views/processassessment/assessmentCourse/ClassOpeningTaskList',
// query: { //
// }
// });
// } else {
// this.$message.error(res.message)
// }
// });
// },
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -168,12 +168,19 @@ export default {
},
{
title: '生产开始时间',
width:150,
align: "center",
dataIndex: 'workTime',
customRender: function (text) {
return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
}
// customRender: function (text) {
// return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
// }
},
/*{
title: '创建时间', width:150,
dataIndex: 'createTime',
align:"center",
// sorter:true
},*/
{
title: '生产时长',
align: "center",
@ -196,14 +203,15 @@ export default {
align: "center",
dataIndex: 'auditBy'
},
// {
// title: '',
// align: "center",
// dataIndex: 'auditTimr',
// customRender: function (text) {
// return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
// }
// },
{
title: '审核时间',
width:150,
align: "center",
dataIndex: 'auditTimr',
// customRender: function (text) {
// return !text ? "" : (text.length > 10 ? text.substr(0, 10) : text)
// }
},
{
title: '操作',
dataIndex: 'action',

@ -7,9 +7,9 @@
<!-- <a-form-model-item label="工单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productCode">-->
<!-- <a-input v-model="model.productCode" placeholder="请输入工单编号" ></a-input>-->
<!-- </a-form-model-item>-->
<a-form-model-item label="工单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId">
<a-form-model-item label="工单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productCode">
<j-dict-select-tag type="list" v-model="model.productCode"
dictCode="work_order,work_id,work_code,work_order_status='0'"
dictCode="work_order,product_code,product_code,work_order_status='0'"
placeholder="请选择工单编号"/>
</a-form-model-item>
</a-col>
@ -18,20 +18,27 @@
<!-- <a-input v-model="model.workshopId" placeholder="请输入车间id" ></a-input>-->
<!-- </a-form-model-item>-->
<a-form-model-item label="车间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workshopId">
<j-select-depart placeholder="请选择车间" v-model="model.workshopId" @change="groupxValChange()"/>
<!-- <j-select-depart placeholder="请选择车间" v-model="model.workshopId" @change="groupxValChange()"/>-->
<j-dict-select-tag type="list" v-model="model.workshopId"
dictCode="sys_depart,depart_name,id,org_type='1'" @change="getGroupxValChange()"
placeholder="请选择车间"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="车间负责人" :labelCol="labelCol" :wrapperCol="wrapperCol"
prop="responsiblePerson">
<j-select-multi-user placeholder="请选择车间负责人"
v-model="model.responsiblePerson"></j-select-multi-user>
<!-- <j-select-multi-user placeholder="请选择车间负责人"-->
<!-- v-model="model.responsiblePerson"></j-select-multi-user>-->
<j-select-multi-user placeholder="请选择车间负责人" v-model="model.responsiblePerson"
:multiple="false"></j-select-multi-user>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="班组" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teamId">
<j-dict-select-tag type="list" v-model="model.teamId"
placeholder="请先选择所属车间班组" :dict-code="groupxVal"
placeholder="请选择车间班组" :dict-code="groupxVal"
@change="getEnterprisesManagerValChange()"
:disabled="model.workshopId==null"/>
</a-form-model-item>
</a-col>
@ -39,13 +46,14 @@
<a-form-model-item label="组长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="teamLeader">
<!-- <a-input v-model="model.teamLeader" placeholder="请输入组长"></a-input>-->
<j-dict-select-tag type="list" v-model="model.teamLeader"
placeholder="请选择所属车间班组" :dict-code="groupxVal2"
:disabled="model.workshopId==null"/>
placeholder="请选择组" :dict-code="groupxVal2"
:disabled="model.teamId==null"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="生产开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workTime">
<j-date placeholder="请选择生产开始时间" v-model="model.workTime" style="width: 100%"/>
<!-- <j-date placeholder="请选择生产开始时间" v-model="model.workTime" style="width: 100%"/>-->
<a-date-picker placeholder="请选择生产开始时间" showTime valueFormat='YYYY-MM-DD HH:mm:ss' v-model="model.workTime" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
@ -54,25 +62,27 @@
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="statu">
<a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
<j-dict-select-tag type="list" v-model="model.status" dictCode="productplanStatus"
placeholder="请选择状态"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="是否加急" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="speedUp">
<j-dict-select-tag type="radio" v-model="model.speedUp" dictCode="sfjj" placeholder="请选择是否加急"/>
<a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditBy">
<j-select-multi-user placeholder="请选择审核人" v-model="model.auditBy"
:multiple="false"></j-select-multi-user>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="审核人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditBy">
<!-- <a-input v-model="model.auditBy" placeholder="请输入审核人" ></a-input>-->
<j-select-multi-user placeholder="请选择审核人" v-model="model.auditBy"></j-select-multi-user>
<a-form-model-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditTimr">
<!-- <j-date placeholder="请选择审核时间" v-model="model.auditTimr" style="width: 100%"/>-->
<a-date-picker placeholder="请选择审核时间" showTime valueFormat='YYYY-MM-DD HH:mm:ss'
v-model="model.auditTimr" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditTimr">
<j-date placeholder="请选择审核时间" v-model="model.auditTimr" style="width: 100%"/>
<a-form-model-item label="是否加急" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="speedUp">
<j-dict-select-tag type="radio" v-model="model.speedUp" dictCode="sfjj" placeholder="请选择是否加急"/>
</a-form-model-item>
</a-col>
</a-row>
@ -99,8 +109,8 @@ export default {
},
data() {
return {
groupxVal: "",
groupxVal2: "",
groupxVal: "groupx,group_name,id",
groupxVal2: "groupx,enterprises_manager,id",
model: {},
labelCol: {
xs: {span: 24},
@ -112,13 +122,21 @@ export default {
},
confirmLoading: false,
validatorRules: {
workOrderId: [
{required: true,},
productCode: [
{required: true, message: "工单不能为空"},
],
workshopId: [
{required: true,},
], teamId: [
{required: true,},
{required: true, message: "工单不能为空"},
],
teamId: [
{required: true, message: "班组不能为空"},
],
// status: [
// {required: true,message: ""},
// ],
offTime: [
{required: true, message: "生产时长不能不空"},
{pattern: /^[0-9]{0,100}$/, message: '生产时间不能为空且长度为正整数'}
],
},
url: {
@ -138,11 +156,14 @@ export default {
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
groupxValChange() {
getGroupxValChange() {
// alert("" + this.model.workshopId);
// this.basicInfoCode = "py_basic_info,chart_head,id, major_id='" + this.queryParam.majorId + "'";
this.groupxVal = "groupx,group_name,id,depart_id='" + this.model.workshopId + "'";
this.groupxVal2 = "groupx,enterprises_manager,enterprises_manager,depart_id='" + this.model.workshopId + "'";
// this.groupxVal2 = "groupx,enterprises_manager,enterprises_manager,depart_id='" + this.model.workshopId + "'";
},
getEnterprisesManagerValChange() {
this.groupxVal2 = "groupx,enterprises_manager,enterprises_manager,id='" + this.model.teamId + "'";
},
add() {
this.edit(this.modelDefault);

@ -31,9 +31,9 @@
<!-- </a-form-model-item>-->
<a-form-model-item :label-col="labelCol" :wrapper-col="wrapperCol" prop="enterprisesManager" label="班组成员">
<a-form-model-item :label-col="labelCol" :wrapper-col="wrapperCol" prop="enterprisesManager" label="负责人">
<!-- <j-select-user-by-dep v-model="model.userId" :multi="false"></j-select-user-by-dep>-->
<j-select-multi-user placeholder="请选择成员" v-model="model.enterprisesManager" @change="getMobile()" :multiple="false" ></j-select-multi-user>
<j-select-multi-user placeholder="请选择负责人" v-model="model.enterprisesManager" @change="getMobile()" :multiple="false" ></j-select-multi-user>
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mobile" label="手机号">

@ -12,6 +12,7 @@ import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.entity.vo.ProcessDataVo;
import org.jeecg.modules.productplan.service.IZyPlanProcessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -20,6 +21,8 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @Description: 生产计划工序
@ -57,6 +60,19 @@ public class ZyPlanProcessController extends JeecgController<ZyPlanProcess, IZyP
return Result.OK(pageList);
}
@ApiOperation(value = "生产计划工序-查询产品工序&计划", notes = "生产计划工序-查询产品工序&计划")
@GetMapping(value = "/getProcessDatalist")
public Result<?> getProcessDatalist(ZyPlanProcess zyPlanProcess,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ZyPlanProcess> queryWrapper = QueryGenerator.initQueryWrapper(zyPlanProcess, req.getParameterMap());
Page<ZyPlanProcess> page = new Page<ZyPlanProcess>(pageNo, pageSize);
// IPage<ZyPlanProcess> pageList = zyPlanProcessService.getProcessDatalist(page, queryWrapper);
List<ProcessDataVo> pageList = zyPlanProcessService.getProcessDatalist(zyPlanProcess);
return Result.OK(pageList);
}
/**
* 添加
*

@ -68,6 +68,7 @@ public class ZyProductPlanController extends JeecgController<ZyProductPlan, IZyP
@PostMapping(value = "/add")
public Result<?> add(@RequestBody ZyProductPlan zyProductPlan) {
zyProductPlanService.save(zyProductPlan);
//TODO 更新work_order表work_order_status为“1” (不能为其新增生产计划)
return Result.OK("添加成功!");
}
@ -96,6 +97,7 @@ public class ZyProductPlanController extends JeecgController<ZyProductPlan, IZyP
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
zyProductPlanService.removeById(id);
//TODO 更新work_order表work_order_status为“0” (可以为其新增生产计划)
return Result.OK("删除成功!");
}

@ -1,8 +1,6 @@
package org.jeecg.modules.productplan.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -84,7 +82,7 @@ public class ZyProductPlan implements Serializable {
*/
@Excel(name = "班组", width = 15)
@ApiModelProperty(value = "班组")
@Dict(dictTable = "station", dicText = "station_name", dicCode = "id")
@Dict(dictTable = "groupx", dicText = "group_name", dicCode = "id")
private String teamId;
/**
* 组长
@ -95,9 +93,9 @@ public class ZyProductPlan implements Serializable {
/**
* 生产开始时间
*/
@Excel(name = "生产开始时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生产开始时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "生产开始时间")
private Date workTime;
/**
@ -129,9 +127,10 @@ public class ZyProductPlan implements Serializable {
/**
* 审核时间
*/
@Excel(name = "审核时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name = "审核时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "审核时间")
// @TableField(fill = FieldFill.INSERT)
private Date auditTimr;
}

@ -0,0 +1,27 @@
package org.jeecg.modules.productplan.entity.vo;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.team.entity.Station;
import java.util.List;
@Data
public class ProcessDataVo {
//工单id
private String workOrderId;
//产品id
private String productId;
//车间
private String departId;
//工位
private List<Station> stationList;
// @Dict("")
//产品工序id
private String productProcessId;
}

@ -3,6 +3,9 @@ package org.jeecg.modules.productplan.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.entity.vo.ProcessDataVo;
import java.util.List;
/**
* @Description: 生产计划工序
@ -12,4 +15,5 @@ import org.jeecg.modules.productplan.entity.ZyPlanProcess;
*/
public interface IZyPlanProcessService extends IService<ZyPlanProcess> {
List<ProcessDataVo> getProcessDatalist(ZyPlanProcess zyPlanProcess);
}

@ -1,12 +1,26 @@
package org.jeecg.modules.productplan.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.swagger.annotations.Authorization;
import org.jeecg.modules.product.zyproductprocess.entity.ZyProductProcess;
import org.jeecg.modules.product.zyproductprocess.service.IZyProductProcessService;
import org.jeecg.modules.productplan.entity.ZyPlanProcess;
import org.jeecg.modules.productplan.entity.ZyProductPlan;
import org.jeecg.modules.productplan.entity.vo.ProcessDataVo;
import org.jeecg.modules.productplan.mapper.ZyPlanProcessMapper;
import org.jeecg.modules.productplan.service.IZyPlanProcessService;
import org.jeecg.modules.productplan.service.IZyProductPlanService;
import org.jeecg.modules.team.entity.Station;
import org.jeecg.modules.team.service.IStationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* @Description: 生产计划工序
* @Author: jeecg-boot
@ -16,4 +30,35 @@ import org.springframework.stereotype.Service;
@Service
public class ZyPlanProcessServiceImpl extends ServiceImpl<ZyPlanProcessMapper, ZyPlanProcess> implements IZyPlanProcessService {
@Autowired
private IZyProductPlanService iZyProductPlanService;
@Autowired
private IZyProductProcessService iZyProductProcessService;
@Autowired
private IStationService iStationService;
public List<ProcessDataVo> getProcessDatalist(ZyPlanProcess zyPlanProcess) {
//生产计划id
String planId = zyPlanProcess.getPlanId();
ZyProductPlan zyProductPlan = iZyProductPlanService.getById(planId);
//工单id
String productCode = zyProductPlan.getProductCode();
String departId = zyProductPlan.getWorkshopId();
// TODO zy_product产品表,根据工单id获取产品id,
//根据产品id获取产品工序列表
List<ZyProductProcess> productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper<ZyProductProcess>().eq(ZyProductProcess::getProductId, "产品id"));
Optional.ofNullable(productProcessesList).orElse(new ArrayList<>()).forEach(e -> {
ProcessDataVo vo = new ProcessDataVo();
vo.setProductProcessId(e.getProcessId());
vo.setProductId(e.getProductId());
vo.setWorkOrderId(productCode);
vo.setDepartId(departId);
vo.setStationList(iStationService.list(new LambdaQueryWrapper<Station>().eq(Station::getDepartId, departId)));
});
return null;
}
}

Loading…
Cancel
Save