From 21cb23e9f2d5833cf642b0f15a60611c44b37a12 Mon Sep 17 00:00:00 2001 From: 刘小明 <liuxm_a@163.com> Date: 星期四, 25 七月 2024 15:13:29 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java | 80 +++++++++++++++++++++++----------------- 1 files changed, 46 insertions(+), 34 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 bf136dc..07644ac 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 @@ -3,6 +3,7 @@ import com.alibaba.excel.util.StringUtils; import com.dy.pmsGlobal.daoBa.BaUserMapper; import com.dy.pmsGlobal.daoPlt.PltProductMapper; +import com.dy.pmsGlobal.daoPlt.PltProductionLineMapper; import com.dy.pmsGlobal.daoPlt.PltStationMapper; import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; import com.dy.pmsGlobal.daoPr.PrProductionNodeMapper; @@ -10,6 +11,7 @@ import com.dy.pmsGlobal.daoSta.StaAssemblyWorkLastMapper; import com.dy.pmsGlobal.pojoBa.BaUser; import com.dy.pmsGlobal.pojoPlt.PltProduct; +import com.dy.pmsGlobal.pojoPlt.PltProductionLine; import com.dy.pmsGlobal.pojoPlt.PltStation; import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan; import com.dy.pmsGlobal.pojoPr.PrProductionNode; @@ -49,6 +51,7 @@ private StaAssemblyWorkHistoryMapper assemblyWorkHistoryDao; private PrProductionNodeMapper nodeDao; private PltProductMapper productDao; + private PltProductionLineMapper lineDao; @Autowired public void setAssemblyDao(PrAssemblyPlanMapper assemblyDao) { @@ -85,6 +88,10 @@ this.productDao = productDao; } + @Autowired + public void setLineDao(PltProductionLineMapper lineDao) { + this.lineDao = lineDao; + } public BaUser getUserInfo(String id) { Long userId = null; @@ -124,6 +131,13 @@ } else if (stationInfo.getDisabled()) { throw new RuntimeException("宸ョ珯(" + stationInfo.getName() + ")缂栫爜:" + stationId + "鍦ㄧ郴缁熷凡绂佺敤,璇峰厛鍚敤宸ョ珯"); } + //妫�鏌ョ嚎浣撴槸鍚﹁绂佺敤 + PltProductionLine lineInfo = lineDao.selectByPrimaryKey(stationInfo.getLineId()); + if (lineInfo == null ) { + throw new RuntimeException("宸ョ珯(" + stationInfo.getName() + ")缂栫爜:" + stationId + "鎵�鍦ㄧ嚎浣撶紪鐮�:" + lineInfo.getId() + "鍦ㄧ郴缁熶笉瀛樺湪,璇峰厛鎵剧鐞嗕汉鍛樻鏌�"); + }else if(lineInfo.getDisabled()){ + throw new RuntimeException("宸ョ珯(" + stationInfo.getName() + ")缂栫爜:" + stationId + "鎵�鍦ㄧ嚎浣撶紪鐮�:" + lineInfo.getName() + "鍦ㄧ郴缁熷凡绂佺敤,璇峰厛鍚敤绾夸綋"); + } return stationInfo; } @@ -157,17 +171,25 @@ param.setStationId(stationInfo.getId()); param.setStatus(STATUS_NORMAL); List<StaAssemblyWorkLast> workLasts = assemblyWorkLastDao.selectList(param); - long userId = userInfo.getId(); + //long userId = userInfo.getId(); if (workLasts.size() > 0) { - List<StaAssemblyWorkLast> userStationList = workLasts.stream().filter(item -> userId == item.getUserId()).collect(Collectors.toList()); - if (userStationList.size() == 0) { + StaAssemblyWorkLast paramQuery = new StaAssemblyWorkLast(); + paramQuery.setUserId(userInfo.getId()); + paramQuery.setStationId(stationInfo.getId()); + paramQuery.setPlanId(vo.getPlanId()); + paramQuery.setProcessId(vo.getProcessId()); + paramQuery.setNodeId(vo.getNodeId()); + paramQuery.setWorkType(vo.getWorkType()); + StaAssemblyWorkLast userStation = assemblyWorkLastDao.existsEntity(paramQuery); + //List<StaAssemblyWorkLast> userStationList = workLasts.stream().filter(item -> userId == item.getUserId()).collect(Collectors.toList()); + if (userStation == null) { //鍒犻櫎宸ョ珯鐧诲綍淇℃伅 for (int i = 0; i < workLasts.size(); i++) { logout(workLasts.get(i).getId().toString()); } //throw new RuntimeException("鍛樺伐(" +userInfo.getName() + ")缂栫爜:" + workLasts.get(0).getUserId() + "宸茬粡缁戝畾璇ュ伐绔�(" + stationInfo.getName() + ")缂栫爜:" + workLasts.get(0).getStationId() + ".璇峰厛璁╁叾瑙g粦"); } else { - BeanUtils.copyProperties(userStationList.get(0), result); + BeanUtils.copyProperties(userStation, result); } } if (result.getId() == null) { @@ -266,14 +288,8 @@ public StaAssemblyWorkLast save(QueryVo vo) { //鍏坈heck StaAssemblyWorkLast checkResult = checkUserAndStationUsed(vo); - //鏁版嵁閫愪釜灏佽杩斿洖 - 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(); + PrAssemblyPlan assyPlan = null; if (vo.getPlanId() != null) { assyPlan = assemblyDao.selectByPrimaryKey(vo.getPlanId()); if (assyPlan == null) { @@ -285,32 +301,28 @@ throw new RuntimeException("鑺傜偣淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇烽噸鏂伴�夋嫨鑺傜偣淇℃伅"); } } - - int count = 0; - if (checkResult.getId() == null) { - BeanUtils.copyProperties(vo, staLast);//vo鎷疯礉鍒皊taLast - staLast.setUserId(checkResult.getUserId()); - staLast.setStationId(checkResult.getStationId()); - staLast.setStatus(STATUS_NORMAL); - staLast.setStartTime(new Date()); - count = assemblyWorkLastDao.insertSelective(staLast); - } else { - //淇濆瓨涓�鏉istory? - BeanUtils.copyProperties(checkResult, staLast); + StaAssemblyWorkLast result = new StaAssemblyWorkLast(); + //鏌ヨ鍒板綋鍓嶇殑淇℃伅 濡傛灉鐧诲綍淇℃伅涓�妯′竴鏍�,涓嶄細鏇存柊 + if (checkResult.getId() != null) { + BeanUtils.copyProperties(checkResult, result);//checkResult鎷疯礉鍒皉esult + }else{ + //閫愪釜灏佽淇濆瓨 + BeanUtils.copyProperties(vo, result);//vo鎷疯礉鍒皉esult + result.setUserId(checkResult.getUserId()); + result.setStationId(checkResult.getStationId()); + result.setLineId(checkResult.getLineId()); + result.setStatus(STATUS_NORMAL); + result.setStartTime(new Date()); if (vo.getPlanId() != null) { - staLast.setPlanId(assyPlan.getId()); - staLast.setProcessId(assyPlan.getProcess().getId()); - staLast.setNodeId(vo.getNodeId()); + result.setPlanId(assyPlan.getId()); + result.setProcessId(assyPlan.getProcess().getId()); + result.setNodeId(vo.getNodeId()); } - staLast.setWorkType(vo.getWorkType()); - staLast.setStatus(STATUS_NORMAL); - staLast.setStartTime(new Date()); - count = assemblyWorkLastDao.updateByPrimaryKeySelective(staLast); + int count = assemblyWorkLastDao.insertSelective(result); + if (count <= 0) { + throw new RuntimeException("鏁版嵁搴撳瓨鍌ㄥけ璐�"); + } } - if (count <= 0) { - throw new RuntimeException("鏁版嵁搴撳瓨鍌ㄥけ璐�"); - } - StaAssemblyWorkLast result = assemblyWorkLastDao.selectByPrimaryKey(staLast.getId()); if (assyPlan != null) { List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream() .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList()); -- Gitblit v1.8.0