liuwj 1 year ago
parent
commit
c0913bd54f

+ 2 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/IItdmTaskService.java

@@ -11,4 +11,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IItdmTaskService extends IService<ItdmTask> {
 
+    public boolean insertTaskAfterJudge(ItdmTask task);
+
 }

+ 21 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/impl/ItdmTaskServiceImpl.java

@@ -1,12 +1,17 @@
 package org.jeecg.modules.itdmFirstPage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import org.jeecg.modules.itdmFirstPage.entity.ItdmTask;
 import org.jeecg.modules.itdmFirstPage.mapper.ItdmTaskMapper;
 import org.jeecg.modules.itdmFirstPage.service.IItdmTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.List;
+
 /**
  * @Description: 任务表
  * @Author: jeecg-boot
@@ -15,5 +20,21 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class ItdmTaskServiceImpl extends ServiceImpl<ItdmTaskMapper, ItdmTask> implements IItdmTaskService {
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmTaskMapper taskMapper;
 
+    public boolean insertTaskAfterJudge(ItdmTask task) {
+        ItdmTask queryTask = new ItdmTask();
+        queryTask.setTaskRole(task.getTaskRole());
+        queryTask.setTaskUser(task.getTaskUser());
+        queryTask.setTaskContent(task.getTaskContent());
+        queryTask.setWeituoId(task.getTaskContent());
+        QueryWrapper<ItdmTask> taskQueryWrapper = new QueryWrapper<>(task);
+        List<ItdmTask> list = taskMapper.selectList(taskQueryWrapper);
+        if(list.isEmpty()){
+            task.setTaskStatus(0);
+            return SqlHelper.retBool(this.getBaseMapper().insert(task));
+        }else return false;
+    }
 }

+ 122 - 119
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongDan/service/impl/ItdmJCXMSHJHServiceImpl.java

@@ -7,6 +7,7 @@ import org.jeecg.modules.itdmDevice.mapper.ItdmDeviceMapper;
 
 import org.jeecg.modules.itdmFirstPage.entity.ItdmTask;
 import org.jeecg.modules.itdmFirstPage.mapper.ItdmTaskMapper;
+import org.jeecg.modules.itdmFirstPage.service.IItdmTaskService;
 import org.jeecg.modules.itdmGongDan.entity.ItdmGongdanDetail;
 import org.jeecg.modules.itdmGongDan.entity.ItdmGongdanMaster;
 import org.jeecg.modules.itdmGongDan.entity.ItdmTestPlan;
@@ -61,6 +62,9 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
     @Autowired
     @SuppressWarnings("all")
     private ItdmTaskMapper taskMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    private IItdmTaskService taskService;
 
     /**
      *   删除2级工单master+对应的工单detail
@@ -83,14 +87,14 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
                 for (ItdmGongdanMaster m: masterList){
                     if (m.getWorker().equals(master.getWorker())) num++;
                 }
-                if(num==0){ //没有该操作员的任务了,删掉对应委托id和对应操作员的task
-                    ItdmTestPlan plan = itdmTestPlanMapper.selectById(master.getJihuaShiyanId());
-                    Map<String, Object> taskMap = new HashMap<>();
-                    taskMap.put("task_role","操作员");
-                    taskMap.put("task_user",master.getWorker());
-                    taskMap.put("weituo_id",plan.getWeituoId());
-                    taskMapper.deleteByMap(taskMap);
-                }
+//                if(num==0){ //没有该操作员的任务了,删掉对应委托id和对应操作员的task
+//                    ItdmTestPlan plan = itdmTestPlanMapper.selectById(master.getJihuaShiyanId());
+//                    Map<String, Object> taskMap = new HashMap<>();
+//                    taskMap.put("task_role","操作员");
+//                    taskMap.put("task_user",master.getWorker());
+//                    taskMap.put("weituo_id",plan.getWeituoId());
+//                    taskMapper.deleteByMap(taskMap);
+//                }
             }
 
             return "删除成功!";
@@ -138,31 +142,28 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
                     itdmGongdanDetailMapper.insert(detail);//新增对应日期的工单detail
                 }
 
-                //先判断有无该操作员的试验实施的task
-                ItdmTask i = new ItdmTask();
-                i.setTaskRole("试验实施");
-                i.setTaskUser(vo.getWorker());
-                QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(i);
-                List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
-                if(tList == null || tList.isEmpty() || tList.get(0)==null){ //原来没有,新增一条操作员试验实施的task
-                    ItdmTask itdmTask = new ItdmTask();
-                    itdmTask.setTaskRole("操作员");
-                    itdmTask.setTaskUser(vo.getWorker());//操作员
-                    itdmTask.setTaskStatus(0);//待办
-                    itdmTask.setWeituoId(vo.getWeituoId());
-                    itdmTask.setTaskContent("试验实施");
-                    taskMapper.insert(itdmTask);
-                }
+//                //先判断有无该操作员的试验实施的task
+//                ItdmTask i = new ItdmTask();
+//                i.setTaskRole("试验实施");
+//                i.setTaskUser(vo.getWorker());
+//                QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(i);
+//                List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
+//                if(tList == null || tList.isEmpty() || tList.get(0)==null){ //原来没有,新增一条操作员试验实施的task
+//                    ItdmTask itdmTask = new ItdmTask();
+//                    itdmTask.setTaskRole("操作员");
+//                    itdmTask.setTaskUser(vo.getWorker());//操作员
+//                    itdmTask.setTaskStatus(0);//待办
+//                    itdmTask.setWeituoId(vo.getWeituoId());
+//                    itdmTask.setTaskContent("试验实施");
+//                    taskMapper.insert(itdmTask);
+//                }
                 //修改项目经理拆解工单task状态为1进行中——需要先判断
                 Map<String, Object> testPlanMap = new HashMap<>();
                 testPlanMap.put("weituo_id",vo.getWeituoId());
                 testPlanMap.put("pm",vo.getPm());
+                testPlanMap.put("status",0); //未确认
                 List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectByMap(testPlanMap);
-                int num =0;
-                for(ItdmTestPlan p:testPlanList){
-                    if(p.getStatus()==0) num++; //未确认
-                }
-                if(num==0){ //都已确认
+                if(testPlanList == null || testPlanList.isEmpty() || testPlanList.get(0)==null){ //都已确认
                     Map<String, Object> columnMap = new HashMap<>();
                     columnMap.put("task_role","项目经理");
                     columnMap.put("weituo_id",vo.getWeituoId());
@@ -177,9 +178,9 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
             }else {//非空,则修改——先判断能否修改
                 if(vo.getShijiStartDate()==null){//此时可以修改
 
-                    ItdmGongdanMaster master = itdmGongdanMasterMapper.selectById(vo.getId());
-                    String workerBefore = master.getWorker(); //原来的操作员
-                    String workerNow = vo.getWorker(); //现在的操作员
+//                    ItdmGongdanMaster master = itdmGongdanMasterMapper.selectById(vo.getId());
+//                    String workerBefore = master.getWorker(); //原来的操作员
+//                    String workerNow = vo.getWorker(); //现在的操作员
 
                     //先修改工单master
                     ItdmGongdanMaster itdmGongdanMaster = ItdmXMJLQueryListVO.toItdmGongdanMaster(vo);
@@ -212,68 +213,55 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
                         itdmGongdanDetailMapper.insert(detail);//新增对应日期的工单detail
                     }
 
-                    if(!workerBefore.equals(workerNow)){ //操作员改了
-                        //查该委托单id、原操作员对应的工单master列表,若为空删除委托地、原操作员对应的task
-                        int m = 0;
-                        QueryWrapper<ItdmTestPlan> planWrapper1 = new QueryWrapper<>();
-                        planWrapper1.eq("weituo_id",vo.getWeituoId());
-                        planWrapper1.eq("pm",vo.getPm());
-                        List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectList(planWrapper1);
-                        if(testPlanList == null || testPlanList.isEmpty() || testPlanList.get(0)==null){
-                            for (ItdmTestPlan p:testPlanList){
-                                QueryWrapper<ItdmGongdanMaster> planWrapper2 = new QueryWrapper<>();
-                                planWrapper2.eq("jihua_shiyan_id",p.getId());
-                                planWrapper2.eq("worker",workerBefore);
-                                List<ItdmGongdanMaster> masterList = itdmGongdanMasterMapper.selectList(planWrapper2);
-                                if(masterList != null && !masterList.isEmpty() && masterList.get(0)!=null) m++;
-                            }
-
-                            if(m==0){
-                                QueryWrapper<ItdmTask> taskWrapper = new QueryWrapper<>();
-                                taskWrapper.eq("weituo_id",vo.getWeituoId());
-                                taskWrapper.eq("taskRole","操作员");
-                                taskWrapper.eq("task_user",workerBefore);
-                                taskMapper.delete(taskWrapper);
-                            }
-                        }
-                        //查该委托单id、新操作员对应的task列表,若为空则新增新操作员的task
-                        ItdmTask iTask = new ItdmTask();
-                        iTask.setTaskRole("操作员");
-                        iTask.setTaskUser(workerNow);
-                        iTask.setWeituoId(vo.getWeituoId());
-                        QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(iTask);
-                        List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
-                        if(tList == null || tList.isEmpty() || tList.get(0)==null){ //没有的话新增该委托id、新操作员的task
-                            ItdmTask nItdmTask = new ItdmTask();
-                            nItdmTask.setTaskUser(workerNow);
-                            nItdmTask.setWeituoId(vo.getWeituoId());
-                            nItdmTask.setTaskRole("操作员");
-                            nItdmTask.setTaskContent("试验实施");
-                            nItdmTask.setTaskStatus(0);
-                            taskMapper.insert(nItdmTask);
-                        }
-                    }
-
-//                    //修改项目经理拆解工单task的操作员
-//                    Map<String, Object> columnMap = new HashMap<>();
-//                    columnMap.put("task_role","项目经理");
-//                    columnMap.put("weituo_id",vo.getWeituoId());
-//                    List<ItdmTask> taskList = taskMapper.selectByMap(columnMap);
-//                    if(taskList != null && !taskList.isEmpty() && taskList.get(0)!=null){
-//                        ItdmTask itdmTask1 = taskList.get(0);
-//                        itdmTask1.setTaskUser(vo.getWorker());
-//                        taskMapper.updateById(itdmTask1);
+//                    if(!workerBefore.equals(workerNow)){ //操作员改了
+//                        //查该委托单id、原操作员对应的工单master列表,若为空删除委托地、原操作员对应的task
+//                        int m = 0;
+//                        QueryWrapper<ItdmTestPlan> planWrapper1 = new QueryWrapper<>();
+//                        planWrapper1.eq("weituo_id",vo.getWeituoId());
+//                        planWrapper1.eq("pm",vo.getPm());
+//                        List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectList(planWrapper1);
+//                        if(testPlanList == null || testPlanList.isEmpty() || testPlanList.get(0)==null){
+//                            for (ItdmTestPlan p:testPlanList){
+//                                QueryWrapper<ItdmGongdanMaster> planWrapper2 = new QueryWrapper<>();
+//                                planWrapper2.eq("jihua_shiyan_id",p.getId());
+//                                planWrapper2.eq("worker",workerBefore);
+//                                List<ItdmGongdanMaster> masterList = itdmGongdanMasterMapper.selectList(planWrapper2);
+//                                if(masterList != null && !masterList.isEmpty() && masterList.get(0)!=null) m++;
+//                            }
+//
+//                            if(m==0){
+//                                QueryWrapper<ItdmTask> taskWrapper = new QueryWrapper<>();
+//                                taskWrapper.eq("weituo_id",vo.getWeituoId());
+//                                taskWrapper.eq("taskRole","操作员");
+//                                taskWrapper.eq("task_user",workerBefore);
+//                                taskMapper.delete(taskWrapper);
+//                            }
+//                        }
+//                        //查该委托单id、新操作员对应的task列表,若为空则新增新操作员的task
+//                        ItdmTask iTask = new ItdmTask();
+//                        iTask.setTaskRole("操作员");
+//                        iTask.setTaskUser(workerNow);
+//                        iTask.setWeituoId(vo.getWeituoId());
+//                        QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(iTask);
+//                        List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
+//                        if(tList == null || tList.isEmpty() || tList.get(0)==null){ //没有的话新增该委托id、新操作员的task
+//                            ItdmTask nItdmTask = new ItdmTask();
+//                            nItdmTask.setTaskUser(workerNow);
+//                            nItdmTask.setWeituoId(vo.getWeituoId());
+//                            nItdmTask.setTaskRole("操作员");
+//                            nItdmTask.setTaskContent("试验实施");
+//                            nItdmTask.setTaskStatus(0);
+//                            taskMapper.insert(nItdmTask);
+//                        }
 //                    }
+
                     //修改项目经理拆解工单task状态为1进行中——需要先判断
                     Map<String, Object> testPlanMap = new HashMap<>();
                     testPlanMap.put("weituo_id",vo.getWeituoId());
                     testPlanMap.put("pm",vo.getPm());
+                    testPlanMap.put("status",0);//未确认状态
                     List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectByMap(testPlanMap);
-                    int num =0;
-                    for(ItdmTestPlan p:testPlanList){
-                        if(p.getStatus()==0) num++; //未确认
-                    }
-                    if(num==0){ //都已确认
+                    if(testPlanList == null || testPlanList.isEmpty() || testPlanList.get(0)==null){ //都已确认
                         Map<String, Object> map = new HashMap<>();
                         map.put("task_role","项目经理");
                         map.put("weituo_id",vo.getWeituoId());
@@ -341,21 +329,28 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
                     detail.setChuanganqi(vo.getChuanganqi());
                     itdmGongdanDetailMapper.insert(detail);
                 }
-                //先判断有无该pm的项目经理拆解工单的task
-                ItdmTask i = new ItdmTask();
-                i.setTaskRole("项目经理");
-                i.setTaskUser(vo.getPm());
-                QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(i);
-                List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
-                if(tList == null || tList.isEmpty() || tList.get(0)==null){ //原来没有,新增一条
-                    ItdmTask itdmTask = new ItdmTask();
-                    itdmTask.setTaskRole("项目经理");
-                    itdmTask.setTaskUser(vo.getPm());
-                    itdmTask.setTaskStatus(0);//待办
-                    itdmTask.setWeituoId(vo.getWeituoId());
-                    itdmTask.setTaskContent("拆解工单");
-                    taskMapper.insert(itdmTask);
-                }
+                //新增该pm的项目经理拆解工单的task
+                ItdmTask itdmTask = new ItdmTask();
+                itdmTask.setTaskRole("项目经理");
+                itdmTask.setTaskUser(vo.getPm());
+                itdmTask.setWeituoId(vo.getWeituoId());
+                itdmTask.setTaskContent("拆解工单");
+                itdmTask.setTaskStatus(0);//待办
+                taskService.insertTaskAfterJudge(itdmTask);
+//                ItdmTask i = new ItdmTask();
+//                i.setTaskRole("项目经理");
+//                i.setTaskUser(vo.getPm());
+//                QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(i);
+//                List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
+//                if(tList == null || tList.isEmpty() || tList.get(0)==null){ //原来没有,新增一条
+//                    ItdmTask itdmTask = new ItdmTask();
+//                    itdmTask.setTaskRole("项目经理");
+//                    itdmTask.setTaskUser(vo.getPm());
+//                    itdmTask.setTaskStatus(0);//待办
+//                    itdmTask.setWeituoId(vo.getWeituoId());
+//                    itdmTask.setTaskContent("拆解工单");
+//                    taskMapper.insert(itdmTask);
+//                }
 
                 //修改计划员计划排期task状态为1进行中
                 Map<String, Object> columnMap = new HashMap<>();
@@ -379,10 +374,10 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
                 //先判断有没有改项目经理
                 String pmplan = plan.getPm();
                 String pmVO = vo.getPm();
-                if(!plan.getPm().equals(vo.getPm())){ //改了:
+                if(!pmplan.equals(pmVO)){  //改了:
                     QueryWrapper<ItdmTestPlan> planWrapper1 = new QueryWrapper<>();
                     planWrapper1.eq("weituo_id",vo.getWeituoId());
-                    planWrapper1.eq("pm",plan.getPm());
+                    planWrapper1.eq("pm",pmplan); //原来的
                     List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectList(planWrapper1);
                     if(testPlanList == null || testPlanList.isEmpty() || testPlanList.get(0)==null){
                         //该委托id、原pm对应试验计划列表若为空删除原pm、项目经理、委托id对应的task
@@ -394,21 +389,29 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
                     }
 
                     //查原来该委托id,项目经理,新pm的task
-                    ItdmTask iTask = new ItdmTask();
-                    iTask.setTaskRole("项目经理");
-                    iTask.setTaskUser(vo.getPm());
-                    iTask.setWeituoId(vo.getWeituoId());
-                    QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(iTask);
-                    List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
-                    if(tList == null || tList.isEmpty() || tList.get(0)==null){ //没有的话新增该委托id的项目经理task
-                        ItdmTask nItdmTask = new ItdmTask();
-                        nItdmTask.setTaskUser(vo.getPm());
-                        nItdmTask.setWeituoId(vo.getWeituoId());
-                        nItdmTask.setTaskRole("项目经理");
-                        nItdmTask.setTaskContent("拆解工单");
-                        nItdmTask.setTaskStatus(0);
-                        taskMapper.insert(nItdmTask);
-                    }
+                    ItdmTask nItdmTask = new ItdmTask();
+                    nItdmTask.setTaskUser(vo.getPm());
+                    nItdmTask.setWeituoId(vo.getWeituoId());
+                    nItdmTask.setTaskRole("项目经理");
+                    nItdmTask.setTaskContent("拆解工单");
+                    nItdmTask.setTaskStatus(0);
+                    taskService.insertTaskAfterJudge(nItdmTask);
+
+//                    ItdmTask iTask = new ItdmTask();
+//                    iTask.setTaskRole("项目经理");
+//                    iTask.setTaskUser(vo.getPm());
+//                    iTask.setWeituoId(vo.getWeituoId());
+//                    QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(iTask);
+//                    List<ItdmTask> tList= taskMapper.selectList(queryWrapper);
+//                    if(tList == null || tList.isEmpty() || tList.get(0)==null){ //没有的话新增该委托id的项目经理task
+//                        ItdmTask nItdmTask = new ItdmTask();
+//                        nItdmTask.setTaskUser(vo.getPm());
+//                        nItdmTask.setWeituoId(vo.getWeituoId());
+//                        nItdmTask.setTaskRole("项目经理");
+//                        nItdmTask.setTaskContent("拆解工单");
+//                        nItdmTask.setTaskStatus(0);
+//                        taskMapper.insert(nItdmTask);
+//                    }
                 }
 
                 //查原来的工单master