fix(87414): 标准主计划-新增-标准状态应该是选择国家地区,不是选择清单

This commit is contained in:
yjz
2024-07-29 18:24:28 +08:00
parent de01b62f5f
commit dc5a6a88bd
6 changed files with 50 additions and 32 deletions
@@ -1,6 +1,5 @@
package com.jero.modules.laws.standardmasterplan.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.modules.laws.documenttool.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
@@ -26,12 +25,7 @@ public class LawsStandardMasterPlan extends BaseEntity {
@ApiModelProperty(value = "标准id")
private String standardId;
/**市场法规清单id*/
@ApiModelProperty(value = "市场法规清单id")
private String marketStandardId;
/**适用市场*/
@ApiModelProperty(value = "适用市场")
@TableField(exist = false)
private String applicableMarket;
}
@@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.jero.common.api.SendMessageAPI;
import com.jero.common.api.dto.message.SendMessageDTO;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
import com.jero.modules.laws.standardmasterplan.common.LawsStandardMasterPlanCommon;
@@ -40,8 +38,6 @@ public class StandardMasterPlanJob implements Job {
@Resource
private ILawsDomesticStandardService lawsDomesticStandardService;
@Resource
private ILawsMarketStandardService lawsMarketStandardService;
@Resource
private ISysDictService sysDictService;
@Resource
private SendMessageAPI sendMessageAPI;
@@ -85,11 +81,9 @@ public class StandardMasterPlanJob implements Job {
.select(LawsDomesticStandard::getStandardNumber,
LawsDomesticStandard::getStandardName)
.eq(LawsDomesticStandard::getId, lawsStandardMasterPlan.getStandardId()));
LawsMarketStandard lawsMarketStandard = new LawsMarketStandard();
if (!Objects.isNull(lawsDomesticStandard)){
standardNumber = lawsDomesticStandard.getStandardNumber();
standardName = lawsDomesticStandard.getStandardName();
lawsMarketStandard = lawsMarketStandardService.getById(lawsStandardMasterPlan.getMarketStandardId());
}
SendMessageDTO sendMessageDTO = new SendMessageDTO();
@@ -103,7 +97,7 @@ public class StandardMasterPlanJob implements Job {
map.put("standardNumber", standardNumber);
map.put("standardName", standardName);
String applicableMarket =
sysDictService.queryDictText("market_state", lawsMarketStandard.getCountry());
sysDictService.queryDictText("market_state", lawsStandardMasterPlan.getApplicableMarket());
map.put("applicableMarket", applicableMarket);
String type = sysDictService.queryDictText("laws_standard_master_plan_type",
lawsStandardMasterPlanSublist.getType());
@@ -12,10 +12,9 @@
</select>
<sql id="select">
select lsmp.id, lds.id standard_id, standard_number, standard_name, standard_state, market_standard_id, lms.country applicableMarket
select lsmp.id, lds.id standard_id, standard_number, standard_name, standard_state, lsmp.applicable_market
from laws_standard_master_plan lsmp
left join laws_domestic_standard lds on lsmp.standard_id = lds.id and lds.del_flag = 0
left join laws_market_standard lms on lsmp.market_standard_id = lms.id and lms.del_flag = 0
${ew.customSqlSegment}
</sql>
</mapper>
@@ -66,4 +66,11 @@ public interface ILawsStandardMasterPlanService extends IService<LawsStandardMas
* 标准主计划-同步 法规符合性排查
*/
void syncRegulatoryComplianceInvestigation(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary);
/**
* 标准主计划-同步 市场法规清单更新
* @param id id
* @param applicableMarkets 适用市场
*/
void syncMarketRegulationListUpdate(String id, String applicableMarkets);
}
@@ -12,6 +12,7 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.util.SnowflakeUtils;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.process.common.enums.ProcessType;
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret;
@@ -21,6 +22,7 @@ import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary
import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary;
import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService;
import com.jero.modules.assessmentLibrary.service.ILawsEvaluationNotMetLibraryService;
import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
@@ -112,7 +114,7 @@ public class LawsStandardMasterPlanServiceImpl
queryWrapper.like(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getStandardName()),
"lds.standard_name", lawsStandardMasterPlanVO.getStandardName());
queryWrapper.eq(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getApplicableMarket()),
"lms.country", lawsStandardMasterPlanVO.getApplicableMarket());
"lsmp.applicable_market", lawsStandardMasterPlanVO.getApplicableMarket());
queryWrapper.eq(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getId()),
"lsmp.id", lawsStandardMasterPlanVO.getId());
queryWrapper.eq("lsmp.del_flag", CommonConstant.DEL_FLAG_0);
@@ -127,7 +129,6 @@ public class LawsStandardMasterPlanServiceImpl
LawsStandardMasterPlan lawsStandardMasterPlan = new LawsStandardMasterPlan();
lawsStandardMasterPlan.setId(String.valueOf(SnowflakeUtils.snowflake()));
lawsStandardMasterPlan.setStandardId(lawsStandardMasterPlanVO.getStandardId());
lawsStandardMasterPlan.setMarketStandardId(lawsStandardMasterPlanVO.getMarketStandardId());
save(lawsStandardMasterPlan);
// 保存 标准主计划_子表信息
@@ -137,6 +138,7 @@ public class LawsStandardMasterPlanServiceImpl
lawsStandardMasterPlanSublist.setMasterPlanId(lawsStandardMasterPlan.getId());
String type = lawsStandardMasterPlanSublist.getType();
switch (type) {
// 法规解读
case LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS:
List<ProcessStandardInterpret> list = processStandardInterpretService.list(
new LambdaQueryWrapper<ProcessStandardInterpret>()
@@ -148,7 +150,7 @@ public class LawsStandardMasterPlanServiceImpl
.collect(Collectors.toList());
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
.in(ProcessAll::getProjectId, projectIdList)
.eq(ProcessAll::getPrcType, "2")
.eq(ProcessAll::getPrcType, ProcessType.STANDARD_INTERPRET.getValue())
.eq(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue())
.orderByAsc(ProcessAll::getCreateTime).last("limit 1"));
if (!Objects.isNull(processAll)){
@@ -156,24 +158,26 @@ public class LawsStandardMasterPlanServiceImpl
}
}
break;
// 市场法规清单更新
case LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE:
lawsStandardMasterPlanSublist.setAssociationId(lawsStandardMasterPlanVO.getMarketStandardId());
// 根据版本标识查询第一个版本
String versionFlag = lawsStandardMasterPlanVO.getVersionFlag();
LawsMarketStandard lawsMarketStandard =
lawsMarketStandardService.queryFirstByVersionFlag(versionFlag);
// 根据适用市场查询获取最早发布的市场法规清单
LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(
new LambdaQueryWrapper<LawsMarketStandard>()
.like(LawsMarketStandard::getCountry, lawsStandardMasterPlanVO.getApplicableMarket())
.eq(LawsMarketStandard::getManifestStatus, MarketStandardConstants.MANIFEST_STATUS_PUBLISH)
.orderByAsc(LawsMarketStandard::getCreateTime).last("limit 1"));
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.setApplicableMarket(lawsStandardMasterPlanVO.getApplicableMarket());
LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary1 =
lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary);
if (!Objects.isNull(lawsConformityAssessmentLibrary1)){
@@ -193,7 +197,6 @@ public class LawsStandardMasterPlanServiceImpl
LawsStandardMasterPlanVO lawsStandardMasterPlanVO = lawsStandardMasterPlanDTO.getLawsStandardMasterPlanVO();
LawsStandardMasterPlan lawsStandardMasterPlan = new LawsStandardMasterPlan();
lawsStandardMasterPlan.setStandardId(lawsStandardMasterPlanVO.getStandardId());
lawsStandardMasterPlan.setMarketStandardId(lawsStandardMasterPlanVO.getMarketStandardId());
updateById(lawsStandardMasterPlan);
// 编辑 标准主计划_子表信息
@@ -243,6 +246,7 @@ public class LawsStandardMasterPlanServiceImpl
String type = lawsStandardMasterPlanSublist.getType();
String associationId = lawsStandardMasterPlanSublist.getAssociationId();
switch (type){
// 文本入库
case LawsStandardMasterPlanCommon.TEXT_STORAGE:
if (!Objects.isNull(lawsDomesticStandard)){
SysUser sysUser = sysUserService.getUserByName(lawsDomesticStandard.getCreateBy());
@@ -252,6 +256,7 @@ public class LawsStandardMasterPlanServiceImpl
lawsStandardMasterPlanSublist.setActualCompletionDate(lawsDomesticStandard.getCreateTime());
}
break;
// 导入通知
case LawsStandardMasterPlanCommon.IMPORT_NOTIFICATION:
List<ProcessNewStandardImport> list1 = processNewStandardImportService.list(
new LambdaQueryWrapper<ProcessNewStandardImport>()
@@ -271,6 +276,7 @@ public class LawsStandardMasterPlanServiceImpl
}
}
break;
// 法规解读
case LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS:
if (!Objects.isNull(lawsDomesticStandard)){
lawsStandardMasterPlanSublist.setResponsiblePerson(lawsDomesticStandard.getResponsibleUser());
@@ -289,6 +295,7 @@ public class LawsStandardMasterPlanServiceImpl
}
}
break;
// 市场法规清单更新
case LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE:
if (StringUtils.isNotBlank(associationId)){
LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getById(associationId);
@@ -298,6 +305,7 @@ public class LawsStandardMasterPlanServiceImpl
}
}
break;
// 法规符合性排查
case LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION:
if (StringUtils.isNotBlank(associationId)){
LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary =
@@ -308,6 +316,7 @@ public class LawsStandardMasterPlanServiceImpl
}
}
break;
// 车型整改
case LawsStandardMasterPlanCommon.VEHICLE_MODEL_RECTIFICATION:
List<LawsEvaluationNotMetLibrary> list = lawsEvaluationNotMetLibraryService.list(
new LambdaQueryWrapper<LawsEvaluationNotMetLibrary>()
@@ -463,6 +472,26 @@ public class LawsStandardMasterPlanServiceImpl
}
}
@Override
public void syncMarketRegulationListUpdate(String id, String applicableMarkets) {
// 适用市场可能有多个,每个适用市场判断是否最早发布的
for (String applicableMarket : applicableMarkets.split(",")) {
LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(
new LambdaQueryWrapper<LawsMarketStandard>()
.eq(LawsMarketStandard::getCountry, applicableMarket)
.eq(LawsMarketStandard::getManifestStatus, MarketStandardConstants.MANIFEST_STATUS_PUBLISH)
.orderByAsc(LawsMarketStandard::getCreateTime).last("limit 1"));
if (!Objects.isNull(lawsMarketStandard) && lawsMarketStandard.getId().equals(id)){
lawsStandardMasterPlanSublistService.update(new LambdaUpdateWrapper<LawsStandardMasterPlanSublist>()
.eq(LawsStandardMasterPlanSublist::getType,
LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE)
.isNull(LawsStandardMasterPlanSublist::getAssociationId)
.set(LawsStandardMasterPlanSublist::getAssociationId, lawsMarketStandard.getId()));
}
}
}
private void vehicleModelRectification(List<LawsStandardMasterPlanSublist> lawsStandardMasterPlanSublistList, Map<String, String> lm, SimpleDateFormat dateFormat) {
Optional<LawsStandardMasterPlanSublist> vehicleModelRectification =
lawsStandardMasterPlanSublistList.stream()
@@ -37,14 +37,9 @@ public class LawsStandardMasterPlanVO implements Serializable {
@Dict(dicCode = "standard_state")
private java.lang.String standardState;
/**市场法规清单id*/
@ApiModelProperty(value = "市场法规清单id")
private String marketStandardId;
/** 适用市场 */
@ApiModelProperty(value = "适用市场")
@Dict(dicCode = "market_state")
@TableField(exist = false)
private java.lang.String applicableMarket;
/** 版本标识,用于绑定多个版本(市场法规清单)*/