diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java index 7a61a25e3..79f7ab1d8 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java @@ -46,6 +46,18 @@ public class MesBoardController extends BaseController { return success(iMesBoradService.getProduction15Days(mesBoard)); } + /**获取PLC采集的完成数量*/ + @PostMapping("/getProductionNumberPLC") + public AjaxResult getProductionNumberPLC(@RequestBody BoardDTO mesBoard) { + if (StringUtils.isBlank(mesBoard.getFactoryCode())) { + return error("[facotryCode] 不能为空"); + } + if (StringUtils.isBlank(mesBoard.getEquCode())) { + return error("[equCode] 不能为空"); + } + return success(iMesBoradService.getProductionNumberPLC(mesBoard)); + } + /**产线信息**/ @PostMapping("/getProductionLineInfo") public AjaxResult getProductionLineInfo(@RequestBody BoardDTO mesBoard) { diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java index 404010bf8..6358c5018 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java @@ -247,6 +247,7 @@ public class MesReportWorkController extends BaseController { List list = mesReportWorkService.getDailyReport(mesDailyReport); return getDataTable(list); } + @RequiresPermissions("mes:dailyReport:list") @GetMapping("/getDailyReportNew") @Log(title = "生成日报表查询", businessType = BusinessType.QUERY) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java index 2ec4209fa..82f973c67 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java @@ -68,6 +68,8 @@ public class MesDailyReportVo extends BaseEntity { private String teamCode; private String teamDesc; + @Excel(name = "标准用人") + private String manStandard;//标准用人 //计划产量 // 实际用人 @Excel(name = "实际用人") @@ -76,8 +78,7 @@ public class MesDailyReportVo extends BaseEntity { private String workorderName; private String quantity;//计划产量(箱) - @Excel(name = "标准用人") - private String manStandard;//标准用人 + @Excel(name = "标准工时") private String workTimeStandard;//工时-标准 @Excel(name = "实际工时") diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java index 12adb2348..b6857862b 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java @@ -117,4 +117,7 @@ public interface MesMapper { List getWhiteBoardProdDetails(Map paramMap); List whiteBoardProdListDetailss(Map paramMap); + + + Map getProductionNumberPLC(BoardDTO mesBoard); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java index 03ff63363..f1090b7a9 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java @@ -22,4 +22,6 @@ public interface IMesBoradService { public List getHFQcInfo(BoardDTO mesBoard); public List getHFxlInfo(BoardDTO mesBoard); + + public Map getProductionNumberPLC(BoardDTO mesBoard); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java index 440035535..c09d26629 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java @@ -213,6 +213,8 @@ public class MesBoradServiceImpl implements IMesBoradService { return dtos; } + + //获取当前日期前几天 private List getDays(int dayNum){ List days = new ArrayList<>(); @@ -230,7 +232,12 @@ public class MesBoradServiceImpl implements IMesBoradService { return days; } - + @Override + public Map getProductionNumberPLC(BoardDTO mesBoard) { + DynamicDataSourceContextHolder.push(mesBoard.getFactoryCode()); + Map mapList = mesMapper.getProductionNumberPLC(mesBoard); + return mapList; + } public static void main(String[] args){ List days = new ArrayList<>(); 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..5f32d6cda 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){ //产品工时(用母单的) @@ -150,9 +155,9 @@ public class MesLineAssistantQtyServiceImpl implements IMesLineAssistantQtyServi hours = hours==null?BigDecimal.ZERO:hours; assistdto.setProductHour(hours.toString()); allProHours = allProHours.add(hours); - + //组长工时=产品工时 + assistdto.setGroupLeaderHour(hours.toString()); } - for(MesLineAssistantQtyVo assistdto:dtos){ //工时占比 assistdto.setHourRatio(new BigDecimal(assistdto.getProductHour()) @@ -182,11 +187,11 @@ public class MesLineAssistantQtyServiceImpl implements IMesLineAssistantQtyServi // ); assistdto.setGroupleaderQty("1"); //组长工时=当日考勤小时数*工时占比 - assistdto.setGroupLeaderHour( - groupleadeHour.multiply(new BigDecimal(assistdto.getHourRatio().replace("%",""))) - .multiply(new BigDecimal("0.01")) - .toString() - ); +// assistdto.setGroupLeaderHour( +// groupleadeHour.multiply(new BigDecimal(assistdto.getHourRatio().replace("%",""))) +// .multiply(new BigDecimal("0.01")) +// .toString() +// ); //物料员用人=当日人数*工时占比 assistdto.setMaterialQty(new BigDecimal(manQty.getMaterialQty()==null?0L:manQty.getMaterialQty()) .multiply(new BigDecimal(assistdto.getHourRatio().replace("%",""))) @@ -255,8 +260,8 @@ public class MesLineAssistantQtyServiceImpl implements IMesLineAssistantQtyServi MesLineAssistantQty manQty = assistMaps.get(mesLineAssistant.getProductDateStr()); assistdto0.setMonitorQty(manQty.getMonitorQty()==null?"0":manQty.getMonitorQty().toString()); assistdto0.setMonitorHour(monitorHour==null?"0":monitorHour.toString()); - assistdto0.setGroupleaderQty(manQty.getGroupleaderQty()==null?"0":manQty.getGroupleaderQty().toString()); - assistdto0.setGroupLeaderHour(groupleadeHour==null?"0":groupleadeHour.toString()); + assistdto0.setGroupleaderQty(manQty.getGroupleaderQty()==null?"0":String.valueOf(dtos.size())); + assistdto0.setGroupLeaderHour(groupleadeHour==null?"0":allProHours.toString()); assistdto0.setMaterialQty(manQty.getMaterialQty()==null?"0":manQty.getMaterialQty().toString()); assistdto0.setMaterialHour(materialHour==null?"0":materialHour.toString()); assistdto0.setPillMgrQty(manQty.getPillMgrQty()==null?"0":manQty.getPillMgrQty().toString()); @@ -390,10 +395,11 @@ public class MesLineAssistantQtyServiceImpl implements IMesLineAssistantQtyServi monitorHour.divide(new BigDecimal(dtos.size()),2,BigDecimal.ROUND_HALF_UP).toString()); assisHourSum = assisHourSum.add(new BigDecimal(effdto.getMonitorHour()));//DOSUM; //组长用人=当日人数/线体数 - effdto.setGroupleaderQty(new BigDecimal(manQty.getGroupleaderQty()) - .divide(new BigDecimal(dtos.size()),2,BigDecimal.ROUND_HALF_UP) - .toString() - ); +// effdto.setGroupleaderQty(new BigDecimal(manQty.getGroupleaderQty()) +// .divide(new BigDecimal(dtos.size()),2,BigDecimal.ROUND_HALF_UP) +// .toString() +// ); + effdto.setGroupleaderQty("1"); assisManSum = assisManSum.add(new BigDecimal(effdto.getGroupleaderQty()));//DOSUM; //组长工时=当日考勤小时数/线体数 effdto.setGroupleaderHour( 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 + SELECT + line_code, + workorder_code, + qty_build, + qty_total + FROM + pro_workbatch_inwork + WHERE + line_code =#{ equCode } + AND workorder_code =#{ workorderCode} + + 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..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 @@ -1087,4 +1087,15 @@ public class QcStaticTableController extends BaseController { } } } + + @Log(title = "黑蚊香成品分类汇总--表头", businessType = BusinessType.QUERY) + @GetMapping("/getCpDateTitle") + 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/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/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/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..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 @@ -93,4 +93,8 @@ public interface IQcStaticTableService { List> getDefectItemDataPC(QcStaticTable qcStaticTable); 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/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..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 @@ -1988,6 +1988,103 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return dto; } + @Override + @DS("#header.poolName") + public List getCpDateTitle(QcStaticTable qcStaticTable) { + //获取不良种类 + List titles = qcStaticTableMapper.getCpDefects(qcStaticTable); + titles.add("抽样总数"); + List abctitles = qcStaticTableMapper.getCpDefectTypes(qcStaticTable); + titles.addAll(abctitles); + titles.add("不良总数"); + titles.add("不良率"); + titles.add("抽检批数"); + titles.add("不合格批数"); + titles.add("不合格批次率"); + 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/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 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 + + + + + + + diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index 5a5ae8521..7e8e8a859 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -3,6 +3,7 @@ package com.op.system.service.impl; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; @@ -672,7 +673,8 @@ public class SysUserServiceImpl implements ISysUserService { DynamicDataSourceContextHolder.push("ds_1000"); // 调用 sendPost 方法(确保此方法内部使用 POST 方法发送数据) Map param=new HashMap(); - param.put("day",DateUtils.getDate()); + LocalDate yesterdayDate = LocalDate.now().minusDays(1); + param.put("day",yesterdayDate); String result = HttpUtils.sendPostForm(attendanceRecordUrl, param); List mesClockRecordList =JSONArray.parseArray(result,MesClockRecord.class); SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -720,5 +722,7 @@ public class SysUserServiceImpl implements ISysUserService { sqlSession.close(); } } + + }