|
|
@@ -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
|