Zimo пре 2 дана
родитељ
комит
3759862f47

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

@@ -17,6 +17,8 @@ import cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.*;
 import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotProjectTaskPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotrhdailyreport.vo.IotRhDailyReportSaveReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotrydailyreport.vo.IotRyDailyReportSaveReqVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotrydailyreportdetail.vo.IotRyDailyReportDetailRespVO;
+import cn.iocoder.yudao.module.pms.controller.admin.iotrydailyreportdetail.vo.IotRyDailyReportDetailSaveReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.vo.DeviceTdVO;
 import cn.iocoder.yudao.module.pms.controller.admin.vo.DeviceVO;
 import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
@@ -30,6 +32,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFil
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotprojecttask.IotProjectTaskDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.YfDeviceDO;
+import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillOrderMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.iotprojecttask.IotProjectTaskMapper;
 import cn.iocoder.yudao.module.pms.service.IDeviceService;
 import cn.iocoder.yudao.module.pms.service.iotopeationfill.IotOpeationFillService;
@@ -93,6 +96,8 @@ public class IotOpeationFillController {
     private IotRyDailyReportService iotRyDailyReportService;
     @Resource
     private IotProjectTaskMapper iotProjectTaskMapper;
+    @Autowired
+    private IotOpeationFillOrderMapper iotOpeationFillOrderMapper;
 
     @PostMapping("/create")
     @Operation(summary = "创建运行记录填报")
@@ -105,8 +110,8 @@ public class IotOpeationFillController {
     @Transactional(rollbackFor = Exception.class)
     @PostMapping("/insertLog")
     @Operation(summary = "创建运行记录填写信息")
-    public CommonResult<Integer> insertLog(@Valid @RequestBody List<IotOpeationFillSaveReqVO>createReqVO) {
-
+    public CommonResult<Integer> insertLog(@Valid @RequestBody OperationFillSaveVO operationFillSaveVO) {
+        List<IotOpeationFillSaveReqVO> createReqVO = operationFillSaveVO.getCreateReqVO();
         try{
 
             List<IotOpeationFillSaveReqVO> fillList = createReqVO;
@@ -291,6 +296,7 @@ public class IotOpeationFillController {
                     if(fillDO1.getDeviceCategoryId()==228){
                         saveReqVO1.setProjectClassification("2");
                     }
+                    saveReqVO1.setReportDetails(operationFillSaveVO.getReportDetails());
                     iotRyDailyReportService.createIotRyDailyReport(saveReqVO1);
                 }
 
@@ -314,8 +320,8 @@ public class IotOpeationFillController {
     @Operation(summary = "创建运行记录工单设备集填写信息")
     // 添加防刷注解,5秒内不允许重复请求
     @AntiDuplicateSubmit(timeout = 5, message = "5秒内不允许重复提交,请稍后再试")
-    public CommonResult<Integer> insertDataList(@Valid @RequestBody List<IotOperationSaveInfoVO> createReqVO) {
-
+    public CommonResult<Integer> insertDataList(@Valid @RequestBody OperationFillAppSaveVO operationFillAppSaveVO) {
+        List<IotOperationSaveInfoVO> createReqVO = operationFillAppSaveVO.getCreateReqVO();
         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
         HttpServletRequest request = attributes.getRequest();
         String tenantId = request.getHeader("Tenant-Id");
@@ -380,7 +386,7 @@ public class IotOpeationFillController {
             Map<String, Set<Long>> deptMap = getDeptIdSets();
 
             // 8. 生成日报
-            generateDailyReports(logDOList, deptMap, createDate,userId);
+            generateDailyReports(logDOList, deptMap, createDate,userId, operationFillAppSaveVO.getReportDetails());
 
             // 9. 批量更新工单填写状态
             int a = iotOpeationFillService.batchUpdateFill(uniqueDeviceEntities);
@@ -727,7 +733,7 @@ public class IotOpeationFillController {
     private void generateDailyReports(List<IotDeviceRunLogDO> logDOList,
                                       Map<String, Set<Long>> deptMap,
                                       LocalDate createDate,
-                                      Integer userId) {
+                                      Integer userId, List<IotRyDailyReportDetailSaveReqVO> reportDetails) {
         if (CollectionUtils.isEmpty(logDOList)) {
             return;
         }
@@ -763,7 +769,7 @@ public class IotOpeationFillController {
             if (fillStatus != null && fillStatus.getIsReport() != null && fillStatus.getIsReport() == 1) {
                 fillStatus.setUserId(userId);
                 // 处理部门日报
-                processDepartmentReport(deviceLogs, fillStatus, deptMap, createDate, descMap);
+                processDepartmentReport(deviceLogs, fillStatus, deptMap, createDate, descMap, reportDetails);
             }
         });
     }
@@ -777,14 +783,14 @@ public class IotOpeationFillController {
                                          IotOpeationFillDO fillStatus,
                                          Map<String, Set<Long>> deptMap,
                                          LocalDate createDate,
-                                         Map<String, IotDeviceRunLogDO> descMap) {
+                                         Map<String, IotDeviceRunLogDO> descMap, List<IotRyDailyReportDetailSaveReqVO> reportDetails) {
         Set<Long> rhIdList = deptMap.get("RH");
         Set<Long> ryIdList = deptMap.get("RY");
 
         if (rhIdList.contains(fillStatus.getDeptId())) {
             generateRhDailyReport(deviceLogs, fillStatus, createDate, descMap);
         } else if (ryIdList.contains(fillStatus.getDeptId())) {
-            generateRyDailyReport(deviceLogs, fillStatus, createDate, descMap);
+            generateRyDailyReport(deviceLogs, fillStatus, createDate, descMap, reportDetails);
         }
     }
 
@@ -821,7 +827,7 @@ public class IotOpeationFillController {
     private void generateRyDailyReport(List<IotDeviceRunLogDO> deviceLogs,
                                        IotOpeationFillDO fillStatus,
                                        LocalDate createDate,
-                                       Map<String, IotDeviceRunLogDO> descMap) {
+                                       Map<String, IotDeviceRunLogDO> descMap, List<IotRyDailyReportDetailSaveReqVO> reportDetails) {
         IotRyDailyReportSaveReqVO saveReqVO = new IotRyDailyReportSaveReqVO();
         Map<String, Object> reportData = BeanUtil.beanToMap(saveReqVO);
 
@@ -846,7 +852,7 @@ public class IotOpeationFillController {
         finalReport.setDeptId(fillStatus.getDeptId());
         finalReport.setFillOrderCreateTime(createDate.atStartOfDay());
         finalReport.setCreator(String.valueOf(fillStatus.getUserId()));
-
+        finalReport.setReportDetails(reportDetails);
         TenantUtils.execute(1L, () -> {
             iotRyDailyReportService.createIotRyDailyReport(finalReport);
         });
@@ -1517,7 +1523,15 @@ public class IotOpeationFillController {
         return success(BeanUtils.toBean(listDO,IotCountListDO.class));
     }
 
-
+    @GetMapping("/prod/detail/{id}")
+    @PermitAll
+    @TenantIgnore
+    @Operation(summary = "获得瑞鹰生产日报的生产明细")
+    public CommonResult<List<IotRyDailyReportDetailRespVO>> getProdDetail(@PathVariable("id") Long id) {
+        IotOpeationFillOrderDO iotOpeationFillOrderDO = iotOpeationFillOrderMapper.selectById(id);
+        List<IotRyDailyReportDetailRespVO> iotRyDailyReportDetailRespVOS = iotRyDailyReportService.ryDailyReportDetails(iotOpeationFillOrderDO.getCreateTime(), iotOpeationFillOrderDO.getDeptId());
+        return success(iotRyDailyReportDetailRespVOS);
+    }
 
     @GetMapping("/getAttrs")
     @PermitAll

+ 12 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/vo/OperationFillAppSaveVO.java

@@ -0,0 +1,12 @@
+package cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo;
+
+import cn.iocoder.yudao.module.pms.controller.admin.iotrydailyreportdetail.vo.IotRyDailyReportDetailSaveReqVO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OperationFillAppSaveVO {
+    List<IotOperationSaveInfoVO> createReqVO;
+    private List<IotRyDailyReportDetailSaveReqVO> reportDetails;
+}

+ 14 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/vo/OperationFillSaveVO.java

@@ -0,0 +1,14 @@
+package cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo;
+
+import cn.iocoder.yudao.module.pms.controller.admin.iotrydailyreportdetail.vo.IotRyDailyReportDetailSaveReqVO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class OperationFillSaveVO implements Serializable {
+    private List<IotOpeationFillSaveReqVO> createReqVO;
+    private List<IotRyDailyReportDetailSaveReqVO> reportDetails;
+
+}