diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/common/LawsStandardMasterPlanCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/common/LawsStandardMasterPlanCommon.java new file mode 100644 index 00000000..ee986fec --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/common/LawsStandardMasterPlanCommon.java @@ -0,0 +1,69 @@ +package com.jero.modules.laws.standardmasterplan.common; + +/** + * @ClassName: lawsStandardMasterPlanCommon + * @Description: + * @Author: yjz + * @Date: 2024-06-12 10:40 + * @Version: 1.0 + **/ +public class LawsStandardMasterPlanCommon { + private LawsStandardMasterPlanCommon(){ + + } + /** + * 是否涉及 1:是 0:否 + */ + public static final String YES = "1"; + /** + * 是否涉及 1:是 0:否 + */ + public static final String NO = "0"; + + + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String INFORMATION_INPUT = "1"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String TEXT_STORAGE = "2"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String IMPORT_NOTIFICATION = "3"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String INTERPRETATION_OF_REGULATIONS = "4"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String REGULATORY_PROMOTION = "5"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String MARKET_REGULATION_LIST_UPDATE = "6"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String REGULATORY_COMPLIANCE_INVESTIGATION = "7"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String GENERAL_DOCUMENT_RECTIFICATION_PLAN = "8"; + /** + * 标准主计划类型 1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + * 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改 + */ + public static final String VEHICLE_MODEL_RECTIFICATION = "9"; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/controller/LawsStandardMasterPlanController.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/controller/LawsStandardMasterPlanController.java new file mode 100644 index 00000000..0ae33b4a --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/controller/LawsStandardMasterPlanController.java @@ -0,0 +1,128 @@ +package com.jero.modules.laws.standardmasterplan.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; +import com.jero.common.api.vo.ResultCommon; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.aspect.annotation.Translation; +import com.jero.common.constant.CommonConstant; +import com.jero.common.util.MessageUtils; +import com.jero.modules.laws.standardmasterplan.dto.LawsStandardMasterPlanDTO; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanDetailsVO; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; + +/** + * @ClassName: LawsStandardMasterPlanController + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:13 + * @Version: 1.0 + **/ + +@Api(tags="标准主计划") +@RestController +@RequestMapping("/laws/StandardMasterPlan") +@Slf4j +@RequiredArgsConstructor +public class LawsStandardMasterPlanController { + + private final ILawsStandardMasterPlanService lawsStandardMasterPlanService; + + /** + * 标准主计划-分页列表查询 + * + * @return lawsStandardMasterPlanVO + */ + @AutoLog(value = "标准主计划-分页列表查询", operateType = CommonConstant.OPERATE_TYPE_1) + @ApiOperation(value="标准主计划-分页列表查询", notes="标准主计划-分页列表查询") + @GetMapping(value = "/queryByPage") + public Result> queryByPage(LawsStandardMasterPlanVO lawsStandardMasterPlanVO, + @RequestParam(name="pageNo", defaultValue="1") + Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") + Integer pageSize) { + return Result.OK(lawsStandardMasterPlanService.queryByPage(lawsStandardMasterPlanVO, pageNo, pageSize)); + } + + /** + * 标准主计划-列表查询 + * + * @return lawsStandardMasterPlanVO + */ + @AutoLog(value = "标准主计划-列表查询", operateType = CommonConstant.OPERATE_TYPE_1) + @ApiOperation(value="标准主计划-列表查询", notes="标准主计划-列表查询") + @GetMapping(value = "/queryByList") + public Result queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO) { + return Result.OK(lawsStandardMasterPlanService.queryByList(lawsStandardMasterPlanVO)); + } + + /** + * 标准主计划-新增 + * + * @return lawsStandardMasterPlanDTO + */ + @AutoLog(value = "标准主计划-新增", operateType = CommonConstant.OPERATE_TYPE_2) + @ApiOperation(value="标准主计划-新增", notes="标准主计划-新增") + @PostMapping(value = "/add") + public Result add(@RequestBody LawsStandardMasterPlanDTO lawsStandardMasterPlanDTO) { + lawsStandardMasterPlanService.add(lawsStandardMasterPlanDTO); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + /** + * 标准主计划-编辑 + * + * @return lawsStandardMasterPlanDTO + */ + @AutoLog(value = "标准主计划-编辑", operateType = CommonConstant.OPERATE_TYPE_3) + @ApiOperation(value="标准主计划-编辑", notes="标准主计划-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody LawsStandardMasterPlanDTO lawsStandardMasterPlanDTO) { + lawsStandardMasterPlanService.edit(lawsStandardMasterPlanDTO); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + /** + * 标准主计划-查看 + * + * @return lawsStandardMasterPlanDTO + */ + @Translation + @AutoLog(value = "标准主计划-查看", operateType = CommonConstant.OPERATE_TYPE_1) + @ApiOperation(value="标准主计划-查看", notes="标准主计划-查看") + @GetMapping(value = "/queryDetails") + public Result queryDetails(String id) { + return Result.OK(lawsStandardMasterPlanService.queryDetails(id)); + } + + /** + * 标准主计划-删除 + */ + @AutoLog(value = "标准主计划-删除", operateType = CommonConstant.OPERATE_TYPE_4) + @ApiOperation(value="标准主计划-删除", notes="标准主计划-删除") + @GetMapping(value = "/delete") + public Result delete(String ids) { + lawsStandardMasterPlanService.delete(ids); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + /** + * 标准主计划-导出 + */ + @AutoLog(value = "标准主计划-导出", operateType = CommonConstant.OPERATE_TYPE_6) + @ApiOperation(value="标准主计划-导出", notes="标准主计划-导出") + @GetMapping(value = "/exportExcel") + public ModelAndView exportExcel(HttpServletRequest request) { + return lawsStandardMasterPlanService.exportExcel(request); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/controller/LawsStandardMasterPlanSublistController.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/controller/LawsStandardMasterPlanSublistController.java new file mode 100644 index 00000000..8d370c40 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/controller/LawsStandardMasterPlanSublistController.java @@ -0,0 +1,24 @@ +package com.jero.modules.laws.standardmasterplan.controller; + +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @ClassName: LawsStandardMasterPlanController + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:13 + * @Version: 1.0 + **/ + +@Api(tags="标准主计划_子表") +@RestController +@RequestMapping("/laws/StandardMasterPlanSublist") +@Slf4j +@RequiredArgsConstructor +public class LawsStandardMasterPlanSublistController { + +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/dto/LawsStandardMasterPlanDTO.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/dto/LawsStandardMasterPlanDTO.java new file mode 100644 index 00000000..0a708809 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/dto/LawsStandardMasterPlanDTO.java @@ -0,0 +1,27 @@ +package com.jero.modules.laws.standardmasterplan.dto; + +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlan; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlanSublist; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @ClassName: LawsStandardMasterPlanDTO + * @Description: + * @Author: yjz + * @Date: 2024-06-12 10:49 + * @Version: 1.0 + **/ +@Data +public class LawsStandardMasterPlanDTO implements Serializable { + /** 标准主计划基础信息 */ + @ApiModelProperty(value = "标准主计划基础信息") + private LawsStandardMasterPlan lawsStandardMasterPlan; + + /** 信息输入 */ + @ApiModelProperty(value = "标准主计划_子表信息") + private List lawsStandardMasterPlanSublistList; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/entity/LawsStandardMasterPlan.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/entity/LawsStandardMasterPlan.java new file mode 100644 index 00000000..d7a275f1 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/entity/LawsStandardMasterPlan.java @@ -0,0 +1,31 @@ +package com.jero.modules.laws.standardmasterplan.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jero.modules.laws.documenttool.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @ClassName: 标准主计划 + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:14 + * @Version: 1.0 + **/ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("laws_standard_master_plan") +@Accessors(chain = true) +@ApiModel(value="laws_standard_master_plan对象", description="标准主计划") +public class LawsStandardMasterPlan extends BaseEntity { + /**标准id*/ + @ApiModelProperty(value = "标准id") + private String standardId; + + /**适用市场*/ + @ApiModelProperty(value = "适用市场") + private String applicableMarket; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/entity/LawsStandardMasterPlanSublist.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/entity/LawsStandardMasterPlanSublist.java new file mode 100644 index 00000000..373255f2 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/entity/LawsStandardMasterPlanSublist.java @@ -0,0 +1,79 @@ +package com.jero.modules.laws.standardmasterplan.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; +import com.jero.modules.laws.documenttool.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @ClassName: 标准主计划_子表 + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:18 + * @Version: 1.0 + **/ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("laws_standard_master_plan_sublist") +@Accessors(chain = true) +@ApiModel(value="laws_standard_master_plan_sublist对象", description="标准主计划_子表") +public class LawsStandardMasterPlanSublist extends BaseEntity { + /**标准主计划id*/ + @ApiModelProperty(value = "标准主计划id") + private String masterPlanId; + + /**类型(字典:1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 + 6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改)*/ + @ApiModelProperty(value = "类型(字典:1:信息输入 2:文本入库 3:导入通知 4:法规解读 5:法规宣贯 " + + "6:市场法规清单更新 7:法规符合性排查 8:通用文件整改计划 9:车型整改)") + @Dict(dicCode = "laws_standard_master_plan_type") + private String type; + + /**是否涉及(1:是,0:否)*/ + @ApiModelProperty(value = "是否涉及(1:是,0:否)") + @Dict(dicCode = "yn") + private String isInvolved; + + /**责任人*/ + @ApiModelProperty(value = "责任人") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") + private String responsiblePerson; + + /**计划完成日期*/ + @ApiModelProperty(value = "计划完成日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date plannedCompletionDate; + + /**实际完成日期*/ + @ApiModelProperty(value = "实际完成日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actualCompletionDate; + + /**交付物*/ + @ApiModelProperty(value = "交付物") + private String deliverableFileId; + + /**pcr编号*/ + @ApiModelProperty(value = "pcr编号") + private String pcrCode; + + /**整改完成日期*/ + @ApiModelProperty(value = "整改完成日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date completionAccomplishDate; + + /**关联id*/ + @ApiModelProperty(value = "关联id") + private String associationId; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/job/StandardMasterPlanJob.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/job/StandardMasterPlanJob.java new file mode 100644 index 00000000..e3ccafd8 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/job/StandardMasterPlanJob.java @@ -0,0 +1,102 @@ +package com.jero.modules.laws.standardmasterplan.job; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.api.dto.message.SendMessageDTO; +import com.jero.modules.common.service.SendMessageAPI; +import com.jero.modules.laws.standard.entity.LawsDomesticStandard; +import com.jero.modules.laws.standard.entity.LawsOverseasStandard; +import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; +import com.jero.modules.laws.standard.service.ILawsOverseasStandardService; +import com.jero.modules.laws.standardmasterplan.common.LawsStandardMasterPlanCommon; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlan; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlanSublist; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanSublistService; +import lombok.extern.slf4j.Slf4j; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import javax.annotation.Resource; +import java.util.*; + +/** + * @ClassName: StandardMasterPlanJob + * @Description: 给各任务节点的责任人按照计划完成日期前三天发消息提醒 定时任务 + * @Author: yjz + * @Date: 2024-06-13 14:16 + * @Version: 1.0 + **/ +@Slf4j +public class StandardMasterPlanJob implements Job { + + @Resource + private ILawsStandardMasterPlanService lawsStandardMasterPlanService; + @Resource + private ILawsStandardMasterPlanSublistService lawsStandardMasterPlanSublistService; + @Resource + private ILawsDomesticStandardService lawsDomesticStandardService; + @Resource + private ILawsOverseasStandardService lawsOverseasStandardService; + @Resource + private SendMessageAPI sendMessageAPI; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info("标准主计划,给各任务节点的责任人按照计划完成日期的前三天发消息提醒,定时任务开始执行......"); + // 导入通知、法规解读、市场法规清单更新、法规符合性排查、车型整改 + long startTime = System.currentTimeMillis(); + long count = 0; + List typeList = Arrays.asList( + LawsStandardMasterPlanCommon.IMPORT_NOTIFICATION, + LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS, + LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE, + LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION, + LawsStandardMasterPlanCommon.VEHICLE_MODEL_RECTIFICATION); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(LawsStandardMasterPlanSublist::getType, typeList); + queryWrapper.apply("date_format(date_add(now(), interval 3 day), '%Y-%m-%d') " + + "= planned_completion_date"); + List list = lawsStandardMasterPlanSublistService.list(queryWrapper); + // 责任人发送消息 + for (LawsStandardMasterPlanSublist lawsStandardMasterPlanSublist : list) { + String standardNumber = ""; + String standardName = ""; + LawsStandardMasterPlan lawsStandardMasterPlan = + lawsStandardMasterPlanService.getById(lawsStandardMasterPlanSublist.getMasterPlanId()); + LawsDomesticStandard lawsDomesticStandard = + lawsDomesticStandardService.getOne(new LambdaQueryWrapper() + .select(LawsDomesticStandard::getStandardNumber, + LawsDomesticStandard::getStandardName) + .eq(LawsDomesticStandard::getId, lawsStandardMasterPlan.getStandardId())); + if (Objects.isNull(lawsDomesticStandard)){ + LawsOverseasStandard lawsOverseasStandard = + lawsOverseasStandardService.getOne(new LambdaQueryWrapper() + .select(LawsOverseasStandard::getStandardNumber, + LawsOverseasStandard::getStandardName) + .eq(LawsOverseasStandard::getId, lawsStandardMasterPlan.getStandardId())); + standardNumber = lawsOverseasStandard.getStandardNumber(); + standardName = lawsOverseasStandard.getStandardName(); + }else { + standardNumber = lawsDomesticStandard.getStandardNumber(); + standardName = lawsDomesticStandard.getStandardName(); + } + + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setTemplateCode("laws_standard_master_plan"); + sendMessageDTO.setToUserId(lawsStandardMasterPlanSublist.getResponsiblePerson()); + Map map = new HashMap<>(); + map.put("standardNumber", standardNumber); + map.put("standardName", standardName); + map.put("applicableMarket", ""); + map.put("taskNode", ""); + sendMessageDTO.setMap(map); + sendMessageAPI.sendMessage(sendMessageDTO); + ++ count; + } + long endTime = System.currentTimeMillis(); + log.info("标准主计划,给各任务节点的责任人按照计划完成日期的前三天发消息提醒,定时任务结束......"); + log.info("耗时:{}毫秒", endTime - startTime); + log.info("共发送消息:{}条", count); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/LawsStandardMasterPlanMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/LawsStandardMasterPlanMapper.java new file mode 100644 index 00000000..c6ed79eb --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/LawsStandardMasterPlanMapper.java @@ -0,0 +1,37 @@ +package com.jero.modules.laws.standardmasterplan.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlan; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @ClassName: LawsStandardMasterPlanMapper + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:16 + * @Version: 1.0 + **/ +@Mapper +public interface LawsStandardMasterPlanMapper extends BaseMapper { + /** + * 标准主计划-分页列表查询 + * @param page + * @param queryWrapper + * @return + */ + IPage queryByPage(IPage page, + @Param(Constants.WRAPPER) + QueryWrapper queryWrapper); + + /** + * 标准主计划-列表查询 + * @param queryWrapper + * @return + */ + LawsStandardMasterPlanVO queryByList(QueryWrapper queryWrapper); +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/LawsStandardMasterPlanSublistMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/LawsStandardMasterPlanSublistMapper.java new file mode 100644 index 00000000..fc74425e --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/LawsStandardMasterPlanSublistMapper.java @@ -0,0 +1,16 @@ +package com.jero.modules.laws.standardmasterplan.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlanSublist; +import org.apache.ibatis.annotations.Mapper; + +/** + * @ClassName: LawsStandardMasterPlanMapper + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:16 + * @Version: 1.0 + **/ +@Mapper +public interface LawsStandardMasterPlanSublistMapper extends BaseMapper { +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/xml/LawsStandardMasterPlanMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/xml/LawsStandardMasterPlanMapper.xml new file mode 100644 index 00000000..7c70f608 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/xml/LawsStandardMasterPlanMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/xml/LawsStandardMasterPlanSublistMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/xml/LawsStandardMasterPlanSublistMapper.xml new file mode 100644 index 00000000..62326fbb --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/mapper/xml/LawsStandardMasterPlanSublistMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + select lsmp.id, standard_number, standard_name, standard_state, applicable_market + from laws_standard_master_plan lsmp + left join (select * + from (select id, standard_number, standard_name, standard_state + from laws_domestic_standard lds + union all + select id, standard_number, standard_name, standard_state + from laws_overseas_standard ldos) standard) s + on lsmp.standard_id = s.id + ${ew.customSqlSegment} + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/ILawsStandardMasterPlanService.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/ILawsStandardMasterPlanService.java new file mode 100644 index 00000000..429fe0a2 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/ILawsStandardMasterPlanService.java @@ -0,0 +1,57 @@ +package com.jero.modules.laws.standardmasterplan.servicce; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.laws.standardmasterplan.dto.LawsStandardMasterPlanDTO; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlan; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanDetailsVO; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; + +/** + * @InterfaceName: LawsStandardMasterPlanService + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:15 + * @Version: 1.0 + **/ +public interface ILawsStandardMasterPlanService extends IService { + + /** + * 标准主计划-分页列表查询 + */ + IPage queryByPage(LawsStandardMasterPlanVO lawsStandardMasterPlanVO, + Integer pageNo, Integer pageSize); + + /** + * 标准主计划-列表查询 + */ + LawsStandardMasterPlanVO queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO); + + /** + * 标准主计划-新增 + */ + void add(LawsStandardMasterPlanDTO lawsStandardMasterPlanDTO); + + /** + * 标准主计划-编辑 + */ + void edit(LawsStandardMasterPlanDTO lawsStandardMasterPlanDTO); + + /** + * 标准主计划-查看 + */ + LawsStandardMasterPlanDetailsVO queryDetails(String id); + + /** + * 标准主计划-删除 + */ + void delete(String ids); + + /** + * 标准主计划-导出 + */ + ModelAndView exportExcel(HttpServletRequest request); +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/ILawsStandardMasterPlanSublistService.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/ILawsStandardMasterPlanSublistService.java new file mode 100644 index 00000000..a21192e7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/ILawsStandardMasterPlanSublistService.java @@ -0,0 +1,14 @@ +package com.jero.modules.laws.standardmasterplan.servicce; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlanSublist; + +/** + * @InterfaceName: LawsStandardMasterPlanService + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:15 + * @Version: 1.0 + **/ +public interface ILawsStandardMasterPlanSublistService extends IService { +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java new file mode 100644 index 00000000..014adc4e --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java @@ -0,0 +1,398 @@ +package com.jero.modules.laws.standardmasterplan.servicce.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.ResultCommon; +import com.jero.common.exception.JeroBootException; +import com.jero.common.util.SnowflakeUtils; +import com.jero.modules.laws.standard.entity.LawsDomesticStandard; +import com.jero.modules.laws.standard.entity.LawsOverseasStandard; +import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; +import com.jero.modules.laws.standard.service.ILawsOverseasStandardService; +import com.jero.modules.laws.standardmasterplan.common.LawsStandardMasterPlanCommon; +import com.jero.modules.laws.standardmasterplan.dto.LawsStandardMasterPlanDTO; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlan; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlanSublist; +import com.jero.modules.laws.standardmasterplan.mapper.LawsStandardMasterPlanMapper; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanSublistService; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanDetailsVO; +import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO; +import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.system.service.ISysDictService; +import com.jero.modules.system.service.ISysUserService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.jeecgframework.poi.excel.entity.TemplateExportParams; +import org.jeecgframework.poi.excel.view.JeecgTemplateExcelView; +import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @ClassName: LawsStandardMasterPlanServiceImpl + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:15 + * @Version: 1.0 + **/ +@Service +@Transactional(rollbackFor = JeroBootException.class) +@Slf4j +@RequiredArgsConstructor +public class LawsStandardMasterPlanServiceImpl + extends ServiceImpl + implements ILawsStandardMasterPlanService { + + private final LawsStandardMasterPlanMapper lawsStandardMasterPlanMapper; + private final ILawsStandardMasterPlanSublistService lawsStandardMasterPlanSublistService; + private final ILawsDomesticStandardService lawsDomesticStandardService; + private final ILawsOverseasStandardService lawsOverseasStandardService; + private final ISysDictService sysDictService; + private final ISysUserService sysUserService; + private final IOSSFileService ossFileService; + @Value("${jero.path.exportExcelTempPath}") + private String exportExcelTempPath; + + @Override + public IPage queryByPage(LawsStandardMasterPlanVO lawsStandardMasterPlanVO, + Integer pageNo, Integer pageSize) { + IPage page = new Page<>(pageNo, pageSize); + QueryWrapper queryWrapper = + getLawsStandardMasterPlanVOQueryWrapper(lawsStandardMasterPlanVO); + return lawsStandardMasterPlanMapper.queryByPage(page, queryWrapper); + } + + @Override + public LawsStandardMasterPlanVO queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO) { + QueryWrapper queryWrapper = + getLawsStandardMasterPlanVOQueryWrapper(lawsStandardMasterPlanVO); + return lawsStandardMasterPlanMapper.queryByList(queryWrapper); + } + + private static @NotNull QueryWrapper getLawsStandardMasterPlanVOQueryWrapper( + LawsStandardMasterPlanVO lawsStandardMasterPlanVO) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getStandardNumber()), + "standard_number", lawsStandardMasterPlanVO.getStandardNumber()); + queryWrapper.like(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getStandardName()), + "standard_name", lawsStandardMasterPlanVO.getStandardName()); + queryWrapper.eq(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getApplicableMarket()), + "applicable_market", lawsStandardMasterPlanVO.getApplicableMarket()); + return queryWrapper; + } + + @Override + public void add(LawsStandardMasterPlanDTO lawsStandardMasterPlanDTO) { + // 保存 标准主计划基础信息 + LawsStandardMasterPlan lawsStandardMasterPlan = lawsStandardMasterPlanDTO.getLawsStandardMasterPlan(); + lawsStandardMasterPlan.setId(String.valueOf(SnowflakeUtils.snowflake())); + save(lawsStandardMasterPlan); + + // 保存 标准主计划_子表信息 + List lawsStandardMasterPlanSublistList = + lawsStandardMasterPlanDTO.getLawsStandardMasterPlanSublistList(); + lawsStandardMasterPlanSublistList = lawsStandardMasterPlanSublistList.stream() + .map(v -> v.setMasterPlanId(lawsStandardMasterPlan.getId())) + .collect(Collectors.toList()); + lawsStandardMasterPlanSublistService.saveBatch(lawsStandardMasterPlanSublistList); + } + + @Override + public void edit(LawsStandardMasterPlanDTO lawsStandardMasterPlanDTO) { + // 编辑 标准主计划基础信息 + LawsStandardMasterPlan lawsStandardMasterPlan = lawsStandardMasterPlanDTO.getLawsStandardMasterPlan(); + updateById(lawsStandardMasterPlan); + + // 编辑 标准主计划_子表信息 + List lawsStandardMasterPlanSublistList = + lawsStandardMasterPlanDTO.getLawsStandardMasterPlanSublistList(); + for (LawsStandardMasterPlanSublist lawsStandardMasterPlanSublist : lawsStandardMasterPlanSublistList) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(LawsStandardMasterPlanSublist::getId, lawsStandardMasterPlanSublist.getId()); + updateWrapper.set(LawsStandardMasterPlanSublist::getIsInvolved, + lawsStandardMasterPlanSublist.getIsInvolved()); + updateWrapper.set(LawsStandardMasterPlanSublist::getResponsiblePerson, + lawsStandardMasterPlanSublist.getResponsiblePerson()); + updateWrapper.set(LawsStandardMasterPlanSublist::getPlannedCompletionDate, + lawsStandardMasterPlanSublist.getPlannedCompletionDate()); + updateWrapper.set(LawsStandardMasterPlanSublist::getActualCompletionDate, + lawsStandardMasterPlanSublist.getActualCompletionDate()); + updateWrapper.set(LawsStandardMasterPlanSublist::getDeliverableFileId, + lawsStandardMasterPlanSublist.getDeliverableFileId()); + updateWrapper.set(LawsStandardMasterPlanSublist::getPcrCode, + lawsStandardMasterPlanSublist.getPcrCode()); + updateWrapper.set(LawsStandardMasterPlanSublist::getCompletionAccomplishDate, + lawsStandardMasterPlanSublist.getCompletionAccomplishDate()); + updateWrapper.set(LawsStandardMasterPlanSublist::getAssociationId, + lawsStandardMasterPlanSublist.getAssociationId()); + lawsStandardMasterPlanSublistService.update(updateWrapper); + } + } + + @Override + public LawsStandardMasterPlanDetailsVO queryDetails(String id) { + LawsStandardMasterPlanDetailsVO lawsStandardMasterPlanDetailsVO = new LawsStandardMasterPlanDetailsVO(); + // 查询 标准主计划基础信息 + LawsStandardMasterPlan lawsStandardMasterPlan = getById(id); + lawsStandardMasterPlanDetailsVO.setLawsStandardMasterPlan(lawsStandardMasterPlan); + + // 查询 标准主计划_子表信息 + List lawsStandardMasterPlanSublistList = + lawsStandardMasterPlanSublistService.list(new LambdaQueryWrapper() + .eq(LawsStandardMasterPlanSublist::getMasterPlanId, id)); + lawsStandardMasterPlanDetailsVO.setLawsStandardMasterPlanSublistList(lawsStandardMasterPlanSublistList); + return lawsStandardMasterPlanDetailsVO; + } + + @Override + public void delete(String ids) { + if (StringUtils.isBlank(ids)){ + throw new JeroBootException(ResultCommon.EMPTY_COMMON, "ids"); + } + List idList = Arrays.asList(ids.split(",")); + // 删除 标准主计划基础信息 + removeByIds(idList); + // 删除 标准主计划_子表信息 + lawsStandardMasterPlanSublistService.remove(new LambdaQueryWrapper() + .in(LawsStandardMasterPlanSublist::getMasterPlanId, idList)); + } + + @Override + public ModelAndView exportExcel(HttpServletRequest request) { + String templateUrl = exportExcelTempPath + File.separator + "主计划导出.xlsx"; + TemplateExportParams params = new TemplateExportParams(templateUrl); + Map map = new HashMap<>(); + List> listMap = new ArrayList<>(); + + // 勾选数据 + String selections = request.getParameter("selections"); + // 查询 标准主计划基础信息 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotBlank(selections)){ + List idList = Arrays.asList(selections.split(",")); + queryWrapper.in(LawsStandardMasterPlan::getId, idList); + } + List list = list(queryWrapper); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (LawsStandardMasterPlan lawsStandardMasterPlan : list) { + Map lm = new HashMap<>(); + LawsDomesticStandard lawsDomesticStandard = + lawsDomesticStandardService.getOne(new LambdaQueryWrapper() + .select(LawsDomesticStandard::getStandardNumber, + LawsDomesticStandard::getStandardName, + LawsDomesticStandard::getStandardState) + .eq(LawsDomesticStandard::getId, lawsStandardMasterPlan.getStandardId())); + if (Objects.isNull(lawsDomesticStandard)){ + LawsOverseasStandard lawsOverseasStandard = + lawsOverseasStandardService.getOne(new LambdaQueryWrapper() + .select(LawsOverseasStandard::getStandardNumber, + LawsOverseasStandard::getStandardName, + LawsOverseasStandard::getStandardState) + .eq(LawsOverseasStandard::getId, lawsStandardMasterPlan.getStandardId())); + lm.put("standardNumber", lawsOverseasStandard.getStandardNumber()); + lm.put("standardName", lawsOverseasStandard.getStandardName()); + lm.put("standardState", sysDictService.queryDictTextByKey("standard_state", + lawsOverseasStandard.getStandardState())); + }else { + lm.put("standardNumber", lawsDomesticStandard.getStandardNumber()); + lm.put("standardName", lawsDomesticStandard.getStandardName()); + lm.put("standardState", sysDictService.queryDictTextByKey("standard_state", + lawsDomesticStandard.getStandardState())); + } + lm.put("applicableMarket", lawsStandardMasterPlan.getApplicableMarket()); + + // 查询 标准主计划_子表信息 + List lawsStandardMasterPlanSublistList = + lawsStandardMasterPlanSublistService.list(new LambdaQueryWrapper() + .eq(LawsStandardMasterPlanSublist::getMasterPlanId, lawsStandardMasterPlan.getId())); + // 信息输入 + informationInput(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 文本入库 + textStorage(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 导入通知 + importNotification(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 法规解读 + interpretationOfRegulations(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 法规宣贯 + regulatoryPromotion(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 市场法规清单更新 + marketRegulationListUpdate(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 法规符合性排查 + lawsStandardMasterPlanSublistList(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 通用文件整改计划 + generalDocumentRectificationPlan(lawsStandardMasterPlanSublistList, lm, dateFormat); + // 车型整改 + vehicleModelRectification(lawsStandardMasterPlanSublistList, lm, dateFormat); + listMap.add(lm); + } + // 法规解读 + map.put("mapList", listMap); + ModelAndView mv = new ModelAndView(new JeecgTemplateExcelView()); + mv.addObject("fileName", ""); + mv.addObject("params", params); + mv.addObject("map", map); + return mv; + } + + private void vehicleModelRectification(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional vehicleModelRectification = + lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.VEHICLE_MODEL_RECTIFICATION.equals(v.getType())) + .findFirst(); + vehicleModelRectification.ifPresent(v -> { + lm.put("pcrCode9", v.getPcrCode()); + lm.put("responsiblePerson9", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("completionAccomplishDate9", dateFormat.format(v.getCompletionAccomplishDate())); + }); + } + + private void generalDocumentRectificationPlan(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional generalDocumentRectificationPlan = + lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.GENERAL_DOCUMENT_RECTIFICATION_PLAN.equals(v.getType())) + .findFirst(); + generalDocumentRectificationPlan.ifPresent(v -> { + lm.put("isInvolved8", getYesNoValue(v)); + lm.put("responsiblePerson8", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate8", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate8", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId8", ossFile.getFileName()); + } + }); + } + + private void lawsStandardMasterPlanSublistList(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional regulatoryComplianceInvestigation = + lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION.equals(v.getType())) + .findFirst(); + regulatoryComplianceInvestigation.ifPresent(v -> { + lm.put("isInvolved7", getYesNoValue(v)); + lm.put("responsiblePerson7", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate7", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate7", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId7", ossFile.getFileName()); + } + }); + } + + private void marketRegulationListUpdate(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional marketRegulationListUpdate = + lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE.equals(v.getType())) + .findFirst(); + marketRegulationListUpdate.ifPresent(v -> { + lm.put("isInvolved6", getYesNoValue(v)); + lm.put("responsiblePerson6", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate6", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate6", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId6", ossFile.getFileName()); + } + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId62", ossFile.getFileName()); + } + }); + } + + private void regulatoryPromotion(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional regulatoryPromotion = + lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.REGULATORY_PROMOTION.equals(v.getType())) + .findFirst(); + regulatoryPromotion.ifPresent(v -> { + lm.put("isInvolved5", getYesNoValue(v)); + lm.put("responsiblePerson5", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate5", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate5", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId5", ossFile.getFileName()); + } + }); + } + + private void textStorage(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional textStorage = lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.TEXT_STORAGE.equals(v.getType())) + .findFirst(); + textStorage.ifPresent(v -> { + lm.put("responsiblePerson2", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("actualCompletionDate2", dateFormat.format(v.getActualCompletionDate())); + }); + } + + private void informationInput(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional informationInput = lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.INFORMATION_INPUT.equals(v.getType())) + .findFirst(); + informationInput.ifPresent(v -> { + lm.put("isInvolved1", getYesNoValue(v)); + lm.put("responsiblePerson1", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate1", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate1", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId1", ossFile.getFileName()); + } + }); + } + + private void interpretationOfRegulations(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional interpretationOfRegulations = + lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS.equals(v.getType())) + .findFirst(); + interpretationOfRegulations.ifPresent(v -> { + lm.put("isInvolved4", getYesNoValue(v)); + lm.put("responsiblePerson4", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate4", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate4", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId4", ossFile.getFileName()); + } + }); + } + + private void importNotification(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { + Optional importNotification = lawsStandardMasterPlanSublistList.stream() + .filter(v -> LawsStandardMasterPlanCommon.IMPORT_NOTIFICATION.equals(v.getType())) + .findFirst(); + importNotification.ifPresent(v -> { + lm.put("isInvolved3", getYesNoValue(v)); + lm.put("responsiblePerson3", sysUserService.getById(v.getResponsiblePerson()).calcNameWorkNo()); + lm.put("plannedCompletionDate3", dateFormat.format(v.getPlannedCompletionDate())); + lm.put("actualCompletionDate3", dateFormat.format(v.getActualCompletionDate())); + if (StringUtils.isNotBlank(v.getDeliverableFileId())){ + OSSFile ossFile = ossFileService.getById(v.getDeliverableFileId()); + lm.put("deliverableFileId3", ossFile.getFileName()); + } + }); + } + + private static @NotNull String getYesNoValue(LawsStandardMasterPlanSublist v) { + return LawsStandardMasterPlanCommon.YES.equals(v.getIsInvolved()) ? "是" : "否"; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanSublistServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanSublistServiceImpl.java new file mode 100644 index 00000000..85f3511b --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanSublistServiceImpl.java @@ -0,0 +1,25 @@ +package com.jero.modules.laws.standardmasterplan.servicce.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.exception.JeroBootException; +import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlanSublist; +import com.jero.modules.laws.standardmasterplan.mapper.LawsStandardMasterPlanSublistMapper; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanSublistService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @ClassName: LawsStandardMasterPlanServiceImpl + * @Description: + * @Author: yjz + * @Date: 2024-06-12 09:15 + * @Version: 1.0 + **/ +@Service +@Transactional(rollbackFor = JeroBootException.class) +@Slf4j +public class LawsStandardMasterPlanSublistServiceImpl + extends ServiceImpl + implements ILawsStandardMasterPlanSublistService { +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/vo/LawsStandardMasterPlanDetailsVO.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/vo/LawsStandardMasterPlanDetailsVO.java new file mode 100644 index 00000000..fea81740 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/vo/LawsStandardMasterPlanDetailsVO.java @@ -0,0 +1,17 @@ +package com.jero.modules.laws.standardmasterplan.vo; + +import com.jero.modules.laws.standardmasterplan.dto.LawsStandardMasterPlanDTO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @ClassName: LawsStandardMasterPlanDetailsVO + * @Description: + * @Author: yjz + * @Date: 2024-06-12 14:47 + * @Version: 1.0 + **/ +@EqualsAndHashCode(callSuper = true) +@Data +public class LawsStandardMasterPlanDetailsVO extends LawsStandardMasterPlanDTO { +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/vo/LawsStandardMasterPlanVO.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/vo/LawsStandardMasterPlanVO.java new file mode 100644 index 00000000..3ef19c63 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/vo/LawsStandardMasterPlanVO.java @@ -0,0 +1,38 @@ +package com.jero.modules.laws.standardmasterplan.vo; + +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @ClassName: LawsStandardMasterPlanVO + * @Description: + * @Author: yjz + * @Date: 2024-06-12 10:31 + * @Version: 1.0 + **/ +@Data +public class LawsStandardMasterPlanVO implements Serializable { + /** ID */ + @ApiModelProperty(value = "ID") + private java.lang.String id; + + /** 标准编号 */ + @ApiModelProperty(value = "标准编号") + private java.lang.String standardNumber; + + /** 标准名称 */ + @ApiModelProperty(value = "标准名称") + private java.lang.String standardName; + + /** 标准状态 */ + @ApiModelProperty(value = "标准状态") + @Dict(dicCode = "standard_state") + private java.lang.String standardState; + + /** 适用市场 */ + @ApiModelProperty(value = "适用市场") + private java.lang.String applicableMarket; +}