yusm 6 днів тому
батько
коміт
9da5283494

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanController.java

@@ -91,7 +91,7 @@ public class PlanController {
     }
 
     /**
-     * 改派工序到别的工位
+     * 取消改派工序到别的工位
      * @param ids
      * @param request
      * @return

+ 20 - 3
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -1300,6 +1300,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             msg.setError("请传递关键信息");
             return msg;
         }
+        String token = request.getHeader("Token");
+        User user = userMapper.selectById(token);
         String[] strings = ids.split(",");
         List<String> collect = Arrays.stream(strings).collect(Collectors.toList());
         List<PlanProcedureTotal> totalList = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>().in("id", collect));
@@ -1308,7 +1310,13 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             msg.setError("存在工序已被转派,不能再次转派");
             return msg;
         }
-        boolean update = planProcedureTotalService.update(new UpdateWrapper<PlanProcedureTotal>().set("station_id", stationId).set("isTransfer", 1).in("id", collect));
+        PlanProcedureTotal procedureTotal = totalList.get(0);
+        Plan plan = planMapper.selectById(procedureTotal.getPlanId());
+        if (!plan.getStationId().equals(user.getDepartmentId())){
+            msg.setError("不是计划初始分配的工位,不能转派");
+            return msg;
+        }
+        boolean update = planProcedureTotalService.update(new UpdateWrapper<PlanProcedureTotal>().set("station_id", stationId).set("is_transfer", 1).in("id", collect));
         //todo 发送改派通知
         return msg;
     }
@@ -1320,15 +1328,24 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             msg.setError("请传递关键信息");
             return msg;
         }
+        String token = request.getHeader("Token");
+        User user = userMapper.selectById(token);
         String[] strings = ids.split(",");
         List<String> collect = Arrays.stream(strings).collect(Collectors.toList());
         List<PlanProcedureTotal> totalList = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>().in("id", collect));
-        boolean b = totalList.stream().anyMatch(a -> a.getIsTransfer() == 1);
+        boolean b = totalList.stream().anyMatch(a -> a.getIsTransfer() != 1);
         if (b){
             msg.setError("存在工序未被转派,不能取消转派");
             return msg;
         }
-        boolean update = planProcedureTotalService.update(new UpdateWrapper<PlanProcedureTotal>().set("station_id",null).set("isTransfer", 0).in("id", collect));
+        PlanProcedureTotal procedureTotal = totalList.get(0);
+        Plan plan = planMapper.selectById(procedureTotal.getPlanId());
+        if (!plan.getStationId().equals(user.getDepartmentId())){
+            msg.setError("不是计划初始分配的工位,不能取消转派");
+            return msg;
+        }
+
+        boolean update = planProcedureTotalService.update(new UpdateWrapper<PlanProcedureTotal>().set("station_id",null).set("is_transfer", 0).in("id", collect));
         //todo 发送改派通知
         return msg;
     }