diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml
index e462c4e3..6e9f24f6 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessNodeMapper.xml
@@ -20,5 +20,6 @@
group by pn.id
+ ORDER BY pn.sort
\ No newline at end of file
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java
index 0dfae906..f79995ba 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -66,6 +68,16 @@ public class ProcessDraft implements Serializable {
*/
private String projectId;
+ /**流程审批信息-备注*/
+ @ApiModelProperty(value = "流程审批信息-备注")
+ private java.lang.String handleText;
+ /**流程审批信息-附件*/
+ @ApiModelProperty(value = "流程审批信息-附件")
+ private java.lang.String handleFile;
+ /**用户id*/
+ @ApiModelProperty(value = "用户id")
+ private java.lang.String userId;
+
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbEntryChangeController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbEntryChangeController.java
index 4b147bde..954d01fd 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbEntryChangeController.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/controller/ProcessFbEntryChangeController.java
@@ -2,9 +2,7 @@ package com.jero.modules.activiti.process.fb.controller;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
-import com.jero.common.util.MessageUtils;
import com.jero.modules.activiti.process.common.entity.TransferVO;
-import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO;
import com.jero.modules.activiti.process.fb.entity.ProcessFbEntryChange;
import com.jero.modules.activiti.process.fb.service.IProcessFbEntryChangeService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
@@ -33,30 +31,11 @@ public class ProcessFbEntryChangeController extends JeroController addBusinessInfo(@Validated @RequestBody ProcessFbEntryChange processFbEntryChange) {
- processFbEntryChangeService.addBusinessInfo(processFbEntryChange);
- return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
- }
-
- @AutoLog(value = "标准法规入库_变更流程-编辑业务信息")
- @ApiOperation(value = "标准法规入库_变更流程-编辑业务信息", notes = "标准法规入库_变更流程-编辑业务信息")
- @PostMapping(value = "/editBusinessInfo")
- public Result edit(@Validated @RequestBody ProcessFbEntryChange processFbEntryChange) {
- processFbEntryChangeService.editBusinessInfo(processFbEntryChange);
- return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
- }
-
@AutoLog(value = "标准法规入库_变更流程-通过id查询")
@ApiOperation(value = "标准法规入库_变更流程-通过id查询", notes = "标准法规入库_变更流程-通过id查询")
@GetMapping(value = "/queryBusinessInfo")
public Result queryBusinessInfo(@RequestParam(name = "id") String id) {
ProcessFbEntryChange processFbEntryChange = processFbEntryChangeService.queryBusinessInfo(id);
- if (processFbEntryChange == null) {
- return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
- }
return Result.OK(processFbEntryChange);
}
@@ -95,7 +74,7 @@ public class ProcessFbEntryChangeController extends JeroController saveToDraft(@Validated @RequestBody ProcessInfoVO processInfoVO) {
+ public Result saveToDraft(@Validated @RequestBody ProcessInfoVO processInfoVO) {
processFbEntryChangeService.saveToDraft(processInfoVO);
return Result.OK();
}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java
index 90917771..3e3402d4 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessFbEntryChangeService.java
@@ -59,5 +59,5 @@ public interface IProcessFbEntryChangeService extends IService processInfoVO);
}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java
index f42315ba..86ab2517 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbEntryChangeServiceImpl.java
@@ -163,7 +163,21 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl processInfoVO) {
+ // 业务信息
+ ProcessFbEntryChange businessInfoDTO = processInfoVO.getBusinessInfoDTO();
+ if (StringUtils.isBlank(businessInfoDTO.getId())) { // 如果是发起时保存
+ String businessId = UUIDUtils.randomUUID20();
+ businessInfoDTO.setId(businessId);
+ addBusinessInfo(businessInfoDTO);
+ } else { // 如果是审批时保存
+ processInfoVO.setBusinessId(businessInfoDTO.getId());
+ editBusinessInfo(businessInfoDTO);
+ }
+ // 流程信息
+ BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
+ basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_ENTRY_CHANGE.getValue()); // 流程类型
+
processHandleService.saveToDraft(processInfoVO);
}
}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java
index 3ee67157..d77c384d 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java
@@ -1,11 +1,14 @@
package com.jero.modules.activiti.process.fb.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
+import com.jero.modules.activiti.process.common.entity.ProcessDraft;
+import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
@@ -55,6 +58,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
private ProcessApprovalRecordService processApprovalRecordService; // 任务审批表
@Resource
private ProcessNodeLinkService processNodeLinkService; // 流程实例节点关联用户表
+ @Resource
+ private ProcessDraftService processDraftService; // 流程草稿表
/**
* @Author: liao
@@ -222,7 +227,24 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
**/
@Override
public void saveToDraft(ProcessInfoVO processInfoVO) {
+ BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
+ BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
+ // 添加前先进行旧数据删除
+ LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper<>();
+ deleteWrapper.eq(ProcessDraft::getProjectId, processInfoVO.getBusinessId());
+ deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId());
+ processDraftService.remove(deleteWrapper);
+
+ ProcessDraft processDraft = new ProcessDraft();
+ processDraft.setProjectId(processInfoVO.getBusinessId()); // 业务id
+ processDraft.setProcessInstanceId(basicProcessInfoDTO.getProcessInstanceId()); // 流程实例id
+ processDraft.setPrcName(basicProcessInfoDTO.getProcessName()); // 流程名称
+ processDraft.setPrcType(basicProcessInfoDTO.getProcessType()); // 流程类型
+ processDraft.setHandleText(basicTaskInfoDTO.getHandleText()); // 流程审批信息-备注
+ processDraft.setHandleFile(basicTaskInfoDTO.getHandleFile()); // 流程审批信息-附件
+ processDraft.setUserId(CurrentUserUtil.getId()); // 用户id
+ processDraftService.save(processDraft);
}
/**
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardRecheckPlanController.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardRecheckPlanController.java
index 679bbc3d..6e585e10 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardRecheckPlanController.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardRecheckPlanController.java
@@ -3,6 +3,7 @@ package com.jero.modules.laws.enterprise.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
+import com.jero.common.aspect.annotation.Translation;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.common.constant.ResultCommon;
@@ -49,7 +50,6 @@ public class EnterpriseStandardRecheckPlanController extends JeroController queryPageList(ESQueryCommonDTO esDeclare,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
- IPage pageList= recheckPlanService.queryPageList(esDeclare, pageNo, pageSize);
- return Result.OK(pageList);
+ return Result.OK(recheckPlanService.queryPageList(esDeclare, pageNo, pageSize));
}
}
\ No newline at end of file
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardRecheckPlan.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardRecheckPlan.java
index 5d9d0cf0..ab7dcd13 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardRecheckPlan.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardRecheckPlan.java
@@ -58,6 +58,10 @@ public class EnterpriseStandardRecheckPlan implements Serializable {
@ApiModelProperty(value = "所属部门")
private String orgCode;
+ /**企标Id*/
+ @ApiModelProperty(value = "企标Id")
+ private String standardId;
+
/**企标编号*/
@ApiModelProperty(value = "企标编号")
private String standardNo;
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardRecheckPlanVo.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardRecheckPlanVo.java
index 64054cf2..2c72d43d 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardRecheckPlanVo.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardRecheckPlanVo.java
@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -18,6 +19,7 @@ import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
+@Accessors(chain = true)
public class EnterpriseStandardRecheckPlanVo {
/**主键ID*/
@@ -51,9 +53,11 @@ public class EnterpriseStandardRecheckPlanVo {
/**主起草人*/
@ApiModelProperty(value = "主起草人")
+ @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String mainDraftingUser;
/**主起草单位*/
@ApiModelProperty(value = "主起草单位")
+ @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
private String mainDraftingUnit;
}
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java
new file mode 100644
index 00000000..76056d4c
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/ESRecheckPlanJob.java
@@ -0,0 +1,73 @@
+package com.jero.modules.laws.enterprise.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jero.common.constant.enums.YesOrNoEnum;
+import com.jero.modules.laws.enterprise.entity.EnterpriseStandardRecheckPlan;
+import com.jero.modules.laws.enterprise.service.EnterpriseStandardRecheckPlanService;
+import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
+import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
+import lombok.extern.slf4j.Slf4j;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author: Mzaxd
+ * @Date: 2023/11/8 9:11
+ */
+
+@Slf4j
+public class ESRecheckPlanJob implements Job {
+
+ @Resource
+ private EnterpriseStandardRecheckPlanService esRecheckPlanService;
+
+ @Resource
+ private ILawsEnterpriseStandardService esService;
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+ List allEs = esService.list(new LambdaQueryWrapper().eq(LawsEnterpriseStandard::getDelFlag, YesOrNoEnum.NO.getValue()));
+
+ List recheckPlanList = esRecheckPlanService.list();
+ Map> recheckPlanMap = recheckPlanList.stream().collect(Collectors.groupingBy(EnterpriseStandardRecheckPlan::getId));
+
+ for (LawsEnterpriseStandard es : allEs) {
+ // 根据企标发布日期判断是否当前已经达到35个月
+
+ // 请确保es.getReleaseDate()返回的是Date类型的实例
+ ZonedDateTime releaseZonedDateTime = es.getReleaseDate().toInstant()
+ .atZone(ZoneId.of("Asia/Shanghai"));
+ LocalDate releaseLocalDate = releaseZonedDateTime.toLocalDate();
+ LocalDate now = LocalDate.now();
+ // 36个月的复审日期
+ LocalDate recheckDate36Months = releaseLocalDate.plusMonths(36);
+ LocalDate plusMonths = releaseLocalDate.plusMonths(35);
+ if (plusMonths.isBefore(now)) {
+ // 判断是否已经存在复审计划
+ List recheckPlans = recheckPlanMap.get(es.getId());
+ if (recheckPlans == null || recheckPlans.size() == 0) {
+ // 企标已经达到35个月,需要重新复审
+ EnterpriseStandardRecheckPlan recheckPlan = new EnterpriseStandardRecheckPlan();
+ recheckPlan.setStandardId(es.getId());
+ recheckPlan.setStandardNo(es.getStandardNumber());
+ // 正确处理时区,转换回Date类型
+ ZonedDateTime zdtRecheck = recheckDate36Months.atStartOfDay(ZoneId.of("Asia/Shanghai"));
+ Date recheckDate = Date.from(zdtRecheck.toInstant());
+ recheckPlan.setRecheckDate(recheckDate);
+ esRecheckPlanService.save(recheckPlan);
+ }
+ }
+ }
+ log.info("企标复审计划定时任务执行完成");
+ }
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/QualityStandardResetTask.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/QualityStandardResetJob.java
similarity index 73%
rename from laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/QualityStandardResetTask.java
rename to laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/QualityStandardResetJob.java
index 3c268581..3c14cd5b 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/QualityStandardResetTask.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/job/QualityStandardResetJob.java
@@ -4,21 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
import javax.annotation.Resource;
@Slf4j
-@Component
-public class QualityStandardResetTask {
+public class QualityStandardResetJob implements Job {
@Resource
private EnterpriseStandardPlanService enterpriseStandardPlanService;
- @Scheduled(cron = "0 0 0 1 * ?")
- public void qualityStandardResetTask() {
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(EnterpriseStandardPlan::getQualityFlag, 0);
enterpriseStandardPlanService.update(updateWrapper);
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardRecheckPlanMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardRecheckPlanMapper.xml
index fe46a525..ab88bb99 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardRecheckPlanMapper.xml
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardRecheckPlanMapper.xml
@@ -12,6 +12,7 @@
+
@@ -30,17 +31,12 @@
s.release_date AS releaseDate,
p.recheck_date AS recheckDate,
p.recheck_result AS recheckResult,
- u.username AS mainDraftingUser,
- d.depart_name AS mainDraftingUnit
+ s.main_drafting_user AS mainDraftingUser,
+ s.main_drafting_unit AS mainDraftingUnit
FROM
laws_enterprise_standard_recheck_plan AS p
- LEFT JOIN laws_enterprise_standard AS s ON s.standard_number = p.standard_no
- LEFT JOIN sys_user AS u ON u.id = s.main_drafting_user
- LEFT JOIN sys_depart AS d ON d.id = s.main_drafting_unit
- WHERE
- (p.recheck_date BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 MONTH))
- OR
- (p.recheck_result IS NOT NULL)
+ LEFT JOIN laws_enterprise_standard AS s ON s.id = p.standard_id
+ WHERE 1 = 1
AND s.standard_number LIKE CONCAT('%',#{param.standardNo},'%')
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardRecheckPlanServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardRecheckPlanServiceImpl.java
index 43c7a335..dd1420dc 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardRecheckPlanServiceImpl.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardRecheckPlanServiceImpl.java
@@ -32,17 +32,13 @@ import java.util.stream.Collectors;
public class EnterpriseStandardRecheckPlanServiceImpl extends ServiceImpl
implements EnterpriseStandardRecheckPlanService{
- @Resource
- private ISysBaseAPI sysBaseAPI;
-
@Resource
private EnterpriseStandardRecheckPlanMapper esRecheckPlanMapper;
@Override
public IPage queryPageList(ESQueryCommonDTO esRecheckPlan, Integer pageNo, Integer pageSize) {
IPage page = new Page<>(pageNo, pageSize);
- esRecheckPlanMapper.page(page, esRecheckPlan);
- return page;
+ return esRecheckPlanMapper.page(page, esRecheckPlan);
}
}