Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -20,5 +20,6 @@
|
||||
<if test="processInstanceId != null and processInstanceId != ''">
|
||||
group by pn.id
|
||||
</if>
|
||||
ORDER BY pn.sort
|
||||
</select>
|
||||
</mapper>
|
||||
+12
@@ -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;
|
||||
}
|
||||
+1
-22
@@ -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<ProcessFbEntr
|
||||
@Autowired
|
||||
private IProcessFbEntryChangeService processFbEntryChangeService;
|
||||
|
||||
@AutoLog(value = "标准法规入库_变更流程-添加业务信息")
|
||||
@ApiOperation(value = "标准法规入库_变更流程-添加业务信息", notes = "标准法规入库_变更流程-添加业务信息")
|
||||
@PostMapping(value = "/addBusinessInfo")
|
||||
public Result<T> 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<T> 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<ProcessFbEntryChange> 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<ProcessFbEntr
|
||||
@AutoLog(value = "流程处理-保存为草稿")
|
||||
@ApiOperation(value = "流程处理-保存为草稿", notes = "流程处理-保存为草稿")
|
||||
@PostMapping(value = "/saveToDraft")
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO processInfoVO) {
|
||||
public Result<T> saveToDraft(@Validated @RequestBody ProcessInfoVO<ProcessFbEntryChange> processInfoVO) {
|
||||
processFbEntryChangeService.saveToDraft(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
+1
-1
@@ -59,5 +59,5 @@ public interface IProcessFbEntryChangeService extends IService<ProcessFbEntryCha
|
||||
* @Date: 2023/11/3 10:58
|
||||
* @Description: 保存为草稿
|
||||
**/
|
||||
void saveToDraft(ProcessInfoVO processInfoVO);
|
||||
void saveToDraft(ProcessInfoVO<ProcessFbEntryChange> processInfoVO);
|
||||
}
|
||||
|
||||
+15
-1
@@ -163,7 +163,21 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
|
||||
* @Description: 保存为草稿
|
||||
**/
|
||||
@Override
|
||||
public void saveToDraft(ProcessInfoVO processInfoVO) {
|
||||
public void saveToDraft(ProcessInfoVO<ProcessFbEntryChange> 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);
|
||||
}
|
||||
}
|
||||
|
||||
+22
@@ -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<ProcessDraft> 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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -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<Ente
|
||||
public Result<?> queryPageList(ESQueryCommonDTO esDeclare,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
IPage<EnterpriseStandardRecheckPlanVo> pageList= recheckPlanService.queryPageList(esDeclare, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
return Result.OK(recheckPlanService.queryPageList(esDeclare, pageNo, pageSize));
|
||||
}
|
||||
}
|
||||
+4
@@ -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;
|
||||
|
||||
+4
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<LawsEnterpriseStandard> allEs = esService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>().eq(LawsEnterpriseStandard::getDelFlag, YesOrNoEnum.NO.getValue()));
|
||||
|
||||
List<EnterpriseStandardRecheckPlan> recheckPlanList = esRecheckPlanService.list();
|
||||
Map<String, List<EnterpriseStandardRecheckPlan>> 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<EnterpriseStandardRecheckPlan> 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("企标复审计划定时任务执行完成");
|
||||
}
|
||||
}
|
||||
+6
-6
@@ -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<EnterpriseStandardPlan> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(EnterpriseStandardPlan::getQualityFlag, 0);
|
||||
enterpriseStandardPlanService.update(updateWrapper);
|
||||
+5
-9
@@ -12,6 +12,7 @@
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
|
||||
<result property="standardNo" column="standard_no" jdbcType="VARCHAR"/>
|
||||
<result property="standardId" column="standard_id" jdbcType="VARCHAR"/>
|
||||
<result property="recheckDate" column="recheck_date" jdbcType="TIMESTAMP"/>
|
||||
<result property="recheckResult" column="recheck_result" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
@@ -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
|
||||
<!--企标编号判断-->
|
||||
<if test="param.standardNo != null and param.standardNo != ''">
|
||||
AND s.standard_number LIKE CONCAT('%',#{param.standardNo},'%')
|
||||
|
||||
+1
-5
@@ -32,17 +32,13 @@ import java.util.stream.Collectors;
|
||||
public class EnterpriseStandardRecheckPlanServiceImpl extends ServiceImpl<EnterpriseStandardRecheckPlanMapper, EnterpriseStandardRecheckPlan>
|
||||
implements EnterpriseStandardRecheckPlanService{
|
||||
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardRecheckPlanMapper esRecheckPlanMapper;
|
||||
|
||||
@Override
|
||||
public IPage<EnterpriseStandardRecheckPlanVo> queryPageList(ESQueryCommonDTO esRecheckPlan, Integer pageNo, Integer pageSize) {
|
||||
IPage<EnterpriseStandardRecheckPlanVo> page = new Page<>(pageNo, pageSize);
|
||||
esRecheckPlanMapper.page(page, esRecheckPlan);
|
||||
return page;
|
||||
return esRecheckPlanMapper.page(page, esRecheckPlan);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user