From 47c490ec4c952f3f19e3d41bb142ec1a48cff069 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 27 May 2024 10:01:22 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E6=8A=A5=E5=B7=A5bug=E4=BF=AE=E5=A4=8D4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IWCInterfaceServiceImpl.java | 26 +++++++++---------- .../mapper/mes/MesReportWorkMapper.xml | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 7f6dd6d61..b105e0d3e 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -358,9 +358,9 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mesReportWork.setMachineCode(mesReportWork.getMachineCode()); MesReportWork sHzWorks = mesReportWorkMapper.getReportWorkHz(mesReportWork); -// if(sHzWorks==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 -// sHzWorks = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); -// } + if(sHzWorks==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 + sHzWorks = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); + } if(sHzWorks==null){ return R.fail("未查询到一层报工单"); @@ -386,9 +386,9 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mesReportWork.setMachineCode(mesReportWork.getMachineCode()); MesReportWork sHzWorks = mesReportWorkMapper.getReportWorkHz(mesReportWork); -// if(sHzWorks==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 -// sHzWorks = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); -// } + if(sHzWorks==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 + sHzWorks = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); + } if(sHzWorks==null){ return R.fail("未查询到子报工单"); @@ -405,9 +405,9 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mesReportWork.setMachineCode(mesReportWork.getMachineCode()); MesReportWork pHzWork = mesReportWorkMapper.getReportWorkHz(mesReportWork); -// if(pHzWork==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 -// pHzWork = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); -// } + if(pHzWork==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 + pHzWork = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); + } if(pHzWork==null){ return R.fail("未查询到母报工单"); @@ -444,9 +444,9 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mesReportWork.setMachineCode(mesReportWork.getMachineCode()); MesReportWork sHzWorks = mesReportWorkMapper.getReportWorkHz(mesReportWork); -// if(sHzWorks==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 -// sHzWorks = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); -// } + if(sHzWorks==null){//再去查预报工的一条数,带出基本数据,其它全部赋值0 + sHzWorks = mesReportWorkMapper.getReportWorkHzAttr1(mesReportWork); + } if (sHzWorks == null) { return R.fail(workOrder.getWorkorderCode()+"未查询到报工单"); @@ -635,7 +635,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { sapRFW.setAnzma(workOrder.getSapCode());//产线编号 sapRFW.setRemark(workOrder.getRemark());//备注 logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求:" + JSONObject.toJSONString(sapRFW)); - R r = remoteSapService.sapRFWOrder(sapRFW); + R r = R.ok();//remoteSapService.sapRFWOrder(sapRFW); logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工结果:" + r.getCode() + "," + r.getData() + "," + r.getMsg()); //上传成功,更改mes_report_work状态 if (r.getCode() == 200) { diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index 2b1ec9c0b..5a2fb1aa7 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -619,7 +619,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from mes_report_work where upload_status != #{uploadStatus} and prod_type = #{prodType} - and workorder_code = #{workorderCode} and del_flag='0' + and workorder_code = #{workorderCode} and del_flag='0' and (attr1 != '1' or attr1 is null) and machine_code = #{machineCode} From 3dc6a448880c5c8a05399ee5ab5fa7c07d3fbcc2 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 27 May 2024 12:11:14 +0800 Subject: [PATCH 02/11] 1 --- .../java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index b105e0d3e..02dca4703 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -635,7 +635,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { sapRFW.setAnzma(workOrder.getSapCode());//产线编号 sapRFW.setRemark(workOrder.getRemark());//备注 logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求:" + JSONObject.toJSONString(sapRFW)); - R r = R.ok();//remoteSapService.sapRFWOrder(sapRFW); + R r = remoteSapService.sapRFWOrder(sapRFW); logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工结果:" + r.getCode() + "," + r.getData() + "," + r.getMsg()); //上传成功,更改mes_report_work状态 if (r.getCode() == 200) { From dd9bfb54969913fb904ff921784b0b96d5e61288 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Mon, 27 May 2024 13:59:41 +0800 Subject: [PATCH 03/11] =?UTF-8?q?2024-5-27=20=E8=B4=A8=E9=87=8F-=E6=9D=A5?= =?UTF-8?q?=E6=96=99/=E8=BF=87=E7=A8=8B/=E5=BA=93=E5=AD=98-=E5=8A=A0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QcCheckTaskIncomeController.java | 18 ++++++++++++++---- .../QcCheckTaskInventoryController.java | 18 ++++++++++++++---- .../QcCheckTaskProduceController.java | 18 ++++++++++++++---- .../mapper/QcCheckTaskDetailMapper.java | 3 +++ .../impl/QcCheckTaskIncomeServiceImpl.java | 12 +++++++++++- .../impl/QcCheckTaskInventoryServiceImpl.java | 11 ++++++++++- .../impl/QcCheckTaskProduceServiceImpl.java | 11 ++++++++++- .../mapper/quality/QcCheckTaskDetailMapper.xml | 6 ++++++ .../mapper/quality/QcCheckTaskIncomeMapper.xml | 8 +++++--- .../quality/QcCheckTaskInventoryMapper.xml | 8 +++++--- .../quality/QcCheckTaskProduceMapper.xml | 8 +++++--- .../mapper/quality/QcCheckTaskUserMapper.xml | 8 +++++--- 12 files changed, 102 insertions(+), 27 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java index be1a4f805..e61a41608 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java @@ -282,13 +282,23 @@ public class QcCheckTaskIncomeController extends BaseController { } /** - * 删除来料检验 + * 批量删除来料检验 + */ +// @RequiresPermissions("quality:qcIncome:remove") +// @Log(title = "来料检验", businessType = BusinessType.DELETE) +// @DeleteMapping("/{recordIds}") +// public AjaxResult remove(@PathVariable String[] recordIds) { +// return toAjax(qcCheckTaskIncomeService.deleteQcCheckTaskIncomeByRecordIds(recordIds)); +// } + + /** + * 单个删除来料检验 */ @RequiresPermissions("quality:qcIncome:remove") @Log(title = "来料检验", businessType = BusinessType.DELETE) - @DeleteMapping("/{recordIds}") - public AjaxResult remove(@PathVariable String[] recordIds) { - return toAjax(qcCheckTaskIncomeService.deleteQcCheckTaskIncomeByRecordIds(recordIds)); + @DeleteMapping("/{recordId}") + public AjaxResult remove(@PathVariable String recordId) { + return toAjax(qcCheckTaskIncomeService.deleteQcCheckTaskIncomeByRecordId(recordId)); } /** diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java index 3fd27733e..401986b0a 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java @@ -105,12 +105,22 @@ public class QcCheckTaskInventoryController extends BaseController { } /** - * 删除库存检验任务 + * 批量删除库存检验任务 + */ +// @RequiresPermissions("quality:qcInventory:remove") +//// @Log(title = "库存检验任务", businessType = BusinessType.DELETE) +//// @DeleteMapping("/{recordIds}") +//// public AjaxResult remove(@PathVariable String[] recordIds) { +//// return toAjax(qcCheckTaskInventoryService.deleteQcCheckTaskInventoryByRecordIds(recordIds)); +//// } + + /** + * 单个删除库存检验任务 */ @RequiresPermissions("quality:qcInventory:remove") @Log(title = "库存检验任务", businessType = BusinessType.DELETE) - @DeleteMapping("/{recordIds}") - public AjaxResult remove(@PathVariable String[] recordIds) { - return toAjax(qcCheckTaskInventoryService.deleteQcCheckTaskInventoryByRecordIds(recordIds)); + @DeleteMapping("/{recordId}") + public AjaxResult remove(@PathVariable String recordId) { + return toAjax(qcCheckTaskInventoryService.deleteQcCheckTaskInventoryByRecordId(recordId)); } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskProduceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskProduceController.java index 0fcef0bbe..70cf1ae50 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskProduceController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskProduceController.java @@ -131,13 +131,23 @@ public class QcCheckTaskProduceController extends BaseController { } /** - * 删除生产过程检验任务 + * 批量删除生产过程检验任务 + */ +// @RequiresPermissions("quality:qcProduce:remove") +// @Log(title = "生产过程检验任务", businessType = BusinessType.DELETE) +// @DeleteMapping("/{recordIds}") +// public AjaxResult remove(@PathVariable String[] recordIds) { +// return toAjax(qcCheckTaskProduceService.deleteQcCheckTaskProduceByRecordIds(recordIds)); +// } + + /** + * 单个删除生产过程检验任务 */ @RequiresPermissions("quality:qcProduce:remove") @Log(title = "生产过程检验任务", businessType = BusinessType.DELETE) - @DeleteMapping("/{recordIds}") - public AjaxResult remove(@PathVariable String[] recordIds) { - return toAjax(qcCheckTaskProduceService.deleteQcCheckTaskProduceByRecordIds(recordIds)); + @DeleteMapping("/{recordId}") + public AjaxResult remove(@PathVariable String recordId) { + return toAjax(qcCheckTaskProduceService.deleteQcCheckTaskProduceByRecordId(recordId)); } /** diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDetailMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDetailMapper.java index 8b4daf3ea..6a78c32b4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDetailMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDetailMapper.java @@ -66,4 +66,7 @@ public interface QcCheckTaskDetailMapper { public int addBatch(@Param("list") List items); List getProjectStatus(String belongTo); + + //逻辑删除详情表 + void deleteQcCheckTaskDetailByBelongTo(String recordId); } 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 0137eb850..c6ec10d62 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 @@ -89,9 +89,13 @@ public class QcCheckTaskIncomeServiceImpl implements @Autowired private IQcCheckUnqualifiedService qcCheckUnqualifiedService; + @Autowired private QcProCheckService qcProCheckService; + @Autowired + private QcCheckTaskUserMapper qcCheckTaskUserMapper; + /** * 查询来料检验 * @@ -379,7 +383,13 @@ public class QcCheckTaskIncomeServiceImpl implements @Override @DS("#header.poolName") public int deleteQcCheckTaskIncomeByRecordId(String recordId) { - return qcCheckTaskIncomeMapper.deleteQcCheckTaskIncomeByRecordId(recordId); + //1.逻辑删除qc_check_task表 + qcCheckTaskIncomeMapper.deleteQcCheckTaskIncomeByRecordId(recordId); + //2.逻辑删除qc_check_task_detail表 + qcCheckTaskDetailMapper.deleteQcCheckTaskDetailByBelongTo(recordId); + //3.逻辑删除qc_check_task_user表 + qcCheckTaskUserMapper.deleteQcCheckTaskUserByBelongTo(recordId); + return 1; } @Override diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java index d85479b73..68512ce50 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java @@ -59,6 +59,9 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer @Autowired private QcSampleRuleMapper qcSampleRuleMapper; + @Autowired + private QcCheckTaskUserMapper qcCheckTaskUserMapper; + /** * 查询库存检验任务 * @@ -280,6 +283,12 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer @Override @DS("#header.poolName") public int deleteQcCheckTaskInventoryByRecordId(String recordId) { - return qcCheckTaskInventoryMapper.deleteQcCheckTaskInventoryByRecordId(recordId); + //1.逻辑删除qc_check_task表 + qcCheckTaskInventoryMapper.deleteQcCheckTaskInventoryByRecordId(recordId); + //2.逻辑删除qc_check_task_detail表 + qcCheckTaskDetailMapper.deleteQcCheckTaskDetailByBelongTo(recordId); + //3.逻辑删除qc_check_task_user表 + qcCheckTaskUserMapper.deleteQcCheckTaskUserByBelongTo(recordId); + return 1; } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java index 0e4352ce3..a2e3fddc5 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java @@ -85,6 +85,9 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService @Autowired private QcSampleRuleMapper qcSampleRuleMapper; + @Autowired + private QcCheckTaskUserMapper qcCheckTaskUserMapper; + /** * 查询生产过程检验任务 * @@ -336,7 +339,13 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService @Override @DS("#header.poolName") public int deleteQcCheckTaskProduceByRecordId(String recordId) { - return qcCheckTaskProduceMapper.deleteQcCheckTaskProduceByRecordId(recordId); + //1.逻辑删除qc_check_task表 + qcCheckTaskProduceMapper.deleteQcCheckTaskProduceByRecordId(recordId); + //2.逻辑删除qc_check_task_detail表 + qcCheckTaskDetailMapper.deleteQcCheckTaskDetailByBelongTo(recordId); + //3.逻辑删除qc_check_task_user表 + qcCheckTaskUserMapper.deleteQcCheckTaskUserByBelongTo(recordId); + return 1; } @Override diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDetailMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDetailMapper.xml index 2315acb27..8ac517870 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDetailMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDetailMapper.xml @@ -177,6 +177,12 @@ delete from qc_check_task_detail where record_id = #{recordId} + + update qc_check_task_detail + set del_flag = '1' + where belong_to = #{recordId} + + delete from qc_check_task_detail where record_id in diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index 9d795b8b0..8f6f3aeb4 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -327,9 +327,11 @@ - - delete from qc_check_task where record_id = #{recordId} - + + update qc_check_task + set del_flag = '1' + where record_id = #{recordId} + delete from qc_check_task where record_id in diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml index 22d815d6a..66e62f366 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml @@ -221,9 +221,11 @@ where record_id = #{recordId} - - delete from qc_check_task where record_id = #{recordId} - + + update qc_check_task + set del_flag = '1' + where record_id = #{recordId} + delete from qc_check_task where record_id in diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index 975881d67..ca6b01064 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -321,9 +321,11 @@ where record_id = #{recordId} - - delete from qc_check_task where record_id = #{recordId} - + + update qc_check_task + set del_flag = '1' + where record_id = #{recordId} + delete from qc_check_task where record_id in diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml index abfae3623..c8b2f768e 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml @@ -116,9 +116,11 @@ - - delete from qc_check_task_user where belong_to = #{belongTo} - + + update qc_check_task_user + set del_flag = '1' + where belong_to = #{belongTo} + insert into qc_check_task_user( From 25d20b25c6220498f6cc61bc9fbf4acf14cdbe3c Mon Sep 17 00:00:00 2001 From: shaoyong Date: Mon, 27 May 2024 16:26:44 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E6=89=B9=E6=AC=A1=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProOrderWorkorderController.java | 35 +++++ .../plan/domain/ProOrderWorkorderBatch.java | 29 ++++ .../mapper/ProOrderWorkorderBatchMapper.java | 4 + .../plan/mapper/ProOrderWorkorderMapper.java | 11 +- .../service/IProOrderWorkorderService.java | 10 ++ .../impl/ProOrderWorkorderServiceImpl.java | 125 ++++++++++++++++++ .../plan/ProOrderWorkorderBatchMapper.xml | 30 +++++ .../mapper/plan/ProOrderWorkorderMapper.xml | 31 +++++ 8 files changed, 271 insertions(+), 4 deletions(-) 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 62a39335c..d2cfc77a3 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 @@ -7,9 +7,11 @@ import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson2.JSONObject; import com.op.common.core.exception.ServiceException; import com.op.plan.domain.ProOrder; +import com.op.plan.domain.ProOrderWorkorderBatch; import com.op.plan.domain.dto.SplitOrderDTO; import com.op.plan.service.IProWetMaterialPlanDetailService; import com.op.plan.service.IProWetMaterialPlanService; +import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; @@ -267,4 +269,37 @@ public class ProOrderWorkorderController extends BaseController { public List getUnReadComment(@RequestBody ProOrderWorkorder proOrderWorkorder) { return proOrderWorkorderService.getUnReadComment(proOrderWorkorder); } + + @RequiresPermissions("mes:pro:workorder:edit") + @Log(title = "批次编辑", businessType = BusinessType.OTHER) + @GetMapping("/getWorkOrderBatch/{workOrderCode}") + public TableDataInfo getWorkOrderBatch(@PathVariable String workOrderCode) { + List list = proOrderWorkorderService.getWorkOrderBatch(workOrderCode); + return getDataTable(list); + + } + @RequiresPermissions("mes:pro:workorder:edit") + @GetMapping("/getWorkOrderBatchInfo") + public AjaxResult getWorkOrderBatchInfo(ProOrderWorkorderBatch proOrderWorkorderBatch) { + return success(proOrderWorkorderService.getWorkOrderBatchInfo(proOrderWorkorderBatch)); + } + @RequiresPermissions("mes:pro:workorder:edit") + @PostMapping("/insertWorkOrderBatch") + public AjaxResult insertWorkOrderBatch(@RequestBody ProOrderWorkorderBatch proOrderWorkorderBatch) { + return toAjax(proOrderWorkorderService.insertWorkOrderBatch(proOrderWorkorderBatch)); + } + @RequiresPermissions("mes:pro:workorder:edit") + @PutMapping("/updateWorkOrderBatch") + public AjaxResult updateWorkOrderBatch(@RequestBody ProOrderWorkorderBatch proOrderWorkorderBatch) { + return toAjax(proOrderWorkorderService.updateWorkOrderBatch(proOrderWorkorderBatch)); + } + @RequiresPermissions("mes:pro:workorder:edit") + @DeleteMapping("/removeWorkOrderBatch/{batchCode}/{workOrderCode}") + public AjaxResult removeWorkOrderBatch(@PathVariable("batchCode") String batchCode, + @PathVariable("workOrderCode")String workorderCode) { + ProOrderWorkorderBatch newBatch = new ProOrderWorkorderBatch(); + newBatch.setBatchCode(batchCode); + newBatch.setWorkorderCode(workorderCode); + return toAjax(proOrderWorkorderService.deleteWorkOrderBatch(newBatch)); + } } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorderBatch.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorderBatch.java index 2fe0565d9..11b8c3d39 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorderBatch.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorderBatch.java @@ -79,6 +79,11 @@ public class ProOrderWorkorderBatch extends BaseEntity { @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") private String factoryCode; + private String workorderCode; + private String newBatchCode; + private Long newBatchQuantity; + + public void setBatchId(String batchId) { this.batchId = batchId; } @@ -167,6 +172,30 @@ public class ProOrderWorkorderBatch extends BaseEntity { return factoryCode; } + public String getWorkorderCode() { + return workorderCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + + public String getNewBatchCode() { + return newBatchCode; + } + + public void setNewBatchCode(String newBatchCode) { + this.newBatchCode = newBatchCode; + } + + public Long getNewBatchQuantity() { + return newBatchQuantity; + } + + public void setNewBatchQuantity(Long newBatchQuantity) { + this.newBatchQuantity = newBatchQuantity; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderBatchMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderBatchMapper.java index 90a0cca42..7ba8bec1c 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderBatchMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderBatchMapper.java @@ -81,5 +81,9 @@ public interface ProOrderWorkorderBatchMapper { public int deleteBatch(String[] workorderIds); + int updateWorkorderBatch(ProOrderWorkorderBatch batch); + + int deleteWorkOrderBatch(@Param("batchCode") String batchCode,@Param("workOrderIds") String[] workOrderIds); + List checkBatchCodeByWorkOrderIds(@Param("workorderIds")String[] workorderIds,@Param("newbatchs") List newbatchs); } 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 4b687cab3..4378bcde9 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 @@ -1,9 +1,6 @@ package com.op.plan.mapper; -import com.op.plan.domain.Batch; -import com.op.plan.domain.ProOrder; -import com.op.plan.domain.ProOrderWorkorder; -import com.op.plan.domain.ProWetMaterialPlanDetail; +import com.op.plan.domain.*; import com.op.system.api.domain.dto.BaseBomComponentDTO; import com.op.system.api.domain.dto.MesPrepareDTO; import com.op.system.api.domain.dto.MesPrepareDetailDTO; @@ -207,5 +204,11 @@ public interface ProOrderWorkorderMapper { int deleteWetMaterial(@Param("orderIds")String[] workorderIds); List getUnReadComment(ProOrderWorkorder proOrderWorkorder); + + List getWorkOrderBatch(@Param("workOrderCode") String workOrderCode); + + ProOrderWorkorderBatch getWorkOrderBatchInfo(ProOrderWorkorderBatch proOrderWorkorderBatch); + + List selectWorkOrderIdByBatch(@Param("workorderCode") String workorderCode); } 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 1d83c0177..9706cbd28 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 @@ -3,6 +3,7 @@ package com.op.plan.service; import com.op.common.core.web.domain.AjaxResult; import com.op.plan.domain.ProOrderWorkorder; +import com.op.plan.domain.ProOrderWorkorderBatch; import com.op.plan.domain.dto.SplitOrderDTO; import java.util.List; @@ -137,4 +138,13 @@ public interface IProOrderWorkorderService { int deleteWetMaterial(String[] workorderIds); List getUnReadComment(ProOrderWorkorder proOrderWorkorder); + + List getWorkOrderBatch(String workOrderId); + + ProOrderWorkorderBatch getWorkOrderBatchInfo(ProOrderWorkorderBatch proOrderWorkorderBatch); + + int insertWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch); + int updateWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch); + int deleteWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch); + } 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 fc98bf43b..2a2d71130 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 @@ -1133,6 +1133,131 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return dtos; } + @Override + @DS("#header.poolName") + public List getWorkOrderBatch(String workOrderCode) { + List workOrderBatch = proOrderWorkorderMapper.getWorkOrderBatch(workOrderCode); + return workOrderBatch; + } + + @Override + @DS("#header.poolName") + public ProOrderWorkorderBatch getWorkOrderBatchInfo(ProOrderWorkorderBatch proOrderWorkorderBatch) { + return proOrderWorkorderMapper.getWorkOrderBatchInfo(proOrderWorkorderBatch); + } + + @Override + @DS("#header.poolName") + public int insertWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) { + String workOrderCode = proOrderWorkorderBatch.getWorkorderCode(); + String username = SecurityUtils.getUsername(); + Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); + if (newBatchQuantity == null) { + return 0; + } + + List workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); + // 获取子母工单数量 + Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + // 系数 + Long coefficient = 0L; + if (pQuantity.isPresent() && cQuantity.isPresent()) { + coefficient = cQuantity.get() / pQuantity.get(); + } + + int count = 0; + for (ProOrderWorkorder workOrder : workOrders) { + ProOrderWorkorderBatch batch = new ProOrderWorkorderBatch(); + + batch.setBatchId(IdUtils.fastSimpleUUID()); + batch.setWorkorderId(workOrder.getWorkorderId()); + batch.setBatchCode(proOrderWorkorderBatch.getNewBatchCode()); + batch.setStatus("0"); + batch.setCreateBy(username); + Date nowDate = DateUtils.getNowDate(); + batch.setCreateTime(nowDate); + batch.setUpdateBy(username); + batch.setUpdateTime(nowDate); + + if ("0".equals(workOrder.getParentOrder())) { + // 设置父工单数量 + batch.setBatchQuantity(newBatchQuantity); + }else { + // 设置子工单数量 + batch.setBatchQuantity(newBatchQuantity * coefficient); + } + + count += proOrderWorkorderBatchMapper.insertProOrderWorkorderBatch(batch); + + } + return count; + } + @Override + @DS("#header.poolName") + public int updateWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) { + String workOrderCode = proOrderWorkorderBatch.getWorkorderCode(); + String username = SecurityUtils.getUsername(); + Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); + if (newBatchQuantity == null) { + return 0; + } + + List workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); + // 获取子母工单数量 + Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + // 系数 + Long coefficient = 0L; + if (pQuantity.isPresent() && cQuantity.isPresent()) { + coefficient = cQuantity.get() / pQuantity.get(); + } + + int count = 0; + for (ProOrderWorkorder workOrder : workOrders) { + ProOrderWorkorderBatch batch = new ProOrderWorkorderBatch(); + + batch.setBatchId(IdUtils.fastSimpleUUID()); + batch.setWorkorderId(workOrder.getWorkorderId()); + // 获取新旧批次号 + batch.setBatchCode(proOrderWorkorderBatch.getBatchCode()); + batch.setNewBatchCode(proOrderWorkorderBatch.getNewBatchCode()); + + batch.setStatus("0"); + batch.setUpdateBy(username); + batch.setUpdateTime(DateUtils.getNowDate()); + + if ("0".equals(workOrder.getParentOrder())) { + // 设置父工单数量 + batch.setNewBatchQuantity(newBatchQuantity); + }else { + // 设置子工单数量 + batch.setNewBatchQuantity(newBatchQuantity * coefficient); + } + + count += proOrderWorkorderBatchMapper.updateWorkorderBatch(batch); + + } + return count; + } + @Override + @DS("#header.poolName") + public int deleteWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) { + String workOrderCode = proOrderWorkorderBatch.getWorkorderCode(); + + List workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); + String[] workOrderIds = workOrders.stream().map(ProOrderWorkorder::getWorkorderId).toArray(String[]::new); + String batchCode = proOrderWorkorderBatch.getBatchCode(); + + return proOrderWorkorderBatchMapper.deleteWorkOrderBatch(batchCode,workOrderIds); + } + + + /** * 校验工单是否可以修改 * 如果工单已生成湿料计划则不允许修改 diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml index 239cd2c66..201166028 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderBatchMapper.xml @@ -143,6 +143,28 @@ where workorder_id = #{workorderId} + + update pro_order_workorder_batch + + batch_id = #{batchId}, + batch_code = #{newBatchCode}, + batch_quantity = #{newBatchQuantity}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + prod_type = #{prodType}, + factory_code = #{factoryCode}, + + where workorder_id = #{workorderId} and batch_code = #{batchCode} + and del_flag = '0' + update pro_order_workorder_batch @@ -169,5 +191,13 @@ #{workorderId} + + update pro_order_workorder_batch + set del_flag = '1' + where batch_code = #{batchCode} and workorder_id in + + #{workOrderId} + + 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 ce24afe4e..9c9d33e6c 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 @@ -603,6 +603,37 @@ order by pow.product_date desc + + + + + + insert into mes_prepare_detail ( From c00a9ef1b9a4fc3a96cad8cdb910455056e2d12c Mon Sep 17 00:00:00 2001 From: shaoyong Date: Tue, 28 May 2024 11:21:23 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E6=89=B9=E6=AC=A1=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/plan/domain/dto/CheckTaskBatchDTO.java | 43 ++++++++++++++++ .../domain/dto/MesReportWorkBatchDTO.java | 50 +++++++++++++++++++ .../plan/mapper/ProOrderWorkorderMapper.java | 6 +++ .../impl/ProOrderWorkorderServiceImpl.java | 21 ++++++-- .../mapper/plan/ProOrderWorkorderMapper.xml | 11 ++++ 5 files changed, 128 insertions(+), 3 deletions(-) create mode 100644 op-modules/op-plan/src/main/java/com/op/plan/domain/dto/CheckTaskBatchDTO.java create mode 100644 op-modules/op-plan/src/main/java/com/op/plan/domain/dto/MesReportWorkBatchDTO.java diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/dto/CheckTaskBatchDTO.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/dto/CheckTaskBatchDTO.java new file mode 100644 index 000000000..d2fa986ce --- /dev/null +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/dto/CheckTaskBatchDTO.java @@ -0,0 +1,43 @@ +package com.op.plan.domain.dto; + +public class CheckTaskBatchDTO { + + private String incomeBatchNo; + + private String newIncomeBatchNo; + + private String orderNo; + + public CheckTaskBatchDTO(String incomeBatchNo, String newIncomeBatchNo, String orderNo) { + this.incomeBatchNo = incomeBatchNo; + this.newIncomeBatchNo = newIncomeBatchNo; + this.orderNo = orderNo; + } + public CheckTaskBatchDTO() { + + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + public String getNewIncomeBatchNo() { + return newIncomeBatchNo; + } + + public void setNewIncomeBatchNo(String newIncomeBatchNo) { + this.newIncomeBatchNo = newIncomeBatchNo; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } +} diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/dto/MesReportWorkBatchDTO.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/dto/MesReportWorkBatchDTO.java new file mode 100644 index 000000000..392246a52 --- /dev/null +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/dto/MesReportWorkBatchDTO.java @@ -0,0 +1,50 @@ +package com.op.plan.domain.dto; + +public class MesReportWorkBatchDTO { + private String batch; + private String newBatch; + private String parentOrder; + private String workorderCode; + + public MesReportWorkBatchDTO(String batch, String newBatch, String parentOrder, String workorderCode) { + this.batch = batch; + this.newBatch = newBatch; + this.parentOrder = parentOrder; + this.workorderCode = workorderCode; + } + + public MesReportWorkBatchDTO() { + } + + public String getBatch() { + return batch; + } + + public void setBatch(String batch) { + this.batch = batch; + } + + public String getNewBatch() { + return newBatch; + } + + public void setNewBatch(String newBatch) { + this.newBatch = newBatch; + } + + public String getParentOrder() { + return parentOrder; + } + + public void setParentOrder(String parentOrder) { + this.parentOrder = parentOrder; + } + + public String getWorkorderCode() { + return workorderCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } +} 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 4378bcde9..f4bd31643 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 @@ -1,6 +1,8 @@ package com.op.plan.mapper; import com.op.plan.domain.*; +import com.op.plan.domain.dto.CheckTaskBatchDTO; +import com.op.plan.domain.dto.MesReportWorkBatchDTO; import com.op.system.api.domain.dto.BaseBomComponentDTO; import com.op.system.api.domain.dto.MesPrepareDTO; import com.op.system.api.domain.dto.MesPrepareDetailDTO; @@ -210,5 +212,9 @@ public interface ProOrderWorkorderMapper { ProOrderWorkorderBatch getWorkOrderBatchInfo(ProOrderWorkorderBatch proOrderWorkorderBatch); List selectWorkOrderIdByBatch(@Param("workorderCode") String workorderCode); + + int updateMesReportWorkBatch(MesReportWorkBatchDTO mesReportWorkBatchDTO); + + int updateCheckTaskBatch(CheckTaskBatchDTO checkTaskBatchDTO); } 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 2a2d71130..e0dea3a4c 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 @@ -13,6 +13,8 @@ import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.plan.domain.*; +import com.op.plan.domain.dto.CheckTaskBatchDTO; +import com.op.plan.domain.dto.MesReportWorkBatchDTO; import com.op.plan.domain.dto.ProOrderDTO; import com.op.plan.domain.dto.SplitOrderDTO; import com.op.plan.domain.vo.CascaderDTO; @@ -1196,10 +1198,13 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return count; } @Override + @Transactional @DS("#header.poolName") public int updateWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) { String workOrderCode = proOrderWorkorderBatch.getWorkorderCode(); String username = SecurityUtils.getUsername(); + String batchCode = proOrderWorkorderBatch.getBatchCode(); + String newBatchCode = proOrderWorkorderBatch.getNewBatchCode(); Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); if (newBatchQuantity == null) { return 0; @@ -1224,8 +1229,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { batch.setBatchId(IdUtils.fastSimpleUUID()); batch.setWorkorderId(workOrder.getWorkorderId()); // 获取新旧批次号 - batch.setBatchCode(proOrderWorkorderBatch.getBatchCode()); - batch.setNewBatchCode(proOrderWorkorderBatch.getNewBatchCode()); + batch.setBatchCode(batchCode); + batch.setNewBatchCode(newBatchCode); batch.setStatus("0"); batch.setUpdateBy(username); @@ -1240,8 +1245,18 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { } count += proOrderWorkorderBatchMapper.updateWorkorderBatch(batch); - } + // 更新质检任务表 + CheckTaskBatchDTO checkTaskBatchDTO = new CheckTaskBatchDTO(batchCode,newBatchCode,workOrderCode); + logger.info("质检任务批次修改开始!"); + proOrderWorkorderMapper.updateCheckTaskBatch(checkTaskBatchDTO); + logger.info("质检任务批次修改结束!"); + // 更新报工表 + MesReportWorkBatchDTO mesReportWorkBatchDTO = new MesReportWorkBatchDTO(batchCode,newBatchCode,workOrderCode,workOrderCode); + logger.info("报工表批次修改开始!"); + proOrderWorkorderMapper.updateMesReportWorkBatch(mesReportWorkBatchDTO); + logger.info("报工表批次修改结束!"); + return count; } @Override 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 9c9d33e6c..d793597ac 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 @@ -858,4 +858,15 @@ #{orderId} + + update qc_check_task set income_batch_no = #{newIncomeBatchNo} + where income_batch_no = #{incomeBatchNo} and order_no = #{orderNo} + and del_flag = '0' + + + update mes_report_work set batch = #{newBatch} + where batch = #{batch} and (parent_order = #{parentOrder} or workorder_code = #{workorderCode}) + and del_flag = '0' + + From c651a1212e668b7404375b9d9d4c1873b75b234a Mon Sep 17 00:00:00 2001 From: A0010407 Date: Tue, 28 May 2024 13:43:02 +0800 Subject: [PATCH 06/11] =?UTF-8?q?2024-5-28=20=E8=AE=BE=E5=A4=87-=E7=82=B9?= =?UTF-8?q?=E6=A3=80/=E5=B7=A1=E6=A3=80/=E4=BF=9D=E5=85=BB-=E5=BD=93?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=88=A0=E9=99=A4=E5=90=8E=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E9=87=8D=E6=96=B0=E7=94=9F=E6=88=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/device/DeviceTaskMapper.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml index ace6103e3..038211833 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml @@ -38,14 +38,17 @@ From 9ba60dba19792593c9b9b3c9eb4037a1b7f970a7 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 28 May 2024 14:12:25 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E6=88=90=E5=93=81=E6=A3=80=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/device/EquRepairOrderMapper.xml | 2 +- .../op/open/controller/OpenController.java | 30 +++++++++- .../java/com/op/open/mapper/OpenMapper.java | 2 + .../op/open/service/impl/OpenServiceImpl.java | 38 +++++++++++-- .../main/resources/mapper/open/OpenMapper.xml | 10 +++- .../QcCheckTaskWarehousingController.java | 2 +- .../QcCheckTypeProjectController.java | 3 +- .../domain/QcCheckTaskWarehousing.java | 17 ++++++ .../mapper/QcCheckTaskProduceMapper.java | 2 + .../impl/QcCheckTaskIncomeServiceImpl.java | 9 +-- .../QcCheckTaskWarehousingServiceImpl.java | 56 +++++++++++++++---- .../quality/QcCheckTaskIncomeMapper.xml | 2 +- .../quality/QcCheckTaskProduceMapper.xml | 27 ++++++++- .../quality/QcCheckTaskWarehousingMapper.xml | 4 +- .../quality/QcCheckUnqualifiedMapper.xml | 8 ++- 15 files changed, 179 insertions(+), 33 deletions(-) diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml index 832871983..40c7bc48f 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml @@ -352,7 +352,7 @@ from sys_notice_group sng left join sys_notice sn on sng.notice_id = sn.notice_id left join base_team_user btu on sng.group_code = btu.team_code - where sng.notice_id = #{noticeId} + where sng.notice_id = #{noticeId} and sng.del_flag = '0' diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java index bab4d9086..d413ab742 100644 --- a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java +++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java @@ -92,7 +92,7 @@ public class OpenController extends BaseController { } /** - * 创建生产过程(烘房 首检)检验 + * 创建生产过程(首检)检验 */ @PostMapping(value = "/createCheckProduceTask") public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) { @@ -116,6 +116,34 @@ public class OpenController extends BaseController { return toAjax(openService.insertQcCheckTaskProduce(qcCheckTaskProduce)); } + /** + * 创建批次成品检验 + */ + @PostMapping(value = "/createCheckProductTask") + public AjaxResult createCheckProductTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) { + + if (StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())) { + return error("[orderNo]不能为空"); + } + if (StringUtils.isBlank(qcCheckTaskProduce.getIncomeBatchNo())) { + return error("[incomeBatchNo]不能为空"); + } + if (StringUtils.isBlank(qcCheckTaskProduce.getMaterialName())) { + return error("[materialName]不能为空"); + } + if (StringUtils.isBlank(qcCheckTaskProduce.getMaterialCode())) { + return error("[materialCode]不能为空"); + } + if (StringUtils.isBlank(qcCheckTaskProduce.getCheckType())) { + return error("[checkType]不能为空"); + } + if (StringUtils.isBlank(qcCheckTaskProduce.getFactoryCode())) { + return error("[factoryCode]不能为空"); + } + //添加检测任务 + return toAjax(openService.insertQcCheckTaskProduce(qcCheckTaskProduce)); + } + /** * ===============ZL0010-来料检验不合格控制流程提交 :"workflowId": 26235============= *

diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java index fa441c9af..d73b7a564 100644 --- a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -91,5 +91,7 @@ public interface OpenMapper { List getNoticesGroup(SysNoticeGroup noticeQo); EquEquipmentDTO selectEquipmentDetailByEquipmentCode(String equipmentCode); + + List getNotices(SysNoticeGroup noticeQo); } diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index cd0fdf20a..4d49b5cca 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -75,8 +75,7 @@ public class OpenServiceImpl implements OpenService { @Autowired private OpenMapper openMapper; - @Autowired - private RemoteOpenService remoteOpenService; + private static Pattern p2= Pattern.compile("<[^>]+>"); /** * 下一工序机台集合获取 @@ -373,7 +372,7 @@ public class OpenServiceImpl implements OpenService { logger.info("上位机报修企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); if (!CollectionUtils.isEmpty(wecharts)) { new Thread(() -> { - AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts); + AjaxResult wxresult = this.sendWeChartMessage(wecharts); logger.info("上位机报修企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); }).start(); @@ -391,7 +390,7 @@ public class OpenServiceImpl implements OpenService { // 1分钟不允许存在两条 Date lastData = openMapper.getLastTask(qcCheckTaskProduce); if(this.oneMinHas(lastData)){ - logger.info("【重复创建首检任务】orderNo:"+qcCheckTaskProduce.getOrderNo()+";"+"incomeBatchNo:"+qcCheckTaskProduce.getIncomeBatchNo()); + logger.info("【重复创建任务】orderNo:"+qcCheckTaskProduce.getOrderNo()+";"+"incomeBatchNo:"+qcCheckTaskProduce.getIncomeBatchNo()); return 0; } @@ -491,6 +490,37 @@ public class OpenServiceImpl implements OpenService { } int n = openMapper.addBatch(items); logger.info(qcCheckTaskProduce.getOrderNo()+":qc_check_task_detail新增" + n + "成功"); + + //发企业微信--------------------开始(跟班组有关) + SysNoticeGroup noticeQo = new SysNoticeGroup(); + if(qcCheckTaskProduce.getCheckType().equals("checkTypeCPPC")){ + noticeQo.setNoticeId(12L);//批次成品检验 + } + + List notices = openMapper.getNoticesGroup(noticeQo); + if(!CollectionUtils.isEmpty(notices)) { + + List wecharts = new ArrayList<>(); + for (SysNoticeGroup noticedto : notices) { + WechartDTO wechart0 = new WechartDTO(); + wechart0.setUserId(noticedto.getWxId()); + String contentInfo = noticedto.getNoticeContent(); + contentInfo = contentInfo.replace("${checkNo}", qcCheckTaskProduce.getCheckNo()+"\n"); + Matcher matcher = p2.matcher(contentInfo); + contentInfo = matcher.replaceAll(""); + wechart0.setText(contentInfo); + wecharts.add(wechart0); + } + logger.info("来料检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); + if (!CollectionUtils.isEmpty(wecharts)) { + new Thread(() -> { + AjaxResult wxresult = this.sendWeChartMessage(wecharts); + logger.info("来料检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); + + }).start(); + } + //发企业微信--------------------结束 + } return n; } 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 97d1f0364..c6e8efcb0 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 @@ -396,7 +396,7 @@ from sys_notice_group sng left join sys_notice sn on sng.notice_id = sn.notice_id left join base_team_user btu on sng.group_code = btu.team_code - where sng.notice_id = #{noticeId} + where sng.notice_id = #{noticeId} and sng.del_flag = '0' + diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java index 25462d042..213ea4506 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java @@ -157,7 +157,7 @@ public class QcCheckTaskWarehousingController extends BaseController { } /** - * 生产过程检验:巡检任务生产 + * 成品检验:成品检验任务 **/ @PostMapping("/createCPBatchTask") public R createCPBatchTask() { diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java index 0d9cd0416..fbbf3fdc8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java @@ -121,10 +121,9 @@ public class QcCheckTypeProjectController extends BaseController { return toAjax(qcCheckTypeProjectService.submitProjects(typeProjects)); } - //获取方案下拉 + //获取方案分页 @GetMapping("/getProjectOptions") public List getProjectOptions(QcCheckProject qcCheckProject) { - startPage(); List list = qcCheckTypeProjectService.getProjectOptions(qcCheckProject); return list; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java index d1497c146..04c3d0a1f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java @@ -177,6 +177,23 @@ public class QcCheckTaskWarehousing extends BaseEntity { private BigDecimal bNoOkquality; private BigDecimal cNoOkquality; private String workorderCode; + private String checkName; + + public String getWorkorderCode() { + return workorderCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + + public String getCheckName() { + return checkName; + } + + public void setCheckName(String checkName) { + this.checkName = checkName; + } public BigDecimal getaNoOkquality() { return aNoOkquality; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java index 0fd8942b5..fa3173796 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java @@ -86,4 +86,6 @@ public interface QcCheckTaskProduceMapper { public List getOrderWorksW2(ProOrderWorkorderDTO qoWork); public QcCheckTaskProduce getLastXJTask(QcCheckTaskProduce productTask); + + public List getOrderWorksW3(ProOrderWorkorderDTO qoWork); } 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 c6ec10d62..f5b66fd46 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 @@ -96,6 +96,8 @@ public class QcCheckTaskIncomeServiceImpl implements @Autowired private QcCheckTaskUserMapper qcCheckTaskUserMapper; + private static Pattern p2= Pattern.compile("<[^>]+>"); + /** * 查询来料检验 * @@ -284,7 +286,7 @@ public class QcCheckTaskIncomeServiceImpl implements noticeQo.setNoticeId(6L); List notices = qcCheckTaskIncomeMapper.getNotices(noticeQo); if(!CollectionUtils.isEmpty(notices)) { - Pattern p0= Pattern.compile("<[^>]+>"); + List wecharts = new ArrayList<>(); //去主库查微信id DynamicDataSourceContextHolder.push("master");// 这是数据源的key @@ -297,7 +299,7 @@ public class QcCheckTaskIncomeServiceImpl implements wechart0.setUserId(wxid); String contentInfo = notices.get(0).getNoticeContent(); contentInfo = contentInfo.replace("${checkNo}", qcCheckTaskIncome.getCheckNo()+"\n"); - Matcher m = p0.matcher(contentInfo); + Matcher m = p2.matcher(contentInfo); contentInfo = m.replaceAll(""); wechart0.setText(contentInfo); wecharts.add(wechart0); @@ -840,7 +842,6 @@ public class QcCheckTaskIncomeServiceImpl implements noticeQo.setNoticeId(9L); List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo); if(!CollectionUtils.isEmpty(notices)) { - Pattern p= Pattern.compile("<[^>]+>"); List wecharts = new ArrayList<>(); for (SysNoticeGroup noticedto : notices) { WechartDTO wechart0 = new WechartDTO(); @@ -851,7 +852,7 @@ public class QcCheckTaskIncomeServiceImpl implements .replace("${checkNo}", qcCheckTaskIncome.getCheckNo()+"\n") .replace("${supplierName}", qcCheckTaskIncome.getSupplierName()+"\n") .replace("${quality}", qcCheckTaskIncome.getQuality()+"\n"); - Matcher m = p.matcher(contentInfo); + Matcher m = p2.matcher(contentInfo); contentInfo = m.replaceAll(""); wechart0.setText(contentInfo); wecharts.add(wechart0); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java index 1ed7bd5e9..bbd458c17 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java @@ -10,10 +10,13 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import ch.qos.logback.core.net.SyslogOutputStream; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.domain.R; @@ -27,8 +30,11 @@ import com.op.quality.domain.*; import com.op.quality.mapper.*; import com.op.quality.service.IQcCheckTaskDefectService; import com.op.quality.service.IQcCheckTaskUserService; +import com.op.system.api.RemoteOpenService; import com.op.system.api.RemoteUserService; +import com.op.system.api.domain.SysNoticeGroup; import com.op.system.api.domain.SysUser; +import com.op.system.api.domain.dto.WechartDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; import com.op.system.api.domain.quality.QcUserMaterialDTO; import org.slf4j.Logger; @@ -79,6 +85,10 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin private RemoteUserService remoteUserService; @Autowired private QcCheckTaskProduceMapper qcCheckTaskProduceMapper; + @Autowired + private RemoteOpenService remoteOpenService; + + private static Pattern p2= Pattern.compile("<[^>]+>"); /** * 查询成品入库检验任务 * @@ -241,6 +251,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin qcCheckTaskWarehousing.setSampleQuality(new BigDecimal(sampNum)); } /**qc_check_task**/ + qcCheckTaskWarehousing.setIncomeTime(DateUtils.getNowDate());//检验任务日期 int n = qcCheckTaskWarehousingMapper.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing); logger.info("qc_check_task:"+n+"成功"); @@ -255,9 +266,36 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin } int s = qcCheckTaskDetailMapper.addBatch(items); -// /**pro_order_workorder**/ -// qcCheckTaskWarehousing.setStatus("w6"); -// qcCheckTaskWarehousingMapper.updateWorkOrderStauts(qcCheckTaskWarehousing); + //发企业微信--------------------开始(跟班组有关) + SysNoticeGroup noticeQo = new SysNoticeGroup(); + if(qcCheckTaskWarehousing.getCheckType().equals("checkTypeCP")){ + noticeQo.setNoticeId(7L);//成品检验 + } + + List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo); + if(!CollectionUtils.isEmpty(notices)) { + + List wecharts = new ArrayList<>(); + for (SysNoticeGroup noticedto : notices) { + WechartDTO wechart0 = new WechartDTO(); + wechart0.setUserId(noticedto.getWxId()); + String contentInfo = noticedto.getNoticeContent(); + contentInfo = contentInfo.replace("${checkNo}", qcCheckTaskWarehousing.getCheckNo() + "\n"); + Matcher matcher = p2.matcher(contentInfo); + contentInfo = matcher.replaceAll(""); + wechart0.setText(contentInfo); + wecharts.add(wechart0); + } + logger.info("来料检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); + if (!CollectionUtils.isEmpty(wecharts)) { + new Thread(() -> { + AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts); + logger.info("来料检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); + + }).start(); + } + //发企业微信--------------------结束 + } logger.info("qc_check_task_detail:"+s+"成功"); return 1; } @@ -373,21 +411,15 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin ProOrderWorkorderDTO qoWork = new ProOrderWorkorderDTO(); qoWork.setStatus("w3"); //报工的 - List w3works = qcCheckTaskProduceMapper.getOrderWorksW2(qoWork); + List w3works = qcCheckTaskProduceMapper.getOrderWorksW3(qoWork); for(QcCheckTaskProduce productTask:w3works){ QcCheckTaskWarehousing cpTask = new QcCheckTaskWarehousing(); productTask.setCheckType("checkTypeCP");//入库检验 productTask.setOrderNo(productTask.getWorkorderCode()); BeanUtils.copyProperties(productTask,cpTask); - //是否已经存在入库检验 - QcCheckTaskProduce cpTask0 = qcCheckTaskProduceMapper.getLastXJTask(productTask); - if(cpTask0 != null){ - logger.info("++++++++++++入库检验任务生成:已经存在++++++++++++++"); - }else{ - int m = insertQcCheckTaskWarehousing(cpTask); - logger.info("++++++++++++入库检验任务生成" + m + "++++++++++++++"); - } + int m = insertQcCheckTaskWarehousing(cpTask); + logger.info("++++++++++++入库检验任务生成" + m + "++++++++++++++"); } logger.info("++++++++++++" + poolName + "++++入库检验巡检结束++++++++++"); } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index 8f6f3aeb4..230216035 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -496,7 +496,7 @@ from sys_notice_group sng left join sys_notice sn on sng.notice_id = sn.notice_id left join base_team_user btu on sng.group_code = btu.team_code - where sng.notice_id = #{noticeId} + where sng.notice_id = #{noticeId} and sng.del_flag = '0' + @@ -135,7 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from wms_product_put wpp left join mes_report_work mrw on wpp.work_order = mrw.report_code where 1=1 - and wpp.work_order like concat like ('%',#{orderNo}) + and wpp.work_order like concat ('%',#{orderNo}) order by wpp.create_time desc - - delete from qc_check_task_user where belong_to in - + + update qc_check_task_user set del_flag = '1' where belong_to in + #{belongTo} - + + + update qc_check_task_detail set del_flag = '1' where belong_to in + + #{belongTo} + + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml index d6c957ca7..b908780a7 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml @@ -223,10 +223,10 @@ delete from qc_check_task where record_id = #{recordId} - - delete from qc_check_task where record_id in + + update qc_check_task set del_flag = '1' where record_id in #{recordId} - + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml index 1403d928c..36c89b451 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml @@ -122,7 +122,7 @@ from qc_check_type_project qctp left join qc_check_project qcp on qcp.id = qctp.project_id - where qctp.del_flag = '0' and qctp.status = '1' + where qctp.del_flag = '0' and qctp.status = '1' and qcp.del_flag='0' and qctp.group_id = #{groupId} and qctp.type_id = #{typeId} order by qctp.sort From 55d9b46a18b35d0d06274bef26f4de9bfdb29bf1 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 28 May 2024 17:03:36 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=88=90=E5=93=81=E6=A3=80=E9=AA=8C2.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProOrderWorkorderServiceImpl.java | 83 +++++++++++-------- 1 file changed, 47 insertions(+), 36 deletions(-) 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 e0dea3a4c..25e2f9a9f 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 @@ -1153,21 +1153,22 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { public int insertWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) { String workOrderCode = proOrderWorkorderBatch.getWorkorderCode(); String username = SecurityUtils.getUsername(); - Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); - if (newBatchQuantity == null) { - return 0; - } List workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); - // 获取子母工单数量 - Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) - .findFirst().map(ProOrderWorkorder::getQuantitySplit); - Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) - .findFirst().map(ProOrderWorkorder::getQuantitySplit); // 系数 - Long coefficient = 0L; - if (pQuantity.isPresent() && cQuantity.isPresent()) { - coefficient = cQuantity.get() / pQuantity.get(); + Long coefficient = 1L; + if(workOrders.size()==2){ + // 获取子母工单数量 + Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + + if (pQuantity.isPresent() && cQuantity.isPresent()) { + coefficient = cQuantity.get() / pQuantity.get(); + } + }else if(workOrders.size()==3){ + //TODO; } int count = 0; @@ -1184,12 +1185,15 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { batch.setUpdateBy(username); batch.setUpdateTime(nowDate); - if ("0".equals(workOrder.getParentOrder())) { - // 设置父工单数量 - batch.setBatchQuantity(newBatchQuantity); - }else { - // 设置子工单数量 - batch.setBatchQuantity(newBatchQuantity * coefficient); + if(proOrderWorkorderBatch.getNewBatchQuantity() != null){ + Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); + if ("0".equals(workOrder.getParentOrder())) { + // 设置父工单数量 + batch.setBatchQuantity(newBatchQuantity); + }else { + // 设置子工单数量 + batch.setBatchQuantity(newBatchQuantity * coefficient); + } } count += proOrderWorkorderBatchMapper.insertProOrderWorkorderBatch(batch); @@ -1205,21 +1209,22 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { String username = SecurityUtils.getUsername(); String batchCode = proOrderWorkorderBatch.getBatchCode(); String newBatchCode = proOrderWorkorderBatch.getNewBatchCode(); - Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); - if (newBatchQuantity == null) { - return 0; - } List workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); - // 获取子母工单数量 - Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) - .findFirst().map(ProOrderWorkorder::getQuantitySplit); - Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) - .findFirst().map(ProOrderWorkorder::getQuantitySplit); // 系数 - Long coefficient = 0L; - if (pQuantity.isPresent() && cQuantity.isPresent()) { - coefficient = cQuantity.get() / pQuantity.get(); + Long coefficient = 1L; + if(workOrders.size()==2){ + // 获取子母工单数量 + Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) + .findFirst().map(ProOrderWorkorder::getQuantitySplit); + + if (pQuantity.isPresent() && cQuantity.isPresent()) { + coefficient = cQuantity.get() / pQuantity.get(); + } + }else if(workOrders.size()==3){ + //TODO; } int count = 0; @@ -1236,12 +1241,18 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { batch.setUpdateBy(username); batch.setUpdateTime(DateUtils.getNowDate()); - if ("0".equals(workOrder.getParentOrder())) { - // 设置父工单数量 - batch.setNewBatchQuantity(newBatchQuantity); - }else { - // 设置子工单数量 - batch.setNewBatchQuantity(newBatchQuantity * coefficient); + if(proOrderWorkorderBatch.getNewBatchQuantity() != null){ + Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity(); + if (newBatchQuantity == null) { + return 0; + } + if ("0".equals(workOrder.getParentOrder())) { + // 设置父工单数量 + batch.setNewBatchQuantity(newBatchQuantity); + }else { + // 设置子工单数量 + batch.setNewBatchQuantity(newBatchQuantity * coefficient); + } } count += proOrderWorkorderBatchMapper.updateWorkorderBatch(batch); From 965710511a77726d97380aca93d49f38f3224d59 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 28 May 2024 17:46:23 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E6=89=B9=E6=AC=A1=E4=BF=AE=E6=94=B91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProOrderWorkorderServiceImpl.java | 54 ++++++++----------- .../mapper/plan/ProOrderWorkorderMapper.xml | 3 +- 2 files changed, 25 insertions(+), 32 deletions(-) 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 25e2f9a9f..fcf98e0ee 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 @@ -1172,7 +1172,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { } int count = 0; - for (ProOrderWorkorder workOrder : workOrders) { + for (int m=0;m workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); - // 系数 - Long coefficient = 1L; - if(workOrders.size()==2){ - // 获取子母工单数量 - Optional pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) - .findFirst().map(ProOrderWorkorder::getQuantitySplit); - Optional cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) - .findFirst().map(ProOrderWorkorder::getQuantitySplit); - - if (pQuantity.isPresent() && cQuantity.isPresent()) { - coefficient = cQuantity.get() / pQuantity.get(); - } - }else if(workOrders.size()==3){ - //TODO; - } int count = 0; - for (ProOrderWorkorder workOrder : workOrders) { + for (int m=0;m - +