From b8a43de01acfb74c2fb33f1343ae91045a6cbbc1 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Wed, 9 Apr 2025 22:51:55 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=88=90=E5=93=81=E6=8A=BD=E6=A3=80?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MesLineAssistantQtyServiceImpl.java | 5 + .../controller/QcStaticTableController.java | 6 + .../op/quality/controller/QuaController.java | 13 ++ .../mapper/QcCheckTaskIncomeMapper.java | 4 + .../service/IQcCheckTaskIncomeService.java | 3 + .../service/IQcStaticTableService.java | 2 + .../impl/QcCheckTaskIncomeServiceImpl.java | 192 ++++++++++++++++++ .../QcCheckTaskWarehousingServiceImpl.java | 16 +- .../impl/QcStaticTableServiceImpl.java | 17 ++ .../quality/QcCheckTaskIncomeMapper.xml | 20 ++ .../quality/QcCheckTaskProduceMapper.xml | 1 + .../mapper/quality/QcCheckTaskUserMapper.xml | 2 +- 12 files changed, 274 insertions(+), 7 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineAssistantQtyServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineAssistantQtyServiceImpl.java index 929b5ceb2..bbf755c3c 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineAssistantQtyServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineAssistantQtyServiceImpl.java @@ -135,14 +135,19 @@ public class MesLineAssistantQtyServiceImpl implements IMesLineAssistantQtyServi // (-中午休息1.5h) mesLineAssistant.setPostId("10000150"); BigDecimal monitorHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant); + monitorHour = monitorHour.subtract(new BigDecimal("1.5")); mesLineAssistant.setPostId("10000168"); BigDecimal groupleadeHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant); + groupleadeHour = groupleadeHour.subtract(new BigDecimal("1.5")); mesLineAssistant.setPostId("10000478"); BigDecimal materialHour= mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant); + materialHour = materialHour.subtract(new BigDecimal("1.5")); mesLineAssistant.setPostId("10000271"); BigDecimal pillMgrHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant); + pillMgrHour = pillMgrHour.subtract(new BigDecimal("1.5")); mesLineAssistant.setPostId("10000155"); BigDecimal pillDisHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant); + pillDisHour = pillDisHour.subtract(new BigDecimal("1.5")); BigDecimal allProHours = BigDecimal.ZERO; for(MesLineAssistantQtyVo assistdto:dtos){ //产品工时(用母单的) 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 cd3959a84..865acdb38 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 @@ -1087,4 +1087,10 @@ public class QcStaticTableController extends BaseController { } } } + + @Log(title = "黑蚊香成品分类汇总--表头", businessType = BusinessType.QUERY) + @GetMapping("/getCpDateTitle") + public List getCpDateTitle(QcStaticTable qcStaticTable) { + return qcStaticTableService.getCpDateTitle(qcStaticTable); + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index 80f2bea3b..cb72e8534 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -346,4 +346,17 @@ public class QuaController extends BaseController { DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); return qcCheckTaskIncomeService.getBatchList(qcCheckTaskIncome); } + + /**当前正在生产的线体,正在运行的订单**/ + @PostMapping("/getLineProOrder") + public List getLineProOrder(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { + DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); + return qcCheckTaskIncomeService.getLineProOrder(qcCheckTaskIncome); + } + /**成品抽检提交**/ + @PostMapping(value = "/commitCPCJCheck") + public AjaxResult commitCPCJCheck(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { + DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); + return toAjax(qcCheckTaskIncomeService.commitCPCJCheck(qcCheckTaskIncome)); + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java index 403e03adf..0c91e9d7b 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java @@ -169,4 +169,8 @@ public interface QcCheckTaskIncomeMapper { int insertBaseFileBatch(@Param("baseFiles")List files); void deleteBaseFileBySourceId(@Param("sourceId") String sourceId); + + List getLineProOrder(QcCheckTaskIncome getLineProOrder); + + List getOrderBatch(String recordId); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java index 1a45aea56..d45146554 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java @@ -124,4 +124,7 @@ public interface IQcCheckTaskIncomeService { List getCkeckProjectMapList(QcCheckTaskIncome qcCheckTaskIncome); int submitCheckPics(QcCheckTaskIncome qcCheckTaskIncome); + + List getLineProOrder(QcCheckTaskIncome qcCheckTaskIncome); + int commitCPCJCheck(QcCheckTaskIncome qcCheckTaskIncome); } 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 bbfe01ed5..192687090 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 @@ -93,4 +93,6 @@ public interface IQcStaticTableService { List> getDefectItemDataPC(QcStaticTable qcStaticTable); QcStaticTable getDefectItemLinePC(QcStaticTable qcStaticTable); + + List getCpDateTitle(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 9db257027..22fefc209 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 @@ -1456,4 +1456,196 @@ public class QcCheckTaskIncomeServiceImpl implements } return qcCheckTaskIncomeMapper.insertBaseFileBatch(files); } + + @Override + @DS("#header.poolName") + public List getLineProOrder(QcCheckTaskIncome getLineProOrder) { + List dtos = qcCheckTaskIncomeMapper.getLineProOrder(getLineProOrder); + for(QcCheckTaskIncome dto:dtos){ + List defects = qcCheckTaskIncomeMapper.getOrderBatch(dto.getRecordId()); + dto.setDefects(defects); + } + return dtos; + } + + @Override + //@Transactional(rollbackFor = Exception.class) + public int commitCPCJCheck(QcCheckTaskIncome qcCheckTaskIncome) { + logger.info("质检提交参数:"+JSONObject.toJSONString(qcCheckTaskIncome)); + List details = qcCheckTaskIncome.getQcCheckTaskDetails(); + + Date nowTime = DateUtils.getNowDate(); + String factoryCode = qcCheckTaskIncome.getFactoryCode(); + String updateBy = qcCheckTaskIncome.getUpdateBy(); + String belongId = IdUtils.fastSimpleUUID(); + String checkType = qcCheckTaskIncome.getCheckType(); + qcCheckTaskIncome.setFactoryCode(qcCheckTaskIncome.getFactoryCode().replace("ds_","")); + //默认合格 + + String result=null; + if(StringUtils.isBlank(qcCheckTaskIncome.getCheckResult())){ + result = "Y"; + for(QcCheckTaskDetail detail:details){ + if("N".equals(detail.getStatus())){ + result = "N";//不合格 + break; + } + } + }else{ + //有最终判定的情况 + result = qcCheckTaskIncome.getCheckResult(); + } + + int n = 0; + QcCheckTaskIncome qcCheckTask = new QcCheckTaskIncome(); + qcCheckTask.setUpdateBy(updateBy); + qcCheckTask.setRecordId(belongId); + qcCheckTask.setCheckStatus("2");//检测状态0待检测1检测中2检测完成 + qcCheckTask.setUpdateTime(nowTime); + qcCheckTask.setCheckTime(nowTime); + qcCheckTask.setRemark(qcCheckTaskIncome.getRemark()); + qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格 + qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo()); + BigDecimal noOkQquality = new BigDecimal("0"); + String[] defectQualitys0 = details.get(0).getDefectQualitys().split(",");; + for(int m=0;m files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); + file.setFileAddress(id); + file.setSourceId(belongId); + file.setCreateBy(updateBy); + file.setCreateTime(nowTime); + files.add(file); + } + /**base_file**/ + n = qmsFileMapper.insertBaseFileBatch(files); + System.out.println("base_file:"+n); + } + + } + + /**qc_check_task**/ + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckTaskIncomeMapper.getTodayMaxNum(qcCheckTaskIncome); + String liushuiStr = String.format("%04d", liushuiNum); + qcCheckTask.setCheckNo(bpDD+liushuiStr); + n = qcCheckTaskIncomeMapper.insertQcCheckTaskIncome(qcCheckTask); + logger.info("qc_check_task:"+n); + + + /**qc_check_task_defect**/ + n=qcCheckTaskIncomeMapper.deleteQcCheckTaskDefects(belongId); + logger.info("清理qc_check_task_defect:"+n); + List defects = new ArrayList<>(); + QcCheckTaskDefect defect = null; + for(QcCheckTaskDetail detail:details){ + if(StringUtils.isNotBlank(detail.getDefectCodes())){ + String[] defectCodes = detail.getDefectCodes().split(","); + String[] defectNames = detail.getDefectNames().split(","); + String[] defectQualitys = detail.getDefectQualitys().split(","); + if(StringUtils.isBlank(detail.getClassTypeCodes())){ + detail.setClassTypeCodes(",");//为了防止前端不选缺陷描述 + } + String[] classIds = detail.getClassTypeCodes().split(","); + for(int d=0;dqc_status->2**/ +// qcCheckTaskIncome.setStatus("2"); +// qcCheckTaskIncome.setCheckResult(result); +// qcCheckUnqualifiedMapper.updateWorkOrderBatchStatus(qcCheckTaskIncome); +// } +// if("checkTypeSC".equals(qcCheckTaskIncome.getCheckType())&&"N".equals(result)){ +// QcCheckTaskIncome recheck = new QcCheckTaskIncome(); +// recheck.setOldBelongTo(belongId); +// +// recheck.setCreateBy(updateBy); +// recheck.setCreateTime(nowTime); +// //首件不合格触发复检 +// recheck.setRecordId(IdUtils.fastSimpleUUID()); +// recheck.setBelongTo(recheck.getRecordId()); +// +// n = qcCheckUnqualifiedMapper.repeatCheckTask(recheck); +// logger.info("复检表qc_check_task:" + n); +// +//// n = qcCheckUnqualifiedMapper.repeatCheckTaskDefect(recheck); +//// logger.info("复检表qc_check_task_defect:" + n); +// +// n = qcCheckUnqualifiedMapper.repeatCheckTaskDetail(recheck); +// logger.info("复检表qc_check_task_detail:" + n); +// +// n = qcCheckUnqualifiedMapper.repeatCheckTaskUser(recheck); +// logger.info("复检表qc_check_task_user:" + n); +// +// } +// }else if("product".equals(qcCheckTaskIncome.getTypeCode())){ +// /**wms_product_put-->check_status->1**/ +// qcCheckTaskIncome.setStatus("2"); +// qcCheckUnqualifiedMapper.updatePutStatus(qcCheckTaskIncome); +// } +// +// //不合格处理 +// if("N".equals(result)) { +// QcCheckUnqualified unqualified = new QcCheckUnqualified(); +// unqualified.setId(IdUtils.fastSimpleUUID()); +// unqualified.setTaskId(belongId); +// unqualified.setCreateTime(DateUtils.getNowDate()); +// unqualified.setCreateBy(updateBy); +// unqualified.setFactoryCode(factoryCode); +// unqualified.setType(checkType); +// n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified); +// logger.info("qc_check_unqualified:" + n); +// if("1".equals(qcCheckTaskIncome.getStartOA())){ +// this.setOaFunc(unqualified,qcCheckTaskIncome); +// } +// //发送企业微信 +// this.sendWX(qcCheckTaskIncome); +// } + return 1 ; + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java index b14512728..e2707a78f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java @@ -215,13 +215,16 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin qcCheckTaskWarehousing.setCheckManName(""); qcCheckTaskWarehousing.setCheckManCode(""); /**qc_user_material取默认检查人**/ - List users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskWarehousing.getCheckType()); + + QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome(); + qcCheckTaskIncome.setCheckType(qcCheckTaskWarehousing.getCheckType()); + qcCheckTaskIncome.setMaterialCode(qcCheckTaskWarehousing.getMaterialCode()); + qcCheckTaskIncome.setCheckLoc(qcCheckTaskWarehousing.getCheckLoc()); + List users = qcCheckTaskIncomeMapper.getCheckUserBelongLine(qcCheckTaskIncome); if(CollectionUtils.isEmpty(users)){ - QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); - dto0.setUserCode("mobile"); - dto0.setUserName("手持测试用户"); - users.add(dto0); - }else{ + users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskWarehousing.getCheckType()); + } + if(!CollectionUtils.isEmpty(users)){ for(QcUserMaterialDTO user:users){ user.setId(IdUtils.fastSimpleUUID()); user.setBelongTo(beLongId); @@ -231,6 +234,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin user.setCreateTime(nowDate); } } + /**qc_check_task_user**/ int m=qcCheckTaskIncomeMapper.addCheckUsers(users); logger.info("检查人新增"+m+"成功"); 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 99a0c50cb..5cb8ec7a5 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 @@ -1988,6 +1988,23 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return dto; } + @Override + public List getCpDateTitle(QcStaticTable qcStaticTable) { + + //获取不良种类 + List titles = new ArrayList<>();//qcStaticTableMapper.getCpDefects(qcStaticTable); + titles.add("抽样总数"); + titles.add("A类"); + titles.add("B类"); + titles.add("C类"); + titles.add("不良总数"); + titles.add("不良率"); + titles.add("抽检批数"); + titles.add("不合格批数"); + titles.add("不合格批次率"); + return titles; + } + protected Map getHJRow(List> dtos,int days){ Map dto2 = new HashMap<>(); dto2.put("dataType","合计"); 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 8b4de7f98..8a3604f09 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 @@ -903,6 +903,26 @@ where qum.material_code = #{checkType} and qum.del_flag = '0' and qum.attr2 like concat ('%',#{checkLoc},'%') + + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index b579cfecd..660f5b492 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -457,6 +457,7 @@ select pow.factory_code factoryCode, pow.workorder_code workorderCode, + pow.workorder_name checkLoc, pow.product_code materialCode, pow.product_name materialName, pow.quantity_split quality, diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml index 71cd57af1..7c64545f9 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskUserMapper.xml @@ -166,7 +166,7 @@ STRING_AGG(check_man_name,',') AS 'manNames', belong_to from qc_check_task_user - where belong_to = #{belongTo} + where belong_to = #{belongTo} and del_flag = '0' group by belong_to From 6051fa40b81bd43e1c207a1a834a2d430db0d0a2 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 10 Apr 2025 13:58:48 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E9=BB=91=E8=9A=8A=E9=A6=99=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E5=88=86=E7=B1=BB=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QcStaticTableController.java | 5 ++ .../quality/mapper/QcStaticTableMapper.java | 11 +++ .../service/IQcStaticTableService.java | 2 + .../impl/QcStaticTableServiceImpl.java | 90 +++++++++++++++++-- .../mapper/quality/QcStaticTableMapper.xml | 81 ++++++++++++++++- 5 files changed, 180 insertions(+), 9 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 865acdb38..5d0a68e55 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 @@ -1093,4 +1093,9 @@ public class QcStaticTableController extends BaseController { public List getCpDateTitle(QcStaticTable qcStaticTable) { return qcStaticTableService.getCpDateTitle(qcStaticTable); } + @Log(title = "黑蚊香成品分类汇总--数据", businessType = BusinessType.QUERY) + @GetMapping("/getCpDefectDate") + public List> getCpDefectDate(QcStaticTable qcStaticTable) { + return qcStaticTableService.getCpDefectDate(qcStaticTable); + } } 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 ae1058e36..e53521038 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 @@ -146,4 +146,15 @@ public interface QcStaticTableMapper { QcStaticTable getBPHzInfoPC(QcStaticTable qcStaticTable); @MapKey("ymdms") Map getBPDefectMothPCMap(QcStaticTable qcStaticTable); + + List getCpDefects(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getCpDefectMap(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getCpDefectTypeMap(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getCpDefectPCMap(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getCpSampMap(QcStaticTable qcStaticTable); + List getCpDefectTypes(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 192687090..5c128c37c 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 @@ -95,4 +95,6 @@ public interface IQcStaticTableService { QcStaticTable getDefectItemLinePC(QcStaticTable qcStaticTable); List getCpDateTitle(QcStaticTable qcStaticTable); + + List> getCpDefectDate(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 5cb8ec7a5..2117941c3 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 @@ -1989,14 +1989,13 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { } @Override + @DS("#header.poolName") public List getCpDateTitle(QcStaticTable qcStaticTable) { - //获取不良种类 - List titles = new ArrayList<>();//qcStaticTableMapper.getCpDefects(qcStaticTable); + List titles = qcStaticTableMapper.getCpDefects(qcStaticTable); titles.add("抽样总数"); - titles.add("A类"); - titles.add("B类"); - titles.add("C类"); + List abctitles = qcStaticTableMapper.getCpDefectTypes(qcStaticTable); + titles.addAll(abctitles); titles.add("不良总数"); titles.add("不良率"); titles.add("抽检批数"); @@ -2005,6 +2004,87 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return titles; } + @Override + @DS("#header.poolName") + public List> getCpDefectDate(QcStaticTable qcStaticTable) { + List> dtos = new ArrayList<>(); + //获取不良项目 + List bpDefects = qcStaticTableMapper.getCpDefects(qcStaticTable); + //获取不良类别 + List abctitles = qcStaticTableMapper.getCpDefectTypes(qcStaticTable); + //获取时间 + List days = getDaysOfMonth(Integer.parseInt(qcStaticTable.getYearMonth().split("-")[0]), + Integer.parseInt(qcStaticTable.getYearMonth().split("-")[1])); + //不良项目map + Map defectMaps = qcStaticTableMapper.getCpDefectMap(qcStaticTable); + //抽样分类map + Map abcMaps = qcStaticTableMapper.getCpDefectTypeMap(qcStaticTable); + //批次map + Map pcMaps = qcStaticTableMapper.getCpDefectPCMap(qcStaticTable); + //抽样总数map + Map sampMaps = qcStaticTableMapper.getCpSampMap(qcStaticTable); + + Map dto1= null; + for(String ymd:days){ + dto1= new HashMap<>(); + dto1.put("dataType",ymd); + + for(int i=0;i getHJRow(List> dtos,int days){ Map dto2 = new HashMap<>(); dto2.put("dataType","合计"); 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 da711da6f..b452c9766 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 @@ -433,10 +433,10 @@ and qct.order_no = #{orderNo} - and qct.material_code = #{materialCode} + and (qct.material_code like concat('%',#{materialCode},'%') or qct.material_name like concat('%',#{materialCode},'%')) - and qct.supplier_code = #{supplierCode} + and (qct.supplier_code like concat('%',#{supplierCode},'%') or qct.supplier_name like concat('%',#{materialCode},'%')) ) t @@ -468,10 +468,10 @@ and qct.order_no = #{orderNo} - and qct.material_code = #{materialCode} + and (qct.material_code like concat('%',#{materialCode},'%') or qct.material_name like concat('%',#{materialCode},'%')) - and qct.supplier_code = #{supplierCode} + and (qct.supplier_code like concat('%',#{supplierCode},'%') or qct.supplier_name like concat('%',#{materialCode},'%')) ) q GROUP BY q.material_code, q.ymdms,q.rule_name,q.project_no @@ -1327,4 +1327,77 @@ and bp.product_group_name ='白坯' and bp.del_flag = '0' and bp.product_desc_zh like '%白坯%' ) t + + + + + + + From 219f2e3b291608f08bf0cc0c2a4f624c22240ad7 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 10 Apr 2025 13:59:01 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=BB=91=E8=9A=8A=E9=A6=99=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E5=88=86=E7=B1=BB=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/mes/MesLineAssistantQtyMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesLineAssistantQtyMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesLineAssistantQtyMapper.xml index 0c2ca6971..72fddc8fc 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesLineAssistantQtyMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesLineAssistantQtyMapper.xml @@ -67,7 +67,7 @@ and attr4 = #{attr4} - order by create_time + order by product_date desc + +