|
|
@@ -2,6 +2,10 @@ package cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
+import cn.hutool.core.util.ObjUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
@@ -296,7 +300,19 @@ public class IotOpeationFillController {
|
|
|
if(fillDO1.getDeviceCategoryId()==228){
|
|
|
saveReqVO1.setProjectClassification("2");
|
|
|
}
|
|
|
- saveReqVO1.setReportDetails(operationFillSaveVO.getReportDetails());
|
|
|
+ List<IotRyDailyReportDetailSaveReqVO> details = operationFillSaveVO.getReportDetails();
|
|
|
+ saveReqVO1.setReportDetails(details);
|
|
|
+ List<Long> taskIds = new ArrayList<>();
|
|
|
+ if (CollUtil.isNotEmpty(details)) {
|
|
|
+ details.forEach(detail -> {
|
|
|
+ if (ObjUtil.isNotEmpty(detail)) {
|
|
|
+ taskIds.add(detail.getTaskId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (CollUtil.isNotEmpty(taskIds)) {
|
|
|
+ saveReqVO1.setTaskId(taskIds.get(0));
|
|
|
+ }
|
|
|
+ }
|
|
|
iotRyDailyReportService.createIotRyDailyReport(saveReqVO1);
|
|
|
}
|
|
|
|
|
|
@@ -919,9 +935,44 @@ public class IotOpeationFillController {
|
|
|
reqVO.setDeptId(iotOpeationFill.getDeptId());
|
|
|
reqVO.setJobFlag("Y");
|
|
|
List<IotProjectTaskDO> tasks = iotProjectTaskMapper.selectList(reqVO);
|
|
|
+ Map<Long, String> wellNamePair = new HashMap<>();
|
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
|
// 取最新的1个任务
|
|
|
iotOpeationFill.setWellName(tasks.get(0).getWellName());
|
|
|
+ tasks.forEach(task -> {
|
|
|
+ wellNamePair.put(task.getId(), task.getWellName());
|
|
|
+ });
|
|
|
+ iotOpeationFill.setWellNamePair(wellNamePair);
|
|
|
+ }
|
|
|
+ // 查询当前队伍是否已经生成日报 回显数据
|
|
|
+ // 查询日报表中对应日期 对应部门的taskId
|
|
|
+ String reportDateStr = StrUtil.EMPTY;
|
|
|
+ if (ObjUtil.isNotEmpty(iotOpeationFill.getCreateTime())) {
|
|
|
+ reportDateStr = LocalDateTimeUtil.format(iotOpeationFill.getCreateTime(), DatePattern.NORM_DATE_PATTERN);
|
|
|
+ }
|
|
|
+ Long deptId = iotOpeationFill.getDeptId();
|
|
|
+ // 判断当前队伍是 瑞恒 还是 瑞鹰
|
|
|
+ Set<Long> rhChildDeptIds = deptService.getChildDeptIdListFromCache(157l);
|
|
|
+ Set<Long> ryChildDeptIds = deptService.getChildDeptIdListFromCache(158l);
|
|
|
+ if (ObjUtil.isNotEmpty(deptId) && StrUtil.isNotBlank(reportDateStr)) {
|
|
|
+ if (rhChildDeptIds.contains(deptId)) {
|
|
|
+ // 瑞恒日报
|
|
|
+ IotOpeationFillDO taskWellPair = iotOpeationFillService.selectRhFillReports(deptId, reportDateStr);
|
|
|
+ if (ObjUtil.isNotEmpty(taskWellPair)) {
|
|
|
+ wellNamePair.clear();
|
|
|
+ wellNamePair.put(taskWellPair.getTaskId(), taskWellPair.getWellName());
|
|
|
+ iotOpeationFill.setWellNamePair(wellNamePair);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ryChildDeptIds.contains(deptId)) {
|
|
|
+ // 瑞鹰日报
|
|
|
+ IotOpeationFillDO taskWellPair = iotOpeationFillService.selectRyFillReports(deptId, reportDateStr);
|
|
|
+ if (ObjUtil.isNotEmpty(taskWellPair)) {
|
|
|
+ wellNamePair.clear();
|
|
|
+ wellNamePair.put(taskWellPair.getTaskId(), taskWellPair.getWellName());
|
|
|
+ iotOpeationFill.setWellNamePair(wellNamePair);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
return success(BeanUtils.toBean(iotOpeationFill, IotOpeationFillDO.class));
|
|
|
@@ -1052,9 +1103,44 @@ public class IotOpeationFillController {
|
|
|
reqVO.setDeptId(fill.getDeptId());
|
|
|
reqVO.setJobFlag("Y");
|
|
|
List<IotProjectTaskDO> tasks = iotProjectTaskMapper.selectList(reqVO);
|
|
|
+ // 查询日报表中对应日期 对应部门的taskId
|
|
|
+ String reportDateStr = StrUtil.EMPTY;
|
|
|
+ if (ObjUtil.isNotEmpty(fill.getCreateTime())) {
|
|
|
+ reportDateStr = LocalDateTimeUtil.format(fill.getCreateTime(), DatePattern.NORM_DATE_PATTERN);
|
|
|
+ }
|
|
|
+ Long deptId = fill.getDeptId();
|
|
|
+ // 判断当前队伍是 瑞恒 还是 瑞鹰
|
|
|
+ Set<Long> rhChildDeptIds = deptService.getChildDeptIdListFromCache(157l);
|
|
|
+ Set<Long> ryChildDeptIds = deptService.getChildDeptIdListFromCache(158l);
|
|
|
+
|
|
|
+ Map<Long, String> wellNamePair = new HashMap<>();
|
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
|
// 取最新的1个任务
|
|
|
fill.setWellName(tasks.get(0).getWellName());
|
|
|
+ tasks.forEach(task -> {
|
|
|
+ wellNamePair.put(task.getId(), task.getWellName());
|
|
|
+ });
|
|
|
+ fill.setWellNamePair(wellNamePair);
|
|
|
+ }
|
|
|
+ if (ObjUtil.isNotEmpty(deptId) && StrUtil.isNotBlank(reportDateStr)) {
|
|
|
+ if (rhChildDeptIds.contains(deptId)) {
|
|
|
+ // 瑞恒日报
|
|
|
+ IotOpeationFillDO taskWellPair = iotOpeationFillService.selectRhFillReports(deptId, reportDateStr);
|
|
|
+ if (ObjUtil.isNotEmpty(taskWellPair)) {
|
|
|
+ wellNamePair.clear();
|
|
|
+ wellNamePair.put(taskWellPair.getTaskId(), taskWellPair.getWellName());
|
|
|
+ fill.setWellNamePair(wellNamePair);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ryChildDeptIds.contains(deptId)) {
|
|
|
+ // 瑞鹰日报
|
|
|
+ IotOpeationFillDO taskWellPair = iotOpeationFillService.selectRyFillReports(deptId, reportDateStr);
|
|
|
+ if (ObjUtil.isNotEmpty(taskWellPair)) {
|
|
|
+ wellNamePair.clear();
|
|
|
+ wellNamePair.put(taskWellPair.getTaskId(), taskWellPair.getWellName());
|
|
|
+ fill.setWellNamePair(wellNamePair);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
@@ -1528,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")
|