Zimo пре 6 часа
родитељ
комит
dbb53a8d03

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/config/PmsDataPermissionConfiguration.java

@@ -26,6 +26,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.hazard.IotHazardDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.measure.IotMeasureBookDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.measure.IotMeasureDetectDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.ptw.QhsePtwDO;
+import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.report.QhseMonthReportDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.device.YfIotDeviceDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
@@ -73,6 +74,7 @@ public class PmsDataPermissionConfiguration {
             rule.addDeptColumn(IotOperationMeetingDO.class, "dept_id");
             rule.addDeptColumn(IotOperationMeetingDetailDO.class, "dept_id");
             rule.addDeptColumn(IotRyImproveDailyReportDO.class, "dept_id");
+            rule.addDeptColumn(QhseMonthReportDO.class,  "dept_id");
             // user
 //            rule.addUserColumn(SupplierDO.class);
             rule.addUserColumn(AdminUserDO.class, "id");

+ 19 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/report/QhseMonthReportController.java

@@ -11,9 +11,12 @@ import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthRepo
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.report.vo.QhseMonthReportSaveReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.report.QhseMonthReportDO;
 import cn.iocoder.yudao.module.pms.service.qhse.report.QhseMonthReportService;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -23,6 +26,8 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -36,6 +41,8 @@ public class QhseMonthReportController {
 
     @Resource
     private QhseMonthReportService qhseMonthReportService;
+    @Autowired
+    private AdminUserApi adminUserApi;
 
     @PostMapping("/create")
     @Operation(summary = "创建资料")
@@ -75,7 +82,18 @@ public class QhseMonthReportController {
     @PreAuthorize("@ss.hasPermission('rq:qhse-month-report:query')")
     public CommonResult<PageResult<QhseMonthReportRespVO>> getQhseMonthReportPage(@Valid QhseMonthReportPageReqVO pageReqVO) {
         PageResult<QhseMonthReportDO> pageResult = qhseMonthReportService.getQhseMonthReportPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, QhseMonthReportRespVO.class));
+        List<QhseMonthReportRespVO> collect = pageResult.getList().stream().map(e -> {
+            QhseMonthReportRespVO qhseMonthReportRespVO = new QhseMonthReportRespVO();
+            BeanUtils.copyProperties(e, qhseMonthReportRespVO);
+            if (Objects.nonNull(qhseMonthReportRespVO.getDutyPerson())){
+                AdminUserRespDTO user = adminUserApi.getUser(qhseMonthReportRespVO.getDutyPerson());
+                if (Objects.nonNull(user)){
+                    qhseMonthReportRespVO.setPersonName(user.getNickname());
+                }
+            }
+             return qhseMonthReportRespVO;
+        }).collect(Collectors.toList());
+        return success(new PageResult<>(collect, pageResult.getTotal()));
     }
 
     @GetMapping("/export-excel")

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/report/vo/QhseMonthReportPageReqVO.java

@@ -21,7 +21,7 @@ public class QhseMonthReportPageReqVO extends PageParam {
     @Schema(description = "部门id")
     private Long deptId;
     @Schema(description = "年月")
-    private String yearMonth;
+    private String yearMonths;
     @Schema(description = "员工人数")
     private String employee;
 

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/report/vo/QhseMonthReportRespVO.java

@@ -19,7 +19,7 @@ public class QhseMonthReportRespVO {
     private String title;
 
     @Schema(description = "年月")
-    private String yearMonth;
+    private String yearMonths;
 
     @Schema(description = "部门id")
     private Long deptId;
@@ -155,4 +155,6 @@ public class QhseMonthReportRespVO {
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
+    @Schema(description = "工单填报人")
+    private String personName;
 }

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/report/vo/QhseMonthReportSaveReqVO.java

@@ -19,7 +19,7 @@ public class QhseMonthReportSaveReqVO {
     private Long deptId;
 
     @Schema(description = "年月")
-    private String yearMonth;
+    private String yearMonths;
 
     @Schema(description = "员工人数", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotEmpty(message = "员工人数不能为空")

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/qhse/report/QhseMonthReportDO.java

@@ -30,7 +30,7 @@ public class QhseMonthReportDO extends BaseDO {
      * 月报名称
      */
     private String title;
-    private String yearMonth;
+    private String yearMonths;
     /**
      * 部门id
      */

+ 17 - 14
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/qhse/MonthReportJob.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.pms.job.qhse;
 
 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
+import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
 import cn.iocoder.yudao.module.pms.constant.PmsConstants;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.jsa.vo.QhseJsaPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.qhse.ptw.vo.QhsePtwPageReqVO;
@@ -80,21 +81,23 @@ public class MonthReportJob implements JobHandler {
             QhsePtwPageReqVO qhsePtwPageReqVO = new QhsePtwPageReqVO();
             qhsePtwPageReqVO.setPtwTime(new LocalDateTime[]{firstDayOfLastMonth, lastDayOfLastMonth});
             Long ptwCount = qhsePtwMapper.selectCountByDeptAndTime(qhsePtwPageReqVO, ids);
-            QhseMonthReportDO qhseMonthReportDO = new QhseMonthReportDO();
-            DeptRespDTO dept = deptApi.getDept(user.getDeptId());
+            TenantUtils.execute(1L, () -> {
+                QhseMonthReportDO qhseMonthReportDO = new QhseMonthReportDO();
+                DeptRespDTO dept = deptApi.getDept(user.getDeptId());
 
-            qhseMonthReportDO.setTitle(dept.getName()+yearMonth+"QHSE月报");
-            qhseMonthReportDO.setYearMonth(yearMonth);
-            qhseMonthReportDO.setDeleted(false);
-            qhseMonthReportDO.setSocCards(String.valueOf(socCount));
-            qhseMonthReportDO.setJsa(String.valueOf(jsaCount));
-            qhseMonthReportDO.setPtwAudit(String.valueOf(ptwCount));
-            qhseMonthReportDO.setDutyPerson(e);
-            qhseMonthReportDO.setDeptId(dept.getId());
-            qhseMonthReportMapper.insert(qhseMonthReportDO);
-            //异步线程发送消息
-            CompletableFuture.runAsync(() -> {
-                pmsMessage.sendMessage(qhseMonthReportDO.getId(), dept.getName() + yearMonth + "QHSE月报已生成,请前往QHSE系统月报模块进行填报。", PmsConstants.QHSE_MONTH_REPORT, user.getId(), user.getMobile());
+                qhseMonthReportDO.setTitle(dept.getName()+yearMonth+"QHSE月报");
+                qhseMonthReportDO.setYearMonths(yearMonth);
+                qhseMonthReportDO.setDeleted(false);
+                qhseMonthReportDO.setSocCards(String.valueOf(socCount));
+                qhseMonthReportDO.setJsa(String.valueOf(jsaCount));
+                qhseMonthReportDO.setPtwAudit(String.valueOf(ptwCount));
+                qhseMonthReportDO.setDutyPerson(e);
+                qhseMonthReportDO.setDeptId(dept.getId());
+                qhseMonthReportMapper.insert(qhseMonthReportDO);
+                //异步线程发送消息
+                CompletableFuture.runAsync(() -> {
+                    pmsMessage.sendMessage(qhseMonthReportDO.getId(), dept.getName() + yearMonth + "QHSE月报已生成,请前往QHSE系统月报模块进行填报。", PmsConstants.QHSE_MONTH_REPORT, user.getId(), user.getMobile());
+                });
             });
         });
         return "";