|
@@ -21,9 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@@ -56,9 +54,26 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
private ItdmGongdanDetailMapper itdmGongdanDetailMapper;
|
|
private ItdmGongdanDetailMapper itdmGongdanDetailMapper;
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 删除2级工单master+对应的工单detail
|
|
|
|
+ */
|
|
|
|
+ public String deleteByGongdanMasterId(String id){
|
|
|
|
+ ItdmGongdanMaster master = itdmGongdanMasterMapper.selectById(id);
|
|
|
|
+ if(master.getShijiStartDate()==null) {//此时可以删除
|
|
|
|
+ itdmGongdanMasterMapper.deleteById(id);
|
|
|
|
+
|
|
|
|
+ //然后删原来的工单detail
|
|
|
|
+ Map<String, Object> columnMap = new HashMap<>();
|
|
|
|
+ columnMap.put("wo_id",id);
|
|
|
|
+ itdmGongdanDetailMapper.deleteByMap(columnMap);
|
|
|
|
+
|
|
|
|
+ return "删除成功!";
|
|
|
|
+ }else return "不可删除!";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
* 项目经理新增或修改试验计划或工单master
|
|
* 项目经理新增或修改试验计划或工单master
|
|
*/
|
|
*/
|
|
- // TODO 初版,前端单个提交,还要改,前端可能用整体提交——删除怎么办
|
|
|
|
public String XMJLAddOrUpdate(ItdmXMJLQueryListVO vo){
|
|
public String XMJLAddOrUpdate(ItdmXMJLQueryListVO vo){
|
|
String msg = "操作成功!";
|
|
String msg = "操作成功!";
|
|
|
|
|
|
@@ -70,25 +85,18 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
}
|
|
}
|
|
vo.setChuanganqi(chuanganqi);
|
|
vo.setChuanganqi(chuanganqi);
|
|
|
|
|
|
- if(vo.getParent()==null){//一级,不能新增或删除,只能修改——需判断能否修改
|
|
|
|
- int num = 0;
|
|
|
|
- List<ItdmGongdanMaster> list = itdmGongdanMasterMapper.selectList(Wrappers.lambdaQuery(ItdmGongdanMaster.class)
|
|
|
|
- .eq(ItdmGongdanMaster::getJihuaShiyanId,vo.getTestPlanId()));
|
|
|
|
- if(list != null && !list.isEmpty() && list.get(0)!=null){
|
|
|
|
- for (ItdmGongdanMaster m: list){
|
|
|
|
- if(m.getShijiStartDate()!=null) num++;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if(num==0){//工单master均没有实绩开始时间,可以修改
|
|
|
|
- ItdmTestPlan itdmTestPlan = ItdmXMJLQueryListVO.toItdmTestPlan(vo);
|
|
|
|
- itdmTestPlanMapper.updateById(itdmTestPlan);
|
|
|
|
- }else msg = "不可修改!";
|
|
|
|
- }else { //二级,先根据id查询工单master,判断有无该对象存在,无的话为新增,有的话修改
|
|
|
|
|
|
+ if(vo.getParent()!=null){ //二级,先根据id查询工单master,判断有无该对象存在,无的话为新增,有的话修改
|
|
ItdmGongdanMaster gongdanMaster = itdmGongdanMasterMapper.selectById(vo.getId());
|
|
ItdmGongdanMaster gongdanMaster = itdmGongdanMasterMapper.selectById(vo.getId());
|
|
|
|
+
|
|
if(gongdanMaster==null){//是新增的数据
|
|
if(gongdanMaster==null){//是新增的数据
|
|
ItdmGongdanMaster itdmGongdanMaster = ItdmXMJLQueryListVO.toItdmGongdanMaster(vo);
|
|
ItdmGongdanMaster itdmGongdanMaster = ItdmXMJLQueryListVO.toItdmGongdanMaster(vo);
|
|
itdmGongdanMasterMapper.insert(itdmGongdanMaster);//新增一条工单master
|
|
itdmGongdanMasterMapper.insert(itdmGongdanMaster);//新增一条工单master
|
|
|
|
|
|
|
|
+ //修改工单master对应的试验计划,将状态改为已确认
|
|
|
|
+ ItdmTestPlan itdmTestPlan = itdmTestPlanMapper.selectById(vo.getParent());
|
|
|
|
+ itdmTestPlan.setStatus(1);
|
|
|
|
+ itdmTestPlanMapper.updateById(itdmTestPlan);
|
|
|
|
+
|
|
Date startDate = vo.getJihuaStartDate();
|
|
Date startDate = vo.getJihuaStartDate();
|
|
int lastDay = vo.getLastTime();
|
|
int lastDay = vo.getLastTime();
|
|
for (int i=1;i<=lastDay;i++){
|
|
for (int i=1;i<=lastDay;i++){
|
|
@@ -107,6 +115,11 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
ItdmGongdanMaster itdmGongdanMaster = ItdmXMJLQueryListVO.toItdmGongdanMaster(vo);
|
|
ItdmGongdanMaster itdmGongdanMaster = ItdmXMJLQueryListVO.toItdmGongdanMaster(vo);
|
|
itdmGongdanMasterMapper.updateById(itdmGongdanMaster);
|
|
itdmGongdanMasterMapper.updateById(itdmGongdanMaster);
|
|
|
|
|
|
|
|
+ //修改工单master对应的试验计划,将状态改为已确认
|
|
|
|
+ ItdmTestPlan itdmTestPlan = itdmTestPlanMapper.selectById(vo.getParent());
|
|
|
|
+ itdmTestPlan.setStatus(1);
|
|
|
|
+ itdmTestPlanMapper.updateById(itdmTestPlan);
|
|
|
|
+
|
|
//然后删原来的工单detail
|
|
//然后删原来的工单detail
|
|
ItdmGongdanDetail itdmGongdanDetail = new ItdmGongdanDetail();
|
|
ItdmGongdanDetail itdmGongdanDetail = new ItdmGongdanDetail();
|
|
itdmGongdanDetail.setWoId(vo.getId());
|
|
itdmGongdanDetail.setWoId(vo.getId());
|
|
@@ -132,29 +145,6 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 项目经理查询列表——一级列表——通过登录用户查询
|
|
|
|
- */
|
|
|
|
- public List<ItdmXMJLQueryListVO> getXMJLFirstListByUserName(String weituoNo,String realName){
|
|
|
|
- String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
|
|
|
|
- List<ItdmXMJLQueryListVO> list1 = itdmJCXMSHJHMapper.getXMJLFirstListByUserName(weituoId,realName);
|
|
|
|
- List<ItdmXMJLQueryListVO> list2 = list1.stream().map(i->
|
|
|
|
- ItdmXMJLQueryListVO.toItdmXMJLQueryListVO1(i,weituoNo)).collect(Collectors.toList());
|
|
|
|
- return list2;
|
|
|
|
- }
|
|
|
|
- /**
|
|
|
|
- * 项目经理查询列表——二级列表——通过登录用户查询
|
|
|
|
- */
|
|
|
|
- public List<ItdmXMJLQueryListVO> getXMJLSecondListByUserName(String weituoNo,String realName){
|
|
|
|
- String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
|
|
|
|
- List<ItdmXMJLQueryListVO> list1 = itdmJCXMSHJHMapper.getXMJLSecondListByUserName(weituoId,realName);
|
|
|
|
- List<ItdmXMJLQueryListVO> list2 = list1.stream().map(i->
|
|
|
|
- ItdmXMJLQueryListVO.toItdmXMJLQueryListVO2(i,weituoNo)).collect(Collectors.toList());
|
|
|
|
- return list2;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 项目经理查询列表——一级列表
|
|
* 项目经理查询列表——一级列表
|
|
*/
|
|
*/
|
|
@@ -181,18 +171,31 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
* 计划员新增或修改试验计划
|
|
* 计划员新增或修改试验计划
|
|
*/
|
|
*/
|
|
public String JHYAddAndUpdate(@RequestBody List<ItdmJHYQueryListVO> list){
|
|
public String JHYAddAndUpdate(@RequestBody List<ItdmJHYQueryListVO> list){
|
|
- List<ItdmTestPlan> vos = new ArrayList<>();
|
|
|
|
String msg = "提交成功!";
|
|
String msg = "提交成功!";
|
|
for(ItdmJHYQueryListVO vo:list){
|
|
for(ItdmJHYQueryListVO vo:list){
|
|
ItdmTestPlan itdmTestPlan = ItdmJHYQueryListVO.toItdmTestPlan(vo);
|
|
ItdmTestPlan itdmTestPlan = ItdmJHYQueryListVO.toItdmTestPlan(vo);
|
|
if(vo.getTestPlanId()==null){ //新增试验计划
|
|
if(vo.getTestPlanId()==null){ //新增试验计划
|
|
itdmTestPlan.setStatus(0);//试验计划初始状态为未确认0
|
|
itdmTestPlan.setStatus(0);//试验计划初始状态为未确认0
|
|
itdmTestPlanMapper.insert(itdmTestPlan);
|
|
itdmTestPlanMapper.insert(itdmTestPlan);
|
|
- vos.add(itdmTestPlan);
|
|
|
|
|
|
+ //同时新增一条一样的工单master
|
|
|
|
+ ItdmGongdanMaster master = ItdmJHYQueryListVO.toItdmGongdanMaster(vo);
|
|
|
|
+ itdmGongdanMasterMapper.insert(master);
|
|
|
|
+ //再拆成工单detail,再插入新的工单detail
|
|
|
|
+ Date startDate = vo.getJihuaStartDate();
|
|
|
|
+ int lastDay = vo.getLastTime();
|
|
|
|
+ for (int i=1;i<=lastDay;i++){
|
|
|
|
+ Date workDate = new Date(startDate.getTime() + (i-1)*1000*3600*24);
|
|
|
|
+ ItdmGongdanDetail detail = new ItdmGongdanDetail();
|
|
|
|
+ detail.setWoId(vo.getId());
|
|
|
|
+ detail.setWorkDate(workDate);
|
|
|
|
+ detail.setStartTime("00:00");
|
|
|
|
+ detail.setEndTime("23:59");
|
|
|
|
+ detail.setChuanganqi(vo.getChuanganqi());
|
|
|
|
+ itdmGongdanDetailMapper.insert(detail);
|
|
|
|
+ }
|
|
}else if(vo.getStatus() == 0){//状态为“未确定”,可以修改试验计划
|
|
}else if(vo.getStatus() == 0){//状态为“未确定”,可以修改试验计划
|
|
itdmTestPlan.setId(vo.getTestPlanId());
|
|
itdmTestPlan.setId(vo.getTestPlanId());
|
|
itdmTestPlanMapper.updateById(itdmTestPlan);
|
|
itdmTestPlanMapper.updateById(itdmTestPlan);
|
|
- vos.add(itdmTestPlan);
|
|
|
|
}else if(vo.getStatus() != 0){
|
|
}else if(vo.getStatus() != 0){
|
|
if(msg.equals("提交成功!")) msg="检测项目"+ vo.getTestItems();
|
|
if(msg.equals("提交成功!")) msg="检测项目"+ vo.getTestItems();
|
|
else msg=msg+ "和"+ vo.getTestItems();
|
|
else msg=msg+ "和"+ vo.getTestItems();
|
|
@@ -226,4 +229,26 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
|
|
).collect(Collectors.toList());
|
|
).collect(Collectors.toList());
|
|
return list1;
|
|
return list1;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 项目经理查询列表——一级列表——通过登录用户查询
|
|
|
|
+ */
|
|
|
|
+ public List<ItdmXMJLQueryListVO> getXMJLFirstListByUserName(String weituoNo,String realName){
|
|
|
|
+ String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
|
|
|
|
+ List<ItdmXMJLQueryListVO> list1 = itdmJCXMSHJHMapper.getXMJLFirstListByUserName(weituoId,realName);
|
|
|
|
+ List<ItdmXMJLQueryListVO> list2 = list1.stream().map(i->
|
|
|
|
+ ItdmXMJLQueryListVO.toItdmXMJLQueryListVO1(i,weituoNo)).collect(Collectors.toList());
|
|
|
|
+ return list2;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 项目经理查询列表——二级列表——通过登录用户查询
|
|
|
|
+ */
|
|
|
|
+ public List<ItdmXMJLQueryListVO> getXMJLSecondListByUserName(String weituoNo,String realName){
|
|
|
|
+ String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
|
|
|
|
+ List<ItdmXMJLQueryListVO> list1 = itdmJCXMSHJHMapper.getXMJLSecondListByUserName(weituoId,realName);
|
|
|
|
+ List<ItdmXMJLQueryListVO> list2 = list1.stream().map(i->
|
|
|
|
+ ItdmXMJLQueryListVO.toItdmXMJLQueryListVO2(i,weituoNo)).collect(Collectors.toList());
|
|
|
|
+ return list2;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|