fix(标准主计划): 新增时反显数据

This commit is contained in:
yjz
2024-07-29 19:24:31 +08:00
parent dfe95ce4b0
commit c60b4e0959
5 changed files with 138 additions and 54 deletions
@@ -56,20 +56,20 @@
select * from (
SELECT standard.id, standard.standard_number, standard.standard_name, standard.implementation_date,
standard.standard_state, standard.source, standard.create_time,
standard.new_product_impl_date, standard.new_auth_impl_date
standard.new_product_impl_date, standard.new_auth_impl_date, create_by, responsible_user
<if test="vo.releaseSplitFlag != null and vo.releaseSplitFlag != ''">
, split.id AS split_info_id
</if>
FROM
(SELECT id, standard_number, standard_name, implementation_date, standard_state, '1' AS source, create_time,
new_product_impl_date, new_auth_impl_date
new_product_impl_date, new_auth_impl_date, create_by, responsible_user
FROM laws_domestic_standard
WHERE del_flag = 0
UNION ALL
SELECT id, standard_number, standard_name, release_date, standard_state, '3' AS source, create_time,
null as new_product_impl_date, null as new_auth_impl_date
null as new_product_impl_date, null as new_auth_impl_date, create_by, null as responsible_user
FROM laws_enterprise_standard
WHERE del_flag = 0) standard
<if test="vo.releaseSplitFlag != null and vo.releaseSplitFlag != ''">
@@ -51,6 +51,10 @@ public class ManyStandardSelectionBox {
private String newProductImplDate;
@ApiModelProperty(value = "文档拆分id")
private java.lang.String splitInfoId;
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
@ApiModelProperty(value = "责任人")
private java.lang.String responsibleUser;
public void setStandardState(String standardState) {
this.standardState = standardState;
@@ -8,6 +8,7 @@ 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.entity.LawsStandardMasterPlanSublist;
import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService;
import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanDetailsVO;
import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO;
@@ -83,6 +84,18 @@ public class LawsStandardMasterPlanController {
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 标准主计划-返显数据
*
* @return lawsStandardMasterPlanDTO
*/
@AutoLog(value = "标准主计划-返显数据", operateType = CommonConstant.OPERATE_TYPE_2)
@ApiOperation(value="标准主计划-返显数据", notes="标准主计划-返显数据")
@GetMapping(value = "/queryAssociationId")
public Result<List<LawsStandardMasterPlanSublist>> queryAssociationId(String standardId, String applicableMarket) {
return Result.OK(lawsStandardMasterPlanService.queryAssociationId(standardId, applicableMarket));
}
/**
* 标准主计划-编辑
*
@@ -5,6 +5,7 @@ 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.entity.LawsStandardMasterPlanSublist;
import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanDetailsVO;
import com.jero.modules.laws.standardmasterplan.vo.LawsStandardMasterPlanVO;
import org.springframework.web.servlet.ModelAndView;
@@ -73,4 +74,12 @@ public interface ILawsStandardMasterPlanService extends IService<LawsStandardMas
* @param applicableMarkets 适用市场
*/
void syncMarketRegulationListUpdate(String id, String applicableMarkets);
/**
* 标准主计划-返显数据
* @param standardId
* @param applicableMarket
* @return
*/
List<LawsStandardMasterPlanSublist> queryAssociationId(String standardId, String applicableMarket);
}
@@ -136,57 +136,6 @@ public class LawsStandardMasterPlanServiceImpl
lawsStandardMasterPlanDTO.getLawsStandardMasterPlanSublistList();
for (LawsStandardMasterPlanSublist lawsStandardMasterPlanSublist : lawsStandardMasterPlanSublistList) {
lawsStandardMasterPlanSublist.setMasterPlanId(lawsStandardMasterPlan.getId());
String type = lawsStandardMasterPlanSublist.getType();
switch (type) {
// 法规解读
case LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS:
List<ProcessStandardInterpret> list = processStandardInterpretService.list(
new LambdaQueryWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getStandardId,
lawsStandardMasterPlan.getStandardId()));
if (CollectionUtils.isNotEmpty(list)){
List<String> projectIdList = list.stream()
.map(ProcessStandardInterpret::getProjectId)
.collect(Collectors.toList());
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
.in(ProcessAll::getProjectId, projectIdList)
.eq(ProcessAll::getPrcType, ProcessType.STANDARD_INTERPRET.getValue())
.eq(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue())
.orderByAsc(ProcessAll::getCreateTime).last("limit 1"));
if (!Objects.isNull(processAll)){
lawsStandardMasterPlanSublist.setAssociationId(processAll.getId());
}
}
break;
// 市场法规清单更新
case LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE:
// 根据适用市场查询获取最早发布的市场法规清单
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();
lawsConformityAssessmentLibrary.setStandardNumber(lawsStandardMasterPlanVO.getStandardNumber());
lawsConformityAssessmentLibrary.setApplicableMarket(lawsStandardMasterPlanVO.getApplicableMarket());
LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary1 =
lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary);
if (!Objects.isNull(lawsConformityAssessmentLibrary1)){
lawsStandardMasterPlanSublist.setAssociationId(lawsConformityAssessmentLibrary1.getId());
}
break;
default:
break;
}
}
lawsStandardMasterPlanSublistService.saveBatch(lawsStandardMasterPlanSublistList);
}
@@ -492,6 +441,115 @@ public class LawsStandardMasterPlanServiceImpl
}
@Override
public List<LawsStandardMasterPlanSublist> queryAssociationId(String standardId, String applicableMarket) {
ArrayList<LawsStandardMasterPlanSublist> list = new ArrayList<>();
LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getById(standardId);
// 导入通知
LawsStandardMasterPlanSublist masterPlanSublist = new LawsStandardMasterPlanSublist();
List<ProcessNewStandardImport> list1 = processNewStandardImportService.list(
new LambdaQueryWrapper<ProcessNewStandardImport>()
.eq(ProcessNewStandardImport::getStandardId, standardId)
.eq(ProcessNewStandardImport::getApplicableMarket, applicableMarket));
if (CollectionUtils.isNotEmpty(list1)){
List<String> processInstanceIdList = list1.stream()
.map(ProcessNewStandardImport::getProcessInstanceId).collect(Collectors.toList());
List<ProcessAll> processAllList = processAllService.list(new LambdaQueryWrapper<ProcessAll>()
.in(ProcessAll::getProcessInstanceId, processInstanceIdList)
.orderByAsc(ProcessAll::getEndTime));
if (CollectionUtils.isNotEmpty(processAllList)){
ProcessAll processAll = processAllList.get(0);
masterPlanSublist.setActualCompletionDate(processAll.getEndTime());
masterPlanSublist.setProcessAllList(processAllList);
}
}
list.add(masterPlanSublist);
// 法规解读
LawsStandardMasterPlanSublist masterPlanSublist1 = new LawsStandardMasterPlanSublist();
masterPlanSublist1.setType(LawsStandardMasterPlanCommon.INTERPRETATION_OF_REGULATIONS);
List<ProcessStandardInterpret> processStandardInterpretList = processStandardInterpretService.list(
new LambdaQueryWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getStandardId, standardId));
if (CollectionUtils.isNotEmpty(processStandardInterpretList)){
List<String> projectIdList = processStandardInterpretList.stream()
.map(ProcessStandardInterpret::getProjectId)
.collect(Collectors.toList());
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
.in(ProcessAll::getProjectId, projectIdList)
.eq(ProcessAll::getPrcType, ProcessType.STANDARD_INTERPRET.getValue())
.eq(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue())
.orderByAsc(ProcessAll::getCreateTime).last("limit 1"));
if (!Objects.isNull(processAll)){
masterPlanSublist1.setAssociationId(processAll.getId());
masterPlanSublist1.setActualCompletionDate(processAll.getEndTime());
ProcessStandardInterpret processStandardInterpret = processStandardInterpretService.getOne(
new LambdaQueryWrapper<ProcessStandardInterpret>()
.eq(ProcessStandardInterpret::getProjectId, processAll.getProjectId()));
if (!Objects.isNull(processStandardInterpret)){
masterPlanSublist1.setDeliverableFileId(processStandardInterpret.getSplitInfoId());
}
}
}
list.add(masterPlanSublist1);
// 市场法规清单更新
LawsStandardMasterPlanSublist masterPlanSublist2 = new LawsStandardMasterPlanSublist();
masterPlanSublist2.setType(LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE);
// 根据适用市场查询获取最早发布的市场法规清单
LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(
new LambdaQueryWrapper<LawsMarketStandard>()
.like(LawsMarketStandard::getCountry, applicableMarket)
.eq(LawsMarketStandard::getManifestStatus, MarketStandardConstants.MANIFEST_STATUS_PUBLISH)
.orderByAsc(LawsMarketStandard::getCreateTime).last("limit 1"));
if (!Objects.isNull(lawsMarketStandard)){
// 查询第一个发布版本
masterPlanSublist2.setAssociationId(lawsMarketStandard.getId());
masterPlanSublist2.setResponsiblePerson(lawsMarketStandard.getAuthor());
masterPlanSublist2.setActualCompletionDate(lawsMarketStandard.getReleaseDate());
}
list.add(masterPlanSublist2);
// 法规符合性排查
LawsStandardMasterPlanSublist masterPlanSublist3 = new LawsStandardMasterPlanSublist();
masterPlanSublist3.setType(LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION);
// 根据 标准名称+适用市场 查询 法规符合性排查
LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary =
new LawsConformityAssessmentLibrary();
lawsConformityAssessmentLibrary.setStandardNumber(lawsDomesticStandard.getStandardNumber());
lawsConformityAssessmentLibrary.setApplicableMarket(applicableMarket);
LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary1 =
lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary);
if (!Objects.isNull(lawsConformityAssessmentLibrary1)){
masterPlanSublist3.setAssociationId(lawsConformityAssessmentLibrary1.getId());
masterPlanSublist3.setActualCompletionDate(lawsConformityAssessmentLibrary.getValuationTime());
}
list.add(masterPlanSublist3);
// 车型整改
LawsStandardMasterPlanSublist masterPlanSublist4 = new LawsStandardMasterPlanSublist();
List<LawsEvaluationNotMetLibrary> lawsEvaluationNotMetLibraryList = lawsEvaluationNotMetLibraryService.list(
new LambdaQueryWrapper<LawsEvaluationNotMetLibrary>()
.eq(LawsEvaluationNotMetLibrary::getStandardId, standardId)
.eq(LawsEvaluationNotMetLibrary::getRectifyStatus, "2")
.orderByDesc(LawsEvaluationNotMetLibrary::getUpdateTime));
if (CollectionUtils.isNotEmpty(lawsEvaluationNotMetLibraryList)){
String pcrNos = lawsEvaluationNotMetLibraryList.stream()
.map(LawsEvaluationNotMetLibrary::getPcrNo).collect(Collectors.joining(","));
masterPlanSublist4.setPcrCode(pcrNos);
LawsEvaluationNotMetLibrary lawsEvaluationNotMetLibrary = lawsEvaluationNotMetLibraryList.get(0);
SysUser sysUser = sysUserService.getUserByName(lawsEvaluationNotMetLibrary.getUpdateBy());
if (!Objects.isNull(sysUser)){
masterPlanSublist4.setResponsiblePerson(sysUser.getId());
}
masterPlanSublist4.setCompletionAccomplishDate(
lawsEvaluationNotMetLibrary.getUpdateTime());
}
list.add(masterPlanSublist4);
return list;
}
private void vehicleModelRectification(List<LawsStandardMasterPlanSublist> lawsStandardMasterPlanSublistList, Map<String, String> lm, SimpleDateFormat dateFormat) {
Optional<LawsStandardMasterPlanSublist> vehicleModelRectification =
lawsStandardMasterPlanSublistList.stream()