Commit 88e4a135 authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_register' of…

Merge branch 'develop_tzs_register' of http://39.100.92.250:5000/moa/amos-boot-biz into develop_tzs_register # Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/IdxBizJgProjectContraptionServiceImplService.java
parents 3049edbf 355f0e83
...@@ -219,4 +219,19 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -219,4 +219,19 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty(value = "属地监管部门") @ApiModelProperty(value = "属地监管部门")
private String orgBranchName; private String orgBranchName;
@ApiModelProperty(value = "设备类别代码")
private String equCategoryCode;
@ApiModelProperty(value = "安全管理员")
private String safetyManager;
@ApiModelProperty(value = "安全管理员电话")
private String phone;
@ApiModelProperty(value = "产权单位seq")
private String estateUnitSeq;
@ApiModelProperty(value = "投用日期")
private String useDate;
} }
...@@ -331,4 +331,34 @@ public class JgChangeRegistrationUnit extends BaseEntity { ...@@ -331,4 +331,34 @@ public class JgChangeRegistrationUnit extends BaseEntity {
*/ */
@TableField(value = "org_branch_name") @TableField(value = "org_branch_name")
private String orgBranchName; private String orgBranchName;
/**
* 设备类别编码
*/
@TableField("equ_category_code")
private String equCategoryCode;
/**
* 安全管理员
*/
@TableField("safety_manager")
private String safetyManager;
/**
* 安全管理员电话
*/
@TableField("phone")
private String phone;
/**
* 产权单位seq
*/
@TableField("estate_unit_seq")
private String estateUnitSeq;
/**
* 投用日期
*/
@TableField("use_date")
private String useDate;
} }
...@@ -147,6 +147,7 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> { ...@@ -147,6 +147,7 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
Page<JgNoticeToBeSubmitDto> queryRegistrationToBeSubmitPage(@Param("page") Page<JgNoticeToBeSubmitDto> page, @Param("companyCode")String companyCode); Page<JgNoticeToBeSubmitDto> queryRegistrationToBeSubmitPage(@Param("page") Page<JgNoticeToBeSubmitDto> page, @Param("companyCode")String companyCode);
List<XianElevatorVo> queryXianElevatorData(@Param("beginDate")String beginDate, @Param("endDate") String endDate); List<XianElevatorVo> queryXianElevatorData(@Param("beginDate")String beginDate, @Param("endDate") String endDate);
List<JgUseRegistrationEq> selectListForInstallNoticeDiscard(@Param("records") List<String> records); List<JgUseRegistrationEq> selectListForInstallNoticeDiscard(@Param("records") List<String> records);
List<JgUseRegistrationEq> selectListForSelfDiscard(@Param("records") List<String> records); List<JgUseRegistrationEq> selectListForSelfDiscard(@Param("records") List<String> records);
......
...@@ -50,7 +50,15 @@ ...@@ -50,7 +50,15 @@
FROM tzs_jg_maintenance_contract_eq ede FROM tzs_jg_maintenance_contract_eq ede
LEFT JOIN idx_biz_jg_supervision_info si ON si."RECORD" = ede.equ_id LEFT JOIN idx_biz_jg_supervision_info si ON si."RECORD" = ede.equ_id
WHERE ede.equip_transfer_id = tjmc.sequence_nbr WHERE ede.equip_transfer_id = tjmc.sequence_nbr
) AS orgBranchCodes ) AS orgBranchCodes,
(
SELECT mri.ME_MASTER1_PHONE AS phone
FROM tzs_jg_maintenance_contract_eq ede
LEFT JOIN idx_biz_jg_maintenance_record_info mri
ON mri."RECORD" = ede.equ_id
WHERE ede.equip_transfer_id = tjmc.sequence_nbr
order by mri.REC_DATE limit 1
) AS phone
FROM FROM
tzs_jg_maintenance_contract tjmc tzs_jg_maintenance_contract tjmc
</sql> </sql>
......
...@@ -662,6 +662,9 @@ ...@@ -662,6 +662,9 @@
<if test="dto.whetherVehicleCylinder != null and dto.whetherVehicleCylinder == 1 "> <if test="dto.whetherVehicleCylinder != null and dto.whetherVehicleCylinder == 1 ">
AND tjurm.reg_type = '车用气瓶登记' AND tjurm.reg_type = '车用气瓶登记'
</if> </if>
<if test="dto.whetherVehicleCylinder != null and dto.whetherVehicleCylinder == 0 ">
AND tjurm.reg_type != '车用气瓶登记'
</if>
<if test="dto.isScrap != null and dto.isScrap != ''"> <if test="dto.isScrap != null and dto.isScrap != ''">
and tjurm.is_scrap = #{dto.isScrap} and tjurm.is_scrap = #{dto.isScrap}
</if> </if>
......
...@@ -1982,8 +1982,8 @@ ...@@ -1982,8 +1982,8 @@
tjur.SUPERVISION_ORG_CODE as supervisionOrgCode, tjur.SUPERVISION_ORG_CODE as supervisionOrgCode,
ibjui.DATA_SOURCE as dataSource ibjui.DATA_SOURCE as dataSource
FROM FROM
tzs_jg_use_registration_eq tjure tzs_jg_use_registration_manage tjurm
LEFT JOIN tzs_jg_use_registration tjur ON tjur.sequence_nbr = tjure.equip_transfer_id LEFT JOIN idx_biz_jg_register_info ibjri on ibjri."RECORD" = tjurm.equ_id
LEFT JOIN idx_biz_jg_use_info ibjui ON tjure.equ_id = ibjui."RECORD" LEFT JOIN idx_biz_jg_use_info ibjui ON tjure.equ_id = ibjui."RECORD"
LEFT JOIN idx_biz_jg_register_info ibjri on ibjri."RECORD" = tjure.equ_id LEFT JOIN idx_biz_jg_register_info ibjri on ibjri."RECORD" = tjure.equ_id
LEFT JOIN idx_biz_jg_factory_info ibjfi on ibjfi."RECORD" = tjure.equ_id LEFT JOIN idx_biz_jg_factory_info ibjfi on ibjfi."RECORD" = tjure.equ_id
......
...@@ -246,12 +246,12 @@ public class IdxBizJqEquipmentRegisterController extends BaseController { ...@@ -246,12 +246,12 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equip/page") @GetMapping(value = "/equip/page")
@ApiOperation(httpMethod = "GET", value = "单位办理设备列表查询", notes = "单位办理设备列表查询") @ApiOperation(httpMethod = "GET", value = "单位办理设备列表查询", notes = "单位办理设备列表查询")
@FieldMapping({@FieldMapping.FieldMap(sourceField = "useUnitSeq", targetField = "useUnitCreditCode", serviceClass = CommonServiceImpl.class, queryMethod = "queryUnitCreditInfoBySeq"),})
public ResponseModel<Page<JSONObject>> queryEquipPage(@RequestParam Map<String, Object> queryMap) { public ResponseModel<Page<JSONObject>> queryEquipPage(@RequestParam Map<String, Object> queryMap) {
JSONObject jsonObject = new JSONObject(queryMap); JSONObject jsonObject = new JSONObject(queryMap);
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryForUnitEquipmentPage(jsonObject)); return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryForUnitEquipmentPage(jsonObject));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equipCanUsedByVessel/page") @GetMapping(value = "/equipCanUsedByVessel/page")
@ApiOperation(httpMethod = "GET", value = "查询车用气瓶可进行选择的设备列表", notes = "查询车用气瓶可进行选择的设备列表") @ApiOperation(httpMethod = "GET", value = "查询车用气瓶可进行选择的设备列表", notes = "查询车用气瓶可进行选择的设备列表")
......
...@@ -20,7 +20,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType; ...@@ -20,7 +20,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
...@@ -53,7 +52,6 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -53,7 +52,6 @@ public class JgChangeRegistrationUnitController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "新增单位变更", notes = "新增单位变更") @ApiOperation(httpMethod = "POST", value = "新增单位变更", notes = "新增单位变更")
public ResponseModel<String> save(@RequestParam String submitType, @RequestBody JSONObject model) { public ResponseModel<String> save(@RequestParam String submitType, @RequestBody JSONObject model) {
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
jgChangeRegistrationUnitServiceImpl.saveNotice(submitType, model, reginParams); jgChangeRegistrationUnitServiceImpl.saveNotice(submitType, model, reginParams);
return ResponseHelper.buildResponse(""); return ResponseHelper.buildResponse("");
} }
...@@ -115,12 +113,10 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -115,12 +113,10 @@ public class JgChangeRegistrationUnitController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/details") @GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个单位变更", notes = "根据sequenceNbr查询单个单位变更") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个单位变更", notes = "根据sequenceNbr查询单个单位变更")
public ResponseModel<Map<String, public ResponseModel<Map<String, Map<String, Object>>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
Map<String, Object>>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.queryBySequenceNbr(sequenceNbr, getSelectedOrgInfo())); return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.queryBySequenceNbr(sequenceNbr, getSelectedOrgInfo()));
} }
/** /**
* 根据sequenceNbr查询详情 * 根据sequenceNbr查询详情
* *
......
...@@ -23,7 +23,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -23,7 +23,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -132,11 +131,11 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -132,11 +131,11 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
@RequestParam(value = "useUnitCreditCode", required = false) String useUnitCreditCode, @RequestParam(value = "useUnitCreditCode", required = false) String useUnitCreditCode,
@RequestParam(value = "whetherVehicleCylinder") String whetherVehicleCylinder, @RequestParam(value = "whetherVehicleCylinder") String whetherVehicleCylinder,
@RequestParam(value = "certificateStatus", required = false) String certificateStatus, @RequestParam(value = "certificateStatus", required = false) String certificateStatus,
@RequestParam(value = "equCategoryCode", required = false) String equCategoryCode,
@RequestParam(value = "useRegistrationCode", required = false) String useRegistrationCode) { @RequestParam(value = "useRegistrationCode", required = false) String useRegistrationCode) {
if (ValidationUtil.isEmpty(useUnitCreditCode)) if (ValidationUtil.isEmpty(useUnitCreditCode)) throw new BadRequest("请先选择原使用单位");
throw new BadRequest("请先选择原使用单位");
JgUseRegistrationManageDto dto = new JgUseRegistrationManageDto(); JgUseRegistrationManageDto dto = new JgUseRegistrationManageDto();
Page<JgUseRegistrationManageDto> page = new Page<JgUseRegistrationManageDto>(); Page<JgUseRegistrationManageDto> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
if (!ValidationUtil.isEmpty(useUnitCreditCode)){ if (!ValidationUtil.isEmpty(useUnitCreditCode)){
...@@ -149,6 +148,9 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -149,6 +148,9 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
if (!ValidationUtil.isEmpty(certificateStatus)){ if (!ValidationUtil.isEmpty(certificateStatus)){
dto.setCertificateStatus(certificateStatus); dto.setCertificateStatus(certificateStatus);
} }
if (!ValidationUtil.isEmpty(equCategoryCode)){
dto.setEquCategoryCode(equCategoryCode);
}
if (!ObjectUtils.isEmpty(useRegistrationCode)){ if (!ObjectUtils.isEmpty(useRegistrationCode)){
dto.setUseRegistrationCode(useRegistrationCode); dto.setUseRegistrationCode(useRegistrationCode);
} }
......
...@@ -824,7 +824,7 @@ public class CommonEquipDataProcessService { ...@@ -824,7 +824,7 @@ public class CommonEquipDataProcessService {
// 设备来源,前端无法判断,故后端进行判断,分为新设备(new)、历史有证设备(his)、历史无证设备(black) // 设备来源,前端无法判断,故后端进行判断,分为新设备(new)、历史有证设备(his)、历史无证设备(black)
result.put("dataSourceClassify", this.genDataSource(useInfo.getDataSource())); result.put("dataSourceClassify", this.genDataSource(useInfo.getDataSource()));
// 获取已登记设备的登记证对应接收机构 // 获取已登记设备的登记证对应接收机构
if (registerInfo.getUseOrgCode() != null) { if (!ValidationUtil.isEmpty(registerInfo.getUseOrgCode())) {
JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery() JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode()) .eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode())
.select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode).one(); .select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode).one();
......
...@@ -253,183 +253,200 @@ public class IdxBizJgProjectContraptionServiceImplService extends BaseEntityServ ...@@ -253,183 +253,200 @@ public class IdxBizJgProjectContraptionServiceImplService extends BaseEntityServ
*/ */
@Override @Override
public IPage<IdxBizJgProjectContraption> proConPageByParams(int current, int size, String sort, Map<String, String> params, ReginParams reginParams) { public IPage<IdxBizJgProjectContraption> proConPageByParams(int current, int size, String sort, Map<String, String> params, ReginParams reginParams) {
Page<IdxBizJgProjectContraption> page = new Page<>(); try {
page.setCurrent(current); Page<IdxBizJgProjectContraption> page = new Page<>();
page.setSize(size); page.setCurrent(current);
CompanyBo company = reginParams.getCompany(); page.setSize(size);
String companyType = company.getCompanyType(); CompanyBo company = reginParams.getCompany();
String companyCode = company.getCompanyCode(); String companyType = company.getCompanyType();
SortVo sortVo = commonService.sortFieldConversion(sort); String companyCode = company.getCompanyCode();
// 是否是否纳管:true - 已纳管 false-未纳管 SortVo sortVo = commonService.sortFieldConversion(sort);
boolean isIntoManagement = Boolean.parseBoolean(params.get(IS_INTO_MANAGEMENT)); // 是否是否纳管:true - 已纳管 false-未纳管
// 使用登记编号 boolean isIntoManagement = Boolean.parseBoolean(params.get(IS_INTO_MANAGEMENT));
String useRegistrationCode = params.get(USE_REGISTRATION_CODE); // 使用登记编号
// 使用登记编号是否为空 true/false String useRegistrationCode = params.get(USE_REGISTRATION_CODE);
String regCodeIsNull = params.get(REG_CODE_IS_NULL); // 使用登记编号是否为空 true/false
// 工程装置名称 String regCodeIsNull = params.get(REG_CODE_IS_NULL);
String projectContraption = params.get(PROJECT_CONTRAPTION); // 工程装置名称
// 工程装置编号 String projectContraption = params.get(PROJECT_CONTRAPTION);
String projectContraptionNo = params.get(PROJECT_CONTRAPTION_NO); // 工程装置编号
//属地监管部门code String projectContraptionNo = params.get(PROJECT_CONTRAPTION_NO);
String orgBranchCode = params.get(ORG_BRANCH_CODE); //属地监管部门code
String dataSource = params.get(DATA_SOURCE); String orgBranchCode = params.get(ORG_BRANCH_CODE);
// 设备类别code String dataSource = params.get(DATA_SOURCE);
String equCategory = params.get(EQU_CATEGORY); // 设备类别code
// 设备类品种code String equCategory = params.get(EQU_CATEGORY);
String equDefine = params.get(EQU_DEFINE); // 设备类品种code
String equDefine = params.get(EQU_DEFINE);
String dataQualityScore = params.get(DATA_QUALITY_SCORE);
String dataQuality = params.get(DATA_QUALITY); String dataQualityScore = params.get(DATA_QUALITY_SCORE);
// 证详情-查询标识 String dataQuality = params.get(DATA_QUALITY);
String useRegDetail = params.get("useRegDetail"); // 证详情-查询标识
// 登录人公司类型:企业,监管 String useRegDetail = params.get("useRegDetail");
String companyLevel = this.getCompanyLevel(company); // 登录人公司类型:企业,监管
// 未在业务流程中 String companyLevel = this.getCompanyLevel(company);
boolean isNotInBusiness = !ValidationUtil.isEmpty(params.get("isNotInBusiness")) && params.get("isNotInBusiness").equals("true"); // 未在业务流程中
// 查询在业务流程中sql boolean isNotInBusiness = !ValidationUtil.isEmpty(params.get("isNotInBusiness")) && params.get("isNotInBusiness").equals("true");
String inBusinessSQL = "SELECT 1 FROM tzs_jg_change_registration_reform A WHERE\n" + // 查询在业务流程中sql
" idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" + String inBusinessSQL = "SELECT 1 FROM tzs_jg_change_registration_reform A WHERE\n" +
" AND A.\"is_delete\" = 0 \n" + " idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" +
" AND A.audit_status <> '使用单位待提交' \n" + " AND A.\"is_delete\" = 0 \n" +
" AND A.audit_status <> '一级受理已驳回' \n" + " AND A.audit_status <> '使用单位待提交' \n" +
" AND A.audit_status <> '使用单位已撤回' \n" + " AND A.audit_status <> '一级受理已驳回' \n" +
" AND A.audit_status <> '已完成' \n" + " AND A.audit_status <> '使用单位已撤回' \n" +
" AND A.audit_status <> '已作废' UNION ALL\n" + " AND A.audit_status <> '已完成' \n" +
"SELECT 1 FROM tzs_jg_installation_notice A \n" + " AND A.audit_status <> '已作废' UNION ALL\n" +
"WHERE\n" + "SELECT 1 FROM tzs_jg_installation_notice A \n" +
" idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" + "WHERE\n" +
" AND A.\"is_delete\" = 0 \n" + " idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" +
" AND A.notice_status <> '6614' \n" + " AND A.\"is_delete\" = 0 \n" +
" AND A.notice_status <> '6615' \n" + " AND A.notice_status <> '6614' \n" +
" AND A.notice_status <> '6610' \n" + " AND A.notice_status <> '6615' \n" +
" AND A.notice_status <> '6616' \n" + " AND A.notice_status <> '6610' \n" +
" AND A.notice_status <> '6617' UNION ALL\n" + " AND A.notice_status <> '6616' \n" +
"SELECT 1 FROM tzs_jg_reform_notice A \n" + " AND A.notice_status <> '6617' UNION ALL\n" +
"WHERE\n" + "SELECT 1 FROM tzs_jg_reform_notice A \n" +
" idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" + "WHERE\n" +
" AND A.\"is_delete\" = 0 \n" + " idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" +
" AND A.notice_status <> '6614' \n" + " AND A.\"is_delete\" = 0 \n" +
" AND A.notice_status <> '6615' \n" + " AND A.notice_status <> '6614' \n" +
" AND A.notice_status <> '6610' \n" + " AND A.notice_status <> '6615' \n" +
" AND A.notice_status <> '6616' \n" + " AND A.notice_status <> '6610' \n" +
" AND A.notice_status <> '6617' UNION ALL\n" + " AND A.notice_status <> '6616' \n" +
"SELECT 1 FROM tzs_jg_use_registration A \n" + " AND A.notice_status <> '6617' UNION ALL\n" +
"WHERE\n" + "SELECT 1 FROM tzs_jg_use_registration A \n" +
" idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" + "WHERE\n" +
" AND A.\"is_delete\" = 0 \n" + " idx_biz_jg_project_contraption.sequence_nbr = A.\"project_contraption_id\" \n" +
" AND A.status <> '使用单位待提交' \n" + " AND A.\"is_delete\" = 0 \n" +
" AND A.status <> '一级受理已驳回' \n" + " AND A.status <> '使用单位待提交' \n" +
" AND A.status <> '使用单位已撤回' \n" + " AND A.status <> '一级受理已驳回' \n" +
" AND A.status <> '已完成' \n" + " AND A.status <> '使用单位已撤回' \n" +
" AND A.status <> '已作废'"; " AND A.status <> '已完成' \n" +
//获取省 " AND A.status <> '已作废'";
String province = params.get("province"); //获取省
if(!StringUtils.isEmpty(province) && province.contains("_")){ String province = params.get("province");
province= province.split("_")[0]; if(!StringUtils.isEmpty(province) && province.contains("_")){
} province= province.split("_")[0];
//获取市 }
String city = params.get("city"); //获取市
if(!StringUtils.isEmpty(city) && city.contains("_")){ String city = params.get("city");
city= city.split("_")[0]; if(!StringUtils.isEmpty(city) && city.contains("_")){
} city= city.split("_")[0];
//获取区 }
String county = params.get("county"); //获取区
if(!StringUtils.isEmpty(county) && county.contains("_")){ String county = params.get("county");
county= county.split("_")[0]; if(!StringUtils.isEmpty(county) && county.contains("_")){
} county= county.split("_")[0];
//获取街道 }
String street = params.get("street"); //获取街道
if(!StringUtils.isEmpty(street) && street.contains("_")){ String street = params.get("street");
street= street.split("_")[0]; if(!StringUtils.isEmpty(street) && street.contains("_")){
} street= street.split("_")[0];
String useUnitCreditCode = params.get(USE_UNIT_CREDIT_CODE); }
if(!StringUtils.isEmpty(useUnitCreditCode) && useUnitCreditCode.contains("_")){ String useUnitCreditCode = params.get(USE_UNIT_CREDIT_CODE);
useUnitCreditCode= useUnitCreditCode.split("_")[0]; if(!StringUtils.isEmpty(useUnitCreditCode) && useUnitCreditCode.contains("_")){
} useUnitCreditCode= useUnitCreditCode.split("_")[0];
String useUnitName = params.get(USE_UNIT_NAME); }
LambdaQueryChainWrapper<IdxBizJgProjectContraption> queryWrapper = lambdaQuery() String useUnitName = params.get(USE_UNIT_NAME);
// 企业按照公司类型进行过滤 LambdaQueryChainWrapper<IdxBizJgProjectContraption> queryWrapper = lambdaQuery()
.eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.CONSTRUCTION.getName().equals(companyType), IdxBizJgProjectContraption::getUscUnitCreditCode, companyCode) // 企业按照公司类型进行过滤
.eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.USE.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode) .eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.CONSTRUCTION.getName().equals(companyType), IdxBizJgProjectContraption::getUscUnitCreditCode, companyCode)
.eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.INDIVIDUAL.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode.split("_").length > 1 ? companyCode.split("_")[1] : companyCode) .eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.USE.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode)
// 监管机构按照属地监管部门orgCode进行过滤【最大数据集合】 .eq(BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel) && CompanyTypeEnum.INDIVIDUAL.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode.split("_").length > 1 ? companyCode.split("_")[1] : companyCode)
.likeRight(ValidationUtil.isEmpty(useRegDetail) && BaseController.COMPANY_TYPE_SUPERVISION.equals(companyLevel), IdxBizJgProjectContraption::getOrgCode, company.getOrgCode()) // 监管机构按照属地监管部门orgCode进行过滤【最大数据集合】
.eq(!ValidationUtil.isEmpty(params.get(IS_INTO_MANAGEMENT)), IdxBizJgProjectContraption::getIsIntoManagement, isIntoManagement) .likeRight(ValidationUtil.isEmpty(useRegDetail) && BaseController.COMPANY_TYPE_SUPERVISION.equals(companyLevel), IdxBizJgProjectContraption::getOrgCode, company.getOrgCode())
.eq(!ValidationUtil.isEmpty(useRegistrationCode), IdxBizJgProjectContraption::getUseRegistrationCode, useRegistrationCode) .eq(!ValidationUtil.isEmpty(params.get(IS_INTO_MANAGEMENT)), IdxBizJgProjectContraption::getIsIntoManagement, isIntoManagement)
.eq(!ValidationUtil.isEmpty(equCategory), IdxBizJgProjectContraption::getEquCategory, equCategory) .eq(!ValidationUtil.isEmpty(useRegistrationCode), IdxBizJgProjectContraption::getUseRegistrationCode, useRegistrationCode)
.eq(!ValidationUtil.isEmpty(equDefine), IdxBizJgProjectContraption::getEquDefine, equDefine) .eq(!ValidationUtil.isEmpty(equCategory), IdxBizJgProjectContraption::getEquCategory, equCategory)
.eq(!ValidationUtil.isEmpty(province), IdxBizJgProjectContraption::getProvince, province) .eq(!ValidationUtil.isEmpty(equDefine), IdxBizJgProjectContraption::getEquDefine, equDefine)
.eq(!ValidationUtil.isEmpty(city), IdxBizJgProjectContraption::getCity, city) .eq(!ValidationUtil.isEmpty(province), IdxBizJgProjectContraption::getProvince, province)
.eq(!ValidationUtil.isEmpty(county), IdxBizJgProjectContraption::getCounty, county) .eq(!ValidationUtil.isEmpty(city), IdxBizJgProjectContraption::getCity, city)
.eq(!ValidationUtil.isEmpty(street), IdxBizJgProjectContraption::getStreet, street) .eq(!ValidationUtil.isEmpty(county), IdxBizJgProjectContraption::getCounty, county)
.eq(!ValidationUtil.isEmpty(dataQualityScore), IdxBizJgProjectContraption::getDataQualityScore, dataQualityScore) .eq(!ValidationUtil.isEmpty(street), IdxBizJgProjectContraption::getStreet, street)
.in(!ValidationUtil.isEmpty(dataQuality), IdxBizJgProjectContraption::getDataQualityScore, JSON.parseArray(dataQuality, String.class)) .eq(!ValidationUtil.isEmpty(dataQualityScore), IdxBizJgProjectContraption::getDataQualityScore, dataQualityScore)
.eq(!ValidationUtil.isEmpty(useUnitCreditCode), IdxBizJgProjectContraption::getUseUnitCreditCode, useUnitCreditCode) .in(!ValidationUtil.isEmpty(dataQuality), IdxBizJgProjectContraption::getDataQualityScore, JSON.parseArray(dataQuality, String.class))
.like(!ValidationUtil.isEmpty(useUnitName), IdxBizJgProjectContraption::getUseUnitName, useUnitName) .eq(!ValidationUtil.isEmpty(useUnitCreditCode), IdxBizJgProjectContraption::getUseUnitCreditCode, useUnitCreditCode)
.like(!ValidationUtil.isEmpty(projectContraption), IdxBizJgProjectContraption::getProjectContraption, projectContraption) .like(!ValidationUtil.isEmpty(useUnitName), IdxBizJgProjectContraption::getUseUnitName, useUnitName)
.eq(!ValidationUtil.isEmpty(orgBranchCode) && BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel), IdxBizJgProjectContraption::getOrgCode, orgBranchCode) // 企业 等于匹配 .like(!ValidationUtil.isEmpty(projectContraption), IdxBizJgProjectContraption::getProjectContraption, projectContraption)
.likeRight(!ValidationUtil.isEmpty(orgBranchCode) && BaseController.COMPANY_TYPE_SUPERVISION.equals(companyLevel), IdxBizJgProjectContraption::getOrgCode, orgBranchCode) // 监管 右模糊匹配 .eq(!ValidationUtil.isEmpty(orgBranchCode) && BaseController.COMPANY_TYPE_COMPANY.equals(companyLevel), IdxBizJgProjectContraption::getOrgCode, orgBranchCode) // 企业 等于匹配
.like(!ValidationUtil.isEmpty(projectContraptionNo), IdxBizJgProjectContraption::getProjectContraptionNo, projectContraptionNo) .likeRight(!ValidationUtil.isEmpty(orgBranchCode) && BaseController.COMPANY_TYPE_SUPERVISION.equals(companyLevel), IdxBizJgProjectContraption::getOrgCode, orgBranchCode) // 监管 右模糊匹配
.and(!ValidationUtil.isEmpty(dataSource), w -> { .like(!ValidationUtil.isEmpty(projectContraptionNo), IdxBizJgProjectContraption::getProjectContraptionNo, projectContraptionNo)
if ("jg".equals(dataSource)) { .and(!ValidationUtil.isEmpty(dataSource), w -> {
w.likeRight(IdxBizJgProjectContraption::getDataSource, "jg").notLike(IdxBizJgProjectContraption::getDataSource, "jg_his"); if ("jg".equals(dataSource)) {
} else if ("jg_his".equals(dataSource)) { w.likeRight(IdxBizJgProjectContraption::getDataSource, "jg").notLike(IdxBizJgProjectContraption::getDataSource, "jg_his");
w.likeRight(IdxBizJgProjectContraption::getDataSource, "jg_his").notLike(IdxBizJgProjectContraption::getDataSource, "jg_his_black"); } else if ("jg_his".equals(dataSource)) {
} else if ("jg_his_black".equals(dataSource)) { w.likeRight(IdxBizJgProjectContraption::getDataSource, "jg_his").notLike(IdxBizJgProjectContraption::getDataSource, "jg_his_black");
w.eq(IdxBizJgProjectContraption::getDataSource, "jg_his_black").or().likeRight(IdxBizJgProjectContraption::getDataSource, "jg_his_black_"); } else if ("jg_his_black".equals(dataSource)) {
} else { w.eq(IdxBizJgProjectContraption::getDataSource, "jg_his_black").or().likeRight(IdxBizJgProjectContraption::getDataSource, "jg_his_black_");
w.eq(IdxBizJgProjectContraption::getDataSource, dataSource); } else {
} w.eq(IdxBizJgProjectContraption::getDataSource, dataSource);
}) }
.isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode) })
.isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode) .isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.isNull(IdxBizJgProjectContraption::getProjectContraptionParentId) .isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.notExists(isNotInBusiness, inBusinessSQL); .isNull(IdxBizJgProjectContraption::getProjectContraptionParentId)
.notExists(isNotInBusiness, inBusinessSQL);
if (sortVo != null && "ASC".equalsIgnoreCase(sortVo.getSortType())) {
queryWrapper.orderByAsc(resolveField(sortVo.getField())); if (sortVo != null && "ASC".equalsIgnoreCase(sortVo.getSortType())) {
} else if (sortVo != null && "DESC".equalsIgnoreCase(sortVo.getSortType())) { queryWrapper.orderByAsc(resolveField(sortVo.getField()));
queryWrapper.orderByDesc(resolveField(sortVo.getField())); } else if (sortVo != null && "DESC".equalsIgnoreCase(sortVo.getSortType())) {
} else { queryWrapper.orderByDesc(resolveField(sortVo.getField()));
queryWrapper.orderByDesc(IdxBizJgProjectContraption::getRecDate); } else {
} queryWrapper.orderByDesc(IdxBizJgProjectContraption::getRecDate);
}
IPage<IdxBizJgProjectContraption> pageList = queryWrapper.page(page);
// 单位类型区分的企业还是监管
String companyType2 = CommonServiceImpl.getCompanyType(company);
if (!ValidationUtil.isEmpty(pageList.getRecords())) {
Map<String, Boolean> projectContraptionUseMap = getPidUseMap(pageList);
pageList.getRecords().forEach(record -> {
BigDecimal pipelineLength = BigDecimal.valueOf(record.getPipelineLength());
BigDecimal roundedValue = pipelineLength.setScale(3, RoundingMode.HALF_UP);
BigDecimal strippedValue = roundedValue.stripTrailingZeros();
record.setPipelineLength(Double.valueOf(strippedValue.toPlainString()));
record.setDataSourceName(EquipSourceEnum.getDataSourceName(record.getDataSource()));
record.setDataQualityScore(commonService.castDataQualityScore2Name(record.getDataQualityScore(), record.getIsIntoManagement()));
record.setFullAddress(
Stream.of(record.getProvinceName(), record.getCityName(), record.getCountyName(), record.getStreetName(), record.getAddress())
.map(value -> value == null ? "" : value)
.collect(Collectors.joining())
);
record.setCompanyType(companyType2);
// 来源类型:前端控制编辑按钮显示隐藏
record.setRegType(CommonServiceImpl.genRegTypeByDataSource(record.getDataSource()));
record.setIsIntoManagementName(IsIntoManagementEnum.getName(record.getIsIntoManagement()));
// 设置是否发生过后续业务::前端控制编辑按钮显示隐藏
record.setHappenAfterBiz(projectContraptionUseMap.getOrDefault(record.getSequenceNbr() + "", false));
});
List<Long> projectContraptionIdList = pageList.getRecords().stream().map(IdxBizJgProjectContraption::getSequenceNbr).collect(Collectors.toList()); IPage<IdxBizJgProjectContraption> pageList = queryWrapper.page(page);
Map<String, Boolean> canEditMap = this.checkContraptionIsCanEdit(projectContraptionIdList); // 单位类型区分的企业还是监管
pageList.getRecords().forEach(record -> record.setCanEdit(canEditMap.get(record.getSequenceNbr()+""))); String companyType2 = CommonServiceImpl.getCompanyType(company);
// 按钮放开, 删除提交时进行校验
// Map<String, Boolean> canDeleteMap = this.checkContraptionIsCanDelete(projectContraptionIdList, isIntoManagement); if (!ValidationUtil.isEmpty(pageList.getRecords())) {
// pageList.getRecords().forEach(record -> record.setCanDelete(canDeleteMap.get(record.getSequenceNbr()+""))); Map<String, Boolean> projectContraptionUseMap = getPidUseMap(pageList);
//判断是否有检验结果录入 pageList.getRecords().forEach(record -> {
judgeCheckResult(pageList.getRecords()); BigDecimal pipelineLength = BigDecimal.valueOf(record.getPipelineLength());
BigDecimal roundedValue = pipelineLength.setScale(3, RoundingMode.HALF_UP);
BigDecimal strippedValue = roundedValue.stripTrailingZeros();
record.setPipelineLength(Double.valueOf(strippedValue.toPlainString()));
record.setDataSourceName(EquipSourceEnum.getDataSourceName(record.getDataSource()));
record.setDataQualityScore(commonService.castDataQualityScore2Name(record.getDataQualityScore(), record.getIsIntoManagement()));
record.setFullAddress(
Stream.of(record.getProvinceName(), record.getCityName(), record.getCountyName(), record.getStreetName(), record.getAddress())
.map(value -> value == null ? "" : value)
.collect(Collectors.joining())
);
record.setCompanyType(companyType2);
// 来源类型:前端控制编辑按钮显示隐藏
record.setRegType(CommonServiceImpl.genRegTypeByDataSource(record.getDataSource()));
record.setIsIntoManagementName(IsIntoManagementEnum.getName(record.getIsIntoManagement()));
// 设置是否发生过后续业务::前端控制编辑按钮显示隐藏
record.setHappenAfterBiz(projectContraptionUseMap.getOrDefault(record.getSequenceNbr() + "", false));
});
List<Long> projectContraptionIdList = pageList.getRecords().stream().map(IdxBizJgProjectContraption::getSequenceNbr).collect(Collectors.toList());
Map<String, Boolean> canEditMap = this.checkContraptionIsCanEdit(projectContraptionIdList);
pageList.getRecords().forEach(record -> record.setCanEdit(canEditMap.get(record.getSequenceNbr()+"")));
// todo 删除按钮放开 全部显示 删除时进行校验
// Map<String, Boolean> canDeleteMap = this.checkContraptionIsCanDelete(projectContraptionIdList, isIntoManagement);
// pageList.getRecords().forEach(record -> record.setCanDelete(canDeleteMap.get(record.getSequenceNbr()+"")));
//判断是否有检验结果录入
judgeCheckResult(pageList.getRecords());
List<IdxBizJgUseInfo> useInfos = useInfoService.lambdaQuery().select(IdxBizJgUseInfo::getRecord,IdxBizJgUseInfo::getPhone)
.in(IdxBizJgUseInfo::getProjectContraptionId, projectContraptionIdList).list();
useInfos.forEach(info -> System.out.println("record=" + info.getRecord() + ", phone=" + info.getPhone()));
}
return pageList;
} catch (Exception ex) {
String msg = ex.getMessage() == null ? "" : ex.getMessage();
if (msg.contains("eyibc decrypt error")
|| msg.contains("EYIBCException")
|| msg.contains("olym jdbc error")
|| msg.contains("数据非法")
|| msg.contains("Code: 100023:sql parse error")
|| msg.contains("decrypt error, code: -65")) {
throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。");
}
throw new BadRequest("系统内部错误,请联系管理员。");
} }
return pageList;
} }
/** /**
......
...@@ -163,6 +163,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -163,6 +163,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
public static final String PROJECT_CONTRAPTION = "PROJECT_CONTRAPTION";// 工程装置名称 public static final String PROJECT_CONTRAPTION = "PROJECT_CONTRAPTION";// 工程装置名称
public static final String CREATE_DATE_RANGE = "CREATE_DATE_RANGE";// 创建时间范围查询 public static final String CREATE_DATE_RANGE = "CREATE_DATE_RANGE";// 创建时间范围查询
public static final String CREATE_DATE = "CREATE_DATE";// 创建时间范围查询 public static final String CREATE_DATE = "CREATE_DATE";// 创建时间范围查询
public static final String USE_UNIT_CREDIT_CODE = "useUnitCreditCode";// 创建时间范围查询
/** /**
* 业务类型 0:单个新增 1:批量导入 * 业务类型 0:单个新增 1:批量导入
*/ */
...@@ -4075,13 +4076,21 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -4075,13 +4076,21 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
@Override @Override
public Page<JSONObject> queryForUnitEquipmentPage(JSONObject jsonObject) { public Page<JSONObject> queryForUnitEquipmentPage(JSONObject jsonObject) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); String useUnitCreditCode = Objects.toString(jsonObject.get(USE_UNIT_CREDIT_CODE), "");
String useUnitCreditCode = reginParams.getCompany().getCompanyCode(); if (ValidationUtil.isEmpty(useUnitCreditCode)) {
// 使用单位为个人时候 特殊处理 String redisVal = String.valueOf(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())));
if (useUnitCreditCode.split("_").length > 1) { if (StringUtils.isNotEmpty(redisVal)) {
useUnitCreditCode = useUnitCreditCode.split("_")[1]; ReginParams params = JSON.parseObject(redisVal, ReginParams.class);
useUnitCreditCode = Optional.ofNullable(params)
.map(ReginParams::getCompany)
.map(CompanyBo::getCompanyCode)
.orElse("");
useUnitCreditCode = useUnitCreditCode.contains("_") ? useUnitCreditCode.split("_")[1] : useUnitCreditCode;
}
} else {
useUnitCreditCode = useUnitCreditCode.contains("_") ? useUnitCreditCode.split("_")[0] : useUnitCreditCode;
} }
jsonObject.put("useUnitCreditCode", useUnitCreditCode); jsonObject.put(USE_UNIT_CREDIT_CODE, useUnitCreditCode);
Page<JSONObject> page = new Page<>(jsonObject.getLong("number"), jsonObject.getLong("size")); Page<JSONObject> page = new Page<>(jsonObject.getLong("number"), jsonObject.getLong("size"));
Set<String> records = EquipUsedCheckStrategyContext.getUsedStrategy("useRegistration").getEquipInFlow(useUnitCreditCode); Set<String> records = EquipUsedCheckStrategyContext.getUsedStrategy("useRegistration").getEquipInFlow(useUnitCreditCode);
String[] recordList = ValidationUtil.isEmpty(records) ? null : records.toArray(new String[records.size()]); String[] recordList = ValidationUtil.isEmpty(records) ? null : records.toArray(new String[records.size()]);
......
...@@ -8,8 +8,10 @@ import com.alibaba.fastjson.JSONObject; ...@@ -8,8 +8,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.olym.shaded.org.apache.commons.collections4.MapUtils;
import com.yeejoin.amos.boot.biz.common.annotation.ResultFieldMapping; import com.yeejoin.amos.boot.biz.common.annotation.ResultFieldMapping;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
...@@ -18,6 +20,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils; ...@@ -18,6 +20,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent; import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
...@@ -41,6 +44,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.*; ...@@ -41,6 +44,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*; import com.yeejoin.amos.feign.workflow.model.*;
...@@ -67,6 +71,7 @@ import java.time.ZoneId; ...@@ -67,6 +71,7 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -83,6 +88,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -83,6 +88,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
private static final String SUBMIT_TYPE_FLOW = "1"; private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "unitChange"; private static final String PROCESS_DEFINITION_KEY = "unitChange";
private static final String TABLE_PAGE_ID = "1734141426742095873"; private static final String TABLE_PAGE_ID = "1734141426742095873";
private static final String RECORD = "record";
private static final String EQU_CODE_CC = "5000"; private static final String EQU_CODE_CC = "5000";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成"); private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成");
...@@ -207,9 +213,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -207,9 +213,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
* @return 单位变更 * @return 单位变更
*/ */
@Override @Override
@ResultFieldMapping({ @ResultFieldMapping({@ResultFieldMapping.ResultFieldMap(sourceField = "changeRegisInfo.useUnitCreditCode", targetField = "changeRegisInfo.useUnitSeq", serviceClass = CommonServiceImpl.class, queryMethod = "queryUnitInfoByCreditCode")})
@ResultFieldMapping.ResultFieldMap(sourceField = "changeRegisInfo.useUnitCreditCode", targetField = "changeRegisInfo.useUnitSeq", serviceClass = CommonServiceImpl.class, queryMethod = "queryUnitInfoByCreditCode")
})
public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr, ReginParams selectedOrgInfo) { public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr, ReginParams selectedOrgInfo) {
// 单位变更信息 // 单位变更信息
JgChangeRegistrationUnit notice = JgChangeRegistrationUnitMapper.selectById(sequenceNbr); JgChangeRegistrationUnit notice = JgChangeRegistrationUnitMapper.selectById(sequenceNbr);
...@@ -256,6 +260,12 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -256,6 +260,12 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
changeInfo.put("projectContraptionList", jsonArray); changeInfo.put("projectContraptionList", jsonArray);
} }
}
if (CylinderTypeEnum.CYLINDER.getCode().equals(notice.getEquCategoryCode())) {
changeInfo.put("deviceList", JSON.parse(historyServiceOne.getChangeData()));
if (!ValidationUtil.isEmpty(notice.getSafetyManager())) {
changeInfo.put("safetyManagerName", notice.getSafetyManager().split("_")[1]);
}
} else { } else {
changeInfo.put("registrationList", JSON.parse(historyServiceOne.getChangeData())); changeInfo.put("registrationList", JSON.parse(historyServiceOne.getChangeData()));
} }
...@@ -335,6 +345,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -335,6 +345,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
if (PipelineEnum.PRESSURE_PIPELINE.getCode().equals(noticeDto.getEquListCode())) { if (PipelineEnum.PRESSURE_PIPELINE.getCode().equals(noticeDto.getEquListCode())) {
dealProjectContraptionToUpdate(submitType, noticeDto, op, reginParams); dealProjectContraptionToUpdate(submitType, noticeDto, op, reginParams);
} else if (CylinderTypeEnum.CYLINDER.getCode().equals(noticeDto.getEquCategoryCode())) {
return this.dealCylinderToUpdate(submitType, noticeDto, "", reginParams);
} else { } else {
// 字段转换 // 字段转换
this.convertField(noticeDto); this.convertField(noticeDto);
...@@ -513,6 +525,178 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -513,6 +525,178 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
/** /**
* 气瓶单位变更业务
* @param submitType
* @param changeRegistrationUnitDto
* @param op
* @param reginParams
*/
private JgChangeRegistrationUnitDto dealCylinderToUpdate(String submitType, JgChangeRegistrationUnitDto changeRegistrationUnitDto, String op, ReginParams reginParams) {
String[] taskName = new String[]{"流程结束"};
// 字段转换
this.convertField(changeRegistrationUnitDto);
// 获取单位变更设备列表
List<Map<String, Object>> deviceList = changeRegistrationUnitDto.getDeviceList();
if (CollectionUtils.isEmpty(deviceList)) {
throw new BadRequest("请选择设备后提交");
}
// 获取单位变更单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.DWBG.getCode(), 1);
List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) {
log.error("生成申请变更单位编码失败");
throw new BadRequest("生成申请变更单位编码失败");
}
if (SUBMIT_TYPE_FLOW.equals(submitType)) {//放在最后面防止前面有异常
//如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中
CompanyBo company = reginParams.getCompany();
deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(jsonObject.get(RECORD)),
CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyCode().split("_")[1] :
company.getCompanyCode()));
}
ArrayList<String> roleListFirst = new ArrayList<>();
List<String> instanceIdList = new ArrayList<>();
List<String> nextExecutorUserIds = new ArrayList<>();
List<String> taskIds = new ArrayList<>();
List<WorkflowResultDto> workflowResultDtos = new ArrayList<>();
String nextExecutorRoleIds = "";
// 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
//发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(String.valueOf(new Date().getTime()));
dto.setNextExecuteUserCompanyCode(changeRegistrationUnitDto.getReceiveCompanyCode());
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
nextExecutorRoleIds = workflowResultDtos.get(0).getNextExecutorRoleIds();
nextExecutorUserIds.add(workflowResultDtos.get(0).getNextExecutorUserIds());
for (WorkflowResultDto processTaskDTO : workflowResultDtos) {
instanceIdList.add(processTaskDTO.getInstanceId());
taskIds.add(processTaskDTO.getNextTaskId());
}
}
String finalNextExecutorRoleIds = nextExecutorRoleIds;
CompanyBo companyBo = commonServiceImpl.getOneCompany(changeRegistrationUnitDto.getReceiveCompanyCode());
changeRegistrationUnitDto.setApplyNo(applyNoList.get(0));
changeRegistrationUnitDto.setReceiveCompanyOrgCode(companyBo.getOrgCode());
changeRegistrationUnitDto.setReceiveOrgCode(companyBo.getCompanyCode());
changeRegistrationUnitDto.setCreateUserId(RequestContext.getExeUserId());
changeRegistrationUnitDto.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
changeRegistrationUnitDto.setNextExecutorIds(finalNextExecutorRoleIds);
changeRegistrationUnitDto.setInstanceStatus(String.join(",", roleListFirst));
changeRegistrationUnitDto.setPromoter(reginParams.getUserModel().getUserId());
changeRegistrationUnitDto.setStatus(taskName[0]);
}
if (!CollectionUtils.isEmpty(nextExecutorUserIds)) {
changeRegistrationUnitDto.setNextExecuteUserIds(nextExecutorUserIds.get(0));
}
if (!CollectionUtils.isEmpty(instanceIdList)) {
changeRegistrationUnitDto.setInstanceId(instanceIdList.get(0));
changeRegistrationUnitDto.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
} else {
changeRegistrationUnitDto.setStatus(WorkFlowStatusEnum.UNITCHANGE_SUBMIT.getPass());
}
if (!CollectionUtils.isEmpty(taskIds)) {
changeRegistrationUnitDto.setNextTaskId(taskIds.get(0));
}
changeRegistrationUnitDto.setSequenceNbr(sequence.nextId());
changeRegistrationUnitDto.setCreateDate(new Date());
changeRegistrationUnitDto.setCreateUserName(reginParams.getUserModel().getRealName());
changeRegistrationUnitDto.setUseRegistCode(changeRegistrationUnitDto.getUseRegistCode());
Optional.of(deviceList)
.filter(list -> !list.isEmpty())
.map(list -> list.get(0).get("equListName"))
.map(Object::toString)
.ifPresent(changeRegistrationUnitDto::setEquList);
JgChangeRegistrationUnit registrationUnit = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(changeRegistrationUnitDto, registrationUnit);
setNewUnitInfo(reginParams, registrationUnit);
JgChangeRegistrationUnitMapper.insert(registrationUnit);
List<TaskModelDto> modelDtos = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto();
TaskMessageDto ta = new TaskMessageDto();
ta.setInstanceId(registrationUnit.getInstanceId());
ta.setStatus(registrationUnit.getStatus());
ta.setPromoter(registrationUnit.getPromoter());
ta.setNextExecuteUserIds(registrationUnit.getNextExecuteUserIds());
ta.setSequenceNbr(registrationUnit.getSequenceNbr());
ta.setNextTaskId(registrationUnit.getNextTaskId());
taskModelDto.setModel(ta);
taskModelDto.setFlowCreateDate(new Date());
taskModelDto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
taskModelDto.setFlowCode(registrationUnit.getNextTaskId());
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
taskModelDto.setRelationId(registrationUnit.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel("未处理");
taskModelDto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
taskModelDto.setFlowStatusLabel(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
taskModelDto.setStartUserId(RequestContext.getExeUserId());
taskModelDto.setStartUser(workflowResultDtos.get(0).getStartUserName());
taskModelDto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
taskModelDto.setStartDate(new Date());
taskModelDto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
modelDtos.add(taskModelDto);
} else {
TaskModelDto taskModelDto = new TaskModelDto();
//行数据
taskModelDto.setModel(registrationUnit);
//摘要 按原有规则组装
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
//申请单号
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
//业务类型枚举code值
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
////业务主键
taskModelDto.setRelationId(registrationUnit.getSequenceNbr() + "");
modelDtos.add(taskModelDto);
// }
}
commonServiceImpl.saveExecuteFlowData2Redis(registrationUnit.getInstanceId(), buildInstanceRuntimeData(registrationUnit));
commonServiceImpl.buildTaskModel(modelDtos);
List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
unitEq.setRegistrationCertificate(changeRegistrationUnitDto.getUseRegistrationCertificate());
unitEq.setEquId(Objects.toString(device.get(RECORD)));
unitEq.setUnitChangeRegistrationId(registrationUnit.getSequenceNbr().toString());//单位变更业务主键
unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json
jgRelationEquipList.add(unitEq);
});
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记");
jgRegistrationHistory.setCurrentDocumentId(registrationUnit.getApplyNo());
//使用登记证历史数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(deviceList));
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registrationUnit.getSequenceNbr()));
registrationUnitEqService.saveBatch(jgRelationEquipList);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, registrationUnit.getApplyNo()));
registrationHistoryService.save(jgRegistrationHistory);
return changeRegistrationUnitDto;
}
/**
* 更新装置的单位变更 * 更新装置的单位变更
* *
* @param submitType * @param submitType
...@@ -547,11 +731,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -547,11 +731,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY) deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(jsonObject.get("record")), .equipRepeatUsedCheck(String.valueOf(jsonObject.get("record")),
CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ? CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ? company.getCompanyCode().split("_")[1] : company.getCompanyCode()));
company.getCompanyCode().split("_")[
1
] :
company.getCompanyCode()));
} }
ArrayList<String> roleListAll = new ArrayList<>(); ArrayList<String> roleListAll = new ArrayList<>();
ArrayList<String> roleListNext = new ArrayList<>(); ArrayList<String> roleListNext = new ArrayList<>();
...@@ -822,194 +1002,196 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -822,194 +1002,196 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
String[] taskName = new String[]{"流程结束"}; String[] taskName = new String[]{"流程结束"};
// 字段转换 // 字段转换
convertField(model); convertField(model);
// 获取单位变更使用登记证列表 if (CylinderTypeEnum.CYLINDER.getCode().equals(model.getEquCategoryCode())) {
List<Map<String, Object>> registrationList = model.getRegistrationList(); return Collections.singletonList(this.dealCylinderToUpdate(submitType, model, "", reginParams));
if (CollectionUtils.isEmpty(registrationList)) { } else{
throw new BadRequest("使用登记证不能为空"); // 获取单位变更使用登记证列表
} List<Map<String, Object>> registrationList = model.getRegistrationList();
//根据使用登记证查询设备 if (CollectionUtils.isEmpty(registrationList)) {
List<Long> registrationIdList = new ArrayList<>();//使用登记证id throw new BadRequest("使用登记证不能为空");
List<String> registrationNoList = new ArrayList<>();//使用登记证编号
for (Map<String, Object> objectMap : registrationList) {
if (objectMap.containsKey("sequenceNbr") && ObjectUtils.isNotEmpty(objectMap.get("sequenceNbr"))
&& canConvertToLong(objectMap.get("sequenceNbr").toString())) {
registrationIdList.add(Long.parseLong(objectMap.get("sequenceNbr").toString()));
} }
if (objectMap.containsKey("useRegistrationCode") && ObjectUtils.isNotEmpty(objectMap.get("useRegistrationCode"))) { //根据使用登记证查询设备
registrationNoList.add(objectMap.get("useRegistrationCode").toString()); List<Long> registrationIdList = new ArrayList<>();//使用登记证id
List<String> registrationNoList = new ArrayList<>();//使用登记证编号
for (Map<String, Object> objectMap : registrationList) {
if (objectMap.containsKey("sequenceNbr") && ObjectUtils.isNotEmpty(objectMap.get("sequenceNbr"))
&& canConvertToLong(objectMap.get("sequenceNbr").toString())) {
registrationIdList.add(Long.parseLong(objectMap.get("sequenceNbr").toString()));
}
if (objectMap.containsKey("useRegistrationCode") && ObjectUtils.isNotEmpty(objectMap.get("useRegistrationCode"))) {
registrationNoList.add(objectMap.get("useRegistrationCode").toString());
}
}
if (CollectionUtils.isEmpty(registrationIdList)) {
throw new BadRequest("使用登记证不能为空");
}
List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList);
// 获取单位变更设备列表
if (CollectionUtils.isEmpty(deviceList)) {
throw new BadRequest("使用登记证下无设备");
}
//场车区分区外还是区内
if (EQU_CODE_CC.equals(model.getEquListCode())) {
String city = Objects.toString(tableData.get("city"), "");
String userCity = Optional.ofNullable(city).map(c -> c.split("_")[0]).orElseThrow(() -> new BadRequest("请选择地市后暂存!"));
this.validateDeviceCity(deviceList, userCity, "0".equals(model.getChangeType()));
this.setEquAddress(model);
} }
}
if (CollectionUtils.isEmpty(registrationIdList)) {
throw new BadRequest("使用登记证不能为空");
}
List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList);
// 获取单位变更设备列表
if (CollectionUtils.isEmpty(deviceList)) {
throw new BadRequest("使用登记证下无设备");
}
//场车区分区外还是区内
if (EQU_CODE_CC.equals(model.getEquListCode())) {
String city = Objects.toString(tableData.get("city"), "");
String userCity = Optional.ofNullable(city).map(c -> c.split("_")[0]).orElseThrow(() -> new BadRequest("请选择地市后暂存!"));
this.validateDeviceCity(deviceList, userCity, "0".equals(model.getChangeType()));
this.setEquAddress(model);
}
// 获取单位变更单号 // 获取单位变更单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.DWBG.getCode(), 1); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.DWBG.getCode(), 1);
List<String> applyNoList = listResponseModel.getResult(); List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) { if (CollectionUtils.isEmpty(applyNoList)) {
log.error("生成申请变更单位编码失败"); log.error("生成申请变更单位编码失败");
return new ArrayList<>(); return new ArrayList<>();
} }
if (SUBMIT_TYPE_FLOW.equals(submitType)) {//放在最后面防止前面有异常 if (SUBMIT_TYPE_FLOW.equals(submitType)) {//放在最后面防止前面有异常
//如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中 //如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY) deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(jsonObject.get("SEQUENCE_NBR")), .equipRepeatUsedCheck(String.valueOf(jsonObject.get("SEQUENCE_NBR")),
CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ? CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyCode().split("_")[1] : company.getCompanyCode().split("_")[1] :
company.getCompanyCode())); company.getCompanyCode()));
} }
ArrayList<String> roleListFirst = new ArrayList<>(); ArrayList<String> roleListFirst = new ArrayList<>();
List<String> instanceIdList = new ArrayList<>(); List<String> instanceIdList = new ArrayList<>();
List<String> nextExecutorUserIds = new ArrayList<>(); List<String> nextExecutorUserIds = new ArrayList<>();
List<String> taskIds = new ArrayList<>(); List<String> taskIds = new ArrayList<>();
List<WorkflowResultDto> workflowResultDtos = new ArrayList<>(); List<WorkflowResultDto> workflowResultDtos = new ArrayList<>();
String nextExecutorRoleIds = ""; String nextExecutorRoleIds = "";
// 判断当前是否为提交 // 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
//发起流程 //发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>(); List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY); dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(String.valueOf(new Date().getTime())); dto.setBusinessKey(String.valueOf(new Date().getTime()));
dto.setNextExecuteUserCompanyCode(model.getReceiveCompanyCode()); dto.setNextExecuteUserCompanyCode(model.getReceiveCompanyCode());
dto.setCompleteFirstTask(true); dto.setCompleteFirstTask(true);
list.add(dto); list.add(dto);
actWorkflowBatchDTO.setProcess(list); actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO); List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS); workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
nextExecutorRoleIds = workflowResultDtos.get(0).getNextExecutorRoleIds(); nextExecutorRoleIds = workflowResultDtos.get(0).getNextExecutorRoleIds();
nextExecutorUserIds.add(workflowResultDtos.get(0).getNextExecutorUserIds()); nextExecutorUserIds.add(workflowResultDtos.get(0).getNextExecutorUserIds());
for (WorkflowResultDto processTaskDTO : workflowResultDtos) { for (WorkflowResultDto processTaskDTO : workflowResultDtos) {
instanceIdList.add(processTaskDTO.getInstanceId()); instanceIdList.add(processTaskDTO.getInstanceId());
taskIds.add(processTaskDTO.getNextTaskId()); taskIds.add(processTaskDTO.getNextTaskId());
}
} }
}
String finalNextExecutorRoleIds = nextExecutorRoleIds; String finalNextExecutorRoleIds = nextExecutorRoleIds;
CompanyBo companyBo = commonServiceImpl.getOneCompany(model.getReceiveCompanyCode()); CompanyBo companyBo = commonServiceImpl.getOneCompany(model.getReceiveCompanyCode());
model.setApplyNo(applyNoList.get(0)); model.setApplyNo(applyNoList.get(0));
model.setReceiveCompanyOrgCode(companyBo.getOrgCode()); model.setReceiveCompanyOrgCode(companyBo.getOrgCode());
model.setCreateUserId(RequestContext.getExeUserId()); model.setCreateUserId(RequestContext.getExeUserId());
model.setApplyDate(new Date()); model.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
model.setNextExecutorIds(finalNextExecutorRoleIds); model.setNextExecutorIds(finalNextExecutorRoleIds);
model.setInstanceStatus(String.join(",", roleListFirst)); model.setInstanceStatus(String.join(",", roleListFirst));
model.setPromoter(reginParams.getUserModel().getUserId()); model.setPromoter(reginParams.getUserModel().getUserId());
model.setStatus(taskName[0]); model.setStatus(taskName[0]);
}
if (!CollectionUtils.isEmpty(nextExecutorUserIds)) {
model.setNextExecuteUserIds(nextExecutorUserIds.get(0));
}
if (!CollectionUtils.isEmpty(instanceIdList)) {
model.setInstanceId(instanceIdList.get(0));
model.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
} else {
model.setStatus(WorkFlowStatusEnum.UNITCHANGE_SUBMIT.getPass());
}
if (!CollectionUtils.isEmpty(taskIds)) {
model.setNextTaskId(taskIds.get(0));
}
model.setSequenceNbr(sequence.nextId());
model.setCreateDate(new Date());
model.setCreateUserName(reginParams.getUserModel().getRealName());
model.setUseRegistCode(String.join(",", registrationNoList));
model.setEquList(registrationList.get(0).get("equList").toString());
JgChangeRegistrationUnit registrationUnit = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(model, registrationUnit);
setNewUnitInfo(reginParams, registrationUnit);
JgChangeRegistrationUnitMapper.insert(registrationUnit);
List<TaskModelDto> modelDtos = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto();
TaskMessageDto ta = new TaskMessageDto();
ta.setInstanceId(registrationUnit.getInstanceId());
ta.setStatus(registrationUnit.getStatus());
ta.setPromoter(registrationUnit.getPromoter());
ta.setNextExecuteUserIds(registrationUnit.getNextExecuteUserIds());
ta.setSequenceNbr(registrationUnit.getSequenceNbr());
ta.setNextTaskId(registrationUnit.getNextTaskId());
taskModelDto.setModel(ta);
taskModelDto.setFlowCreateDate(new Date());
taskModelDto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
taskModelDto.setFlowCode(registrationUnit.getNextTaskId());
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
taskModelDto.setRelationId(registrationUnit.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel("未处理");
taskModelDto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
taskModelDto.setFlowStatusLabel(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
taskModelDto.setStartUserId(RequestContext.getExeUserId());
taskModelDto.setStartUser(workflowResultDtos.get(0).getStartUserName());
taskModelDto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
taskModelDto.setStartDate(new Date());
taskModelDto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
modelDtos.add(taskModelDto);
} else {
TaskModelDto taskModelDto = new TaskModelDto();
//行数据
taskModelDto.setModel(registrationUnit);
//摘要 按原有规则组装
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
//申请单号
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
//业务类型枚举code值
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
////业务主键
taskModelDto.setRelationId(registrationUnit.getSequenceNbr() + "");
modelDtos.add(taskModelDto);
// }
}
commonServiceImpl.saveExecuteFlowData2Redis(registrationUnit.getInstanceId(), buildInstanceRuntimeData(registrationUnit));
commonServiceImpl.buildTaskModel(modelDtos);
List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
if (device.containsKey("USE_ORG_CODE")) {
unitEq.setRegistrationCertificate(device.getString("USE_ORG_CODE"));//使用登记证主键
} }
if (device.containsKey("SEQUENCE_NBR")) { if (!CollectionUtils.isEmpty(nextExecutorUserIds)) {
unitEq.setEquId(device.getString("SEQUENCE_NBR"));//设备主键 model.setNextExecuteUserIds(nextExecutorUserIds.get(0));
} }
unitEq.setUnitChangeRegistrationId(registrationUnit.getSequenceNbr().toString());//单位变更业务主键 if (!CollectionUtils.isEmpty(instanceIdList)) {
unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json model.setInstanceId(instanceIdList.get(0));
jgRelationEquipList.add(unitEq); model.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
}); } else {
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory(); model.setStatus(WorkFlowStatusEnum.UNITCHANGE_SUBMIT.getPass());
//登记类别 }
jgRegistrationHistory.setRegistrationClass("单位变更登记"); if (!CollectionUtils.isEmpty(taskIds)) {
jgRegistrationHistory.setCurrentDocumentId(registrationUnit.getApplyNo()); model.setNextTaskId(taskIds.get(0));
//使用登记证历史数据 }
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(registrationList)); model.setSequenceNbr(sequence.nextId());
//先删除之前设备关系数据,在插入最新设备关系数据 model.setCreateDate(new Date());
registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>() model.setCreateUserName(reginParams.getUserModel().getRealName());
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registrationUnit.getSequenceNbr())); model.setUseRegistCode(String.join(",", registrationNoList));
registrationUnitEqService.saveBatch(jgRelationEquipList); model.setEquList(registrationList.get(0).get("equList").toString());
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息 JgChangeRegistrationUnit registrationUnit = new JgChangeRegistrationUnit();
registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>() BeanUtils.copyProperties(model, registrationUnit);
.eq(JgRegistrationHistory::getCurrentDocumentId, registrationUnit.getApplyNo())); setNewUnitInfo(reginParams, registrationUnit);
registrationHistoryService.save(jgRegistrationHistory); JgChangeRegistrationUnitMapper.insert(registrationUnit);
return Collections.singletonList(model);
List<TaskModelDto> modelDtos = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto();
TaskMessageDto ta = new TaskMessageDto();
ta.setInstanceId(registrationUnit.getInstanceId());
ta.setStatus(registrationUnit.getStatus());
ta.setPromoter(registrationUnit.getPromoter());
ta.setNextExecuteUserIds(registrationUnit.getNextExecuteUserIds());
ta.setSequenceNbr(registrationUnit.getSequenceNbr());
ta.setNextTaskId(registrationUnit.getNextTaskId());
taskModelDto.setModel(ta);
taskModelDto.setFlowCreateDate(new Date());
taskModelDto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
taskModelDto.setFlowCode(registrationUnit.getNextTaskId());
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
taskModelDto.setRelationId(registrationUnit.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel("未处理");
taskModelDto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
taskModelDto.setFlowStatusLabel(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
taskModelDto.setStartUserId(RequestContext.getExeUserId());
taskModelDto.setStartUser(workflowResultDtos.get(0).getStartUserName());
taskModelDto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
taskModelDto.setStartDate(new Date());
taskModelDto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
modelDtos.add(taskModelDto);
} else {
TaskModelDto taskModelDto = new TaskModelDto();
//行数据
taskModelDto.setModel(registrationUnit);
//摘要 按原有规则组装
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
//申请单号
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
//业务类型枚举code值
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
////业务主键
taskModelDto.setRelationId(registrationUnit.getSequenceNbr() + "");
modelDtos.add(taskModelDto);
// }
}
commonServiceImpl.saveExecuteFlowData2Redis(registrationUnit.getInstanceId(), buildInstanceRuntimeData(registrationUnit));
commonServiceImpl.buildTaskModel(modelDtos);
List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
if (device.containsKey("USE_ORG_CODE")) {
unitEq.setRegistrationCertificate(device.getString("USE_ORG_CODE"));//使用登记证主键
}
if (device.containsKey("SEQUENCE_NBR")) {
unitEq.setEquId(device.getString("SEQUENCE_NBR"));//设备主键
}
unitEq.setUnitChangeRegistrationId(registrationUnit.getSequenceNbr().toString());//单位变更业务主键
unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json
jgRelationEquipList.add(unitEq);
});
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记");
jgRegistrationHistory.setCurrentDocumentId(registrationUnit.getApplyNo());
//使用登记证历史数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(deviceList));
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registrationUnit.getSequenceNbr()));
registrationUnitEqService.saveBatch(jgRelationEquipList);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, registrationUnit.getApplyNo()));
registrationHistoryService.save(jgRegistrationHistory);
return Collections.singletonList(model);
}
} catch (BadRequest | LocalBadRequest e) { } catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
this.rollBackForDelRedisData(); this.rollBackForDelRedisData();
...@@ -1322,6 +1504,10 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1322,6 +1504,10 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
//如果是工业管道 如果工程装置对应一个证就直接变更给新单位;如果工程装置对应证下还有其他装置就变更后直接给新单位再重新生成一个登记证号;如果两个工程装置对应同一个使用登记证变更后生成两个新的登记证 //如果是工业管道 如果工程装置对应一个证就直接变更给新单位;如果工程装置对应证下还有其他装置就变更后直接给新单位再重新生成一个登记证号;如果两个工程装置对应同一个使用登记证变更后生成两个新的登记证
if (PipelineEnum.PRESSURE_PIPELINE.getCode().equals(dto.getEquListCode())) { if (PipelineEnum.PRESSURE_PIPELINE.getCode().equals(dto.getEquListCode())) {
this.dealProjectContraption(dto, nextTaskId, registration, op); this.dealProjectContraption(dto, nextTaskId, registration, op);
}
//气瓶单位变更,如果新单位没有证,则生成新的使用登记证,如果新单位有证且是系统生成的证,则选择增补到已有的证下面同时,更新设备其他信息
else if(CylinderTypeEnum.CYLINDER.getCode().equals(dto.getEquCategoryCode())) {
this.dealCylinderAuditPassData(dto, nextTaskId, registration, op);
} else { } else {
// 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES // 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
...@@ -1548,6 +1734,159 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1548,6 +1734,159 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
} }
/**
* 处理气瓶单位变更三级审核完成后数据
* @param dto 变更数据
* @param nextTaskId taskId
* @param registration 单位变更主表数据
* @param op 通过
*/
private void dealCylinderAuditPassData(JgChangeRegistrationUnitDto dto, String nextTaskId, JgChangeRegistrationUnit registration, String op) {
List<Map<String, Object>> deviceList = dto.getDeviceList();
if (CollUtil.isEmpty(deviceList)) {
throw new BadRequest("设备列表不能为空!");
}
registration.setNextTaskId(nextTaskId);
TaskV2Model taskV2Model = updateTaskModel(registration, op);
AtomicReference<Boolean> flag = new AtomicReference<>(Boolean.FALSE);
String useRegistrationCode = null;
JgUseRegistrationManageDto manageDto = new JgUseRegistrationManageDto();
manageDto.setCertificateStatus(CertificateStatusEnum.YIDENGJI.getName());
manageDto.setUseUnitCreditCode(dto.getNewUseUnitCreditCode());
manageDto.setRegType("0");
useRegistrationCode = Optional.ofNullable(jgUseRegistrationManageMapper.queryByUseUnitCreditCode(manageDto))
.filter(list -> !list.isEmpty())
.flatMap(list -> list.stream()
.map(JgUseRegistrationManageDto::getUseRegistrationCode)
.filter(code -> code.startsWith("瓶30"))
.findFirst())
.map(code -> {
flag.set(Boolean.TRUE);
return code;
}).orElse(commonServiceImpl.generateRegistrationCode(Objects.toString(deviceList.get(0).get(RECORD)), dto.getReceiveCompanyCode(), true));
List<String> equIds = new ArrayList<>();
Map<String, Map<String, Object>> resultMap = new HashMap<>();
for (Map<String, Object> map : deviceList) {
String equId = MapUtils.getString(map, "equId");
equIds.add(equId);
//更新产权单位信息
String estateUnitSeq = Objects.toString(map.get("estateUnitSeq"),"");
String safetyManager = Objects.toString(map.get("safetyManagerName"),"");
String phone = Objects.toString(map.get("phone"),"");
String useDate = Objects.toString(map.get("useDate"),"");
TzBaseEnterpriseInfo enterpriseInfo = (estateUnitSeq != null && !estateUnitSeq.isEmpty()) ?
tzBaseEnterpriseInfoMapper.selectById(estateUnitSeq) : null;
LambdaQueryWrapper<IdxBizJgUseInfo> useInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
useInfoLambdaQueryWrapper.eq(IdxBizJgUseInfo::getRecord, equId);
IdxBizJgUseInfo useInfo = useInfoMapper.selectOne(useInfoLambdaQueryWrapper);
//更新产权信息
if (enterpriseInfo != null) {
if (ObjectUtils.isNotEmpty(useInfo)) {
useInfoMapper.updateById(useInfo
.setEstateUnitCreditCode(enterpriseInfo.getUseUnitCode())
.setEstateUnitName(enterpriseInfo.getUseUnit())
.setPhone(phone)
.setUseUnitCreditCode(dto.getNewUseUnitCreditCode())
.setUseUnitName(dto.getNewUseUnitName())
.setSafetyManager(safetyManager)
.setProvince(dto.getProvince())
.setCity(dto.getCity())
.setCounty(dto.getCounty())
.setAddress(dto.getEquAddress())
.setFactoryUseSiteStreet(dto.getStreet())
.setUseDate(useDate));
}
}
//更新属地信息
IdxBizJgSupervisionInfo idxBizJgSupervisionInfo = new IdxBizJgSupervisionInfo();
if (map.containsKey("orgBranchCode") && !org.springframework.util.ObjectUtils.isEmpty(map.get("orgBranchCode"))) {
String[] data = String.valueOf(map.get("orgBranchCode")).split("_");
HashMap<String, Object> parentMessage = (HashMap<String, Object>) Privilege.companyClient.queryByOrgcode(data[0]).getResult();
CompanyModel parentModel = JSON.parseObject(JSON.toJSONString(parentMessage.get("compnay")), CompanyModel.class);
idxBizJgSupervisionInfo.setOrgBranchCode(data[0]);
idxBizJgSupervisionInfo.setOrgBranchName(data[1]);
idxBizJgSupervisionInfo.setCompanyOrgBranchCode(parentModel.getCompanyCode());
LambdaQueryWrapper<IdxBizJgSupervisionInfo> eq = new QueryWrapper<IdxBizJgSupervisionInfo>().lambda()
.eq(IdxBizJgSupervisionInfo::getRecord, map.get("equipId"));
idxBizJgSupervisionInfoMapper.update(idxBizJgSupervisionInfo, eq);
}
//更新注册信息
LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
lambda.eq(IdxBizJgRegisterInfo::getRecord, equId);
lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, useRegistrationCode);
idxBizJgRegisterInfoService.update(lambda);
Map<String, Object> esUpdateParams = new HashMap<>();
esUpdateParams.put("USE_UNIT_CREDIT_CODE", registration.getNewUseUnitCreditCode());
esUpdateParams.put("USE_UNIT_NAME", registration.getNewUseUnitName());
esUpdateParams.put("REC_DATE", new Date());
esUpdateParams.put("USE_PLACE", joinWithSeparator("/", useInfo.getProvinceName(), useInfo.getCityName(), useInfo.getCountyName(), useInfo.getStreetName()));
esUpdateParams.put("USE_PLACE_CODE", joinWithSeparator("#", useInfo.getProvince(), useInfo.getCity(), useInfo.getCounty(), useInfo.getFactoryUseSiteStreet()));
esUpdateParams.put("ORG_BRANCH_CODE", registration.getOrgBranchCode());
esUpdateParams.put("ORG_BRANCH_NAME", registration.getOrgBranchName());
esUpdateParams.put("USE_ORG_CODE", useRegistrationCode);
resultMap.put(equId, esUpdateParams);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
}
JgUseRegistrationManage registrationManage;
if (flag.get()){
//获取使用登记证
LambdaQueryWrapper<JgUseRegistrationManage> useRegistrationManageWrapper = new LambdaQueryWrapper<>();
useRegistrationManageWrapper.eq(JgUseRegistrationManage::getUseRegistrationCode, useRegistrationCode)
.isNotNull(JgUseRegistrationManage::getUseRegistrationCode)
.eq(JgUseRegistrationManage::getCertificateStatus, "已登记")
.eq(BaseEntity::getIsDelete, false);
registrationManage = useRegistrationManageService.getBaseMapper().selectOne(useRegistrationManageWrapper);
//修改使用登记证管理使用单位地址、使用单位代码、接收机构、接收机构公司代码、办理日期、使用单位地址
registrationManage.setUseUnitName(registration.getNewUseUnitName());
registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
registrationManage.setReceiveOrgName(registration.getReceiveOrgName());
registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode());
registrationManage.setAuditPassDate(registration.getAuditPassDate());
registrationManage.setVersion(registrationManage.getVersion() + 1);
registrationManage.setChangeReason(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
if (!ObjectUtils.isEmpty(registration.getNewUseUnitCreditCode())) {//回填新单位地址
TzBaseEnterpriseInfo useCodeResult = tzBaseEnterpriseInfoMapper.selectOne(new QueryWrapper<TzBaseEnterpriseInfo>().eq("use_unit_code", registration.getNewUseUnitCreditCode()));
if (useCodeResult != null) {
registrationManage.setUseUnitAddress(useCodeResult.getAddress());
}
}
registrationManage.setRecUserId(registration.getCreateUserId());
useRegistrationManageService.updateById(registrationManage);
}else{
registrationManage = new JgUseRegistrationManage();
registrationManage.setSequenceNbr(sequence.nextId());
registrationManage.setUseRegistrationCode(useRegistrationCode);
//修改使用登记证管理使用单位地址、使用单位代码、接收机构、接收机构公司代码、办理日期、使用单位地址
registrationManage.setUseUnitName(registration.getNewUseUnitName());
registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
registrationManage.setReceiveOrgName(registration.getReceiveOrgName());
registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode());
registrationManage.setAuditPassDate(registration.getAuditPassDate());
registrationManage.setVersion(1);
registrationManage.setChangeReason(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
if (!ObjectUtils.isEmpty(registration.getNewUseUnitCreditCode())) {
TzBaseEnterpriseInfo useCodeResult = tzBaseEnterpriseInfoMapper.selectOne(new QueryWrapper<TzBaseEnterpriseInfo>().eq("use_unit_code", registration.getNewUseUnitCreditCode()));
if (useCodeResult != null) {
registrationManage.setUseUnitAddress(useCodeResult.getAddress());
}
}
registrationManage.setRecUserId(registration.getCreateUserId());
useRegistrationManageService.save(registrationManage);
}
// 发送数据变更消息
this.sendDataRefreshMsg(registration);
//新增使用登记证和设备变更记录
this.saveRecord(registration);
//创建设备履历
this.createResume(equIds, registration, taskV2Model.getRoutePath());
JgChangeRegistrationUnitMapper.updateById(registration);
// redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(dto.getInstanceId(), this.buildInstanceRuntimeData(registration));
this.delRepeatUseEquipData(registration.getApplyNo(), registration.getStatus(), registration.getNewUseUnitCreditCode());
}
private void updateUseInfoAddress(IdxBizJgUseInfo useInfo, JgChangeRegistrationUnit registration) { private void updateUseInfoAddress(IdxBizJgUseInfo useInfo, JgChangeRegistrationUnit registration) {
useInfo.setProvince(registration.getProvince()); useInfo.setProvince(registration.getProvince());
useInfo.setCity(registration.getCity()); useInfo.setCity(registration.getCity());
......
...@@ -118,45 +118,58 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -118,45 +118,58 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
* 分页查询 * 分页查询
*/ */
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, String sort, JgMaintenanceContractDto dto, ReginParams reginParams, String client) { public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, String sort, JgMaintenanceContractDto dto, ReginParams reginParams, String client) {
if (ObjectUtils.isEmpty(dto)) { try {
dto = new JgMaintenanceContractDto(); if (ObjectUtils.isEmpty(dto)) {
} dto = new JgMaintenanceContractDto();
Page<JgMaintenanceContractDto> contractList;
Page<JgMaintenanceContractVo> result = new Page<>();
CompanyBo company = reginParams.getCompany();
SortVo sortMap = commonService.sortFieldConversion(sort);
Map<String, Object> companyTypeMap = jrmInstallationNoticeService.getCompanyType();
String companyLevel = "";
String companyType = "";
if (companyTypeMap.containsKey("companyLevel")) {
companyLevel = companyTypeMap.get("companyLevel").toString();
}
if (companyTypeMap.containsKey("companyType")) {
companyType = companyTypeMap.get("companyType").toString();
}
if ("supervision".equals(companyLevel)) {
// 监管单位查询
if (client.equals("jgLook")) {
dto.setOrgBranchCode(company.getOrgCode());
} else { // 接收机构查询
dto.setReceiveOrgCodeFilter(company.getCompanyCode());
} }
} else if ("company".equals(companyLevel)) { Page<JgMaintenanceContractDto> contractList;
if (companyType.contains(CompanyTypeEnum.USE.getCode()) || companyType.contains(CompanyTypeEnum.INDIVIDUAL.getCode())) { Page<JgMaintenanceContractVo> result = new Page<>();
// 使用单位用"使用单位统一信用代码"匹配数据 CompanyBo company = reginParams.getCompany();
dto.setUseUnitCodeFilter(company.getCompanyCode()); SortVo sortMap = commonService.sortFieldConversion(sort);
dto.setRoleIds(null); Map<String, Object> companyTypeMap = jrmInstallationNoticeService.getCompanyType();
String companyLevel = "";
String companyType = "";
if (companyTypeMap.containsKey("companyLevel")) {
companyLevel = companyTypeMap.get("companyLevel").toString();
}
if (companyTypeMap.containsKey("companyType")) {
companyType = companyTypeMap.get("companyType").toString();
}
if ("supervision".equals(companyLevel)) {
// 监管单位查询
if (client.equals("jgLook")) {
dto.setOrgBranchCode(company.getOrgCode());
} else { // 接收机构查询
dto.setReceiveOrgCodeFilter(company.getCompanyCode());
}
} else if ("company".equals(companyLevel)) {
if (companyType.contains(CompanyTypeEnum.USE.getCode()) || companyType.contains(CompanyTypeEnum.INDIVIDUAL.getCode())) {
// 使用单位用"使用单位统一信用代码"匹配数据
dto.setUseUnitCodeFilter(company.getCompanyCode());
dto.setRoleIds(null);
}
if (companyType.contains(CompanyTypeEnum.CONSTRUCTION.getCode())) {
// 维保单位用"维保单位统一信用代码"匹配数据
dto.setMaintenanceUnitCodeFilter(company.getCompanyCode());
}
} }
if (companyType.contains(CompanyTypeEnum.CONSTRUCTION.getCode())) { contractList = maintenanceContractMapper.getContractList(page, sortMap, dto, reginParams.getUserModel().getUserId(), client);
// 维保单位用"维保单位统一信用代码"匹配数据 List<JgMaintenanceContractDto> records = contractList.getRecords().stream().peek(x -> x.setUnitType(company.getCompanyType())).collect(Collectors.toList());
dto.setMaintenanceUnitCodeFilter(company.getCompanyCode()); contractList.setRecords(records);
BeanUtils.copyProperties(contractList, result);
return result;
} catch (Exception ex) {
String msg = ex.getMessage() == null ? "" : ex.getMessage();
if (msg.contains("eyibc decrypt error")
|| msg.contains("EYIBCException")
|| msg.contains("olym jdbc error")
|| msg.contains("数据非法")
|| msg.contains("Code: 100023:sql parse error")
|| msg.contains("decrypt error, code: -65")) {
throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。");
} }
throw new BadRequest("系统内部错误,请联系管理员。");
} }
contractList = maintenanceContractMapper.getContractList(page, sortMap, dto, reginParams.getUserModel().getUserId(), client);
List<JgMaintenanceContractDto> records = contractList.getRecords().stream().peek(x -> x.setUnitType(company.getCompanyType())).collect(Collectors.toList());
contractList.setRecords(records);
BeanUtils.copyProperties(contractList, result);
return result;
} }
/** /**
......
...@@ -330,7 +330,7 @@ public class SafetyProblemTracingServiceImpl extends BaseService<SafetyProblemTr ...@@ -330,7 +330,7 @@ public class SafetyProblemTracingServiceImpl extends BaseService<SafetyProblemTr
log.error("Other表更新失败,设备record:{},错误原因:{}", records, e.getMessage(), e); log.error("Other表更新失败,设备record:{},错误原因:{}", records, e.getMessage(), e);
} }
// 更新ES状态 // 更新ES状态(添加异常处理)
try { try {
Iterable<ESEquipmentCategoryDto> esEquipmentIter = esEquipmentCategory.findAllById(records); Iterable<ESEquipmentCategoryDto> esEquipmentIter = esEquipmentCategory.findAllById(records);
esEquipmentIter.forEach(dto -> esEquipmentIter.forEach(dto ->
......
...@@ -322,7 +322,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -322,7 +322,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
// 组装人员过滤条件 // 组装人员过滤条件
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
personOrgCodeBoolMust(orgCode, boolMust); personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.person.getCode());
this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType); this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType);
if ("custom".equals(filterType)) { if ("custom".equals(filterType)) {
JSONArray leftGroup = filterParams.getJSONArray("group1"); JSONArray leftGroup = filterParams.getJSONArray("group1");
...@@ -403,15 +403,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -403,15 +403,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
private void personOrgCodeBoolMust(String orgCode, BoolQueryBuilder boolMust) { private void personOrgCodeBoolMust(String orgCode, BoolQueryBuilder boolMust, String type) {
String superviseOrgCodeKey = type.equals(StatisticalAnalysisEnum.person.getCode()) ? "superviseOrgCode" : "superviseOrgCode.keyword";
String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode); String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode);
BoolQueryBuilder queryBuilder1 = QueryBuilders.boolQuery(); BoolQueryBuilder queryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder queryBuilder2 = QueryBuilders.boolQuery(); BoolQueryBuilder queryBuilder2 = QueryBuilders.boolQuery();
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
queryBuilder1.must(QueryBuilders.termQuery("superviseOrgCode", "50")) queryBuilder1.must(QueryBuilders.termQuery(superviseOrgCodeKey, "50"))
.must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*")); .must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*"));
queryBuilder2.mustNot(QueryBuilders.termQuery("superviseOrgCode", "50")) queryBuilder2.mustNot(QueryBuilders.termQuery(superviseOrgCodeKey, "50"))
.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode)); .must(QueryBuilders.prefixQuery(superviseOrgCodeKey, orgCode));
enhancedDynamicQueryBuilder.add(queryBuilder1, or); enhancedDynamicQueryBuilder.add(queryBuilder1, or);
enhancedDynamicQueryBuilder.add(queryBuilder2, or); enhancedDynamicQueryBuilder.add(queryBuilder2, or);
boolMust.must(enhancedDynamicQueryBuilder.build()); boolMust.must(enhancedDynamicQueryBuilder.build());
...@@ -497,14 +498,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -497,14 +498,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(licencesQueryBuilder.build()); boolMust.must(licencesQueryBuilder.build());
} else if (k.equals("issueDate")) { } else if (k.equals("issueDate")) {
JSONArray issueDates = (JSONArray) v; JSONArray issueDates = (JSONArray) v;
String startDate = DateUtils.convertDateToString(issueDates.getDate(0), DateUtils.DATE_PATTERN); Date startDate = issueDates.getDate(0);
String endDate = DateUtils.convertDateToString(issueDates.getDate(1), DateUtils.DATE_PATTERN); Date endDate = issueDates.getDate(1);
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( if (!"".equals(startDate) && !"".equals(endDate) && !ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)) {
"licenses", String startDateString = DateUtils.convertDateToString(startDate, DateUtils.DATE_PATTERN);
QueryBuilders.rangeQuery("licenses." + k).gte(startDate).lte(endDate), String endDateString = DateUtils.convertDateToString(endDate, DateUtils.DATE_PATTERN);
ScoreMode.None NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
); "licenses",
boolMust.filter(nestedQuery); QueryBuilders.rangeQuery("licenses." + k).gte(startDateString).lte(endDateString),
ScoreMode.None
);
boolMust.filter(nestedQuery);
}
} }
} }
} else if (v instanceof String) { } else if (v instanceof String) {
...@@ -570,7 +575,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -570,7 +575,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.company.getCode());
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType"); String filterType = filter.getString("filterType");
...@@ -1152,7 +1157,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1152,7 +1157,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONArray dates = (JSONArray) v; JSONArray dates = (JSONArray) v;
String startDate = dates.getString(0); String startDate = dates.getString(0);
String endDate = dates.getString(1); String endDate = dates.getString(1);
if (!"".equals(startDate) && !"".equals(endDate)) { if (!"".equals(startDate) && !"".equals(endDate) && !ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)) {
boolMust.filter(QueryBuilders.rangeQuery(field).gte(startDate).lte(endDate)); boolMust.filter(QueryBuilders.rangeQuery(field).gte(startDate).lte(endDate));
} }
} else if (k.equals("EQU_LIST") || k.equals("EQU_CATEGORY") || k.equals("EQU_DEFINE") || k.equals("DATA_QUALITY_SCORE")) { } else if (k.equals("EQU_LIST") || k.equals("EQU_CATEGORY") || k.equals("EQU_DEFINE") || k.equals("DATA_QUALITY_SCORE")) {
...@@ -3142,16 +3147,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3142,16 +3147,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode());
data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.person.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.person.getCode().equals(businessType)) {
personOrgCodeBoolMust(orgCode, boolMust); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode());
data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.inspectionCompany.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.inspectionCompany.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode());
data = queryDpInspectionCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpInspectionCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else { } else {
personOrgCodeBoolMust(orgCode, boolMust); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode());
data = queryDpInspectionPersonStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpInspectionPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
} }
...@@ -3256,7 +3261,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3256,7 +3261,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
companyBoolMust.must(companyUnitTypeBoolMust); companyBoolMust.must(companyUnitTypeBoolMust);
BoolQueryBuilder personBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder personBoolMust = QueryBuilders.boolQuery();
personOrgCodeBoolMust(orgCode, personBoolMust); personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode());
personBoolMust.must(companyUnitTypeBoolMust); personBoolMust.must(companyUnitTypeBoolMust);
BoolQueryBuilder inspectionCompanyBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder inspectionCompanyBoolMust = QueryBuilders.boolQuery();
...@@ -3266,7 +3271,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3266,7 +3271,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder inspectionPersonBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder inspectionPersonBoolMust = QueryBuilders.boolQuery();
personOrgCodeBoolMust(orgCode, inspectionPersonBoolMust); personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode());
inspectionPersonBoolMust.must(inspectionUnitTypeBoolMust); inspectionPersonBoolMust.must(inspectionUnitTypeBoolMust);
inspectionPersonBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*")); inspectionPersonBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*"));
...@@ -4034,7 +4039,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -4034,7 +4039,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = "advanced"; String filterType = "advanced";
// 组装人员过滤条件 // 组装人员过滤条件
personOrgCodeBoolMust(orgCode, boolQuery); personOrgCodeBoolMust(orgCode, boolQuery, StatisticalAnalysisEnum.person.getCode());
this.getPersonBoolQueryBuilder(filterParams, boolQuery, filterType); this.getPersonBoolQueryBuilder(filterParams, boolQuery, filterType);
// 查询 // 查询
JSONObject expiryDateStatus = this.getExpiryDateStatusGroupStatistics(boolQuery); JSONObject expiryDateStatus = this.getExpiryDateStatusGroupStatistics(boolQuery);
......
...@@ -232,12 +232,18 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -232,12 +232,18 @@ public class TzBaseEnterpriseInfoServiceImpl
// } // }
// } // }
SortVo sortMap = userInfoService.sortFieldConversion(sort); SortVo sortMap = userInfoService.sortFieldConversion(sort);
// 密评专用(查tz_flc_reg_unit_info表中的admin_login_pwd字段,以用于验证密评数据完整性)
List<RegUnitInfo> regUnitInfoList = regUnitInfoService.lambdaQuery().select(RegUnitInfo::getUnitCode, RegUnitInfo::getAdminLoginPwd)
.eq(RegUnitInfo::getName, tzBaseEnterpriseInfoDto.getUseUnit()).list();
regUnitInfoList.forEach(info -> System.out.println("unitCode=" + info.getUnitCode() + ", adminLoginPwd=" + info.getAdminLoginPwd()));
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCode, sortMap, officeRegion); return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCode, sortMap, officeRegion);
} catch (Exception ex) { } catch (Exception ex) {
String msg = ex.getMessage() == null ? "" : ex.getMessage(); String msg = ex.getMessage() == null ? "" : ex.getMessage();
if (msg.contains("eyibc decrypt error") if (msg.contains("eyibc decrypt error")
|| msg.contains("EYIBCException") || msg.contains("EYIBCException")
|| msg.contains("olym jdbc error") || msg.contains("olym jdbc error")
|| msg.contains("100022:")
|| msg.contains("数据非法") || msg.contains("数据非法")
|| msg.contains("decrypt error, code: -65")) { || msg.contains("decrypt error, code: -65")) {
throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。"); throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment