Browse Source

日报异常工时驳回

QuYueTing 1 month ago
parent
commit
43fc006d6f

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -240,8 +240,8 @@ public interface ReportMapper extends BaseMapper<Report> {
     @Select("SELECT report.id,report.creator_id,  report.`create_date`, report.`create_time`, group_id, task_group.`name`,report.project_id, task_group.`project_id` AS error_pid FROM report LEFT JOIN task_group ON task_group.id = report.`group_id` WHERE report.`company_id`=#{companyId} AND report.project_id <> task_group.`project_id`  AND create_date BETWEEN #{startDate} AND #{endDate} ORDER BY report.id DESC")
     List<Map<String, Object>> selectErrorGroupData(Integer companyId, String startDate, String endDate);
 
-    @Update("update report set state=2,reject_reason='提醒工时变更' where create_date=#{createDate} and creator_id=#{userId}")
-    void denyReportWithUserAndCreateDate(String userId, String createDate);
+    @Update("update report set state=2,reject_reason='工时与考勤不一致,请重新提交',reject_userid=#{rejectUserid},reject_username=#{rejectUsername} where create_date=#{createDate} and creator_id=#{userId}")
+    void denyReportWithUserAndCreateDate(String userId, String createDate,String rejectUserid, String rejectUsername);
 
     List<Map<String, Object>> getUserDailyWorkTimeReminder(Integer companyId,String startDate, String endDate,@Param("list") List<Integer> deptIds,Integer deptId,String leaderId);
 

+ 34 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -10241,10 +10241,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Transactional(rollbackFor = Exception.class)
     public HttpRespMsg changeReminder(HttpServletRequest request,String createDate,String userId,String startDate,String endDate) throws Exception {
         HttpRespMsg msg=new HttpRespMsg();
-        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        DateTimeFormatter df =DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        User operator = userMapper.selectById(request.getHeader("token"));
+        Integer companyId = operator.getCompanyId();
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new LambdaQueryWrapper<WxCorpInfo>().eq(WxCorpInfo::getCompanyId, companyId));
-        LocalDate now=LocalDate.now();
         HttpRespMsg userDailyWorkTime = getUserDailyWorkTimeReminder(request,startDate,endDate,null,0);
         Map<String, Object> map = (Map<String, Object>) userDailyWorkTime.getData();
         List<Map<String, Object>> mapList = (List<Map<String, Object>>) map.get("list");
@@ -10259,13 +10259,40 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             }
             exceedCardTimeList.forEach(e->{
                 Information information=new Information();
-                information.setUserId(String.valueOf(e.get("userId")));
+                String curUserid = String.valueOf(e.get("userId"));
+                String date = String.valueOf(e.get("createDate"));
+                String userName = String.valueOf(e.get("name"));
+                information.setUserId(curUserid);
                 information.setTime(LocalDateTime.now());
-                information.setContent(String.valueOf(e.get("createDate")));
+                information.setContent(date);
                 information.setType(0);
-                information.setMsg("您在"+String.valueOf(e.get("createDate"))+"的日报考勤填报异常,请完成填报变更");
+                String reason = "您在"+date+"的日报考勤填报异常,请完成填报变更";
+                information.setMsg(reason);
                 informationList.add(information);
-                reportMapper.denyReportWithUserAndCreateDate(String.valueOf(e.get("userId")),String.valueOf(e.get("createDate")));
+
+                //审批流里面增加驳回的记录
+                ReportAuditLog log = new ReportAuditLog();
+                log.setAuditChannel(1);
+                log.setCompanyId(companyId);
+                //log.setResult("驳回"+(StringUtils.isEmpty(reason)?"":"("+reason+")"));
+                log.setResult(MessageUtils.message("stages.reject")+(StringUtils.isEmpty(reason)?"":"("+reason+")"));
+                log.setUserId(operator.getId());
+                log.setUserName(operator.getName());
+                reportAuditLogMapper.insert(log);
+                //员工的日期
+                ReportAlogMembdate membdate = new ReportAlogMembdate();
+                membdate.setRlogId(log.getId());
+                membdate.setState(2);//驳回
+                membdate.setCreateDate(LocalDate.parse(date,df));
+                membdate.setUserId(curUserid);
+                membdate.setUserName(userName);
+                reportAlogMembdateMapper.insert(membdate);
+
+                //查询出日报
+                List<Report> rList = reportMapper.selectList(new QueryWrapper<Report>().eq("create_date", date).eq("user_id", curUserid));
+                saveDenyReportLog(rList, curUserid, userName, reason);
+                //todo: 增加客户操作记录
+                reportMapper.denyReportWithUserAndCreateDate(String.valueOf(e.get("userId")),String.valueOf(e.get("createDate")), operator.getId(), operator.getName());
                 //发送企业微信消息
                 if(wxCorpInfo!=null&&e.get("corpwxUserId")!=null){
                     wxCorpInfoService.sendWXCorpMsg(wxCorpInfo,String.valueOf(e.get("corpwxUserId")), "您在"+String.valueOf(e.get("createDate"))+"的日报考勤填报异常,请完成填报变更", null, WxCorpInfoServiceImpl.TEXT_CARD_MSG_REPORT_ABNOEMAL);