Browse Source

fix: BUG修复

厅长信箱
wxc 4 weeks ago
parent
commit
71dee510a3
  1. 17
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/ApprovalFlow.java
  2. 19
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/FirstApprovalFlow.java
  3. 2
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/FirstSignFlow.java
  4. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/SecondSignFlow.java
  5. 6
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/ThreeVerifyFlow.java
  6. 22
      mailbox-lan/src/main/java/com/biutag/lan/service/GenReportService.java

17
mailbox-lan/src/main/java/com/biutag/lan/flow/node/ApprovalFlow.java

@ -3,9 +3,7 @@ package com.biutag.lan.flow.node;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.constants.AppConstants;
import com.biutag.entity.system.PoliceUser;
import com.biutag.enums.MailState;
import com.biutag.enums.RoleEnum;
import com.biutag.exception.BusinessException;
@ -13,15 +11,16 @@ import com.biutag.lan.config.AdminThreadLocal;
import com.biutag.lan.domain.Mail;
import com.biutag.lan.domain.MailMark;
import com.biutag.lan.domain.MailReturn;
import com.biutag.lan.domain.Work;
import com.biutag.lan.enums.WorkType;
import com.biutag.lan.enums.LocalProcessingEnum;
import com.biutag.lan.flow.ActionEnum;
import com.biutag.lan.flow.Flow;
import com.biutag.lan.flow.FlowNameEnum;
import com.biutag.lan.flow.FlowNodeEnum;
import com.biutag.lan.service.*;
import com.biutag.lan.service.MailMarkService;
import com.biutag.lan.service.MailReturnService;
import com.biutag.lan.service.MailService;
import com.biutag.lan.service.WorkService;
import com.biutag.mapper.system.DeptMapper;
import com.biutag.util.NumberUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
@ -139,10 +138,14 @@ public class ApprovalFlow extends Flow {
mailReturnService.save(mailReturn);
Integer extensionDays = data.getInteger("extensionDays");
String flowKey = FlowNodeEnum.FIRST_APPROVAL.getKey();
if (Objects.nonNull(mail.getLocalProcessingFlag()) && mail.getLocalProcessingFlag() && LocalProcessingEnum.FIRST.getValue().equals(mail.getLocalProcessing())) {
flowKey = FlowNodeEnum.VERIFY.getKey();
}
// 更新信件
mail.setUpdateTime(now)
.setExtensionDays(NumberUtil.nullToZero(mail.getExtensionDays()) + NumberUtil.nullToZero(extensionDays))
.setFlowKey(FlowNodeEnum.FIRST_APPROVAL.getKey())
.setFlowKey(flowKey)
.setCurrentOperator(String.format("%s专班", deptMapper.selectById(mail.getFirstDeptId()).getShortName()))
.setReturnOperate(returnOperate);
mailService.updateById(mail);

19
mailbox-lan/src/main/java/com/biutag/lan/flow/node/FirstApprovalFlow.java

@ -4,14 +4,12 @@ import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.constants.AppConstants;
import com.biutag.enums.RoleEnum;
import com.biutag.exception.BusinessException;
import com.biutag.lan.config.AdminThreadLocal;
import com.biutag.lan.domain.Mail;
import com.biutag.lan.domain.MailReturn;
import com.biutag.lan.domain.Work;
import com.biutag.lan.enums.WorkType;
import com.biutag.lan.enums.LocalProcessingEnum;
import com.biutag.lan.flow.ActionEnum;
import com.biutag.lan.flow.Flow;
import com.biutag.lan.flow.FlowNameEnum;
@ -21,6 +19,7 @@ import com.biutag.lan.service.MailReturnService;
import com.biutag.lan.service.MailService;
import com.biutag.lan.service.WorkService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
@ -28,6 +27,7 @@ import java.time.LocalDateTime;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@RequiredArgsConstructor
@Component
public class FirstApprovalFlow extends Flow {
@ -116,11 +116,18 @@ public class FirstApprovalFlow extends Flow {
// 更新二级机构专班的待办
workService.updateTodo(mailId, RoleEnum.SECOND_DEPT_CLASSES.getRoleId(), mail.getSecondDeptId(), FlowNameEnum.RETURN_RECTIFICATION.getName());
Integer extensionDays = data.getInteger("extensionDays");
Integer days = data.getInteger("extensionDays");
String flowKey = FlowNodeEnum.SECOND_APPROVAL.getKey();
if (Objects.nonNull(mail.getLocalProcessingFlag()) && mail.getLocalProcessingFlag() && LocalProcessingEnum.SECOND.getValue().equals(mail.getLocalProcessing())) {
flowKey = FlowNodeEnum.VERIFY.getKey();
}
Integer extensionDays = NumberUtil.nullToZero(mail.getExtensionDays()) + NumberUtil.nullToZero(days);
log.info("延期天数:{}, 总共延期天数:{}", days, extensionDays);
// 更新信件
mail.setUpdateTime(now)
.setExtensionDays(NumberUtil.nullToZero(mail.getExtensionDays()) + NumberUtil.nullToZero(extensionDays))
.setFlowKey(FlowNodeEnum.SECOND_APPROVAL.getKey())
.setExtensionDays(extensionDays)
.setFlowKey(flowKey)
.setCurrentOperator(String.format("%s专班", mail.getSecondDeptName()))
.setReturnOperate(returnOperate);
mailService.updateById(mail);

2
mailbox-lan/src/main/java/com/biutag/lan/flow/node/FirstSignFlow.java

@ -145,6 +145,8 @@ public class FirstSignFlow extends Flow {
.set(Mail::getFirstDeptId, null)
.set(Mail::getFirstDeptName, null)
.set(Mail::getSimpleFlowFlag, false)
.set(Mail::getLocalProcessingFlag, false)
.set(Mail::getLocalProcessing, null)
.set(Mail::getCurrentOperator, "省厅专班")
);
// 删除

1
mailbox-lan/src/main/java/com/biutag/lan/flow/node/SecondSignFlow.java

@ -87,6 +87,7 @@ public class SecondSignFlow extends Flow {
.set(Mail::getFirstDistributeInfo, null)
.set(Mail::getThreeDeptId, null)
.set(Mail::getThreeDeptName, null)
.set(Mail::getLocalProcessing, null)
.set(Mail::getCurrentOperator, String.format("%s专班", deptService.detail(mail.getFirstDeptId()).getShortName()))
);
} else {

6
mailbox-lan/src/main/java/com/biutag/lan/flow/node/ThreeVerifyFlow.java

@ -222,16 +222,16 @@ public class ThreeVerifyFlow extends Flow {
if (Objects.nonNull(mail.getLocalProcessingFlag()) && mail.getLocalProcessingFlag() && LocalProcessingEnum.FIRST.getValue().equals(mail.getLocalProcessing())) {
mail.setCurrentOperator("省厅专班")
.setFlowKey(FlowNodeEnum.APPROVAL.getKey())
.setFlowName(FlowNodeEnum.APPROVAL.getFullName());
.setFlowName("待审核");
} else if (Objects.nonNull(mail.getLocalProcessingFlag()) && mail.getLocalProcessingFlag() && LocalProcessingEnum.SECOND.getValue().equals(mail.getLocalProcessing())) {
DeptVo deptVo = deptService.detail(mail.getFirstDeptId());
mail.setCurrentOperator(String.format("%s专班", deptVo.getShortName()))
.setFlowKey(FlowNodeEnum.FIRST_APPROVAL.getKey())
.setFlowName(FlowNodeEnum.FIRST_APPROVAL.getKey());
.setFlowName("待审核");
} else {
mail.setFlowKey(nextNode.getFlowNode().getKey())
.setFlowName(nextNode.getFlowNode().getFullName());
.setFlowName("待审核");
if (ActionEnum.offline.name().equals(nextActionKey)) {
mail.setCurrentOperator(String.format("%s专班", mail.getSecondDeptName()));
} else {

22
mailbox-lan/src/main/java/com/biutag/lan/service/GenReportService.java

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.constants.AppConstants;
import com.biutag.entity.setting.DictData;
import com.biutag.entity.system.Dept;
import com.biutag.lan.domain.Mail;
import com.biutag.lan.domain.Report;
import com.biutag.lan.domain.vo.*;
import com.biutag.lan.enums.DeptCategory;
@ -37,6 +38,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -53,6 +55,8 @@ public class GenReportService {
private final MailMapper mailMapper;
private final MailService mailService;
private final IDictDataService dictDataService;
private final Template template;
@ -62,11 +66,12 @@ public class GenReportService {
private StorageService storageService;
@Autowired
public GenReportService(IDictDataService dictDataService, DataMapper dataMapper, ReportMapper reportMapper, DeptMapper deptMapper, MailMapper mailMapper) throws IOException {
public GenReportService(IDictDataService dictDataService, DataMapper dataMapper, ReportMapper reportMapper, DeptMapper deptMapper, MailMapper mailMapper, MailService mailService) throws IOException {
this.dataMapper = dataMapper;
this.reportMapper = reportMapper;
this.deptMapper = deptMapper;
this.mailMapper = mailMapper;
this.mailService = mailService;
this.dictDataService = dictDataService;
Configuration configuration = new Configuration(new Version("2.3.28"));
configuration.setDefaultEncoding("UTF-8");
@ -282,4 +287,19 @@ public class GenReportService {
.eq(Report::getId, reportId));
}
}
/**
* 半月报
*/
@Async
public void genBimonthly(Integer reportId, String startTime, String endTime) {
String startTime1 = DateUtil.format(DateUtil.parse(startTime, DatePattern.NORM_DATETIME_FORMATTER), DatePattern.CHINESE_DATE_FORMAT);
String endTime1 = DateUtil.format(DateUtil.parse(endTime, DatePattern.NORM_DATETIME_FORMATTER), DatePattern.CHINESE_DATE_FORMAT);
String createTime = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_FORMAT);
List<Mail> mails = mailService.list(new LambdaQueryWrapper<Mail>().between(Mail::getMailTime, startTime, endTime));
Map<String, List<Mail>> categoryGroup = mails.stream().collect(Collectors.groupingBy(Mail::getMailFirstCategory));
}
}
Loading…
Cancel
Save