yusm пре 3 дана
родитељ
комит
09923109d8

+ 2 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/DepartmentController.java

@@ -67,8 +67,8 @@ public class DepartmentController {
     }
 
     @RequestMapping("/listAllMemb")
-    public HttpRespMsg listAllMemb(HttpServletRequest request,String keyword,String cursor) throws Exception {
-        return departmentService.listAllMemb(request,keyword,cursor);
+    public HttpRespMsg listAllMemb(HttpServletRequest request,String keyword,String cursor,Integer deptId) throws Exception {
+        return departmentService.listAllMemb(request,keyword,cursor,deptId);
     }
 
     //获取我可以管辖到的人员列表,进行代填时选择的人员列表用到

+ 5 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/Department.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.List;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -93,6 +95,9 @@ public class Department extends Model<Department> {
     @TableField("feishu_deptid")
     private String feishuDeptid;
 
+    @TableField(exist = false)
+    private List<User> userList;
+
 
     @Override
     protected Serializable pkVal() {

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/DepartmentService.java

@@ -36,7 +36,7 @@ public interface DepartmentService extends IService<Department> {
 
     HttpRespMsg exportUserStatistic(String startDate, String endDate, String userIds, HttpServletRequest request);
 
-    HttpRespMsg listAllMemb(HttpServletRequest request,String keyword,String cursor) throws Exception;
+    HttpRespMsg listAllMemb(HttpServletRequest request,String keyword,String cursor,Integer deptId) throws Exception;
 
     HttpRespMsg listMyMembs(HttpServletRequest request);
 

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

@@ -936,7 +936,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 //    }
 
     @Override
-    public HttpRespMsg listAllMemb(HttpServletRequest request,String keyword,String cursor) throws Exception {
+    public HttpRespMsg listAllMemb(HttpServletRequest request,String keyword,String cursor,Integer deptId) throws Exception {
         Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
         HttpRespMsg msg = new HttpRespMsg();
         List<HashMap> userMapList = new ArrayList<>();
@@ -1002,26 +1002,37 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             ArrayList<Object> emptyList = new ArrayList<>();
             msg.data = emptyList;
             return msg;
-        }else {
-            HttpRespMsg departmentList = departmentService.getDepartmentList(request);
-            List<DepartmentVO> list = (List<DepartmentVO>) departmentList.data;
-            //加上未分配的部门
-            DepartmentVO unAssignedDept = new DepartmentVO();
-            unAssignedDept.setId(0);
-            //unAssignedDept.setLabel("未分配");
-            unAssignedDept.setLabel(MessageUtils.message("department.noDistribution"));
-            list.add(unAssignedDept);
-            //获取公司全部人员
-            List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active", 1));
-            for (User u : userList) {
-                HashMap<String, Object> user = new HashMap<String, Object>();
-                user.put("id", u.getId());
-                user.put("name", u.getName());
-                user.put("departmentId", u.getDepartmentId());
-                userMapList.add(user);
+        }
+        else {
+            if (deptId==null) {
+                HttpRespMsg departmentList = departmentService.getDepartmentList(request);
+                List<DepartmentVO> list = (List<DepartmentVO>) departmentList.data;
+                //加上未分配的部门
+                DepartmentVO unAssignedDept = new DepartmentVO();
+                unAssignedDept.setId(0);
+                //unAssignedDept.setLabel("未分配");
+                unAssignedDept.setLabel(MessageUtils.message("department.noDistribution"));
+                list.add(unAssignedDept);
+                //获取公司全部人员
+                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active", 1));
+                for (User u : userList) {
+                    HashMap<String, Object> user = new HashMap<String, Object>();
+                    user.put("id", u.getId());
+                    user.put("name", u.getName());
+                    user.put("departmentId", u.getDepartmentId());
+                    userMapList.add(user);
+                }
+                fillDeptUser(list, userMapList);
+                msg.data = list;
+            }else {
+                List<Department> list = departmentService.list(new QueryWrapper<Department>().eq("department_id", deptId));
+                List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId)
+                        .eq("is_active", 1).eq("department_id", deptId));
+                Department department = list.get(0);
+                department.setUserList(userList);
+                list.set(0, department);
+                msg.data = list;
             }
-            fillDeptUser(list, userMapList);
-            msg.data = list;
             return msg;
         }
     }

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

@@ -1236,17 +1236,20 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                                 new LambdaQueryWrapper<PlanProcedureTotal>()
                                         .eq(PlanProcedureTotal::getPlanId, plan.getId())
                                         .eq(PlanProcedureTotal::getStationId,userSelect.getDepartmentId())
+                                        .ne(PlanProcedureTotal::getTotalProgress,100)
                         );
                     }
                     //看其他工位的
                     else if (stationType==1){
                         procedureTotals = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>()
                                 .eq("plan_id", plan.getId())
-                                .ne("station_id", userSelect.getDepartmentId()));
+                                .ne("station_id", userSelect.getDepartmentId())
+                                .ne("total_progress",100)
+                        );
                     }
                     //全部
                     else {
-                        procedureTotals = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>().eq("plan_id", plan.getId()));
+                        procedureTotals = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>().eq("plan_id", plan.getId()).ne("total_progress",100));
                     }
                     List<Integer> procedureIds = procedureTotals.stream().map(PlanProcedureTotal::getProdProcedureId).distinct().collect(Collectors.toList());
                     procedureIds.add(-1);
@@ -1294,6 +1297,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
     }
 
     @Override
+    @Transactional
     public HttpRespMsg planDetailTransStation(String ids, Integer stationId, HttpServletRequest request) {
         HttpRespMsg msg = new HttpRespMsg();
         if (StringUtils.isEmpty(ids)) {
@@ -1320,7 +1324,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         //todo 发送改派通知
         if (update){
             List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("department_id", stationId).eq("work_type", "工位长"));
-            List<ProdProcedure> procedureList = prodProcedureMapper.selectList(new QueryWrapper<ProdProcedure>().in("id", totalList.stream().map(PlanProcedureTotal::getProdProcedureId)));
+            List<ProdProcedure> procedureList = prodProcedureMapper.selectList(new QueryWrapper<ProdProcedure>().in("id",totalList.stream().map(PlanProcedureTotal::getProdProcedureId).collect(Collectors.toList())));
             String procedureNames = procedureList.stream().map(ProdProcedure::getName).collect(Collectors.joining("|"));
             if (!userList.isEmpty()){
                 List<WxCorpInfo> wxCorpInfoList = wxCorpInfoService.list(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
@@ -1338,6 +1342,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
     }
 
     @Override
+    @Transactional
     public HttpRespMsg planDetailCancelTransfer(String ids, HttpServletRequest request) {
         HttpRespMsg msg = new HttpRespMsg();
         if (StringUtils.isEmpty(ids)) {
@@ -1360,20 +1365,20 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             msg.setError("不是计划初始分配的工位,不能取消转派");
             return msg;
         }
-        //todo 改派完之后分配好,不能再去取消改派
+        // 改派完之后分配好,不能再去取消改派
         List<ProdProcedureTeam> teamList = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().in("plan_procedure_id", collect));
         if (!teamList.isEmpty()){
             msg.setError("已经分配好,不能取消转派");
             return msg;
         }
-        boolean update = planProcedureTotalService.update(new UpdateWrapper<PlanProcedureTotal>().set("station_id",null).set("is_transfer", 0).in("id", collect));
-        //todo 发送改派通知
+        boolean update = planProcedureTotalService.update(new UpdateWrapper<PlanProcedureTotal>().set("station_id",plan.getStationId()).set("is_transfer", 0).in("id", collect));
+        // 发送改派通知
         if (update){
             List<Integer> stationList = totalList.stream().distinct().map(PlanProcedureTotal::getStationId).collect(Collectors.toList());
             if (!stationList.isEmpty()){
                 for (Integer stationId : stationList) {
                     List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("department_id", stationId).eq("work_type", "工位长"));
-                    List<ProdProcedure> procedureList = prodProcedureMapper.selectList(new QueryWrapper<ProdProcedure>().in("id", totalList.stream().map(PlanProcedureTotal::getProdProcedureId)));
+                    List<ProdProcedure> procedureList = prodProcedureMapper.selectList(new QueryWrapper<ProdProcedure>().in("id", totalList.stream().map(PlanProcedureTotal::getProdProcedureId).collect(Collectors.toList())));
                     String procedureNames = procedureList.stream().map(ProdProcedure::getName).collect(Collectors.joining("|"));
                     if (!userList.isEmpty()){
                         List<WxCorpInfo> wxCorpInfoList = wxCorpInfoService.list(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
@@ -1470,6 +1475,15 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         List<ProdProcedureTeam> list=new ArrayList<>();
         if(!StringUtils.isEmpty(teamIds)){
             String[] team = teamIds.split(",");
+            for (String userId : team) {
+                User user = userMapper.selectById(userId);
+                if (planProcedureTotal.getIsTransfer()==1){
+                    if (!user.getDepartmentId().equals(planProcedureTotal.getStationId())){
+                        msg.setError("针对改派后的工序:"+user.getName()+"不是该部门的人员,不能分配");
+                        return msg;
+                    }
+                }
+            }
             totalWages=totalWages.divide(new BigDecimal(team.length),1, RoundingMode.HALF_UP);
             totalWorkingHours=totalWorkingHours.divide(new BigDecimal(team.length),1, RoundingMode.HALF_UP);
             overCountWages=totalWages.multiply(new BigDecimal(team.length));