From d5ed2998a3d11b6380dc6198e55d79969f3cb30b Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 23 七月 2024 17:30:09 +0800
Subject: [PATCH] login

---
 pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java      |   66 ++++++++++++++++-----------------
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java |    2 +
 2 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java
index dea48a6..2d327a9 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java
@@ -33,4 +33,6 @@
     Long selectSomeCount(Map<String, Object> params);
 
     List<StaAssemblyWorkLast> selectSome(Map<String, Object> params);
+
+    StaAssemblyWorkLast existsEntity(StaAssemblyWorkLast record);
 }
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..03fe92e 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
@@ -157,17 +157,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 +274,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 +287,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