liuwj %!s(int64=2) %!d(string=hai) anos
pai
achega
278e99c4ac

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

@@ -72,7 +72,7 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
 
 
     /**
-     * 项目经理新增或修改试验计划或工单master
+     * 项目经理新增或修改试工单master
      */
     public String XMJLAddOrUpdate(ItdmXMJLQueryListVO vo){
         String msg = "操作成功!";
@@ -177,6 +177,7 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
             if(vo.getTestPlanId()==null){ //新增试验计划
                 itdmTestPlan.setStatus(0);//试验计划初始状态为未确认0
                 itdmTestPlanMapper.insert(itdmTestPlan);
+                vo.setTestPlanId(itdmTestPlan.getId());
                 //同时新增一条一样的工单master
                 ItdmGongdanMaster master = ItdmJHYQueryListVO.toItdmGongdanMaster(vo);
                 itdmGongdanMasterMapper.insert(master);
@@ -196,6 +197,37 @@ public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
             }else if(vo.getStatus() == 0){//状态为“未确定”,可以修改试验计划
                 itdmTestPlan.setId(vo.getTestPlanId());
                 itdmTestPlanMapper.updateById(itdmTestPlan);
+                //查原来的工单master
+                Map<String, Object> masterMap = new HashMap<>();
+                masterMap.put("jihua_shiyan_id",itdmTestPlan.getId());
+                List<ItdmGongdanMaster> masterList = itdmGongdanMasterMapper.selectByMap(masterMap);
+                //删原来的工单master
+                itdmGongdanMasterMapper.deleteByMap(masterMap);
+                //删掉原来的工单detail
+                if(masterList != null && !masterList.isEmpty() && masterList.get(0)!=null){
+                    for (ItdmGongdanMaster m: masterList){
+                        Map<String, Object> detailMap = new HashMap<>();
+                        detailMap.put("wo_id",m.getId());
+                        itdmGongdanDetailMapper.deleteByMap(detailMap);
+                    }
+                }
+
+                //新增一条一样的工单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){
                 if(msg.equals("提交成功!")) msg="检测项目"+ vo.getTestItems();
                 else msg=msg+ "和"+ vo.getTestItems();

+ 17 - 12
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongDan/vo/ItdmJHYQueryListVO.java

@@ -329,13 +329,15 @@ public class ItdmJHYQueryListVO {
         Date jihuaEndTime = new Date(vo.getJihuaStartDate().getTime() + (lastTime-1)*1000*3600*24);
         itdmTestPlan.setJihuaEndDate(jihuaEndTime);
 
-        String[] arr = vo.getChuanganqiArray();
-        String chuanganqi = "";
-        for (int i = 0; i < arr.length; i++) {
-            if(i==0) chuanganqi = arr[i];
-            else chuanganqi = chuanganqi + ","+ arr[i];
+        if(vo.getChuanganqiArray()!=null){
+            String[] arr = vo.getChuanganqiArray();
+            String chuanganqi = "";
+            for (int i = 0; i < arr.length; i++) {
+                if(i==0) chuanganqi = arr[i];
+                else chuanganqi = chuanganqi + ","+ arr[i];
+            }
+            itdmTestPlan.setChuanganqi(chuanganqi);
         }
-        itdmTestPlan.setChuanganqi(chuanganqi);
 
         return  itdmTestPlan;
     }
@@ -353,13 +355,16 @@ public class ItdmJHYQueryListVO {
         Date endDate = new Date(vo.getJihuaStartDate().getTime() + (lastTime-1)*1000*3600*24);
         m.setEndDate(endDate);
 
-        String[] arr = vo.getChuanganqiArray();
-        String chuanganqi = "";
-        for (int i = 0; i < arr.length; i++) {
-            if(i==0) chuanganqi = arr[i];
-            else chuanganqi = chuanganqi + ","+ arr[i];
+        if(vo.getChuanganqiArray() != null){
+            String[] arr = vo.getChuanganqiArray();
+            String chuanganqi = "";
+            for (int i = 0; i < arr.length; i++) {
+                if(i==0) chuanganqi = arr[i];
+                else chuanganqi = chuanganqi + ","+ arr[i];
+            }
+            m.setChuanganqi(chuanganqi);
         }
-        m.setChuanganqi(chuanganqi);
+
         return m;
     }
 

+ 6 - 3
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongDan/vo/ItdmXMJLQueryListVO.java

@@ -386,9 +386,12 @@ public class ItdmXMJLQueryListVO {
             vo.setLastTime(days+1);
         }
 
-        if(vo.getStatus()==0) vo.setStatusC("未确认");
-        else if(vo.getStatus()==1) vo.setStatusC("已确认");
-        else if(vo.getStatus()==2) vo.setStatusC("完成");
+        if(vo.getStatus()!=null){
+            if(vo.getStatus()==0) vo.setStatusC("未确认");
+            else if(vo.getStatus()==1) vo.setStatusC("已确认");
+            else if(vo.getStatus()==2) vo.setStatusC("完成");
+        }
+
         vo.setWeituoNo(weituoNo);
         vo.setId(vo.getTestPlanId());//一级列表,id为试验计划id