diff --git a/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessDataList.vue b/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessDataList.vue
new file mode 100644
index 00000000..5f1a6293
--- /dev/null
+++ b/ant-design-vue-jeecg/src/views/productplan/ZyPlanProcessDataList.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
新增
+
导出
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ handleDelete(record.id)">
+ 删除
+
+
+ 制定计划详情
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue b/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue
index eb8f9e78..2233a512 100644
--- a/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue
+++ b/ant-design-vue-jeecg/src/views/productplan/ZyProductPlanList.vue
@@ -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',
diff --git a/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue b/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue
index 0702eb76..58ab2ebf 100644
--- a/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue
+++ b/ant-design-vue-jeecg/src/views/productplan/modules/ZyProductPlanForm.vue
@@ -7,9 +7,9 @@
-
+
@@ -18,20 +18,27 @@
-
+
+
-
+
+
+
+
@@ -39,13 +46,14 @@
+ placeholder="请选择组长" :dict-code="groupxVal2"
+ :disabled="model.teamId==null"/>
-
+
+
@@ -54,25 +62,27 @@
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
@@ -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);
diff --git a/ant-design-vue-jeecg/src/views/team/modules/GroupxModal.vue b/ant-design-vue-jeecg/src/views/team/modules/GroupxModal.vue
index 7d377c1a..276fb66d 100644
--- a/ant-design-vue-jeecg/src/views/team/modules/GroupxModal.vue
+++ b/ant-design-vue-jeecg/src/views/team/modules/GroupxModal.vue
@@ -31,9 +31,9 @@
-
+
-
+
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java
index bf56eee8..1340be1d 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyPlanProcessController.java
@@ -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 getProcessDatalist(ZyPlanProcess zyPlanProcess,
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyPlanProcess, req.getParameterMap());
+ Page page = new Page(pageNo, pageSize);
+// IPage pageList = zyPlanProcessService.getProcessDatalist(page, queryWrapper);
+ List pageList = zyPlanProcessService.getProcessDatalist(zyPlanProcess);
+ return Result.OK(pageList);
+ }
+
/**
* 添加
*
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyProductPlanController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyProductPlanController.java
index 3efb487a..afe88aa7 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyProductPlanController.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/controller/ZyProductPlanController.java
@@ -68,6 +68,7 @@ public class ZyProductPlanController extends JeecgController 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 delete(@RequestParam(name = "id", required = true) String id) {
zyProductPlanService.removeById(id);
+ //TODO 更新work_order表work_order_status为“0” (可以为其新增生产计划)
return Result.OK("删除成功!");
}
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java
index 8382c1fb..bf4e54e3 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/ZyProductPlan.java
@@ -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;
}
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java
new file mode 100644
index 00000000..d0dfb54b
--- /dev/null
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/entity/vo/ProcessDataVo.java
@@ -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 stationList;
+
+// @Dict("")
+ //产品工序id
+ private String productProcessId;
+}
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java
index 64b75e44..804cca26 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/IZyPlanProcessService.java
@@ -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 {
+ List getProcessDatalist(ZyPlanProcess zyPlanProcess);
}
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java
index fdeeff68..5af4f5c4 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/productplan/service/impl/ZyPlanProcessServiceImpl.java
@@ -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 implements IZyPlanProcessService {
+ @Autowired
+ private IZyProductPlanService iZyProductPlanService;
+ @Autowired
+ private IZyProductProcessService iZyProductProcessService;
+
+ @Autowired
+ private IStationService iStationService;
+
+
+ public List 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 productProcessesList = iZyProductProcessService.list(new LambdaQueryWrapper().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().eq(Station::getDepartId, departId)));
+ });
+
+ return null;
+ }
}