From 54b274998a6e839227a86a3f39ff2a9f69f32fcc Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期二, 30 七月 2024 14:35:11 +0800 Subject: [PATCH] 兼容无任务工作中的追溯信息 --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java | 87 ++++++++++++++++++++++++++++++------------- 1 files changed, 60 insertions(+), 27 deletions(-) diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java index f30c5d3..8cf3d79 100644 --- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java +++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java @@ -36,6 +36,7 @@ private static final String WORK_TYPE_TEST = "2"; private static final String WORK_TYPE_INSPECTION = "3"; private static final String WORK_TYPE_REPAIR = "4"; + private static final String WORK_TYPE_OTHER = "5"; private StaDeviceLastMapper deviceLastDao; private StaDeviceLifeMapper deviceLifeDao; @@ -211,8 +212,8 @@ private StaDeviceLast buildDeviceLast(QueryVo params, StaAssemblyWorkLast workLast, String deviceNo) { //缁勮鏁版嵁 StaDeviceLast record = new StaDeviceLast(); - //pr_assembly_plan input_number +1 鎶曞叆鏁板姞1 - PrAssemblyPlan assemblyPlan = assemblyPlanDao.selectByPrimaryKey(workLast.planId); + //pr_assembly_plan input_number +1 鎶曞叆鏁板姞1 鏍规嵁deviceNo 鎵惧埌瀵瑰簲浠诲姟 + PrAssemblyPlan assemblyPlan = queryPlanByDeviceNo(deviceNo); //PrAssemblyPlan assemblyPlan = assemblyPlanDao.selectByPrimaryKey(workLast.planId); StaDeviceLast preRecord = deviceLastDao.selectByDeviceNo(deviceNo); if (preRecord != null) { record.id = preRecord.id; @@ -237,6 +238,7 @@ Boolean isEnd = false;//鏄惁缁忓巻杩囩粨鏉熻妭鐐� PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId); + // record.nodeContent = node.content; if (node.isRecord) { record.deviceCycleContent = node.deviceCycleContent; @@ -281,6 +283,7 @@ if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_TEST.equals(workType) || WORK_TYPE_INSPECTION.equals(workType) || WORK_TYPE_REPAIR.equals(workType)) { return switch (status) { case QrCodeConstant.MarkOk -> isEnd ? DeviceStatus.COMPLETED.getCode() : DeviceStatus.ASSEMBLING.getCode(); + case QrCodeConstant.MarkQualified -> isEnd ? DeviceStatus.COMPLETED.getCode() : DeviceStatus.ASSEMBLING.getCode(); case QrCodeConstant.MarkUnqualified -> DeviceStatus.REPAIR.getCode(); case QrCodeConstant.MarkWaste -> DeviceStatus.WASTE.getCode(); default -> throw new RuntimeException("鐘舵�侀敊璇�"); @@ -304,14 +307,14 @@ //娴嬭瘯 }else if (WORK_TYPE_TEST.equals(workType)) { return switch (status) { - case QrCodeConstant.MarkOk -> DeviceResult.TEST_PASS.getCode(); + case QrCodeConstant.MarkQualified -> DeviceResult.TEST_PASS.getCode(); case QrCodeConstant.MarkUnqualified -> DeviceResult.TEST_FAIL.getCode(); default -> throw new RuntimeException("鐘舵�侀敊璇�"); }; //鍝佹 }else if (WORK_TYPE_INSPECTION.equals(workType)) { return switch (status) { - case QrCodeConstant.MarkOk -> DeviceResult.INSPECTION_PASS.getCode(); + case QrCodeConstant.MarkQualified -> DeviceResult.INSPECTION_PASS.getCode(); case QrCodeConstant.MarkUnqualified -> DeviceResult.INSPECTION_FAIL.getCode(); default -> throw new RuntimeException("鐘舵�侀敊璇�"); }; @@ -325,6 +328,7 @@ } throw new RuntimeException("鐘舵�侀敊璇紝鏃犳晥鐨勮妭鐐圭被鍨�: " + workType); } + @Transactional public int repair(QueryVo vo) { long workId = Long.parseLong(vo.workId); StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); @@ -353,6 +357,7 @@ return count; } + @Transactional public int testing(QueryVo vo) { long workId = Long.parseLong(vo.workId); StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); @@ -370,6 +375,49 @@ return count; } + @Transactional + public int inspectQuality(QueryVo vo) { + long workId = Long.parseLong(vo.workId); + StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); + if (workLast == null) { + throw new RuntimeException("绯荤粺涓病鏈夎鏉$櫥褰曚俊鎭�"); + } + StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]); + int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : + deviceLastDao.updateByPrimaryKeySelective(deviceLast); + saveDeviceProductionLog(deviceLast); + PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId); + if (node.isRecord) { + saveDeviceLife(deviceLast); + } + return count; + } + //鏃犱换鍔¤鍒掍腑鐨勫叾浠� 浼爓orkId ,鎵嬪啓宸ヤ綔鍐呭 , 鏁伴噺 + @Transactional + public int otherWork(QueryVo vo) { + long workId = Long.parseLong(vo.workId); + StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); + if (workLast == null) { + throw new RuntimeException("绯荤粺涓病鏈夎鏉$櫥褰曚俊鎭�"); + } + //淇濆瓨宸ヤ綔璁板綍 + StaDeviceProductionLog log = new StaDeviceProductionLog(); + log.setId(null); // 璁惧鐢熶骇鏃ュ織ID璁句负null锛岃〃绀烘柊澧� + log.setDeviceNo(""); //RepairId planId currNode deviceCycleContent memo + log.setWorkId(workId); + log.setStationId(workLast.getStationId()); + log.setNodeContent(vo.getContent()); + log.setStatus(DeviceStatus.COMPLETED.getCode());//瀹屾垚鐘舵�� + log.setResult(DeviceResult.PASS.getCode());//閫氳繃 + log.setErrorMsg(vo.getErrorMsg()); + log.setAssistants(workLast.getAssistants()); + log.setInTime(new Date()); + log.setOutTime(new Date()); + log.setUpdatedBy(workLast.getUserId()); + log.setNumber(vo.getNumber()); + int count = deviceProductionLogDao.insertSelective(log); + return count; + } //鏍规嵁鑺傜偣鏌ュ嚭鑺傜偣浣滀笟鎸囧涔� public PrProductionNode getSopByNodeId(String nodeId) { if (com.alibaba.excel.util.StringUtils.isBlank(nodeId)) { @@ -504,37 +552,20 @@ } return map; } - - /* public PrAssemblyPlan queryPlanByDeviceNo(String deviceNo) { + //鏌ヨ浜у搧鎵�鍦ㄧ殑浠诲姟 + public PrAssemblyPlan queryPlanByDeviceNo(String deviceNo) { String proCode = ""; String lotCode = ""; if (StringUtils.isNotEmpty(deviceNo) && deviceNo.length() == 22) { proCode = deviceNo.substring(3,6); lotCode = deviceNo.substring(6,15); } - Map<String, String> map = new HashMap<>(); - map.put("deviceNo", deviceNo); - map.put("proName", ""); - map.put("proType", ""); - map.put("proId", ""); - map.put("proCode", ""); - //鍒ゆ柇鏄笉鏄槸鏈巶鐗╂枡 - if(CollectionUtils.isEmpty(productList)){ - productList = productDao.selectAll(null); + PrAssemblyPlan plan = assemblyPlanDao.selectByDeviceNo(proCode,lotCode); + if(plan != null){ + plan.setBatchNo(lotCode); } - PltProduct product = null; - - if (product != null) { - map.put("deviceNo", deviceNo); - map.put("proName", product.getName()); - map.put("proType", product.getType()); - BigInteger proId = BigInteger.valueOf(product.getId()); - map.put("proId", proId.toString()); - map.put("proCode",product.getCode()); - } - return map; + return plan; } -*/ public List<StaDeviceLife> queryLifeByDeviceNo(String deviceNo) { return deviceLifeDao.selectByDeviceNo(deviceNo); } @@ -542,4 +573,6 @@ public List<StaDeviceProductionLog> queryLogByDeviceNo(String devoiceNo) { return deviceProductionLogDao.selectByDeviceNo(devoiceNo); } + + } -- Gitblit v1.8.0