From ec8f519a552206a22806aabdd36a102def1d35f9 Mon Sep 17 00:00:00 2001 From: 刘小明 <liuxm_a@163.com> Date: 星期二, 23 七月 2024 09:19:00 +0800 Subject: [PATCH] id生成,sql优化 --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java | 66 ++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 29 deletions(-) diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java index 43c43f0..bf136dc 100644 --- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java +++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java @@ -191,8 +191,8 @@ } BaUser userInfo = getUserInfo(result.getUserId().toString()); PltStation stationInfo = getStationInfo(result.getStationId().toString()); - //濡傛灉鏄淮淇畐ork_type 娌℃湁 planId processId nodeId - if (WORK_TYPE_REPAIR.equals(result.getWorkType())) { + //濡傛灉鏄棤浠诲姟璁″垝 濡傜淮淇畐ork_type 娌℃湁 planId processId nodeId + if (result.getPlanId() != null) { //鏍¢獙planId processId nodeId PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(result.getPlanId()); boolean hasNodeId = assyPlan.getProcess().getNodes().stream() @@ -266,23 +266,26 @@ public StaAssemblyWorkLast save(QueryVo vo) { //鍏坈heck StaAssemblyWorkLast checkResult = checkUserAndStationUsed(vo); - //鏍¢獙planId processId nodeId - PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(vo.getPlanId()); - if (assyPlan == null) { - throw new RuntimeException("缁勮浠诲姟宸茬粡鍦ㄧ郴缁熶腑鍒犻櫎璇锋鏌�,鍒锋柊骞堕噸鏂伴�夋嫨浠诲姟"); - } - boolean hasNodeId = assyPlan.getProcess().getNodes().stream() - .anyMatch(node -> node.id.equals(vo.getNodeId())); - if (!hasNodeId) { - throw new RuntimeException("鑺傜偣淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇烽噸鏂伴�夋嫨鑺傜偣淇℃伅"); - } - //鏁版嵁閫愪釜灏佽杩斿洖 vo.setLineId(checkResult.getLineId()); StaAssemblyWorkLast staLast = new StaAssemblyWorkLast(); BeanUtils.copyProperties(vo, staLast); staLast.setUserId(checkResult.getUserId()); staLast.setStationId(checkResult.getStationId()); + //鏍¢獙planId processId nodeId + PrAssemblyPlan assyPlan = new PrAssemblyPlan(); + if (vo.getPlanId() != null) { + assyPlan = assemblyDao.selectByPrimaryKey(vo.getPlanId()); + if (assyPlan == null) { + throw new RuntimeException("缁勮浠诲姟宸茬粡鍦ㄧ郴缁熶腑鍒犻櫎璇锋鏌�,鍒锋柊骞堕噸鏂伴�夋嫨浠诲姟"); + } + boolean hasNodeId = assyPlan.getProcess().getNodes().stream() + .anyMatch(node -> node.id.equals(vo.getNodeId())); + if (!hasNodeId) { + throw new RuntimeException("鑺傜偣淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇烽噸鏂伴�夋嫨鑺傜偣淇℃伅"); + } + } + int count = 0; if (checkResult.getId() == null) { BeanUtils.copyProperties(vo, staLast);//vo鎷疯礉鍒皊taLast @@ -294,9 +297,12 @@ } else { //淇濆瓨涓�鏉istory? BeanUtils.copyProperties(checkResult, staLast); - staLast.setPlanId(assyPlan.getId()); - staLast.setProcessId(assyPlan.getProcess().getId()); - staLast.setNodeId(vo.getNodeId()); + if (vo.getPlanId() != null) { + staLast.setPlanId(assyPlan.getId()); + staLast.setProcessId(assyPlan.getProcess().getId()); + staLast.setNodeId(vo.getNodeId()); + } + staLast.setWorkType(vo.getWorkType()); staLast.setStatus(STATUS_NORMAL); staLast.setStartTime(new Date()); count = assemblyWorkLastDao.updateByPrimaryKeySelective(staLast); @@ -305,20 +311,22 @@ throw new RuntimeException("鏁版嵁搴撳瓨鍌ㄥけ璐�"); } StaAssemblyWorkLast result = assemblyWorkLastDao.selectByPrimaryKey(staLast.getId()); - List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream() - .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList()); - result.setPlanName(assyPlan.getName()); - result.setProcessName(assyPlan.getProcessName()); - result.setNodeName(assyPlan.getProcess().getNodes().get(0).getContent()); - //鎵惧埌瀵瑰簲鐨勪骇鍝佷俊鎭� - PltProduct product = productDao.selectByPrimaryKey(assyPlan.getProId()); - if (product == null) { - throw new RuntimeException("浜у搧淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇风櫥褰曠鐞嗙郴缁熸煡鐪嬩换鍔″叧鑱斾骇鍝両D涓�:" + assyPlan.getProId()); + if (assyPlan != null) { + List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream() + .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList()); + result.setPlanName(assyPlan.getName()); + result.setProcessName(assyPlan.getProcessName()); + result.setNodeName(assyPlan.getProcess().getNodes().get(0).getContent()); + //鎵惧埌瀵瑰簲鐨勪骇鍝佷俊鎭� + PltProduct product = productDao.selectByPrimaryKey(assyPlan.getProId()); + if (product == null) { + throw new RuntimeException("浜у搧淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇风櫥褰曠鐞嗙郴缁熸煡鐪嬩换鍔″叧鑱斾骇鍝両D涓�:" + assyPlan.getProId()); + } + result.setProId(product.getId()); + result.setProName(product.getName()); + String devicePrefix = QrCodeConstant.TypeProduct + product.getCode() + assyPlan.getBatchNo(); + result.setDevicePrefix(devicePrefix); } - result.setProId(product.getId()); - result.setProName(product.getName()); - String devicePrefix = QrCodeConstant.TypeProduct + product.getCode() + assyPlan.getBatchNo(); - result.setDevicePrefix(devicePrefix); return result; } -- Gitblit v1.8.0