|
@@ -1,6 +1,7 @@
|
|
|
package org.jeecg.modules.itdmGongDan.service.impl;
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import org.jeecg.modules.itdmDevice.mapper.ItdmDeviceMapper;
|
|
|
|
|
@@ -136,17 +137,26 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
detail.setChuanganqi(vo.getChuanganqi());
|
|
|
itdmGongdanDetailMapper.insert(detail);//新增对应日期的工单detail
|
|
|
}
|
|
|
- //新增一条操作员工单制定的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());
|
|
|
List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectByMap(testPlanMap);
|
|
|
int num =0;
|
|
|
for(ItdmTestPlan p:testPlanList){
|
|
@@ -156,8 +166,9 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
Map<String, Object> columnMap = new HashMap<>();
|
|
|
columnMap.put("task_role","项目经理");
|
|
|
columnMap.put("weituo_id",vo.getWeituoId());
|
|
|
+ columnMap.put("task_user",vo.getPm());
|
|
|
List<ItdmTask> taskList = taskMapper.selectByMap(columnMap);
|
|
|
- if(taskList!=null) {
|
|
|
+ if(taskList != null && !taskList.isEmpty() && taskList.get(0)!=null) {
|
|
|
ItdmTask itdmTask1 = taskList.get(0);
|
|
|
itdmTask1.setTaskStatus(1);
|
|
|
taskMapper.updateById(itdmTask1);
|
|
@@ -165,6 +176,11 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
}
|
|
|
}else {//非空,则修改——先判断能否修改
|
|
|
if(vo.getShijiStartDate()==null){//此时可以修改
|
|
|
+
|
|
|
+ ItdmGongdanMaster master = itdmGongdanMasterMapper.selectById(vo.getId());
|
|
|
+ String workerBefore = master.getWorker(); //原来的操作员
|
|
|
+ String workerNow = vo.getWorker(); //现在的操作员
|
|
|
+
|
|
|
//先修改工单master
|
|
|
ItdmGongdanMaster itdmGongdanMaster = ItdmXMJLQueryListVO.toItdmGongdanMaster(vo);
|
|
|
itdmGongdanMaster.setId(vo.getId());
|
|
@@ -196,19 +212,62 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
itdmGongdanDetailMapper.insert(detail);//新增对应日期的工单detail
|
|
|
}
|
|
|
|
|
|
- //修改项目经理拆解工单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) {
|
|
|
- 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的操作员
|
|
|
+// 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);
|
|
|
+// }
|
|
|
//修改项目经理拆解工单task状态为1进行中——需要先判断
|
|
|
Map<String, Object> testPlanMap = new HashMap<>();
|
|
|
testPlanMap.put("weituo_id",vo.getWeituoId());
|
|
|
+ testPlanMap.put("pm",vo.getPm());
|
|
|
List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectByMap(testPlanMap);
|
|
|
int num =0;
|
|
|
for(ItdmTestPlan p:testPlanList){
|
|
@@ -218,8 +277,9 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("task_role","项目经理");
|
|
|
map.put("weituo_id",vo.getWeituoId());
|
|
|
+ map.put("task_user",vo.getPm());
|
|
|
List<ItdmTask> tList = taskMapper.selectByMap(map);
|
|
|
- if(tList!=null) {
|
|
|
+ if(tList != null && !tList.isEmpty() && tList.get(0)!=null){
|
|
|
ItdmTask itdmTask1 = tList.get(0);
|
|
|
itdmTask1.setTaskStatus(1);
|
|
|
taskMapper.updateById(itdmTask1);
|
|
@@ -281,14 +341,22 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
detail.setChuanganqi(vo.getChuanganqi());
|
|
|
itdmGongdanDetailMapper.insert(detail);
|
|
|
}
|
|
|
- //新增一条项目经理计划拆单的task
|
|
|
- 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 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<>();
|
|
|
columnMap.put("task_role","计划员");
|
|
@@ -300,18 +368,49 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
|
taskMapper.updateById(itdmTask1);
|
|
|
}
|
|
|
}else if(vo.getStatus() == 0){//状态为“未确定”,可以修改试验计划
|
|
|
+
|
|
|
+ QueryWrapper<ItdmTestPlan> planWrapper = new QueryWrapper<>();
|
|
|
+ planWrapper.eq("id",vo.getTestPlanId());
|
|
|
+ ItdmTestPlan plan = itdmTestPlanMapper.selectOne(planWrapper);//原计划试验对象
|
|
|
+
|
|
|
itdmTestPlan.setId(vo.getTestPlanId());
|
|
|
- itdmTestPlanMapper.updateById(itdmTestPlan);
|
|
|
- //修改计划拆单的项目经理
|
|
|
- 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) {
|
|
|
- ItdmTask itdmTask1 = taskList.get(0);
|
|
|
- itdmTask1.setTaskUser(vo.getPm());
|
|
|
- taskMapper.updateById(itdmTask1);
|
|
|
+ itdmTestPlanMapper.updateById(itdmTestPlan);//修改试验计划
|
|
|
+
|
|
|
+ //先判断有没有改项目经理
|
|
|
+ String pmplan = plan.getPm();
|
|
|
+ String pmVO = vo.getPm();
|
|
|
+ if(!plan.getPm().equals(vo.getPm())){ //改了:
|
|
|
+ QueryWrapper<ItdmTestPlan> planWrapper1 = new QueryWrapper<>();
|
|
|
+ planWrapper1.eq("weituo_id",vo.getWeituoId());
|
|
|
+ planWrapper1.eq("pm",plan.getPm());
|
|
|
+ List<ItdmTestPlan> testPlanList = itdmTestPlanMapper.selectList(planWrapper1);
|
|
|
+ if(testPlanList == null || testPlanList.isEmpty() || testPlanList.get(0)==null){
|
|
|
+ //该委托id、原pm对应试验计划列表若为空删除原pm、项目经理、委托id对应的task
|
|
|
+ QueryWrapper<ItdmTask> taskWrapper = new QueryWrapper<>();
|
|
|
+ taskWrapper.eq("weituo_id",vo.getWeituoId());
|
|
|
+ taskWrapper.eq("taskRole","项目经理");
|
|
|
+ taskWrapper.eq("task_user",plan.getPm());
|
|
|
+ taskMapper.delete(taskWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ //查原来该委托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);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//查原来的工单master
|
|
|
Map<String, Object> masterMap = new HashMap<>();
|
|
|
masterMap.put("jihua_shiyan_id",itdmTestPlan.getId());
|