Commit 9611b135 authored by 李松's avatar 李松

添加车用气瓶变更业务接口

parent dfd86b7a
...@@ -46,7 +46,9 @@ public enum BusinessTypeEnum { ...@@ -46,7 +46,9 @@ public enum BusinessTypeEnum {
JY_INSPECTION_APPLICATION_CHECK("117", "电梯检测"), JY_INSPECTION_APPLICATION_CHECK("117", "电梯检测"),
JG_VEHICLE_GAS_APPLICATION("118", "车用气瓶登记"); JG_VEHICLE_GAS_APPLICATION("118", "车用气瓶登记"),
JG_VEHICLE_GAS_CYLINDER_CHANGE("119", "车用气瓶变更登记");
private final String code; private final String code;
private final String name; private final String name;
......
...@@ -2,6 +2,10 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -2,6 +2,10 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
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;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/** /**
* 单位变更登记 Mapper 接口 * 单位变更登记 Mapper 接口
...@@ -11,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChangeVehicleRegistrationUnit> { public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChangeVehicleRegistrationUnit> {
List<Map<String, Object>> getEquList(@Param("records") List<String>records);
} }
...@@ -2,4 +2,43 @@ ...@@ -2,4 +2,43 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper"> <mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper">
<select id="getEquList" resultType="java.util.Map">
SELECT
(SELECT "PRODUCE_UNIT_NAME" from idx_biz_jg_factory_info where "RECORD" = ri.RECORD) produceUnitName,
(SELECT "FACTORY_NUM" from idx_biz_jg_factory_info where "RECORD" = ri.RECORD) factoryNum,
to_char((SELECT "PRODUCE_DATE" from idx_biz_jg_factory_info where "RECORD" = ri.RECORD), 'YYYY-MM') produceDate,
ri."RECORD" record,
jui."USE_INNER_CODE" useInnerCode,
ri."EQU_CODE" equCode,
ri."EQU_LIST" equList,
(select name from tz_equipment_category where code = ri."EQU_LIST") equListName,
ri."EQU_CATEGORY" equCategory,
(select name from tz_equipment_category where code = ri."EQU_CATEGORY") equCategoryName,
ri."EQU_DEFINE" equDefine,
(select name from tz_equipment_category where code = ri."EQU_DEFINE") equDefineName,
ri."PRODUCT_NAME" productName,
ri."BRAND_NAME" brandName,
ri."EQU_TYPE" equType,
ri."EQU_CODE_TYPE" equCodeType,
ri."WHETHER_VEHICLE_CYLINDER" whetherVehicleCylinder,
pv."CHARGING_MEDIUM" chargingMedium,
pv."NOMINAL_WORKING_PRESSURE" nominalWorkingPressure,
pv."SINGLE_BOTTLE_VOLUME" singleBottleVolume,
to_char((select INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ri.RECORD ORDER BY INSPECT_DATE limit 1), 'YYYY-MM-DD') inspectDate,
to_char((select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ri.RECORD ORDER BY INSPECT_DATE limit 1), 'YYYY-MM-DD') nextInspectDate
FROM
idx_biz_jg_register_info ri
LEFT JOIN idx_biz_jg_use_info jui on ri.RECORD = jui.RECORD
LEFT JOIN idx_biz_jg_tech_params_vessel pv ON pv."RECORD" = ri.RECORD
WHERE ri."EQU_CATEGORY" = '2300' and jui."DATA_SOURCE" like 'jg%' and ri.whether_vehicle_cylinder = 1
and jui.record in
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
</select>
</mapper> </mapper>
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
AND tjurm.receive_company_code = #{dto.receiveCompanyCode} AND tjurm.receive_company_code = #{dto.receiveCompanyCode}
</if> </if>
-- 是否车用气瓶(whetherVehicleCylinder)= 1 ,过滤出车用气瓶使用登记证数据 -- 是否车用气瓶(whetherVehicleCylinder)= 1 ,过滤出车用气瓶使用登记证数据
<if test="dto.whetherVehicleCylinder != null and dto.whetherVehicleCylinder == '1' "> <if test="dto.whetherVehicleCylinder != null and dto.whetherVehicleCylinder == 1 ">
AND tjurm.reg_type = '车用气瓶登记' AND tjurm.reg_type = '车用气瓶登记'
</if> </if>
ORDER BY ORDER BY
......
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List; import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeVehicleRegistrationUnitServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeVehicleRegistrationUnitServiceImpl;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -30,18 +38,7 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -30,18 +38,7 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
@Autowired @Autowired
JgChangeVehicleRegistrationUnitServiceImpl jgChangeVehicleRegistrationUnitServiceImpl; JgChangeVehicleRegistrationUnitServiceImpl jgChangeVehicleRegistrationUnitServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<JgChangeVehicleRegistrationUnitDto> save(@RequestBody JgChangeVehicleRegistrationUnitDto model) {
model = jgChangeVehicleRegistrationUnitServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/** /**
* 根据sequenceNbr更新 * 根据sequenceNbr更新
...@@ -101,6 +98,15 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -101,6 +98,15 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.queryForJgChangeVehicleRegistrationUnitPage(page)); return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.queryForJgChangeVehicleRegistrationUnitPage(page));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增、更新车用气瓶变更", notes = "新增、更新车用气瓶变更")
public ResponseModel<String> save(@RequestBody JSONObject model) {
ReginParams reginParams = getSelectedOrgInfo();
jgChangeVehicleRegistrationUnitServiceImpl.saveMessage(model, reginParams);
return ResponseHelper.buildResponse("");
}
/** /**
* 列表全部数据查询 * 列表全部数据查询
* *
...@@ -112,4 +118,68 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -112,4 +118,68 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
public ResponseModel<List<JgChangeVehicleRegistrationUnitDto>> selectForList() { public ResponseModel<List<JgChangeVehicleRegistrationUnitDto>> selectForList() {
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.queryForJgChangeVehicleRegistrationUnitList()); return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.queryForJgChangeVehicleRegistrationUnitList());
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping (value = "/getUseRegistrationCodeData")
@ApiOperation(httpMethod = "GET", value = "获取当前企业,某接收机构审批的使用登记证信息", notes = "获取当前企业,某接收机构审批的使用登记证信息")
public ResponseModel<Page<JgUseRegistrationManageDto>> getUseRegistrationCodeData(
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "useUnitCreditCode") String useUnitCreditCode,
@RequestParam(value = "whetherVehicleCylinder") String whetherVehicleCylinder,
@RequestParam(value = "certificateStatus") String certificateStatus
) {
JgUseRegistrationManageDto dto = new JgUseRegistrationManageDto();
Page<JgUseRegistrationManageDto> page = new Page<JgUseRegistrationManageDto>();
page.setCurrent(current);
page.setSize(size);
if (!ValidationUtil.isEmpty(useUnitCreditCode)){
String[] codes = useUnitCreditCode.split("_");
if (!ValidationUtil.isEmpty(codes)){
dto.setDataType(BaseController.COMPANY_TYPE_COMPANY);
dto.setUseUnitCreditCode(codes[0]);
}
}
if (!ValidationUtil.isEmpty(certificateStatus)){
dto.setCertificateStatus(certificateStatus);
}
if (!ValidationUtil.isEmpty(whetherVehicleCylinder)){
dto.setWhetherVehicleCylinder(whetherVehicleCylinder);
}
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.getUseRegistrationCodeData(page, dto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getEquList")
@ApiOperation(httpMethod = "GET", value = "根据使用登记查询绑定气瓶(组件默认参数record)", notes = "根据使用登记查询绑定气瓶")
public ResponseModel<Map<String, Object>> getEquList(@RequestParam(value = "record") String record) {
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.getEquList(record));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "获取详情", notes = "获取详情")
public ResponseModel<Map<String, Object>> getDetails(@RequestParam(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.getDetails(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> withdraw(@RequestBody JSONObject map) {
jgChangeVehicleRegistrationUnitServiceImpl.withdraw(String.valueOf(map.get("instanceId")), String.valueOf(map.get("nextTaskId")));
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
jgChangeVehicleRegistrationUnitServiceImpl.flowExecute(Long.valueOf(String.valueOf(map.get("sequenceNbr"))),
String.valueOf(map.get("instanceId")),
String.valueOf(map.get("operate")),
String.valueOf(map.get("comment")),
String.valueOf(map.get("nextTaskId")));
return ResponseHelper.buildResponse("ok");
}
} }
...@@ -240,6 +240,8 @@ public class CommonServiceImpl implements ICommonService { ...@@ -240,6 +240,8 @@ public class CommonServiceImpl implements ICommonService {
private Configuration configuration; private Configuration configuration;
@Autowired @Autowired
EquipTechParamPipelineMapper equipTechParamPipelineMapper; EquipTechParamPipelineMapper equipTechParamPipelineMapper;
@Autowired
private JgChangeVehicleRegistrationUnitServiceImpl jgChangeVehicleRegistrationUnitService;
public static byte[] file2byte(File file) { public static byte[] file2byte(File file) {
try { try {
...@@ -1179,7 +1181,13 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1179,7 +1181,13 @@ public class CommonServiceImpl implements ICommonService {
provideMap.put(YZBG_PAGE_ID, noticeObj); provideMap.put(YZBG_PAGE_ID, noticeObj);
JSONObject jsonObject = new JSONObject(provideMap); JSONObject jsonObject = new JSONObject(provideMap);
return jgChangeRegistrationTransferService.createTransfer(submitType, jsonObject, reginParams); return jgChangeRegistrationTransferService.createTransfer(submitType, jsonObject, reginParams);
} else if (type.equals(ApplicationFormTypeEnum.DWBG.getBusinessCode())) { }else if (type.equals(ApplicationFormTypeEnum.DWBG.getBusinessCode()) && !ObjectUtils.isEmpty(basicObj.get("equCategory")) && CylinderTypeEnum.SPECIAL_CYLINDER.getCode().equals(basicObj.get("equCategory").toString())) {
noticeObj.put("submit", submitType);
noticeObj.put("formType", "add");
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
JSONObject jsonObject = new JSONObject(noticeObj);
return jgChangeVehicleRegistrationUnitService.saveMessage(jsonObject, reginParams);
}else if (type.equals(ApplicationFormTypeEnum.DWBG.getBusinessCode())) {
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1"))); noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
provideMap.put(DWBG_PAGE_ID, noticeObj); provideMap.put(DWBG_PAGE_ID, noticeObj);
JSONObject jsonObject = new JSONObject(provideMap); JSONObject jsonObject = new JSONObject(provideMap);
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
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.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
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.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.mapper.JgVehicleInformationMapper;
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.api.dto.JgChangeVehicleRegistrationUnitDto; 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.ymt.api.entity.IdxBizJgFactoryInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
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.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/** /**
* 单位变更登记服务实现类 * 单位变更登记服务实现类
...@@ -16,18 +54,494 @@ import java.util.List; ...@@ -16,18 +54,494 @@ import java.util.List;
* @date 2024-07-10 * @date 2024-07-10
*/ */
@Service @Service
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 PROCESS_DEFINITION_KEY = "vehicleGasCylinderChange";
private static final String BUSINESS_NAME = "车用气瓶变更";
private static final String template = "%s发起车用气瓶变更登记业务申请,【申请单号:%s】";
@Autowired
JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
@Autowired
CommonServiceImpl commonServiceImpl;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Autowired
RedisUtils redisUtils;
@Autowired
ICommonService commonService;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
private JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
@Autowired
private JgVehicleInformationServiceImpl jgVehicleInformationService;
@Autowired
private JgChangeVehicleRegistrationUnitEqServiceImpl jgChangeVehicleRegistrationUnitEqService;
@Autowired
private RedissonClient redissonClient;
public void changeData(JgChangeVehicleRegistrationUnit dto) {
if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) {
// 接收单位信息
String[] splitMaintenanceUnitCode = dto.getReceiveCompanyCode().split("_");
dto.setReceiveCompanyCode(splitMaintenanceUnitCode[0]);
dto.setReceiveOrgName(splitMaintenanceUnitCode[1]);
dto.setReceiveCompanyOrgCode(commonService.getOneCompany(dto.getReceiveCompanyCode()).getOrgCode());
}
if (!ObjectUtils.isEmpty(dto.getUseUnitCreditCode())) {
// 使用单位
String[] splitMaintenanceUnitCode = dto.getUseUnitCreditCode().split("_");
dto.setUseUnitCreditCode(splitMaintenanceUnitCode[0]);
dto.setUseUnitName(splitMaintenanceUnitCode[1]);
}
if (!ObjectUtils.isEmpty(dto.getNewUseUnitCreditCode())) {
// 新使用单位
String[] splitMaintenanceUnitCode = dto.getNewUseUnitCreditCode().split("_");
dto.setNewUseUnitCreditCode(splitMaintenanceUnitCode[0]);
dto.setNewUseUnitName(splitMaintenanceUnitCode[1]);
}
if (!ObjectUtils.isEmpty(dto.getOrgBranchCode())) {
// 属地监管部门
String[] splitMaintenanceUnitCode = dto.getOrgBranchCode().split("_");
dto.setOrgBranchCode(splitMaintenanceUnitCode[0]);
dto.setOrgBranchName(splitMaintenanceUnitCode[1]);
}
}
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 600000)
public List<JgChangeVehicleRegistrationUnit> saveMessage(JSONObject map, ReginParams reginParams) {
JgChangeVehicleRegistrationUnit dto = new JgChangeVehicleRegistrationUnit();
if (!map.containsKey("sequenceNbr")) {
// 新增
BeanUtil.copyProperties(map, dto);
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);
}
// 更新业务关联设备表
saveChangeVehicleEq(dto, map);
// 更新历史表信息
saveHistory(dto, map);
// 是否发起流程
if (!ObjectUtils.isEmpty(map.get("submit")) && SUBMIT_TYPE_FLOW.equals(map.get("submit").toString())) {
// 删除暂存代办
commonServiceImpl.deleteTasksByRelationId(String.valueOf(dto.getSequenceNbr()));
String instanceId = "";
if (!ObjectUtils.isEmpty(map.get("instanceId"))) {
instanceId = map.get("instanceId").toString();
} else {
// 启动并执行流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
ActWorkflowStartDTO workflowDto = new ActWorkflowStartDTO();
ArrayList<ActWorkflowStartDTO> list = new ArrayList<>();
workflowDto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
workflowDto.setBusinessKey("1");
workflowDto.setCompleteFirstTask(Boolean.TRUE);
// 接受机构
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 {
if (ObjectUtils.isEmpty(map.get("instanceId"))) {
ArrayList<TaskModelDto> list = new ArrayList<>();
TaskModelDto taskDto = new TaskModelDto();
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(dto, taskMessageDto);
// 数据参数
taskDto.setModel(taskMessageDto);
// 摘要
taskDto.setTaskContent(String.format(template, dto.getCreateUserName(), dto.getApplyNo()));
// 申请单号
taskDto.setTaskCode(dto.getApplyNo());
// 业务类型
taskDto.setTaskType(String.valueOf(BusinessTypeEnum.JG_VEHICLE_GAS_CYLINDER_CHANGE.getCode()));
// 业务主键
taskDto.setRelationId(String.valueOf(dto.getSequenceNbr()));
taskDto.setNextExecuteUser("");
list.add(taskDto);
commonServiceImpl.buildTaskModel(list);
}
}
return Collections.singletonList(dto);
}
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 600000)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if (!isLocked) {
throw new BadRequest("当前流程已经被执行!请重新打开页面查看并执行!");
}
// 流程执行时,状态及权限校验
commonService.checkForExecuteFlow(nextTaskId, instanceId);
JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit = this.getBaseMapper().selectById(id);
// 组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(jgChangeVehicleRegistrationUnit.getNextTaskId());
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
if (jgChangeVehicleRegistrationUnit.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getReject()) || jgChangeVehicleRegistrationUnit.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getRollBack())) {
map.put("approvalStatus", "提交");
}
dto.setVariable(map);
// 接受机构
if ("1".equals(operate) && WorkFlowStatusEnum.USE_RECEIVE.getPass().equals(jgChangeVehicleRegistrationUnit.getStatus())) {
// 驳回到使用单位
dto.setNextExecuteUserCompanyCode(jgChangeVehicleRegistrationUnit.getNewUseUnitCreditCode());
} else {
dto.setNextExecuteUserCompanyCode(jgChangeVehicleRegistrationUnit.getReceiveCompanyCode());
}
ProcessTaskDTO complete = cmWorkflowService.completeOrReject(jgChangeVehicleRegistrationUnit.getNextTaskId(), dto, operate);
ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
processTaskDTOS.add(complete);
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResultDto = resultDto.get(0);
updateData(jgChangeVehicleRegistrationUnit.getSequenceNbr(), operate, workflowResultDto, Boolean.FALSE);
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
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);
String role = workflowResultDto.getNextExecutorRoleIds();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
if (!ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
taskCode = workflowResultDto.getNextTaskCode();
}
JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit = this.getBaseMapper().selectById(sequenceNbr);
jgChangeVehicleRegistrationUnit.setNextTaskId(workflowResultDto.getNextTaskId());
jgChangeVehicleRegistrationUnit.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
if (isFirst) {
jgChangeVehicleRegistrationUnit.setInstanceStatus(workflowResultDto.getExecutorRoleIds());
jgChangeVehicleRegistrationUnit.setInstanceId(workflowResultDto.getInstanceId());
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgChangeVehicleRegistrationUnit.setNextExecutorIds(role);
jgChangeVehicleRegistrationUnit.setPromoter(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(jgChangeVehicleRegistrationUnit.getInstanceStatus())) {
jgChangeVehicleRegistrationUnit.setInstanceStatus(jgChangeVehicleRegistrationUnit.getInstanceStatus() + "," + role);
} else {
jgChangeVehicleRegistrationUnit.setInstanceStatus(role);
}
if ("0".equals(operate)) {
// 通过操作
jgChangeVehicleRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
} else {
// 驳回操作
jgChangeVehicleRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgChangeVehicleRegistrationUnit.setPromoter("");
}
if (isFirst) {
buildTask(jgChangeVehicleRegistrationUnit, workflowResultDto);
} else {
// 更新代办状态
HashMap<String, Object> params = new HashMap<>();
params.put("relationId", jgChangeVehicleRegistrationUnit.getInstanceId());
params.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgChangeVehicleRegistrationUnit.getStatus()));
params.put("flowStatusLabel", jgChangeVehicleRegistrationUnit.getStatus());
params.put("taskStatus", commonServiceImpl.getDictionaryCodeByName(jgChangeVehicleRegistrationUnit.getStatus()));
params.put("taskStatusLabel", jgChangeVehicleRegistrationUnit.getStatus());
TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(params);
// 创建新的代办
if (!ObjectUtils.isEmpty(taskV2Model)) {
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgChangeVehicleRegistrationUnit, taskMessageDto);
taskModelDto.setModel(taskMessageDto);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
taskModelDto.setFlowCode(workflowResultDto.getNextTaskId());
if (WorkFlowStatusEnum.USE_SUBMIT.getCode().equals(taskCode) && "1".equals(operate)) {
taskModelDto.setPageType("edit");
}
commonServiceImpl.buildTaskModel(Collections.singletonList(taskModelDto));
} else {
workflowResultDto.setInstanceId(jgChangeVehicleRegistrationUnit.getInstanceId());
buildTask(jgChangeVehicleRegistrationUnit, workflowResultDto);
}
}
} else {
// 流程结束
jgChangeVehicleRegistrationUnit.setStatus(taskCode);
jgChangeVehicleRegistrationUnit.setNextExecuteUserIds("");
LambdaQueryWrapper<JgRegistrationHistory> lambdaSelect = new QueryWrapper<JgRegistrationHistory>().lambda();
lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect);
JSONObject historyData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
// 更新代办
updateAgency(jgChangeVehicleRegistrationUnit);
}
this.getBaseMapper().updateById(jgChangeVehicleRegistrationUnit);
commonServiceImpl.saveExecuteFlowData2Redis(jgChangeVehicleRegistrationUnit.getInstanceId(), this.buildInstanceRuntimeData(jgChangeVehicleRegistrationUnit));
return jgChangeVehicleRegistrationUnit;
}
public InstanceRuntimeData buildInstanceRuntimeData(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) {
return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgChangeVehicleRegistrationUnit.getNextExecuteUserIds())
.promoter(jgChangeVehicleRegistrationUnit.getPromoter())
.nextTaskId(jgChangeVehicleRegistrationUnit.getNextTaskId())
.build();
}
private TaskV2Model updateAgency(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) {
// 更新代办状态
HashMap<String, Object> params = new HashMap<>();
params.put("relationId", jgChangeVehicleRegistrationUnit.getInstanceId());
params.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgChangeVehicleRegistrationUnit.getStatus()));
params.put("flowStatusLabel", jgChangeVehicleRegistrationUnit.getStatus());
params.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
params.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgChangeVehicleRegistrationUnit, taskMessageDto);
params.put("model", taskMessageDto);
return commonServiceImpl.updateTaskModel(params);
}
public void buildTask(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, WorkflowResultDto workflowResultDto) {
// 代办消息
ArrayList<TaskModelDto> list = new ArrayList<>();
TaskModelDto dto = new TaskModelDto();
dto.setTaskType(String.valueOf(BusinessTypeEnum.JG_VEHICLE_GAS_CYLINDER_CHANGE.getCode()));
dto.setTaskTypeLabel(BusinessTypeEnum.JG_VEHICLE_GAS_CYLINDER_CHANGE.getName());
dto.setFlowCreateDate(jgChangeVehicleRegistrationUnit.getCreateDate());
dto.setTaskName(workflowResultDto.getNextTaskName());
dto.setTaskCode(workflowResultDto.getNextTaskCode());
dto.setRelationId(workflowResultDto.getInstanceId());
dto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
dto.setTaskStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass()));
dto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(jgChangeVehicleRegistrationUnit.getStatus()));
dto.setFlowStatusLabel(jgChangeVehicleRegistrationUnit.getStatus());
dto.setStartUserId(jgChangeVehicleRegistrationUnit.getCreateUserId());
dto.setStartUser(jgChangeVehicleRegistrationUnit.getCreateUserName());
dto.setStartUserCompanyName(jgChangeVehicleRegistrationUnit.getUseUnitName());
dto.setStartDate(new Date());
jgChangeVehicleRegistrationUnit.setInstanceId(workflowResultDto.getInstanceId());
jgChangeVehicleRegistrationUnit.setNextExecutorIds(workflowResultDto.getNextExecutorRoleIds());
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgChangeVehicleRegistrationUnit, taskMessageDto);
dto.setTaskContent(String.format(template, jgChangeVehicleRegistrationUnit.getCreateUserName(), jgChangeVehicleRegistrationUnit.getApplyNo()));
dto.setModel(taskMessageDto);
dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
dto.setFlowCode(jgChangeVehicleRegistrationUnit.getNextTaskId());
list.add(dto);
commonServiceImpl.buildTaskModel(list);
}
public void saveHistory(JgChangeVehicleRegistrationUnit dto, JSONObject map) {
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, dto.getSequenceNbr());
lambda.eq(JgRegistrationHistory::getRegistrationClass, BUSINESS_NAME);
Integer integer = jgRegistrationHistoryService.getBaseMapper().selectCount(lambda);
if (integer > 0) {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistoryService.update(jgRegistrationHistory, lambda);
} else {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setRegistrationClass(BUSINESS_NAME);
jgRegistrationHistory.setCurrentDocumentId(dto.getSequenceNbr().toString());
jgRegistrationHistoryService.save(jgRegistrationHistory);
}
}
public void saveChangeVehicleEq(JgChangeVehicleRegistrationUnit dto, JSONObject map) {
ArrayList<JgChangeVehicleRegistrationUnitEq> list = new ArrayList<>();
if (map.containsKey("dataList")) {
JSONArray objects = JSONObject.parseArray(JSON.toJSONString(map.get("dataList")));
objects.forEach(data -> {
JgChangeVehicleRegistrationUnitEq jgChangeVehicleRegistrationUnitEq = new JgChangeVehicleRegistrationUnitEq();
JSONObject object = JSONObject.parseObject(data.toString());
jgChangeVehicleRegistrationUnitEq.setUnitChangeId(dto.getSequenceNbr().toString());
jgChangeVehicleRegistrationUnitEq.setRegistrationCertificate(map.get("useRegistrationCode").toString());
jgChangeVehicleRegistrationUnitEq.setEquId(object.get("record").toString());
jgChangeVehicleRegistrationUnitEq.setCreateDate(new Date());
jgChangeVehicleRegistrationUnitEq.setCreateUserName(dto.getCreateUserName());
jgChangeVehicleRegistrationUnitEq.setCreateUserId(dto.getCreateUserId());
jgChangeVehicleRegistrationUnitEq.setRecDate(new Date());
jgChangeVehicleRegistrationUnitEq.setRecUserId(dto.getRecUserId());
list.add(jgChangeVehicleRegistrationUnitEq);
});
}
if (!ObjectUtils.isEmpty(list)) {
LambdaQueryWrapper<JgChangeVehicleRegistrationUnitEq> lambda = new QueryWrapper<JgChangeVehicleRegistrationUnitEq>().lambda();
lambda.eq(JgChangeVehicleRegistrationUnitEq::getUnitChangeId, dto.getSequenceNbr());
jgChangeVehicleRegistrationUnitEqService.remove(lambda);
jgChangeVehicleRegistrationUnitEqService.saveBatch(list);
}
}
/** /**
* 分页查询 * 分页查询
*/ */
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);
} }
/** /**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<JgChangeVehicleRegistrationUnitDto> queryForJgChangeVehicleRegistrationUnitList() { public List<JgChangeVehicleRegistrationUnitDto> queryForJgChangeVehicleRegistrationUnitList() {
return this.queryForList("" , false); return this.queryForList("", false);
}
public Page<JgUseRegistrationManageDto> getUseRegistrationCodeData(Page<JgUseRegistrationManageDto> page,
JgUseRegistrationManageDto dto) {
return jgUseRegistrationManageService.queryForJgUseRegistrationManagePage(page, dto, null);
}
public Map<String, Object> getEquList(String useRegistrationCode) {
HashMap<String, Object> map = new HashMap<>();
JgUseRegistrationManage registrationManage = jgUseRegistrationManageService.lambdaQuery().eq(JgUseRegistrationManage::getUseRegistrationCode, useRegistrationCode).one();
List<JSONObject> jsonObjects = jgUseRegistrationManageService.queryEquByCertificateSeq(registrationManage.getSequenceNbr());
if (!ObjectUtils.isEmpty(jsonObjects)) {
JgVehicleInformation information = jgVehicleInformationService.lambdaQuery().eq(JgVehicleInformation::getUseRegistrationCode, useRegistrationCode).one();
List<String> records = jsonObjects.stream().map(a -> String.valueOf(a.get("SEQUENCE_NBR"))).collect(Collectors.toList());
List<Map<String, Object>> equList = this.getBaseMapper().getEquList(records);
equList.forEach(a -> {
if (!ObjectUtils.isEmpty(information) && !ObjectUtils.isEmpty(information.getCarNumber())) {
a.put("carNumber", information.getCarNumber());
}
});
map.put("dataList", equList);
// 组件回显
map.put("useRegistrationCode", useRegistrationCode);
}
return map;
}
public Map<String, Object> getDetails(String sequenceNbr) {
JgRegistrationHistory history = jgRegistrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr).eq(JgRegistrationHistory::getRegistrationClass, BUSINESS_NAME).one();
if (!ObjectUtils.isEmpty(history) && !ObjectUtils.isEmpty(history.getChangeData())) {
JSONObject object = JSONObject.parseObject(history.getChangeData());
object.put("sequenceNbr", sequenceNbr);
return object;
} else {
return new HashMap<>();
}
}
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void withdraw(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if (!isLocked) {
throw new BadRequest("当前流程已经被执行!请重新打开页面查看并执行!");
}
// 撤回校验
commonServiceImpl.checkForRevocationFlow(nextTaskId, instanceId);
JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit = new JgChangeVehicleRegistrationUnit();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(instanceId);
ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
processTaskDTOS.add(processTaskDTO);
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
String taskCode = "";
String roles = "";
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
taskCode = resultDto.get(0).getNextTaskCode();
roles = resultDto.get(0).getNextExecutorRoleIds();
jgChangeVehicleRegistrationUnit.setNextTaskId(resultDto.get(0).getNextTaskId());
jgChangeVehicleRegistrationUnit.setNextExecuteUserIds(resultDto.get(0).getNextExecutorUserIds());
}
LambdaQueryWrapper<JgChangeVehicleRegistrationUnit> lambda = new QueryWrapper<JgChangeVehicleRegistrationUnit>().lambda();
lambda.eq(JgChangeVehicleRegistrationUnit::getInstanceId, instanceId);
if (!ObjectUtils.isEmpty(taskCode)) {
jgChangeVehicleRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
jgChangeVehicleRegistrationUnit.setPromoter(reginParams.getUserModel().getUserId());
jgChangeVehicleRegistrationUnit.setNextExecutorIds(roles);
this.update(jgChangeVehicleRegistrationUnit, lambda);
LambdaQueryWrapper<JgChangeVehicleRegistrationUnit> queryWrapper = new QueryWrapper<JgChangeVehicleRegistrationUnit>().lambda();
queryWrapper.eq(JgChangeVehicleRegistrationUnit::getInstanceId, instanceId);
JgChangeVehicleRegistrationUnit data = this.baseMapper.selectOne(queryWrapper);
// 设备信息
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(data));
jsonObject.put("nextTaskId", data.getNextTaskId());
jsonObject.put("nextExecuteUser", data.getNextExecutorIds());
jsonObject.put("taskType", BusinessTypeEnum.JG_VEHICLE_GAS_CYLINDER_CHANGE.getCode());
jsonObject.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgChangeVehicleRegistrationUnit.getStatus()));
jsonObject.put("flowStatusLabel", jgChangeVehicleRegistrationUnit.getStatus());
jsonObject.put("pageType", "look");
//如果创建人等于当前人则打开编辑页面
if (taskCode.equals(WorkFlowStatusEnum.USE_SUBMIT.getCode())) {
jsonObject.put("pageType", "edit");
}
// 撤回删除代办
commonServiceImpl.rollbackTask(instanceId, jsonObject);
// redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(data));
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
} }
} }
\ No newline at end of file
...@@ -286,5 +286,23 @@ ...@@ -286,5 +286,23 @@
"pageType": "look", "pageType": "look",
"name": "车用气瓶登记", "name": "车用气瓶登记",
"url": "/mixuap?appId=1742358052905971713&id=1770004751216308226&roleIds={roleIds}&userId={userId}&pageType=look" "url": "/mixuap?appId=1742358052905971713&id=1770004751216308226&roleIds={roleIds}&userId={userId}&pageType=look"
},
{
"type": "119",
"pageType": "draft",
"name": "车用气瓶变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1811028265452728322&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type": "119",
"pageType": "edit",
"name": "车用气瓶变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1811028630713692161&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type": "119",
"pageType": "look",
"name": "车用气瓶变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1811028630713692161&roleIds={roleIds}&userId={userId}&pageType=look"
} }
] ]
\ No newline at end of file
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