From db35521ca68da449acdfa73b22527a7989fa740e Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 15 Aug 2024 00:06:41 +0800 Subject: [PATCH 01/28] =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=A3=80=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/open/controller/OpenController.java | 1 + .../java/com/op/open/service/OpenService.java | 3 - .../op/open/service/impl/OpenServiceImpl.java | 5 + .../QcCheckTaskInventoryController.java | 18 ++- .../com/op/quality/domain/OACheckTaskDTO.java | 104 ++++++++++++++++++ .../service/IQcCheckTaskInventoryService.java | 3 + .../service/IQcStaticTableService.java | 2 + .../impl/QcCheckTaskInventoryServiceImpl.java | 16 ++- 8 files changed, 146 insertions(+), 6 deletions(-) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/OACheckTaskDTO.java diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java index 6a1acdf5d..97a431b33 100644 --- a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java +++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java @@ -1,5 +1,6 @@ package com.op.open.controller; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; import com.op.common.core.domain.R; diff --git a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java index 6b4caf766..8baf08324 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java @@ -1,13 +1,10 @@ package com.op.open.service; -import com.op.common.core.domain.R; import com.op.common.core.web.domain.AjaxResult; import com.op.system.api.domain.device.EquRepairOrderDTO; import com.op.system.api.domain.dto.WCSDTO; import com.op.system.api.domain.dto.WechartDTO; import com.op.system.api.domain.mes.BaseProductDTO; -import com.op.system.api.domain.mes.MesReportWorkDTO; -import com.op.system.api.domain.quality.QcCheckTaskDTO; import com.op.system.api.domain.quality.QcCheckTaskProduceDTO; import java.util.List; diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index b257dbf88..ddadec857 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -37,10 +37,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; 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 51a466081..252af4e1b 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 @@ -5,11 +5,14 @@ import java.time.format.DateTimeFormatter; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson2.JSONObject; import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.quality.domain.OACheckTaskDTO; import com.op.quality.domain.QcCheckTaskIncome; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -141,4 +144,17 @@ public class QcCheckTaskInventoryController extends BaseController { qcCheckTaskInventoryService.createCCTask(); return R.ok(); } + + //给oa提供的发起库存检验接口 + @PostMapping("/createCCTaskFromOA") + public AjaxResult createCCTaskFromOA(@RequestBody OACheckTaskDTO dto) { + logger.info("oa发起库存检验参数"+ JSONObject.toJSONString(dto)); + if(StringUtils.isBlank(dto.getFactoryCode())){ + error("[factoryCode is null]"); + } + if(CollectionUtils.isEmpty(dto.getDetail())){ + error("[detail 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 new file mode 100644 index 000000000..7056e29bc --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/OACheckTaskDTO.java @@ -0,0 +1,104 @@ +package com.op.quality.domain; + +import com.op.common.core.web.domain.BaseEntity; + +import java.util.List; + +/** + * oa 发起库存检验 + * + * @author Open Platform + * @date 2023-10-31 + */ +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 List detail; + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getApplNo() { + return applNo; + } + + public void setApplNo(String applNo) { + this.applNo = applNo; + } + + public String getCheckManCode() { + return checkManCode; + } + + public void setCheckManCode(String checkManCode) { + this.checkManCode = checkManCode; + } + + public String getCheckManName() { + return checkManName; + } + + public void setCheckManName(String checkManName) { + this.checkManName = checkManName; + } + + public String getQcMgr() { + return qcMgr; + } + + public void setQcMgr(String qcMgr) { + this.qcMgr = qcMgr; + } + + public String getZlMgr() { + return zlMgr; + } + + public void setZlMgr(String zlMgr) { + this.zlMgr = zlMgr; + } + + 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/service/IQcCheckTaskInventoryService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskInventoryService.java index 6fc0e402c..4abf3a12f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskInventoryService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskInventoryService.java @@ -3,6 +3,7 @@ package com.op.quality.service; import java.util.List; import com.op.common.core.web.domain.AjaxResult; +import com.op.quality.domain.OACheckTaskDTO; import com.op.quality.domain.QcCheckTaskIncome; import com.op.quality.domain.QcCheckTaskInventory; @@ -64,4 +65,6 @@ public interface IQcCheckTaskInventoryService { List getPutInOrder(QcCheckTaskInventory qcCheckTaskInventory); AjaxResult createCCTask(); + + AjaxResult createCCTaskFromOA(OACheckTaskDTO dto); } 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 08bae2c20..19c902d89 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 @@ -49,4 +49,6 @@ public interface IQcStaticTableService { QcStaticTable getDLTableCPKInfo(QcStaticTable qcStaticTable); List getProjectList(String checkType); + + QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable); } 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 56da41be7..29433e746 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 @@ -28,8 +28,6 @@ import com.op.system.api.RemoteUserService; import com.op.system.api.domain.SysNoticeGroup; import com.op.system.api.domain.SysUser; import com.op.system.api.domain.dto.WechartDTO; -import com.op.system.api.domain.mes.ProOrderWorkorderDTO; -import com.op.system.api.domain.quality.QcUserMaterialDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -386,6 +384,20 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer return success(); } + @Override + public AjaxResult createCCTaskFromOA(OACheckTaskDTO dto) { + List dtos = dto.getDetail(); + int m=0; + for(QcCheckTaskInventory ccTask:dtos){ + ccTask.setAttr1(dto.getApplNo());//申请编码 + ccTask.setCheckType("checkTypeCC");//库存检验 + ccTask.setFactoryCode(dto.getFactoryCode()); + m += insertQcCheckTaskInventory(ccTask); + } + logger.info("++++++++++++oa发起仓库检验任务生成" + m + "++++++++++++++"); + return success(); + } + public void createCCFunc(String poolName){ DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key QcCheckTaskInventory qoPutIn = new QcCheckTaskInventory(); From 18cbab3c497ea13d2fc2eb202a41ac1561dd6414 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 15 Aug 2024 00:10:01 +0800 Subject: [PATCH 02/28] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QcStaticTableController.java | 9 ++++++++- .../com/op/quality/domain/QcStaticTable.java | 18 ++++++++++++++++++ .../op/quality/mapper/QcStaticTableMapper.java | 4 ++++ .../service/impl/QcStaticTableServiceImpl.java | 17 +++++++++++++++++ .../mapper/quality/QcStaticTableMapper.xml | 8 ++++++++ 5 files changed, 55 insertions(+), 1 deletion(-) 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 16fd477ac..1afabfbec 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 @@ -487,5 +487,12 @@ public class QcStaticTableController extends BaseController { } } } - + /** + * 定量值分析--表头--产品名称 + **/ + @GetMapping("/getTableHzTitle") + @Log(title = "检验分类汇总", businessType = BusinessType.QUERY) + public QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable) { + return qcStaticTableService.getTableHzTitle(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 a3618395c..87f6447da 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 @@ -110,6 +110,24 @@ public class QcStaticTable extends BaseEntity { private String[] projectNoArray; private BigDecimal upperDiff; private BigDecimal downDiff; + private List columns1; + private List columns2; + + public List getColumns1() { + return columns1; + } + + public void setColumns1(List columns1) { + this.columns1 = columns1; + } + + public List getColumns2() { + return columns2; + } + + public void setColumns2(List columns2) { + this.columns2 = columns2; + } public String getIncomeTimeStr() { return incomeTimeStr; 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 5de6c48bd..9707784a2 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 @@ -81,4 +81,8 @@ public interface QcStaticTableMapper { QcStaticTable getUpAndDown(QcStaticTable qcStaticTable); @MapKey("detailId") Map defectMap(QcStaticTable qcStaticTable); + + List getTableHzTitle(QcStaticTable qcStaticTable); + + List getTableHzTitle2(QcStaticTable qcStaticTable); } 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 75131a865..00430ee2e 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 @@ -783,6 +783,23 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return qcStaticTableMapper.getProjectList(checkType); } + @Override + @DS("#header.poolName") + public QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable) { + QcStaticTable dto = new QcStaticTable(); + qcStaticTable.setDataType("unqualified_remark"); + qcStaticTable.setRemark("checkTypeCP"); + List cols1 = qcStaticTableMapper.getTableHzTitle(qcStaticTable); + if(CollectionUtils.isEmpty(cols1)){ + return dto; + } + dto.setColumns1(cols1); + List cols2 = qcStaticTableMapper.getTableHzTitle2(qcStaticTable); + + dto.setColumns2(cols2); + return dto; + } + private List getHourProductionTitle(QcStaticTable qcStaticTable) { // 返回的日期集合 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 88166b58b..2a64281d1 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 @@ -490,4 +490,12 @@ where qctd.del_flag = '0' and qct.order_no = #{orderNo} GROUP by qctd.belong_to,qctd.belong_to_detail + + From fe71c70edb68e05fce572390d85b7035bdfd1438 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 15 Aug 2024 09:19:17 +0800 Subject: [PATCH 03/28] bug --- .../service/impl/QcInterfaceServiceImpl.java | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java index 067582781..d9d000fb4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java @@ -210,50 +210,50 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { qcInterface.setYmd(nowYMD); Map dtoMap = new HashMap<>(); - qcInterface.setYmdType("dd"); - QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); - if (hz0 != null) { - dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); - }else{ - dtoMap.put("todayPro", "0"); - } - QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); - if (hz1 != null) { - dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); - dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); - BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) - .subtract(new BigDecimal(hz1.getNoOkQuality())) - ) - .multiply(new BigDecimal(100)) - .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); - dtoMap.put("todayOkRate", tOkRate + "%"); - } - - qcInterface.setYmdType("mm"); - QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); - if (hz20 != null) { - dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); - }else{ - dtoMap.put("monthPro", "0"); - } - QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); - if (hz2 != null) { - dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); - BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) - .subtract(new BigDecimal(hz2.getNoOkQuality())) - ) - .multiply(new BigDecimal(100)) - .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); - dtoMap.put("monthOkRate", tOkRate2 + "%"); - } -// /**质量看板测试开始**/ -// dtoMap.put("todayPro", "3800"); -// dtoMap.put("todaySample", "50"); -// dtoMap.put("todayNoOk", "2"); -// dtoMap.put("todayOkRate", "96.00%"); -// dtoMap.put("monthPro", "83600"); -// dtoMap.put("monthNoOk", "30"); -// dtoMap.put("monthOkRate", "99.96%"); +// qcInterface.setYmdType("dd"); +// QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); +// if (hz0 != null) { +// dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); +// }else{ +// dtoMap.put("todayPro", "0"); +// } +// QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); +// if (hz1 != null) { +// dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); +// dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); +// BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) +// .subtract(new BigDecimal(hz1.getNoOkQuality())) +// ) +// .multiply(new BigDecimal(100)) +// .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); +// dtoMap.put("todayOkRate", tOkRate + "%"); +// } +// +// qcInterface.setYmdType("mm"); +// QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); +// if (hz20 != null) { +// dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); +// }else{ +// dtoMap.put("monthPro", "0"); +// } +// QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); +// if (hz2 != null) { +// dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); +// BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) +// .subtract(new BigDecimal(hz2.getNoOkQuality())) +// ) +// .multiply(new BigDecimal(100)) +// .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); +// dtoMap.put("monthOkRate", tOkRate2 + "%"); +// } + /**质量看板测试开始**/ + dtoMap.put("todayPro", "3800"); + dtoMap.put("todaySample", "50"); + dtoMap.put("todayNoOk", "2"); + dtoMap.put("todayOkRate", "96.00%"); + dtoMap.put("monthPro", "83600"); + dtoMap.put("monthNoOk", "30"); + dtoMap.put("monthOkRate", "99.96%"); // /**质量看板测试结束**/ return dtoMap; } From b298ed613676e8eb17e798c2fa12109b59765a11 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 15 Aug 2024 09:55:15 +0800 Subject: [PATCH 04/28] bug2 --- .../service/impl/QcInterfaceServiceImpl.java | 97 ++++++++++--------- .../mapper/quality/QcInterfaceMapper.xml | 10 +- 2 files changed, 62 insertions(+), 45 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java index d9d000fb4..321d0a739 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java @@ -210,50 +210,59 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { qcInterface.setYmd(nowYMD); Map dtoMap = new HashMap<>(); -// qcInterface.setYmdType("dd"); -// QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); -// if (hz0 != null) { -// dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); -// }else{ -// dtoMap.put("todayPro", "0"); -// } -// QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); -// if (hz1 != null) { -// dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); -// dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); -// BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) -// .subtract(new BigDecimal(hz1.getNoOkQuality())) -// ) -// .multiply(new BigDecimal(100)) -// .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); -// dtoMap.put("todayOkRate", tOkRate + "%"); -// } -// -// qcInterface.setYmdType("mm"); -// QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); -// if (hz20 != null) { -// dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); -// }else{ -// dtoMap.put("monthPro", "0"); -// } -// QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); -// if (hz2 != null) { -// dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); -// BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) -// .subtract(new BigDecimal(hz2.getNoOkQuality())) -// ) -// .multiply(new BigDecimal(100)) -// .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); -// dtoMap.put("monthOkRate", tOkRate2 + "%"); -// } - /**质量看板测试开始**/ - dtoMap.put("todayPro", "3800"); - dtoMap.put("todaySample", "50"); - dtoMap.put("todayNoOk", "2"); - dtoMap.put("todayOkRate", "96.00%"); - dtoMap.put("monthPro", "83600"); - dtoMap.put("monthNoOk", "30"); - dtoMap.put("monthOkRate", "99.96%"); + qcInterface.setYmdType("dd"); + QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); + if (hz0 != null) { + dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); + }else{ + dtoMap.put("todayPro", "0"); + } + QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); + if (hz1 != null) { + dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); + dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); + if(!hz1.getSampleQuality().equals("0.00")){ + BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) + .subtract(new BigDecimal(hz1.getNoOkQuality())) + ) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); + dtoMap.put("todayOkRate", tOkRate + "%"); + }else{ + dtoMap.put("todayOkRate", "0%"); + } + + } + + qcInterface.setYmdType("mm"); + QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); + if (hz20 != null) { + dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); + }else{ + dtoMap.put("monthPro", "0"); + } + QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); + if (hz2 != null) { + dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); + if(!hz2.getSampleQuality().equals("0.00")){ + BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) + .subtract(new BigDecimal(hz2.getNoOkQuality())) + ) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); + dtoMap.put("monthOkRate", tOkRate2 + "%"); + }else{ + dtoMap.put("monthOkRate", "0%"); + } + } +// /**质量看板测试开始**/ +// dtoMap.put("todayPro", "3800"); +// dtoMap.put("todaySample", "50"); +// dtoMap.put("todayNoOk", "2"); +// dtoMap.put("todayOkRate", "96.00%"); +// dtoMap.put("monthPro", "83600"); +// dtoMap.put("monthNoOk", "30"); +// dtoMap.put("monthOkRate", "99.96%"); // /**质量看板测试结束**/ return dtoMap; } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml index 0f3340246..119013bbc 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml @@ -180,7 +180,15 @@ from qc_check_task_detail qctd left join qc_check_task qct on qctd.belong_to = qct.record_id where qct.type_code = #{typeCode} and qctd.status = 'N' - and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11) + + and CONVERT(varchar(4),qct.income_time, 120) = SUBSTRING(#{ymd},0,5) + + + and CONVERT(varchar(7),qct.income_time, 120) = SUBSTRING(#{ymd},0,8) + + + and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11) + order by qctd.update_time desc + + - + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml index d05605abb..74bd37ba1 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml @@ -414,5 +414,19 @@ AND mes_report_work.batch=#{attribute2} AND mes_report_work.parent_order = '0' + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml index c1791b424..838cd9b35 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml @@ -240,5 +240,6 @@ and product_date= #{productDate} and siteCode = #{siteCode} + order by create_time desc From f15bb690cb52a68c734fec77f39634f7ef6b9cac Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 15 Aug 2024 16:14:25 +0800 Subject: [PATCH 08/28] oa --- .../main/resources/mapper/plan/ProOrderWorkorderMapper.xml | 2 +- .../quality/service/impl/QcCheckUnqualifiedServiceImpl.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) 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 72b80400f..64ab22090 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 powbp.pallet_num + order by CAST(powbp.pallet_num AS INT) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java index 7c4b31480..df0b88f55 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java @@ -361,8 +361,9 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService mainObject.append(",\"SFXYZG\":"+"\""+task.getSfxyzg()+"\"");//*是否需要主管审核 1否 0是 if("0".equals(task.getSfxyzg())){ mainObject.append(",\"PGZG\":"+"\""+task.getPgzg()+"\"");//QC主管:SFXYZG字段为"是",则此项选择QC主管信息 - mainObject.append(",\"PGZR\":"+"\""+task.getPgzr()+"\"");//质量主管 660:朱继新 - } + }; + mainObject.append(",\"PGZR\":"+"\""+task.getPgzr()+"\"");//质量主管 660:朱继新 + mainObject.append(",\"SFGYSWT\":"+"\""+task.getSfgyswt()+"\"");//*是否供应商问题 1非供应商问题 0是供应商问题 mainObject.append("}"); From cfbdc424ae9aa93e760bc80ff9763ef63dcb72f4 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Thu, 15 Aug 2024 16:48:44 +0800 Subject: [PATCH 09/28] =?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 --- .../op/wms/controller/WmsToWCSmissionController.java | 2 +- .../wms/service/impl/WmsProductPutServiceImpl.java | 12 +++++++++++- .../resources/mapper/wms/WmsProductPutMapper.xml | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) 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 5538edd91..110160a39 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 @@ -310,7 +310,7 @@ public class WmsToWCSmissionController { if (wmsProductPut1==null) { return AjaxResult.error("标识卡未绑定"); } - return AjaxResult.success(); + return AjaxResult.success(wmsProductPut1); } 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 dcafd9caf..7f23b589f 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 @@ -1041,13 +1041,23 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { wmsProductPut.setAttribute2(attribute2); wmsProductPut.setAttribute3(attribute3); WmsProductPut wmsProductPut1 = wmsProductPutMapper.WmsProductPutByWorkOrderqueryBS(wmsProductPut); + WmsProductPut wmsProductPut2 =new WmsProductPut(); + wmsProductPut2.setWorkOrder(attribute1); + wmsProductPut2.setBatchNumber(attribute2); + wmsProductPut2.setPallet(attribute3); + WmsProductPut wmsProductPut3= wmsProductPutMapper.selectProOrderWorkorderBatchPallet(wmsProductPut2); + //wmsProductPut.setProductCode(wmsProductPut3.getProductCode()); + // wmsProductPut.setProductName(wmsProductPut3.getProductName()); + // wmsProductPut.setUnitOfMeasure(wmsProductPut3.getAttr5()); + wmsProductPut1.setNumber(wmsProductPut3.getAttr3()); + //获取托盘信息--首先要他们有绑定数据 WmsProductProductionRecords wmsProductProductionRecord=new WmsProductProductionRecords(); wmsProductProductionRecord.setUserDefined1(wmsProductPut.getPallet()); List wmsProductProductionRecords= wmsProductPutRecordsMapper.selectProductProductionRecords(wmsProductProductionRecord); if (wmsProductProductionRecords.size()>0){ WmsProductProductionRecords wmsProductProductionRecords1= wmsProductProductionRecords.get(0); - wmsProductPut.setSn(wmsProductProductionRecords1.getSn()); + wmsProductPut1.setSn(wmsProductProductionRecords1.getSn()); }else { return null; } diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml index 74bd37ba1..9e07573b6 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml @@ -419,7 +419,8 @@ pro_order_workorder_batch_pallet.quantity AS attr3, pro_order_workorder.workorder_name AS attr4, pro_order_workorder.product_code, - pro_order_workorder.product_name + pro_order_workorder.product_name, + pro_order_workorder.unit AS attr5 FROM pro_order_workorder_batch_pallet LEFT JOIN pro_order_workorder ON pro_order_workorder.workorder_code_sap= pro_order_workorder_batch_pallet.workorder_code From 45d6c3818576392f19316fab0d90c357ec3a9e85 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 16 Aug 2024 10:57:18 +0800 Subject: [PATCH 10/28] oa --- .../quality/service/impl/QcCheckTaskInventoryServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) 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 29433e746..63657d04a 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 @@ -394,6 +394,9 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer ccTask.setFactoryCode(dto.getFactoryCode()); m += insertQcCheckTaskInventory(ccTask); } + //TODO; + /**qc_check_oa_task**/ + logger.info("++++++++++++oa发起仓库检验任务生成" + m + "++++++++++++++"); return success(); } From e597f04d9870408c1e60ad887e44859beccdb695 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Fri, 16 Aug 2024 11:31:45 +0800 Subject: [PATCH 11/28] =?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 --- .../impl/OdsProcureOrderServiceImpl.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) 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 c3f836a52..e6dac7880 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 @@ -73,6 +73,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { @Autowired private BaseWarehouseMapper baseWarehouseMapper; + @Autowired + private WmsRawOrderInMapper wmsRawOrderInMapper; @Autowired private RemoteOpenService remoteOpenService; /** @@ -760,8 +762,28 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { R result2 = remoteSapService.temporarilyCollected(mapList); int code = result2.getCode(); if (code == 200){//成功 - order.setSapTempStatus("1");//0是失败。1是成功 order.setSapTempInfor(result2.getMsg()); + WmsRawOrderIn wmsRawOrderIn=new WmsRawOrderIn(); + wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID()); + wmsRawOrderIn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderIn.setDnNo(order.getReceiptNoCode()); + wmsRawOrderIn.setPoNo(order.getProcureCode()); + wmsRawOrderIn.setPoLine(order.getUserDefined3()); + wmsRawOrderIn.setMaterialCode(order.getMaterialCode()); + wmsRawOrderIn.setMaterialDesc(order.getMaterialDesc()); + wmsRawOrderIn.setRequestAmount(amount); + wmsRawOrderIn.setUnit(order.getUnit()); + wmsRawOrderIn.setRequestTime(new Date()); + wmsRawOrderIn.setOrderStatus("0");//暂收 + wmsRawOrderIn.setActiveFlag("1"); + wmsRawOrderIn.setSupplyCode(order.getSupplierCode()); + wmsRawOrderIn.setUserDefined1(result2.getMsg()); + wmsRawOrderIn.setSapFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy()); + wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn); + + order.setSapTempStatus("1");//0是失败。1是成功 + odsProcureOrderMapper.updateOdsProcureOrder(order); for (WmsRawOrderInSn wmsRawOrderInSn:wmsRawOrderInSns){ //收货 @@ -814,6 +836,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { } wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库 } + + + + }else {////失败| result="暂收失败"; order.setSapTempInfor(result2.getMsg()); 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 12/28] =?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 13/28] =?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 14/28] =?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 15/28] =?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 16/28] =?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 17/28] =?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 18/28] =?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 19/28] =?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 20/28] =?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 21/28] =?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 22/28] =?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 23/28] =?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 24/28] =?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 25/28] =?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 26/28] =?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' + +