From c22d391d1b9c6f1550c0c81a040f759883988d74 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 16 Aug 2024 13:50:15 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WmsToWCSmissionController.java | 8 ++ .../op/wms/service/IWmsProductPutService.java | 2 + .../impl/WmsProductPutServiceImpl.java | 113 ++++++++++++++++++ 3 files changed, 123 insertions(+) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java index 110160a39..2f4196c10 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java @@ -323,6 +323,14 @@ public class WmsToWCSmissionController { public AjaxResult WmsProductPutByWorkOrderConfirm(@RequestBody WmsProductPut wmsProductPut) { return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderConfirm(wmsProductPut)); } + /** + * 成品 + * 新手持接口:确认 + */ + @PostMapping("/WmsProductPutByWorkOrderConfirmT") + public AjaxResult WmsProductPutByWorkOrderConfirmT(@RequestBody WmsProductPut wmsProductPut) { + return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderConfirmT(wmsProductPut)); + } /** diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java index ea5878ecc..fa1af2aaf 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java @@ -142,4 +142,6 @@ public interface IWmsProductPutService { WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut); ProOrderWorkorder finishedProductProductionRecordscar(ProOrderWorkorder proOrderWorkorder); + + String WmsProductPutByWorkOrderConfirmT(WmsProductPut wmsProductPutList); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index 7f23b589f..2cf883f4f 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1087,6 +1087,119 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { return proOrderWorkorder; } + @Override + public String WmsProductPutByWorkOrderConfirmT(WmsProductPut wmsProductPut) { +// whCode +// waCode +// factoryCode + + DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date);//批次 + List wmsProductPutList = wmsProductPut.getWmsProductPut();//前端下栏保存的数据 + + String SUCCESS = "操作成功"; + for (WmsProductPut wmsProductPut1 : + wmsProductPutList) { + //根据下面的记录--先查询对应订单,如果有原来的订单的话,就在原来的订单上进行修改,如果没有就先插入,如果有就修改数量 + WmsProductPut wmsProductPutk = new WmsProductPut(); + //wms_product_put + wmsProductPutk.setWorkOrder(wmsProductPut1.getWorkOrder()); + wmsProductPutk.setProductOrder(wmsProductPut1.getProductOrder()); + wmsProductPutk.setFactoryCode(wmsProductPut1.getFactoryCode()); + wmsProductPutk.setWhCode(wmsProductPut1.getWhCode());//仓库编码 + wmsProductPutk.setWaCode(wmsProductPut1.getWaCode());//仓库编码 + wmsProductPutk.setProductName(wmsProductPut1.getProductName()); + wmsProductPutk.setProductCode(wmsProductPut1.getProductCode()); + wmsProductPutk.setPlanQuantity(wmsProductPut1.getPlanQuantity()); + wmsProductPutk.setUnitOfMeasure(wmsProductPut1.getUnitOfMeasure()); + wmsProductPutk.setBatchNumber(wmsProductPut1.getBatchNumber());// + List wmsProductPutLists= wmsProductPutMapper.selectWmsProductPutList(wmsProductPutk); + if (wmsProductPutLists.size()>0){//有 + WmsProductPut wmsProductPut2= wmsProductPutLists.get(0); + BigDecimal planQuantity= wmsProductPut2.getPlanQuantity(); + BigDecimal putQuantity= wmsProductPut2.getPutQuantity(); + if (planQuantity.equals(putQuantity.add(new BigDecimal(wmsProductPut1.getNumber())))){ + wmsProductPutk.setStatus("2"); + }else { + wmsProductPutk.setStatus("1"); + } + BigDecimal putQuantityT=putQuantity.add(new BigDecimal(wmsProductPut1.getNumber()));//入库数量 + wmsProductPut2.setPutQuantity(putQuantityT); + wmsProductPut2.setUpdateTime(new Date()); + wmsProductPut2.setUpdateBy(wmsProductPut.getCreateBy()); + wmsProductPutMapper.updateWmsProductPut(wmsProductPut2); + }else { + wmsProductPutk.setStatus("1"); + wmsProductPutk.setSapStatus("0"); + wmsProductPutk.setAttr3(formattedDate);// + wmsProductPutk.setCreateBy(wmsProductPut.getCreateBy()); + wmsProductPutk.setCreateTime(new Date()); + wmsProductPutk.setPutQuantity(new BigDecimal(wmsProductPut1.getNumber())); + wmsProductPutk.setId(IdUtils.fastSimpleUUID()); + wmsProductPutMapper.insertWmsProductPut(wmsProductPutk); + } + WmsProductPutRecords wmsProductPutRecords = new WmsProductPutRecords(); + wmsProductPutRecords.setWorkOrder(wmsProductPut1.getWorkOrder()); + wmsProductPutRecords.setProductOrder(wmsProductPut1.getProductOrder()); + wmsProductPutRecords.setProductName(wmsProductPut1.getProductName()); + wmsProductPutRecords.setProductCode(wmsProductPut1.getProductCode()); + wmsProductPutRecords.setWhCode(wmsProductPut1.getWhCode());//仓库编码 + wmsProductPutRecords.setWaCode(wmsProductPut1.getWaCode());//仓库编码 + wmsProductPutRecords.setId(IdUtils.fastSimpleUUID()); + wmsProductPutRecords.setWlCode(wmsProductPut1.getWlCode()); + wmsProductPutRecords.setSn(wmsProductPut1.getSn()); + wmsProductPutRecords.setNumber(wmsProductPut1.getNumber()); + wmsProductPutRecords.setCreateBy(wmsProductPut.getCreateBy()); + wmsProductPutRecords.setCreateTime(new Date()); + wmsProductPutRecordsMapper.insertWmsProductPutRecords(wmsProductPutRecords); + //wms_fp_storage_news_sn + WmsFpStorageNewsSn wmsFpStorageNewsSn = new WmsFpStorageNewsSn(); + wmsFpStorageNewsSn.setStorageId(IdUtils.fastSimpleUUID()); + wmsFpStorageNewsSn.setFactoryCode(wmsProductPut.getFactoryCode()); + wmsFpStorageNewsSn.setWhCode(wmsProductPut1.getWhCode());//仓库编码 + wmsFpStorageNewsSn.setWlCode(wmsProductPut1.getWlCode()); + wmsFpStorageNewsSn.setOrderNo(wmsProductPutk.getId()); + wmsFpStorageNewsSn.setProductCode(wmsProductPut1.getProductCode()); + wmsFpStorageNewsSn.setProductName(wmsProductPut1.getProductName()); + wmsFpStorageNewsSn.setSn(wmsProductPut1.getSn()); + wmsFpStorageNewsSn.setAmount(new BigDecimal(wmsProductPut1.getNumber())); + wmsFpStorageNewsSn.setBatchNumber(wmsProductPut1.getBatchNumber()); + //wmsFpStorageNewsSn.setUserDefined2(formattedDate); + wmsFpStorageNewsSn.setCreateBy(wmsProductPut.getCreateBy()); + wmsFpStorageNewsSn.setCreateTime(new Date()); + wmsFpStorageNewsSn.setActiveFlag("1"); + wmsFpStorageNewsSnMapper.insertWmsFpStorageNewsSn(wmsFpStorageNewsSn); +// wms_fp_storage_news + WmsFpStorageNews wmsFpStorageNews = new WmsFpStorageNews(); + + wmsFpStorageNews.setWhCode(wmsProductPut1.getWhCode());//仓库编码 + wmsFpStorageNews.setWlCode(wmsProductPut1.getWaCode()); + wmsFpStorageNews.setStorageType("成品"); + wmsFpStorageNews.setProductCode(wmsProductPut1.getProductCode()); + wmsFpStorageNews.setProductName(wmsProductPut1.getProductName()); + wmsFpStorageNews.setFactoryCode(wmsProductPut1.getFactoryCode()); + wmsFpStorageNews.setActiveFlag("1"); + wmsFpStorageNews.setUserDefined1(wmsProductPut1.getUnitOfMeasure()); + List wmsFpStorageNewsList = wmsFpStorageNewsMapper.selectWmsFpStorageNewsList(wmsFpStorageNews); + wmsFpStorageNews.setStorageId(IdUtils.fastSimpleUUID()); + wmsFpStorageNews.setAmount(new BigDecimal(wmsProductPut1.getNumber())); + wmsFpStorageNews.setCreateBy(wmsProductPut.getCreateBy()); + wmsFpStorageNews.setCreateTime(new Date()); + if (wmsFpStorageNewsList.size() > 0) { + WmsFpStorageNews wmsFpStorageNews1 = wmsFpStorageNewsList.get(0); + BigDecimal amount = wmsFpStorageNews1.getAmount(); + BigDecimal amountAdd = amount.add(wmsFpStorageNews.getAmount()); + wmsFpStorageNews1.setAmount(amountAdd); + wmsFpStorageNewsMapper.updateWmsFpStorageNews(wmsFpStorageNews1); + } else { + wmsFpStorageNewsMapper.insertWmsFpStorageNews(wmsFpStorageNews); + } + } + return SUCCESS; + } + @Override public List FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode()); From 9d03ecfe691d0c59ac2cb999223a24b1208bc467 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 16 Aug 2024 14:14:44 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/wms/service/impl/WmsProductPutServiceImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index 2cf883f4f..14ebbc29b 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1058,6 +1058,14 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { if (wmsProductProductionRecords.size()>0){ WmsProductProductionRecords wmsProductProductionRecords1= wmsProductProductionRecords.get(0); wmsProductPut1.setSn(wmsProductProductionRecords1.getSn()); + WmsProductPutRecords wmsProductPutRecords=new WmsProductPutRecords(); + wmsProductPutRecords.setUserDefined1(wmsProductPut.getPallet()); + List wmsProductPutRecords1= wmsProductPutRecordsMapper.selectWmsProductPutRecordsList(wmsProductPutRecords); + if(wmsProductPutRecords1.size()>0){ + wmsProductPut1.setRemark("1");//已经入库 + }else { + wmsProductPut1.setRemark("0");//未入库 + } }else { return null; } @@ -1153,6 +1161,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsProductPutRecords.setNumber(wmsProductPut1.getNumber()); wmsProductPutRecords.setCreateBy(wmsProductPut.getCreateBy()); wmsProductPutRecords.setCreateTime(new Date()); + wmsProductPutRecords.setUserDefined1(wmsProductPut1.getPallet()); wmsProductPutRecordsMapper.insertWmsProductPutRecords(wmsProductPutRecords); //wms_fp_storage_news_sn WmsFpStorageNewsSn wmsFpStorageNewsSn = new WmsFpStorageNewsSn(); From 78b65211b6bec896362a485d3c0b1af2846f56e8 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 16 Aug 2024 14:51:36 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E6=A0=87=E8=AF=86=E5=8D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 64ab22090..334ef32e8 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 @@ -688,7 +688,7 @@ case when powbp.quantity is not null then powbp.quantity else powb.batch_quantity end batchQuantity, bpa.pallet_num palletNum, - concat(pow.workorder_code_sap,'-', powb.batch_code) palletCode, + concat(pow.workorder_code_sap,'-', powb.batch_code,'-',powbp.pallet_num) palletCode, powbp.pallet_num palletNo from pro_order_workorder pow left join pro_order_workorder_batch powb on pow.workorder_id = powb.workorder_id From 8a22118ac29032e1e839db91c115027b823f8d50 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 16 Aug 2024 16:24:43 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/wms/service/impl/WmsProductPutServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index 14ebbc29b..92842b2a3 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1069,6 +1069,9 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { }else { return null; } + if (wmsProductPut1.getAttr3()==null){ + wmsProductPut1.setAttr3(wmsProductPut1.getPlanQuantity().toString()); + } return wmsProductPut1; } From bb5ae8667f68aea0ede5519752f58fce08566fd9 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Fri, 16 Aug 2024 16:38:44 +0800 Subject: [PATCH 05/22] =?UTF-8?q?2024-08-16=20=E8=B4=A8=E9=87=8F-=E7=89=A9?= =?UTF-8?q?=E5=93=81=E5=A4=8D=E6=A3=80=E7=94=B3=E8=AF=B7-=E5=AF=B9?= =?UTF-8?q?=E6=A6=84=E8=8F=8A=E5=BC=80=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QcCheckTaskInventoryController.java | 28 +++- .../com/op/quality/domain/OACheckTaskDTO.java | 151 ++++++++++++------ .../quality/domain/QcCheckTaskInventory.java | 11 ++ .../mapper/QcCheckTaskInventoryMapper.java | 4 + .../impl/QcCheckTaskInventoryServiceImpl.java | 21 ++- .../quality/QcCheckTaskInventoryMapper.xml | 48 ++++++ 6 files changed, 206 insertions(+), 57 deletions(-) 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 252af4e1b..322566ac5 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 @@ -150,10 +150,34 @@ public class QcCheckTaskInventoryController extends BaseController { public AjaxResult createCCTaskFromOA(@RequestBody OACheckTaskDTO dto) { logger.info("oa发起库存检验参数"+ JSONObject.toJSONString(dto)); if(StringUtils.isBlank(dto.getFactoryCode())){ - error("[factoryCode is null]"); + return AjaxResult.error("[factoryCode is null]"); } if(CollectionUtils.isEmpty(dto.getDetail())){ - error("[detail is null]"); + return AjaxResult.error("[detail is null]"); + } + if(StringUtils.isBlank(dto.getApplyNo())){ + return AjaxResult.error("[applyNo is null]"); + } + + for(QcCheckTaskInventory qcCheckTaskInventory : dto.getDetail()){ + if(StringUtils.isBlank(qcCheckTaskInventory.getSerialNumber())){ + return AjaxResult.error("[serialNumber is null]"); + } + if(StringUtils.isBlank(qcCheckTaskInventory.getMaterialCode())){ + return AjaxResult.error("[materialCode is null]"); + } + if(StringUtils.isBlank(qcCheckTaskInventory.getMaterialName())){ + return AjaxResult.error("[materialName is null]"); + } + if(StringUtils.isBlank(qcCheckTaskInventory.getIncomeBatchNo())){ + return AjaxResult.error("[incomeBatchNo is null]"); + } + if(StringUtils.isBlank(qcCheckTaskInventory.getUnit())){ + return AjaxResult.error("[unit is null]"); + } + if(qcCheckTaskInventory.getQuality() == null){ + return AjaxResult.error("[quality is null]"); + } } return qcCheckTaskInventoryService.createCCTaskFromOA(dto); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/OACheckTaskDTO.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/OACheckTaskDTO.java index 7056e29bc..788550ed3 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/OACheckTaskDTO.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/OACheckTaskDTO.java @@ -2,6 +2,7 @@ package com.op.quality.domain; import com.op.common.core.web.domain.BaseEntity; +import java.sql.Date; import java.util.List; /** @@ -12,60 +13,81 @@ import java.util.List; */ public class OACheckTaskDTO extends BaseEntity { private static final long serialVersionUID = 1L; - //申请单号 - private String applNo; - /** - * 检测人工号 - */ - private String checkManCode; - /** - * 检测人姓名 - */ - private String checkManName; - /** - * QC主管工号 - **/ - private String qcMgr; - /** - * 质量主管工号 - **/ - private String zlMgr; - - private String factoryCode; - - private int taskNum; - - public int getTaskNum() { - return taskNum; - } - - public void setTaskNum(int taskNum) { - this.taskNum = taskNum; - } + private String recordId; + private String applyNo;//申请单号 + private String applicant;//申请人 + private String applyDepartment;//申请部门 + private Date applyDate;//申请日期 + private String storeAddress;//物品存放地点 + private String type;//复检物品种类 + private String checkManCode;//检验人员工号 + private String checkManName;//检验人员姓名 + private String qcManager;//QC主管工号 + private String zlManager;//质量主管工号 + private String treatmentMan;//处理方案人员工号 + private int taskNum;//子任务数 + private String status;//检验状态 0未完成 1检验完成 + private String factoryCode;//工厂编码 + private String delFlag;//删除标志 //任务明细 private List detail; - public String getFactoryCode() { - return factoryCode; + //流程表单中有 数据库表没有 + //其他仓库 + //方案处理执行人员 + //附件 + + public String getRecordId() { + return recordId; + } + public void setRecordId(String recordId) { + this.recordId = recordId; } - public void setFactoryCode(String factoryCode) { - this.factoryCode = factoryCode; + public String getApplyNo() { + return applyNo; + } + public void setApplyNo(String applyNo) { + this.applyNo = applyNo; } - public String getApplNo() { - return applNo; + public String getApplicant() { + return applicant; + } + public void setApplicant(String applicant) { + this.applicant = applicant; } - public void setApplNo(String applNo) { - this.applNo = applNo; + public String getApplyDepartment() { + return applyDepartment; + } + public void setApplyDepartment(String applyDepartment) { + this.applyDepartment = applyDepartment; + } + + public Date getApplyDate() { + return applyDate; + } + public void setApplyDate(Date applyDate) { + this.applyDate = applyDate; + } + + public String getStoreAddress() { return storeAddress; } + public void setStoreAddress(String storeAddress) { + this.storeAddress = storeAddress; + } + + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; } public String getCheckManCode() { return checkManCode; } - public void setCheckManCode(String checkManCode) { this.checkManCode = checkManCode; } @@ -73,31 +95,62 @@ public class OACheckTaskDTO extends BaseEntity { public String getCheckManName() { return checkManName; } - public void setCheckManName(String checkManName) { this.checkManName = checkManName; } - public String getQcMgr() { - return qcMgr; + public String getQcManager() { + return qcManager; + } + public void setQcManager(String qcManager) { + this.qcManager = qcManager; } - public void setQcMgr(String qcMgr) { - this.qcMgr = qcMgr; + public String getZlManager() { + return zlManager; + } + public void setZlManager(String zlManager) { + this.zlManager = zlManager; } - public String getZlMgr() { - return zlMgr; + public String getTreatmentMan() { + return treatmentMan; + } + public void setTreatmentMan(String treatmentMan) { + this.treatmentMan = treatmentMan; } - public void setZlMgr(String zlMgr) { - this.zlMgr = zlMgr; + public int getTaskNum() { + return taskNum; + } + public void setTaskNum(int taskNum) { + this.taskNum = taskNum; + } + + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } + + public String getDelFlag() { + return delFlag; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; } public List getDetail() { return detail; } - public void setDetail(List detail) { this.detail = detail; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java index c2c21b301..8668ec6c0 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java @@ -216,6 +216,9 @@ public class QcCheckTaskInventory extends BaseEntity { private String checkTimeStart; private String checkTimeEnd; + //序号 复检流程单用 + private String serialNumber; + private List defects; public void setRecordId(String recordId) { @@ -514,6 +517,14 @@ public class QcCheckTaskInventory extends BaseEntity { this.defects = defects; } + public String getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java index 0776965af..97fb80b05 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java @@ -2,6 +2,7 @@ package com.op.quality.mapper; import java.util.List; +import com.op.quality.domain.OACheckTaskDTO; import com.op.quality.domain.QcCheckTaskIncome; import com.op.quality.domain.QcCheckTaskInventory; import com.op.quality.domain.QcCheckTaskProduce; @@ -69,4 +70,7 @@ public interface QcCheckTaskInventoryMapper { List getPutInOrder(QcCheckTaskInventory qcCheckTaskInventory); List getPutInOrderList(QcCheckTaskInventory qoPutIn); + + //创建 qc_check_oa_task 复检申请记录 + void insertQcCheckOaTask(OACheckTaskDTO dto); } 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 63657d04a..ed826998f 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 @@ -387,15 +387,24 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer @Override public AjaxResult createCCTaskFromOA(OACheckTaskDTO dto) { List dtos = dto.getDetail(); - int m=0; - for(QcCheckTaskInventory ccTask:dtos){ - ccTask.setAttr1(dto.getApplNo());//申请编码 + int m = 0; + for(QcCheckTaskInventory ccTask : dtos){ + ccTask.setOrderNo(dto.getApplyNo() + ":" + ccTask.getSerialNumber() );//订单号 = 申请单号 +:+序号 + ccTask.setAttr1(dto.getApplyNo());//申请编码 ccTask.setCheckType("checkTypeCC");//库存检验 ccTask.setFactoryCode(dto.getFactoryCode()); - m += insertQcCheckTaskInventory(ccTask); + if(ccTask.getIncomeTime() == null){ + ccTask.setIncomeTime(DateUtils.getNowDate());//如果生产日期和入库时间 + } + insertQcCheckTaskInventory(ccTask); + m++; } - //TODO; - /**qc_check_oa_task**/ + /**qc_check_oa_task表新增**/ + dto.setRecordId(IdUtils.fastSimpleUUID()); + dto.setTaskNum(dtos.size()); + dto.setCreateTime(DateUtils.getNowDate());//创建时间 + dto.setCreateBy(dto.getApplicant());//创建人 + qcCheckTaskInventoryMapper.insertQcCheckOaTask(dto); logger.info("++++++++++++oa发起仓库检验任务生成" + m + "++++++++++++++"); return success(); 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 58372c0cd..4ea2660b1 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 @@ -362,4 +362,52 @@ )t0 where t0.days >= t0.warehouse_cycle + + + insert into qc_check_oa_task + + record_id, + apply_no, + applicant, + apply_department, + apply_date, + store_address, + type, + check_man_code, + check_man_name, + qc_manager, + zl_manager, + treatment_man, + task_num, + status, + create_by, + create_time, + update_by, + update_time, + factory_code, + del_flag, + + + #{recordId}, + #{applyNo}, + #{applicant}, + #{applyDepartment}, + #{applyDate}, + #{storeAddress}, + #{type}, + #{checkManCode}, + #{checkManName}, + #{qcManager}, + #{zlManager}, + #{treatmentMan}, + #{taskNum}, + '0', + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{factoryCode}, + #{delFlag}, + + From f7edae003bb938ba10b27ffc9b86744569eaa1e3 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 16 Aug 2024 17:29:09 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E6=A0=87=E8=AF=86=E5=8D=A1=E7=A0=812?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 334ef32e8..c054fdd74 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 @@ -697,7 +697,7 @@ and powbp.batch_code = powb.batch_code where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powb.del_flag = '0' and powbp.pallet_num = #{palletNo} - order by CAST(powbp.pallet_num AS INT) + order by CAST(powbp.pallet_num AS INT),powb.batch_code From 0fe05dab1f38039190bfe42f7e4713048ca530c4 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 16 Aug 2024 17:45:00 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WmsProductPutServiceImpl.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index 92842b2a3..d2699d051 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1063,6 +1063,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { List wmsProductPutRecords1= wmsProductPutRecordsMapper.selectWmsProductPutRecordsList(wmsProductPutRecords); if(wmsProductPutRecords1.size()>0){ wmsProductPut1.setRemark("1");//已经入库 + wmsProductPut1.setNumber(wmsProductPutRecords1.get(0).getNumber()); }else { wmsProductPut1.setRemark("0");//未入库 } @@ -1072,6 +1073,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { if (wmsProductPut1.getAttr3()==null){ wmsProductPut1.setAttr3(wmsProductPut1.getPlanQuantity().toString()); } + wmsProductPut1.setPallet(wmsProductPut.getPallet()); return wmsProductPut1; } @@ -1118,7 +1120,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { //wms_product_put wmsProductPutk.setWorkOrder(wmsProductPut1.getWorkOrder()); wmsProductPutk.setProductOrder(wmsProductPut1.getProductOrder()); - wmsProductPutk.setFactoryCode(wmsProductPut1.getFactoryCode()); + wmsProductPutk.setFactoryCode(wmsProductPut.getFactoryCode()); wmsProductPutk.setWhCode(wmsProductPut1.getWhCode());//仓库编码 wmsProductPutk.setWaCode(wmsProductPut1.getWaCode());//仓库编码 wmsProductPutk.setProductName(wmsProductPut1.getProductName()); @@ -1132,9 +1134,9 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { BigDecimal planQuantity= wmsProductPut2.getPlanQuantity(); BigDecimal putQuantity= wmsProductPut2.getPutQuantity(); if (planQuantity.equals(putQuantity.add(new BigDecimal(wmsProductPut1.getNumber())))){ - wmsProductPutk.setStatus("2"); - }else { wmsProductPutk.setStatus("1"); + }else { + wmsProductPutk.setStatus("2"); } BigDecimal putQuantityT=putQuantity.add(new BigDecimal(wmsProductPut1.getNumber()));//入库数量 wmsProductPut2.setPutQuantity(putQuantityT); @@ -1142,7 +1144,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsProductPut2.setUpdateBy(wmsProductPut.getCreateBy()); wmsProductPutMapper.updateWmsProductPut(wmsProductPut2); }else { - wmsProductPutk.setStatus("1"); + wmsProductPutk.setStatus("2"); wmsProductPutk.setSapStatus("0"); wmsProductPutk.setAttr3(formattedDate);// wmsProductPutk.setCreateBy(wmsProductPut.getCreateBy()); @@ -1157,7 +1159,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsProductPutRecords.setProductName(wmsProductPut1.getProductName()); wmsProductPutRecords.setProductCode(wmsProductPut1.getProductCode()); wmsProductPutRecords.setWhCode(wmsProductPut1.getWhCode());//仓库编码 - wmsProductPutRecords.setWaCode(wmsProductPut1.getWaCode());//仓库编码 + wmsProductPutRecords.setWaCode(wmsProductPut1.getWaCode());//库区编码 wmsProductPutRecords.setId(IdUtils.fastSimpleUUID()); wmsProductPutRecords.setWlCode(wmsProductPut1.getWlCode()); wmsProductPutRecords.setSn(wmsProductPut1.getSn()); @@ -1171,6 +1173,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsFpStorageNewsSn.setStorageId(IdUtils.fastSimpleUUID()); wmsFpStorageNewsSn.setFactoryCode(wmsProductPut.getFactoryCode()); wmsFpStorageNewsSn.setWhCode(wmsProductPut1.getWhCode());//仓库编码 + wmsFpStorageNewsSn.setWaCode(wmsProductPut1.getWaCode()); wmsFpStorageNewsSn.setWlCode(wmsProductPut1.getWlCode()); wmsFpStorageNewsSn.setOrderNo(wmsProductPutk.getId()); wmsFpStorageNewsSn.setProductCode(wmsProductPut1.getProductCode()); @@ -1187,18 +1190,19 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { WmsFpStorageNews wmsFpStorageNews = new WmsFpStorageNews(); wmsFpStorageNews.setWhCode(wmsProductPut1.getWhCode());//仓库编码 - wmsFpStorageNews.setWlCode(wmsProductPut1.getWaCode()); + wmsFpStorageNews.setWaCode(wmsProductPut1.getWaCode()); + wmsFpStorageNews.setWlCode(wmsProductPut1.getWlCode()); wmsFpStorageNews.setStorageType("成品"); wmsFpStorageNews.setProductCode(wmsProductPut1.getProductCode()); wmsFpStorageNews.setProductName(wmsProductPut1.getProductName()); - wmsFpStorageNews.setFactoryCode(wmsProductPut1.getFactoryCode()); + wmsFpStorageNews.setFactoryCode(wmsProductPut.getFactoryCode()); wmsFpStorageNews.setActiveFlag("1"); wmsFpStorageNews.setUserDefined1(wmsProductPut1.getUnitOfMeasure()); List wmsFpStorageNewsList = wmsFpStorageNewsMapper.selectWmsFpStorageNewsList(wmsFpStorageNews); wmsFpStorageNews.setStorageId(IdUtils.fastSimpleUUID()); wmsFpStorageNews.setAmount(new BigDecimal(wmsProductPut1.getNumber())); wmsFpStorageNews.setCreateBy(wmsProductPut.getCreateBy()); - wmsFpStorageNews.setCreateTime(new Date()); + wmsFpStorageNews.setGmtCreate(new Date()); if (wmsFpStorageNewsList.size() > 0) { WmsFpStorageNews wmsFpStorageNews1 = wmsFpStorageNewsList.get(0); BigDecimal amount = wmsFpStorageNews1.getAmount(); From 74c71be7e276faf5ab983196b050e8c467787412 Mon Sep 17 00:00:00 2001 From: shaoyong Date: Fri, 16 Aug 2024 18:03:12 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E4=B8=8D=E8=89=AF=E6=8F=8F=E8=BF=B0code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/quality/domain/QcCheckTaskIncome.java | 9 +++++++++ .../service/impl/QcCheckTaskIncomeServiceImpl.java | 2 ++ .../resources/mapper/quality/QcCheckTaskIncomeMapper.xml | 9 ++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java index cf51b102a..5205ae47a 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java @@ -190,6 +190,7 @@ public class QcCheckTaskIncome extends BaseEntity { private String fileList; private List files; private String remark; + private String remarkCode; private String belongTo; private String oldBelongTo; private String noOkQualityNames; @@ -852,6 +853,14 @@ public class QcCheckTaskIncome extends BaseEntity { return delFlag; } + public String getRemarkCode() { + return remarkCode; + } + + public void setRemarkCode(String remarkCode) { + this.remarkCode = remarkCode; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) 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 5bb13f950..5c7d77a1f 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 @@ -678,6 +678,7 @@ public class QcCheckTaskIncomeServiceImpl implements qcCheckTask.setUpdateTime(nowTime); qcCheckTask.setCheckTime(nowTime); qcCheckTask.setRemark(qcCheckTaskIncome.getRemark()); + qcCheckTask.setRemarkCode(qcCheckTaskIncome.getRemarkCode()); qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格 qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo()); BigDecimal noOkQquality = new BigDecimal("0"); @@ -841,6 +842,7 @@ public class QcCheckTaskIncomeServiceImpl implements qcCheckTask.setUpdateTime(nowTime); qcCheckTask.setCheckTime(nowTime); qcCheckTask.setRemark(qcCheckTaskIncome.getRemark()); + qcCheckTask.setRemarkCode(qcCheckTaskIncome.getRemarkCode()); qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格 qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo()); BigDecimal noOkQquality = new BigDecimal("0"); 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 abdd4fe76..bcb892350 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 @@ -39,6 +39,7 @@ + @@ -46,7 +47,7 @@ supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, factory_code, del_flag , check_type,sample_quality, noOk_quality, - order_type,order_type_desc + order_type,order_type_desc,remark from qc_check_task @@ -313,6 +314,7 @@ cNoOkquality = #{cNoOkquality}, income_batch_no = #{incomeBatchNo}, remark = #{remark}, + remark_code = #{remarkCode}, reason = #{reason}, bz = #{bz}, cxzz = #{cxzz}, @@ -362,6 +364,7 @@ order_type, order_type_desc, remark, + remark_code, reason, bz, start_oA, @@ -420,6 +423,7 @@ #{orderType}, #{orderTypeDesc}, #{remark}, + #{remarkCode}, #{reason}, #{bz}, #{startOA}, @@ -458,6 +462,7 @@ cNoOkquality = #{cNoOkquality}, income_batch_no = #{incomeBatchNo}, remark = #{remark}, + remark_code = #{remarkCode}, reason = #{reason}, bz = #{bz}, start_oA = #{startOA}, @@ -592,6 +597,7 @@ qct.income_time incomeTime, qct.check_loc checkLoc, qct.remark, + qct.remark_code remarkCode, qct.cxzz, qct.jgy, qct.pgy @@ -621,6 +627,7 @@ qct.income_time incomeTime, qct.check_loc checkLoc, qct.remark, + qct.remark_code remarkCode, qct.czbjr, qct.zcf, qct.zcoemcm, From 584484ef9a4d9d28822d38a44d50e62da90049c5 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 16 Aug 2024 18:08:49 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=E6=88=90=E5=93=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/wms/service/impl/WmsProductPutServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index d2699d051..ae5ec4c39 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1185,6 +1185,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsFpStorageNewsSn.setCreateBy(wmsProductPut.getCreateBy()); wmsFpStorageNewsSn.setCreateTime(new Date()); wmsFpStorageNewsSn.setActiveFlag("1"); + wmsFpStorageNewsSn.setUserDefined3(wmsProductPut1.getUnitOfMeasure()); wmsFpStorageNewsSnMapper.insertWmsFpStorageNewsSn(wmsFpStorageNewsSn); // wms_fp_storage_news WmsFpStorageNews wmsFpStorageNews = new WmsFpStorageNews(); From ec90425d5091cbd97b4e8fcd88e28eda23ea4eaa Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 19 Aug 2024 09:46:29 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E6=A0=87=E8=AF=86=E5=8D=A1=E7=A0=813?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProOrderWorkorderServiceImpl.java | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 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 41f1b24fd..81c5fcf77 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 @@ -1275,33 +1275,22 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { BigDecimal pall = pow.getBatchQuantity(); BigDecimal pn = pow.getPalletNum(); - while(pall.subtract(pn).compareTo(BigDecimal.ZERO)>0){ + while(pall.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); + if(pall.compareTo(pn)<0) {//最后一托盘 + pw.setBatchQuantity(pall); + } 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); - } } } if(!CollectionUtils.isEmpty(dtos)){ From a5232f17510a35c3dfc8efe4550dd7f5ebcbda2d Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 19 Aug 2024 09:48:38 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E6=A0=87=E8=AF=86=E5=8D=A1=E7=A0=814?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) 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 81c5fcf77..d4ac68ba8 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 @@ -1284,6 +1284,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { pw.setRecordId(IdUtils.fastSimpleUUID()); if(pall.compareTo(pn)<0) {//最后一托盘 pw.setBatchQuantity(pall); + }else{ + pw.setBatchQuantity(pn); } pw.setPalletNo(i++); pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo()); From 98444d5023c3847a9ae98a3fe93f0a66ab23cf89 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 19 Aug 2024 11:49:29 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QcStaticTableController.java | 19 +- .../com/op/quality/domain/QcStaticTable.java | 9 + .../quality/mapper/QcStaticTableMapper.java | 6 + .../service/IQcStaticTableService.java | 5 + .../impl/QcCheckTaskIncomeServiceImpl.java | 5 +- .../impl/QcStaticTableServiceImpl.java | 163 +++++++++++++++++- .../mapper/quality/QcStaticTableMapper.xml | 111 ++++++++++++ 7 files changed, 307 insertions(+), 11 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java index 1afabfbec..1a3bb13ed 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -488,11 +488,22 @@ public class QcStaticTableController extends BaseController { } } /** - * 定量值分析--表头--产品名称 + * 检验分析报表--表头-- **/ - @GetMapping("/getTableHzTitle") - @Log(title = "检验分类汇总", businessType = BusinessType.QUERY) - public QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable) { + @PostMapping("/getTableHzTitle") + @Log(title = "检验分析报表", businessType = BusinessType.QUERY) + public QcStaticTable getTableHzTitle(@RequestBody QcStaticTable qcStaticTable) { return qcStaticTableService.getTableHzTitle(qcStaticTable); } + /** + * 检验分析报表--巡检不良趋势图 + **/ + @PostMapping("/getTableHzData") + public List getTableHzLineData(@RequestBody QcStaticTable qcStaticTable) { + return qcStaticTableService.getTableHzData(qcStaticTable); + } + @PostMapping("/getTableHzNoOkData") + public List getTableHzNoOkData(@RequestBody QcStaticTable qcStaticTable) { + return qcStaticTableService.getTableHzNoOkData(qcStaticTable); + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java index 87f6447da..ac22c1fe4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -88,6 +88,7 @@ public class QcStaticTable extends BaseEntity { private String projectNo; private String status; private String ymdms; + private String ymdUntype; private String column080090; private String column090100; private String column100110; @@ -113,6 +114,14 @@ public class QcStaticTable extends BaseEntity { private List columns1; private List columns2; + public String getYmdUntype() { + return ymdUntype; + } + + public void setYmdUntype(String ymdUntype) { + this.ymdUntype = ymdUntype; + } + public List getColumns1() { return columns1; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java index 9707784a2..3662d820d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -85,4 +85,10 @@ public interface QcStaticTableMapper { List getTableHzTitle(QcStaticTable qcStaticTable); List getTableHzTitle2(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getSamplesNum(QcStaticTable qcStaticTable); + @MapKey("ymdUntype") + Map getNoOkNum(QcStaticTable qcStaticTable); + + List getTableHzNoOkData(QcStaticTable qcStaticTable); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java index 19c902d89..b9134bf62 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java @@ -1,5 +1,6 @@ package com.op.quality.service; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -51,4 +52,8 @@ public interface IQcStaticTableService { List getProjectList(String checkType); QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable); + + List getTableHzData(QcStaticTable qcStaticTable); + + List getTableHzNoOkData(QcStaticTable qcStaticTable); } 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 5c7d77a1f..f42055272 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 @@ -884,7 +884,10 @@ public class QcCheckTaskIncomeServiceImpl implements } } - qcCheckTask.setSampleQuality(sampleQuality); + if(qcCheckTask.getSampleQuality().equals(BigDecimal.ZERO)){ + qcCheckTask.setSampleQuality(sampleQuality); + } + /**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/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 00430ee2e..7df2496f3 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 @@ -4,6 +4,11 @@ import java.math.BigDecimal; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.Month; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; +import java.time.format.TextStyle; import java.util.*; import java.util.stream.Collectors; @@ -788,15 +793,17 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { public QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable) { QcStaticTable dto = new QcStaticTable(); qcStaticTable.setDataType("unqualified_remark"); - qcStaticTable.setRemark("checkTypeCP"); + qcStaticTable.setRemark(qcStaticTable.getCheckType()); List cols1 = qcStaticTableMapper.getTableHzTitle(qcStaticTable); + if(CollectionUtils.isEmpty(cols1)){ return dto; } - dto.setColumns1(cols1); - List cols2 = qcStaticTableMapper.getTableHzTitle2(qcStaticTable); - dto.setColumns2(cols2); + dto.setColumns1(cols1); +// List cols2 = qcStaticTableMapper.getTableHzTitle2(qcStaticTable); +// +// dto.setColumns2(cols2); return dto; } @@ -876,8 +883,152 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return days; } + @Override + @DS("#header.poolName") + public List getTableHzData(QcStaticTable qcStaticTable) { + List dtos = new ArrayList<>(); + qcStaticTable.setDataType("unqualified_remark"); + qcStaticTable.setRemark(qcStaticTable.getCheckType()); + List noOkTyps = qcStaticTableMapper.getTableHzTitle(qcStaticTable); + //第一列日期 + List days = this.getHzDays(qcStaticTable.getIncomeTimeStr(),qcStaticTable.getYmdms()); + //抽样数、不良数、不良率 + Map samples = qcStaticTableMapper.getSamplesNum(qcStaticTable); + if(samples.isEmpty()){ + return dtos; + } + //不良数 + Map noOks = qcStaticTableMapper.getNoOkNum(qcStaticTable); + HashMap colMap = null; + for(String col:days){ + colMap = new HashMap(); + colMap.put("timeCol",col); + String samKey = col; + QcStaticTable sampl = samples.get(samKey); + if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")){ + colMap.put("sampleQuality",sampl.getSampleQuality().replaceAll("\\..*", "")); + BigDecimal noOkRate = new BigDecimal(sampl.getNoOkQuality()).multiply(new BigDecimal("100.00")) + .divide(new BigDecimal(sampl.getSampleQuality()),2, BigDecimal.ROUND_HALF_UP); + colMap.put("noOkRate",noOkRate); + }else{ + colMap.put("sampleQuality","0"); + colMap.put("noOkRate","0"); + } + + //缺陷不良 + for(int i=0;i< noOkTyps.size();i++){ + String noOkTyp = noOkTyps.get(0); + String noOkTypeKey = col+noOkTyp; + QcStaticTable noOk = noOks.get(noOkTypeKey); + if(noOk!=null&&noOk.getNoOkQuality()!=null) { + colMap.put("col"+i, noOk.getNoOkQuality().replaceAll("\\..*", "")); + }else{ + colMap.put("col"+i, "0"); + } + } + + dtos.add(colMap); + } + + return dtos; + } + + @Override + @DS("#header.poolName") + public List getTableHzNoOkData(QcStaticTable qcStaticTable) { + //不良数 + List dtos = qcStaticTableMapper.getTableHzNoOkData(qcStaticTable); + + BigDecimal totalNoOkQuality = BigDecimal.ZERO; + //求不良数和 + for (QcStaticTable dto : dtos) { + totalNoOkQuality = totalNoOkQuality.add(new BigDecimal(dto.getNoOkQuality())); + } + //求占比 + for (QcStaticTable dto : dtos) { + BigDecimal noOkratio = new BigDecimal(dto.getNoOkQuality()) + .divide(totalNoOkQuality,2, BigDecimal.ROUND_HALF_UP); + dto.setNoOkNumRate(noOkratio.toString()); + dto.setNoOkQuality(dto.getNoOkQuality().replaceAll("\\..*", "")); + } + return dtos; + } + + /****/ + public List getHzDays(String timeStr,String ymd) { + // 返回的日期集合 + List days = new ArrayList(); + DateFormat dateFormat = null; + try { + Calendar tempStart = null; + Calendar tempEnd = null; + if ("dd".equals(ymd)) {//天内各小时 + for (int i = 0; i < 24; i++) { + // 使用String.format()格式化小时,保证每个小时都是两位数 + String hourS = String.format("%02d", i);//String.format("%02d:00", i); + days.add(hourS); + } + } else if ("mm".equals(ymd)){//月内各日 + int year = Integer.parseInt(timeStr.split("-")[0]); + int month = Integer.parseInt(timeStr.split("-")[1]); + YearMonth yearMonth = YearMonth.of(year, month); + // 获取该月份的第一天 + LocalDate firstDayOfMonth = yearMonth.atDay(1); + // 循环直到下一个月的第一天 + LocalDate currentDate = firstDayOfMonth; + while (currentDate.getMonthValue() == month) { + // 使用DateTimeFormatter格式化日期为字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String formattedDate = currentDate.format(formatter); + days.add(formattedDate); + + // 移动到下一天 + currentDate = currentDate.plusDays(1); + } + } else if ("yyyy".equals(ymd)){// + for (Month month : Month.values()) { + // 使用String.format来构造"yyyy-MM"格式的字符串 + // %d用于整数(年份和月份),但月份需要前面补0(使用%02d) + String formattedMonth = String.format("%d-%02d", Integer.parseInt(timeStr), month.getValue()); + days.add(formattedMonth); + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + return days; + } + + public static List getDaysOfMonth(int year, int month) { + List days = new ArrayList<>(); + YearMonth yearMonth = YearMonth.of(year, month); + // 获取该月份的第一天 + LocalDate firstDayOfMonth = yearMonth.atDay(1); + + // 循环直到下一个月的第一天 + LocalDate currentDate = firstDayOfMonth; + while (currentDate.getMonthValue() == month) { + // 使用DateTimeFormatter格式化日期为字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String formattedDate = currentDate.format(formatter); + days.add(formattedDate); + + // 移动到下一天 + currentDate = currentDate.plusDays(1); + } + + return days; + } + public static void main(String args[]){ - double a = 0.01; - System.out.println(new BigDecimal(a).compareTo(BigDecimal.ZERO)); + List months = new ArrayList<>(); + for (Month month : Month.values()) { + // 使用String.format来构造"yyyy-MM"格式的字符串 + // %d用于整数(年份和月份),但月份需要前面补0(使用%02d) + String formattedMonth = String.format("%d-%02d",2024, month.getValue()); + months.add(formattedMonth); + } + System.out.println(months); } } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index 2a64281d1..7e218b9e5 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -498,4 +498,115 @@ + + + From 796bab217670efb9d1296b8f06943abec23b7c01 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 19 Aug 2024 13:18:01 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E6=8A=A5=E8=A1=A82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quality/service/impl/QcCheckTaskIncomeServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 f42055272..270e290c2 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 @@ -884,9 +884,9 @@ public class QcCheckTaskIncomeServiceImpl implements } } - if(qcCheckTask.getSampleQuality().equals(BigDecimal.ZERO)){ - qcCheckTask.setSampleQuality(sampleQuality); - } +// if(qcCheckTask.getSampleQuality().equals(BigDecimal.ZERO)){ +// qcCheckTask.setSampleQuality(sampleQuality); +// } /**qc_check_task**/ n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask); From c5da1a61e688f4422ee4c7ccf9f03efe00187990 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 19 Aug 2024 16:23:25 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E6=8A=A5=E8=A1=A83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/QcCheckTaskIncomeServiceImpl.java | 77 +++++++++++-------- .../service/impl/QcProCheckServiceImpl.java | 10 ++- .../impl/QcStaticTableServiceImpl.java | 2 +- .../mapper/quality/QcStaticTableMapper.xml | 33 ++++---- 4 files changed, 74 insertions(+), 48 deletions(-) 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 270e290c2..00e1bc590 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,7 +689,11 @@ public class QcCheckTaskIncomeServiceImpl implements qcCheckTask.setNoOkQuality(noOkQquality);//累计不合格数 qcCheckTask.setCheckManCode(qcCheckTaskIncome.getUpdateBy()); qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName()); + + + qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); + qcCheckTask.setReason(qcCheckTaskIncome.getReason()); qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注 @@ -721,34 +725,10 @@ public class QcCheckTaskIncomeServiceImpl implements qcCheckTask.setSccj(qcCheckTaskIncome.getSccj());// 所属车间 qcCheckTask.setSqr(qcCheckTaskIncome.getSqr());// 申请人Id - /**qc_check_task_cg**/ - List valiData = qcCheckTaskIncomeMapper.selectQcCheckTaskCgByRecordId(belongId); - // 判断表中是否存在此条数据 - if (valiData != null && valiData.size() > 0) { - n = qcCheckTaskIncomeMapper.updateQcCheckTaskCg(qcCheckTask);//updateQcCheckTaskCG - }else { - qcCheckTask.setCheckNo(qcCheckTaskIncome.getCheckNo()); - qcCheckTask.setOrderNo(qcCheckTaskIncome.getOrderNo()); - qcCheckTask.setMaterialCode(qcCheckTaskIncome.getMaterialCode()); - qcCheckTask.setMaterialName(qcCheckTaskIncome.getMaterialName()); - qcCheckTask.setOrderType(qcCheckTaskIncome.getOrderType()); - qcCheckTask.setOrderTypeDesc(qcCheckTaskIncome.getOrderTypeDesc()); - qcCheckTask.setCreateBy(qcCheckTaskIncome.getCreateBy()); - qcCheckTask.setCreateTime(DateUtils.getNowDate()); - qcCheckTask.setIncomeTime(qcCheckTaskIncome.getIncomeTime()); - qcCheckTask.setFactoryCode(qcCheckTaskIncome.getFactoryCode()); - qcCheckTask.setCheckType(qcCheckTaskIncome.getCheckType()); - - qcCheckTask.setaNoOkquality(qcCheckTaskIncome.getaNoOkquality()); - qcCheckTask.setbNoOkquality(qcCheckTaskIncome.getbNoOkquality()); - qcCheckTask.setcNoOkquality(qcCheckTaskIncome.getcNoOkquality()); - - n = qcCheckTaskIncomeMapper.insertQcCheckTaskIncomeCg(qcCheckTask); - } - logger.info("qc_check_task:"+n); - /**更新qc_check_task_detail**/ + BigDecimal sampleQuality = new BigDecimal("0"); for(QcCheckTaskDetail detail:details){ detail.setUpdateTime(nowTime); + sampleQuality = sampleQuality.add(new BigDecimal(detail.getSampleQuality()==null?"0":detail.getSampleQuality())); //上传附件 if (StringUtils.isNotEmpty(detail.getFileListStr())) { String[] ids = detail.getFileListStr().split(","); @@ -770,6 +750,41 @@ public class QcCheckTaskIncomeServiceImpl implements } } + + /**qc_check_task_cg**/ + List valiData = qcCheckTaskIncomeMapper.selectQcCheckTaskCgByRecordId(belongId); + // 判断表中是否存在此条数据 + if (valiData != null && valiData.size() > 0) { + n = qcCheckTaskIncomeMapper.updateQcCheckTaskCg(qcCheckTask);//updateQcCheckTaskCG + }else { + + if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){ + qcCheckTask.setSampleQuality(sampleQuality); + }else{ + qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); + } + + qcCheckTask.setCheckNo(qcCheckTaskIncome.getCheckNo()); + qcCheckTask.setOrderNo(qcCheckTaskIncome.getOrderNo()); + qcCheckTask.setMaterialCode(qcCheckTaskIncome.getMaterialCode()); + qcCheckTask.setMaterialName(qcCheckTaskIncome.getMaterialName()); + qcCheckTask.setOrderType(qcCheckTaskIncome.getOrderType()); + qcCheckTask.setOrderTypeDesc(qcCheckTaskIncome.getOrderTypeDesc()); + qcCheckTask.setCreateBy(qcCheckTaskIncome.getCreateBy()); + qcCheckTask.setCreateTime(DateUtils.getNowDate()); + qcCheckTask.setIncomeTime(qcCheckTaskIncome.getIncomeTime()); + qcCheckTask.setFactoryCode(qcCheckTaskIncome.getFactoryCode()); + qcCheckTask.setCheckType(qcCheckTaskIncome.getCheckType()); + + qcCheckTask.setaNoOkquality(qcCheckTaskIncome.getaNoOkquality()); + qcCheckTask.setbNoOkquality(qcCheckTaskIncome.getbNoOkquality()); + qcCheckTask.setcNoOkquality(qcCheckTaskIncome.getcNoOkquality()); + + n = qcCheckTaskIncomeMapper.insertQcCheckTaskIncomeCg(qcCheckTask); + } + logger.info("qc_check_task:"+n); + /**更新qc_check_task_detail**/ + n= qcCheckTaskIncomeMapper.updateQcCheckTaskDetails(details); logger.info("更新qc_check_task_detail:"+n); @@ -862,7 +877,7 @@ public class QcCheckTaskIncomeServiceImpl implements BigDecimal sampleQuality = new BigDecimal("0"); for(QcCheckTaskDetail detail:details){ detail.setUpdateTime(nowTime); - sampleQuality = noOkQquality.add(new BigDecimal(detail.getSampleQuality()==null?"0":detail.getSampleQuality())); + sampleQuality = sampleQuality.add(new BigDecimal(detail.getSampleQuality()==null?"0":detail.getSampleQuality())); //上传附件 if (StringUtils.isNotEmpty(detail.getFileListStr())) { String[] ids = detail.getFileListStr().split(","); @@ -884,9 +899,11 @@ public class QcCheckTaskIncomeServiceImpl implements } } -// if(qcCheckTask.getSampleQuality().equals(BigDecimal.ZERO)){ -// qcCheckTask.setSampleQuality(sampleQuality); -// } + if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){ + qcCheckTask.setSampleQuality(sampleQuality); + }else{ + qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); + } /**qc_check_task**/ n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java index b44dc61b1..152b0b24a 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java @@ -151,6 +151,11 @@ public class QcProCheckServiceImpl implements QcProCheckService { Map defectMap = qcCheckTaskDefectMapper.getDefectMap(qcCheckTaskDetail); for (QcCheckTaskDetail qcd : qcCheckTaskDetails) { + + if(StringUtils.isNotBlank(qcd.getSampleQuality())){ + qcd.setSampleQuality(qcd.getSampleQuality().replaceAll("\\..*", ""));//去掉小数 + } + List files = qmsFileMapper.getBaseFileBatch(qcd.getRecordId()); if (CollectionUtils.isNotEmpty(files)) { qcd.setFiles(files); @@ -185,7 +190,10 @@ public class QcProCheckServiceImpl implements QcProCheckService { Map defectMap = qcCheckTaskDefectMapper.getDefectMap(qcCheckTaskDetail); for (QcCheckTaskDetail qcd : qcCheckTaskDetails) { - qcd.setSampleQuality(qcd.getSampleQuality().replaceAll("\\..*", ""));//去掉小数 + if(StringUtils.isNotBlank(qcd.getSampleQuality())){ + qcd.setSampleQuality(qcd.getSampleQuality().replaceAll("\\..*", ""));//去掉小数 + } + List files = qmsFileMapper.getBaseFileBatch(qcd.getRecordId()); if (CollectionUtils.isNotEmpty(files)) { 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 7df2496f3..e8d746dae 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 @@ -917,7 +917,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { //缺陷不良 for(int i=0;i< noOkTyps.size();i++){ - String noOkTyp = noOkTyps.get(0); + String noOkTyp = noOkTyps.get(i); String noOkTypeKey = col+noOkTyp; QcStaticTable noOk = noOks.get(noOkTypeKey); if(noOk!=null&&noOk.getNoOkQuality()!=null) { diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index 7e218b9e5..68d971b47 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -551,7 +551,7 @@ left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value where qct.check_type = #{checkType} and qct.check_status = '2' and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr} - and del_flag = '0' + and del_flag = '0' and bdd.dict_label is not null ) t group by hourName,dict_label @@ -566,7 +566,7 @@ left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value where qct.check_type = #{checkType} and qct.check_status = '2' and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr} - and del_flag = '0' + and del_flag = '0' and bdd.dict_label is not null ) t group by hourName,dict_label @@ -581,32 +581,33 @@ left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value where qct.check_type = #{checkType} and qct.check_status = '2' and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr} - and del_flag = '0' + and del_flag = '0' and bdd.dict_label is not null ) t group by hourName,dict_label From ae1a59be613f945d2150069d93ff65317828ea87 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Tue, 20 Aug 2024 15:30:40 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=B9=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/wms/service/impl/OdsProcureOrderServiceImpl.java | 8 ++++++-- .../com/op/wms/service/impl/WmsProductPutServiceImpl.java | 1 + .../resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java index e6dac7880..bcf451688 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java @@ -810,6 +810,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码 wmsOdsEmStorageNews.setWaCode(wmsRawOrderInSn.getWaCode());//库位编码 wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode()); + wmsOdsEmStorageNews.setUserDefined2(formattedDate);//批次 wmsOdsEmStorageNews.setAmount(wmsRawOrderInSn.getAmount()); //添加库存--这个要有个判断有没有这个库存如果没有的话,就插入 WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews); @@ -838,8 +839,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { } - - }else {////失败| result="暂收失败"; order.setSapTempInfor(result2.getMsg()); @@ -1070,6 +1069,11 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { } } + + + + + @Override public List getIdCardList(OdsProcureOrder odsProcureOrder) { List orderList= odsProcureOrderMapper.getIdCardList(odsProcureOrder); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index ae5ec4c39..0ff952444 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1198,6 +1198,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsFpStorageNews.setProductName(wmsProductPut1.getProductName()); wmsFpStorageNews.setFactoryCode(wmsProductPut.getFactoryCode()); wmsFpStorageNews.setActiveFlag("1"); + wmsFpStorageNews.setProductBatch(wmsProductPut1.getBatchNumber()); wmsFpStorageNews.setUserDefined1(wmsProductPut1.getUnitOfMeasure()); List wmsFpStorageNewsList = wmsFpStorageNewsMapper.selectWmsFpStorageNewsList(wmsFpStorageNews); wmsFpStorageNews.setStorageId(IdUtils.fastSimpleUUID()); diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml index 1476172dd..b56308ce7 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml @@ -214,6 +214,7 @@ SELECT - mes_report_work.report_code work_order, + pro_order_workorder.workorder_code work_order, pro_order_workorder.workorder_code_sap product_order, - mes_report_work.product_code, - mes_report_work.product_name, - mes_report_work.unit unit_of_measure, - mes_report_work.batch batch_number, - mes_report_work.quantity plan_quantity, - ( mes_report_work.quantity- put.put_quantity ) attr3 + pro_order_workorder.product_code, + pro_order_workorder.product_name, + pro_order_workorder.unit unit_of_measure, + pro_order_workorder_batch.batch_code batch_number, + pro_order_workorder_batch.batch_quantity plan_quantity, + ( pro_order_workorder_batch.batch_quantity- put.put_quantity ) attr3 FROM pro_order_workorder - LEFT JOIN mes_report_work ON pro_order_workorder.workorder_code = mes_report_work.workorder_code + LEFT JOIN pro_order_workorder_batch ON pro_order_workorder.workorder_id = pro_order_workorder_batch.workorder_id LEFT JOIN ( SELECT SUM ( wms_product_put.put_quantity ) AS put_quantity, - wms_product_put.work_order AS work_order, + wms_product_put.batch_number AS batch_number, wms_product_put.product_code AS product_code FROM wms_product_put GROUP BY - wms_product_put.work_order, + wms_product_put.batch_number, wms_product_put.product_code - ) put ON put.work_order= mes_report_work.report_code + ) put ON put.batch_number= pro_order_workorder_batch.batch_code AND put.product_code= pro_order_workorder.workorder_code_sap WHERE - pro_order_workorder.workorder_code_sap=#{attribute1} - AND mes_report_work.batch=#{attribute2} - AND mes_report_work.parent_order = '0' + pro_order_workorder.workorder_code_sap= #{attribute1} + AND pro_order_workorder_batch.batch_code= #{attribute2} + AND pro_order_workorder_batch.del_flag = '0' + + diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/H5ApiController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/H5ApiController.java index d636154c0..c63f42945 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/H5ApiController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/H5ApiController.java @@ -32,5 +32,4 @@ public class H5ApiController { List
list = h5ApiService.dailyProductDetil(workTime); return list; } - } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/H5.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/H5.java index ca066f064..3c900f71a 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/H5.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/H5.java @@ -6,8 +6,8 @@ public class H5 { private String productName; private String category; private String specifications; - private String StandardStaffing; - private String actualEmployment; + private int StandardStaffing; + private int actualEmployment; private String productionDuration; private int planProduction; private int production; @@ -83,19 +83,19 @@ public class H5 { this.specifications = specifications; } - public String getStandardStaffing() { + public int getStandardStaffing() { return StandardStaffing; } - public void setStandardStaffing(String standardStaffing) { + public void setStandardStaffing(int standardStaffing) { StandardStaffing = standardStaffing; } - public String getActualEmployment() { + public int getActualEmployment() { return actualEmployment; } - public void setActualEmployment(String actualEmployment) { + public void setActualEmployment(int actualEmployment) { this.actualEmployment = actualEmployment; } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml index b5e0bb6da..82ecd4e8e 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml @@ -40,7 +40,7 @@ FORMAT(ROUND( CASE WHEN MAX(A.use_man) = 0 OR SUM(A.work_time) = 0 THEN NULL - ELSE SUM(mrw.quantity_feedback) / MAX(A.use_man) / SUM(A.work_time) + ELSE (SUM(mrw.quantity_feedback)) / MAX(A.use_man) / (MAX(A.work_time)) END, 1 ), '0.#') AS actualEfficiency, @@ -52,7 +52,7 @@ ROUND( CASE WHEN MAX(A.use_man) = 0 OR SUM(A.work_time) = 0 THEN NULL - ELSE SUM(mrw.quantity_feedback) / MAX(A.use_man) / SUM(A.work_time) + ELSE (SUM(mrw.quantity_feedback)) / MAX(A.use_man) / (MAX(A.work_time)) END, 1 ) AS DECIMAL(10,1)) From c48de5d3f350d494c4daf0ea317162ae6d9f8f32 Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Wed, 21 Aug 2024 11:12:40 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml index 82ecd4e8e..1008e9e8e 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/H5ApiMapper.xml @@ -33,7 +33,7 @@ MAX(A.quantity_s_total) AS quantity_s_total, bpa.man_standar, MAX(A.use_man) AS use_man, - SUM(A.work_time) AS work_time, + FORMAT(ROUND((MAX(A.work_time)), 1), '0.#') AS work_time, mrw.parent_order , bpa.iei, FORMAT(ROUND((bpa.iei / bp.umrez / bpa.man_standar), 1), '0.#') AS standardEfficiency, From 521f1de96f459322d87d26f85250094e05f2ff74 Mon Sep 17 00:00:00 2001 From: shaoyong Date: Wed, 21 Aug 2024 14:22:39 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E7=AE=B1=E5=9E=8B=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/mes/controller/MesBoxController.java | 110 ++++++++++ .../controller/MesBoxDetailController.java | 115 ++++++++++ .../main/java/com/op/mes/domain/MesBox.java | 75 +++++++ .../java/com/op/mes/domain/MesBoxDetail.java | 176 ++++++++++++++++ .../com/op/mes/mapper/MesBoxDetailMapper.java | 61 ++++++ .../java/com/op/mes/mapper/MesBoxMapper.java | 63 ++++++ .../op/mes/service/IMesBoxDetailService.java | 64 ++++++ .../com/op/mes/service/IMesBoxService.java | 63 ++++++ .../service/impl/MesBoxDetailServiceImpl.java | 106 ++++++++++ .../mes/service/impl/MesBoxServiceImpl.java | 106 ++++++++++ .../mapper/mes/MesBoxDetailMapper.xml | 196 ++++++++++++++++++ .../resources/mapper/mes/MesBoxMapper.xml | 133 ++++++++++++ 12 files changed, 1268 insertions(+) create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxDetailController.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/domain/MesBox.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/domain/MesBoxDetail.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxDetailMapper.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxDetailService.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxDetailServiceImpl.java create mode 100644 op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java create mode 100644 op-modules/op-mes/src/main/resources/mapper/mes/MesBoxDetailMapper.xml create mode 100644 op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java new file mode 100644 index 000000000..6a17bb585 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java @@ -0,0 +1,110 @@ +package com.op.mes.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.system.api.domain.SysDictType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.mes.domain.MesBox; +import com.op.mes.service.IMesBoxService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 箱体类型Controller + * + * @author Open Platform + * @date 2024-08-20 + */ +@RestController +@RequestMapping("/mesBox") +public class MesBoxController extends BaseController { + @Autowired + private IMesBoxService mesBoxService; + +/** + * 查询箱体类型列表 + */ +@RequiresPermissions("mes:mesBox:list") +@GetMapping("/list") + public TableDataInfo list(MesBox mesBox) { + startPage(); + List list = mesBoxService.selectMesBoxList(mesBox); + return getDataTable(list); + } + + /** + * 导出箱体类型列表 + */ + @RequiresPermissions("mes:mesBox:export") + @Log(title = "箱体类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MesBox mesBox) { + List list = mesBoxService.selectMesBoxList(mesBox); + ExcelUtil util = new ExcelUtil(MesBox. class); + util.exportExcel(response, list, "箱体类型数据"); + } + + /** + * 获取箱体类型详细信息 + */ + @RequiresPermissions("mes:mesBox:query") + @GetMapping(value = "/{boxId}") + public AjaxResult getInfo(@PathVariable("boxId") Long boxId) { + return success(mesBoxService.selectMesBoxByBoxId(boxId)); + } + + /** + * 新增箱体类型 + */ + @RequiresPermissions("mes:mesBox:add") + @Log(title = "箱体类型", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MesBox mesBox) { + return toAjax(mesBoxService.insertMesBox(mesBox)); + } + + /** + * 修改箱体类型 + */ + @RequiresPermissions("mes:mesBox:edit") + @Log(title = "箱体类型", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MesBox mesBox) { + return toAjax(mesBoxService.updateMesBox(mesBox)); + } + + /** + * 删除箱体类型 + */ + @RequiresPermissions("mes:mesBox:remove") + @Log(title = "箱体类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{boxIds}") + public AjaxResult remove(@PathVariable Long[] boxIds) { + return toAjax(mesBoxService.deleteMesBoxByBoxIds(boxIds)); + } + + /** + * 获取字典选择框列表 + */ + @GetMapping("/optionSelect") + @DS("#header.poolName") + public AjaxResult optionSelect() { + List boxTypes = mesBoxService.selectDictTypeAll(); + return success(boxTypes); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxDetailController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxDetailController.java new file mode 100644 index 000000000..8e5324777 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxDetailController.java @@ -0,0 +1,115 @@ +package com.op.mes.controller; + +import java.util.ArrayList; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.StringUtils; +import com.op.system.api.domain.SysDictData; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.mes.domain.MesBoxDetail; +import com.op.mes.service.IMesBoxDetailService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 箱体数据Controller + * + * @author Open Platform + * @date 2024-08-20 + */ +@RestController +@RequestMapping("/mesBoxDetail") +public class MesBoxDetailController extends BaseController { + @Autowired + private IMesBoxDetailService mesBoxDetailService; + +/** + * 查询箱体数据列表 + */ +@RequiresPermissions("mes:mesBoxDetail:list") +@GetMapping("/list") + public TableDataInfo list(MesBoxDetail mesBoxDetail) { + startPage(); + List list = mesBoxDetailService.selectMesBoxDetailList(mesBoxDetail); + return getDataTable(list); + } + + /** + * 导出箱体数据列表 + */ + @RequiresPermissions("mes:mesBoxDetail:export") + @Log(title = "箱体数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MesBoxDetail mesBoxDetail) { + List list = mesBoxDetailService.selectMesBoxDetailList(mesBoxDetail); + ExcelUtil util = new ExcelUtil(MesBoxDetail. class); + util.exportExcel(response, list, "箱体数据数据"); + } + + /** + * 获取箱体数据详细信息 + */ + @RequiresPermissions("mes:mesBoxDetail:query") + @GetMapping(value = "/{boxCode}") + public AjaxResult getInfo(@PathVariable("boxCode") Long boxCode) { + return success(mesBoxDetailService.selectMesBoxDetailByBoxCode(boxCode)); + } + + /** + * 根据箱体类型查询箱体数据信息 + */ + @GetMapping(value = "/type/{boxType}") + @DS("#header.poolName") + public AjaxResult dictType(@PathVariable String boxType) { + List data = mesBoxDetailService.selectBoxDataByType(boxType); + if (StringUtils.isNull(data)) { + data = new ArrayList(); + } + return success(data); + } + + /** + * 新增箱体数据 + */ + @RequiresPermissions("mes:mesBoxDetail:add") + @Log(title = "箱体数据", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MesBoxDetail mesBoxDetail) { + return toAjax(mesBoxDetailService.insertMesBoxDetail(mesBoxDetail)); + } + + /** + * 修改箱体数据 + */ + @RequiresPermissions("mes:mesBoxDetail:edit") + @Log(title = "箱体数据", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MesBoxDetail mesBoxDetail) { + return toAjax(mesBoxDetailService.updateMesBoxDetail(mesBoxDetail)); + } + + /** + * 删除箱体数据 + */ + @RequiresPermissions("mes:mesBoxDetail:remove") + @Log(title = "箱体数据", businessType = BusinessType.DELETE) + @DeleteMapping("/{boxCodes}") + public AjaxResult remove(@PathVariable Long[] boxCodes) { + return toAjax(mesBoxDetailService.deleteMesBoxDetailByBoxCodes(boxCodes)); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesBox.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesBox.java new file mode 100644 index 000000000..5fa0f862e --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesBox.java @@ -0,0 +1,75 @@ +package com.op.mes.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 箱体类型对象 mes_box + * + * @author Open Platform + * @date 2024-08-20 + */ +public class MesBox extends BaseEntity { +private static final long serialVersionUID=1L; + + /** 字典主键 */ + private Long boxId; + + /** 字典名称 */ + @Excel(name = "字典名称") + private String boxName; + + /** 字典类型 */ + @Excel(name = "字典类型") + private String boxType; + + /** 状态(0正常 */ + @Excel(name = "状态", readConverterExp = "状态(0正常") + private String status; + + public void setBoxId(Long boxId){ + this.boxId = boxId; + } + + public Long getBoxId(){ + return boxId; + } + public void setBoxName(String boxName){ + this.boxName = boxName; + } + + public String getBoxName(){ + return boxName; + } + public void setBoxType(String boxType){ + this.boxType = boxType; + } + + public String getBoxType(){ + return boxType; + } + public void setStatus(String status){ + this.status = status; + } + + public String getStatus(){ + return status; + } + +@Override +public String toString(){ + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("boxId",getBoxId()) + .append("boxName",getBoxName()) + .append("boxType",getBoxType()) + .append("status",getStatus()) + .append("createBy",getCreateBy()) + .append("createTime",getCreateTime()) + .append("updateBy",getUpdateBy()) + .append("updateTime",getUpdateTime()) + .append("remark",getRemark()) + .toString(); + } + } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesBoxDetail.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesBoxDetail.java new file mode 100644 index 000000000..06f2040c9 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesBoxDetail.java @@ -0,0 +1,176 @@ +package com.op.mes.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 字典数据对象 mes_box_detail + * + * @author Open Platform + * @date 2024-08-20 + */ +public class MesBoxDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 箱型编码 + */ + private Long boxCode; + + /** + * 箱型排序 + */ + @Excel(name = "箱型排序") + private Long boxSort; + + /** + * 箱型标签 + */ + @Excel(name = "箱型标签") + private String boxLabel; + + /** + * 箱型关键字 + */ + @Excel(name = "箱型关键字") + private String boxKey; + + /** + * 箱型值 + */ + @Excel(name = "箱型值") + private String boxValue; + + /** + * 箱型类型 + */ + @Excel(name = "箱型类型") + private String boxType; + + /** + * 样式属性(其他样式扩展) + */ + @Excel(name = "样式属性", readConverterExp = "其=他样式扩展") + private String cssClass; + + /** + * 表格回显样式 + */ + @Excel(name = "表格回显样式") + private String listClass; + + /** + * 是否默认(Y是 + */ + @Excel(name = "是否默认", readConverterExp = "是否默认(Y是") + private String isDefault; + + /** + * 状态(0正常 + */ + @Excel(name = "状态", readConverterExp = "状态(0正常") + private String status; + + public void setBoxCode(Long boxCode) { + this.boxCode = boxCode; + } + + public Long getBoxCode() { + return boxCode; + } + + public void setBoxSort(Long boxSort) { + this.boxSort = boxSort; + } + + public Long getBoxSort() { + return boxSort; + } + + public void setBoxLabel(String boxLabel) { + this.boxLabel = boxLabel; + } + + public String getBoxLabel() { + return boxLabel; + } + + + public String getBoxKey() { + return boxKey; + } + + public void setBoxKey(String boxKey) { + this.boxKey = boxKey; + } + + public void setBoxValue(String boxValue) { + this.boxValue = boxValue; + } + + public String getBoxValue() { + return boxValue; + } + + public void setBoxType(String boxType) { + this.boxType = boxType; + } + + public String getBoxType() { + return boxType; + } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } + + public String getCssClass() { + return cssClass; + } + + public void setListClass(String listClass) { + this.listClass = listClass; + } + + public String getListClass() { + return listClass; + } + + public void setIsDefault(String isDefault) { + this.isDefault = isDefault; + } + + public String getIsDefault() { + return isDefault; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("boxCode", getBoxCode()) + .append("boxSort", getBoxSort()) + .append("boxLabel", getBoxLabel()) + .append("boxValue", getBoxValue()) + .append("boxType", getBoxType()) + .append("cssClass", getCssClass()) + .append("listClass", getListClass()) + .append("isDefault", getIsDefault()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxDetailMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxDetailMapper.java new file mode 100644 index 000000000..410f2d3c6 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxDetailMapper.java @@ -0,0 +1,61 @@ +package com.op.mes.mapper; + +import java.util.List; + +import com.op.mes.domain.MesBoxDetail; + +/** + * 字典数据Mapper接口 + * + * @author Open Platform + * @date 2024-08-20 + */ +public interface MesBoxDetailMapper { + /** + * 查询字典数据 + * + * @param boxCode 字典数据主键 + * @return 字典数据 + */ + public MesBoxDetail selectMesBoxDetailByBoxCode(Long boxCode); + + /** + * 查询字典数据列表 + * + * @param mesBoxDetail 字典数据 + * @return 字典数据集合 + */ + public List selectMesBoxDetailList(MesBoxDetail mesBoxDetail); + + /** + * 新增字典数据 + * + * @param mesBoxDetail 字典数据 + * @return 结果 + */ + public int insertMesBoxDetail(MesBoxDetail mesBoxDetail); + + /** + * 修改字典数据 + * + * @param mesBoxDetail 字典数据 + * @return 结果 + */ + public int updateMesBoxDetail(MesBoxDetail mesBoxDetail); + + /** + * 删除字典数据 + * + * @param boxCode 字典数据主键 + * @return 结果 + */ + public int deleteMesBoxDetailByBoxCode(Long boxCode); + + /** + * 批量删除字典数据 + * + * @param boxCodes 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBoxDetailByBoxCodes(Long[] boxCodes); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java new file mode 100644 index 000000000..46042a6eb --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java @@ -0,0 +1,63 @@ +package com.op.mes.mapper; + +import java.util.List; + +import com.op.mes.domain.MesBox; + +/** + * 箱体类型Mapper接口 + * + * @author Open Platform + * @date 2024-08-20 + */ +public interface MesBoxMapper { + /** + * 查询箱体类型 + * + * @param boxId 箱体类型主键 + * @return 箱体类型 + */ + public MesBox selectMesBoxByBoxId(Long boxId); + + /** + * 查询箱体类型列表 + * + * @param mesBox 箱体类型 + * @return 箱体类型集合 + */ + public List selectMesBoxList(MesBox mesBox); + + /** + * 新增箱体类型 + * + * @param mesBox 箱体类型 + * @return 结果 + */ + public int insertMesBox(MesBox mesBox); + + /** + * 修改箱体类型 + * + * @param mesBox 箱体类型 + * @return 结果 + */ + public int updateMesBox(MesBox mesBox); + + /** + * 删除箱体类型 + * + * @param boxId 箱体类型主键 + * @return 结果 + */ + public int deleteMesBoxByBoxId(Long boxId); + + /** + * 批量删除箱体类型 + * + * @param boxIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBoxByBoxIds(Long[] boxIds); + + List selectDictTypeAll(); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxDetailService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxDetailService.java new file mode 100644 index 000000000..b1ec26876 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxDetailService.java @@ -0,0 +1,64 @@ +package com.op.mes.service; + +import java.util.List; + +import com.op.mes.domain.MesBoxDetail; +import com.op.system.api.domain.SysDictData; + +/** + * 字典数据Service接口 + * + * @author Open Platform + * @date 2024-08-20 + */ +public interface IMesBoxDetailService { + /** + * 查询字典数据 + * + * @param boxCode 字典数据主键 + * @return 字典数据 + */ + public MesBoxDetail selectMesBoxDetailByBoxCode(Long boxCode); + + /** + * 查询字典数据列表 + * + * @param mesBoxDetail 字典数据 + * @return 字典数据集合 + */ + public List selectMesBoxDetailList(MesBoxDetail mesBoxDetail); + + /** + * 新增字典数据 + * + * @param mesBoxDetail 字典数据 + * @return 结果 + */ + public int insertMesBoxDetail(MesBoxDetail mesBoxDetail); + + /** + * 修改字典数据 + * + * @param mesBoxDetail 字典数据 + * @return 结果 + */ + public int updateMesBoxDetail(MesBoxDetail mesBoxDetail); + + /** + * 批量删除字典数据 + * + * @param boxCodes 需要删除的字典数据主键集合 + * @return 结果 + */ + public int deleteMesBoxDetailByBoxCodes(Long[] boxCodes); + + /** + * 删除字典数据信息 + * + * @param boxCode 字典数据主键 + * @return 结果 + */ + public int deleteMesBoxDetailByBoxCode(Long boxCode); + + List selectBoxDataByType(String boxType); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java new file mode 100644 index 000000000..7425c2f99 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java @@ -0,0 +1,63 @@ +package com.op.mes.service; + +import java.util.List; + +import com.op.mes.domain.MesBox; + +/** + * 箱体类型Service接口 + * + * @author Open Platform + * @date 2024-08-20 + */ +public interface IMesBoxService { + /** + * 查询箱体类型 + * + * @param boxId 箱体类型主键 + * @return 箱体类型 + */ + public MesBox selectMesBoxByBoxId(Long boxId); + + /** + * 查询箱体类型列表 + * + * @param mesBox 箱体类型 + * @return 箱体类型集合 + */ + public List selectMesBoxList(MesBox mesBox); + + /** + * 新增箱体类型 + * + * @param mesBox 箱体类型 + * @return 结果 + */ + public int insertMesBox(MesBox mesBox); + + /** + * 修改箱体类型 + * + * @param mesBox 箱体类型 + * @return 结果 + */ + public int updateMesBox(MesBox mesBox); + + /** + * 批量删除箱体类型 + * + * @param boxIds 需要删除的箱体类型主键集合 + * @return 结果 + */ + public int deleteMesBoxByBoxIds(Long[] boxIds); + + /** + * 删除箱体类型信息 + * + * @param boxId 箱体类型主键 + * @return 结果 + */ + public int deleteMesBoxByBoxId(Long boxId); + + List selectDictTypeAll(); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxDetailServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxDetailServiceImpl.java new file mode 100644 index 000000000..04675f787 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxDetailServiceImpl.java @@ -0,0 +1,106 @@ +package com.op.mes.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.system.api.domain.SysDictData; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.mes.mapper.MesBoxDetailMapper; +import com.op.mes.domain.MesBoxDetail; +import com.op.mes.service.IMesBoxDetailService; + +/** + * 字典数据Service业务层处理 + * + * @author Open Platform + * @date 2024-08-20 + */ +@Service +public class MesBoxDetailServiceImpl implements IMesBoxDetailService { + @Autowired + private MesBoxDetailMapper mesBoxDetailMapper; + + /** + * 查询字典数据 + * + * @param boxCode 字典数据主键 + * @return 字典数据 + */ + @Override + @DS("#header.poolName") + public MesBoxDetail selectMesBoxDetailByBoxCode(Long boxCode) { + return mesBoxDetailMapper.selectMesBoxDetailByBoxCode(boxCode); + } + + /** + * 查询字典数据列表 + * + * @param mesBoxDetail 字典数据 + * @return 字典数据 + */ + @Override + @DS("#header.poolName") + public List selectMesBoxDetailList(MesBoxDetail mesBoxDetail) { + return mesBoxDetailMapper.selectMesBoxDetailList(mesBoxDetail); + } + + /** + * 新增字典数据 + * + * @param mesBoxDetail 字典数据 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertMesBoxDetail(MesBoxDetail mesBoxDetail) { + mesBoxDetail.setCreateBy(SecurityUtils.getUsername()); + mesBoxDetail.setCreateTime(DateUtils.getNowDate()); + return mesBoxDetailMapper.insertMesBoxDetail(mesBoxDetail); + } + + /** + * 修改字典数据 + * + * @param mesBoxDetail 字典数据 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateMesBoxDetail(MesBoxDetail mesBoxDetail) { + mesBoxDetail.setUpdateBy(SecurityUtils.getUsername()); + mesBoxDetail.setUpdateTime(DateUtils.getNowDate()); + return mesBoxDetailMapper.updateMesBoxDetail(mesBoxDetail); + } + + /** + * 批量删除字典数据 + * + * @param boxCodes 需要删除的字典数据主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteMesBoxDetailByBoxCodes(Long[] boxCodes) { + return mesBoxDetailMapper.deleteMesBoxDetailByBoxCodes(boxCodes); + } + + /** + * 删除字典数据信息 + * + * @param boxCode 字典数据主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteMesBoxDetailByBoxCode(Long boxCode) { + return mesBoxDetailMapper.deleteMesBoxDetailByBoxCode(boxCode); + } + + @Override + public List selectBoxDataByType(String boxType) { + return null; + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java new file mode 100644 index 000000000..3f1a05e2c --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java @@ -0,0 +1,106 @@ +package com.op.mes.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.mes.mapper.MesBoxMapper; +import com.op.mes.domain.MesBox; +import com.op.mes.service.IMesBoxService; + +/** + * 箱体类型Service业务层处理 + * + * @author Open Platform + * @date 2024-08-20 + */ +@Service +public class MesBoxServiceImpl implements IMesBoxService { + @Autowired + private MesBoxMapper mesBoxMapper; + + /** + * 查询箱体类型 + * + * @param boxId 箱体类型主键 + * @return 箱体类型 + */ + @Override + @DS("#header.poolName") + public MesBox selectMesBoxByBoxId(Long boxId) { + return mesBoxMapper.selectMesBoxByBoxId(boxId); + } + + /** + * 查询箱体类型列表 + * + * @param mesBox 箱体类型 + * @return 箱体类型 + */ + @Override + @DS("#header.poolName") + public List selectMesBoxList(MesBox mesBox) { + return mesBoxMapper.selectMesBoxList(mesBox); + } + + /** + * 新增箱体类型 + * + * @param mesBox 箱体类型 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertMesBox(MesBox mesBox) { + mesBox.setUpdateBy(SecurityUtils.getUsername()); + mesBox.setCreateTime(DateUtils.getNowDate()); + return mesBoxMapper.insertMesBox(mesBox); + } + + /** + * 修改箱体类型 + * + * @param mesBox 箱体类型 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateMesBox(MesBox mesBox) { + mesBox.setUpdateBy(SecurityUtils.getUsername()); + mesBox.setUpdateTime(DateUtils.getNowDate()); + return mesBoxMapper.updateMesBox(mesBox); + } + + /** + * 批量删除箱体类型 + * + * @param boxIds 需要删除的箱体类型主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteMesBoxByBoxIds(Long[] boxIds) { + return mesBoxMapper.deleteMesBoxByBoxIds(boxIds); + } + + /** + * 删除箱体类型信息 + * + * @param boxId 箱体类型主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteMesBoxByBoxId(Long boxId) { + return mesBoxMapper.deleteMesBoxByBoxId(boxId); + } + + @Override + @DS("#header.poolName") + public List selectDictTypeAll() { + return mesBoxMapper.selectDictTypeAll(); + } +} diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxDetailMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxDetailMapper.xml new file mode 100644 index 000000000..91244db29 --- /dev/null +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxDetailMapper.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + select box_code, box_sort, box_label, box_key, box_value, box_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark from mes_box_detail + + + + + + + + insert into mes_box_detail + + box_code, + + box_sort, + + box_label, + + box_key, + + box_value, + + box_type, + + css_class, + + list_class, + + is_default, + + status, + + create_by, + + create_time, + + update_by, + + update_time, + + remark, + + + + #{boxCode}, + + #{boxSort}, + + #{boxLabel}, + + #{boxKey}, + + #{boxValue}, + + #{boxType}, + + #{cssClass}, + + #{listClass}, + + #{isDefault}, + + #{status}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + #{remark}, + + + + + + update mes_box_detail + + box_sort = + #{boxSort}, + + box_label = + #{boxLabel}, + + box_key = + #{boxKey}, + + box_value = + #{boxValue}, + + box_type = + #{boxType}, + + css_class = + #{cssClass}, + + list_class = + #{listClass}, + + is_default = + #{isDefault}, + + status = + #{status}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + remark = + #{remark}, + + + where box_code = #{boxCode} + + + + delete from mes_box_detail where box_code = #{boxCode} + + + + delete from mes_box_detail where box_code in + + #{boxCode} + + + diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml new file mode 100644 index 000000000..6dc55a129 --- /dev/null +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + select box_id, box_name, box_type, status, create_by, create_time, update_by, update_time, remark from mes_box + + + + + + + + insert into mes_box + + box_id, + + box_name, + + box_type, + + status, + + create_by, + + create_time, + + update_by, + + update_time, + + remark, + + + + #{boxId}, + + #{boxName}, + + #{boxType}, + + #{status}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + #{remark}, + + + + + + update mes_box + + box_name = + #{boxName}, + + box_type = + #{boxType}, + + status = + #{status}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + remark = + #{remark}, + + + where box_id = #{boxId} + + + + + + delete from mes_box where box_id = #{boxId} + + + + delete from mes_box where box_id in + + #{boxId} + + + From 99c3e0e3e7869204fbd29e57158da0387ba6fc94 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Wed, 21 Aug 2024 15:15:02 +0800 Subject: [PATCH 21/22] =?UTF-8?q?2024-08-21=20=E8=AE=A1=E5=88=92-=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=B7=A5=E5=8D=95=E7=AE=A1=E7=90=86-=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E6=A0=87=E8=AF=86=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProOrderWorkorderController.java | 6 +++ .../com/op/plan/domain/ProOrderWorkorder.java | 9 ++++ .../plan/mapper/ProOrderWorkorderMapper.java | 7 +++ .../service/IProOrderWorkorderService.java | 2 + .../impl/ProOrderWorkorderServiceImpl.java | 54 +++++++++++++++++-- .../mapper/plan/ProOrderWorkorderMapper.xml | 35 ++++++++++-- 6 files changed, 103 insertions(+), 10 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 b226c0d40..b97567057 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 @@ -314,4 +314,10 @@ public class ProOrderWorkorderController extends BaseController { public List getIdCardList(@RequestBody ProOrderWorkorder proOrderWorkorder) { return proOrderWorkorderService.getIdCardList(proOrderWorkorder); } + + //获取批次号 + @GetMapping("/getBatchCode/{workorderId}") + public List getBatchCode(@PathVariable("workorderId") String workorderId) { + return proOrderWorkorderService.getBatchCode(workorderId); + } } 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 c29121fe9..35f2f893c 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 @@ -339,6 +339,8 @@ public class ProOrderWorkorder extends TreeEntity { private String palletCode; private String recordId; + private String addFlag; + public String getRecordId() { return recordId; } @@ -787,6 +789,13 @@ public class ProOrderWorkorder extends TreeEntity { this.sortNo = sortNo; } + public void setAddFlag(String addFlag) { + this.addFlag = addFlag; + } + public String getAddFlag() { + return addFlag; + } + @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/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index d19835380..c99b5c2d0 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 @@ -237,5 +237,12 @@ public interface ProOrderWorkorderMapper { List getPreIdCardList(ProOrderWorkorder proOrderWorkorder); int addBatchPallet(@Param("list")List dtos); + + Integer selectPalletByUniqueBarCode(ProOrderWorkorder pw); + + //void addOnePallet(ProOrderWorkorder pw);//新增一个标识卡 + void updateOnePallet(ProOrderWorkorder pw);//更新一个标识卡 + + List getBatchCode(String workorderId);//获取批次号下拉框 } 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 bc8f05c64..0b6c1d9b2 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 @@ -151,4 +151,6 @@ public interface IProOrderWorkorderService { List getProdLineList(); List getIdCardList(ProOrderWorkorder proOrderWorkorder); + + List getBatchCode(String workorderId);//获取批次号 } 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 d4ac68ba8..0eed90e75 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,13 +1259,18 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return proOrderWorkorderBatchMapper.getProdLineList(); } + @Override + @DS("#header.poolName") + public List getBatchCode(String workorderId) { + return proOrderWorkorderMapper.getBatchCode(workorderId); + } + @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){//说明没生成过标识卡 + if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null && proOrderWorkorder.getAddFlag().equals("0")){//说明没生成过标识卡 增打标志0 ProOrderWorkorder pw = null; int i = 1; Date nowDate = DateUtils.getNowDate(); @@ -1288,8 +1293,10 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { pw.setBatchQuantity(pn); } pw.setPalletNo(i++); - pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo()); + pw.setPalletCode(pow.getWorkorderCode() + "-" + pow.getBatchCode() + "-" + pw.getPalletNo());//workorderCode 实际上是订单号 pw.setCreateTime(nowDate); + pw.setCreateBy(SecurityUtils.getUsername()); + pw.setAddFlag("0");//增打标志 dtos.add(pw); pall = pall.subtract(pn); } @@ -1298,10 +1305,47 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { if(!CollectionUtils.isEmpty(dtos)){ proOrderWorkorderMapper.addBatchPallet(dtos); } - }else{ + }else if(proOrderWorkorder.getAddFlag().equals("1")){ + //增打 增打过来的会有批次号、批次数量、板次 增打标志1 根据唯一二维码去判断是不是生成过标识卡 有增打标志 + Integer palletNo = proOrderWorkorder.getPalletNo();//板次 + proOrderWorkorder.setPalletNo(null);//板次置空 去查询 获取产品等信息 + List dtos1 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); + ProOrderWorkorder pow = dtos1.get(0); + proOrderWorkorder.setPalletNo(palletNo); + String uniqueBarCode = pow.getWorkorderCode() + "-" + proOrderWorkorder.getBatchCode() + "-" + palletNo;//订单号+批次+板次 唯一二维码标识 + ProOrderWorkorder pw = new ProOrderWorkorder(); + pw.setProductName(pow.getProductName());//产品名 + pw.setWorkorderCode(pow.getWorkorderCode());//工单号 实际是订单号 + pw.setBatchCode(proOrderWorkorder.getBatchCode());//批次号 + pw.setProductDateStr(pow.getProductDateStr());//生产日期 + pw.setRecordId(IdUtils.fastSimpleUUID());//记录 + pw.setBatchQuantity(proOrderWorkorder.getBatchQuantity());//批次数量 + pw.setPalletNo(palletNo);//板次 + pw.setPalletCode(uniqueBarCode);//唯一二维码 + pw.setUpdateTime(DateUtils.getNowDate()); + pw.setUpdateBy(SecurityUtils.getUsername()); + pw.setCreateTime(DateUtils.getNowDate()); + pw.setCreateBy(SecurityUtils.getUsername()); + + pw.setAddFlag("0"); + Integer supplementMsg = proOrderWorkorderMapper.selectPalletByUniqueBarCode(pw);//补打标志 + pw.setAddFlag("1"); + Integer addMsg = proOrderWorkorderMapper.selectPalletByUniqueBarCode(pw);//增打标志 + + List dto = new ArrayList<>(); + if(supplementMsg == 0 && addMsg == 0){//没有正常生成、补打过 没有增打过 + dto.add(pw); + proOrderWorkorderMapper.addBatchPallet(dto); + }else if(supplementMsg == 0 && addMsg >= 1){//没有正常生成过、补打过 增打过 + proOrderWorkorderMapper.updateOnePallet(pw); + }else if(supplementMsg >= 1){//补打过、正常打过 没有增打过 + return dto; + } + dtos.add(pw); + + }else if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() != null && proOrderWorkorder.getAddFlag().equals("0")){ 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 c054fdd74..ef9f462d5 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 @@ -819,16 +819,41 @@ ) + + update pro_order_workorder_batch_pallet + + quantity = #{batchQuantity}, + update_by = #{updateBy}, + update_time = #{updateTime}, + factory_code = #{factoryCode}, + + where pallet_code = #{palletCode} + + + INSERT INTO pro_order_workorder_batch_pallet ( - id,workorder_code,batch_code,quantity,pallet_num, - create_time,pallet_code + id,workorder_code,batch_code,quantity,pallet_num,create_by, + create_time,pallet_code,add_flag )VALUES - ( + ( #{d.recordId},#{d.workorderCode},#{d.batchCode},#{d.batchQuantity},#{d.palletNo}, - #{d.createTime},#{d.palletCode} - ) + #{d.createBy},#{d.createTime},#{d.palletCode},#{d.addFlag} + ) From 4bae9ca274cc687d2584db8e19fb135475a44222 Mon Sep 17 00:00:00 2001 From: shaoyong Date: Wed, 21 Aug 2024 17:18:15 +0800 Subject: [PATCH 22/22] =?UTF-8?q?=E5=9E=9B=E5=9E=8B=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/op/wms/domain/BaseProduct.java | 9 +++++++++ .../main/java/com/op/wms/domain/BaseProductAttached.java | 9 +++++++++ .../resources/mapper/wms/BaseProductAttachedMapper.xml | 5 ++++- .../src/main/resources/mapper/wms/BaseProductMapper.xml | 5 +++-- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java index 129af20e9..02bc8cbbd 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java @@ -355,6 +355,15 @@ public class BaseProduct extends BaseEntity { private String mvgr5; private String palletNum; private String warehouseCycle; + private String packType; + + public String getPackType() { + return packType; + } + + public void setPackType(String packType) { + this.packType = packType; + } public String getMvgr5() { return mvgr5; diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProductAttached.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProductAttached.java index cf47713e2..f0d05c8ff 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProductAttached.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProductAttached.java @@ -124,6 +124,15 @@ public class BaseProductAttached extends BaseEntity { private String other; private String warehouseCycle; private String palletNum; + private String packType; + + public String getPackType() { + return packType; + } + + public void setPackType(String packType) { + this.packType = packType; + } public String getPalletNum() { return palletNum; diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductAttachedMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductAttachedMapper.xml index 540b1b0af..513633c3a 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductAttachedMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductAttachedMapper.xml @@ -88,6 +88,7 @@ man_standar, warehouse_cycle, pallet_num, + pack_type, spray_way, blank_diameter, blank_no, @@ -110,6 +111,7 @@ #{manStandar}, #{warehouseCycle}, #{palletNum}, + #{packType}, #{sprayWay}, #{blankDiameter}, #{blankNo}, @@ -155,7 +157,8 @@ iei = #{iei}, man_standar = #{manStandar}, warehouse_cycle = #{warehouseCycle}, - pallet_num = #{palletNum} + pallet_num = #{palletNum}, + pack_type = #{packType} where id = #{id} diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml index 6337fe2e5..b2f48290d 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml @@ -68,7 +68,7 @@ - + @@ -185,7 +185,8 @@ bpa.support_no, bpa.pvc, bpa.support_plate, - bpa.other,bpa.warehouse_cycle,bpa.pallet_num palletNum + bpa.other,bpa.warehouse_cycle,bpa.pallet_num palletNum, + bpa.pack_type from base_product bp left join base_product_attached bpa on bpa.product_code = right(bp.product_code,11) where product_id = #{productId}