Commit ee9ad07e authored by hezhuozhi's avatar hezhuozhi

管道变更/单位变更

parent 521c4103
...@@ -128,6 +128,9 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -128,6 +128,9 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty(value = "使用登记证列表") @ApiModelProperty(value = "使用登记证列表")
private List<Map<String, Object>> registrationList; private List<Map<String, Object>> registrationList;
@ApiModelProperty(value = "装置列表")
private List<Map<String, Object>> projectContraptionList;
@ApiModelProperty(value = "设备类别") @ApiModelProperty(value = "设备类别")
private String equType; private String equType;
......
...@@ -70,4 +70,9 @@ public class JgChangeRegistrationUnitEq extends BaseEntity { ...@@ -70,4 +70,9 @@ public class JgChangeRegistrationUnitEq extends BaseEntity {
@TableField("create_user_name") @TableField("create_user_name")
private String createUserName; private String createUserName;
/**
* 装置Id
*/
@TableField("project_contraption_id")
private String projectContraptionId;
} }
...@@ -4,10 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,10 +4,11 @@ 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.JgUseRegistrationManageDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage;
import com.yeejoin.amos.boot.module.jg.api.vo.IdxBizJgProjectContraptionVO;
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.api.vo.tableDataExportVo.CertificateVo; import com.yeejoin.amos.boot.module.jg.api.vo.tableDataExportVo.CertificateVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -37,4 +38,8 @@ public interface JgUseRegistrationManageMapper extends BaseMapper<JgUseRegistrat ...@@ -37,4 +38,8 @@ public interface JgUseRegistrationManageMapper extends BaseMapper<JgUseRegistrat
List<Map<String, String>> initUseRegistrationCodeIntoRedis(@Param("year") String year); List<Map<String, String>> initUseRegistrationCodeIntoRedis(@Param("year") String year);
List<Map<String, String>> initVehicleUseRegCodeIntoRedis(@Param("year") String year); List<Map<String, String>> initVehicleUseRegCodeIntoRedis(@Param("year") String year);
Page<IdxBizJgProjectContraptionVO> queryForUnitByProjectContraptionPage(@Param("page") Page<IdxBizJgProjectContraptionVO> page,
@Param("dto") Map<String, String> params,
@Param("sort") SortVo sortMap);
} }
package com.yeejoin.amos.boot.module.jg.api.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@ApiModel(value = "IdxBizJgProjectContraptionVO", description = "装置VO实体类")
public class IdxBizJgProjectContraptionVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
private String sequenceNbr;
@ApiModelProperty(value = "更新时间")
private Date recDate;
@ApiModelProperty(value = "工程装置名称")
private String projectContraption;
@ApiModelProperty(value = "工程装置编号")
private String projectContraptionNo;
@ApiModelProperty(value = "使用单位统一信用代码")
private String useUnitCreditCode;
@ApiModelProperty(value = "使用单位名称")
private String useUnitName;
@ApiModelProperty(value = "施工单位统一信用代码")
private String uscUnitCreditCode;
@ApiModelProperty(value = "施工单位名称")
private String uscUnitName;
@ApiModelProperty(value = "设备种类名称")
private String equListName;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "设备类别名称")
private String equCategoryName;
@ApiModelProperty(value = "设备代码")
private String equCategory;
@ApiModelProperty(value = "设备品种名称")
private String equDefineName;
@ApiModelProperty(value = "设备品种")
private String equDefine;
@ApiModelProperty(value = "装置管道总长度(m)")
private Double pipelineLength;
@ApiModelProperty(value = "产品照片附件")
private String productPhoto;
@ApiModelProperty(value = "其他附件")
private String otherAccessories;
@ApiModelProperty(value = "属地监管单位代码")
private String orgCode;
@ApiModelProperty(value = "属地监管单位名称")
private String orgName;
@ApiModelProperty(value = "产品质量合格证明")
private String productQualificationCertificate;
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
@ApiModelProperty(value = "使用登记证编号")
private String useRegistrationCode;
@ApiModelProperty(value = "数据来源(新增:0、导入:1、复制:复制数据的id 、jg:从监管加入的设备)")
private String dataSource;
@ApiModelProperty(value = "数据来源名称")
private String dataSourceName;
@ApiModelProperty(value = "使用地址")
private String fullAddress;
@ApiModelProperty(value = "工程装置设备代码")
private String equCode;
@ApiModelProperty(value = "设备使用地址")
private String equUseAddress;
}
...@@ -254,4 +254,183 @@ ...@@ -254,4 +254,183 @@
HAVING code <![CDATA[ <> ]]> '00000' HAVING code <![CDATA[ <> ]]> '00000'
ORDER BY prefix ORDER BY prefix
</select> </select>
<select id="queryForUnitByProjectContraptionPage"
resultType="com.yeejoin.amos.boot.module.jg.api.vo.IdxBizJgProjectContraptionVO">
SELECT
ibjpc.*,tjurm.equ_use_address
FROM
idx_biz_jg_project_contraption ibjpc
left join tzs_jg_use_registration_manage tjurm ON ibjpc.use_registration_code = tjurm.use_registration_code
WHERE
NOT EXISTS (
SELECT
1
FROM
idx_biz_jg_use_info ibjui
INNER JOIN (
select DISTINCT record from (
select
equ_id as record
from
tzs_jg_use_registration a,
tzs_jg_use_registration_eq b
where
a.sequence_nbr = b.equip_transfer_id
and a.is_delete = 0
and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
from
tzs_jg_change_registration_reform a,
tzs_jg_change_registration_reform_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.audit_status <![CDATA[ <> ]]> '使用单位待提交' and a.audit_status <![CDATA[ <> ]]> '一级受理已驳回' and a.audit_status <![CDATA[ <> ]]> '使用单位已撤回' and a.audit_status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
from
tzs_jg_change_registration_transfer a,
tzs_jg_change_registration_transfer_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.audit_status <![CDATA[ <> ]]> '使用单位待提交' and a.audit_status <![CDATA[ <> ]]> '一级受理已驳回' and a.audit_status <![CDATA[ <> ]]> '使用单位已撤回' and a.audit_status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
from
tzs_jg_change_registration_unit a,
tzs_jg_change_registration_unit_eq b
where
a.sequence_nbr = b.unit_change_registration_id
and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
from
tzs_jg_enable_disable a,
tzs_jg_enable_disable_eq b
where
a.sequence_nbr = b.enable_disable_apply_id
and (a.audit_status <![CDATA[ <> ]]> '已驳回' and a.audit_status <![CDATA[ <> ]]> '已撤回' and a.audit_status <![CDATA[ <> ]]> '待提交' and a.audit_status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
from
tzs_jg_installation_notice a,
tzs_jg_installation_notice_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
UNION
select
equ_id as record
from
tzs_jg_maintain_notice a,
tzs_jg_maintain_notice_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
UNION
select
equ_id as record
from
tzs_jg_maintenance_contract a,
tzs_jg_maintenance_contract_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.status <![CDATA[ <> ]]> '已作废' and a.status <![CDATA[ <> ]]> '维保单位已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '使用单位待提交')
UNION
select
equ_id as record
from
tzs_jg_reform_notice a,
tzs_jg_reform_notice_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
UNION
select
equ_id as record
from
tzs_jg_scrap_cancel a,
tzs_jg_scrap_cancel_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.audit_status <![CDATA[ <> ]]> '使用单位已撤回' and a.audit_status <![CDATA[ <> ]]> '一级受理已驳回' and a.audit_status <![CDATA[ <> ]]> '使用单位待提交' and a.audit_status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
from
tzs_jg_transfer_notice a,
tzs_jg_transfer_notice_eq b
where
a.sequence_nbr = b.equip_transfer_id
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
UNION
select
equ_id as record
from
tzs_jg_vehicle_information a,
tzs_jg_vehicle_information_eq b
where
a.sequence_nbr = b.vehicle_id
and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
UNION
select
equ_id as record
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 <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
) temp
) a ON ibjui.record = a.record
WHERE
ibjpc.sequence_nbr = ibjui.PROJECT_CONTRAPTION_ID
)
and ibjpc.use_unit_credit_code = #{dto.originalUseUnitCreditCode}
and ibjpc.is_delete = 0
and tjurm.is_delete = 0
and (ibjpc.project_contraption_parent_id is null or ibjpc.project_contraption_parent_id = '')
<if test="dto.equList != null and dto.equList != ''">
and tjurm.equ_list = #{dto.equList}
</if>
<if test="dto.equListCode != null and dto.equListCode != ''">
and tjurm.equ_list_code = #{dto.equListCode}
</if>
<if test="dto.equCategory != null and dto.equCategory != ''">
and tjurm.equ_category = #{dto.equCategory}
</if>
<if test="dto.equCategoryCode != null and dto.equCategoryCode != ''">
and tjurm.equ_category_code = #{dto.equCategoryCode}
</if>
<if test="dto.equDefineCode != null and dto.equDefineCode != ''">
and tjurm.equ_define = #{dto.equDefineCode}
</if>
<if test="dto.equDefineCode != null and dto.equDefineCode != ''">
and tjurm.equ_define_code = #{dto.equDefineCode}
</if>
-- 使用登记证编号
<if test="dto.useRegistrationCode != null and dto.useRegistrationCode != ''">
and tjurm.use_registration_code like concat('%',#{dto.useRegistrationCode},'%')
</if>
<if test="dto.certificateStatus != null and dto.certificateStatus != ''">
and tjurm.certificate_status = #{dto.certificateStatus}
</if>
<if test="dto.projectContraption != null and dto.projectContraption != ''">
and ibjpc.project_contraption like concat('%',#{dto.projectContraption},'%')
</if>
<if test="dto.projectContraptionNo != null and dto.projectContraptionNo != ''">
and ibjpc.project_contraption_no like concat('%', #{dto.projectContraptionNo},'%')
</if>
ORDER BY
<if test="sort != null">
ibjpc.${sort.field} ${sort.sortType},
</if>
ibjpc.rec_date DESC
</select>
</mapper> </mapper>
...@@ -6,9 +6,12 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; ...@@ -6,9 +6,12 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ProjectContraptionChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.vo.IdxBizJgProjectContraptionVO;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationManageServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationManageServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -295,6 +298,22 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -295,6 +298,22 @@ public class JgUseRegistrationManageController extends BaseController {
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePage(page, dto, sort)); return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePage(page, dto, sort));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/unitChangeByProjectContraption/page")
@ApiOperation(httpMethod = "GET", value = "单位变更选择工程/装置分页查询", notes = "单位变更选择工程/装置分页查询")
public ResponseModel<Page<IdxBizJgProjectContraptionVO>> queryForUnitByProjectContraptionPage(@RequestParam Map<String, String> params,
@RequestParam(value = "sort", required = false) String sort,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<IdxBizJgProjectContraptionVO> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
if (ValidationUtil.isEmpty(params.get("originalUseUnitCreditCode"))) {
return ResponseHelper.buildResponse(page);
}
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryForUnitByProjectContraptionPage(page, params, sort));
}
/** /**
* 根据sequenceNbr查询---大屏使用 * 根据sequenceNbr查询---大屏使用
* *
......
...@@ -1295,6 +1295,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1295,6 +1295,11 @@ public class CommonServiceImpl implements ICommonService {
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")));
JSONObject jsonObject = new JSONObject(noticeObj); JSONObject jsonObject = new JSONObject(noticeObj);
return jgChangeVehicleRegistrationUnitService.saveMessage(jsonObject, reginParams); return jgChangeVehicleRegistrationUnitService.saveMessage(jsonObject, reginParams);
} else if (type.equals(ApplicationFormTypeEnum.DWBG.getBusinessCode()) && !ObjectUtils.isEmpty(noticeObj.get("EQU_CATEGORY_CODE")) && "8300".equals(noticeObj.get("EQU_CATEGORY_CODE").toString())) {
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
provideMap.put(DWBG_PAGE_ID, noticeObj);
JSONObject jsonObject = new JSONObject(provideMap);
return jgChangeRegistrationUnitServiceImpl.saveUnitByProjectContraption(submitType,jsonObject, reginParams);
} else if (type.equals(ApplicationFormTypeEnum.DWBG.getBusinessCode())) { } 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);
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -176,6 +177,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -176,6 +177,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper; private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
private IdxBizJgProjectContraptionServiceImpl projectContraptionService;
/** /**
* 根据sequenceNbr查询:1、查询单位变更信息,2、查询使用登记证列表 * 根据sequenceNbr查询:1、查询单位变更信息,2、查询使用登记证列表
...@@ -287,163 +290,332 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -287,163 +290,332 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) { if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
} }
// 字段转换 if("8300".equals(noticeDto.getEquCategory())){
this.convertField(noticeDto); dealProjectContraptionToUpdate(submitType,noticeDto,op,reginParams);
// 获取单位变更使用登记证列表 }else {
List<Map<String, Object>> registrationList = noticeDto.getRegistrationList(); // 字段转换
if (CollectionUtils.isEmpty(registrationList)) { this.convertField(noticeDto);
throw new BadRequest("使用登记证不能为空"); // 获取单位变更使用登记证列表
} List<Map<String, Object>> registrationList = noticeDto.getRegistrationList();
//根据使用登记证查询设备 if (CollectionUtils.isEmpty(registrationList)) {
List<Long> registrationIdList = registrationList.stream().filter(v -> v.containsKey("sequenceNbr") && throw new BadRequest("使用登记证不能为空");
ObjectUtils.isNotEmpty(v.get("sequenceNbr")) && canConvertToLong(v.get("sequenceNbr").toString())) }
.map(v -> Long.parseLong(v.get("sequenceNbr").toString())).collect(Collectors.toList()); //根据使用登记证查询设备
// 获取单位变更设备列表 List<Long> registrationIdList = registrationList.stream().filter(v -> v.containsKey("sequenceNbr") &&
if (CollectionUtils.isEmpty(registrationIdList)) { ObjectUtils.isNotEmpty(v.get("sequenceNbr")) && canConvertToLong(v.get("sequenceNbr").toString()))
throw new BadRequest("使用登记证不能为空"); .map(v -> Long.parseLong(v.get("sequenceNbr").toString())).collect(Collectors.toList());
} // 获取单位变更设备列表
List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList); if (CollectionUtils.isEmpty(registrationIdList)) {
// 获取单位变更设备列表 throw new BadRequest("使用登记证不能为空");
if (CollectionUtils.isEmpty(deviceList)) { }
throw new BadRequest("使用登记证下无设备"); List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList);
} // 获取单位变更设备列表
ArrayList<String> roleListAll = new ArrayList<>(); if (CollectionUtils.isEmpty(deviceList)) {
ArrayList<String> roleListNext = new ArrayList<>(); throw new BadRequest("使用登记证下无设备");
if (SUBMIT_TYPE_FLOW.equals(submitType)) { }
// 发起流程 ArrayList<String> roleListAll = new ArrayList<>();
if (!StringUtils.hasText(noticeDto.getInstanceId())) { ArrayList<String> roleListNext = new ArrayList<>();
List<ProcessTaskDTO> processTasks = new ArrayList<>(); if (SUBMIT_TYPE_FLOW.equals(submitType)) {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); // 发起流程
List<ActWorkflowStartDTO> list = new ArrayList<>(); if (!StringUtils.hasText(noticeDto.getInstanceId())) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); List<ProcessTaskDTO> processTasks = new ArrayList<>();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
dto.setBusinessKey(String.valueOf(new Date().getTime())); List<ActWorkflowStartDTO> list = new ArrayList<>();
dto.setCompleteFirstTask(true); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
list.add(dto); dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
actWorkflowBatchDTO.setProcess(list); dto.setBusinessKey(String.valueOf(new Date().getTime()));
dto.setNextExecuteUserCompanyCode(noticeDto.getReceiveCompanyCode()); dto.setCompleteFirstTask(true);
processTasks = cmWorkflowService.startBatch(actWorkflowBatchDTO); list.add(dto);
String instanceId = processTasks.get(0).getProcessInstance().getId(); actWorkflowBatchDTO.setProcess(list);
String nextTaskId = processTasks.get(0).getNextTask().get(0).getId(); dto.setNextExecuteUserCompanyCode(noticeDto.getReceiveCompanyCode());
String taskname = processTasks.get(0).getNextTask().get(0).getName(); processTasks = cmWorkflowService.startBatch(actWorkflowBatchDTO);
this.buildRoleList(processTasks, roleListNext, roleListAll); String instanceId = processTasks.get(0).getProcessInstance().getId();
List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTasks); String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds(); String taskname = processTasks.get(0).getNextTask().get(0).getName();
this.buildRoleList(processTasks, roleListNext, roleListAll);
JgChangeRegistrationUnit notice = new JgChangeRegistrationUnit(); List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTasks);
BeanUtils.copyProperties(noticeDto, notice); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
notice.setChangeCertificate(noticeDto.getChangeCertificate());
notice.setRemark(noticeDto.getRemark()); JgChangeRegistrationUnit notice = new JgChangeRegistrationUnit();
if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) { BeanUtils.copyProperties(noticeDto, notice);
notice.setInstanceStatus(notice.getInstanceStatus() + "," + roleListAll); notice.setChangeCertificate(noticeDto.getChangeCertificate());
notice.setRemark(noticeDto.getRemark());
if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) {
notice.setInstanceStatus(notice.getInstanceStatus() + "," + roleListAll);
} else {
notice.setInstanceStatus(String.join(",", roleListAll));
}
notice.setInstanceId(instanceId);
notice.setNextTaskId(nextTaskId);
notice.setSupervisoryCode(noticeDto.getSupervisoryCode());
notice.setPromoter(RequestContext.getExeUserId());
notice.setNextExecutorIds(String.join(",", roleListNext));
notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
notice.setNextExecuteUserIds(nextUserIds);
setNewUnitInfo(reginParams, notice);
JgChangeRegistrationUnitMapper.updateById(notice);
commonServiceImpl.deleteTasksByRelationId(notice.getSequenceNbr() + "");
createTaskModel(notice, taskname, "1", nextUserIds);
commonServiceImpl.saveExecuteFlowData2Redis(notice.getInstanceId(), buildInstanceRuntimeData(notice));
} else { } else {
notice.setInstanceStatus(String.join(",", roleListAll)); ArrayList<String> roleList = new ArrayList<>();
String taskId = noticeDto.getNextTaskId();
//组装信息
TaskResultDTO task = new TaskResultDTO();
task.setResultCode("approvalStatus");
task.setTaskId(taskId);
task.setComment("");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
if (!ObjectUtils.isEmpty(noticeDto.getInstanceStatus()) &&
(noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
map.put("approvalStatus", "提交");
}
task.setVariable(map);
//执行流程
task.setNextExecuteUserCompanyCode(noticeDto.getReceiveCompanyCode());
ProcessTaskDTO processTaskDTO = cmWorkflowService.completeOrReject(taskId, task, op);
JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(noticeDto, bean);
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
String taskName1 = "";
String nextTaskId = "";
this.buildRoleList(Collections.singletonList(processTaskDTO), roleList, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
if (processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() > 0) {
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName1 = processTaskDTO.getNextTask().get(0).getName();
nextTaskId = processTaskDTO.getNextTask().get(0).getId();
}
bean.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(bean.getInstanceStatus())) {
bean.setInstanceStatus(bean.getInstanceStatus() + "," + String.join(",", roleList));
} else {
bean.setInstanceStatus(String.join(",", roleList));
}
bean.setNextTaskId(nextTaskId);
bean.setPromoter(RequestContext.getExeUserId());
bean.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
executeOneStep(bean, taskName1, nextUserIds, op);
bean.setNextExecuteUserIds(nextUserIds);
setNewUnitInfo(reginParams, bean);
JgChangeRegistrationUnitMapper.updateById(bean);
commonServiceImpl.saveExecuteFlowData2Redis(bean.getInstanceId(), buildInstanceRuntimeData(bean));
} }
notice.setInstanceId(instanceId);
notice.setNextTaskId(nextTaskId);
notice.setSupervisoryCode(noticeDto.getSupervisoryCode());
notice.setPromoter(RequestContext.getExeUserId());
notice.setNextExecutorIds(String.join(",", roleListNext));
notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
notice.setNextExecuteUserIds(nextUserIds);
setNewUnitInfo(reginParams, notice);
JgChangeRegistrationUnitMapper.updateById(notice);
commonServiceImpl.deleteTasksByRelationId(notice.getSequenceNbr() + "");
createTaskModel(notice, taskname, "1", nextUserIds);
commonServiceImpl.saveExecuteFlowData2Redis(notice.getInstanceId(), buildInstanceRuntimeData(notice));
} else { } else {
ArrayList<String> roleList = new ArrayList<>();
String taskId = noticeDto.getNextTaskId();
//组装信息
TaskResultDTO task = new TaskResultDTO();
task.setResultCode("approvalStatus");
task.setTaskId(taskId);
task.setComment("");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
if (!ObjectUtils.isEmpty(noticeDto.getInstanceStatus()) &&
(noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
map.put("approvalStatus", "提交");
}
task.setVariable(map);
//执行流程
task.setNextExecuteUserCompanyCode(noticeDto.getReceiveCompanyCode());
ProcessTaskDTO processTaskDTO = cmWorkflowService.completeOrReject(taskId, task, op);
JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit(); JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(noticeDto, bean); BeanUtils.copyProperties(noticeDto, bean);
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
String taskName1 = "";
String nextTaskId = "";
this.buildRoleList(Collections.singletonList(processTaskDTO), roleList, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
if (processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() > 0) {
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName1 = processTaskDTO.getNextTask().get(0).getName();
nextTaskId = processTaskDTO.getNextTask().get(0).getId();
}
bean.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(bean.getInstanceStatus())) {
bean.setInstanceStatus(bean.getInstanceStatus() + "," + String.join(",", roleList));
} else {
bean.setInstanceStatus(String.join(",", roleList));
}
bean.setNextTaskId(nextTaskId);
bean.setPromoter(RequestContext.getExeUserId());
bean.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
executeOneStep(bean, taskName1, nextUserIds, op);
bean.setNextExecuteUserIds(nextUserIds);
setNewUnitInfo(reginParams, bean); setNewUnitInfo(reginParams, bean);
JgChangeRegistrationUnitMapper.updateById(bean); JgChangeRegistrationUnitMapper.updateById(bean);
commonServiceImpl.saveExecuteFlowData2Redis(bean.getInstanceId(), buildInstanceRuntimeData(bean));
}
} else {
JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(noticeDto, bean);
setNewUnitInfo(reginParams, bean);
JgChangeRegistrationUnitMapper.updateById(bean);
}
List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
if (device.containsKey("USE_ORG_CODE")) {
unitEq.setRegistrationCertificate(device.getString("USE_ORG_CODE"));//使用登记证主键
} }
if (device.containsKey("SEQUENCE_NBR")) { List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
unitEq.setEquId(device.getString("SEQUENCE_NBR"));//设备主键 deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
if (device.containsKey("USE_ORG_CODE")) {
unitEq.setRegistrationCertificate(device.getString("USE_ORG_CODE"));//使用登记证主键
}
if (device.containsKey("SEQUENCE_NBR")) {
unitEq.setEquId(device.getString("SEQUENCE_NBR"));//设备主键
}
unitEq.setUnitChangeRegistrationId(noticeDto.getSequenceNbr().toString());//单位变更业务主键
unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json
jgRelationEquipList.add(unitEq);
});
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记");
jgRegistrationHistory.setCurrentDocumentId(noticeDto.getApplyNo());
//使用登记证历史数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(registrationList));
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, noticeDto.getSequenceNbr()));
registrationUnitEqService.saveBatch(jgRelationEquipList);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, noticeDto.getApplyNo()));
registrationHistoryService.save(jgRegistrationHistory);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
//如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中
CompanyBo company = reginParams.getCompany();
deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(jsonObject.get("SEQUENCE_NBR")),
CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyCode().split("_")[1] :
company.getCompanyCode()));
} }
unitEq.setUnitChangeRegistrationId(noticeDto.getSequenceNbr().toString());//单位变更业务主键
unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json
jgRelationEquipList.add(unitEq);
});
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记");
jgRegistrationHistory.setCurrentDocumentId(noticeDto.getApplyNo());
//使用登记证历史数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(registrationList));
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, noticeDto.getSequenceNbr()));
registrationUnitEqService.saveBatch(jgRelationEquipList);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, noticeDto.getApplyNo()));
registrationHistoryService.save(jgRegistrationHistory);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
//如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中
CompanyBo company = reginParams.getCompany();
deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(jsonObject.get("SEQUENCE_NBR")),
CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyCode().split("_")[1] :
company.getCompanyCode()));
} }
return noticeDto; return noticeDto;
} }
/**
* 更新装置的单位变更
* @param submitType
* @param noticeDto
* @param op
* @param reginParams
*/
private void dealProjectContraptionToUpdate(String submitType, JgChangeRegistrationUnitDto noticeDto, String op, ReginParams reginParams) {
// // 字段转换
// this.convertField(noticeDto);
// // 获取单位变更装置列表
// List<Map<String, Object>> projectContraptionList = noticeDto.getProjectContraptionList();
// if (CollectionUtils.isEmpty(projectContraptionList)) {
// throw new BadRequest("工程/装置列表不能为空");
// }
// //根据使用登记证查询设备
// List<Long> registrationIdList = registrationList.stream().filter(v -> v.containsKey("sequenceNbr") &&
// ObjectUtils.isNotEmpty(v.get("sequenceNbr")) && canConvertToLong(v.get("sequenceNbr").toString()))
// .map(v -> Long.parseLong(v.get("sequenceNbr").toString())).collect(Collectors.toList());
// // 获取单位变更设备列表
// if (CollectionUtils.isEmpty(registrationIdList)) {
// throw new BadRequest("使用登记证不能为空");
// }
// List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList);
// // 获取单位变更设备列表
// if (CollectionUtils.isEmpty(deviceList)) {
// throw new BadRequest("使用登记证下无设备");
// }
// ArrayList<String> roleListAll = new ArrayList<>();
// ArrayList<String> roleListNext = new ArrayList<>();
// if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// // 发起流程
// if (!StringUtils.hasText(noticeDto.getInstanceId())) {
// List<ProcessTaskDTO> processTasks = new ArrayList<>();
// ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
// List<ActWorkflowStartDTO> list = new ArrayList<>();
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
// dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
// dto.setBusinessKey(String.valueOf(new Date().getTime()));
// dto.setCompleteFirstTask(true);
// list.add(dto);
// actWorkflowBatchDTO.setProcess(list);
// dto.setNextExecuteUserCompanyCode(noticeDto.getReceiveCompanyCode());
// processTasks = cmWorkflowService.startBatch(actWorkflowBatchDTO);
// String instanceId = processTasks.get(0).getProcessInstance().getId();
// String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
// String taskname = processTasks.get(0).getNextTask().get(0).getName();
// this.buildRoleList(processTasks, roleListNext, roleListAll);
// List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTasks);
// String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
//
// JgChangeRegistrationUnit notice = new JgChangeRegistrationUnit();
// BeanUtils.copyProperties(noticeDto, notice);
// notice.setChangeCertificate(noticeDto.getChangeCertificate());
// notice.setRemark(noticeDto.getRemark());
// if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) {
// notice.setInstanceStatus(notice.getInstanceStatus() + "," + roleListAll);
// } else {
// notice.setInstanceStatus(String.join(",", roleListAll));
// }
// notice.setInstanceId(instanceId);
// notice.setNextTaskId(nextTaskId);
// notice.setSupervisoryCode(noticeDto.getSupervisoryCode());
// notice.setPromoter(RequestContext.getExeUserId());
// notice.setNextExecutorIds(String.join(",", roleListNext));
// notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
// notice.setNextExecuteUserIds(nextUserIds);
// setNewUnitInfo(reginParams, notice);
// JgChangeRegistrationUnitMapper.updateById(notice);
// commonServiceImpl.deleteTasksByRelationId(notice.getSequenceNbr() + "");
// createTaskModel(notice, taskname, "1", nextUserIds);
// commonServiceImpl.saveExecuteFlowData2Redis(notice.getInstanceId(), buildInstanceRuntimeData(notice));
// } else {
// ArrayList<String> roleList = new ArrayList<>();
// String taskId = noticeDto.getNextTaskId();
// //组装信息
// TaskResultDTO task = new TaskResultDTO();
// task.setResultCode("approvalStatus");
// task.setTaskId(taskId);
// task.setComment("");
// HashMap<String, Object> map = new HashMap<>();
// map.put("approvalStatus", op);
// if (!ObjectUtils.isEmpty(noticeDto.getInstanceStatus()) &&
// (noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
// noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
// map.put("approvalStatus", "提交");
// }
// task.setVariable(map);
// //执行流程
// task.setNextExecuteUserCompanyCode(noticeDto.getReceiveCompanyCode());
// ProcessTaskDTO processTaskDTO = cmWorkflowService.completeOrReject(taskId, task, op);
// JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
// BeanUtils.copyProperties(noticeDto, bean);
// String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
// String taskName1 = "";
// String nextTaskId = "";
// this.buildRoleList(Collections.singletonList(processTaskDTO), roleList, roleListAll);
// List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
// String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
// if (processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() > 0) {
// taskCode = processTaskDTO.getNextTask().get(0).getKey();
// taskName1 = processTaskDTO.getNextTask().get(0).getName();
// nextTaskId = processTaskDTO.getNextTask().get(0).getId();
// }
// bean.setNextExecutorIds(String.join(",", roleList));
// if (!ObjectUtils.isEmpty(bean.getInstanceStatus())) {
// bean.setInstanceStatus(bean.getInstanceStatus() + "," + String.join(",", roleList));
// } else {
// bean.setInstanceStatus(String.join(",", roleList));
// }
// bean.setNextTaskId(nextTaskId);
// bean.setPromoter(RequestContext.getExeUserId());
// bean.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
// executeOneStep(bean, taskName1, nextUserIds, op);
// bean.setNextExecuteUserIds(nextUserIds);
// setNewUnitInfo(reginParams, bean);
// JgChangeRegistrationUnitMapper.updateById(bean);
// commonServiceImpl.saveExecuteFlowData2Redis(bean.getInstanceId(), buildInstanceRuntimeData(bean));
// }
// } else {
// JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
// BeanUtils.copyProperties(noticeDto, bean);
// setNewUnitInfo(reginParams, bean);
// JgChangeRegistrationUnitMapper.updateById(bean);
// }
// List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
// deviceList.forEach(device -> {
// JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
// if (device.containsKey("USE_ORG_CODE")) {
// unitEq.setRegistrationCertificate(device.getString("USE_ORG_CODE"));//使用登记证主键
// }
// if (device.containsKey("SEQUENCE_NBR")) {
// unitEq.setEquId(device.getString("SEQUENCE_NBR"));//设备主键
// }
// unitEq.setUnitChangeRegistrationId(noticeDto.getSequenceNbr().toString());//单位变更业务主键
// unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json
// jgRelationEquipList.add(unitEq);
// });
// JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
// //登记类别
// jgRegistrationHistory.setRegistrationClass("单位变更登记");
// jgRegistrationHistory.setCurrentDocumentId(noticeDto.getApplyNo());
// //使用登记证历史数据
// jgRegistrationHistory.setChangeData(JSONObject.toJSONString(registrationList));
// //先删除之前设备关系数据,在插入最新设备关系数据
// registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
// .eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, noticeDto.getSequenceNbr()));
// registrationUnitEqService.saveBatch(jgRelationEquipList);
// //先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
// registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
// .eq(JgRegistrationHistory::getCurrentDocumentId, noticeDto.getApplyNo()));
// registrationHistoryService.save(jgRegistrationHistory);
//
// if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// //如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中
// CompanyBo company = reginParams.getCompany();
// deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
// .equipRepeatUsedCheck(String.valueOf(jsonObject.get("SEQUENCE_NBR")),
// CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
// company.getCompanyCode().split("_")[1] :
// company.getCompanyCode()));
// }
}
private void setNewUnitInfo(ReginParams reginParams, JgChangeRegistrationUnit notice) { private void setNewUnitInfo(ReginParams reginParams, JgChangeRegistrationUnit notice) {
notice.setNewUseUnitName(CompanyTypeEnum.INDIVIDUAL.getName().equals(reginParams.getCompany().getCompanyType()) ? notice.setNewUseUnitName(CompanyTypeEnum.INDIVIDUAL.getName().equals(reginParams.getCompany().getCompanyType()) ?
reginParams.getCompany().getCompanyName().split("_")[1] : reginParams.getCompany().getCompanyName()); reginParams.getCompany().getCompanyName().split("_")[1] : reginParams.getCompany().getCompanyName());
...@@ -973,65 +1145,70 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -973,65 +1145,70 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if (roleList.isEmpty()) { if (roleList.isEmpty()) {
registration.setStatus(taskName[0]); registration.setStatus(taskName[0]);
registration.setAuditPassDate(new Date()); registration.setAuditPassDate(new Date());
// 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES //如果是工业管道 如果工程装置对应一个证就直接变更给新单位;如果工程装置对应证下还有其他装置就变更后直接给新单位再重新生成一个登记证号;如果两个工程装置对应同一个使用登记证变更后生成两个新的登记证
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>(); if ("8300".equals(dto.getEquCategory())){
queryWrapper.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, dto.getSequenceNbr()); dealProjectContraption(dto,nextTaskId,registration,op);
List<JgChangeRegistrationUnitEq> jgChangeRegistrationUnitEqs = JgChangeRegistrationUnitEqMapper.selectList(queryWrapper); }else {
for (JgChangeRegistrationUnitEq jgChangeRegistrationUnitEq : jgChangeRegistrationUnitEqs) { // 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES
String equipId = jgChangeRegistrationUnitEq.getEquId(); LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>(); queryWrapper.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, dto.getSequenceNbr());
queryWrapper1.eq(OtherInfo::getRecord, equipId); List<JgChangeRegistrationUnitEq> jgChangeRegistrationUnitEqs = JgChangeRegistrationUnitEqMapper.selectList(queryWrapper);
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1); for (JgChangeRegistrationUnitEq jgChangeRegistrationUnitEq : jgChangeRegistrationUnitEqs) {
if (ObjectUtils.isNotEmpty(tzsJgOtherInfo)) { String equipId = jgChangeRegistrationUnitEq.getEquId();
LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper2.eq(UseInfo::getRecord, equipId); queryWrapper1.eq(OtherInfo::getRecord, equipId);
UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2); OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
if (ObjectUtils.isNotEmpty(useInfo)) { if (ObjectUtils.isNotEmpty(tzsJgOtherInfo)) {
useInfo.setUseUnitName(registration.getNewUseUnitName()); LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>();
useInfo.setUseUnitCreditCode(registration.getNewUseUnitCreditCode()); queryWrapper2.eq(UseInfo::getRecord, equipId);
useInfoMapper.updateById(useInfo); UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2);
if (ObjectUtils.isNotEmpty(useInfo)) {
useInfo.setUseUnitName(registration.getNewUseUnitName());
useInfo.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
useInfoMapper.updateById(useInfo);
}
//修改ES中使用单位信息和使用单位代码
Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
String[] companyCode = registration.getNewUseUnitCreditCode().split("_");
map1.put("USE_UNIT_CREDIT_CODE", companyCode.length > 1 ? companyCode[1] : registration.getNewUseUnitCreditCode());
map1.put("USE_UNIT_NAME", registration.getNewUseUnitName());
map1.put("REC_DATE", new Date());// 更新时间,设备筛选时排在前面 bug-21476
resultMap.put(equipId, map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
//修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(equipId, registration.getApplyNo());
} }
//修改ES中使用单位信息和使用单位代码
Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
String[] companyCode = registration.getNewUseUnitCreditCode().split("_");
map1.put("USE_UNIT_CREDIT_CODE", companyCode.length > 1 ? companyCode[1] : registration.getNewUseUnitCreditCode());
map1.put("USE_UNIT_NAME", registration.getNewUseUnitName());
map1.put("REC_DATE", new Date());// 更新时间,设备筛选时排在前面 bug-21476
resultMap.put(equipId, map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
//修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(equipId, registration.getApplyNo());
} }
} registration.setNextTaskId(nextTaskId);
registration.setNextTaskId(nextTaskId); updateTaskModel(registration, op);
updateTaskModel(registration, op); //新增使用登记证和设备变更记录
//新增使用登记证和设备变更记录 this.saveRecord(registration);
this.saveRecord(registration); JgRegistrationHistory history = registrationHistoryService.lambdaQuery()
JgRegistrationHistory history = registrationHistoryService.lambdaQuery() .eq(JgRegistrationHistory::getCurrentDocumentId, registration.getApplyNo())
.eq(JgRegistrationHistory::getCurrentDocumentId, registration.getApplyNo()) .eq(JgRegistrationHistory::getIsDelete, false)
.eq(JgRegistrationHistory::getIsDelete, false) .one();
.one(); JSONArray historyJson = JSON.parseArray(history.getChangeData());
JSONArray historyJson = JSON.parseArray(history.getChangeData()); List<String> ids = historyJson.stream().map(v -> JSON.parseObject(v.toString()).getString("sequenceNbr")).collect(Collectors.toList());
List<String> ids = historyJson.stream().map(v -> JSON.parseObject(v.toString()).getString("sequenceNbr")).collect(Collectors.toList()); List<JgUseRegistrationManage> list = useRegistrationManageService.lambdaQuery().in(BaseEntity::getSequenceNbr, ids).list();
List<JgUseRegistrationManage> list = useRegistrationManageService.lambdaQuery().in(BaseEntity::getSequenceNbr, ids).list(); for (JgUseRegistrationManage registrationManage : list) {
for (JgUseRegistrationManage registrationManage : list) { //修改使用登记证管理使用单位地址、使用单位代码、接收机构、接收机构公司代码、办理日期、使用单位地址
//修改使用登记证管理使用单位地址、使用单位代码、接收机构、接收机构公司代码、办理日期、使用单位地址 registrationManage.setUseUnitName(registration.getNewUseUnitName());
registrationManage.setUseUnitName(registration.getNewUseUnitName()); registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode()); registrationManage.setReceiveOrgName(registration.getReceiveOrgName());
registrationManage.setReceiveOrgName(registration.getReceiveOrgName()); registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode());
registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode()); registrationManage.setAuditPassDate(registration.getAuditPassDate());
registrationManage.setAuditPassDate(registration.getAuditPassDate()); registrationManage.setVersion(registrationManage.getVersion() + 1);
registrationManage.setVersion(registrationManage.getVersion() + 1); registrationManage.setChangeReason(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
registrationManage.setChangeReason(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName()); if (!ObjectUtils.isEmpty(registration.getNewUseUnitCreditCode())) {//回填新单位地址
if (!ObjectUtils.isEmpty(registration.getNewUseUnitCreditCode())) {//回填新单位地址 TzBaseEnterpriseInfo useCodeResult = tzBaseEnterpriseInfoMapper.selectOne(new QueryWrapper<TzBaseEnterpriseInfo>().eq("use_unit_code", registration.getNewUseUnitCreditCode()));
TzBaseEnterpriseInfo useCodeResult = tzBaseEnterpriseInfoMapper.selectOne(new QueryWrapper<TzBaseEnterpriseInfo>().eq("use_unit_code", registration.getNewUseUnitCreditCode())); if (useCodeResult != null) {
if (useCodeResult != null) { registrationManage.setUseUnitAddress(useCodeResult.getAddress());
registrationManage.setUseUnitAddress(useCodeResult.getAddress()); }
} }
} }
useRegistrationManageService.updateBatchById(list);
} }
useRegistrationManageService.updateBatchById(list);
} else { } else {
registration.setNextExecutorIds(String.join(",", roleList)); registration.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(registration.getInstanceStatus())) { if (!ObjectUtils.isEmpty(registration.getInstanceStatus())) {
...@@ -1069,6 +1246,147 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1069,6 +1246,147 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
/** /**
* 处理工业管道
* @param dto
* @param nextTaskId
* @param registration
*/
private void dealProjectContraption(JgChangeRegistrationUnitDto dto, String nextTaskId, JgChangeRegistrationUnit registration,String op) {
List<Map<String, Object>> projectContraptionList = dto.getProjectContraptionList();
if(CollUtil.isNotEmpty(projectContraptionList)){
throw new BadRequest("工程/装置列表为空");
}
registration.setNextTaskId(nextTaskId);
updateTaskModel(registration, op);
for (Map<String, Object> map : projectContraptionList) {
String useRegistrationCode = (String)map.get("useRegistrationCode");
String sequenceNbr = (String) map.get("sequenceNbr");
LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgProjectContraption::getUseRegistrationCode,useRegistrationCode)
.isNotNull(IdxBizJgProjectContraption::getUseRegistrationCode)
.eq(BaseEntity::getIsDelete,false);
List<IdxBizJgProjectContraption> jgProjectContraptions = projectContraptionService.list(wrapper);
if(CollectionUtils.isEmpty(jgProjectContraptions)){
throw new BadRequest("使用登记证编号:"+useRegistrationCode+"对应的工程/装置列表不存在");
}
//如果工程装置对应一个证就直接变更给新单位 否则重新生成一个登记证
if(jgProjectContraptions.size() == 1){
IdxBizJgProjectContraption idxBizJgProjectContraption = jgProjectContraptions.get(0);
idxBizJgProjectContraption.setUseUnitName(registration.getNewUseUnitName());
idxBizJgProjectContraption.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
projectContraptionService.updateById(idxBizJgProjectContraption);
//获取使用登记证
LambdaQueryWrapper<JgUseRegistrationManage> useRegistrationManageWrapper = new LambdaQueryWrapper<>();
useRegistrationManageWrapper.eq(JgUseRegistrationManage::getUseRegistrationCode,useRegistrationCode)
.isNotNull(JgUseRegistrationManage::getUseRegistrationCode)
.eq(BaseEntity::getIsDelete,false);
JgUseRegistrationManage registrationManage = useRegistrationManageService.getBaseMapper().selectOne(useRegistrationManageWrapper);
//修改使用登记证管理使用单位地址、使用单位代码、接收机构、接收机构公司代码、办理日期、使用单位地址
registrationManage.setUseUnitName(registration.getNewUseUnitName());
registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
registrationManage.setReceiveOrgName(registration.getReceiveOrgName());
registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode());
registrationManage.setAuditPassDate(registration.getAuditPassDate());
registrationManage.setVersion(registrationManage.getVersion() + 1);
registrationManage.setChangeReason(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
if (!ObjectUtils.isEmpty(registration.getNewUseUnitCreditCode())) {//回填新单位地址
TzBaseEnterpriseInfo useCodeResult = tzBaseEnterpriseInfoMapper.selectOne(new QueryWrapper<TzBaseEnterpriseInfo>().eq("use_unit_code", registration.getNewUseUnitCreditCode()));
if (useCodeResult != null) {
registrationManage.setUseUnitAddress(useCodeResult.getAddress());
}
}
useRegistrationManageService.updateById(registrationManage);
//新增使用登记证和设备变更记录
this.saveRecordByProjectContraption(registrationManage,registration);
} else {
IdxBizJgProjectContraption idxBizJgProjectContraption = projectContraptionService.getBaseMapper().selectById(Long.valueOf(sequenceNbr));
//查询使用登记表eq 查询和装置关联的管道,取第一个用于生成登记编号
LambdaQueryWrapper<JgChangeRegistrationUnitEq> registrationUnitEqWrapper = new LambdaQueryWrapper<>();
registrationUnitEqWrapper.eq(JgChangeRegistrationUnitEq::getProjectContraptionId,idxBizJgProjectContraption.getSequenceNbr());
List<JgChangeRegistrationUnitEq> changeRegistrationUnitEqs = registrationUnitEqService.list(registrationUnitEqWrapper);
if(CollUtil.isEmpty(changeRegistrationUnitEqs)){
throw new BadRequest("使用登记表没有找到工程/装置对应的信息");
}
//重新生成使用登记证
LambdaQueryWrapper<JgUseRegistrationManage> useRegistrationManageWrapper = new LambdaQueryWrapper<>();
useRegistrationManageWrapper.eq(JgUseRegistrationManage::getUseRegistrationCode,useRegistrationCode)
.isNotNull(JgUseRegistrationManage::getUseRegistrationCode)
.eq(BaseEntity::getIsDelete,false);
JgUseRegistrationManage registrationManage = useRegistrationManageService.getBaseMapper().selectOne(useRegistrationManageWrapper);
long nextId = sequence.nextId();
registrationManage.setSequenceNbr(nextId);
String code = commonServiceImpl.generateRegistrationCode(changeRegistrationUnitEqs.get(0).getEquId(), idxBizJgProjectContraption.getSupervisoryCode(),
registrationManage.getReceiveCompanyCode(), true);
registrationManage.setUseRegistrationCode(code);
//修改使用登记证管理使用单位地址、使用单位代码、接收机构、接收机构公司代码、办理日期、使用单位地址
registrationManage.setUseUnitName(registration.getNewUseUnitName());
registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
registrationManage.setReceiveOrgName(registration.getReceiveOrgName());
registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode());
registrationManage.setAuditPassDate(registration.getAuditPassDate());
registrationManage.setVersion(registrationManage.getVersion() + 1);
registrationManage.setChangeReason(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
if (!ObjectUtils.isEmpty(registration.getNewUseUnitCreditCode())) {//回填新单位地址
TzBaseEnterpriseInfo useCodeResult = tzBaseEnterpriseInfoMapper.selectOne(new QueryWrapper<TzBaseEnterpriseInfo>().eq("use_unit_code", registration.getNewUseUnitCreditCode()));
if (useCodeResult != null) {
registrationManage.setUseUnitAddress(useCodeResult.getAddress());
}
}
useRegistrationManageService.save(registrationManage);
//更新使用登记关系表
LambdaUpdateWrapper<JgChangeRegistrationUnitEq> registrationUnitEqUpdateWrapper = new LambdaUpdateWrapper<>();
registrationUnitEqUpdateWrapper.set(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId,nextId)
.set(JgChangeRegistrationUnitEq::getRegistrationCertificate,code)
.eq(JgChangeRegistrationUnitEq::getProjectContraptionId,idxBizJgProjectContraption.getSequenceNbr());
registrationUnitEqService.update(registrationUnitEqUpdateWrapper);
//更新装置表
idxBizJgProjectContraption.setUseRegistrationCode(code);
idxBizJgProjectContraption.setUseUnitName(registration.getNewUseUnitName());
idxBizJgProjectContraption.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
projectContraptionService.updateById(idxBizJgProjectContraption);
//新增使用登记证和设备变更记录
this.saveRecordByProjectContraption(registrationManage,registration);
}
}
}
/**
* 保存装置单位变更记录
* @param registrationManage
*/
private void saveRecordByProjectContraption(JgUseRegistrationManage registrationManage,JgChangeRegistrationUnit registrationUnit) {
List<JgChangeRegistrationUnitEq> eqList = registrationUnitEqService.lambdaQuery().eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registrationManage.getSequenceNbr()).list();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
long nextId = sequence.nextId();
changeRecord.setApplyNo(registrationManage.getApplyNo());//申请编号
changeRecord.setReceiveOrgName(registrationManage.getReceiveOrgName());//接收机构/登记机关
changeRecord.setAuditPassDate(registrationUnit.getApplyDate());//办理日期
changeRecord.setRegType("单位变更登记");//登记类别
changeRecord.setRegDate(registrationUnit.getCreateDate());//申请日期
changeRecord.setChangeContent(this.buildRecordContent(registrationUnit));//变更内容
changeRecord.setUseRegistrationCode(registrationManage.getUseRegistrationCode());//使用登记编号
changeRecord.setReceiveCompanyCode(registrationUnit.getReceiveCompanyCode());//接收机构公司代码
changeRecord.setCertificateNo(registrationManage.getCertificateNo());//登记证书唯一码
changeRecord.setUseUnitCreditCode(registrationUnit.getNewUseUnitCreditCode());//使用单位统一信用代码
changeRecord.setUseUnitName(registrationUnit.getNewUseUnitName());//使用单位名称
changeRecord.setEquCategory(registrationManage.getEquCategory());//设备类别编码
changeRecord.setCreateDate(new Date());
changeRecord.setSequenceNbr(nextId);
for (JgChangeRegistrationUnitEq unitEq : eqList) {
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(String.valueOf(nextId));//登记证记录主键
changeRecordEq.setEquId(unitEq.getEquId());//设备主键
changeRecordEqList.add(changeRecordEq);
}
certificateChangeRecordService.save(changeRecord);
if (!changeRecordEqList.isEmpty()) {
certificateChangeRecordEqService.saveBatch(changeRecordEqList);
}
}
/**
* 删除 redis校验重复引用设备的数据 * 删除 redis校验重复引用设备的数据
*/ */
private void delRepeatUseEquipData(String applyNo, String status, String companyCode) { private void delRepeatUseEquipData(String applyNo, String status, String companyCode) {
...@@ -1590,4 +1908,204 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1590,4 +1908,204 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
}); });
} }
/**
* 保存工业管道的单位变更
* @param submitType
* @param map
* @param reginParams
* @return
*/
public List<JgChangeRegistrationUnitDto> saveUnitByProjectContraption(String submitType, JSONObject map, ReginParams reginParams) {
JgChangeRegistrationUnitDto model = BeanUtil.toBeanIgnoreError(map.get("changeRegisInfo"), JgChangeRegistrationUnitDto.class);
String[] taskName = new String[]{"流程结束"};
// 字段转换
convertField(model);
// 获取单位变更装置列表
List<Map<String, Object>> projectContraptionList = model.getProjectContraptionList();
if (CollectionUtils.isEmpty(projectContraptionList)) {
throw new BadRequest("工程/装置列表不能为空");
}
//根据使用登记证查询设备
List<String> registrationNoList = new ArrayList<>();//使用登记证编号
Map<String,String> useRegistrationCodeMap = new HashMap<>();
for (Map<String, Object> objectMap : projectContraptionList) {
if (objectMap.containsKey("useRegistrationCode") && ObjectUtils.isNotEmpty(objectMap.get("useRegistrationCode"))) {
registrationNoList.add(objectMap.get("useRegistrationCode").toString());
useRegistrationCodeMap.put(objectMap.get("sequenceNbr").toString(),objectMap.get("useRegistrationCode").toString());
}
}
//查询装置下的管道信息
List<Map<String, Object>> deviceList = this.queryPipelineList(projectContraptionList);
if(CollUtil.isEmpty(deviceList)){
throw new BadRequest("工程/装置下没有管道信息");
}
if (SUBMIT_TYPE_FLOW.equals(submitType)) {//放在最后面防止前面有异常
//如果是提交,用于校验设备是否已经在流程中,如果不在标记设备已经在流程中
CompanyBo company = reginParams.getCompany();
deviceList.forEach(jsonObject -> EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.equipRepeatUsedCheck(String.valueOf(jsonObject.get("record")),
CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyCode().split("_")[1] :
company.getCompanyCode()));
}
// 获取单位变更单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.DWBG.getCode(), 1);
List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) {
log.error("生成申请变更单位编码失败");
return new ArrayList<>();
}
ArrayList<String> roleListFirst = new ArrayList<>();
List<String> instanceIdList = new ArrayList<>();
List<String> nextExecutorUserIds = new ArrayList<>();
List<String> taskIds = new ArrayList<>();
List<WorkflowResultDto> workflowResultDtos = new ArrayList<>();
String nextExecutorRoleIds = "";
// 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
//发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(String.valueOf(new Date().getTime()));
dto.setNextExecuteUserCompanyCode(model.getReceiveCompanyCode());
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
nextExecutorRoleIds = workflowResultDtos.get(0).getNextExecutorRoleIds();
nextExecutorUserIds.add(workflowResultDtos.get(0).getNextExecutorUserIds());
for (WorkflowResultDto processTaskDTO : workflowResultDtos) {
instanceIdList.add(processTaskDTO.getInstanceId());
taskIds.add(processTaskDTO.getNextTaskId());
}
}
String finalNextExecutorRoleIds = nextExecutorRoleIds;
CompanyBo companyBo = commonServiceImpl.getOneCompany(model.getReceiveCompanyCode());
model.setApplyNo(applyNoList.get(0));
model.setReceiveCompanyOrgCode(companyBo.getOrgCode());
model.setCreateUserId(RequestContext.getExeUserId());
model.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
model.setNextExecutorIds(finalNextExecutorRoleIds);
model.setInstanceStatus(String.join(",", roleListFirst));
model.setPromoter(reginParams.getUserModel().getUserId());
model.setStatus(taskName[0]);
}
if (!CollectionUtils.isEmpty(nextExecutorUserIds)) {
model.setNextExecuteUserIds(nextExecutorUserIds.get(0));
}
if (!CollectionUtils.isEmpty(instanceIdList)) {
model.setInstanceId(instanceIdList.get(0));
model.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
} else {
model.setStatus(WorkFlowStatusEnum.UNITCHANGE_SUBMIT.getPass());
}
if (!CollectionUtils.isEmpty(taskIds)) {
model.setNextTaskId(taskIds.get(0));
}
model.setSequenceNbr(sequence.nextId());
model.setCreateDate(new Date());
model.setCreateUserName(reginParams.getUserModel().getRealName());
model.setUseRegistCode(String.join(",", registrationNoList));
model.setEquList(projectContraptionList.get(0).get("equList").toString());
JgChangeRegistrationUnit registrationUnit = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(model, registrationUnit);
setNewUnitInfo(reginParams, registrationUnit);
JgChangeRegistrationUnitMapper.insert(registrationUnit);
List<TaskModelDto> modelDtos = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto();
TaskMessageDto ta = new TaskMessageDto();
ta.setInstanceId(registrationUnit.getInstanceId());
ta.setStatus(registrationUnit.getStatus());
ta.setPromoter(registrationUnit.getPromoter());
ta.setNextExecuteUserIds(registrationUnit.getNextExecuteUserIds());
ta.setSequenceNbr(registrationUnit.getSequenceNbr());
ta.setNextTaskId(registrationUnit.getNextTaskId());
taskModelDto.setModel(ta);
taskModelDto.setFlowCreateDate(new Date());
taskModelDto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
taskModelDto.setFlowCode(registrationUnit.getNextTaskId());
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
taskModelDto.setRelationId(registrationUnit.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel("未处理");
taskModelDto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
taskModelDto.setFlowStatusLabel(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
taskModelDto.setStartUserId(RequestContext.getExeUserId());
taskModelDto.setStartUser(workflowResultDtos.get(0).getStartUserName());
taskModelDto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
taskModelDto.setStartDate(new Date());
taskModelDto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
modelDtos.add(taskModelDto);
} else {
TaskModelDto taskModelDto = new TaskModelDto();
//行数据
taskModelDto.setModel(registrationUnit);
//摘要 按原有规则组装
taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
//申请单号
taskModelDto.setTaskCode(registrationUnit.getApplyNo());
//业务类型枚举code值
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
////业务主键
taskModelDto.setRelationId(registrationUnit.getSequenceNbr() + "");
modelDtos.add(taskModelDto);
// }
}
commonServiceImpl.saveExecuteFlowData2Redis(registrationUnit.getInstanceId(), buildInstanceRuntimeData(registrationUnit));
commonServiceImpl.buildTaskModel(modelDtos);
List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
if (device.containsKey("projectContraptionId")) {
String projectContraptionId = (String)device.get("projectContraptionId");
unitEq.setRegistrationCertificate(useRegistrationCodeMap.get(projectContraptionId));
unitEq.setProjectContraptionId(projectContraptionId);
}
if (device.containsKey("record")) {
unitEq.setEquId((String) device.get("record"));//设备主键
}
unitEq.setUnitChangeRegistrationId(registrationUnit.getSequenceNbr().toString());//单位变更业务主键
unitEq.setDeviceInfo(JSON.toJSONString(device));//设备信息json
jgRelationEquipList.add(unitEq);
});
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记");
jgRegistrationHistory.setCurrentDocumentId(registrationUnit.getApplyNo());
//使用登记证历史数据
jgRegistrationHistory.setChangeData(JSON.toJSONString(projectContraptionList));
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>()
.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registrationUnit.getSequenceNbr()));
registrationUnitEqService.saveBatch(jgRelationEquipList);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, registrationUnit.getApplyNo()));
registrationHistoryService.save(jgRegistrationHistory);
return Collections.singletonList(model);
}
/**
* 获取装置下的管道信息
* @param projectContraptionList
* @return
*/
public List<Map<String, Object>> queryPipelineList(List<Map<String, Object>> projectContraptionList) {
List<Map<String, Object>> result = new ArrayList<>();
projectContraptionList.forEach(item-> result.addAll(projectContraptionService.getBaseMapper().selectEquipList((String) item.get("sequenceNbr"))));
return result;
}
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -14,9 +15,11 @@ import com.yeejoin.amos.boot.module.jg.api.entity.*; ...@@ -14,9 +15,11 @@ 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.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CertificateStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CertificateStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService; import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService;
import com.yeejoin.amos.boot.module.jg.api.vo.IdxBizJgProjectContraptionVO;
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.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil; import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
...@@ -25,6 +28,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; ...@@ -25,6 +28,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgProjectContraptionMapper;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.queryparser.classic.QueryParser;
...@@ -59,6 +63,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -59,6 +63,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -858,4 +864,27 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -858,4 +864,27 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
} }
return "修复成功!"; return "修复成功!";
} }
/**
* 工程/装置分页查询
* @param page
* @param params
* @param sort
* @return
*/
public Page<IdxBizJgProjectContraptionVO> queryForUnitByProjectContraptionPage(Page<IdxBizJgProjectContraptionVO> page, Map<String, String> params, String sort) {
SortVo sortMap = commonServiceImpl.sortFieldConversion(sort);
Page<IdxBizJgProjectContraptionVO> projectContraptionPage = this.baseMapper.queryForUnitByProjectContraptionPage(page, params, sortMap);
List<IdxBizJgProjectContraptionVO> records = projectContraptionPage.getRecords();
if (!ValidationUtil.isEmpty(records)) {
records.forEach(item -> {
BigDecimal pipelineLength = BigDecimal.valueOf(item.getPipelineLength());
BigDecimal roundedValue = pipelineLength.setScale(3, RoundingMode.HALF_UP);
BigDecimal strippedValue = roundedValue.stripTrailingZeros();
item.setPipelineLength(Double.valueOf(strippedValue.toPlainString()));
item.setDataSourceName(EquipSourceEnum.getDataSourceName(item.getDataSource()));
});
}
return projectContraptionPage;
}
} }
\ No newline at end of file
...@@ -73,7 +73,8 @@ ...@@ -73,7 +73,8 @@
(select USC_DATE from idx_biz_jg_construction_info jci where ibjui.RECORD = jci.RECORD ORDER BY jci."USC_DATE" DESC limit 1) as uscDate, (select USC_DATE from idx_biz_jg_construction_info jci where ibjui.RECORD = jci.RECORD ORDER BY jci."USC_DATE" DESC limit 1) as uscDate,
ibjdi."DESIGN_UNIT_NAME" AS designUnitName, ibjdi."DESIGN_UNIT_NAME" AS designUnitName,
ibjui."USE_DATE" AS useDate, ibjui."USE_DATE" AS useDate,
ibjui."RECORD" AS record ibjui."RECORD" AS record,
ibjui.project_contraption_id AS projectContraptionId
FROM idx_biz_jg_use_info ibjui FROM idx_biz_jg_use_info ibjui
LEFT JOIN idx_biz_jg_tech_params_pipeline ibjtpp ON ibjui.RECORD = ibjtpp.RECORD LEFT JOIN idx_biz_jg_tech_params_pipeline ibjtpp ON ibjui.RECORD = ibjtpp.RECORD
LEFT JOIN idx_biz_jg_design_info ibjdi ON ibjui.RECORD = ibjdi.RECORD LEFT JOIN idx_biz_jg_design_info ibjdi ON ibjui.RECORD = ibjdi.RECORD
......
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