diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java index 11f12374..a2633c00 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java @@ -50,6 +50,7 @@ import com.jero.modules.laws.standard.entity.PartName; import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import com.jero.modules.laws.standard.service.ILawsPartNameService; +import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO; import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper; @@ -126,6 +127,7 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe private final SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper; private final IDocumentSplitService documentSplitService; private final ManagementService managementService; + private final ILawsStandardMasterPlanService lawsStandardMasterPlanService; private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); private final List tempList = new ArrayList<>(); @@ -239,6 +241,7 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe if (flowUtility.isLastNode(processAll.getProcessInstanceId())){ // 查询业务信息 StandardInterpretDTO standardInterpretDTO = queryBusinessData(processAll, processApprovalRecord); + ProcessStandardInterpret processStandardInterpret = standardInterpretDTO.getProcessStandardInterpret(); // 更新数据到拆分库 List processStandardInterpretClauseSublistList = standardInterpretDTO.getProcessStandardInterpretClauseSublistList(); @@ -270,6 +273,9 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe lawsDocumentSplit.setItemContent(null); lawsDocumentSplitMapper.updateById(lawsDocumentSplit); } + // 同步标准主计划 + lawsStandardMasterPlanService.syncInterpretationOfRegulations(processStandardInterpret.getId(), + processStandardInterpret.getStandardId()); } } diff --git a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/controller/LawsConformityAssessmentController.java b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/controller/LawsConformityAssessmentController.java index 3425760b..1a79a93d 100644 --- a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/controller/LawsConformityAssessmentController.java +++ b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/controller/LawsConformityAssessmentController.java @@ -6,7 +6,6 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary; import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail; -import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary; import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -82,4 +81,16 @@ public class LawsConformityAssessmentController { lawsConformityAssessmentLibraryService.export(response, lawsConformityAssessmentLibrary, "法规符合性评估库", "法规符合性评估库", req); } + /** + * 标准名称+适用市场 + * + * @param lawsConformityAssessmentLibrary + * @return + */ + @AutoLog(value = "法规符合性评估库-法规符合性评估库-标准名称+适用市场") + @ApiOperation(value = "法规符合性评估库-法规符合性评估库-标准名称+适用市场", notes = "法规符合性评估库-法规符合性评估库-标准名称+适用市场") + @GetMapping(value = "/queryOne") + public Result queryOne(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary){ + return Result.OK(lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary)); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/mapper/LawsConformityAssessmentLibraryMapper.java b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/mapper/LawsConformityAssessmentLibraryMapper.java index 4c586aa0..f8283358 100644 --- a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/mapper/LawsConformityAssessmentLibraryMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/mapper/LawsConformityAssessmentLibraryMapper.java @@ -1,14 +1,15 @@ package com.jero.modules.assessmentLibrary.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author ThinkBook * @description 针对表【laws_conformity_assessment_library(法规符合性评估库)】的数据库操作Mapper @@ -20,6 +21,8 @@ public interface LawsConformityAssessmentLibraryMapper extends BaseMapper queryByPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); Page detail(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List queryByPage(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/ILawsConformityAssessmentLibraryService.java b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/ILawsConformityAssessmentLibraryService.java index d1f000aa..23e4b808 100644 --- a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/ILawsConformityAssessmentLibraryService.java +++ b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/ILawsConformityAssessmentLibraryService.java @@ -1,10 +1,9 @@ package com.jero.modules.assessmentLibrary.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary; import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail; -import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -43,4 +42,6 @@ public interface ILawsConformityAssessmentLibraryService extends IService queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardNumber()), + "d.standard_number", lawsConformityAssessmentLibrary.getStandardNumber()); + if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket())) { + queryWrapper.in("d.applicable_market", Arrays.asList(lawsConformityAssessmentLibrary.getApplicableMarket().split(","))); + } + List result = lawsConformityAssessmentLibraryMapper.queryByPage(queryWrapper); + if (CollectionUtils.isNotEmpty(result)){ + return result.get(0); + }else { + return null; + } + } + private static void generateHyperlink(List vos, Workbook workbook) { Sheet sheet = workbook.getSheetAt(0); // 设置字体颜色、下划线 diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java index eee0a298..ee8ad482 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java @@ -207,4 +207,19 @@ public class MarketStandardController { } return marketStandardService.publish(map.get("id")); } + + /** + * 查询第一个版本 + * + * @param versionFlag + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-查询第一个版本") + @ApiOperation(value = "外部标准库-市场法规清单-查询第一个版本", notes = "外部标准库-市场法规清单-查询第一个版本") + @GetMapping(value = "/queryFirstByVersionFlag") + @ApiOperationSupport(order = 8) + @Translation + public Result queryFirstByVersionFlag(String versionFlag) { + return Result.OK(marketStandardService.queryFirstByVersionFlag(versionFlag)); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java index 5957b606..3ef4175a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java @@ -1,12 +1,11 @@ package com.jero.modules.laws.marketStandard.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard; -import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO; -import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; @@ -100,4 +99,11 @@ public interface ILawsMarketStandardService extends IService * @param id 清单id */ void updateStatus(String id); + + /** + * 根据版本标识查询第一个版本 + * @param versionFlag + * @return + */ + LawsMarketStandard queryFirstByVersionFlag(String versionFlag); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java index b0760971..2a0fa1a4 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java @@ -459,6 +459,15 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LawsMarketStandard::getVersionFlag, versionFlag); + queryWrapper.orderByAsc(LawsMarketStandard::getCreateTime); + queryWrapper.last("limit 1"); + return getOne(queryWrapper); + } + private void syncData(LawsMarketStandard lawsMarketStandardOld) { String oldId = lawsMarketStandardOld.getId(); lawsMarketStandardOld.setId(null); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java index 94d80672..654529fb 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java @@ -116,6 +116,10 @@ public class LawsDomesticStandard implements Serializable { @Excel(name = "标准状态", width = 15) @ApiModelProperty(value = "标准状态") private java.lang.String standardState; + /**责任人*/ + @Excel(name = "责任人", width = 15) + @ApiModelProperty(value = "责任人") + private java.lang.String responsibleUser; /**责任部门*/ @Excel(name = "主控部门", width = 15) @ApiModelProperty(value = "主控部门") 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 index 7352d137..789fb449 100644 --- 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 @@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @ClassName: LawsStandardMasterPlanController @@ -64,7 +65,7 @@ public class LawsStandardMasterPlanController { @AutoLog(value = "标准主计划-列表查询", operateType = CommonConstant.OPERATE_TYPE_1) @ApiOperation(value="标准主计划-列表查询", notes="标准主计划-列表查询") @GetMapping(value = "/queryByList") - public Result queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO) { + public Result> queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO) { return Result.OK(lawsStandardMasterPlanService.queryByList(lawsStandardMasterPlanVO)); } 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 index 510b9a18..2e119873 100644 --- 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 @@ -9,6 +9,8 @@ import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @ClassName: LawsStandardMasterPlanMapper * @Description: @@ -33,5 +35,6 @@ public interface LawsStandardMasterPlanMapper extends BaseMapper queryWrapper); + List queryByList( + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } 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 index 429fe0a2..320681f8 100644 --- 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 @@ -2,6 +2,7 @@ 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.assessmentLibrary.entity.LawsConformityAssessmentLibrary; import com.jero.modules.laws.standardmasterplan.dto.LawsStandardMasterPlanDTO; import com.jero.modules.laws.standardmasterplan.entity.LawsStandardMasterPlan; import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanDetailsVO; @@ -9,6 +10,7 @@ import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @InterfaceName: LawsStandardMasterPlanService @@ -28,7 +30,7 @@ public interface ILawsStandardMasterPlanService extends IService queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO); /** * 标准主计划-新增 @@ -54,4 +56,14 @@ public interface ILawsStandardMasterPlanService extends IService queryByList(LawsStandardMasterPlanVO lawsStandardMasterPlanVO) { QueryWrapper queryWrapper = getLawsStandardMasterPlanVOQueryWrapper(lawsStandardMasterPlanVO); return lawsStandardMasterPlanMapper.queryByList(queryWrapper); @@ -112,14 +131,51 @@ public class LawsStandardMasterPlanServiceImpl lawsStandardMasterPlanDTO.getLawsStandardMasterPlanSublistList(); for (LawsStandardMasterPlanSublist lawsStandardMasterPlanSublist : lawsStandardMasterPlanSublistList) { lawsStandardMasterPlanSublist.setMasterPlanId(lawsStandardMasterPlan.getId()); - if (LawsStandardMasterPlanCommon.TEXT_STORAGE.equals(lawsStandardMasterPlanSublist.getType())){ - LawsDomesticStandard lawsDomesticStandard = - lawsDomesticStandardService.getById(lawsStandardMasterPlan.getStandardId()); - if (!Objects.isNull(lawsDomesticStandard)){ - SysUser sysUser = sysUserService.getUserByName(lawsDomesticStandard.getCreateBy()); - lawsStandardMasterPlanSublist.setResponsiblePerson(sysUser.getId()); - lawsStandardMasterPlanSublist.setActualCompletionDate(lawsDomesticStandard.getCreateTime()); - } + String type = lawsStandardMasterPlanSublist.getType(); + switch (type) { + case LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS: + // 查询标准第一次发起并结束的法规解读流程 + ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne( + new LambdaQueryWrapper() + .eq(ProcessStandardInterpret::getStandardId, + lawsStandardMasterPlan.getStandardId()) + .orderByAsc(ProcessStandardInterpret::getCreateTime) + .last("limit 1")); + if (!Objects.isNull(processStandardInterpret)){ + ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper() + .eq(ProcessAll::getProjectId, processStandardInterpret.getProjectId()) + .eq(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue())); + if (!Objects.isNull(processAll)){ + lawsStandardMasterPlanSublist.setAssociationId(processAll.getId()); + } + } + break; + case LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE: + lawsStandardMasterPlanSublist.setAssociationId(lawsStandardMasterPlanVO.getMarketStandardId()); + // 根据版本标识查询第一个版本 + String versionFlag = lawsStandardMasterPlanVO.getVersionFlag(); + LawsMarketStandard lawsMarketStandard = + lawsMarketStandardService.queryFirstByVersionFlag(versionFlag); + if (!Objects.isNull(lawsMarketStandard)){ + lawsStandardMasterPlanSublist.setAssociationId(lawsMarketStandard.getId()); + } + break; + case LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION: + // 根据 标准名称+适用市场 查询 法规符合性排查 + LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary = + new LawsConformityAssessmentLibrary(); + LawsMarketStandard lawsMarketStandard1 = + lawsMarketStandardService.getById(lawsStandardMasterPlanVO.getMarketStandardId()); + lawsConformityAssessmentLibrary.setStandardNumber(lawsStandardMasterPlanVO.getStandardNumber()); + lawsConformityAssessmentLibrary.setApplicableMarket(lawsMarketStandard1.getCountry()); + LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary1 = + lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary); + if (!Objects.isNull(lawsConformityAssessmentLibrary1)){ + lawsStandardMasterPlanSublist.setAssociationId(lawsConformityAssessmentLibrary1.getId()); + } + break; + default: + break; } } lawsStandardMasterPlanSublistService.saveBatch(lawsStandardMasterPlanSublistList); @@ -166,12 +222,87 @@ public class LawsStandardMasterPlanServiceImpl // 查询 标准主计划基础信息 LawsStandardMasterPlanVO lawsStandardMasterPlanVO = new LawsStandardMasterPlanVO(); lawsStandardMasterPlanVO.setId(id); - lawsStandardMasterPlanDetailsVO.setLawsStandardMasterPlanVO(queryByList(lawsStandardMasterPlanVO)); + lawsStandardMasterPlanDetailsVO.setLawsStandardMasterPlanVO(queryByList(lawsStandardMasterPlanVO).get(0)); + LawsStandardMasterPlanVO lawsStandardMasterPlan = + lawsStandardMasterPlanDetailsVO.getLawsStandardMasterPlanVO(); + LawsDomesticStandard lawsDomesticStandard = + lawsDomesticStandardService.getById(lawsStandardMasterPlan.getStandardId()); // 查询 标准主计划_子表信息 List lawsStandardMasterPlanSublistList = lawsStandardMasterPlanSublistService.list(new LambdaQueryWrapper() .eq(LawsStandardMasterPlanSublist::getMasterPlanId, id)); + + for (LawsStandardMasterPlanSublist lawsStandardMasterPlanSublist : lawsStandardMasterPlanSublistList) { + String type = lawsStandardMasterPlanSublist.getType(); + String associationId = lawsStandardMasterPlanSublist.getAssociationId(); + switch (type){ + case LawsStandardMasterPlanCommon.TEXT_STORAGE: + if (!Objects.isNull(lawsDomesticStandard)){ + SysUser sysUser = sysUserService.getUserByName(lawsDomesticStandard.getCreateBy()); + lawsStandardMasterPlanSublist.setResponsiblePerson(sysUser.getId()); + lawsStandardMasterPlanSublist.setActualCompletionDate(lawsDomesticStandard.getCreateTime()); + } + break; + case LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS: + if (!Objects.isNull(lawsDomesticStandard)){ + lawsStandardMasterPlanSublist.setResponsiblePerson(lawsDomesticStandard.getResponsibleUser()); + } + if (StringUtils.isNotBlank(associationId)){ + ProcessAll processAll = processAllService.getById(associationId); + if (!Objects.isNull(processAll)){ + lawsStandardMasterPlanSublist.setActualCompletionDate(processAll.getEndTime()); + ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne( + new LambdaQueryWrapper() + .eq(ProcessStandardInterpret::getProjectId, processAll.getProjectId())); + if (!Objects.isNull(processStandardInterpret)){ + lawsStandardMasterPlanSublist.setDeliverableFileId( + processStandardInterpret.getSplitInfoId()); + } + } + } + break; + case LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE: + if (StringUtils.isNotBlank(associationId)){ + LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getById(associationId); + if (!Objects.isNull(lawsMarketStandard)){ + lawsStandardMasterPlanSublist.setResponsiblePerson(lawsMarketStandard.getAuthor()); + lawsStandardMasterPlanSublist.setActualCompletionDate(lawsMarketStandard.getReleaseDate()); + } + } + break; + case LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION: + if (StringUtils.isNotBlank(associationId)){ + LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary = + lawsConformityAssessmentLibraryService.getById(associationId); + if (!Objects.isNull(lawsConformityAssessmentLibrary)){ + lawsStandardMasterPlanSublist.setActualCompletionDate( + lawsConformityAssessmentLibrary.getValuationTime()); + } + } + break; + case LawsStandardMasterPlanCommon.VEHICLE_MODEL_RECTIFICATION: + List list = lawsEvaluationNotMetLibraryService.list( + new LambdaQueryWrapper() + .eq(LawsEvaluationNotMetLibrary::getStandardId, + lawsStandardMasterPlan.getStandardId()) + .eq(LawsEvaluationNotMetLibrary::getRectifyStatus, "2") + .orderByDesc(LawsEvaluationNotMetLibrary::getUpdateTime)); + if (CollectionUtils.isNotEmpty(list)){ + String pcrNos = list.stream() + .map(LawsEvaluationNotMetLibrary::getPcrNo).collect(Collectors.joining(",")); + lawsStandardMasterPlanSublist.setPcrCode(pcrNos); + LawsEvaluationNotMetLibrary lawsEvaluationNotMetLibrary = list.get(0); + SysUser sysUser = sysUserService.getUserByName(lawsEvaluationNotMetLibrary.getUpdateBy()); + lawsStandardMasterPlanSublist.setResponsiblePerson(sysUser.getId()); + lawsStandardMasterPlanSublist.setActualCompletionDate( + lawsEvaluationNotMetLibrary.getUpdateTime()); + } + break; + default: + break; + } + } lawsStandardMasterPlanDetailsVO.setLawsStandardMasterPlanSublistList(lawsStandardMasterPlanSublistList); return lawsStandardMasterPlanDetailsVO; } @@ -255,6 +386,49 @@ public class LawsStandardMasterPlanServiceImpl return mv; } + @Override + public void syncInterpretationOfRegulations(String id, String standardId) { + ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne( + new LambdaQueryWrapper() + .eq(ProcessStandardInterpret::getStandardId, standardId) + .orderByAsc(ProcessStandardInterpret::getCreateTime) + .last("limit 1")); + if (!Objects.isNull(processStandardInterpret) && processStandardInterpret.getId().equals(id)){ + // 标准第一次发布解读流程,则同步 + ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper() + .eq(ProcessAll::getProjectId, processStandardInterpret.getProjectId()) + .eq(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue())); + List standardMasterPlanList = list(new LambdaUpdateWrapper() + .eq(LawsStandardMasterPlan::getStandardId, standardId)); + if (!CollectionUtils.isEmpty(standardMasterPlanList)){ + List idList = standardMasterPlanList.stream() + .map(LawsStandardMasterPlan::getId).collect(Collectors.toList()); + lawsStandardMasterPlanSublistService.update(new LambdaUpdateWrapper() + .in(LawsStandardMasterPlanSublist::getMasterPlanId, idList) + .eq(LawsStandardMasterPlanSublist::getType, + LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS) + .set(LawsStandardMasterPlanSublist::getAssociationId, processAll.getId())); + } + } + } + + @Override + public void syncRegulatoryComplianceInvestigation(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary) { + LawsStandardMasterPlanVO lawsStandardMasterPlanVO = new LawsStandardMasterPlanVO(); + lawsStandardMasterPlanVO.setStandardNumber(lawsConformityAssessmentLibrary.getStandardNumber()); + lawsStandardMasterPlanVO.setApplicableMarket(lawsConformityAssessmentLibrary.getApplicableMarket()); + List lawsStandardMasterPlanVOList = queryByList(lawsStandardMasterPlanVO); + if (CollectionUtils.isNotEmpty(lawsStandardMasterPlanVOList)){ + List idList = lawsStandardMasterPlanVOList.stream() + .map(LawsStandardMasterPlanVO::getId).collect(Collectors.toList()); + lawsStandardMasterPlanSublistService.update(new LambdaUpdateWrapper() + .in(LawsStandardMasterPlanSublist::getMasterPlanId, idList) + .eq(LawsStandardMasterPlanSublist::getType, + LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION) + .set(LawsStandardMasterPlanSublist::getAssociationId, lawsConformityAssessmentLibrary.getId())); + } + } + private void vehicleModelRectification(List lawsStandardMasterPlanSublistList, Map lm, SimpleDateFormat dateFormat) { Optional vehicleModelRectification = lawsStandardMasterPlanSublistList.stream() 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 index 77efdeec..00741166 100644 --- 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 @@ -46,4 +46,9 @@ public class LawsStandardMasterPlanVO implements Serializable { @Dict(dicCode = "market_state") @TableField(exist = false) private java.lang.String applicableMarket; + + /** 版本标识,用于绑定多个版本(市场法规清单)*/ + @ApiModelProperty(value = "版本标识,用于绑定多个版本(市场法规清单)") + @TableField(exist = false) + private String versionFlag; }