diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml index e6c5cedeb..afbe4d828 100644 --- a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml +++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml @@ -229,11 +229,11 @@ and check_type = #{checkType} diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java index a92b54b02..b226c0d40 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java @@ -308,4 +308,10 @@ public class ProOrderWorkorderController extends BaseController { public List getProdLineList() { return proOrderWorkorderService.getProdLineList(); } + + /**获取标识卡**/ + @PostMapping("/getIdCardList") + public List getIdCardList(@RequestBody ProOrderWorkorder proOrderWorkorder) { + return proOrderWorkorderService.getIdCardList(proOrderWorkorder); + } } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java index d50e5c37b..c29121fe9 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java @@ -331,6 +331,69 @@ public class ProOrderWorkorder extends TreeEntity { private String factoryCode; private Boolean hasChildren; + private List idCards; + private String batchCode; + private BigDecimal batchQuantity; + private BigDecimal palletNum; + private Integer palletNo; + private String palletCode; + private String recordId; + + public String getRecordId() { + return recordId; + } + + public void setRecordId(String recordId) { + this.recordId = recordId; + } + + public String getPalletCode() { + return palletCode; + } + + public void setPalletCode(String palletCode) { + this.palletCode = palletCode; + } + + public Integer getPalletNo() { + return palletNo; + } + + public void setPalletNo(Integer palletNo) { + this.palletNo = palletNo; + } + + public BigDecimal getPalletNum() { + return palletNum; + } + + public void setPalletNum(BigDecimal palletNum) { + this.palletNum = palletNum; + } + + public BigDecimal getBatchQuantity() { + return batchQuantity; + } + + public void setBatchQuantity(BigDecimal batchQuantity) { + this.batchQuantity = batchQuantity; + } + + public String getBatchCode() { + return batchCode; + } + + public void setBatchCode(String batchCode) { + this.batchCode = batchCode; + } + + public List getIdCards() { + return idCards; + } + + public void setIdCards(List idCards) { + this.idCards = idCards; + } public String getSapCode() { return sapCode; diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index c3eb57a41..d19835380 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java @@ -233,5 +233,9 @@ public interface ProOrderWorkorderMapper { List selectChildWorkOrderCG(String workorderCode); List getBatchDict(String batchFlag); + + List getPreIdCardList(ProOrderWorkorder proOrderWorkorder); + + int addBatchPallet(@Param("list")List dtos); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java index b0ffd663f..bc8f05c64 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java @@ -149,4 +149,6 @@ public interface IProOrderWorkorderService { int deleteWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch); List getProdLineList(); + + List getIdCardList(ProOrderWorkorder proOrderWorkorder); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index e058e4f79..8afbe5524 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -1259,6 +1259,59 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return proOrderWorkorderBatchMapper.getProdLineList(); } + @Override + @DS("#header.poolName") + public List getIdCardList(ProOrderWorkorder proOrderWorkorder) { + List dtos = new ArrayList<>(); + List dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); + + if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null){//说明没生成过标识卡 + ProOrderWorkorder pw = null; + int i = 1; + Date nowDate = DateUtils.getNowDate(); + for(ProOrderWorkorder pow:dtos0){ + if(pow.getPalletNum()!=null){ + + BigDecimal pall = pow.getBatchQuantity(); + BigDecimal pn = pow.getPalletNum(); + + while(pall.subtract(pn).compareTo(BigDecimal.ZERO)>0){ + pw = new ProOrderWorkorder(); + pw.setProductName(pow.getProductName()); + pw.setWorkorderCode(pow.getWorkorderCode()); + pw.setBatchCode(pow.getBatchCode()); + pw.setProductDateStr(pow.getProductDateStr()); + pw.setRecordId(IdUtils.fastSimpleUUID()); + pw.setBatchQuantity(pn); + pw.setPalletNo(i++); + pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo()); + pw.setCreateTime(nowDate); + dtos.add(pw); + pall = pall.subtract(pn); + } + if(pall.compareTo(pn)<0){//最后一托盘 + pw = new ProOrderWorkorder(); + pw.setProductName(pow.getProductName()); + pw.setWorkorderCode(pow.getWorkorderCode()); + pw.setBatchCode(pow.getBatchCode()); + pw.setProductDateStr(pow.getProductDateStr()); + pw.setRecordId(IdUtils.fastSimpleUUID()); + pw.setBatchQuantity(pall); + pw.setPalletNo(i++); + pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo()); + pw.setCreateTime(nowDate); + dtos.add(pw); + } + } + } + proOrderWorkorderMapper.addBatchPallet(dtos); + }else{ + dtos.addAll(dtos0); + } + + return dtos; + } + /** * 校验工单是否可以修改 diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index e91bf44ec..72b80400f 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -680,6 +680,25 @@ + insert into mes_prepare_detail @@ -800,6 +819,18 @@ ) + + INSERT INTO pro_order_workorder_batch_pallet ( + id,workorder_code,batch_code,quantity,pallet_num, + create_time,pallet_code + )VALUES + + ( + #{d.recordId},#{d.workorderCode},#{d.batchCode},#{d.batchQuantity},#{d.palletNo}, + #{d.createTime},#{d.palletCode} + ) + + update pro_order_workorder diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index e44657e9c..f3a49d2d7 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -214,18 +214,15 @@ public class QuaController extends BaseController { @PostMapping(value = "commitCheckResults") public AjaxResult commitCheckResults(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); - if(CollectionUtils.isEmpty(qcCheckTaskIncome.getQcCheckTaskDetails())){ - return error("[List]不能为空"); - } +// if(CollectionUtils.isEmpty(qcCheckTaskIncome.getQcCheckTaskDetails())){ +// return error("[List]不能为空"); +// } if(StringUtils.isBlank(qcCheckTaskIncome.getUpdateBy())){ return error("[updateBy]不能为空"); } if(StringUtils.isBlank(qcCheckTaskIncome.getUpdateByName())){ return error("[updateByName]不能为空"); } -// if(StringUtils.isBlank(qcCheckTaskIncome.getCheckResult())){ -// return error("[checkResult]不能为空"); -// } return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome)); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index 9e3b6297c..fbaad8a7a 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -187,6 +187,15 @@ public class QcCheckReportIncome extends BaseEntity { private Boolean myself; private String shiftId; private String orderType; + private String standardNo; + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } public String getOrderType() { return orderType; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java index ce996f4fc..8f8612cb0 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java @@ -82,7 +82,7 @@ public interface QcCheckReportIncomeMapper { QcCheckReportIncome getLastXJTaskInfo(QcCheckReportIncome qcCheckReportIncome); - QcCheckTaskProduce getLastProductTypeInfo(QcCheckTaskProduce qcCheckTaskProduce); + List getLastProductTypeInfo(QcCheckTaskProduce qcCheckTaskProduce); List getBatchsByTaskId(String recordId); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java index 5d7999881..27e558019 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java @@ -208,6 +208,10 @@ public class QcCheckReportIncomeServiceImpl implements IQcCheckReportIncomeServi dto.setActualValue(dto.getRemark()); } + if(StringUtils.isNotBlank(dto.getActualValue()) && dto.getActualValue().equals("[\"/\"]")){ + dto.setStatus("未检验"); + } + //检验项目 String ruleName = dto.getRuleName(); if(StringUtils.isNotBlank(ruleName)){ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java index 0b70e8246..6dfb5cd86 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java @@ -221,13 +221,26 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer qcStaticTable.setShiftId(qcCheckTaskProduce.getShiftId()); List checkInfos = qcStaticTableService.getXJCheckTableDetail(qcStaticTable); produce.setCheckInfos(checkInfos); - QcCheckTaskProduce lastProduce = qcCheckReportIncomeMapper.getLastProductTypeInfo(qcCheckTaskProduce); - if (lastProduce != null) { - produce.setProductType(lastProduce.getProductType()); - produce.setCheckManCode(lastProduce.getCheckManCode()); - produce.setCheckManName(lastProduce.getCheckManName()); - produce.setConfirmManCode(lastProduce.getConfirmManCode()); - produce.setConfirmManName(lastProduce.getConfirmManName()); + List lastProduces = qcCheckReportIncomeMapper.getLastProductTypeInfo(qcCheckTaskProduce); + if (!CollectionUtils.isEmpty(lastProduces)) { + produce.setProductType(lastProduces.get(0).getProductType()); + String mancodes = lastProduces.stream() + .map(QcCheckTaskProduce::getCheckManCode) + .collect(Collectors.joining(", ")); + produce.setCheckManCode(mancodes); + String mannames = lastProduces.stream() + .map(QcCheckTaskProduce::getCheckManName) + .collect(Collectors.joining(", ")); + produce.setCheckManName(mannames); + String cmancodes = lastProduces.stream() + .map(QcCheckTaskProduce::getConfirmManCode) + .collect(Collectors.joining(", ")); + produce.setConfirmManCode(cmancodes); + String cmannames = lastProduces.stream() + .map(QcCheckTaskProduce::getConfirmManName) + .filter(confirmManName -> confirmManName != null) + .collect(Collectors.joining(", ")); + produce.setConfirmManName(cmannames); } return produce; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index d9b9951c4..17eba19cc 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -689,6 +689,7 @@ public class QcCheckTaskIncomeServiceImpl implements qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName()); qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); qcCheckTask.setReason(qcCheckTaskIncome.getReason()); + qcCheckTask.setAttr3(qcCheckTaskIncome.getAttr3()); /**qc_check_task**/ n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask); logger.info("qc_check_task:"+n); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java index b55582b20..76ff9cd16 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java @@ -202,8 +202,8 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { q2.setQuality("5800"); q2.setUnit("个"); q2.setSupplierName("广州市网能产品设计有限公司"); - q2.setIncomeTime("2024-03-07 00:00:00"); - q2.setCheckTime("2024-03-07 13:42:00"); + q2.setIncomeTime("2024-08-06 00:00:00"); + q2.setCheckTime("2024-08-06 13:42:00"); q2.setCheckResult("合格"); q2.setCheckManName("马娥章"); q2.setCheckName("来料检验"); @@ -218,7 +218,7 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { q3.setUnit("个"); q3.setSupplierName("广州市网能产品设计有限公司"); q3.setCheckTime("2024-03-05 13:50:00"); - q3.setIncomeTime("2024-03-07 00:00:00"); + q3.setIncomeTime("2024-08-06 00:00:00"); q3.setCheckResult("合格"); q3.setCheckManName("马娥章"); q3.setCheckName("来料检验"); @@ -279,38 +279,6 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { String nowYMD = DateUtils.getDate(); qcInterface.setYmd(nowYMD); List dtos = qcInterfaceMapper.getProduceNoOkList(qcInterface); - /**质量看板测试开始**/ - QcInterface q0 = new QcInterface(); - q0.setProjectName("产品外观"); - q0.setCheckManName("马娥章"); - q0.setCheckTime("2024-03-08 16:30:00"); - dtos.add(q0); - QcInterface q1 = new QcInterface(); - q1.setProjectName("厚度(一盘)"); - q1.setCheckManName("马娥章"); - q1.setCheckTime("2024-03-08 15:35:00"); - dtos.add(q1); - QcInterface q2 = new QcInterface(); - q2.setProjectName("其它不良现象"); - q2.setCheckManName("马娥章"); - q2.setCheckTime("2024-03-08 15:05:00"); - dtos.add(q2); - QcInterface q3 = new QcInterface(); - q3.setProjectName("灌装量/净含量/喷药量"); - q3.setCheckManName("马娥章"); - q3.setCheckTime("2024-03-07 16:00:00"); - dtos.add(q3); - QcInterface q4 = new QcInterface(); - q4.setProjectName("是否符合签样及材料清单要求,堆板日期朝外"); - q4.setCheckManName("马娥章"); - q4.setCheckTime("2024-03-05 11:00:00"); - dtos.add(q4); - QcInterface q5 = new QcInterface(); - q5.setProjectName("其它不良现象"); - q5.setCheckManName("马娥章"); - q5.setCheckTime("2024-03-05 16:00:00"); - dtos.add(q5); - /**质量看板测试结束**/ return dtos; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 96f0e9eb8..f19bffb16 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -113,7 +113,9 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { } } - return tabledtos; + return tabledtos.stream() + .filter(obj -> obj.getBatchs() != 0) + .collect(Collectors.toList()); } /** diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index 3c43be897..2738f0b18 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -39,6 +39,8 @@ + + @@ -90,8 +92,16 @@