Przeglądaj źródła

pms 瑞鹰 运行记录 生产动态明细 逻辑优化

zhangcl 1 dzień temu
rodzic
commit
9684beecd5

+ 14 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -1614,9 +1614,21 @@ public class IotOpeationFillController {
     @TenantIgnore
     @Operation(summary = "获得瑞鹰生产日报的生产明细")
     public CommonResult<List<IotRyDailyReportDetailRespVO>> getProdDetail(@PathVariable("id") Long id) {
+        List<IotRyDailyReportDetailRespVO> details = new ArrayList<>();
         IotOpeationFillOrderDO iotOpeationFillOrderDO = iotOpeationFillOrderMapper.selectById(id);
-        List<IotRyDailyReportDetailRespVO> iotRyDailyReportDetailRespVOS = iotRyDailyReportService.ryDailyReportDetails(iotOpeationFillOrderDO.getCreateTime(), iotOpeationFillOrderDO.getDeptId());
-        return success(iotRyDailyReportDetailRespVOS);
+        if (ObjUtil.isEmpty(iotOpeationFillOrderDO)) {
+            success(details);
+        }
+        // 查询运行记录对应的日报id 因为 生产动态明细 日期可能填写非当天的数据
+        String reportDateStr = StrUtil.EMPTY;
+        if (ObjUtil.isNotEmpty(iotOpeationFillOrderDO.getCreateTime())) {
+            reportDateStr = LocalDateTimeUtil.format(iotOpeationFillOrderDO.getCreateTime(), DatePattern.NORM_DATE_PATTERN);
+        }
+        IotOpeationFillDO report = iotOpeationFillService.selectRyFillReports(iotOpeationFillOrderDO.getDeptId(), reportDateStr);
+        if (ObjUtil.isNotEmpty(report)) {
+            details = iotRyDailyReportService.ryDailyReportDetails(null, iotOpeationFillOrderDO.getDeptId(), report.getReportId());
+        }
+        return success(details);
     }
 
     @GetMapping("/getAttrs")

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/iotopeationfill/IotOpeationFillDO.java

@@ -117,5 +117,6 @@ public class IotOpeationFillDO extends BaseDO {
      */
     private String wellName;
     private Long taskId;
+    private Long reportId;
     private Map<Long, String> wellNamePair;
 }

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

@@ -53,7 +53,7 @@ public interface IotRyDailyReportService {
      * @param currentDate 当日日期
      * @param deptId 部门id
      */
-    List<IotRyDailyReportDetailRespVO> ryDailyReportDetails(LocalDateTime currentDate, Long deptId);
+    List<IotRyDailyReportDetailRespVO> ryDailyReportDetails(LocalDateTime currentDate, Long deptId, Long reportId);
 
     /**
      * 获得瑞鹰日报分页

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

@@ -416,12 +416,13 @@ public class IotRyDailyReportServiceImpl implements IotRyDailyReportService {
     }
 
     @Override
-    public List<IotRyDailyReportDetailRespVO> ryDailyReportDetails(LocalDateTime currentDate, Long deptId) {
+    public List<IotRyDailyReportDetailRespVO> ryDailyReportDetails(LocalDateTime currentDate, Long deptId, Long reportId) {
         List<IotRyDailyReportDetailRespVO> result = new ArrayList<>();
         // 运行记录中查询生产动态详情使用 日期只匹配 yyyy-MM-dd 的值
         // 查询日报的生产动态详情
         IotRyDailyReportDetailPageReqVO detailReqVO = new IotRyDailyReportDetailPageReqVO();
         detailReqVO.setDeptId(deptId);
+        detailReqVO.setReportId(reportId);
         detailReqVO.setFillOrderReportDate(currentDate);
         detailReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         PageResult<IotRyDailyReportDetailDO> reportDetailsPage = iotRyDailyReportDetailMapper.selectPages(detailReqVO);

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

@@ -498,7 +498,7 @@
     </select>
 
     <select id="selectRyFillReports" resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
-        SELECT dr.task_id taskId, pt.well_name wellName
+        SELECT dr.id reportId, dr.task_id taskId, pt.well_name wellName
         FROM rq_iot_ry_daily_report dr
         LEFT JOIN rq_iot_project_task pt ON pt.id = dr.task_id
         WHERE dr.deleted = 0