Browse Source

BUG 修复

master
wxc 2 years ago
parent
commit
7a7bc6a323
  1. 9
      mailbox-lan/sql/0315.sql
  2. 18
      mailbox-lan/src/main/java/com/biutag/lan/controller/FileController.java
  3. 5
      mailbox-lan/src/main/java/com/biutag/lan/domain/MailReturn.java
  4. 3
      mailbox-lan/src/main/java/com/biutag/lan/domain/vo/MailExcel.java
  5. 10
      mailbox-lan/src/main/java/com/biutag/lan/domain/vo/QueryMailVo.java
  6. 10
      mailbox-lan/src/main/java/com/biutag/lan/domain/vo/WorkVo.java
  7. 9
      mailbox-lan/src/main/java/com/biutag/lan/flow/FlowNodeEnum.java
  8. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/FirstApprovalFlow.java
  9. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/SecondApprovalFlow.java
  10. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/SecondSignFlow.java
  11. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/ThreeContactWriterFlow.java
  12. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/ThreeLeaderApprovalFlow.java
  13. 1
      mailbox-lan/src/main/java/com/biutag/lan/flow/node/ThreeSignFlow.java
  14. 2
      mailbox-lan/src/main/java/com/biutag/lan/service/IHolidayService.java
  15. 8
      mailbox-lan/src/main/java/com/biutag/lan/service/MailReturnService.java
  16. 4
      mailbox-lan/src/main/java/com/biutag/lan/service/MailService.java
  17. 1
      mailbox-lan/src/main/java/com/biutag/lan/service/SmsService.java
  18. 12
      mailbox-lan/src/main/java/com/biutag/lan/service/WorkService.java
  19. 31
      mailbox-lan/src/main/java/com/biutag/lan/service/impl/HolidayServiceImpl.java
  20. BIN
      mailbox-lan/src/main/resources/templates/长沙市公安局局长信箱即接即办系统平台-操作手册V1.3.pdf

9
mailbox-lan/sql/0315.sql

@ -0,0 +1,9 @@
ALTER TABLE "mailbox"."mail_return"
ADD COLUMN "sign_flag" bool DEFAULT true;
COMMENT ON COLUMN "mailbox"."mail_return"."sign_flag" IS '是否是签收退回';
update mail_return set sign_flag = true where handler_name is null;
update mail_return set sign_flag = false where handler_name is not null;
INSERT INTO "mailbox"."menu"("id", "pid", "menu_type", "menu_name", "menu_icon", "menu_sort", "perms", "paths", "component", "selected", "params", "is_cache", "is_show", "is_disable", "create_time", "update_time") VALUES (813, 500, 'C', '操作手册', NULL, 0, NULL, 'operatingManual', 'setting/OperatingManual', NULL, NULL, 0, 1, 0, 1710472924, 1710473042);

18
mailbox-lan/src/main/java/com/biutag/lan/controller/FileController.java

@ -88,4 +88,22 @@ public class FileController {
os.close();
}
@NotPower
@GetMapping("pdf/template/{filename}")
public void pdf(@PathVariable String filename, HttpServletResponse response) throws IOException {
InputStream is = getClass().getResourceAsStream(String.format("/templates/%s", filename));
if (Objects.isNull(is)) {
return;
}
response.setContentType("application/pdf");
ServletOutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer, 0, buffer.length)) != -1) {
os.write(buffer, 0, bytesRead);
}
is.close();
os.close();
}
}

5
mailbox-lan/src/main/java/com/biutag/lan/domain/MailReturn.java

@ -56,4 +56,9 @@ public class MailReturn {
*/
private String attachments;
/**
* 签收退回
*/
private Boolean signFlag;
}

3
mailbox-lan/src/main/java/com/biutag/lan/domain/vo/MailExcel.java

@ -1,5 +1,6 @@
package com.biutag.lan.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Getter;
import lombok.Setter;
@ -429,6 +430,8 @@ public class MailExcel {
// */
// @ExcelProperty("信件后续审批流程")
// private String returnOperate;
@ExcelProperty("")
private String id;
/**

10
mailbox-lan/src/main/java/com/biutag/lan/domain/vo/QueryMailVo.java

@ -134,4 +134,14 @@ public class QueryMailVo {
* 当前操作人
*/
private String currentOperator;
/**
* 是否申请延期
*/
private Boolean extensionFlag;
/**
* 延期天数
*/
private Integer extensionDays;
}

10
mailbox-lan/src/main/java/com/biutag/lan/domain/vo/WorkVo.java

@ -129,5 +129,15 @@ public class WorkVo {
* 当前操作人
*/
private String currentOperator;
/**
* 是否申请延期
*/
private Boolean extensionFlag;
/**
* 延期天数
*/
private Integer extensionDays;
}

9
mailbox-lan/src/main/java/com/biutag/lan/flow/FlowNodeEnum.java

@ -42,4 +42,13 @@ public enum FlowNodeEnum {
return null;
}
public static boolean isSignReturn(String key) {
for (FlowNodeEnum value : values()) {
if (value.getKey().equals(key)) {
return value.getIndex() < THREE_SIGN.index;
}
}
return false;
}
}

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

@ -112,6 +112,7 @@ public class FirstApprovalFlow extends Flow {
.setHandlerName(AdminThreadLocal.getPoliceName())
.setHandlerDeptId(AdminThreadLocal.getDeptId())
.setHandlerDeptName(AdminThreadLocal.getDeptName())
.setSignFlag(false)
.setCreateTime(now);
mailReturnService.save(mailReturn);
// 更新二级机构专班的待办

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

@ -67,6 +67,7 @@ public class SecondApprovalFlow extends Flow {
.setHandlerName(AdminThreadLocal.getPoliceName())
.setHandlerDeptId(AdminThreadLocal.getDeptId())
.setHandlerDeptName(AdminThreadLocal.getDeptName())
.setSignFlag(false)
.setCreateTime(now);
mailReturnService.save(mailReturn);
// 更新已办

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

@ -63,6 +63,7 @@ public class SecondSignFlow extends Flow {
.setHandlerDeptId(deptId)
.setHandlerDeptName(AdminThreadLocal.getDeptName())
.setAttachments(data.getString("attachments"))
.setSignFlag(true)
.setCreateTime(now);
mailReturnService.save(mailReturn);
// 更新已办

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

@ -61,7 +61,6 @@ public class ThreeContactWriterFlow extends Flow {
.setContactPolicePost(contactPolice.getString("post"))
.setContactTime(DateUtil.parseLocalDateTime(contactTime, DatePattern.NORM_DATETIME_PATTERN))
.setContactDuration(data.getLong("contactDuration"))
.setContactPoliceEmpNo(data.getString("contactDuration"))
.setContactFlag(data.getBoolean("contactFlag"))
.setFlowKey(nextNode.getFlowNode().getKey())
.setFlowName(nextNode.getFlowNode().getBeforeName())

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

@ -69,6 +69,7 @@ public class ThreeLeaderApprovalFlow extends Flow {
.setHandlerName(AdminThreadLocal.getPoliceName())
.setHandlerDeptId(AdminThreadLocal.getDeptId())
.setHandlerDeptName(AdminThreadLocal.getDeptName())
.setSignFlag(false)
.setCreateTime(now);
mailReturnService.save(mailReturn);
// 更新已办

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

@ -69,6 +69,7 @@ public class ThreeSignFlow extends Flow {
.setHandlerDeptId(AdminThreadLocal.getDeptId())
.setHandlerDeptName(AdminThreadLocal.getDeptName())
.setAttachments(data.getString("attachments"))
.setSignFlag(true)
.setCreateTime(now);
mailReturnService.save(mailReturn);
// 更新已办

2
mailbox-lan/src/main/java/com/biutag/lan/service/IHolidayService.java

@ -64,6 +64,6 @@ public interface IHolidayService {
*/
void del(Integer id);
long getFlowRemainingTime(long limitedTime, LocalDateTime flowLimitedLastHandlerTime);
long getFlowRemainingTime(long limitedTime, LocalDateTime flowLimitedLastHandlerTime, Boolean extensionFlag, Integer extensionDays);
}

8
mailbox-lan/src/main/java/com/biutag/lan/service/MailReturnService.java

@ -16,4 +16,12 @@ public class MailReturnService extends ServiceImpl<MailReturnMapper, MailReturn>
.orderByDesc(MailReturn::getCreateTime);
return list(queryWrapper);
}
public List<MailReturn> listBySignReturn(String mailId, boolean signReturn) {
LambdaQueryWrapper<MailReturn> queryWrapper = new LambdaQueryWrapper<MailReturn>().eq(MailReturn::getMailId, mailId)
.eq(MailReturn::getSignFlag, signReturn)
.orderByDesc(MailReturn::getCreateTime);
return list(queryWrapper);
}
}

4
mailbox-lan/src/main/java/com/biutag/lan/service/MailService.java

@ -138,7 +138,7 @@ public class MailService extends ServiceImpl<MailMapper, Mail> {
limitedTime += mail.getExtensionDays() * 24 * 60 * 60;
}
// 剩余时间
long flowRemainingTime = holidayService.getFlowRemainingTime(limitedTime, mail.getFlowLimitedLastHandlerTime());
long flowRemainingTime = holidayService.getFlowRemainingTime(limitedTime, mail.getFlowLimitedLastHandlerTime(), mail.getExtensionFlag(), mail.getExtensionDays());
// 剩余时间百分比
int flowRemainingTimePercentage = flowRemainingTime <= 0 ? 0 :
Long.valueOf(flowRemainingTime * 100 / limitedTime).intValue();
@ -151,7 +151,7 @@ public class MailService extends ServiceImpl<MailMapper, Mail> {
}
// 退回件
if (!flows.isEmpty() && ActionEnum.mailReturn.getValue().equals(flows.get(0).getActionKey())) {
flowDetail.setMailReturns(mailReturnService.list(mailId));
flowDetail.setMailReturns(mailReturnService.listBySignReturn(mailId, FlowNodeEnum.isSignReturn(mail.getFlowKey())));
}
// 申请延期
if (StrUtil.isNotBlank(mail.getExtensionState())) {

1
mailbox-lan/src/main/java/com/biutag/lan/service/SmsService.java

@ -25,6 +25,7 @@ public class SmsService {
}
String content = "请您及时登录局长信箱即接即办,并对您写的信件进行满意度评价,谢谢您的支持!";
try {
log.info("发送短信[{}]:{}", phone, content);
SmsLan.send(phone, content);
SmsSend smsSend = new SmsSend().setPhone(phone).setMailId(mailId).setContent(content).setCreateTime(LocalDateTime.now()).setSuccess(true);
smsSendMapper.insert(smsSend);

12
mailbox-lan/src/main/java/com/biutag/lan/service/WorkService.java

@ -319,10 +319,10 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
}
}
if (Objects.nonNull(item.getLimitedTime())) {
item.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(item.getLimitedTime(), item.getFlowLimitedLastHandlerTime()));
item.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(item.getLimitedTime(), item.getFlowLimitedLastHandlerTime(), item.getExtensionFlag(), item.getExtensionDays()));
} else {
Flow flow = SpringUtil.getBean(FirstSignFlow.class);
item.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(flow.getFlowNode().getLimitedTime(), item.getCreateTime()));
item.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(flow.getFlowNode().getLimitedTime(), item.getCreateTime(), item.getExtensionFlag(), item.getExtensionDays()));
}
});
return workVoPage;
@ -467,10 +467,10 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
}
if (Objects.nonNull(workVo.getLimitedTime())) {
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(workVo.getLimitedTime(), workVo.getFlowLimitedLastHandlerTime()));
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(workVo.getLimitedTime(), workVo.getFlowLimitedLastHandlerTime(), workVo.getExtensionFlag(), workVo.getExtensionDays()));
} else {
Flow flow = SpringUtil.getBean(FirstSignFlow.class);
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(flow.getFlowNode().getLimitedTime(), workVo.getCreateTime()));
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(flow.getFlowNode().getLimitedTime(), workVo.getCreateTime(), workVo.getExtensionFlag(), workVo.getExtensionDays()));
}
}
return result;
@ -608,10 +608,10 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
break;
}
if (Objects.nonNull(workVo.getLimitedTime())) {
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(workVo.getLimitedTime(), workVo.getFlowLimitedLastHandlerTime()));
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(workVo.getLimitedTime(), workVo.getFlowLimitedLastHandlerTime(), workVo.getExtensionFlag(), workVo.getExtensionDays()));
} else {
Flow flow = SpringUtil.getBean(FirstSignFlow.class);
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(flow.getFlowNode().getLimitedTime(), workVo.getCreateTime()));
workVo.setFlowLimitedRemainingTime(holidayService.getFlowRemainingTime(flow.getFlowNode().getLimitedTime(), workVo.getCreateTime(), workVo.getExtensionFlag(), workVo.getExtensionDays()));
}
}
return result;

31
mailbox-lan/src/main/java/com/biutag/lan/service/impl/HolidayServiceImpl.java

@ -158,24 +158,29 @@ public class HolidayServiceImpl implements IHolidayService {
* 获取剩余时间
* @return
*/
public long getFlowRemainingTime(long limitedTime, LocalDateTime flowLimitedLastHandlerTime) {
public long getFlowRemainingTime(long limitedTime, LocalDateTime flowLimitedLastHandlerTime, Boolean extensionFlag, Integer extensionDays) {
// 86400 s 一天
if (limitedTime < 86400) {
return limitedTime - Duration.between(flowLimitedLastHandlerTime, LocalDateTime.now()).getSeconds();
}
LocalDateTime now = LocalDateTime.now();
String nowDate = now.format(DatePattern.NORM_DATE_FORMATTER);
ArrayList<String> dates = new ArrayList<>();
for (LocalDateTime dateTime = flowLimitedLastHandlerTime; dateTime.isBefore(now); dateTime = dateTime.plusDays(1)) {
dates.add(dateTime.format(DatePattern.NORM_DATE_FORMATTER));
if (extensionFlag) {
return limitedTime + (extensionDays * 86400) - Duration.between(flowLimitedLastHandlerTime, LocalDateTime.now()).getSeconds();
} else {
LocalDateTime now = LocalDateTime.now();
String nowDate = now.format(DatePattern.NORM_DATE_FORMATTER);
ArrayList<String> dates = new ArrayList<>();
for (LocalDateTime dateTime = flowLimitedLastHandlerTime; dateTime.isBefore(now); dateTime = dateTime.plusDays(1)) {
dates.add(dateTime.format(DatePattern.NORM_DATE_FORMATTER));
}
List<Holiday> list = list(dates);
long holidays = list.stream().filter(item -> item.getHolidayFlag().equals(AppConstants.YES) && !item.getDate().equals(nowDate)).count();
long todaySeconds = list.stream().anyMatch(item -> item.getHolidayFlag().equals(AppConstants.YES) && item.getDate().equals(nowDate)) ? 0 :
// 当天的时间差
Duration.between(now, now.toLocalDate().atStartOfDay()).getSeconds();
limitedTime += 86400 * holidays + todaySeconds;
return limitedTime - Duration.between(flowLimitedLastHandlerTime, LocalDateTime.now()).getSeconds();
}
List<Holiday> list = list(dates);
long holidays = list.stream().filter(item -> item.getHolidayFlag().equals(AppConstants.YES) && !item.getDate().equals(nowDate)).count();
long todaySeconds = list.stream().anyMatch(item -> item.getHolidayFlag().equals(AppConstants.YES) && item.getDate().equals(nowDate)) ? 0 :
// 当天的时间差
Duration.between(now, now.toLocalDate().atStartOfDay()).getSeconds();
limitedTime += 86400 * holidays + todaySeconds;
return limitedTime - Duration.between(flowLimitedLastHandlerTime, LocalDateTime.now()).getSeconds();
}
}

BIN
mailbox-lan/src/main/resources/templates/长沙市公安局局长信箱即接即办系统平台-操作手册V1.3.pdf

Binary file not shown.
Loading…
Cancel
Save