Commit 9a4e3a47 authored by 麻笑宇's avatar 麻笑宇

Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register

parents c45293e1 71e5e5d7
package com.yeejoin.amos.boot.biz.common.utils;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.springframework.stereotype.Component;
@Component
public class SnowflakeIdUtil {
public Long nextId() {
return IdWorker.getId();
}
}
......@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.biz.config;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -25,11 +24,6 @@ public class MyBatisPlusConfig {
return globalConfig;
}
@Bean
public Sequence sequence() {
return new Sequence();
}
/**
* pageHelper插件支持
*
......
......@@ -317,7 +317,6 @@ public class RescueStationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/import")
@ApiOperation(httpMethod = "POST", value = "救援站列表数据导入", notes = "救援站列表数据导入")
@CrossOrigin("*")
public ResponseModel<Object> expertDataImport(@RequestBody MultipartFile file) {
// 校验文件是否为空
if (file.isEmpty()) {
......
......@@ -31,7 +31,7 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
......@@ -66,7 +66,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
DutyPersonShiftServiceImpl dutyPersonShiftService;
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
@Autowired
HttpServletRequest request;
......
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto;
......@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInstanceDto, DynamicFormInstance, DynamicFormInstanceMapper> implements IDynamicFormInstanceService {
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService;
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersContractDto;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContract;
......@@ -36,7 +36,7 @@ public class FirefightersContractServiceImpl extends BaseService<FirefightersCon
@Autowired
SourceFileServiceImpl sourceFileService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
......
......@@ -27,7 +27,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -75,7 +75,7 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
EquipFeignClient equipFeignClient;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Value("${auth-key-key-site:key_site_info}")
private String authKey;
......
......@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
......@@ -65,7 +65,7 @@ public class MaintenanceCompanyServiceImpl
DynamicFormColumnServiceImpl dynamicFormColumnServiceImpl;
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
@Autowired
MaintenanceCompanyMapper maintenanceCompanyMapper;
......
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
......@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile, SourceFileMapper> implements ISourceFileService {
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
/**
* 分页查询
......
......@@ -4,7 +4,7 @@ package com.yeejoin.amos.boot.module.cylinder.biz.event.listener;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderQuestionInfoDto;
import com.yeejoin.amos.boot.module.cylinder.api.entity.CylinderQuestionInfo;
import com.yeejoin.amos.boot.module.cylinder.biz.event.CylinderQuestionCreateEvent;
......@@ -40,11 +40,11 @@ public class CylinderQuestionCreateEventListener implements ApplicationListener<
private CylinderQuestionInfoServiceImpl cylinderQuestionInfoService;
private Sequence sequence;
private SnowflakeIdUtil sequence;
public CylinderQuestionCreateEventListener(CylinderInfoServiceImpl cylinderInfoService,
CylinderQuestionInfoServiceImpl cylinderQuestionInfoService,
Sequence sequence) {
SnowflakeIdUtil sequence) {
this.cylinderInfoService = cylinderInfoService;
this.cylinderQuestionInfoService = cylinderQuestionInfoService;
this.sequence = sequence;
......
......@@ -5,7 +5,7 @@ import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderFillingRecordStatisticsUnitDayDto;
import com.yeejoin.amos.boot.module.cylinder.api.entity.CylinderFillingRecordStatisticsUnitDay;
import com.yeejoin.amos.boot.module.cylinder.biz.event.CylinderStatisticsUnitDayInsertOrUpdateEvent;
......@@ -46,12 +46,12 @@ public class CylinderStatisticsUnitDayInsertOrUpdateEventListener implements App
private ReentrantLock reentrantLock = new ReentrantLock();
private Sequence sequence;
private SnowflakeIdUtil sequence;
private CylinderFillingRecordStatisticsUnitDayServiceImpl statisticsUnitDayService;
public CylinderStatisticsUnitDayInsertOrUpdateEventListener(CylinderFillingRecordStatisticsUnitDayServiceImpl statisticsUnitDayService,
Sequence sequence) {
SnowflakeIdUtil sequence) {
this.statisticsUnitDayService = statisticsUnitDayService;
this.sequence = sequence;
}
......
......@@ -118,11 +118,11 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
/**
* 查询出厂编码是否重复
* @param factoryNum 出厂编码
* @param sequenceNbr id
* @param record 设备record
* @return Integer
*/
Integer checkFactoryNumUnique(@Param("factoryNum") String factoryNum,
@Param("sequenceNbr") String sequenceNbr,
@Param("record") String record,
@Param("produceUnitCreditCode") String produceUnitCreditCode);
/**
......
......@@ -2,12 +2,11 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEquipInsuranceDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipInsurance;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -24,4 +23,7 @@ public interface JgEquipInsuranceMapper extends BaseMapper<JgEquipInsurance> {
@Param("dto") JgEquipInsuranceDto dto);
JgEquipInsuranceDto getDetailById(@Param("sequenceNbr") Long sequenceNbr);
@MapKey("orgCode")
List<Map<String, Object>> getEquipInsuranceTotal(@Param("orgCode") String orgCode);
}
......@@ -804,6 +804,9 @@
AND ibjfi."FACTORY_NUM" = #{factoryNum}
AND ibjfi."PRODUCE_UNIT_CREDIT_CODE" = #{produceUnitCreditCode}
AND joi.CLAIM_STATUS = '已认领'
<if test="record != null and record !=''">
AND ibjfi."RECORD" <![CDATA[ <> ]]> #{record}
</if>
</select>
<select id="useRegistrationCertificateAccountUnique" resultType="java.lang.Integer">
......
......@@ -14,7 +14,7 @@
tjei.insurance_number as insuranceNumber,
tjei.insurance_expiration_date as insuranceExpirationDate,
date_format(tjei.rec_date,'%Y-%m-%d') as recDate,
jri.ORGANIZATION_NAME as receiveOrgName,
ibjsi.ORG_BRANCH_NAME as receiveOrgName,
jri.USE_ORG_CODE as useRegistrationCode,
ibjui.USE_UNIT_NAME as useUnitName,
ibjui.USE_INNER_CODE as useInnerCode,
......@@ -27,6 +27,7 @@
LEFT JOIN idx_biz_jg_register_info jri on tjei.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info ibjui on tjei.equ_id = ibjui.RECORD
LEFT JOIN idx_biz_jg_factory_info ibjfi on tjei.equ_id = ibjfi.RECORD
LEFT JOIN idx_biz_jg_supervision_info ibjsi ON tjei.equ_id = ibjsi.RECORD
</sql>
<select id="getListPage" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgEquipInsuranceDto">
......@@ -61,4 +62,17 @@
<include refid="page-list"/>
where tjei.sequence_nbr = #{sequenceNbr} and tjei.is_delete = 0
</select>
<select id="getEquipInsuranceTotal" resultType="map">
SELECT
COALESCE(SUM(CASE WHEN jri.EQU_LIST = '3000' THEN 1 ELSE 0 END), 0) AS elevatorInsuranceCount,
COALESCE(SUM(CASE WHEN jri.EQU_CATEGORY = '2300' THEN 1 ELSE 0 END), 0) AS cylinderInsuranceCount
FROM
tzs_jg_equip_insurance tjei
LEFT JOIN idx_biz_jg_supervision_info ibjsi ON tjei.equ_id = ibjsi.RECORD
LEFT JOIN idx_biz_jg_register_info jri ON tjei.equ_id = jri.RECORD
WHERE
tjei.is_delete = 0
AND ibjsi.ORG_BRANCH_CODE LIKE CONCAT(#{orgCode}, '%');
</select>
</mapper>
......@@ -626,6 +626,7 @@
WHERE
ri."EQU_DEFINE" = '23T0'
and ui."DATA_SOURCE" like 'jg%'
and ui."DATA_SOURCE" not like 'jg_his%'
and ri.whether_vehicle_cylinder = 1
-- 保证使用单位选择设备时(record为null) 能选择到本单位的设备 并且 监管单位在查看时(record 不为null)可以匹配到所有的设备
<if test="jsonObject.useUnitCreditCode != null and jsonObject.useUnitCreditCode != '' and jsonObject.record == null">
......
......@@ -22,12 +22,14 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
/**
* 设备注册
......@@ -117,7 +119,8 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
JSONObject jsonObject = new JSONObject(map);
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryForEquipmentRegisterPage(jsonObject));
}
// /**
// /**
// * 查询设备注册列表
// *
// * @param map
......@@ -134,17 +137,23 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@GetMapping(value = "/category/list")
@ApiOperation(httpMethod = "GET", value = "查询不同单位类型可新增的设备种类列表", notes = "查询不同单位类型可新增的设备种类列表")
public ResponseModel<List<DictionarieValueModel>> equCategoryListByCompanyType() {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.equCategoryListByCompanyType(getSelectedOrgInfo(), null, null,null, null));
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.equCategoryListByCompanyType(getSelectedOrgInfo(), null, null, null, null));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equ-category/listByPersonAndEquList")
@ApiOperation(httpMethod = "GET", value = "按照人员身份、设备种类查询设备类别", notes = "按照人员身份、设备种类查询设备类别")
public ResponseModel<List<DictionarieValueModel>> equCategoryList(@RequestParam(value = "equList") String equList,
@RequestParam(value = "dataSource",required = false) String dataSource,
@RequestParam(value = "businessScenarios",required = false) String businessScenarios,
@RequestParam(value = "type",required = false) String type) {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.equCategoryListByCompanyType(getSelectedOrgInfo(), equList, businessScenarios,dataSource, type));
@RequestParam(value = "dataSource", required = false) String dataSource,
@RequestParam(value = "businessScenarios", required = false) String businessScenarios,
@RequestParam(value = "type", required = false) String type) {
List<DictionarieValueModel> dictionarieValueModels = idxBizJgRegisterInfoService.equCategoryListByCompanyType(getSelectedOrgInfo(), equList, businessScenarios, dataSource, type);
//bug 24467 新增历史设备--有移动式压力容器,需禁用或者删除
if ("his".equals(dataSource) && "2000".equals(equList) && "SB_XZ".equals(type) && "0".equals(businessScenarios)) {
dictionarieValueModels = dictionarieValueModels.stream().filter(dictionarieValueModel -> !dictionarieValueModel.getDictDataValue().equals("移动式压力容器")).collect(Collectors.toList());
}
return ResponseHelper.buildResponse(dictionarieValueModels);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -163,6 +172,7 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
JSONObject jsonObject = new JSONObject(queryMap);
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryEquipCanUsedByVesselPage(jsonObject));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equipCanUsedByVessel/pageHistory")
@ApiOperation(httpMethod = "GET", value = "查询车用气瓶可进行选择的设备列表", notes = "查询车用气瓶可进行选择的设备列表")
......@@ -170,6 +180,7 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
JSONObject jsonObject = new JSONObject(queryMap);
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryEquipCanUsedByVesselPageHistory(jsonObject));
}
/**
* 压力容器设备批量导入
*/
......@@ -177,25 +188,24 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "压力容器设备批量导入")
@RestEventTrigger(value = "operateLogRestEventHandler")
public ResponseModel<?> importPressureVesselData(@RequestBody Map<String, Object> paramMap,@RequestPart MultipartFile multipartFile) {
public ResponseModel<?> importPressureVesselData(@RequestBody Map<String, Object> paramMap, @RequestPart MultipartFile multipartFile) {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.importPressureVesselData(paramMap, multipartFile));
}
/**
*
* 气瓶批量导入
* **/
**/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/importData")
@ApiOperation(httpMethod = "POST", value = "气瓶批量导入", notes = "气瓶批量导入")
@RestEventTrigger(value = "operateLogRestEventHandler")
public ResponseModel<?> importPressureData (@RequestPart("file") MultipartFile multipartFile) throws Exception {
public ResponseModel<?> importPressureData(@RequestPart("file") MultipartFile multipartFile) throws Exception {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.importPressureData(multipartFile));
}
/**
* 气瓶批量保存
* **/
**/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/savePressureVesselData")
@ApiOperation(httpMethod = "POST", value = "气瓶批量保存", notes = "气瓶批量保存")
......@@ -264,24 +274,26 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
/**
* 根据时间范围查询电梯数据
* @param equCode 设备代码
*
* @param equCode 设备代码
* @param startTime 开始时间
* @param endTime 结束时间
* @param endTime 结束时间
* @return 电梯数据
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getElevatorInfo")
@ApiOperation(httpMethod = "GET", value = "查询电梯信息列表", notes = "查询电梯信息列表")
public ResponseModel<IPage<Map<String, Object>>> getElevatorInfo(@RequestParam(value = "equCode",required = false) String equCode,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
PageParam pageParam) {
public ResponseModel<IPage<Map<String, Object>>> getElevatorInfo(@RequestParam(value = "equCode", required = false) String equCode,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
PageParam pageParam) {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.getElevatorInfo(equCode, startTime, endTime, pageParam));
}
/**
* 查询气站信息
*
* @return 查询气站信息
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -293,26 +305,28 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
/**
* 车用气气瓶档案
*
* @return 车用气气瓶档案
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getVehicleCylinderInfo")
@ApiOperation(httpMethod = "GET", value = "车用气气瓶档案", notes = "车用气气瓶档案")
public ResponseModel<List<Map<String, Object>>> getVehicleCylinderInfo(@RequestParam(value = "useCode") String useCode){
public ResponseModel<List<Map<String, Object>>> getVehicleCylinderInfo(@RequestParam(value = "useCode") String useCode) {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.getVehicleCylinderInfo(useCode));
}
/**
* 根据时间范围查询液化石油气瓶档案
* @param equCode 设备代码
*
* @param equCode 设备代码
* @param startTime 开始时间
* @param endTime 结束时间
* @param endTime 结束时间
* @return 电梯数据
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getCylinderInfo")
@ApiOperation(httpMethod = "GET", value = "根据时间范围查询液化石油气瓶档案", notes = "根据时间范围查询液化石油气瓶档案")
public ResponseModel<IPage<Map<String, Object>>> getCylinderInfo(@RequestParam(value = "equCode",required = false) String equCode,
public ResponseModel<IPage<Map<String, Object>>> getCylinderInfo(@RequestParam(value = "equCode", required = false) String equCode,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
PageParam pageParam) {
......@@ -330,7 +344,7 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "初始化接口,调用一次,企业许可到期提醒", notes = "初始化接口,调用一次,企业许可到期提醒")
public ResponseModel<String> initEnterpriseLicenseExpirationOnce() {
idxBizJgRegisterInfoService.initEnterpriseLicenseExpirationOnce();
return ResponseHelper.buildResponse("ok");
return ResponseHelper.buildResponse("ok");
}
/**
......@@ -343,7 +357,7 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "初始化接口,调用一次,人员资质过期提醒", notes = "初始化接口,调用一次,人员资质过期提醒")
public ResponseModel<String> initUserExpirationReminderOnce() {
idxBizJgRegisterInfoService.initUserExpirationReminderOnce();
return ResponseHelper.buildResponse("ok");
return ResponseHelper.buildResponse("ok");
}
/**
......@@ -356,6 +370,6 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "初始化接口,调用一次,检验有效期到期提醒", notes = "初始化接口,调用一次,检验有效期到期提醒")
public ResponseModel<String> inspectionExpirationReminderOnce() {
idxBizJgRegisterInfoService.inspectionExpirationReminderOnce();
return ResponseHelper.buildResponse("ok");
return ResponseHelper.buildResponse("ok");
}
}
......@@ -202,4 +202,22 @@ public class JgChangeRegistrationUnitController extends BaseController {
jgChangeRegistrationUnitServiceImpl.exportUseRegistrationCertificate(sequenceNbr, response, printType);
}
/**
* bug24304脏数据处理(单位变更登记 注销 一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)
*
* @param applyNos 单位变更 / 注销 的申请编号
* @return result
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/bug24304")
@ApiOperation(httpMethod = "GET", value = "bug24304脏数据处理(单位变更登记 注销 一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)",
notes = "bug24304脏数据处理(单位变更登记 注销 一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去")
public ResponseModel<String> bug24304(@RequestParam(value = "businessType", defaultValue = "1")
@ApiParam(value = "业务类型 , 单位变更 =》 1, 注销 =》 2, 默认值为单位变更") String businessType,
@RequestParam(value = "applyNos")
@ApiParam(value = "单位变更/注销业务的申请编号,多个用逗号分隔") String applyNos) {
jgChangeRegistrationUnitServiceImpl.bug24304Handle(businessType, applyNos);
return ResponseHelper.buildResponse(businessType.equals("1") ? "单位变更" : "注销" + "业务," + "申请单号:" + applyNos + "数据修改成功");
}
}
......@@ -13,7 +13,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
......@@ -24,6 +23,7 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
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.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.api.dto.CodeGenerateDto;
......@@ -266,7 +266,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
@Autowired
private JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
@Autowired
......@@ -379,11 +379,11 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
if (paramMap == null) {
throw new IllegalArgumentException("参数Map不能为空");
}
String record = null;
LinkedHashMap equipmentClassForm = (LinkedHashMap) checkAndCast(paramMap.get(EQUIP_CLASS_FORM_ID));
LinkedHashMap equipmentInfoForm = (LinkedHashMap) checkAndCast(paramMap.get(EQUIP_INFO_FORM_ID));
LinkedHashMap equipmentParamsForm = (LinkedHashMap) checkAndCast(paramMap.get(EQUIP_PARAMS_FORM_ID));
String submitType = String.valueOf(paramMap.get("submitType"));
String record = (String) equipmentInfoForm.get(RECORD);
try {
// 设备代码 字段的唯一性校验
......@@ -392,6 +392,8 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
checkFactoryNumUniqueness(equipmentInfoForm);
// 96333码 字段的唯一性校验
check96333Code(equipmentInfoForm);
// 气瓶 校验制造单位统一信用代码与出场编码唯一
checkFactoryNumUniqueWithGasCylinder(equipmentInfoForm, record);
} catch (Exception e) {
handleError(e, null);
}
......@@ -401,7 +403,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
boolean isManageType = (!ObjectUtils.isEmpty(manageType) && MANAGE_TYPE_UNIT.equals(manageType));
if (!isManageType) {
// 编辑校验
this.checkForEquipEdit(equipmentInfoForm.get(RECORD));
this.checkForEquipEdit(record);
}
// 操作类型
try {
......@@ -453,6 +455,14 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
}
private void checkFactoryNumUniqueWithGasCylinder(LinkedHashMap equipmentInfoForm, String record) {
if (equipmentInfoForm.get(EQU_LIST).equals("2000")
&& equipmentInfoForm.get(EQU_CATEGORY).equals("2300")
&& commonMapper.checkFactoryNumUnique(String.valueOf(equipmentInfoForm.get(FACTORY_NUM)), record, String.valueOf(equipmentInfoForm.get("PRODUCE_UNIT_CREDIT_CODE"))) > 0) {
throw new BadRequest("出厂编号/产品编码在该企业中已存在!");
}
}
private void checkFactoryNumUniqueness(LinkedHashMap equipmentInfoForm) {
// 车用气瓶业务里面的 出厂编号/产品编码 校验唯一性(产品编号在车用气瓶范围内全局唯一)
Integer factoryNum = commonMapper.checkFactoryNumUniquenessForVehicleCylinder((String) equipmentInfoForm.get(FACTORY_NUM), (String) equipmentInfoForm.get(RECORD));
......@@ -480,10 +490,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
throw new BadRequest(e.getMessage());
}
private void checkForEquipEdit(Object record) {
private void checkForEquipEdit(String record) {
// 标识编辑
if (record != null) {
Integer inUseTime = commonService.countEquipInUseTimesForEdit(record.toString());
if (!ValidationUtil.isEmpty(record)) {
Integer inUseTime = commonService.countEquipInUseTimesForEdit(record);
if (inUseTime > 0) {
throw new BadRequest("此设备在被其他业务引用,不可编辑!");
}
......
......@@ -37,7 +37,9 @@ import com.yeejoin.amos.boot.module.ymt.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.boot.module.ymt.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -932,7 +934,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgCertificateChangeRecord.setAuditPassDate(new Date());
jgCertificateChangeRecord.setRegType(CHANGE_NAME);
jgCertificateChangeRecord.setRegDate(jgChangeRegistrationName.getApplyDate());
jgCertificateChangeRecord.setChangeContent(jgChangeRegistrationName.getCreateUserName() + "办理了【" + CHANGE_NAME + "】," + "单号【" + jgChangeRegistrationName.getApplyNo() +
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(jgChangeRegistrationName.getCreateUserId());
jgCertificateChangeRecord.setChangeContent(jgChangeRegistrationName.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + CHANGE_NAME + "】," + "单号【" + jgChangeRegistrationName.getApplyNo() +
"】,原" + jgChangeRegistrationName.getUseUnitName() + "变更为" + jgChangeRegistrationName.getNewUseUnitName() + ",办理日期" + sdf.format(jgChangeRegistrationName.getAuditPassDate()));
jgCertificateChangeRecord.setRecUserId(jgChangeRegistrationName.getRecUserId());
jgCertificateChangeRecord.setRecDate(new Date());
......
......@@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -33,6 +33,9 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgTechParamsElevatorMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -149,7 +152,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
/***
* @deprecated 根据查询调教获取分页对象
......@@ -483,7 +486,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgCertificateChangeRecord.setAuditPassDate(new Date());
jgCertificateChangeRecord.setRegType(BUSINESS_TYPE);
jgCertificateChangeRecord.setRegDate(jgChangeRegistrationReform.getCreateDate());
jgCertificateChangeRecord.setChangeContent(jgChangeRegistrationReform.getCreateUserName() + "办理了【" + BUSINESS_TYPE + "】," + "单号【" + jgChangeRegistrationReform.getApplyNo() +
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(jgChangeRegistrationReform.getCreateUserId());
jgCertificateChangeRecord.setChangeContent(jgChangeRegistrationReform.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() +"办理了【" + BUSINESS_TYPE + "】," + "单号【" + jgChangeRegistrationReform.getApplyNo() +
"】" + ",办理日期" + sdf.format(jgChangeRegistrationReform.getAuditPassDate()));
jgCertificateChangeRecord.setRecUserId(jgChangeRegistrationReform.getRecUserId());
jgCertificateChangeRecord.setRecDate(new Date());
......
......@@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.ImmutableMap;
......@@ -37,6 +37,9 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgSupervisionInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -129,7 +132,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired
private JgUseRegistrationManageServiceImpl registrationManageService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
......@@ -907,7 +910,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
private String buildRecordContent(JgChangeRegistrationTransfer obj) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getCreateUserName() + "办理了【移装变更登记】,单号【"
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(obj.getCreateUserId());
return obj.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【移装变更登记】,单号【"
+ obj.getApplyNo() + "】,移装后地址为" + obj.getFullAddress() + ",申请日期" + simpleDateFormat.format(new Date());
}
......
......@@ -6,31 +6,34 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.entity.BaseEntity;
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.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
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.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.*;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationUnitService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*;
......@@ -108,7 +111,22 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
private JgRegistrationHistoryMapper jgRegistrationHistoryMapper;
@Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
private JgScrapCancelMapper jgScrapCancelMapper;
@Autowired
private JgScrapCancelEqMapper jgScrapCancelEqMapper;
@Autowired
private SuperviseInfoMapper superviseInfoMapper;
@Autowired
private IdxBizJgUseInfoMapper idxBizJgUseInfoMapper;
@Autowired
private JgUseRegistrationManageMapper jgUseRegistrationManageMapper;
@Autowired
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqServiceImpl;
//改造登记关系表mapper
@Autowired
......@@ -145,7 +163,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
JgRegistrationHistoryServiceImpl registrationHistoryService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
......@@ -465,7 +483,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
BeanUtils.copyProperties(notice, noticeDto);
noticeDto.setCompanyType(companyType);
return noticeDto;
}).collect(java.util.stream.Collectors.toList());
}).collect(Collectors.toList());
noticeDtoPage.setRecords(records);
return noticeDtoPage;
......@@ -1218,9 +1236,11 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
private String buildRecordContent(JgChangeRegistrationUnit obj) {
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(obj.getCreateUserId());
//张三办理了【单位变更】 ,单号【DWBG202407050001】,原恒星电梯单位变更为新恒星电梯有限公司,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getCreateUserName() + "办理了【单位变更登记】,单号【"
return obj.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【单位变更登记】,单号【"
+ obj.getApplyNo() + "】,原" + obj.getUseUnitName() + "变更为新"
+ obj.getNewUseUnitName() + ",申请日期" + simpleDateFormat.format(obj.getCreateDate());
}
......@@ -1352,4 +1372,234 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
commonServiceImpl.saveExecuteFlowData2Redis(jgChangeRegistrationUnit.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationUnit));
}
/**
* bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)
*/
@Transactional(rollbackFor = Exception.class)
public void bug24304Handle(String businessType, String applyNos) {
/* // 查询单位变更登记的历史数据
List<JgRegistrationHistory> historyList = jgRegistrationHistoryMapper.selectList(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getRegistrationClass, "单位变更登记"));
// 过滤出异常数据
List<JgRegistrationHistory> targetHistory = historyList
.stream()
.filter(item -> {
try {
return JSONArray.parseArray(item.getChangeData()).size() > 10;
} catch (Exception ex) {
return false;
}
})
.collect(Collectors.toList()); */
List<String> applyNoList = Arrays.asList(applyNos.split(","));
switch (businessType) {
case "1":
changeRegistrationUnitHandler(applyNoList);
break;
case "2":
scrapCancelHandler(applyNoList);
break;
default:
break;
}
}
/**
* 注销-数据处理
* @param applyNoList 申请单号list
*/
private void scrapCancelHandler(List<String> applyNoList){
applyNoList.forEach(applyNo ->{
// 查询注销数据
JgScrapCancel scrapCancel = jgScrapCancelMapper.selectOne(new LambdaQueryWrapper<JgScrapCancel>()
.eq(JgScrapCancel::getApplyNo, applyNo));
// 查询注销的历史数据
JgRegistrationHistory history = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getRegistrationClass, "注销")
.eq(JgRegistrationHistory::getCurrentDocumentId,scrapCancel.getSequenceNbr()));
// 查询已经入库的设备id
List<String> inEqTableEquId = jgScrapCancelEqMapper.selectList(new LambdaQueryWrapper<JgScrapCancelEq>()
.eq(JgScrapCancelEq::getEquipTransferId, scrapCancel.getSequenceNbr()))
.stream()
.map(JgScrapCancelEq::getEquId)
.collect(Collectors.toList());
// 查询单子下的所有使用登记证的seq
List<Long> certificateSeq = JSONArray.parseArray(JSON.toJSONString(JSONObject.parseObject(history.getChangeData()).get("certificates"))).stream().map(item -> Long.valueOf((String) JSONObject.parseObject(JSONObject.toJSONString(item)).get("sequenceNbr"))).collect(Collectors.toList());
// 使用登记证下的所有设备
List<JSONObject> equJSONList = registrationManageService.queryEquByCertificateSeqList(certificateSeq);
// 过滤出未入库的设备
List<JSONObject> toBeProcessedEq = equJSONList.stream().filter(item -> !inEqTableEquId.contains(item.getString("SEQUENCE_NBR"))).collect(Collectors.toList());
// 未入库的设备record
List<String> toBeProcessedEqRecord = toBeProcessedEq.stream().map(item -> String.valueOf(item.get("SEQUENCE_NBR"))).collect(Collectors.toList());
// 保存到对应的eq表
ArrayList<JgScrapCancelEq> jgScrapCancelEqs = new ArrayList<>();
toBeProcessedEqRecord.forEach(eq ->{
IdxBizJgRegisterInfo jgRegisterInfo = idxBizJgRegisterInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, eq));
JgScrapCancelEq cancelEq = new JgScrapCancelEq();
cancelEq.setEquipTransferId(String.valueOf(scrapCancel.getSequenceNbr()));
cancelEq.setEquId(eq);
cancelEq.setIsDelete(Boolean.FALSE);
cancelEq.setEquCode(jgRegisterInfo.getEquCode());
cancelEq.setUseRegistrationCode(jgRegisterInfo.getUseOrgCode());
jgScrapCancelEqs.add(cancelEq);
jgScrapCancelEqMapper.insert(cancelEq);
});
// 修改监督管理信息
SuperviseInfo superviseInfo = new SuperviseInfo();
superviseInfo.setOrgBranchCode("");
superviseInfo.setOrgBranchName("");
LambdaQueryWrapper<SuperviseInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SuperviseInfo::getRecord, toBeProcessedEqRecord);
superviseInfoMapper.update(superviseInfo, wrapper);
// 修改设备状态
idxBizJgUseInfoMapper.batchUpdateUseInfo(toBeProcessedEqRecord, EquimentEnum.ZHUXIAO.getCode());
// 修改证管理表中的证的状态
List<JgUseRegistrationManage> jgUseRegistrationManages = jgUseRegistrationManageMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>()
.in(JgUseRegistrationManage::getSequenceNbr, certificateSeq)
.eq(JgUseRegistrationManage::getCertificateStatus, CertificateStatusEnum.YIDENGJI.getName()));
LambdaUpdateWrapper<JgUseRegistrationManage> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(JgUseRegistrationManage::getSequenceNbr,jgUseRegistrationManages.stream().map(BaseEntity::getSequenceNbr).collect(Collectors.toList()));
updateWrapper.set(JgUseRegistrationManage::getCertificateStatus, CertificateStatusEnum.YIZHUXIAO.getName());
jgUseRegistrationManageMapper.update(null, updateWrapper);
// 修改es数据
Map<String, Object> map = new HashMap<>();
map.put("ORG_BRANCH_CODE", "");
map.put("ORG_BRANCH_NAME", "");
map.put("EQU_STATE", String.valueOf(EquimentEnum.ZHUXIAO.getCode()));
Map<String, Map<String, Object>> resultMap = new HashMap<>();
for (String equipId : toBeProcessedEqRecord) {
resultMap.put(equipId, map);
}
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
// 添加流水记录
String userId = scrapCancel.getCreateUserId();
String realName = Privilege.agencyUserClient.queryByUserId(userId).getResult().getRealName();
String content = scrapCancel.getUseUnitName() + "的" + realName + "办理了【" + CancelTypeEnum.getNameByType(scrapCancel.getCancelType()) + "】" +
"单号【" + scrapCancel.getApplyNo() + "】,办理日期" + DateUtils.getDateNowShortStr();
List<JgCertificateChangeRecord> certificateChangeRecords = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
Optional<JgCertificateChangeRecord> first = certificateChangeRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<JgCertificateChangeRecord>().eq(JgCertificateChangeRecord::getApplyNo, applyNo)).stream().findFirst();
for (JgUseRegistrationManage jgUseRegistrationManage : jgUseRegistrationManages) {
long seq = sequence.nextId();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
changeRecord.setSequenceNbr(seq);
changeRecord.setApplyNo(scrapCancel.getApplyNo());
changeRecord.setReceiveOrgName(scrapCancel.getReceiveOrgName());
changeRecord.setAuditPassDate(new Date());
changeRecord.setRegType(CancelTypeEnum.getNameByType(scrapCancel.getCancelType()));
changeRecord.setRegDate(scrapCancel.getCreateDate());
changeRecord.setChangeContent(content);
changeRecord.setUseRegistrationCode(jgUseRegistrationManage.getUseRegistrationCode());
changeRecord.setReceiveCompanyCode(scrapCancel.getReceiveOrgCode());
changeRecord.setUseUnitCreditCode(scrapCancel.getUseUnitCode());
changeRecord.setUseUnitName(scrapCancel.getUseUnitName());
changeRecord.setEquCategory(jgUseRegistrationManage.getEquCategoryCode());
changeRecord.setCreateDate(new Date());
first.ifPresent(item -> changeRecord.setRoutePath(item.getRoutePath()));
changeRecord.setCreateUserId(scrapCancel.getCreateUserId());
changeRecord.setCertificateNo(jgUseRegistrationManage.getCertificateNo());
certificateChangeRecords.add(changeRecord);
jgScrapCancelEqs.stream().filter(eq -> eq.getUseRegistrationCode().equals(jgUseRegistrationManage.getUseRegistrationCode())).forEach(e -> {
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(changeRecord.getSequenceNbr().toString()); // 登记证记录主键
changeRecordEq.setEquId(e.getEquId()); // 设备主键
changeRecordEq.setProductCode(e.getEquCode()); // 设备代码
changeRecordEqList.add(changeRecordEq);
});
}
if (!certificateChangeRecords.isEmpty()) {
certificateChangeRecordService.saveBatch(certificateChangeRecords);
}
if (!changeRecordEqList.isEmpty()) {
jgCertificateChangeRecordEqServiceImpl.saveBatch(changeRecordEqList);
}
});
}
/**
* 单位变更数据处理
*
* @param applyNoList 申请编号list
*/
private void changeRegistrationUnitHandler(List<String> applyNoList) {
applyNoList.forEach(applyNo ->{
// 查询单位变更登记的历史数据
JgRegistrationHistory history = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getRegistrationClass, "单位变更登记")
.eq(JgRegistrationHistory::getCurrentDocumentId,applyNo));
// 查询变更数据
JgChangeRegistrationUnit registrationUnit = this.baseMapper.selectOne(new LambdaQueryWrapper<JgChangeRegistrationUnit>()
.eq(JgChangeRegistrationUnit::getApplyNo, history.getCurrentDocumentId()));
// 查询已经入库的设备id
List<String> inEqTableEquId = jgChangeRegistrationUnitEqMapper.selectList(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registrationUnit.getSequenceNbr()))
.stream()
.map(JgChangeRegistrationUnitEq::getEquId)
.collect(Collectors.toList());
// 查询单子下的所有使用登记证的seq
List<Long> certificateSeq = JSONArray.parseArray(history.getChangeData()).stream().map(item -> Long.valueOf((String) JSONObject.parseObject(JSONObject.toJSONString(item)).get("sequenceNbr"))).collect(Collectors.toList());
// 使用登记证下的所有设备
List<JSONObject> equJSONList = registrationManageService.queryEquByCertificateSeqList(certificateSeq);
// 过滤出未入库的设备
List<JSONObject> toBeProcessedEq = equJSONList.stream().filter(item -> !inEqTableEquId.contains(item.getString("SEQUENCE_NBR"))).collect(Collectors.toList());
// 将未入库设备 保存到eq表
this.changeRegistrationUnitSaveLackEqu(toBeProcessedEq, registrationUnit);
// 将未入库设备 更新es和otherInfo表的使用单位信息
this.changeRegistrationUnitUpdateLackEquForES(toBeProcessedEq, registrationUnit);
this.changeRegistrationUnitUpdateLackEquForUseInfo(toBeProcessedEq, registrationUnit);
});
}
/**
* 单位变更-保存漏掉的设备
*/
public void changeRegistrationUnitSaveLackEqu(List<JSONObject> deviceList, JgChangeRegistrationUnit registrationUnit) {
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);
});
registrationUnitEqService.saveBatch(jgRelationEquipList);
}
/**
* 单位变更-修改es漏掉的设备
*/
public void changeRegistrationUnitUpdateLackEquForES(List<JSONObject> deviceList, JgChangeRegistrationUnit registration) {
deviceList.forEach(device -> {
Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
String[] companyCode = registration.getNewUseUnitCreditCode().split("_");
map1.put("USE_UNIT_CREDIT_CODE", companyCode.length > 1 ? companyCode[1] : registration.getNewUseUnitCreditCode());
map1.put("USE_UNIT_NAME", registration.getNewUseUnitName());
map1.put("REC_DATE", registration.getCreateDate());
resultMap.put(device.getString("SEQUENCE_NBR"), map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
});
}
/**
* 单位变更-修改使用信息表中漏掉的设备
*/
public void changeRegistrationUnitUpdateLackEquForUseInfo(List<JSONObject> deviceList, JgChangeRegistrationUnit registration) {
deviceList.forEach(device -> {
LambdaQueryWrapper<UseInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UseInfo::getRecord, device.getString("SEQUENCE_NBR"));
UseInfo useInfo = useInfoMapper.selectOne(queryWrapper);
if (ObjectUtils.isNotEmpty(useInfo)) {
useInfo.setUseUnitName(registration.getNewUseUnitName());
useInfo.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
useInfoMapper.updateById(useInfo);
}
});
}
}
\ No newline at end of file
......@@ -33,8 +33,10 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
......@@ -487,7 +489,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
jgCertificateChangeRecord.setAuditPassDate(new Date());
jgCertificateChangeRecord.setRegType(BUSINESS_NAME);
jgCertificateChangeRecord.setRegDate(jgChangeVehicleRegistrationUnit.getApplyDate());
jgCertificateChangeRecord.setChangeContent(jgChangeVehicleRegistrationUnit.getCreateUserName() + "办理了【" + BUSINESS_NAME + "】," + "单号【" + jgChangeVehicleRegistrationUnit.getApplyNo() +
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(jgChangeVehicleRegistrationUnit.getCreateUserId());
jgCertificateChangeRecord.setChangeContent(jgChangeVehicleRegistrationUnit.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + BUSINESS_NAME + "】," + "单号【" + jgChangeVehicleRegistrationUnit.getApplyNo() +
"】,原" + jgChangeVehicleRegistrationUnit.getUseUnitName() + "变更为" + jgChangeVehicleRegistrationUnit.getNewUseUnitName() + ",办理日期" + sdf.format(jgChangeVehicleRegistrationUnit.getAuditPassDate()));
jgCertificateChangeRecord.setRecUserId(jgChangeVehicleRegistrationUnit.getRecUserId());
jgCertificateChangeRecord.setRecDate(new Date());
......
......@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -107,7 +107,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
private JgRegistrationHistoryMapper jgRegistrationHistoryMapper;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl jgInspectionDetectionInfoService;
......
......@@ -35,6 +35,8 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
......@@ -63,6 +65,13 @@ public class JgEquipInsuranceServiceImpl extends BaseService<JgEquipInsurance,Jg
private static final String INDEX_NAME = "idx_biz_view_jg_all";
public static final String REGION_CODE = "regionCode";
public static final String REGION_NAME = "regionName";
public static final String ELEVATOR = "elevator";
public static final String CYLINDER = "cylinder";
public static final String ELEVATOR_INSURANCE_COUNT = "elevatorInsuranceCount";
public static final String CYLINDER_INSURANCE_COUNT = "cylinderInsuranceCount";
public static final String ELEVATOR_INSURANCE_RATE = "elevatorInsuranceRate";
public static final String CYLINDER_INSURANCE_RATE = "cylinderInsuranceRate";
private static final Map<String, String> regionCodeOrgCodeMap = new ConcurrentHashMap<>();
......@@ -134,8 +143,7 @@ public class JgEquipInsuranceServiceImpl extends BaseService<JgEquipInsurance,Jg
public Map<String, Object> countLiabilityInsuranceStatisticsByCity() {
List<RegionModel> regionModelList = Systemctl.regionClient.queryByLevel("2").getResult();
List<Map<String, Object>> esQueryResults = processAsync(regionModelList, this::esQuery);
List<Map<String, Object>> insuranceResults = processAsync(regionModelList, this::getInsurance);
return assemblingHistogramData(esQueryResults, insuranceResults);
return assemblingHistogramData(esQueryResults);
}
// 公共方法,用于异步处理逻辑
......@@ -148,13 +156,6 @@ public class JgEquipInsuranceServiceImpl extends BaseService<JgEquipInsurance,Jg
.collect(Collectors.toList());
}
private Map<String, Object> getInsurance(RegionModel regionModel) {
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("ELEVATOR_INSURANCE", "");
resultMap.put("CYLINDER_INSURANCE", "");
return resultMap;
}
public String getAndSetOrgCode(String cityCode) {
String orgCode = regionCodeOrgCodeMap.get(cityCode);
if (orgCode == null) {
......@@ -194,67 +195,93 @@ public class JgEquipInsuranceServiceImpl extends BaseService<JgEquipInsurance,Jg
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
// 获取所有聚合结果
Filters aggregation = searchResponse.getAggregations().get("equipmentCount");
return getStringObjectMap(regionModel, aggregation);
List<Map<String, Object>> equipInsuranceMap = this.baseMapper.getEquipInsuranceTotal(orgCode);
return getStringObjectMap(regionModel, aggregation, equipInsuranceMap);
} catch (IOException e) {
e.printStackTrace();
}
return Collections.emptyMap();
}
private static Map<String, Object> getStringObjectMap(RegionModel regionModel, Filters aggregation) {
private static Map<String, Object> getStringObjectMap(RegionModel regionModel, Filters aggregation, List<Map<String, Object>> equipInsuranceMap) {
long elevatorCount = 0;
long gasCylinderCount = 0;
long cylinderCount = 0;
BigDecimal elevatorInsuranceRate;
BigDecimal cylinderInsuranceRate;
// 遍历 bucket 获取电梯和气瓶的总数
for (Filters.Bucket bucket : aggregation.getBuckets()) {
String key = bucket.getKeyAsString();
long docCount = bucket.getDocCount();
if ("电梯".equals(key)) {
elevatorCount = docCount;
} else if ("气瓶".equals(key)) {
gasCylinderCount = docCount;
cylinderCount = docCount;
}
}
// 将Long类型的值转换为BigDecimal
BigDecimal cylinderInsuranceCount = BigDecimal.valueOf((Long) equipInsuranceMap.get(0).get(CYLINDER_INSURANCE_COUNT));
BigDecimal elevatorInsuranceCount = BigDecimal.valueOf((Long) equipInsuranceMap.get(0).get(ELEVATOR_INSURANCE_COUNT));
// 计算保险覆盖率,避免除以零的情况
elevatorInsuranceRate = elevatorCount == 0 ? BigDecimal.ZERO :
elevatorInsuranceCount.divide(BigDecimal.valueOf(elevatorCount), 2, RoundingMode.HALF_UP);
cylinderInsuranceRate = cylinderCount == 0 ? BigDecimal.ZERO :
cylinderInsuranceCount.divide(BigDecimal.valueOf(cylinderCount), 2, RoundingMode.HALF_UP);
// 构建结果Map
Map<String, Object> resultMap = new HashMap<>();
resultMap.put(REGION_CODE, regionModel.getRegionCode());
resultMap.put("REGION_NAME", regionModel.getRegionName());
resultMap.put("ELEVATOR", elevatorCount);
resultMap.put("CYLINDER", gasCylinderCount);
resultMap.put(REGION_NAME, regionModel.getRegionName());
resultMap.put(ELEVATOR, elevatorCount);
resultMap.put(CYLINDER, cylinderCount);
resultMap.put(ELEVATOR_INSURANCE_RATE, elevatorInsuranceRate);
resultMap.put(CYLINDER_INSURANCE_RATE, cylinderInsuranceRate);
return resultMap;
}
private static Map<String, Object> assemblingHistogramData(List<Map<String, Object>> esQueryResults,List<Map<String, Object>> insuranceResults) {
private static Map<String, Object> assemblingHistogramData(List<Map<String, Object>> esQueryResults) {
// 组装数据
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> seriesData = new ArrayList<>();
List<Map<String, Object>> barSeriesData = new ArrayList<>();
List<Map<String, Object>> lineSeriesData = new ArrayList<>();
List<String> axisData = new ArrayList<>();
List<String> cylinderDataList = new ArrayList<>();
List<String> elevatorDataList = new ArrayList<>();
List<String> cylinderDataListRate = new ArrayList<>();
List<String> elevatorDataListRate = new ArrayList<>();
esQueryResults.forEach(x -> {
axisData.add(String.valueOf(x.get("regionName")));
cylinderDataList.add(String.valueOf(x.get("CYLINDER")));
elevatorDataList.add(String.valueOf(x.get("ELEVATOR")));
axisData.add(String.valueOf(x.get(REGION_NAME)));
cylinderDataList.add(String.valueOf(x.get(CYLINDER)));
elevatorDataList.add(String.valueOf(x.get(ELEVATOR)));
elevatorDataListRate.add(String.valueOf(x.get(ELEVATOR_INSURANCE_RATE)));
cylinderDataListRate.add(String.valueOf(x.get(CYLINDER_INSURANCE_RATE)));
});
HashMap<String, Object> temMap1 = new HashMap<>();
temMap1.put("data", elevatorDataList);
temMap1.put("name", "电梯");
temMap1.put("type", "bar");
HashMap<String, Object> temMap2 = new HashMap<>();
temMap1.put("data", cylinderDataList);
temMap1.put("name", "气瓶");
temMap2.put("data", cylinderDataList);
temMap2.put("name", "气瓶");
temMap2.put("type", "bar");
HashMap<String, Object> temMap3 = new HashMap<>();
temMap1.put("data", elevatorDataListRate);
temMap1.put("name", "电梯覆盖率");
temMap3.put("data", elevatorDataListRate);
temMap3.put("name", "电梯覆盖率");
temMap3.put("type", "line");
HashMap<String, Object> temMap4 = new HashMap<>();
temMap2.put("data", cylinderDataListRate);
temMap2.put("name", "气瓶覆盖率");
seriesData.add(temMap1);
seriesData.add(temMap2);
seriesData.add(temMap3);
seriesData.add(temMap4);
result.put("seriesData", seriesData);
temMap4.put("data", cylinderDataListRate);
temMap4.put("name", "气瓶覆盖率");
temMap4.put("type", "line");
barSeriesData.add(temMap1);
barSeriesData.add(temMap2);
lineSeriesData.add(temMap3);
lineSeriesData.add(temMap4);
result.put("axisData", axisData);
result.put("barSeriesData", barSeriesData);
result.put("lineSeriesData", lineSeriesData);
return result;
}
}
\ No newline at end of file
......@@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -50,8 +50,10 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege;
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.workflow.model.ActWorkflowBatchDTO;
......@@ -161,7 +163,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
@Autowired
JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgInstallationNoticeMapper jgInstallationNoticeMapper;
@Autowired
......@@ -1366,9 +1368,11 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
}
private String buildRecordContent(JgInstallationNotice obj) {
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(obj.getCreateUserId());
//张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getCreateUserName() + "办理了【" + BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName() + "】,单号【"
return obj.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName() + "】,单号【"
+ obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getCreateDate());
}
......
......@@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -42,6 +42,9 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*;
......@@ -114,7 +117,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
ESEquipmentCategory esEquipmentCategory;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
......@@ -1065,7 +1068,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
private void saveRecord(JgMaintainNotice jgMaintainNotice, List<JgMaintainNoticeEq> jgMaintainNoticeEqList, String routePath) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String content = jgMaintainNotice.getCreateUserName() + "办理了【维修告知】" +
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(jgMaintainNotice.getCreateUserId());
String content =jgMaintainNotice.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【维修告知】" +
"单号【" + jgMaintainNotice.getApplyNo() + "】,办理日期" + DateUtils.getDateNowShortStr();
List<JgCertificateChangeRecord> certificateChangeRecords = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
......
......@@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -112,7 +112,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
@Autowired
RedisUtils redisUtils;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
IIdxBizJgRegisterInfoService idxBizJgRegisterInfoService;
@Autowired
......
......@@ -7,7 +7,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -15,6 +14,7 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
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.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
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.enums.*;
......@@ -38,6 +38,7 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -123,7 +124,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqServiceImpl;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
/**
* 移装移装注销/报废注销判断
......@@ -1059,8 +1060,8 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
private void saveRecord(JgScrapCancel jgScrapCancel, List<JgScrapCancelEq> jgScrapCancelEqList, String routePath, List<JgUseRegistrationManage> jgUseRegistrationManageList) {
String userName = jgScrapCancel.getCreateUserName();
String content = userName + "办理了【" + CancelTypeEnum.getNameByType(jgScrapCancel.getCancelType()) + "】" +
String realName = Privilege.agencyUserClient.queryByUserId(jgScrapCancel.getCreateUserId()).getResult().getRealName();
String content = jgScrapCancel.getUseUnitName() + "的" + realName + "办理了【" + CancelTypeEnum.getNameByType(jgScrapCancel.getCancelType()) + "】" +
"单号【" + jgScrapCancel.getApplyNo() + "】,办理日期" + DateUtils.getDateNowShortStr();
List<JgCertificateChangeRecord> certificateChangeRecords = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
......
......@@ -21,14 +21,20 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.elasticsearch.action.search.ClearScrollRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.TermsQueryBuilder;
import org.elasticsearch.search.Scroll;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -51,6 +57,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.alibaba.fastjson.JSON.parseArray;
......@@ -114,6 +121,9 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
@Autowired
private RedisTemplate<String, String> redisTemplate;
private static final long SCROLL_TIMEOUT = 180000;
private static final int SIZE = 1000;
/**
* 将已经通过使用登记审批的证信息录入到 jg-use-registration-manage 表中
......@@ -343,30 +353,87 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)) {
return new ArrayList<>();
}
List<JSONObject> result = new ArrayList<>();
// List<JSONObject> result = new ArrayList<>();
Set<String> useOrgCodes = jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getUseRegistrationCode).collect(Collectors.toSet());
// es中通过查询【使用登记证编号】所有设备
SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true);
// SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
// SearchSourceBuilder builder = new SearchSourceBuilder();
// builder.trackTotalHits(true);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("USE_ORG_CODE", useOrgCodes);
boolQuery.must(termsQuery);
builder.query(boolQuery);
builder.size(useOrgCodes.size());
request.source(builder);
// builder.query(boolQuery);
// builder.size(useOrgCodes.size());
// request.source(builder);
List<JSONObject> result = Collections.emptyList();
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
result.add(dto2);
result = searchResponse("idx_biz_view_jg_all", boolQuery, hit -> JSONObject.parseObject(hit.getSourceAsString(), JSONObject.class));
}catch (Exception ex){
ex.printStackTrace();
}
// try {
// SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
// for (SearchHit hit : response.getHits().getHits()) {
// JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
// JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
// result.add(dto2);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
return result;
}
/**
* 构建SearchResponse
*
* @param indices 索引
* @param query queryBuilder
* @param fun 返回函数
* @param <T> 返回类型
* @return List, 可以使用fun转换为T结果
* @throws Exception e
*/
public <T> List<T> searchResponse(String indices, QueryBuilder query, Function<SearchHit, T> fun) throws Exception {
SearchRequest request = new SearchRequest(indices);
Scroll scroll = new Scroll(TimeValue.timeValueMillis(SCROLL_TIMEOUT));
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(query);
sourceBuilder.size(SIZE);
request.scroll(scroll);
request.source(sourceBuilder);
List<String> scrollIdList = new ArrayList<>();
List<T> result = new ArrayList<>();
SearchResponse searchResponse = restHighLevelClient.search(request, RequestOptions.DEFAULT);
String scrollId = searchResponse.getScrollId();
SearchHit[] hits = searchResponse.getHits().getHits();
scrollIdList.add(scrollId);
try {
while (ArrayUtils.isNotEmpty(hits)) {
for (SearchHit hit : hits) {
result.add(fun.apply(hit));
}
if (hits.length < SIZE) {
break;
}
SearchScrollRequest searchScrollRequest = new SearchScrollRequest(scrollId);
searchScrollRequest.scroll(scroll);
SearchResponse searchScrollResponse = restHighLevelClient.scroll(searchScrollRequest, RequestOptions.DEFAULT);
scrollId = searchScrollResponse.getScrollId();
hits = searchScrollResponse.getHits().getHits();
scrollIdList.add(scrollId);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
ClearScrollRequest clearScrollRequest = new ClearScrollRequest();
clearScrollRequest.setScrollIds(scrollIdList);
restHighLevelClient.clearScroll(clearScrollRequest, RequestOptions.DEFAULT);
}
return result;
}
......@@ -541,6 +608,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
exportParamsMap.put("useInnerCode", deviceList.stream()
.map(equ -> String.valueOf(equ.get("USE_INNER_CODE")))
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.joining(", ")));
}else{
exportParamsMap.put("fullAddress", manage.getEquUseAddress());
......
......@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -45,6 +45,7 @@ import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
......@@ -180,7 +181,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
private RedissonClient redissonClient;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgUseRegistrationEqServiceImpl jgUseRegistrationEqService;
@Autowired
......@@ -1368,9 +1369,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
private String buildRecordContent(JgUseRegistration obj, String businessName, Boolean flag) {
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(obj.getCreateUserId());
//张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getCreateUserName() + "办理了【" + businessName + (flag ? "设备增补" : "") + "】," +
return obj.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + businessName + (flag ? "设备增补" : "") + "】," +
"单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getRecDate());
}
......@@ -2586,6 +2590,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private void invalidUseRegistrationCertificate(JgUseRegistration jgUseRegistration) {
Integer count = jgUseRegistrationMapper.selectCount(new LambdaQueryWrapper<JgUseRegistration>()
.eq(JgUseRegistration::getUseRegistrationCode, jgUseRegistration.getUseRegistrationCode())
.ne(JgUseRegistration::getStatus, "已作废")
.eq(JgUseRegistration::getIsDelete, false));
// 一证对应多条使用登记单时,不作废证
if (count > 1) {
......@@ -3187,7 +3192,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
JgCertificateChangeRecord jgCertificateChangeRecord = new JgCertificateChangeRecord();
jgCertificateChangeRecord.setApplyNo("");
try {
changeContent = jgUseRegistration.getCreateUserName() + "办理了【" + BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName() + "】," +
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(jgUseRegistration.getCreateUserId());
changeContent = jgUseRegistration.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName() + "】," +
"办理日期" + map.get("installStartDate");
jgCertificateChangeRecord.setAuditPassDate(simpleDateFormat.parse((String) map.get("installStartDate")));
jgCertificateChangeRecord.setRegDate(simpleDateFormat.parse((String) map.get("installStartDate")));
......@@ -3218,7 +3225,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
JgCertificateChangeRecord jgCertificateChangeRecord = new JgCertificateChangeRecord();
jgCertificateChangeRecord.setApplyNo("");
try {
changeContent = jgUseRegistration.getCreateUserName() + "办理了【" + BusinessTypeEnum.JG_MAINTENANCE_RECORD.getName() + "】," +
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(jgUseRegistration.getCreateUserId());
changeContent = jgUseRegistration.getUseUnitName()+"的"+agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + BusinessTypeEnum.JG_MAINTENANCE_RECORD.getName() + "】," +
"办理日期" + map.get("installStartDate");
jgCertificateChangeRecord.setAuditPassDate(simpleDateFormat.parse((String) map.get("informEnd")));
jgCertificateChangeRecord.setRegDate(simpleDateFormat.parse((String) map.get("informStart")));
......
......@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -45,8 +45,10 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
......@@ -123,7 +125,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
@Autowired
private RedisUtils redisUtils;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgVehicleInformationEqMapper jgVehicleInformationEqMapper;
@Autowired
......@@ -1414,7 +1416,9 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
*/
private void invalidUseRegistrationCertificate(JgVehicleInformation jgVehicleInformation) {
Integer count = this.baseMapper.selectCount(new LambdaQueryWrapper<JgVehicleInformation>()
.eq(JgVehicleInformation::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode()));
.eq(JgVehicleInformation::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode())
.ne(JgVehicleInformation::getStatus, "已作废")
.eq(JgVehicleInformation::getIsDelete, false));
// 一证对应多条使用登记单时,不作废证
if (count > 1) {
return;
......@@ -1648,9 +1652,11 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
}
private String buildRecordContent(JgVehicleInformation obj) {
FeignClientResult<AgencyUserModel> agencyUserModelFeignClientResult = Privilege.agencyUserClient.queryByUserId(obj.getCreateUserId());
//张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getRecUserName() + "办理了【" + BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName() + "】," +
return obj.getUseUnitName()+"的"+ agencyUserModelFeignClientResult.getResult().getRealName() + "办理了【" + BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName() + "】," +
"单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getRecDate());
}
......
package com.yeejoin.amos.boot.module.jyjc.biz.event.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationNoAcceptLog;
import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.RequestTypeEnum;
......@@ -43,7 +43,7 @@ import static com.yeejoin.amos.boot.module.jyjc.api.enums.CategoryEnum.getCatego
@Slf4j
public class EnableRuleDataPreparationListener implements ApplicationListener<InspectionOrgRefreshEvent> {
private Sequence sequence;
private SnowflakeIdUtil sequence;
private RegistrationInfoMapper registrationInfoMapper;
......@@ -63,7 +63,7 @@ public class EnableRuleDataPreparationListener implements ApplicationListener<In
private int threadNumber;
public EnableRuleDataPreparationListener(Sequence sequence,
public EnableRuleDataPreparationListener(SnowflakeIdUtil sequence,
RegistrationInfoMapper registrationInfoMapper,
RuleCommonServiceImpl ruleCommonService,
InspectionRuleEnableConfig inspectionRuleEnableConfig, InspectionApplicationPushEventListener applicationPushEventListener,
......@@ -198,7 +198,7 @@ public class EnableRuleDataPreparationListener implements ApplicationListener<In
private RegistrationInfo fetchRegistrationInfo(String record) {
return registrationInfoMapper.selectOne(
Wrappers.<RegistrationInfo>lambdaQuery().select(RegistrationInfo::getRecord, RegistrationInfo::getEquCategory,
RegistrationInfo::getEquDefine, RegistrationInfo::getEquList, RegistrationInfo::getWhetherSphericalTank)
RegistrationInfo::getEquDefine, RegistrationInfo::getEquList, RegistrationInfo::getWhetherSphericalTank)
.eq(RegistrationInfo::getRecord, record));
}
......
......@@ -5,8 +5,8 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationEquip;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationPushLog;
import com.yeejoin.amos.boot.module.jyjc.api.enums.EquipCategoryEnum;
......@@ -95,7 +95,7 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
KafkaProducer kafkaProducer;
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
/**
......@@ -248,7 +248,7 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
}
private void castStr2JsonField(Map<String, Object> echParamMap) {
if(echParamMap != null){
if (echParamMap != null) {
echParamMap.forEach((k, v) -> {
if (JyjcConstant.TECH_PARAM_JSON_FIELDS.contains(k) && v != null) {
echParamMap.put(k, JSON.parse(v.toString()));
......
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jyjc.biz.event.listener;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult;
import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionDetectionSaveToDbEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.BizEmqPublisher;
......@@ -40,7 +40,7 @@ public class InspectionDetectionSaveToDbEventListener implements ApplicationList
CommonServiceImpl commonService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
......
......@@ -8,7 +8,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
......@@ -101,7 +101,7 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
......
......@@ -17,15 +17,8 @@ feign.client.config.default.read-timeout=30000
## eureka properties:
eureka.client.registry-fetch-interval-seconds=5
eureka.instance.prefer-ip-address=true
management.endpoint.health.show-details=always
management.endpoints.web.exposure.include=*
eureka.instance.health-check-url-path=/actuator/health
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.lease-renewal-interval-in-seconds=5
eureka.instance.metadata-map.management.context-path=${server.servlet.context-path}/actuator
eureka.instance.status-page-url-path=/actuator/info
eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/doc.html
knife4j.production=false
knife4j.enable=true
......
......@@ -25,14 +25,6 @@ public interface IRegUnitInfoService {
*/
RegUnitInfoDto registerUnit(RegUnitInfoDto model);
/**
* 单位校验
* @param unitCode 单位唯一编号
* @return RegUnitInfoDto
*/
RegUnitInfoDto unitCheck(String unitCode, String companyName,String registerType, String cardType);
/**
* 单位类型列表字典
* @return List<DataDictionary>
......@@ -84,4 +76,28 @@ public interface IRegUnitInfoService {
List<DataDictionary> getDictionaryListByType(String type) throws Exception;
List<DataDictionary> getXkItemList(String type);
/**
* 企业类型单位注册检验
* @param unitCode 单位code
* @param isNationwide 是否省外
* @return RegUnitInfoDto
*/
RegUnitInfoDto regBeforeCheckForEnterprises(String unitCode, Boolean isNationwide);
/**
* 事业单位类型注册检验
* @param unitCode 单位code
* @param isNationwide 是否省外
* @return RegUnitInfoDto
*/
RegUnitInfoDto regBeforeCheckForCause(String unitCode, Boolean isNationwide);
/**
* 个人类型注册检验
* @param unitCode 单位code
* @param cardType 证件类型
* @return RegUnitInfoDto
*/
RegUnitInfoDto regBeforeCheckForPerson(String unitCode, String cardType);
}
......@@ -14,6 +14,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -110,18 +111,40 @@ public class RegUnitInfoController extends BaseController {
return ResponseHelper.buildResponse(iRegUnitInfoService.adminInfo(unitCode));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/enterprises/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "企业单位注册校验", notes = "企业单位注册校验")
public ResponseModel<RegUnitInfoDto> regBeforeCheckForEnterprises(@PathVariable String unitCode,
@ApiParam(value = "是否省外") @RequestParam Boolean isNationwide) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.regBeforeCheckForEnterprises(unitCode, isNationwide);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
response.setResult(null);
response.setDevMessage(e.getMessage());
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setTraceId(RequestContext.getTraceId());
response.setPath(request.getServletPath());
return response;
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "单位注册校验", notes = "单位注册校验")
public ResponseModel<RegUnitInfoDto> unitCheck(@PathVariable String unitCode,
@RequestParam(required = false) String registerType,
@RequestParam(required = false) String cardType,
@RequestParam(required = false) String companyName) {
@GetMapping(value = "/cause/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "事业单位注册校验", notes = "事业单位注册校验")
public ResponseModel<RegUnitInfoDto> regBeforeCheckForCause(@PathVariable String unitCode,
@ApiParam(value = "是否省外") @RequestParam Boolean isNationwide) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.unitCheck(unitCode, companyName,registerType,cardType);
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.regBeforeCheckForCause(unitCode, isNationwide);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
......@@ -136,6 +159,30 @@ public class RegUnitInfoController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/person/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "个人注册校验", notes = "个人注册校验")
public ResponseModel<RegUnitInfoDto> regBeforeCheckForPerson(@PathVariable String unitCode,
@RequestParam(required = false) String cardType) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.regBeforeCheckForPerson(unitCode, cardType);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
response.setResult(null);
response.setDevMessage(e.getMessage());
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setTraceId(RequestContext.getTraceId());
response.setPath(request.getServletPath());
return response;
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/unit-type/list")
@ApiOperation(httpMethod = "GET", value = "单位类型列表", notes = "单位类型列表")
public ResponseModel<List<DataDictionary>> unitTypeList() {
......
package com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
......@@ -265,9 +266,12 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
} catch (Exception rollbackException) {
logger.error("回滚操作发生异常: {}", rollbackException.getMessage(), rollbackException);
}
assert e instanceof BadRequest;
String err = (((BadRequest) e).getErrorCode().equals("BadRequest")) ? "企业注册失败:" + e.getMessage() : "企业注册失败,请联系管理员!" ;
throw new RuntimeException(err);
if(e instanceof BadRequest){
String err = "企业注册失败:" + e.getMessage();
throw new BadRequest(err);
} else {
throw new BadRequest("企业注册失败,请联系管理员!");
}
}
return model;
}
......@@ -447,115 +451,6 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
}
@Override
public RegUnitInfoDto unitCheck(String unitCode, String companyName, String registerType, String cardType) {
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
startPlatformTokenService.getToken();
// if (!ValidationUtil.isEmpty(companyName)) {
// FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyName(companyName);
// if (result.getResult() != null) {
// throw new BadRequest("重复的公司名称");
// }
// }
if ("6600".equals(cardType)) {
boolean b = IdcardUtil.isValidCard(unitCode);
if (!b) {
throw new BadRequest("非法的证件号码");
}
}
if (!ValidationUtil.isEmpty(unitCode)) {
unitCode = ObjectUtils.isEmpty(cardType) ? unitCode : cardType + "_" + unitCode;
FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyCode(unitCode);
if (result.getResult() != null) {
throw new BadRequest(!ObjectUtils.isEmpty(cardType) ? "重复的证件号码" : "重复的注册编码");
}
}
// 1.校验重复性
// RegUnitInfo regUnitInfo = this
// .getOne(new LambdaQueryWrapper<RegUnitInfo>().eq(RegUnitInfo::getUnitCode, unitCode));
// if (regUnitInfo != null) {
// throw new RuntimeException("该单位已注册,请联系企业管理员!");
// }
// 2.组织返回数据
if (ObjectUtils.isEmpty(registerType)) {
//2.1 工商信息查询
Map<String, Object> resultMap = accessFeignService.getData(unitCode).getResult();
if (resultMap == null) {
throw new BadRequest("工商信息接口查询失败,请稍后再试!");
}
if (ObjectUtils.isEmpty(resultMap)) {
throw new BadRequest("未查询到企业信息,请核对!");
}
if (!ValidationUtil.isEmpty(resultMap)) {
// 2.2 工商信息组装
String area = String.valueOf(resultMap.get("area"));
String city = area.substring(0, area.indexOf("市") + 1);
String district = area.substring(city.length());
if ("高新区".equals(district)) {
district = "雁塔区";
}
regUnitInfoDto.setCity(city);
regUnitInfoDto.setDistrict(district);
regUnitInfoDto.setStree(String.valueOf(resultMap.get("street")));
regUnitInfoDto.setCommunity(String.valueOf(resultMap.get("community")));
regUnitInfoDto.setAddress(String.valueOf(resultMap.get("address")));
regUnitInfoDto.setUnitCode(String.valueOf(resultMap.get("creditCode")));
regUnitInfoDto.setName(String.valueOf(resultMap.get("unitName")));
regUnitInfoDto.setLegalPerson(String.valueOf(resultMap.get("legalPeople")));
String industryName = "";
if (ObjectUtils.isNotEmpty(resultMap.get("industryCode"))) {
List<DataDictionary> dictionaries = this.initAllDataDictionaryList();
Optional<DataDictionary> op = dictionaries.stream().filter(d -> d.getCode() != null && d.getType() != null && d.getCode().equals(String.valueOf(resultMap.get("industryCode"))) && "HYXLDM".equals(d.getType())).findFirst();
if (op.isPresent()) {
DataDictionary dataDictionary = op.get();
industryName = dataDictionary.getName();
}
}
String approveDate = String.valueOf(resultMap.get("approval_time"));
approveDate = approveDate.contains("年") ? approveDate.replace("年", "-") : approveDate;
approveDate = approveDate.contains("月") ? approveDate.replace("月", "-") : approveDate;
approveDate = approveDate.contains("日") ? approveDate.replace("日", "-") : approveDate;
RegUnitIcDto regUnitIcDto = new RegUnitIcDto();
regUnitIcDto.setUnitCode(regUnitInfoDto.getUnitCode());
try {
regUnitIcDto.setApprovedDate(DateUtils.dateParse(approveDate, "yyyy-MM-dd"));
} catch (ParseException e) {
e.printStackTrace();
}
regUnitIcDto.setUnitName(regUnitInfoDto.getName());
regUnitIcDto.setRegisteredOrgan(String.valueOf(resultMap.get("registration_authority")));
regUnitIcDto.setBusinessState(String.valueOf(resultMap.get("operating_status")));
regUnitIcDto.setProvince("陕西省");
regUnitIcDto.setCity(regUnitInfoDto.getCity());
regUnitIcDto.setDistrict(regUnitInfoDto.getDistrict());
regUnitIcDto.setStree(regUnitInfoDto.getStree());
regUnitIcDto.setCommunity(regUnitInfoDto.getCommunity());
regUnitIcDto.setAddress(regUnitInfoDto.getAddress());
regUnitIcDto.setLegalPerson(regUnitInfoDto.getLegalPerson());
regUnitIcDto.setIndustryName(industryName);
regUnitInfoDto.setRegUnitIc(regUnitIcDto);
} else {
regUnitInfoDto.setRegUnitIc(new RegUnitIcDto());
}
} else if ("6598".equals(registerType)) {
TzsBaseInstitution regUnitMessage = tzsBaseInstitutionMapper.selectOne(new LambdaQueryWrapper<TzsBaseInstitution>().eq(TzsBaseInstitution::getUseCode, unitCode));
TzsBaseInstitutionDto institutionDto = new TzsBaseInstitutionDto();
if (!ObjectUtils.isEmpty(regUnitMessage)) {
BeanUtils.copyProperties(regUnitMessage, institutionDto);
}
regUnitInfoDto.setRegUnitMessage(institutionDto);
}
// 2.3 许可信息组装
List<BaseUnitLicence> unitLicences = baseUnitLicenceService
.list(new LambdaQueryWrapper<BaseUnitLicence>().eq(BaseUnitLicence::getUnitCode, unitCode));
regUnitInfoDto.setUnitLicences(Bean.toModels(unitLicences, BaseUnitLicenceDto.class));
return regUnitInfoDto;
}
@Override
public List<DataDictionary> getUnitTypeList() {
return this.setAndGetUnitTypeList();
}
......@@ -1128,8 +1023,126 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
}
@Override
public RegUnitInfoDto regBeforeCheckForEnterprises(String unitCode, Boolean isNationwide) {
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
startPlatformTokenService.getToken();
// 1.唯一性检验
checkForReg(unitCode);
// 2.省内注册时,查询工商信息
if (!isNationwide) {
//2.1 工商信息查询
Map<String, Object> resultMap = accessFeignService.getData(unitCode).getResult();
if (resultMap == null) {
throw new BadRequest("工商信息接口查询失败,请稍后再试!");
}
if (ObjectUtils.isEmpty(resultMap)) {
throw new BadRequest("未查询到企业信息,请核对!");
}
if (!ValidationUtil.isEmpty(resultMap)) {
// 2.2 工商信息组装
String area = String.valueOf(resultMap.get("area"));
String city = area.substring(0, area.indexOf("市") + 1);
String district = area.substring(city.length());
if ("高新区".equals(district)) {
district = "雁塔区";
}
regUnitInfoDto.setCity(city);
regUnitInfoDto.setDistrict(district);
regUnitInfoDto.setStree(String.valueOf(resultMap.get("street")));
regUnitInfoDto.setCommunity(String.valueOf(resultMap.get("community")));
regUnitInfoDto.setAddress(String.valueOf(resultMap.get("address")));
regUnitInfoDto.setUnitCode(String.valueOf(resultMap.get("creditCode")));
regUnitInfoDto.setName(String.valueOf(resultMap.get("unitName")));
regUnitInfoDto.setLegalPerson(String.valueOf(resultMap.get("legalPeople")));
String industryName = "";
if (ObjectUtils.isNotEmpty(resultMap.get("industryCode"))) {
List<DataDictionary> dictionaries = this.initAllDataDictionaryList();
Optional<DataDictionary> op = dictionaries.stream().filter(d -> d.getCode() != null && d.getType() != null && d.getCode().equals(String.valueOf(resultMap.get("industryCode"))) && "HYXLDM".equals(d.getType())).findFirst();
if (op.isPresent()) {
DataDictionary dataDictionary = op.get();
industryName = dataDictionary.getName();
}
}
String approveDate = String.valueOf(resultMap.get("approval_time"));
approveDate = approveDate.contains("年") ? approveDate.replace("年", "-") : approveDate;
approveDate = approveDate.contains("月") ? approveDate.replace("月", "-") : approveDate;
approveDate = approveDate.contains("日") ? approveDate.replace("日", "-") : approveDate;
RegUnitIcDto regUnitIcDto = new RegUnitIcDto();
regUnitIcDto.setUnitCode(regUnitInfoDto.getUnitCode());
regUnitIcDto.setApprovedDate(DateUtil.parse(approveDate, "yyyy-MM-dd"));
regUnitIcDto.setUnitName(regUnitInfoDto.getName());
regUnitIcDto.setRegisteredOrgan(String.valueOf(resultMap.get("registration_authority")));
regUnitIcDto.setBusinessState(String.valueOf(resultMap.get("operating_status")));
regUnitIcDto.setProvince("陕西省");
regUnitIcDto.setCity(regUnitInfoDto.getCity());
regUnitIcDto.setDistrict(regUnitInfoDto.getDistrict());
regUnitIcDto.setStree(regUnitInfoDto.getStree());
regUnitIcDto.setCommunity(regUnitInfoDto.getCommunity());
regUnitIcDto.setAddress(regUnitInfoDto.getAddress());
regUnitIcDto.setLegalPerson(regUnitInfoDto.getLegalPerson());
regUnitIcDto.setIndustryName(industryName);
regUnitInfoDto.setRegUnitIc(regUnitIcDto);
} else {
regUnitInfoDto.setRegUnitIc(new RegUnitIcDto());
}
}
// 3 许可信息组装
List<BaseUnitLicence> unitLicences = baseUnitLicenceService
.list(new LambdaQueryWrapper<BaseUnitLicence>().eq(BaseUnitLicence::getUnitCode, unitCode));
regUnitInfoDto.setUnitLicences(Bean.toModels(unitLicences, BaseUnitLicenceDto.class));
return regUnitInfoDto;
}
@Override
public List<DataDictionary> getXkItemList(String type) {
List<DataDictionary> dictionaries = this.initAllDataDictionaryList();
return dictionaries.stream().parallel().filter(d -> ("XK-" + type).equals(d.getExtend())).collect(Collectors.toList());
}
@Override
public RegUnitInfoDto regBeforeCheckForCause(String unitCode, Boolean isNationwide) {
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
// 1.唯一性检验
startPlatformTokenService.getToken();
checkForReg(unitCode);
// 2.省内时数据组装
if (!isNationwide) {
TzsBaseInstitution regUnitMessage = tzsBaseInstitutionMapper.selectOne(new LambdaQueryWrapper<TzsBaseInstitution>().eq(TzsBaseInstitution::getUseCode, unitCode));
TzsBaseInstitutionDto institutionDto = new TzsBaseInstitutionDto();
if (!ObjectUtils.isEmpty(regUnitMessage)) {
BeanUtils.copyProperties(regUnitMessage, institutionDto);
}
regUnitInfoDto.setRegUnitMessage(institutionDto);
}
// 3.许可信息组装
List<BaseUnitLicence> unitLicences = baseUnitLicenceService
.list(new LambdaQueryWrapper<BaseUnitLicence>().eq(BaseUnitLicence::getUnitCode, unitCode));
regUnitInfoDto.setUnitLicences(Bean.toModels(unitLicences, BaseUnitLicenceDto.class));
return regUnitInfoDto;
}
private void checkForReg(String unitCode) {
FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyCode(unitCode);
if (result.getResult() != null) {
throw new BadRequest("重复的注册编码");
}
}
@Override
public RegUnitInfoDto regBeforeCheckForPerson(String unitCode, String cardType) {
RegUnitInfoDto regUnitInfoDto = new RegUnitInfoDto();
startPlatformTokenService.getToken();
if ("6600".equals(cardType)) {
boolean b = IdcardUtil.isValidCard(unitCode);
if (!b) {
throw new BadRequest("非法的证件号码");
}
}
unitCode = cardType + "_" + unitCode;
FeignClientResult<CompanyModel> result = Privilege.companyClient.queryByCompanyCode(unitCode);
if (result.getResult() != null) {
throw new BadRequest("重复的证件号码!");
}
return regUnitInfoDto;
}
}
\ No newline at end of file
......@@ -168,4 +168,9 @@ tzs.auth.user.photo=/public/common/userPic.png
tzs.WxApp.appId=wx48a1b1915b10d14b
tzs.WxApp.secret=ac4f4a9d3c97676badb70c19a2f37b16
tzs.WxApp.grant-type=authorization_code
\ No newline at end of file
tzs.WxApp.grant-type=authorization_code
# ??????(0<=datacenter-id<=31)
mybatis-plus.global-config.datacenter-id=1
# ??????(0<=worker-id<=31)
mybatis-plus.global-config.worker-id=2
\ No newline at end of file
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.patrol.business.data;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege;
......@@ -50,7 +50,7 @@ public class CheckRecordDataConsumer implements Runnable {
private AmosRequestContext requestContext;
private Sequence sequence;
private SnowflakeIdUtil sequence;
private CheckMapper checkMapper;
......@@ -66,7 +66,7 @@ public class CheckRecordDataConsumer implements Runnable {
inputItemDao = applicationContext.getBean(IInputItemDao.class);
planTaskDetailMapper = applicationContext.getBean(PlanTaskDetailMapper.class);
requestContext = applicationContext.getBean(AmosRequestContext.class);
sequence = applicationContext.getBean(Sequence.class);
sequence = applicationContext.getBean(SnowflakeIdUtil.class);
checkMapper = applicationContext.getBean(CheckMapper.class);
checkInputMapper = applicationContext.getBean(CheckInputMapper.class);
}
......
......@@ -157,7 +157,6 @@ public class YsEmergencyCaseController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/import")
@ApiOperation(httpMethod = "POST", value = "救援案例列表数据导入", notes = "救援案例列表数据导入")
@CrossOrigin("*")
public ResponseModel<Object> expertDataImport(@RequestBody MultipartFile file) {
// 校验文件是否为空
if (file.isEmpty()) {
......
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