Browse Source

转移日报相关数据

cs 2 years ago
parent
commit
68ad3e0905

+ 11 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -80,7 +80,8 @@ public class ReportController {
     private SysFunctionMapper sysFunctionMapper;
     @Resource
     private UserCorpwxTimeMapper userCorpwxTimeMapper;
-
+    @Resource
+    private UserMapper userMapper;
 
     //获取任务相关的日报列表
     @RequestMapping("/getTaskReportList")
@@ -1490,5 +1491,14 @@ public class ReportController {
     public HttpRespMsg correctWorkingTime(String userIds,String startDate,String endDate){
         return reportService.correctWorkingTime(userIds,startDate,endDate);
     }
+
+    /**
+     * 转移日报
+     * @return
+     */
+    @RequestMapping("/moveReport")
+    public HttpRespMsg moveReport(String sourceId,String targetId){
+        return reportService.moveReport(sourceId,targetId,request);
+    }
 }
 

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/User.java

@@ -270,6 +270,13 @@ public class User extends Model<User> {
     @TableField("is_mob_first_login")
     private Integer isMobFirstLogin;
 
+    /**
+     * 是否存在日报
+     * 0-否 1-是
+     */
+    @TableField(exist = false)
+    private Integer isExistsReport;
+
 
     @Override
     protected Serializable pkVal() {

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -105,4 +105,6 @@ public interface ReportService extends IService<Report> {
     HttpRespMsg defaultDegree(Integer projectId, HttpServletRequest request);
 
 	HttpRespMsg approveDeptAuditReport(User user, String auditDeptId);
+
+    HttpRespMsg moveReport(String sourceId,String targetId,HttpServletRequest request);
 }

+ 71 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -197,6 +197,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     private CorpwxJobResultMapper corpwxJobResultMapper;
     @Autowired
     RestTemplate restTemplate;
+    @Resource
+    private ReportAuditLogService reportAuditLogService;
 
     @Value(value = "${upload.path}")
     private String path;
@@ -5360,4 +5362,73 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
         return msg;
     }
+
+    /**
+     * 转移日报
+     * @return
+     */
+    @Override
+    public HttpRespMsg moveReport(String sourceId,String targetId,HttpServletRequest request) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        //源
+        User sourceUser = userMapper.selectById(sourceId);
+        //目标
+        User targetUser = userMapper.selectById(targetId);
+        //转移日报
+        List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("creator_id", sourceId));
+        if (reportList.size() != 0){
+            for (Report report : reportList) {
+                report.setCreatorId(targetUser.getId());
+                report.setDeptId(targetUser.getDepartmentId());
+            }
+            reportService.updateBatchById(reportList);
+        }
+        //转移日报的log
+        List<ReportLog> reportCreatorLogList = reportLogMapper.selectList(new QueryWrapper<ReportLog>().eq("creator_id", sourceId));
+        if (reportCreatorLogList.size() != 0){
+            for (ReportLog log : reportCreatorLogList) {
+                log.setCreatorId(targetUser.getId());
+            }
+            reportLogService.updateBatchById(reportCreatorLogList);
+        }
+
+        List<ReportLog> reportOperatorLogList = reportLogMapper.selectList(new QueryWrapper<ReportLog>().eq("operator_id", sourceId));
+        if (reportCreatorLogList.size() != 0){
+            for (ReportLog log : reportOperatorLogList) {
+                log.setOperatorId(targetUser.getId());
+                String msg = log.getMsg().replace(sourceUser.getName(), targetUser.getName());
+                log.setMsg(msg);
+            }
+            reportLogService.updateBatchById(reportOperatorLogList);
+        }
+
+        List<ReportAlogMembdate> reportAlogMembdateList = reportAlogMembdateMapper.selectList(new QueryWrapper<ReportAlogMembdate>().eq("user_id", sourceId));
+        if (reportAlogMembdateList.size() != 0){
+            for (ReportAlogMembdate alogMembdate : reportAlogMembdateList) {
+                alogMembdate.setUserId(targetUser.getId());
+                alogMembdate.setUserName(targetUser.getName());
+            }
+            reportAlogMembdateService.updateBatchById(reportAlogMembdateList);
+        }
+
+        List<ReportAuditLog> reportAuditLogList = reportAuditLogMapper.selectList(new QueryWrapper<ReportAuditLog>().eq("user_id", sourceId));
+        if (reportAuditLogList.size() != 0){
+            for (ReportAuditLog auditLog : reportAuditLogList) {
+                auditLog.setUserId(targetUser.getId());
+                auditLog.setUserName(targetUser.getName());
+            }
+            reportAuditLogService.updateBatchById(reportAuditLogList);
+        }
+
+        List<ReportLogDetail> reportLogDetailsList = reportLogDetailMapper.selectList(new QueryWrapper<ReportLogDetail>().eq("operator_id",sourceId));
+        if (reportLogDetailsList.size() != 0){
+            for (ReportLogDetail logDetail : reportLogDetailsList) {
+                logDetail.setOperatorId(targetUser.getId());
+                String msg = logDetail.getMsg().replace(sourceUser.getName(), targetUser.getName());
+                logDetail.setMsg(msg);
+            }
+            reportLogDetailService.updateBatchById(reportLogDetailsList);
+        }
+        return httpRespMsg;
+    }
 }

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -19,6 +19,7 @@ import me.chanjar.weixin.mp.api.WxMpService;
 import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
+import org.apache.commons.collections4.Put;
 import org.apache.commons.io.FileUtils;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -663,7 +664,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             //设置用户的证书列表
             List<UserCert> certList = userCertMapper.selectList(new QueryWrapper<UserCert>().eq("user_id", user.getId()));
             user.setCertList(certList);
-
+            //获取相关日报数量
+            Integer reportCount = reportMapper.selectCount(new QueryWrapper<Report>().eq("creator_id", user.getId()));
+            if (reportCount>0){
+                reportCount = 1;
+            }
+            user.setIsExistsReport(reportCount);
             httpRespMsg.data = user;
         }
         return httpRespMsg;