From 99f3bd0aef6cec3e29876e3e1683c3f021e01606 Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期四, 25 七月 2024 09:45:12 +0800 Subject: [PATCH] add quality OK Status --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java | 62 +++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 16 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 270287e..710091f 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 @@ -211,12 +211,13 @@ 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; record.inTime = preRecord.outTime; + record.outLineTime = preRecord.outLineTime;//涓嬭竟鍒ゆ柇鏄惁缁撴潫浼氱敤鍒� 寰楃暀鐫� } else { record.inTime = new Date(); record.inLineTime = new Date(); @@ -276,15 +277,17 @@ * @return 鐘舵�� */ private Integer getStatus(String status, boolean isEnd, String workType) { - //缁勮 2024/07/17 鐩墠缁勮workType 1 鍙湁MarkOk //娴嬭瘯 //鍝佹 //缁翠慨 + //缁勮 2024/07/17 鐩墠缁勮workType 1 鍙湁MarkOk //娴嬭瘯 //鍝佹 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("鐘舵�侀敊璇�"); }; } + //缁翠慨 throw new RuntimeException("鐘舵�侀敊璇紝鏃犳晥鐨勮妭鐐圭被鍨�: " + workType); } /** @@ -302,14 +305,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("鐘舵�侀敊璇�"); }; @@ -323,16 +326,7 @@ } throw new RuntimeException("鐘舵�侀敊璇紝鏃犳晥鐨勮妭鐐圭被鍨�: " + workType); } - - - - - - - - - - + @Transactional public int repair(QueryVo vo) { long workId = Long.parseLong(vo.workId); StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); @@ -361,7 +355,26 @@ return count; } + @Transactional public int testing(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; + } + + @Transactional + public int inspectQuality(QueryVo vo) { long workId = Long.parseLong(vo.workId); StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); if (workLast == null) { @@ -493,6 +506,7 @@ map.put("proName", ""); map.put("proType", ""); map.put("proId", ""); + map.put("proCode", ""); //鍒ゆ柇鏄笉鏄槸鏈巶鐗╂枡 if(CollectionUtils.isEmpty(productList)){ productList = productDao.selectAll(null); @@ -507,10 +521,24 @@ map.put("proType", product.getType()); BigInteger proId = BigInteger.valueOf(product.getId()); map.put("proId", proId.toString()); + map.put("proCode",product.getCode()); } return map; } - + //鏌ヨ浜у搧鎵�鍦ㄧ殑浠诲姟 + 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); + } + PrAssemblyPlan plan = assemblyPlanDao.selectByDeviceNo(proCode,lotCode); + if(plan != null){ + plan.setBatchNo(lotCode); + } + return plan; + } public List<StaDeviceLife> queryLifeByDeviceNo(String deviceNo) { return deviceLifeDao.selectByDeviceNo(deviceNo); } @@ -518,4 +546,6 @@ public List<StaDeviceProductionLog> queryLogByDeviceNo(String devoiceNo) { return deviceProductionLogDao.selectByDeviceNo(devoiceNo); } + + } -- Gitblit v1.8.0