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 | 144 ++++++++++++++++++++++++++--------------------- 1 files changed, 80 insertions(+), 64 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 bd51d42..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 @@ -34,6 +34,11 @@ private static final int STATUS_REPAIR = 3; private static final int STATUS_WASTE = 4; + private static final String WORK_TYPE_ASSEMBLY = "1"; + 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 USER_PREFIX = "101"; private static final String STATION_PREFIX = "103"; @@ -186,43 +191,46 @@ } BaUser userInfo = getUserInfo(result.getUserId().toString()); PltStation stationInfo = getStationInfo(result.getStationId().toString()); - //鏍¢獙planId processId nodeId - PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(result.getPlanId()); - boolean hasNodeId = assyPlan.getProcess().getNodes().stream() - .anyMatch(node -> node.id.equals(result.getNodeId())); - if (userInfo == null || stationInfo == null || assyPlan == null || (!hasNodeId)) { - //鐩存帴鍒犻櫎璁板綍 - logout(result.getId().toString()); - result.setId(null); - result.setStatus(STATUS_WORK_LAST_LOGOUT); - if (userInfo == null) { - result.setUserId(null); - result.setUserName(""); - } - if (stationInfo == null) { - result.setStationId(null); - result.setStationName(""); - } - if (assyPlan == null) { - result.setPlanId(null); - result.setPlanName(""); - } - if (!hasNodeId) { - result.setNodeId(null); - result.setNodeName(""); - } - return result; - } else { - 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) { - result.setProId(product.getId()); - result.setProName(product.getName()); - String devicePrefix = QrCodeConstant.TypeProduct + product.getCode() + assyPlan.getBatchNo(); - result.setDevicePrefix(devicePrefix); + //濡傛灉鏄棤浠诲姟璁″垝 濡傜淮淇畐ork_type 娌℃湁 planId processId nodeId + if (result.getPlanId() != null) { + //鏍¢獙planId processId nodeId + PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(result.getPlanId()); + boolean hasNodeId = assyPlan.getProcess().getNodes().stream() + .anyMatch(node -> node.id.equals(result.getNodeId())); + if (userInfo == null || stationInfo == null || assyPlan == null || (!hasNodeId)) { + //鐩存帴鍒犻櫎璁板綍 + logout(result.getId().toString()); + result.setId(null); + result.setStatus(STATUS_WORK_LAST_LOGOUT); + if (userInfo == null) { + result.setUserId(null); + result.setUserName(""); + } + if (stationInfo == null) { + result.setStationId(null); + result.setStationName(""); + } + if (assyPlan == null) { + result.setPlanId(null); + result.setPlanName(""); + } + if (!hasNodeId) { + result.setNodeId(null); + result.setNodeName(""); + } + return result; + } else { + 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) { + result.setProId(product.getId()); + result.setProName(product.getName()); + String devicePrefix = QrCodeConstant.TypeProduct + product.getCode() + assyPlan.getBatchNo(); + result.setDevicePrefix(devicePrefix); + } } } result.setStationId(stationInfo.getId()); @@ -258,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 @@ -286,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); @@ -297,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