Просмотр исходного кода

pms 瑞恒 瑞鹰 日报 更新 任务状态

zhangcl 1 день назад
Родитель
Сommit
65182218ec

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotprojecttask/IotProjectTaskMapper.java

@@ -80,7 +80,9 @@ public interface IotProjectTaskMapper extends BaseMapperX<IotProjectTaskDO> {
 
         // 处理deptId特殊查询
         if (ObjUtil.isNotEmpty(reqVO.getDeptId())) {
-            wrapper.apply("FIND_IN_SET({0}, REPLACE(REPLACE(dept_ids,'[',''),']',''))", reqVO.getDeptId());
+            // wrapper.apply("FIND_IN_SET({0}, REPLACE(REPLACE(dept_ids,'[',''),']',''))", reqVO.getDeptId());
+            // wrapper.apply("JSON_CONTAINS(dept_ids, {0})", reqVO.getDeptId());
+            wrapper.apply("JSON_CONTAINS(CAST(dept_ids AS JSON), CAST({0} AS JSON))", reqVO.getDeptId());
         }
 
         // 新增searchKey多字段模糊查询

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotrhdailyreport/IotRhDailyReportServiceImpl.java

@@ -171,6 +171,8 @@ public class IotRhDailyReportServiceImpl implements IotRhDailyReportService {
         Set<Long> deviceIds = new HashSet<>();
         IotProjectTaskPageReqVO reqVO = new IotProjectTaskPageReqVO();
         reqVO.setDeptId(createReqVO.getDeptId());
+        // 只筛选未施工完成的任务
+        reqVO.setJobFlag("Y");
         // 查询包含当前日报施工队伍的任务
         List<IotProjectTaskDO> tasks = iotProjectTaskMapper.selectList(reqVO);
         // 日报对应的任务中的设备列表
@@ -182,6 +184,7 @@ public class IotRhDailyReportServiceImpl implements IotRhDailyReportService {
         // 井号
         String wellName;
         if (CollUtil.isNotEmpty(tasks)) {
+            // 只查询 未施工完成 的任务 随机获取1个 最好是保持 1个施工队伍只存在于1个任务中
             IotProjectTaskDO task = tasks.get(0);
             // 暂时只考虑1个施工队伍只属于1个任务
             iotRhDailyReport.setProjectId(task.getProjectId());

+ 10 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotrydailyreport/IotRyDailyReportServiceImpl.java

@@ -134,6 +134,8 @@ public class IotRyDailyReportServiceImpl implements IotRyDailyReportService {
         Set<Long> deviceIds = new HashSet<>();
         IotProjectTaskPageReqVO reqVO = new IotProjectTaskPageReqVO();
         reqVO.setDeptId(createReqVO.getDeptId());
+        // 只筛选未施工完成的任务
+        reqVO.setJobFlag("Y");
         // 查询包含当前日报施工队伍的任务
         List<IotProjectTaskDO> tasks = iotProjectTaskMapper.selectList(reqVO);
         // 井号
@@ -147,8 +149,15 @@ public class IotRyDailyReportServiceImpl implements IotRyDailyReportService {
             taskId = task.getId();
             // 根据日报状态 查询 日报所属任务的状态 瑞鹰任务状态数据字典 rigStatus
             if (ObjUtil.isNotEmpty(createReqVO.getRigStatus())) {
-                // ry任务施工状态 需要与 任务施工状态 匹配
+                // ry任务施工状态 需要与 任务施工状态 匹配 钻井施工状态
                 task.setStatus(createReqVO.getRigStatus());
+                task.setRigStatus(createReqVO.getRigStatus());
+                // 更新任务状态
+                iotProjectTaskMapper.updateById(task);
+            }
+            if (ObjUtil.isNotEmpty(createReqVO.getRepairStatus())) {
+                task.setStatus(createReqVO.getRepairStatus());
+                task.setRepairStatus(createReqVO.getRepairStatus());
                 // 更新任务状态
                 iotProjectTaskMapper.updateById(task);
             }