Commit 444b8037 authored by 刘林's avatar 刘林

Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into…

Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into develop_tzs_register_to_0715
parents 75c40a85 eeb29b0e
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeVehicleRegistrationUnitDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeVehicleRegistrationUnitDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -25,4 +26,6 @@ public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChan ...@@ -25,4 +26,6 @@ public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChan
@Param("orgCode") String orgCode, @Param("orgCode") String orgCode,
@Param("currentUserId") String currentUserId, @Param("currentUserId") String currentUserId,
@Param("roleIds") List<String> roleIds); @Param("roleIds") List<String> roleIds);
List<CompanyEquipCountDto> queryForFlowingEquipList();
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation; import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
...@@ -39,4 +40,6 @@ public interface JgVehicleInformationMapper extends BaseMapper<JgVehicleInformat ...@@ -39,4 +40,6 @@ public interface JgVehicleInformationMapper extends BaseMapper<JgVehicleInformat
@Select("select name from tz_equipment_category where code=#{code}") @Select("select name from tz_equipment_category where code=#{code}")
String getEquCategoryNameByCode(String code); String getEquCategoryNameByCode(String code);
List<CompanyEquipCountDto> queryForFlowingEquipList();
} }
...@@ -96,5 +96,14 @@ ...@@ -96,5 +96,14 @@
order by cru.rec_date desc order by cru.rec_date desc
</select> </select>
<select id="queryForFlowingEquipList" resultType="com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto">
select a.use_unit_credit_code as companyCode,
group_concat(b.equ_id) as records
from tzs_jg_change_vehicle_registration_unit a,
tzs_jg_change_vehicle_registration_unit_eq b
where a.sequence_nbr = b.unit_change_id
and a.status in ('三级待受理', '二级待受理', '一级待受理')
GROUP BY a.use_unit_credit_code
</select>
</mapper> </mapper>
...@@ -192,23 +192,24 @@ ...@@ -192,23 +192,24 @@
ORDER BY INSPECT_DATE desc LIMIT 1 ORDER BY INSPECT_DATE desc LIMIT 1
</select> </select>
<select id="getUseDetail" resultType="java.util.Map"> <select id="getUseDetail" resultType="java.util.Map">
SELECT USE_UNIT_NAME as useUnitName, SELECT ibjui.USE_UNIT_NAME as useUnitName,
USE_UNIT_CREDIT_CODE as useUnitCreditCode, ibjui.USE_UNIT_CREDIT_CODE as useUnitCreditCode,
USE_PLACE as usePlace, ibjui.USE_PLACE as usePlace,
SAFETY_MANAGER as safetyManager, ibjui.SAFETY_MANAGER as safetyManager,
SAFETY_MANAGER_CODE as safetyManagerCode, ibjui.SAFETY_MANAGER_CODE as safetyManagerCode,
PHONE as phone, concat(tzi.sequence_nbr,'_',SAFETY_MANAGER) as safetyManagerSeq,
concat(ESTATE_UNIT_CREDIT_CODE, '_', ESTATE_UNIT_NAME) as estateUnitName, ibjui."PHONE" as phone,
concat(ibjui.ESTATE_UNIT_CREDIT_CODE, '_', ibjui.ESTATE_UNIT_NAME) as estateUnitName,
-- ESTATE_UNIT_NAME as estateUnitName, -- ESTATE_UNIT_NAME as estateUnitName,
-- ESTATE_UNIT_CREDIT_CODE as estateUnitCreditCode, -- ESTATE_UNIT_CREDIT_CODE as estateUnitCreditCode,
ADDRESS as address, ibjui.ADDRESS as address,
PROVINCE as province, ibjui.PROVINCE as province,
CITY as city, ibjui.CITY as city,
COUNTY as county, ibjui.COUNTY as county,
USE_INNER_CODE as useInnerCode, ibjui.USE_INNER_CODE as useInnerCode,
LONGITUDE_LATITUDE as longitudeLatitude, ibjui.LONGITUDE_LATITUDE as longitudeLatitude,
FACTORY_USE_SITE_STREET as factoryUseSiteStreet ibjui.FACTORY_USE_SITE_STREET as factoryUseSiteStreet
FROM "idx_biz_jg_use_info" where RECORD = #{id} FROM "idx_biz_jg_use_info" ibjui left join tzs_user_info tzi on ibjui."PHONE" = tzi."phone" where RECORD = #{id}
</select> </select>
<select id="getEquipListPage" resultType="java.util.Map"> <select id="getEquipListPage" resultType="java.util.Map">
SELECT jri.EQU_CODE as equCode, SELECT jri.EQU_CODE as equCode,
......
...@@ -261,5 +261,13 @@ ...@@ -261,5 +261,13 @@
</foreach> </foreach>
ORDER BY ui.REC_DATE DESC ORDER BY ui.REC_DATE DESC
</select> </select>
<select id="queryForFlowingEquipList" resultType="com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto">
select a.use_unit_credit_code as companyCode,
group_concat(b.equ_id) as records
from tzs_jg_vehicle_information a,
tzs_jg_vehicle_information_eq b
where a.sequence_nbr = b.vehicle_id
and a.status in ('三级待受理', '二级待受理', '一级待受理')
GROUP BY a.use_unit_credit_code
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author Administrator
*/
@Component
@Slf4j
public class JgChangeVehicleRegistrationUnitEquipUsedCheckImpl extends BaseEquipUsedCheckService {
private RedissonClient redissonClient;
private String bizType = "vehicleGasCylinderChange";
private JgChangeVehicleRegistrationUnitMapper mapper;
public JgChangeVehicleRegistrationUnitEquipUsedCheckImpl(RedissonClient redissonClient, JgChangeVehicleRegistrationUnitMapper mapper) {
this.redissonClient = redissonClient;
this.mapper = mapper;
}
@Override
public RedissonClient getRedisClient() {
return redissonClient;
}
@Override
public String getApplyBizType() {
return bizType;
}
@Override
public void init() {
// 初始化已经完成或者在流程中安装告知的设备数据
List<CompanyEquipCountDto> companyEquipCountDtos = mapper.queryForFlowingEquipList();
companyEquipCountDtos.forEach(c -> {
RBucket<Set<String>> rBucket = redissonClient.getBucket(getFlowingEquipRedisKey(c.getCompanyCode(), bizType));
rBucket.set(Arrays.stream(c.getRecords().split(",")).collect(Collectors.toSet()));
});
}
}
...@@ -17,6 +17,9 @@ import com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum; ...@@ -17,6 +17,9 @@ import com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeVehicleRegistrationUnitService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeVehicleRegistrationUnitService;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; 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.service.ICommonService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
...@@ -43,10 +46,12 @@ import org.typroject.tyboot.core.foundation.context.RequestContext; ...@@ -43,10 +46,12 @@ import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XIAN_YANG; import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XIAN_YANG;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XIAN; import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XIAN;
...@@ -60,6 +65,7 @@ import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XI ...@@ -60,6 +65,7 @@ import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XI
public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgChangeVehicleRegistrationUnitDto, JgChangeVehicleRegistrationUnit, JgChangeVehicleRegistrationUnitMapper> implements IJgChangeVehicleRegistrationUnitService { public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgChangeVehicleRegistrationUnitDto, JgChangeVehicleRegistrationUnit, JgChangeVehicleRegistrationUnitMapper> implements IJgChangeVehicleRegistrationUnitService {
private static final String SUBMIT_TYPE_FLOW = "1"; private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "vehicleGasCylinderChange"; private static final String PROCESS_DEFINITION_KEY = "vehicleGasCylinderChange";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成");
private static final String BUSINESS_NAME = "车用气瓶变更"; private static final String BUSINESS_NAME = "车用气瓶变更";
private static final String template = "发起【车用气瓶变更登记】业务申请,【申请单号:%s】"; private static final String template = "发起【车用气瓶变更登记】业务申请,【申请单号:%s】";
@Autowired @Autowired
...@@ -125,93 +131,145 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -125,93 +131,145 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 600000) @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 600000)
public List<JgChangeVehicleRegistrationUnit> saveMessage(JSONObject map, ReginParams reginParams) { public List<JgChangeVehicleRegistrationUnit> saveMessage(JSONObject map, ReginParams reginParams) {
JgChangeVehicleRegistrationUnit dto = new JgChangeVehicleRegistrationUnit(); try {
if (!map.containsKey("sequenceNbr")) { JgChangeVehicleRegistrationUnit dto = new JgChangeVehicleRegistrationUnit();
// 新增 if (!ObjectUtils.isEmpty(map.get("submit")) && SUBMIT_TYPE_FLOW.equals(map.get("submit").toString())) {
BeanUtil.copyProperties(map, dto); if (map.containsKey("dataList")) {
dto.setCreateDate(new Date()); List<Map<String, Object>> equipList = new ArrayList<>();
dto.setCreateUserId(reginParams.getUserModel().getUserId()); JSONArray objects = JSONObject.parseArray(JSON.toJSONString(map.get("dataList")));
dto.setCreateUserName(reginParams.getUserModel().getRealName()); objects.forEach(data -> {
dto.setRecDate(new Date()); Map<String, Object> equ = new HashMap<>();
dto.setRecUserId(reginParams.getUserModel().getUserId()); JSONObject object = JSONObject.parseObject(data.toString());
changeData(dto); equ.put("record", object.get("record"));
if (map.containsKey("useRegistrationCode") && !ObjectUtils.isEmpty(map.get("useRegistrationCode"))) { equipList.add(equ);
dto.setUseRegistCode(map.get("useRegistrationCode").toString()); });
this.repeatUsedEquipCheck(equipList, reginParams.getCompany().getCompanyCode());
}
} }
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(map.get("businessCode"))), 1); if (!map.containsKey("sequenceNbr")) {
if (!ObjectUtils.isEmpty(listResponseModel)) { // 新增
dto.setApplyNo(listResponseModel.getResult().get(0)); BeanUtil.copyProperties(map, dto);
dto.setApplyDate(new Date()); dto.setCreateDate(new Date());
dto.setCreateUserId(reginParams.getUserModel().getUserId());
dto.setCreateUserName(reginParams.getUserModel().getRealName());
dto.setRecDate(new Date());
dto.setRecUserId(reginParams.getUserModel().getUserId());
changeData(dto);
if (map.containsKey("useRegistrationCode") && !ObjectUtils.isEmpty(map.get("useRegistrationCode"))) {
dto.setUseRegistCode(map.get("useRegistrationCode").toString());
}
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(map.get("businessCode"))), 1);
if (!ObjectUtils.isEmpty(listResponseModel)) {
dto.setApplyNo(listResponseModel.getResult().get(0));
dto.setApplyDate(new Date());
}
dto.setStatus("使用单位待提交");
this.save(dto);
} else {
// 更新
JgChangeVehicleRegistrationUnit updateDto = this.getById(Long.parseLong(map.get("sequenceNbr").toString()));
BeanUtil.copyProperties(map, updateDto);
changeData(updateDto);
this.updateById(updateDto);
BeanUtil.copyProperties(updateDto, dto);
} }
dto.setStatus("使用单位待提交"); // 更新业务关联设备表
this.save(dto); saveChangeVehicleEq(dto, map);
} else { // 更新历史表信息
// 更新 saveHistory(dto, map);
JgChangeVehicleRegistrationUnit updateDto = this.getById(Long.parseLong(map.get("sequenceNbr").toString())); // 是否发起流程
BeanUtil.copyProperties(map, updateDto); if (!ObjectUtils.isEmpty(map.get("submit")) && SUBMIT_TYPE_FLOW.equals(map.get("submit").toString())) {
changeData(updateDto); // 删除暂存代办
this.updateById(updateDto); commonServiceImpl.deleteTasksByRelationId(String.valueOf(dto.getSequenceNbr()));
BeanUtil.copyProperties(updateDto, dto); String instanceId = "";
} if (!ObjectUtils.isEmpty(map.get("instanceId"))) {
// 更新业务关联设备表 instanceId = map.get("instanceId").toString();
saveChangeVehicleEq(dto, map); } else {
// 更新历史表信息 // 启动并执行流程
saveHistory(dto, map); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
// 是否发起流程 ActWorkflowStartDTO workflowDto = new ActWorkflowStartDTO();
if (!ObjectUtils.isEmpty(map.get("submit")) && SUBMIT_TYPE_FLOW.equals(map.get("submit").toString())) { ArrayList<ActWorkflowStartDTO> list = new ArrayList<>();
// 删除暂存代办 workflowDto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
commonServiceImpl.deleteTasksByRelationId(String.valueOf(dto.getSequenceNbr())); workflowDto.setBusinessKey("1");
String instanceId = ""; workflowDto.setCompleteFirstTask(Boolean.TRUE);
if (!ObjectUtils.isEmpty(map.get("instanceId"))) { // 接受机构
instanceId = map.get("instanceId").toString(); workflowDto.setNextExecuteUserCompanyCode(dto.getReceiveCompanyCode());
list.add(workflowDto);
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResultDto = resultDto.get(0);
updateData(dto.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE);
}
}
if (!ObjectUtils.isEmpty(instanceId)) {
// 执行流程
flowExecute(dto.getSequenceNbr(), instanceId, "0", "", String.valueOf(map.get("nextTaskId")));
}
} else { } else {
// 启动并执行流程 if (ObjectUtils.isEmpty(map.get("instanceId"))) {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ArrayList<TaskModelDto> list = new ArrayList<>();
ActWorkflowStartDTO workflowDto = new ActWorkflowStartDTO(); TaskModelDto taskDto = new TaskModelDto();
ArrayList<ActWorkflowStartDTO> list = new ArrayList<>(); TaskMessageDto taskMessageDto = new TaskMessageDto();
workflowDto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY); BeanUtil.copyProperties(dto, taskMessageDto);
workflowDto.setBusinessKey("1"); // 数据参数
workflowDto.setCompleteFirstTask(Boolean.TRUE); taskDto.setModel(taskMessageDto);
// 接受机构 // 摘要
workflowDto.setNextExecuteUserCompanyCode(dto.getReceiveCompanyCode()); taskDto.setTaskContent(String.format(template, dto.getApplyNo()));
list.add(workflowDto); // 申请单号
actWorkflowBatchDTO.setProcess(list); taskDto.setTaskCode(dto.getApplyNo());
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO); // 业务类型
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS); taskDto.setTaskType(String.valueOf(BusinessTypeEnum.JG_VEHICLE_GAS_CYLINDER_CHANGE.getCode()));
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) { // 业务主键
WorkflowResultDto workflowResultDto = resultDto.get(0); taskDto.setRelationId(String.valueOf(dto.getSequenceNbr()));
updateData(dto.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE); taskDto.setNextExecuteUser("");
list.add(taskDto);
commonServiceImpl.buildTaskModel(list);
} }
} }
if (!ObjectUtils.isEmpty(instanceId)) { return Collections.singletonList(dto);
// 执行流程 } catch (BadRequest | LocalBadRequest e) {
flowExecute(dto.getSequenceNbr(), instanceId, "0", "", String.valueOf(map.get("nextTaskId"))); log.error(e.getMessage(), e);
} this.rollBackForDelRedisData();
} else { throw e;
if (ObjectUtils.isEmpty(map.get("instanceId"))) { } catch (Exception e) {
ArrayList<TaskModelDto> list = new ArrayList<>(); log.error(e.getMessage(), e);
TaskModelDto taskDto = new TaskModelDto(); this.rollBackForDelRedisData();
TaskMessageDto taskMessageDto = new TaskMessageDto(); throw new BadRequest("保存失败!");
BeanUtil.copyProperties(dto, taskMessageDto); } finally {
// 数据参数 FlowingEquipRedisContext.clean();
taskDto.setModel(taskMessageDto); }
// 摘要 }
taskDto.setTaskContent(String.format(template, dto.getApplyNo()));
// 申请单号 private void repeatUsedEquipCheck(List<Map<String, Object>> equipList, String companyCode) {
taskDto.setTaskCode(dto.getApplyNo()); equipList.forEach(equipMap -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
// 业务类型 .equipRepeatUsedCheck(String.valueOf(equipMap.get("record")), companyCode));
taskDto.setTaskType(String.valueOf(BusinessTypeEnum.JG_VEHICLE_GAS_CYLINDER_CHANGE.getCode())); }
// 业务主键
taskDto.setRelationId(String.valueOf(dto.getSequenceNbr())); /**
taskDto.setNextExecuteUser(""); * 删除 redis校验重复引用设备的数据
list.add(taskDto); */
commonServiceImpl.buildTaskModel(list); private void delRepeatUseEquipData(JgChangeVehicleRegistrationUnit notice) {
} if (NOT_FLOWING_STATE.contains(notice.getStatus())) {
LambdaQueryWrapper<JgChangeVehicleRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgChangeVehicleRegistrationUnitEq::getUnitChangeId, notice.getSequenceNbr());
List<JgChangeVehicleRegistrationUnitEq> noticeEqList = jgChangeVehicleRegistrationUnitEqService.list(queryWrapper);
noticeEqList.forEach(noticeEq -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.delDataForCheckEquipRepeatUsed(Collections.singletonList(noticeEq.getEquId()), notice.getNewUseUnitCreditCode()));
} }
return Collections.singletonList(dto);
} }
public Page<Map<String, Object>> getPage(Page<JgChangeVehicleRegistrationUnit> page, JgChangeVehicleRegistrationUnitDto dto, String type, ReginParams reginParams) { private void rollBackForDelRedisData() {
FlowingEquipRedisContext.getContext().forEach(e -> {
EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.delDataForCheckWithKey(e.getData(), e.getRedisKey());
});
}
public Page<Map<String, Object>> getPage
(Page<JgChangeVehicleRegistrationUnit> page, JgChangeVehicleRegistrationUnitDto dto, String type, ReginParams
reginParams) {
String orgCode = reginParams.getCompany().getCompanyCode(); String orgCode = reginParams.getCompany().getCompanyCode();
String currentUserId = reginParams.getUserModel().getUserId(); String currentUserId = reginParams.getUserModel().getUserId();
return this.getBaseMapper().getPage(page, dto, type, orgCode, currentUserId, dto.getRoleIds()); return this.getBaseMapper().getPage(page, dto, type, orgCode, currentUserId, dto.getRoleIds());
...@@ -257,6 +315,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -257,6 +315,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
updateData(jgChangeVehicleRegistrationUnit.getSequenceNbr(), operate, workflowResultDto, Boolean.FALSE); updateData(jgChangeVehicleRegistrationUnit.getSequenceNbr(), operate, workflowResultDto, Boolean.FALSE);
} }
this.delRepeatUseEquipData(jgChangeVehicleRegistrationUnit);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
...@@ -267,7 +326,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -267,7 +326,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
} }
public JgChangeVehicleRegistrationUnit updateData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, Boolean isFirst) { public JgChangeVehicleRegistrationUnit updateData(Long sequenceNbr, String operate, WorkflowResultDto
workflowResultDto, Boolean isFirst) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = workflowResultDto.getNextExecutorRoleIds(); String role = workflowResultDto.getNextExecutorRoleIds();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
...@@ -351,7 +411,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -351,7 +411,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return jgChangeVehicleRegistrationUnit; return jgChangeVehicleRegistrationUnit;
} }
public void updateEsData(List<String> ids, JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, String useRegistCode) { public void updateEsData(List<String> ids, JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit, String useRegistCode) {
// 更新es // 更新es
HashMap<String, Map<String, Object>> objMap = new HashMap<>(); HashMap<String, Map<String, Object>> objMap = new HashMap<>();
ids.forEach(item -> { ids.forEach(item -> {
...@@ -452,7 +513,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -452,7 +513,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
/** /**
* 生成监管码 * 生成监管码
*/ */
public void createCode(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, String equCategory, String record) { public void createCode(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, String
equCategory, String record) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("cityCode", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? XIAN_YANG.getCode() : jgChangeVehicleRegistrationUnit.getVehicleApanage()); map.put("cityCode", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? XIAN_YANG.getCode() : jgChangeVehicleRegistrationUnit.getVehicleApanage());
map.put("isXiXian", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? "1" : "0"); map.put("isXiXian", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? "1" : "0");
...@@ -487,7 +549,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -487,7 +549,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return stringResponseModel.getResult(); return stringResponseModel.getResult();
} }
public InstanceRuntimeData buildInstanceRuntimeData(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) { public InstanceRuntimeData buildInstanceRuntimeData(JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit) {
return InstanceRuntimeData.builder() return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgChangeVehicleRegistrationUnit.getNextExecuteUserIds()) .nextExecuteUserIds(jgChangeVehicleRegistrationUnit.getNextExecuteUserIds())
.promoter(jgChangeVehicleRegistrationUnit.getPromoter()) .promoter(jgChangeVehicleRegistrationUnit.getPromoter())
...@@ -509,7 +572,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -509,7 +572,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return commonServiceImpl.updateTaskModel(params); return commonServiceImpl.updateTaskModel(params);
} }
public void buildTask(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, WorkflowResultDto workflowResultDto) { public void buildTask(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, WorkflowResultDto
workflowResultDto) {
// 代办消息 // 代办消息
ArrayList<TaskModelDto> list = new ArrayList<>(); ArrayList<TaskModelDto> list = new ArrayList<>();
TaskModelDto dto = new TaskModelDto(); TaskModelDto dto = new TaskModelDto();
...@@ -588,7 +652,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -588,7 +652,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
/** /**
* 分页查询 * 分页查询
*/ */
public Page<JgChangeVehicleRegistrationUnitDto> queryForJgChangeVehicleRegistrationUnitPage(Page<JgChangeVehicleRegistrationUnitDto> page) { public Page<JgChangeVehicleRegistrationUnitDto> queryForJgChangeVehicleRegistrationUnitPage
(Page<JgChangeVehicleRegistrationUnitDto> page) {
return this.queryForPage(page, null, false); return this.queryForPage(page, null, false);
} }
...@@ -714,6 +779,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -714,6 +779,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
commonServiceImpl.rollbackTask(instanceId, jsonObject); commonServiceImpl.rollbackTask(instanceId, jsonObject);
// redis流程实时数据更新 // redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(data)); commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(data));
this.delRepeatUseEquipData(data);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
......
...@@ -1696,6 +1696,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1696,6 +1696,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
detail.putAll(inspectDetail); detail.putAll(inspectDetail);
} }
if (!ObjectUtils.isEmpty(useDetail)) { if (!ObjectUtils.isEmpty(useDetail)) {
useDetail.put("safetyManager", useDetail.get("safetyManagerSeq"));
detail.putAll(useDetail); detail.putAll(useDetail);
} }
if (!ObjectUtils.isEmpty(desDetail)) { if (!ObjectUtils.isEmpty(desDetail)) {
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author Administrator
*/
@Component
@Slf4j
public class JgVehicleInformationEquipUsedCheckImpl extends BaseEquipUsedCheckService {
private RedissonClient redissonClient;
private String bizType = "vehicleInformation";
private JgVehicleInformationMapper mapper;
public JgVehicleInformationEquipUsedCheckImpl(RedissonClient redissonClient, JgVehicleInformationMapper mapper) {
this.redissonClient = redissonClient;
this.mapper = mapper;
}
@Override
public RedissonClient getRedisClient() {
return redissonClient;
}
@Override
public String getApplyBizType() {
return bizType;
}
@Override
public void init() {
// 初始化已经完成或者在流程中安装告知的设备数据
List<CompanyEquipCountDto> companyEquipCountDtos = mapper.queryForFlowingEquipList();
companyEquipCountDtos.forEach(c -> {
RBucket<Set<String>> rBucket = redissonClient.getBucket(getFlowingEquipRedisKey(c.getCompanyCode(), bizType));
rBucket.set(Arrays.stream(c.getRecords().split(",")).collect(Collectors.toSet()));
});
}
}
...@@ -27,6 +27,8 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationService; ...@@ -27,6 +27,8 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationService;
import com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter; import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter;
...@@ -96,6 +98,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -96,6 +98,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
"equipCode", "equipCategory", "useInnerCode", "factoryNum", "giveOutYear", "equipCode", "equipCategory", "useInnerCode", "factoryNum", "giveOutYear",
"giveOutMonth", "giveOutDay" "giveOutMonth", "giveOutDay"
}; };
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成");
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired @Autowired
...@@ -123,8 +127,6 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -123,8 +127,6 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
@Autowired @Autowired
private IdxBizJgSupervisionInfoMapper idxBizJgSupervisionInfoMapper; private IdxBizJgSupervisionInfoMapper idxBizJgSupervisionInfoMapper;
@Autowired @Autowired
private InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
@Autowired
private DataDictionaryServiceImpl iDataDictionaryService; private DataDictionaryServiceImpl iDataDictionaryService;
@Autowired @Autowired
private TzsServiceFeignClient tzsServiceFeignClient; private TzsServiceFeignClient tzsServiceFeignClient;
...@@ -181,219 +183,258 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -181,219 +183,258 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public List<JgVehicleInformation> save(String submit, JSONObject map) { public List<JgVehicleInformation> save(String submit, JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class); try {
JgVehicleInformationDto vehicleInfoDto = JSON.parseObject(JSON.toJSONString(map), JgVehicleInformationDto.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
JgVehicleInformationDto vehicleInfoDto = JSON.parseObject(JSON.toJSONString(map), JgVehicleInformationDto.class);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
if (CollectionUtils.isEmpty(equipmentLists) ||
equipmentLists.stream().map(v -> (String) v.get("chargingMedium")).distinct().count() != 1) {
throw new BadRequest(CollectionUtils.isEmpty(equipmentLists) ? "请选择设备信息!" : "请选择相同充装介质设备!");
}
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = idxBizJgInspectionDetectionInfoService.checkInspectionInfo( List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
equipmentLists.stream() if (CollectionUtils.isEmpty(equipmentLists) ||
.map(v -> (String) v.get("record")) equipmentLists.stream().map(v -> (String) v.get("chargingMedium")).distinct().count() != 1) {
.collect(Collectors.toList()) throw new BadRequest(CollectionUtils.isEmpty(equipmentLists) ? "请选择设备信息!" : "请选择相同充装介质设备!");
); }
if (SUBMIT_TYPE_FLOW.equals(submit)) {
this.repeatUsedEquipCheck(equipmentLists, reginParams.getCompany().getCompanyCode());
}
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = idxBizJgInspectionDetectionInfoService.checkInspectionInfo(
equipmentLists.stream()
.map(v -> (String) v.get("record"))
.collect(Collectors.toList())
);
if (inspectionDetectionInfoList.stream().anyMatch(info -> if (inspectionDetectionInfoList.stream().anyMatch(info ->
ObjectUtils.isEmpty(info) || ObjectUtils.isEmpty(info.getInspectType()) || ObjectUtils.isEmpty(info) || ObjectUtils.isEmpty(info.getInspectType()) ||
ObjectUtils.isEmpty(info.getInspectConclusion()) || ObjectUtils.isEmpty(info.getInspectOrgCode()))) { ObjectUtils.isEmpty(info.getInspectConclusion()) || ObjectUtils.isEmpty(info.getInspectOrgCode()))) {
throw new BadRequest("请补充设备检验检测信息后提交!"); throw new BadRequest("请补充设备检验检测信息后提交!");
} }
vehicleInfoDto.setNextInspectionDate(inspectionDetectionInfoList.stream() vehicleInfoDto.setNextInspectionDate(inspectionDetectionInfoList.stream()
.map(IdxBizJgInspectionDetectionInfo::getNextInspectDate) .map(IdxBizJgInspectionDetectionInfo::getNextInspectDate)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.min(Date::compareTo) .min(Date::compareTo)
.orElse(null)); .orElse(null));
CompanyBo company = reginParams.getCompany();
vehicleInfoDto.setCreateDate(new Date());
vehicleInfoDto.setPromoter(reginParams.getUserModel().getUserId());
// 车牌号码 字段的唯一性校验
LambdaQueryWrapper<JgVehicleInformation> vehicleInfoWrapper = new LambdaQueryWrapper<JgVehicleInformation>()
.eq(JgVehicleInformation::getCarNumber, vehicleInfoDto.getCarNumber())
.eq(JgVehicleInformation::getIsDelete, false)
.ne(JgVehicleInformation::getStatus, "已作废")
.ne(JgVehicleInformation::getStatus, "使用单位待提交")
.ne(!ValidationUtil.isEmpty(vehicleInfoDto.getSequenceNbr()), JgVehicleInformation::getSequenceNbr, vehicleInfoDto.getSequenceNbr());
Integer count = this.baseMapper.selectCount(vehicleInfoWrapper);
if (count > 0) {
throw new LocalBadRequest("车牌号码已存在,请重新输入!");
}
CompanyBo company = reginParams.getCompany(); // 【A109】 车用气瓶登记业务 车辆VIN码 校验唯一性
vehicleInfoDto.setCreateDate(new Date()); LambdaQueryWrapper<JgVehicleInformation> informationLambdaQueryWrapper = new LambdaQueryWrapper<JgVehicleInformation>()
vehicleInfoDto.setPromoter(reginParams.getUserModel().getUserId()); .eq(JgVehicleInformation::getIdentificationCode, vehicleInfoDto.getIdentificationCode())
.eq(JgVehicleInformation::getIsDelete, false)
.ne(JgVehicleInformation::getStatus, "已作废")
.ne(JgVehicleInformation::getStatus, "使用单位待提交")
.ne(!ValidationUtil.isEmpty(vehicleInfoDto.getSequenceNbr()), JgVehicleInformation::getSequenceNbr, vehicleInfoDto.getSequenceNbr());
Integer identificationCodeCount = this.baseMapper.selectCount(informationLambdaQueryWrapper);
if (identificationCodeCount > 0) {
throw new BadRequest("车辆VIN码已存在,请重新输入!");
}
// 车牌号码 字段的唯一性校验 // 使用单位信息
LambdaQueryWrapper<JgVehicleInformation> vehicleInfoWrapper = new LambdaQueryWrapper<JgVehicleInformation>() if ("个人主体".equals(company.getCompanyType())) {
.eq(JgVehicleInformation::getCarNumber, vehicleInfoDto.getCarNumber()) vehicleInfoDto.setUseUnitName(company.getCompanyName().split("_")[1]);
.eq(JgVehicleInformation::getIsDelete, false) vehicleInfoDto.setUseUnitCreditCode(company.getCompanyCode().split("_")[1]);
.ne(JgVehicleInformation::getStatus, "已作废") } else {
.ne(JgVehicleInformation::getStatus, "使用单位待提交") vehicleInfoDto.setUseUnitName(company.getCompanyName());
.ne(!ValidationUtil.isEmpty(vehicleInfoDto.getSequenceNbr()), JgVehicleInformation::getSequenceNbr, vehicleInfoDto.getSequenceNbr()); vehicleInfoDto.setUseUnitCreditCode(company.getCompanyCode());
Integer count = this.baseMapper.selectCount(vehicleInfoWrapper); }
if (count > 0) {
throw new LocalBadRequest("车牌号码已存在,请重新输入!");
}
// 【A109】 车用气瓶登记业务 车辆VIN码 校验唯一性
LambdaQueryWrapper<JgVehicleInformation> informationLambdaQueryWrapper = new LambdaQueryWrapper<JgVehicleInformation>()
.eq(JgVehicleInformation::getIdentificationCode, vehicleInfoDto.getIdentificationCode())
.eq(JgVehicleInformation::getIsDelete, false)
.ne(JgVehicleInformation::getStatus, "已作废")
.ne(JgVehicleInformation::getStatus, "使用单位待提交")
.ne(!ValidationUtil.isEmpty(vehicleInfoDto.getSequenceNbr()), JgVehicleInformation::getSequenceNbr, vehicleInfoDto.getSequenceNbr());
Integer identificationCodeCount = this.baseMapper.selectCount(informationLambdaQueryWrapper);
if (identificationCodeCount > 0) {
throw new BadRequest("车辆VIN码已存在,请重新输入!");
}
// 使用单位信息 // 接收单位信息
if ("个人主体".equals(company.getCompanyType())) { if (!StringUtils.isEmpty(vehicleInfoDto.getReceiveOrgCode())) {
vehicleInfoDto.setUseUnitName(company.getCompanyName().split("_")[1]); String[] splitReceiveOrgCode = vehicleInfoDto.getReceiveOrgCode().split("_");
vehicleInfoDto.setUseUnitCreditCode(company.getCompanyCode().split("_")[1]); CompanyModel result = Privilege.companyClient.queryByCompanyCode(splitReceiveOrgCode[0]).getResult();
} else { vehicleInfoDto.setReceiveOrgCode(splitReceiveOrgCode[0]);
vehicleInfoDto.setUseUnitName(company.getCompanyName()); vehicleInfoDto.setReceiveOrgName(splitReceiveOrgCode[1]);
vehicleInfoDto.setUseUnitCreditCode(company.getCompanyCode()); vehicleInfoDto.setReceiveCompanyCode(result.getCompanyCode());
} }
//检验机构信息
if (!StringUtils.isEmpty(vehicleInfoDto.getInspectUnitCreditCode())) {
String[] splitInspectUnitCreditCode = vehicleInfoDto.getInspectUnitCreditCode().split("_");
vehicleInfoDto.setInspectUnitCreditCode(splitInspectUnitCreditCode[0]);
vehicleInfoDto.setInspectUnitName(splitInspectUnitCreditCode[1]);
}
//安装单位信息
if (!StringUtils.isEmpty(vehicleInfoDto.getInstallUnitCode())) {
String[] splitInstallUnitCode = vehicleInfoDto.getInstallUnitCode().split("_");
vehicleInfoDto.setInstallUnitCode(splitInstallUnitCode[0]);
vehicleInfoDto.setInstallUnitName(splitInstallUnitCode[1]);
}
//属地监管部门
if (!StringUtils.isEmpty(vehicleInfoDto.getOrgBranchCode())) {
String[] splitOrgBranchCode = vehicleInfoDto.getOrgBranchCode().split("_");
vehicleInfoDto.setOrgBranchCode(splitOrgBranchCode[0]);
vehicleInfoDto.setOrgBranchName(splitOrgBranchCode[1]);
}
// 安全管理员
Optional.ofNullable(map.getString("safetyManagerId"))
.filter(manager -> manager.contains("_"))
.map(manager -> manager.split("_"))
.ifPresent(data -> {
vehicleInfoDto.setSafetyManagerId(data[0]);
vehicleInfoDto.setSafetyManagerName(data[1]);
});
// 产权单位信息
if (!StringUtils.isEmpty(vehicleInfoDto.getEstateUnitName())) {
String[] data = String.valueOf(map.getString("estateUnitName")).split("_");
vehicleInfoDto.setEstateUnitCreditCode(data[0]);
vehicleInfoDto.setEstateUnitName(data[1]);
}
// 接收单位信息 // 其他附件
if (!StringUtils.isEmpty(vehicleInfoDto.getReceiveOrgCode())) { if (!ObjectUtils.isEmpty(map.get("otherAccessories"))) {
String[] splitReceiveOrgCode = vehicleInfoDto.getReceiveOrgCode().split("_"); vehicleInfoDto.setOtherAccessories(JSONObject.toJSONString(map.get("otherAccessories")));
CompanyModel result = Privilege.companyClient.queryByCompanyCode(splitReceiveOrgCode[0]).getResult(); }
vehicleInfoDto.setReceiveOrgCode(splitReceiveOrgCode[0]);
vehicleInfoDto.setReceiveOrgName(splitReceiveOrgCode[1]);
vehicleInfoDto.setReceiveCompanyCode(result.getCompanyCode());
}
//检验机构信息
if (!StringUtils.isEmpty(vehicleInfoDto.getInspectUnitCreditCode())) {
String[] splitInspectUnitCreditCode = vehicleInfoDto.getInspectUnitCreditCode().split("_");
vehicleInfoDto.setInspectUnitCreditCode(splitInspectUnitCreditCode[0]);
vehicleInfoDto.setInspectUnitName(splitInspectUnitCreditCode[1]);
}
//安装单位信息
if (!StringUtils.isEmpty(vehicleInfoDto.getInstallUnitCode())) {
String[] splitInstallUnitCode = vehicleInfoDto.getInstallUnitCode().split("_");
vehicleInfoDto.setInstallUnitCode(splitInstallUnitCode[0]);
vehicleInfoDto.setInstallUnitName(splitInstallUnitCode[1]);
}
//属地监管部门
if (!StringUtils.isEmpty(vehicleInfoDto.getOrgBranchCode())) {
String[] splitOrgBranchCode = vehicleInfoDto.getOrgBranchCode().split("_");
vehicleInfoDto.setOrgBranchCode(splitOrgBranchCode[0]);
vehicleInfoDto.setOrgBranchName(splitOrgBranchCode[1]);
}
// 安全管理员 JgVehicleInformation vehicleInformation = new JgVehicleInformation();
Optional.ofNullable(map.getString("safetyManagerId")) BeanUtils.copyProperties(vehicleInfoDto, vehicleInformation);
.filter(manager -> manager.contains("_")) vehicleInformation.setCreateUserId(reginParams.getUserModel().getUserId());
.map(manager -> manager.split("_")) vehicleInformation.setRegDate(new Date());
.ifPresent(data -> { vehicleInformation.setCreateUserName(reginParams.getUserModel().getRealName());
vehicleInfoDto.setSafetyManagerId(data[0]); vehicleInformation.setGasNum(equipmentLists.size());
vehicleInfoDto.setSafetyManagerName(data[1]); vehicleInformation.setVolume(String.valueOf(equipmentLists.stream()
.mapToDouble(x -> Double.parseDouble(String.valueOf(x.get("singleBottleVolume"))))
.sum()));
vehicleInformation.setFillingMedium(equipmentLists.get(0).get("chargingMedium") + "");
boolean hasId = StringUtils.isEmpty(vehicleInfoDto.getSequenceNbr());
//新增
if (hasId) {
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error("车用气瓶使用登记申请单单号获取失败!");
throw new BadRequest("车用气瓶使用登记申请单单号获取失败!");
}
String applyNo = listResponseModel.getResult().get(0);
vehicleInformation.setApplyNo(applyNo);
vehicleInformation.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.USE_SUBMIT.getPass() : WorkFlowStatusEnum.USE_RECEIVE.getPass());
this.save(vehicleInformation);
} else {
// 删除以前设备关联关系
this.getBaseMapper().updateById(vehicleInformation);
LambdaQueryWrapper<JgVehicleInformationEq> lambda = new QueryWrapper<JgVehicleInformationEq>().lambda();
lambda.eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr());
jgVehicleInformationEqService.getBaseMapper().delete(lambda);
}
// 更新关联气瓶信息
if (!CollectionUtils.isEmpty(equipmentLists)) {
List<JgVehicleInformationEq> equipList = new ArrayList<>();
equipmentLists.forEach(x -> {
JgVehicleInformationEq equip = new JgVehicleInformationEq();
equip.setEquId(String.valueOf(x.get("record")));
equip.setVehicleId(vehicleInformation.getSequenceNbr() + "");
equipList.add(equip);
jgResumeInfoService.createWithModel(JgResumeInfoDto.builder()
.applyNo(vehicleInformation.getApplyNo())
.businessType(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName())
.businessId(vehicleInformation.getSequenceNbr() + "")
.equId(String.valueOf(x.get("record")))
.approvalUnit(vehicleInformation.getReceiveOrgName())
.approvalUnitCode(vehicleInformation.getReceiveOrgCode())
.status("正常")
.build());
}); });
// 保存关联设备信息
// 产权单位信息 jgVehicleInformationEqService.saveBatch(equipList);
if (!StringUtils.isEmpty(vehicleInfoDto.getEstateUnitName())) {
String[] data = String.valueOf(map.getString("estateUnitName")).split("_");
vehicleInfoDto.setEstateUnitCreditCode(data[0]);
vehicleInfoDto.setEstateUnitName(data[1]);
}
// 其他附件
if (!ObjectUtils.isEmpty(map.get("otherAccessories"))) {
vehicleInfoDto.setOtherAccessories(JSONObject.toJSONString(map.get("otherAccessories")));
}
JgVehicleInformation vehicleInformation = new JgVehicleInformation();
BeanUtils.copyProperties(vehicleInfoDto, vehicleInformation);
vehicleInformation.setCreateUserId(reginParams.getUserModel().getUserId());
vehicleInformation.setRegDate(new Date());
vehicleInformation.setCreateUserName(reginParams.getUserModel().getRealName());
vehicleInformation.setGasNum(equipmentLists.size());
vehicleInformation.setVolume(String.valueOf(equipmentLists.stream()
.mapToDouble(x -> Double.parseDouble(String.valueOf(x.get("singleBottleVolume"))))
.sum()));
vehicleInformation.setFillingMedium(equipmentLists.get(0).get("chargingMedium") + "");
boolean hasId = StringUtils.isEmpty(vehicleInfoDto.getSequenceNbr());
//新增
if (hasId) {
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error("车用气瓶使用登记申请单单号获取失败!");
throw new BadRequest("车用气瓶使用登记申请单单号获取失败!");
} }
String applyNo = listResponseModel.getResult().get(0); // 判断当前是否为提交
vehicleInformation.setApplyNo(applyNo); if (SUBMIT_TYPE_FLOW.equals(submit)) {
vehicleInformation.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.USE_SUBMIT.getPass() : WorkFlowStatusEnum.USE_RECEIVE.getPass()); this.checkVesselCylinderIsUsed(vehicleInformation.getSequenceNbr(), equipmentLists.stream()
this.save(vehicleInformation); .map(x -> String.valueOf(x.get("record")))
} else { .collect(Collectors.toList()));
// 删除以前设备关联关系 List<String> roleListNext = new ArrayList<>();
this.getBaseMapper().updateById(vehicleInformation); List<String> roleListAll = new ArrayList<>();
LambdaQueryWrapper<JgVehicleInformationEq> lambda = new QueryWrapper<JgVehicleInformationEq>().lambda(); // 新增提交,没有instanceId需要发起流程
lambda.eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr()); if (StringUtils.isEmpty(vehicleInformation.getInstanceId())) {
jgVehicleInformationEqService.getBaseMapper().delete(lambda); // 启动并执行流程
} ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
// 更新关联气瓶信息 List<ActWorkflowStartDTO> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(equipmentLists)) { ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(DEFINITION_KEY);
List<JgVehicleInformationEq> equipList = new ArrayList<>(); dto.setBusinessKey(vehicleInformation.getApplyNo());
equipmentLists.forEach(x -> { dto.setCompleteFirstTask(Boolean.TRUE);
JgVehicleInformationEq equip = new JgVehicleInformationEq(); // 下一节点执行人单位(下节点接收机构code)
equip.setEquId(String.valueOf(x.get("record"))); dto.setNextExecuteUserCompanyCode(vehicleInformation.getReceiveCompanyCode());
equip.setVehicleId(vehicleInformation.getSequenceNbr() + ""); list.add(dto);
equipList.add(equip); actWorkflowBatchDTO.setProcess(list);
jgResumeInfoService.createWithModel(JgResumeInfoDto.builder() List<ProcessTaskDTO> processTasks = workflowService.startBatch(actWorkflowBatchDTO);
.applyNo(vehicleInformation.getApplyNo()) this.buildRoleList(processTasks, roleListNext, roleListAll);
.businessType(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName()) List<WorkflowResultDto> workflowResultDtoList = commonService.buildWorkFlowInfo(processTasks);
.businessId(vehicleInformation.getSequenceNbr() + "") if (!ObjectUtils.isEmpty(workflowResultDtoList) && !ObjectUtils.isEmpty(workflowResultDtoList.get(0))) {
.equId(String.valueOf(x.get("record"))) WorkflowResultDto workflowResultDto = workflowResultDtoList.get(0);
.approvalUnit(vehicleInformation.getReceiveOrgName()) this.updateData(vehicleInformation.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE, String.valueOf(map.get("equDefineCode")));
.approvalUnitCode(vehicleInformation.getReceiveOrgCode()) }
.status("正常") } else {
.build()); // 执行流程
}); flowExecute(vehicleInformation.getSequenceNbr(), vehicleInformation.getInstanceId(), "0", "", String.valueOf(map.get("nextTaskId")), String.valueOf(map.get("equDefineCode")));
// 保存关联设备信息
jgVehicleInformationEqService.saveBatch(equipList);
}
// 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submit)) {
this.checkVesselCylinderIsUsed(vehicleInformation.getSequenceNbr(), equipmentLists.stream()
.map(x -> String.valueOf(x.get("record")))
.collect(Collectors.toList()));
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
// 新增提交,没有instanceId需要发起流程
if (StringUtils.isEmpty(vehicleInformation.getInstanceId())) {
// 启动并执行流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(DEFINITION_KEY);
dto.setBusinessKey(vehicleInformation.getApplyNo());
dto.setCompleteFirstTask(Boolean.TRUE);
// 下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(vehicleInformation.getReceiveCompanyCode());
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTasks = workflowService.startBatch(actWorkflowBatchDTO);
this.buildRoleList(processTasks, roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtoList = commonService.buildWorkFlowInfo(processTasks);
if (!ObjectUtils.isEmpty(workflowResultDtoList) && !ObjectUtils.isEmpty(workflowResultDtoList.get(0))) {
WorkflowResultDto workflowResultDto = workflowResultDtoList.get(0);
this.updateData(vehicleInformation.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE, String.valueOf(map.get("equDefineCode")));
} }
} else { } else {
// 执行流程 ArrayList<TaskModelDto> list = new ArrayList<>();
flowExecute(vehicleInformation.getSequenceNbr(), vehicleInformation.getInstanceId(), "0", "", String.valueOf(map.get("nextTaskId")), String.valueOf(map.get("equDefineCode"))); TaskModelDto dto = new TaskModelDto();
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(vehicleInformation, taskMessageDto);
taskMessageDto.setEquipId(String.valueOf(map.get("equipId")));
dto.setModel(taskMessageDto);
dto.setTaskContent("来自车用气瓶【" + vehicleInformation.getCarNumber() + "】的登记业务办理," + "【申请单号:" + vehicleInformation.getApplyNo() + "】");
dto.setTaskCode(vehicleInformation.getApplyNo());
dto.setTaskType(String.valueOf(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getCode()));
dto.setRelationId(String.valueOf(vehicleInformation.getSequenceNbr()));
dto.setNextExecuteUser("");
list.add(dto);
commonService.buildTaskModel(list);
} }
} else { // 设备数据存历史数据,在流程完成时使用
ArrayList<TaskModelDto> list = new ArrayList<>(); commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName(), JSON.parseArray(JSON.toJSONString(equipmentLists)), null, vehicleInformation.getSequenceNbr() + "");
TaskModelDto dto = new TaskModelDto(); return Collections.singletonList(vehicleInformation);
TaskMessageDto taskMessageDto = new TaskMessageDto(); } catch (BadRequest | LocalBadRequest e) {
BeanUtil.copyProperties(vehicleInformation, taskMessageDto); log.error(e.getMessage(), e);
taskMessageDto.setEquipId(String.valueOf(map.get("equipId"))); this.rollBackForDelRedisData();
dto.setModel(taskMessageDto); throw e;
dto.setTaskContent("来自车用气瓶【" + vehicleInformation.getCarNumber() + "】的登记业务办理," + "【申请单号:" + vehicleInformation.getApplyNo() + "】"); } catch (Exception e) {
dto.setTaskCode(vehicleInformation.getApplyNo()); log.error(e.getMessage(), e);
dto.setTaskType(String.valueOf(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getCode())); this.rollBackForDelRedisData();
dto.setRelationId(String.valueOf(vehicleInformation.getSequenceNbr())); throw new BadRequest("保存失败!");
dto.setNextExecuteUser(""); } finally {
list.add(dto); FlowingEquipRedisContext.clean();
commonService.buildTaskModel(list); }
}
private void repeatUsedEquipCheck(List<Map<String, Object>> equipList, String companyCode) {
equipList.forEach(equipMap -> EquipUsedCheckStrategyContext.getUsedStrategy(DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(equipMap.get("record")), companyCode));
}
/**
* 删除 redis校验重复引用设备的数据
*/
private void delRepeatUseEquipData(JgVehicleInformation notice) {
if (NOT_FLOWING_STATE.contains(notice.getStatus())) {
LambdaQueryWrapper<JgVehicleInformationEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgVehicleInformationEq::getVehicleId, notice.getSequenceNbr());
List<JgVehicleInformationEq> noticeEqList = jgVehicleInformationEqService.list(queryWrapper);
noticeEqList.forEach(noticeEq -> EquipUsedCheckStrategyContext.getUsedStrategy(DEFINITION_KEY)
.delDataForCheckEquipRepeatUsed(Collections.singletonList(noticeEq.getEquId()), notice.getUseUnitCreditCode()));
} }
// 设备数据存历史数据,在流程完成时使用 }
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName(), JSON.parseArray(JSON.toJSONString(equipmentLists)), null, vehicleInformation.getSequenceNbr() + "");
return Collections.singletonList(vehicleInformation); private void rollBackForDelRedisData() {
FlowingEquipRedisContext.getContext().forEach(e -> {
EquipUsedCheckStrategyContext.getUsedStrategy(DEFINITION_KEY)
.delDataForCheckWithKey(e.getData(), e.getRedisKey());
});
} }
/** /**
...@@ -451,6 +492,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -451,6 +492,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
// redis流程实时数据更新 // redis流程实时数据更新
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(vehicleInfo)); commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(vehicleInfo));
this.delRepeatUseEquipData(vehicleInfo);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
...@@ -535,7 +577,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -535,7 +577,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
if (useCodeResult != null) { if (useCodeResult != null) {
String result = dto.getEstateUnitCreditCode() + "_" + dto.getEstateUnitName() + ("个人主体".equals(useCodeResult.getUnitType()) String result = dto.getEstateUnitCreditCode() + "_" + dto.getEstateUnitName() + ("个人主体".equals(useCodeResult.getUnitType())
? "_" + dto.getEstateUnitCreditCode().substring(dto.getEstateUnitCreditCode().length() - 4): ""); ? "_" + dto.getEstateUnitCreditCode().substring(dto.getEstateUnitCreditCode().length() - 4) : "");
vo.setEstateUnitName(result); vo.setEstateUnitName(result);
} }
vo.setIdCardFront(ObjectUtils.isEmpty(dto.getIdCardFront()) ? null : JSON.parseArray(dto.getIdCardFront())); vo.setIdCardFront(ObjectUtils.isEmpty(dto.getIdCardFront()) ? null : JSON.parseArray(dto.getIdCardFront()));
...@@ -642,6 +684,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -642,6 +684,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
this.updateData(jgVehicleInformation.getSequenceNbr(), operate, workflowResultDto, Boolean.FALSE, equDefineCode); this.updateData(jgVehicleInformation.getSequenceNbr(), operate, workflowResultDto, Boolean.FALSE, equDefineCode);
} }
this.delRepeatUseEquipData(jgVehicleInformation);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
...@@ -749,7 +792,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -749,7 +792,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
JSONArray jsonArray = JSONArray.parseArray(jsonData); JSONArray jsonArray = JSONArray.parseArray(jsonData);
// 登记证记录主键 // 登记证记录主键
Long changeRecordId= sequence.nextId(); Long changeRecordId = sequence.nextId();
for (int i = 0; i < jsonArray.size(); i++) { for (int i = 0; i < jsonArray.size(); i++) {
JSONObject mapData = jsonArray.getJSONObject(i); JSONObject mapData = jsonArray.getJSONObject(i);
...@@ -816,10 +859,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -816,10 +859,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
// 生成证书管理表记录 // 生成证书管理表记录
generateRegistrationManage(jgVehicleInformation,registerInfo); generateRegistrationManage(jgVehicleInformation, registerInfo);
// 生成一条tzs_jg_certificate_change_record记录 // 生成一条tzs_jg_certificate_change_record记录
generateCertificateChangeRecord(jgVehicleInformation,registerInfo,changeRecordId,taskV2Model); generateCertificateChangeRecord(jgVehicleInformation, registerInfo, changeRecordId, taskV2Model);
} }
this.getBaseMapper().updateById(jgVehicleInformation); this.getBaseMapper().updateById(jgVehicleInformation);
commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation)); commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation));
...@@ -880,14 +923,13 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -880,14 +923,13 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
/** /**
* 批量删除 * 批量删除
*
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void deleteBatch(List<Long> ids) { public void deleteBatch(List<Long> ids) {
ids.forEach(id -> { ids.forEach(id -> {
JgVehicleInformation vehicleInformation = this.baseMapper.selectById(id); JgVehicleInformation vehicleInformation = this.baseMapper.selectById(id);
// 删除代办 + 中止流程 // 删除代办 + 中止流程
commonService.deleteTaskModel(String.valueOf(id),vehicleInformation.getInstanceId()); commonService.deleteTaskModel(String.valueOf(id), vehicleInformation.getInstanceId());
// 删除单子 // 删除单子
this.deleteBySeq(id); this.deleteBySeq(id);
// 删除单子对应设备 // 删除单子对应设备
...@@ -901,7 +943,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -901,7 +943,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
public Page<Map<String, Object>> getPageList(JgVehicleInformationDto dto, String sort, Page<Map<String, Object>> page, List<String> roleIds) { public Page<Map<String, Object>> getPageList(JgVehicleInformationDto dto, String sort, Page<Map<String, Object>> page, List<String> roleIds) {
SortVo sortMap = commonService.sortFieldConversion(sort); SortVo sortMap = commonService.sortFieldConversion(sort);
return this.baseMapper.getListPage(page,sortMap, dto, roleIds); return this.baseMapper.getListPage(page, sortMap, dto, roleIds);
} }
private void updateEquipMessage(JgVehicleInformation jgVehicleInformation, JSONObject map, IdxBizJgRegisterInfo registerInfo, IdxBizJgOtherInfo otherInfo) { private void updateEquipMessage(JgVehicleInformation jgVehicleInformation, JSONObject map, IdxBizJgRegisterInfo registerInfo, IdxBizJgOtherInfo otherInfo) {
...@@ -1296,6 +1338,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1296,6 +1338,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
this.finishedTask(vehicleInformation); this.finishedTask(vehicleInformation);
// 2.终止流程-工作流报错暂时注释掉 // 2.终止流程-工作流报错暂时注释掉
cmWorkflowService.stopProcess(vehicleInformation.getInstanceId(), vehicleInformation.getCancelReason()); cmWorkflowService.stopProcess(vehicleInformation.getInstanceId(), vehicleInformation.getCancelReason());
// 3.释放流程占用的设备
this.delRepeatUseEquipData(vehicleInformation);
} }
} }
...@@ -1342,6 +1386,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1342,6 +1386,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
/** /**
* 作废的证变更内容 * 作废的证变更内容
*
* @param obj JgVehicleInformation * @param obj JgVehicleInformation
* @return result * @return result
*/ */
...@@ -1458,14 +1503,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1458,14 +1503,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
} }
private void generateCertificateChangeRecord(JgVehicleInformation jgVehicleInformation, IdxBizJgRegisterInfo registerInfo, Long changeRecordId,TaskV2Model taskV2Model) { private void generateCertificateChangeRecord(JgVehicleInformation jgVehicleInformation, IdxBizJgRegisterInfo registerInfo, Long changeRecordId, TaskV2Model taskV2Model) {
Map<String, String> equType = new HashMap<>(); Map<String, String> equType = new HashMap<>();
equType.put("equList",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList())); equType.put("equList", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList()));
equType.put("equListCode",registerInfo.getEquList()); equType.put("equListCode", registerInfo.getEquList());
equType.put("equCategory",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquCategory())); equType.put("equCategory", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquCategory()));
equType.put("equCategoryCode",registerInfo.getEquCategory()); equType.put("equCategoryCode", registerInfo.getEquCategory());
equType.put("equDefine",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquDefine())); equType.put("equDefine", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquDefine()));
equType.put("equDefineCode",registerInfo.getEquDefine()); equType.put("equDefineCode", registerInfo.getEquDefine());
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord(); JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
changeRecord.setApplyNo(jgVehicleInformation.getApplyNo()); changeRecord.setApplyNo(jgVehicleInformation.getApplyNo());
changeRecord.setReceiveOrgName(jgVehicleInformation.getReceiveOrgName()); changeRecord.setReceiveOrgName(jgVehicleInformation.getReceiveOrgName());
...@@ -1475,7 +1520,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1475,7 +1520,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
changeRecord.setChangeContent(this.buildRecordContent(jgVehicleInformation));//变更内容 changeRecord.setChangeContent(this.buildRecordContent(jgVehicleInformation));//变更内容
changeRecord.setUseRegistrationCode(jgVehicleInformation.getUseRegistrationCode());//使用登记编号 changeRecord.setUseRegistrationCode(jgVehicleInformation.getUseRegistrationCode());//使用登记编号
changeRecord.setReceiveCompanyCode(jgVehicleInformation.getReceiveCompanyCode());//接收机构公司代码 changeRecord.setReceiveCompanyCode(jgVehicleInformation.getReceiveCompanyCode());//接收机构公司代码
changeRecord.setCertificateNo(commonService.generateCertificateNo(equType,new Date(),jgVehicleInformation.getReceiveCompanyCode()));//登记证书唯一码 changeRecord.setCertificateNo(commonService.generateCertificateNo(equType, new Date(), jgVehicleInformation.getReceiveCompanyCode()));//登记证书唯一码
changeRecord.setUseUnitCreditCode(jgVehicleInformation.getUseUnitCreditCode());//使用单位统一信用代码 changeRecord.setUseUnitCreditCode(jgVehicleInformation.getUseUnitCreditCode());//使用单位统一信用代码
changeRecord.setUseUnitName(jgVehicleInformation.getUseUnitName());//使用单位名称 changeRecord.setUseUnitName(jgVehicleInformation.getUseUnitName());//使用单位名称
changeRecord.setEquCategory(registerInfo.getEquCategory());//设备类别编码 changeRecord.setEquCategory(registerInfo.getEquCategory());//设备类别编码
...@@ -1485,17 +1530,17 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1485,17 +1530,17 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
certificateChangeRecordService.save(changeRecord); certificateChangeRecordService.save(changeRecord);
} }
private void generateRegistrationManage(JgVehicleInformation jgVehicleInformation,IdxBizJgRegisterInfo registerInfo) { private void generateRegistrationManage(JgVehicleInformation jgVehicleInformation, IdxBizJgRegisterInfo registerInfo) {
// 使用单位信息 // 使用单位信息
Map<String, Object> enterpriseInfo = commonService.getEnterpriseInfo(jgVehicleInformation.getUseUnitCreditCode()); Map<String, Object> enterpriseInfo = commonService.getEnterpriseInfo(jgVehicleInformation.getUseUnitCreditCode());
// //
Map<String, String> equType = new HashMap<>(); Map<String, String> equType = new HashMap<>();
equType.put("equList",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList())); equType.put("equList", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList()));
equType.put("equListCode",registerInfo.getEquList()); equType.put("equListCode", registerInfo.getEquList());
equType.put("equCategory",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquCategory())); equType.put("equCategory", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquCategory()));
equType.put("equCategoryCode",registerInfo.getEquCategory()); equType.put("equCategoryCode", registerInfo.getEquCategory());
equType.put("equDefine",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquDefine())); equType.put("equDefine", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquDefine()));
equType.put("equDefineCode",registerInfo.getEquDefine()); equType.put("equDefineCode", registerInfo.getEquDefine());
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage(); JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(jgVehicleInformation.getUseUnitName()); jgUseRegistrationManage.setUseUnitName(jgVehicleInformation.getUseUnitName());
jgUseRegistrationManage.setApplyNo(jgVehicleInformation.getApplyNo()); jgUseRegistrationManage.setApplyNo(jgVehicleInformation.getApplyNo());
...@@ -1523,14 +1568,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1523,14 +1568,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
jgUseRegistrationManage.setUseUnitCreditCode(jgVehicleInformation.getUseUnitCreditCode()); jgUseRegistrationManage.setUseUnitCreditCode(jgVehicleInformation.getUseUnitCreditCode());
jgUseRegistrationManage.setReceiveCompanyCode(jgVehicleInformation.getReceiveCompanyCode()); jgUseRegistrationManage.setReceiveCompanyCode(jgVehicleInformation.getReceiveCompanyCode());
jgUseRegistrationManage.setCarNumber(jgVehicleInformation.getCarNumber()); jgUseRegistrationManage.setCarNumber(jgVehicleInformation.getCarNumber());
jgUseRegistrationManage.setCertificateNo(commonService.generateCertificateNo(equType,new Date(),jgVehicleInformation.getReceiveCompanyCode())); jgUseRegistrationManage.setCertificateNo(commonService.generateCertificateNo(equType, new Date(), jgVehicleInformation.getReceiveCompanyCode()));
jgUseRegistrationManageService.save(jgUseRegistrationManage); jgUseRegistrationManageService.save(jgUseRegistrationManage);
} }
private String buildRecordContent(JgVehicleInformation obj) { private String buildRecordContent(JgVehicleInformation obj) {
//张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05 //张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getRecUserName() + "办理了【"+BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName()+"】," + return obj.getRecUserName() + "办理了【" + BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName() + "】," +
"单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getRecDate()); "单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getRecDate());
} }
...@@ -1742,7 +1787,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1742,7 +1787,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
vehicleInformation.setAuditPassDate(new Date()); vehicleInformation.setAuditPassDate(new Date());
// 登记证记录表主键 // 登记证记录表主键
Long changeRecordId= sequence.nextId(); Long changeRecordId = sequence.nextId();
//新增 //新增
if (StringUtils.isEmpty(vehicleInfoDto.getSequenceNbr())) { if (StringUtils.isEmpty(vehicleInfoDto.getSequenceNbr())) {
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1);
...@@ -1761,7 +1806,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1761,7 +1806,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(equipmentLists.get(0).get("record"))); lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(equipmentLists.get(0).get("record")));
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
// 生成证书管理表记录 // 生成证书管理表记录
generateRegistrationManage(vehicleInformation,registerInfo); generateRegistrationManage(vehicleInformation, registerInfo);
// 生成一条tzs_jg_certificate_change_record记录 // 生成一条tzs_jg_certificate_change_record记录
generateCertificateChangeRecord(vehicleInformation, registerInfo, changeRecordId, null); generateCertificateChangeRecord(vehicleInformation, registerInfo, changeRecordId, null);
} else { } else {
...@@ -1845,9 +1890,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1845,9 +1890,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
/** /**
* 系统类型的code 自动生成设备代码 * 系统类型的code 自动生成设备代码
* @param lambda lambda *
* @param registerInfo 注册信息 * @param lambda lambda
* @param receiveCompanyCode 接收机构行政区划代码 * @param registerInfo 注册信息
* @param receiveCompanyCode 接收机构行政区划代码
*/ */
public void generateEquCode(LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda, IdxBizJgRegisterInfo registerInfo, String receiveCompanyCode) { public void generateEquCode(LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda, IdxBizJgRegisterInfo registerInfo, String receiveCompanyCode) {
// 新增设备时选择无设备代码且在设备代码为空【未做安装告知(使用登记、安装告知会生成设备代码)】 // 新增设备时选择无设备代码且在设备代码为空【未做安装告知(使用登记、安装告知会生成设备代码)】
...@@ -1893,7 +1939,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1893,7 +1939,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
this.createCode(jgVehicleInformation, registerInfo, otherInfo); this.createCode(jgVehicleInformation, registerInfo, otherInfo);
} }
private void updateEquipEsData(JgVehicleInformation jgVehicleInformation, IdxBizJgOtherInfo otherInfo, IdxBizJgRegisterInfo registerInfo,String equId) { private void updateEquipEsData(JgVehicleInformation jgVehicleInformation, IdxBizJgOtherInfo otherInfo, IdxBizJgRegisterInfo registerInfo, String equId) {
// 更新es // 更新es
HashMap<String, Map<String, Object>> objMap = new HashMap<>(); HashMap<String, Map<String, Object>> objMap = new HashMap<>();
HashMap<String, Object> param = new HashMap<>(); HashMap<String, Object> param = new HashMap<>();
......
...@@ -326,7 +326,7 @@ public class DPSubServiceImpl { ...@@ -326,7 +326,7 @@ public class DPSubServiceImpl {
mergedArray.stream().forEach(x -> { mergedArray.stream().forEach(x -> {
Object fieldKey = JsonValueUtils.getValueByKey(x, "visualParams", "visualParams.fieldKey"); Object fieldKey = JsonValueUtils.getValueByKey(x, "visualParams", "visualParams.fieldKey");
if (!ValidationUtil.isEmpty(fieldKey)) { if (!ValidationUtil.isEmpty(fieldKey)) {
this.processWidgets(tab, datas, x, fieldKey.toString(), result, matinfo); this.processWidgets(tab, datas, x, null, fieldKey.toString(), result, matinfo);
} }
}); });
map.put("datas", datas); map.put("datas", datas);
...@@ -343,7 +343,8 @@ public class DPSubServiceImpl { ...@@ -343,7 +343,8 @@ public class DPSubServiceImpl {
JSONObject subObj = new JSONObject(); JSONObject subObj = new JSONObject();
subObj.put("key", "key" + i); subObj.put("key", "key" + i);
subObj.put("displayName", JsonValueUtils.getValueByKey(yObj, "visualParams", "visualParams.title")); Object displayName = JsonValueUtils.getValueByKey(yObj, "visualParams", "visualParams.title");
subObj.put("displayName", displayName);
subObj.put("renderType", "basic"); subObj.put("renderType", "basic");
subObj.put("columns", columnsArray.size()); subObj.put("columns", columnsArray.size());
...@@ -351,7 +352,7 @@ public class DPSubServiceImpl { ...@@ -351,7 +352,7 @@ public class DPSubServiceImpl {
mergedArray.stream().forEach(x -> { mergedArray.stream().forEach(x -> {
Object fieldKey = JsonValueUtils.getValueByKey(x, "visualParams", "visualParams.fieldKey"); Object fieldKey = JsonValueUtils.getValueByKey(x, "visualParams", "visualParams.fieldKey");
if (!ValidationUtil.isEmpty(fieldKey)) { if (!ValidationUtil.isEmpty(fieldKey)) {
this.processWidgets(tab, datas, x, fieldKey.toString(), JSONObject.parseObject(apiResult.toString()), matinfo); this.processWidgets(tab, datas, x, displayName, fieldKey.toString(), JSONObject.parseObject(apiResult.toString()), matinfo);
subObj.put("datas", datas); subObj.put("datas", datas);
} }
}); });
...@@ -368,7 +369,7 @@ public class DPSubServiceImpl { ...@@ -368,7 +369,7 @@ public class DPSubServiceImpl {
* @param apiResult * @param apiResult
* @return * @return
*/ */
public JSONArray processWidgets(JSONObject tab, JSONArray datas, Object x, String fieldKey, JSONObject apiResult, JSONObject matinfo) { public JSONArray processWidgets(JSONObject tab, JSONArray datas, Object x, Object displayName, String fieldKey, JSONObject apiResult, JSONObject matinfo) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
JSONObject xObj = (JSONObject) x; JSONObject xObj = (JSONObject) x;
...@@ -380,10 +381,8 @@ public class DPSubServiceImpl { ...@@ -380,10 +381,8 @@ public class DPSubServiceImpl {
JSONObject param = tab.getJSONObject("param"); JSONObject param = tab.getJSONObject("param");
jsonObject.put("type", "text"); jsonObject.put("type", "text");
jsonObject.put("value", value); jsonObject.put("value", value);
if (!ValidationUtil.isEmpty(paramFieldKeys)){ if (!ValidationUtil.isEmpty(paramFieldKeys) && ((JSONArray) paramFieldKeys).contains(fieldKey)){
if (((JSONArray) paramFieldKeys).contains(fieldKey)){ jsonObject.put("value", param.getString(fieldKey));
jsonObject.put("value", param.getString(fieldKey));
}
} else { } else {
if ("upload".equals(xObj.getString("componentKey"))) { if ("upload".equals(xObj.getString("componentKey"))) {
jsonObject.put("type", "img"); jsonObject.put("type", "img");
...@@ -395,15 +394,17 @@ public class DPSubServiceImpl { ...@@ -395,15 +394,17 @@ public class DPSubServiceImpl {
if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isEmpty(value)) {
JSONObject attachmentUploadDatasObj = new JSONObject(); JSONObject attachmentUploadDatasObj = new JSONObject();
attachmentUploadDatasObj.put("value", value); attachmentUploadDatasObj.put("value", value);
String accept = JsonValueUtils.getValueByKey(xObj, "visualParams", "visualParams.accept").toString(); String accept = visualParams.getString("accept");
if (accept.contains("doc") || accept.contains("docx") || accept.contains("pdf") || accept.contains("xls") || accept.contains("xlsx")) { String label = visualParams.getString("label");
attachmentUploadDatasObj.put("label", "附件"); if (!ValidationUtil.isEmpty(displayName) && ("附件".equals(label) || "其他附件".equals(label))){
label = label + "(" + displayName + ")";
}
attachmentUploadDatasObj.put("label", label);
if (accept.equals(".*") || accept.contains("doc") || accept.contains("docx") || accept.contains("pdf") || accept.contains("xls") || accept.contains("xlsx")){
attachmentUploadDatasObj.put("type", "file"); attachmentUploadDatasObj.put("type", "file");
} else if (accept.contains("png") || accept.contains("img")) { } else if(accept.contains("png") || accept.contains("img")){
attachmentUploadDatasObj.put("label", "证照");
attachmentUploadDatasObj.put("type", "img"); attachmentUploadDatasObj.put("type", "img");
} else if (accept.contains("mp4") || accept.contains("flv")) { } else if(accept.contains("mp4") || accept.contains("flv")){
attachmentUploadDatasObj.put("label", "视频");
attachmentUploadDatasObj.put("type", "video"); attachmentUploadDatasObj.put("type", "video");
} }
attachmentUploadDatas.add(attachmentUploadDatasObj); attachmentUploadDatas.add(attachmentUploadDatasObj);
...@@ -430,7 +431,9 @@ public class DPSubServiceImpl { ...@@ -430,7 +431,9 @@ public class DPSubServiceImpl {
} }
} }
} }
datas.add(jsonObject); if (!"attachmentUpload".equals(xObj.getString("componentKey"))){
datas.add(jsonObject);
}
return datas; return datas;
} }
......
{ {
"name": "检验检测机构模板", "name": "企业模板",
"tabs": [ "tabs": [
{ {
"key": "basic", "key": "basic",
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
}, },
"visualParams": { "visualParams": {
"rowKey": "key", "rowKey": "sequenceNbr",
"columns": [ "columns": [
{"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"}, {"dataRenderingMode": "defaultText","dataIndex": "sourceType","width": 150,"align": "left","title": "问题主体类型","key": "58E0E2F7-4F34-4C01-9AD6-777CABC1672F"},
{"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"}, {"dataRenderingMode": "imageText","dataIndex": "problemType","width": 150,"align": "left","title": "问题类型","key": "8ACDE41E-CAE3-4A27-82EF-8F7452164A66","imageAttributeName": "problemTypePic"},
......
...@@ -19,5 +19,5 @@ public interface EquipTechParamPipelineMapper extends BaseMapper<EquipTechParamP ...@@ -19,5 +19,5 @@ public interface EquipTechParamPipelineMapper extends BaseMapper<EquipTechParamP
* @param orgCode 区域code对应的管辖机构 * @param orgCode 区域code对应的管辖机构
* @return 数量 * @return 数量
*/ */
String sumPipeLengthByOrgCode(String orgCode); String sumPipeLengthByOrgCode(@Param("orgCode") String orgCode);
} }
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