Commit 8e80c12a authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_register_to_0715' of…

Merge branch 'develop_tzs_register_to_0715' of http://36.40.66.175:5000/moa/amos-boot-biz into develop_tzs_register_to_0715
parents ed60cacd e420cc1a
...@@ -54,4 +54,12 @@ public class JgCertificateChangeRecordDto extends BaseModel { ...@@ -54,4 +54,12 @@ public class JgCertificateChangeRecordDto extends BaseModel {
@ApiModelProperty(value = "登记证书唯一码") @ApiModelProperty(value = "登记证书唯一码")
private String certificateNo; private String certificateNo;
@ApiModelProperty(value = "使用单位统一信用代码")
private String useUnitCreditCode;
@ApiModelProperty(value = "使用单位名称")
private String useUnitName;
@ApiModelProperty(value = "设备类别")
private String equCategory;
} }
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author system_generator
* @date 2024-07-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="JgCertificateChangeRecordEqDto", description="")
public class JgCertificateChangeRecordEqDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "变更记录ID")
private String changeRecordId;
@ApiModelProperty(value = "设备ID")
private String equId;
@ApiModelProperty(value = "产品编号")
private String productCode;
}
...@@ -117,6 +117,10 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -117,6 +117,10 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty(value = "告知设备列表") @ApiModelProperty(value = "告知设备列表")
private List<Map<String, Object>> deviceList; private List<Map<String, Object>> deviceList;
@TableField(exist = false)
@ApiModelProperty(value = "使用登记证列表")
private List<Map<String, Object>> registrationList;
@ApiModelProperty(value = "设备类别") @ApiModelProperty(value = "设备类别")
private String equType; private String equType;
...@@ -146,7 +150,7 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -146,7 +150,7 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty(value = "监管码") @ApiModelProperty(value = "监管码")
private String supervisoryCode; private String supervisoryCode;
@ApiModelProperty(value = "类") @ApiModelProperty(value = "设备种类")
private String equList; private String equList;
@ApiModelProperty(value = "设备类别") @ApiModelProperty(value = "设备类别")
...@@ -169,4 +173,16 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -169,4 +173,16 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty(value = "公司类型") @ApiModelProperty(value = "公司类型")
private String companyType; private String companyType;
@ApiModelProperty(value = "经办人")
private String agent;
@ApiModelProperty(value = "经办人联系电话")
private String agentPhone;
@ApiModelProperty(value = "设备种类编码")
private String equListCode;
@ApiModelProperty(value = "接收机构公司的org_code")
private String receiveCompanyOrgCode;
} }
package com.yeejoin.amos.boot.module.jg.api.dto; package com.yeejoin.amos.boot.module.jg.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
/** /**
...@@ -15,11 +16,16 @@ import java.util.Date; ...@@ -15,11 +16,16 @@ import java.util.Date;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="JgChangeRegistrationUnitEqDto", description="单位变更登记设备关系表") @ApiModel(value = "JgChangeRegistrationUnitEqDto", description = "单位变更登记设备关系表")
public class JgChangeRegistrationUnitEqDto extends BaseDto { public class JgChangeRegistrationUnitEqDto extends BaseDto {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L; @ApiModelProperty(value = "使用登记证")
private String registrationCertificate;
@ApiModelProperty(value = "设备信息json")
private String deviceInfo;
@ApiModelProperty(value = "单位变更登记申请id") @ApiModelProperty(value = "单位变更登记申请id")
private String unitChangeRegistrationId; private String unitChangeRegistrationId;
......
...@@ -29,7 +29,7 @@ public class JgUseRegistrationManageDto extends BaseDto { ...@@ -29,7 +29,7 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty(value = "使用登记证状态(已登记,已注销)") @ApiModelProperty(value = "使用登记证状态(已登记,已注销)")
private String certificateStatus; private String certificateStatus;
@ApiModelProperty(value = "接收机构") @ApiModelProperty(value = "接收机构/登记机关")
private String receiveOrgName; private String receiveOrgName;
@ApiModelProperty(value = "办理日期") @ApiModelProperty(value = "办理日期")
...@@ -68,7 +68,7 @@ public class JgUseRegistrationManageDto extends BaseDto { ...@@ -68,7 +68,7 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private String createDate; private String createDate;
@ApiModelProperty(value = "使用登记编号") @ApiModelProperty(value = "使用登记编号")
private String useRegistrationCode; private String useRegistrationCode;
@ApiModelProperty(value = "使用单位统一信用代码") @ApiModelProperty(value = "使用单位统一信用代码")
...@@ -77,7 +77,7 @@ public class JgUseRegistrationManageDto extends BaseDto { ...@@ -77,7 +77,7 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty(value = "接收机构公司代码") @ApiModelProperty(value = "接收机构公司代码")
private String receiveCompanyCode; private String receiveCompanyCode;
@ApiModelProperty(value = "登记证书编号") @ApiModelProperty(value = "登记证书编号/登记证书唯一码")
private String certificateNo; private String certificateNo;
@ApiModelProperty(value = "数据类型:监管/行政审批局,企业") @ApiModelProperty(value = "数据类型:监管/行政审批局,企业")
...@@ -86,6 +86,9 @@ public class JgUseRegistrationManageDto extends BaseDto { ...@@ -86,6 +86,9 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty(value = "设备使用地址") @ApiModelProperty(value = "设备使用地址")
private String equUseAddress; private String equUseAddress;
@ApiModelProperty(value = "使用单位地址")
private String useUnitAddress;
@ApiModelProperty(value = "使用单位统一信用代码-搜索使用") @ApiModelProperty(value = "使用单位统一信用代码-搜索使用")
private String useUnitCreditCodeForSearch; private String useUnitCreditCodeForSearch;
......
...@@ -88,4 +88,22 @@ public class JgCertificateChangeRecord extends BaseEntity { ...@@ -88,4 +88,22 @@ public class JgCertificateChangeRecord extends BaseEntity {
@TableField("certificate_no") @TableField("certificate_no")
private String certificateNo; private String certificateNo;
/**
* 使用单位统一信用代码
*/
@TableField("use_unit_credit_code")
private String useUnitCreditCode;
/**
* 使用单位名称
*/
@TableField("use_unit_name")
private String useUnitName;
/**
* 设备类别
*/
@TableField("EQU_CATEGORY")
private String equCategory;
} }
package com.yeejoin.amos.boot.module.jg.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
*
*
* @author system_generator
* @date 2024-07-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tzs_jg_certificate_change_record_eq")
public class JgCertificateChangeRecordEq extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 变更记录ID
*/
@TableField("change_record_id")
private String changeRecordId;
/**
* 设备ID
*/
@TableField("equ_id")
private String equId;
/**
* 产品编号
*/
@TableField("product_code")
private String productCode;
}
...@@ -231,7 +231,7 @@ public class JgChangeRegistrationUnit extends BaseEntity { ...@@ -231,7 +231,7 @@ public class JgChangeRegistrationUnit extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private String code96333; private String code96333;
@TableField(exist = false) @TableField(value = "equ_list")
private String equList; private String equList;
/** /**
...@@ -266,4 +266,22 @@ public class JgChangeRegistrationUnit extends BaseEntity { ...@@ -266,4 +266,22 @@ public class JgChangeRegistrationUnit extends BaseEntity {
*/ */
@TableField("receive_company_org_code") @TableField("receive_company_org_code")
private String receiveCompanyOrgCode; private String receiveCompanyOrgCode;
/**
* 经办人
*/
@TableField("agent")
private String agent;
/**
* 经办人联系电话
*/
@TableField("agent_phone")
private String agentPhone;
/**
* 设备种类编码
*/
@TableField("equ_list_code")
private String equListCode;
} }
...@@ -23,6 +23,18 @@ public class JgChangeRegistrationUnitEq extends BaseEntity { ...@@ -23,6 +23,18 @@ public class JgChangeRegistrationUnitEq extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 使用登记证
*/
@TableField("registration_certificate")
private String registrationCertificate;
/**
* 设备信息json
*/
@TableField("device_info")
private String deviceInfo;
/**
* 单位变更登记申请id * 单位变更登记申请id
*/ */
@TableField("unit_change_registration_id") @TableField("unit_change_registration_id")
......
...@@ -150,4 +150,10 @@ public class JgUseRegistrationManage extends BaseEntity { ...@@ -150,4 +150,10 @@ public class JgUseRegistrationManage extends BaseEntity {
@TableField("equ_use_address") @TableField("equ_use_address")
private String equUseAddress; private String equUseAddress;
/**
* 设备使用地址
*/
@TableField("use_unit_address")
private String useUnitAddress;
} }
package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.yeejoin.amos.boot.module.jg.api.entity.JgCertificateChangeRecordEq;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author system_generator
* @date 2024-07-05
*/
public interface JgCertificateChangeRecordEqMapper extends BaseMapper<JgCertificateChangeRecordEq> {
}
package com.yeejoin.amos.boot.module.jg.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2024-07-05
*/
public interface IJgCertificateChangeRecordEqService {}
...@@ -63,6 +63,6 @@ public interface IJgChangeRegistrationUnitService { ...@@ -63,6 +63,6 @@ public interface IJgChangeRegistrationUnitService {
* @param model 数据 * @param model 数据
* @param submitType 保存类型 * @param submitType 保存类型
*/ */
JgChangeRegistrationUnitDto saveNotice(String submitType, JSONObject model, ReginParams reginParams); List<JgChangeRegistrationUnitDto> saveNotice(String submitType, JSONObject model, ReginParams reginParams);
} }
<?xml version="1.0" encoding="UTF-8"?>
<!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.JgCertificateChangeRecordEqMapper">
</mapper>
...@@ -4,38 +4,9 @@ ...@@ -4,38 +4,9 @@
<select id="queryForPage" resultType="com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit"> <select id="queryForPage" resultType="com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit">
select select
isn.sequence_nbr AS sequenceNbr, isn.*
isn.apply_no AS applyNo,
isn.apply_date AS applyDate,
isn.use_unit_name AS useUnitName,
isn.receive_org_name AS receiveOrgName,
isn.new_use_unit_name AS newUseUnitName,
isn.product_name_b AS productNameB,
isn.equ_code_b AS equCodeB,
isn.use_inner_code AS useInnerCode,
isn.use_regist_code AS useRegistCode,
isn.status AS status,
isn.instance_id AS instanceId,
isn.promoter,
isn.next_executor_ids AS nextExecutorIds,
isn.instance_status AS instanceStatus,
isn.audit_pass_date AS auditPassDate,
isn.equ_type AS equType,
isn.next_execute_user_ids as nextExecuteUserIds,
isn.next_task_id as nextTaskId,
isn.create_user_id as createUserId,
oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
ibjui."ADDRESS" as detailedAddress,
(SELECT name from tz_equipment_category ec WHERE ec.code = ri.EQU_LIST) AS equList,
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefine,
concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") AS equAddress
FROM FROM
tzs_jg_change_registration_unit isn tzs_jg_change_registration_unit isn
LEFT JOIN tzs_jg_change_registration_unit_eq re ON re.unit_change_registration_id = isn.sequence_nbr
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.record = re.equ_id
LEFT JOIN idx_biz_jg_register_info ri ON ri.record = re.equ_id
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = re.equ_id
<where> <where>
isn.is_delete = false isn.is_delete = false
<if test="param != null "> <if test="param != null ">
...@@ -69,29 +40,6 @@ ...@@ -69,29 +40,6 @@
<if test="param.useRegistCode != null and param.useRegistCode != ''"> <if test="param.useRegistCode != null and param.useRegistCode != ''">
AND isn.use_regist_code like concat('%',#{param.useRegistCode},'%') AND isn.use_regist_code like concat('%',#{param.useRegistCode},'%')
</if> </if>
<if test="param.equList != null and param.equList != ''">
AND ri.EQU_LIST = #{param.equList}
</if>
<if test="param.equCategory != null and param.equCategory != ''">
AND ri.EQU_CATEGORY = #{param.equCategory}
</if>
<if test="param.equDefine != null and param.equDefine != ''">
AND ri.EQU_DEFINE = #{param.equDefine}
</if>
<if test="param.code96333 != null and param.code96333 != ''">
AND oi.CODE96333 like concat('%',#{param.code96333},'%')
</if>
<if test="param.supervisoryCode != null and param.supervisoryCode != ''">
AND oi.SUPERVISORY_CODE like concat('%',#{param.supervisoryCode},'%')
</if>
<if test="param.equAddress != null and param.equAddress != ''">
AND (
ibjui."PROVINCE_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
OR ibjui."CITY_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
OR ibjui."COUNTY_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
OR ibjui."STREET_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
)
</if>
</if> </if>
<if test="type == 'supervision'"> <if test="type == 'supervision'">
AND (isn.receive_org_code = #{orgCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' )) AND (isn.receive_org_code = #{orgCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
...@@ -102,7 +50,7 @@ ...@@ -102,7 +50,7 @@
</if> </if>
<if test="roleIds != null and type == 'supervision'"> <if test="roleIds != null and type == 'supervision'">
<foreach collection='roleIds' item='role' open='and (' close=')' separator='or'> <foreach collection='roleIds' item='role' open='and (' close=')' separator='or'>
instance_status like concat('%',#{role},'%') isn.instance_status like concat('%',#{role},'%')
</foreach> </foreach>
</if> </if>
</where> </where>
...@@ -111,7 +59,6 @@ ...@@ -111,7 +59,6 @@
isn.${sort.field} ${sort.sortType}, isn.${sort.field} ${sort.sortType},
</if> </if>
isn.create_date DESC, isn.apply_no DESC isn.create_date DESC, isn.apply_no DESC
</select> </select>
<select id="queryEquipInformation" resultType="java.util.Map"> <select id="queryEquipInformation" resultType="java.util.Map">
......
...@@ -25,7 +25,8 @@ ...@@ -25,7 +25,8 @@
tjurm.receive_company_code AS receiveCompanyCode, tjurm.receive_company_code AS receiveCompanyCode,
tjurm.certificate_no AS certificateNo, tjurm.certificate_no AS certificateNo,
tjurm.equ_category AS equCategory, tjurm.equ_category AS equCategory,
tjurm.equ_use_address AS equUseAddress tjurm.equ_use_address AS equUseAddress,
tjurm.use_unit_address AS useUnitAddress
</sql> </sql>
...@@ -71,6 +72,10 @@ ...@@ -71,6 +72,10 @@
<if test="dto.applyNo != null and dto.applyNo != ''"> <if test="dto.applyNo != null and dto.applyNo != ''">
and tjurm.apply_no like #{dto.applyNo} and tjurm.apply_no like #{dto.applyNo}
</if> </if>
-- 登记证书唯一码
<if test="dto.certificateNo != null and dto.certificateNo != ''">
and tjurm.certificate_no = #{dto.certificateNo}
</if>
<if test="dto.auditPassDate != null and dto.auditPassDate != ''"> <if test="dto.auditPassDate != null and dto.auditPassDate != ''">
and tjurm.audit_pass_date like concat('%',DATE_FORMAT(#{dto.auditPassDate},'%Y-%m-%d'),'%') and tjurm.audit_pass_date like concat('%',DATE_FORMAT(#{dto.auditPassDate},'%Y-%m-%d'),'%')
</if> </if>
......
package com.yeejoin.amos.boot.module.jg.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgCertificateChangeRecordEqServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgCertificateChangeRecordEqDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
*
* @author system_generator
* @date 2024-07-05
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/jg-certificate-change-record-eq")
public class JgCertificateChangeRecordEqController extends BaseController {
@Autowired
JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<JgCertificateChangeRecordEqDto> save(@RequestBody JgCertificateChangeRecordEqDto model) {
model = jgCertificateChangeRecordEqServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<JgCertificateChangeRecordEqDto> updateBySequenceNbrJgCertificateChangeRecordEq(@RequestBody JgCertificateChangeRecordEqDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jgCertificateChangeRecordEqServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(jgCertificateChangeRecordEqServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<JgCertificateChangeRecordEqDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(jgCertificateChangeRecordEqServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<JgCertificateChangeRecordEqDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<JgCertificateChangeRecordEqDto> page = new Page<JgCertificateChangeRecordEqDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(jgCertificateChangeRecordEqServiceImpl.queryForJgCertificateChangeRecordEqPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<JgCertificateChangeRecordEqDto>> selectForList() {
return ResponseHelper.buildResponse(jgCertificateChangeRecordEqServiceImpl.queryForJgCertificateChangeRecordEqList());
}
}
...@@ -6,12 +6,14 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -6,12 +6,14 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.util.MultiValueMap;
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.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -177,4 +179,27 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -177,4 +179,27 @@ public class JgUseRegistrationManageController extends BaseController {
.collect(Collectors.toList()); .collect(Collectors.toList());
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquByCertificateSeqList(collect)); return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquByCertificateSeqList(collect));
} }
/**
* 根据证的sequenceNbrs 批量查询证下面的所有设备
* @param current 非必填,不填不分页,展示全部
* @param size 非必填,不填不分页,展示全部
* @param paramMap **仅仅支持** studio平台传参类似&certificateSeqs[0]=1809032149396975618&certificateSeqs[1]=1809032151141806081
* 如需其他需求使用上面的接口查询
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryEquByCertificateSeqs")
@ApiOperation(httpMethod = "GET",value = "根据证的sequenceNbr 批量查询证下面的所有设备", notes = "根据证的sequenceNbr 批量查询证下面的所有设备")
public ResponseModel<Page<JSONObject>> queryEquByCertificateSeqList( @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam MultiValueMap<String, String> paramMap) {
List<Long> certificateSeqs = new ArrayList<>();
paramMap.forEach((key, value) -> {
if (key.startsWith("certificateSeqs[")) {
value.forEach(val -> certificateSeqs.add(Long.parseLong(val)));
}
});
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquForPageByCertificateSeqList(certificateSeqs,current,size));
}
} }
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgCertificateChangeRecordEqDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgCertificateChangeRecordEq;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgCertificateChangeRecordEqMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgCertificateChangeRecordEqService;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
/**
* 服务实现类
*
* @author system_generator
* @date 2024-07-05
*/
@Service
public class JgCertificateChangeRecordEqServiceImpl extends BaseService<JgCertificateChangeRecordEqDto,JgCertificateChangeRecordEq,JgCertificateChangeRecordEqMapper> implements IJgCertificateChangeRecordEqService {
/**
* 分页查询
*/
public Page<JgCertificateChangeRecordEqDto> queryForJgCertificateChangeRecordEqPage(Page<JgCertificateChangeRecordEqDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<JgCertificateChangeRecordEqDto> queryForJgCertificateChangeRecordEqList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
...@@ -6,15 +6,15 @@ import com.alibaba.fastjson.JSONArray; ...@@ -6,15 +6,15 @@ import com.alibaba.fastjson.JSONArray;
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;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.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.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnitEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
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.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
...@@ -26,13 +26,14 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; ...@@ -26,13 +26,14 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*; import com.yeejoin.amos.feign.workflow.model.*;
import io.seata.spring.annotation.GlobalTransactional;
import org.apache.commons.lang3.ObjectUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -40,7 +41,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -40,7 +41,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
...@@ -49,6 +49,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -49,6 +49,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -77,6 +78,9 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -77,6 +78,9 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
JgChangeRegistrationUnitEqMapper JgChangeRegistrationUnitEqMapper; JgChangeRegistrationUnitEqMapper JgChangeRegistrationUnitEqMapper;
@Autowired @Autowired
JgChangeRegistrationUnitEqServiceImpl registrationUnitEqService;
@Autowired
CmWorkflowServiceImpl cmWorkflowService; CmWorkflowServiceImpl cmWorkflowService;
@Autowired @Autowired
private JgChangeRegistrationUnitMapper JgChangeRegistrationUnitMapper; private JgChangeRegistrationUnitMapper JgChangeRegistrationUnitMapper;
...@@ -132,22 +136,39 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -132,22 +136,39 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired
JgUseRegistrationManageServiceImpl registrationManageService;
@Autowired
JgRegistrationHistoryServiceImpl registrationHistoryService;
@Autowired
private Sequence sequence;
@Autowired
JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
@Autowired
JgUseRegistrationManageServiceImpl useRegistrationManageService;
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询:1、查询单位变更信息,2、查询使用登记证列表
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return 单位变更 * @return 单位变更
*/ */
@Override @Override
public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr) { public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr) {
// 变更单位信息 // 单位变更信息
JgChangeRegistrationUnit notice = JgChangeRegistrationUnitMapper.selectById(sequenceNbr); JgChangeRegistrationUnit notice = JgChangeRegistrationUnitMapper.selectById(sequenceNbr);
if (Objects.isNull(notice)) { if (Objects.isNull(notice)) {
return null; return null;
} }
Map<String, Object> changeInfo = BeanUtil.beanToMap(notice, false, true); Map<String, Object> changeInfo = BeanUtil.beanToMap(notice, false, true);
//组装下拉数据
if (!ValidationUtil.isEmpty(notice.getReceiveOrgCode()) && !ValidationUtil.isEmpty(notice.getReceiveOrgName())) { if (!ValidationUtil.isEmpty(notice.getReceiveOrgCode()) && !ValidationUtil.isEmpty(notice.getReceiveOrgName())) {
changeInfo.put("receiveOrgCode", notice.getReceiveOrgCode() + "_" + notice.getReceiveOrgName()); changeInfo.put("receiveOrgCode", notice.getReceiveOrgCode() + "_" + notice.getReceiveOrgName());
} }
...@@ -157,10 +178,16 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -157,10 +178,16 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if (!ValidationUtil.isEmpty(notice.getNewUseUnitCreditCode()) && !ValidationUtil.isEmpty(notice.getNewUseUnitName())) { if (!ValidationUtil.isEmpty(notice.getNewUseUnitCreditCode()) && !ValidationUtil.isEmpty(notice.getNewUseUnitName())) {
changeInfo.put("newUseUnitCreditCode", notice.getNewUseUnitCreditCode() + "_" + notice.getNewUseUnitName()); changeInfo.put("newUseUnitCreditCode", notice.getNewUseUnitCreditCode() + "_" + notice.getNewUseUnitName());
} }
//附件格式处理
changeInfo.put("changeCertificateList", JSON.parse(notice.getChangeCertificate())); changeInfo.put("changeCertificateList", JSON.parse(notice.getChangeCertificate()));
changeInfo.put("otherAccessoriesList", JSON.parse(notice.getOtherAccessories())); changeInfo.put("otherAccessoriesList", JSON.parse(notice.getOtherAccessories()));
//查询使用登记证列表
JgRegistrationHistory historyServiceOne = registrationHistoryService.getOne(
new LambdaQueryWrapper<JgRegistrationHistory>().eq(JgRegistrationHistory::getCurrentDocumentId, notice.getApplyNo()));
changeInfo.put("registrationList", JSON.parse(historyServiceOne.getChangeData()));
return new HashMap<String, Map<String, Object>>() {{ return new HashMap<String, Map<String, Object>>() {{
this.put("changeRegisInfo", fillEquipInfoWithRuntimeOrHistoryData(notice, changeInfo)); // this.put("changeRegisInfo", fillEquipInfoWithRuntimeOrHistoryData(notice, changeInfo));
this.put("changeRegisInfo", changeInfo);
}}; }};
} }
...@@ -176,7 +203,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -176,7 +203,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
his.putAll(changeInfo); his.putAll(changeInfo);
return his; return his;
} }
// 非完成状态返回实时设备数据 // 非完成状态返回实时使用登记证数据
return getEquipInfo(notice.getSequenceNbr(), changeInfo); return getEquipInfo(notice.getSequenceNbr(), changeInfo);
} }
...@@ -214,14 +241,31 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -214,14 +241,31 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
* *
* @param noticeDto 单位变更 * @param noticeDto 单位变更
*/ */
@SuppressWarnings({"rawtypes", "Duplicates"}) @GlobalTransactional(rollbackFor = Exception.class)
public JgChangeRegistrationUnitDto updateInstallationNotice(String submitType, JgChangeRegistrationUnitDto noticeDto, String op) { public JgChangeRegistrationUnitDto updateInstallationNotice(String submitType, JgChangeRegistrationUnitDto noticeDto, String op) {
if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) { if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
} }
String[] taskName = new String[]{"流程结束"};
// 字段转换 // 字段转换
this.convertField(noticeDto); this.convertField(noticeDto);
// 获取单位变更使用登记证列表
List<Map<String, Object>> registrationList = noticeDto.getRegistrationList();
if (CollectionUtils.isEmpty(registrationList)) {
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> roleListAll = new ArrayList<>();
ArrayList<String> roleListNext = new ArrayList<>(); ArrayList<String> roleListNext = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
...@@ -320,12 +364,41 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -320,12 +364,41 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
BeanUtils.copyProperties(noticeDto, bean); BeanUtils.copyProperties(noticeDto, bean);
JgChangeRegistrationUnitMapper.updateById(bean); JgChangeRegistrationUnitMapper.updateById(bean);
} }
updateHistorySingle(noticeDto.getSequenceNbr()); // updateHistorySingle(noticeDto.getSequenceNbr());
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);
return noticeDto; return noticeDto;
} }
private void updateHistorySingle(Long seq) { private void updateHistorySingle(Long seq) {
List<JgChangeRegistrationUnitEq> eqs = jgChangeRegistrationUnitEqMapper.selectList(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>().eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, seq)); QueryWrapper<JgChangeRegistrationUnitEq> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, seq);
List<JgChangeRegistrationUnitEq> eqs = jgChangeRegistrationUnitEqMapper.selectList(wrapper);
this.updateHistoryAsync(eqs); this.updateHistoryAsync(eqs);
} }
...@@ -366,13 +439,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -366,13 +439,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
/** /**
* 列表查询 示例
*/
public List<JgChangeRegistrationUnitDto> queryForJgChangeRegistrationUnitList() {
return this.queryForList("", false);
}
/**
* 批量删除 * 批量删除
* *
* @param sequenceNbrs 主键 * @param sequenceNbrs 主键
...@@ -400,42 +466,108 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -400,42 +466,108 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
return Boolean.TRUE; return Boolean.TRUE;
} }
public void saveRecord(JgChangeRegistrationUnit registrationUnit) {
Long sequenceNbr = registrationUnit.getSequenceNbr();
List<JgChangeRegistrationUnitEq> eqList = registrationUnitEqService.lambdaQuery().eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, sequenceNbr).list();
List<JgRegistrationHistory> historyList = registrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr).list();
if (historyList.size() != 1) {
return;
}
List<JgCertificateChangeRecord> changeRecordList = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
JSONArray historyJson = JSON.parseArray(historyList.get(0).getChangeData());
for (Object object : historyJson) {
JSONObject jsonObject = JSON.parseObject(object.toString());
String registrationCode = jsonObject.getString("useRegistrationCode");
String certificateNo = jsonObject.getString("certificateNo");
String equCategoryCode = jsonObject.getString("equCategoryCode");
changeRecord.setApplyNo(registrationUnit.getApplyNo());//申请编号
changeRecord.setReceiveOrgName(registrationUnit.getReceiveOrgName());//接收机构/登记机关
changeRecord.setAuditPassDate(registrationUnit.getApplyDate());//办理日期
changeRecord.setRegType("单位变更登记");//登记类别
changeRecord.setRegDate(registrationUnit.getCreateDate());//申请日期
changeRecord.setChangeContent(this.buildRecordContent(registrationUnit));//变更内容
changeRecord.setUseRegistrationCode(registrationCode);//使用登记编号
changeRecord.setReceiveCompanyCode(registrationUnit.getReceiveCompanyCode());//接收机构公司代码
changeRecord.setCertificateNo(certificateNo);//登记证书唯一码
changeRecord.setUseUnitCreditCode(registrationUnit.getNewUseUnitCreditCode());//使用单位统一信用代码
changeRecord.setUseUnitName(registrationUnit.getNewUseUnitName());//使用单位名称
changeRecord.setEquCategory(equCategoryCode);//设备类别编码
changeRecord.setCreateDate(new Date());
changeRecord.setSequenceNbr(sequence.nextId());
changeRecordList.add(changeRecord);
for (JgChangeRegistrationUnitEq unitEq : eqList) {
if (!StringUtils.isEmpty(unitEq.getRegistrationCertificate()) && !StringUtils.isEmpty(registrationCode) &&
unitEq.getRegistrationCertificate().equals(registrationCode)) {
JSONObject deviceJson = JSON.parseObject(unitEq.getDeviceInfo());
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(changeRecord.getSequenceNbr().toString());//登记证记录主键
changeRecordEq.setRecDate(new Date());
changeRecordEq.setEquId(deviceJson.getString("SEQUENCE_NBR"));//设备主键
changeRecordEqList.add(changeRecordEq);
}
}
}
if (!changeRecordList.isEmpty()) {
certificateChangeRecordService.saveBatch(changeRecordList);
}
if (!changeRecordEqList.isEmpty()) {
certificateChangeRecordEqService.saveBatch(changeRecordEqList);
}
}
@Override @Override
@Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
public JgChangeRegistrationUnitDto saveNotice(String submitType, JSONObject map, ReginParams reginParams) { @GlobalTransactional(rollbackFor = Exception.class)
public List<JgChangeRegistrationUnitDto> saveNotice(String submitType, JSONObject map, ReginParams reginParams) {
JgChangeRegistrationUnitDto model = BeanUtil.toBeanIgnoreError(map.get("changeRegisInfo"), JgChangeRegistrationUnitDto.class); JgChangeRegistrationUnitDto model = BeanUtil.toBeanIgnoreError(map.get("changeRegisInfo"), JgChangeRegistrationUnitDto.class);
String[] taskName = new String[]{"流程结束"}; String[] taskName = new String[]{"流程结束"};
// 字段转换 // 字段转换
convertField(model); convertField(model);
// 获取单位变更使用登记证列表
List<Map<String, Object>> registrationList = model.getRegistrationList();
if (CollectionUtils.isEmpty(registrationList)) {
throw new BadRequest("使用登记证不能为空");
}
//根据使用登记证查询设备
List<Long> registrationIdList = new ArrayList<>();//使用登记证id
List<String> registrationNoList = new ArrayList<>();//使用登记证编号
for (Map<String, Object> objectMap : registrationList) {
if (objectMap.containsKey("sequenceNbr") && ObjectUtils.isNotEmpty(objectMap.get("sequenceNbr"))
&& canConvertToLong(objectMap.get("sequenceNbr").toString())) {
registrationIdList.add(Long.parseLong(objectMap.get("sequenceNbr").toString()));
}
if (objectMap.containsKey("useRegistrationCode") && ObjectUtils.isNotEmpty(objectMap.get("useRegistrationCode"))) {
registrationNoList.add(objectMap.get("useRegistrationCode").toString());
}
}
// 获取单位变更设备列表
if (CollectionUtils.isEmpty(registrationIdList)) {
throw new BadRequest("使用登记证不能为空");
}
List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList);
// 获取单位变更设备列表 // 获取单位变更设备列表
List<Map<String, Object>> deviceList = model.getDeviceList();
if (CollectionUtils.isEmpty(deviceList)) { if (CollectionUtils.isEmpty(deviceList)) {
throw new BadRequest("设备不能为空"); throw new BadRequest("使用登记证下无设备");
// return new ArrayList<>();
} }
// 获取单位变更单号 // 获取单位变更单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.DWBG.getCode(), 1); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.DWBG.getCode(), 1);
List<String> applyNoList = listResponseModel.getResult(); List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) { if (CollectionUtils.isEmpty(applyNoList)) {
log.error("生成申请变更单位编失败"); log.error("生成申请变更单位编失败");
return null; return new ArrayList<>();
} }
ArrayList<String> roleListFirst = new ArrayList<>(); ArrayList<String> roleListFirst = new ArrayList<>();
// ArrayList<String> roleListSecond = new ArrayList<>(); // ArrayList<String> roleListSecond = new ArrayList<>();
// 判断当前是否为提交
List<String> instanceIdList = new ArrayList<>(); List<String> instanceIdList = new ArrayList<>();
List<String> nextExecutorUserIds = new ArrayList<>(); List<String> nextExecutorUserIds = new ArrayList<>();
List<String> taskIds = new ArrayList<>(); List<String> taskIds = new ArrayList<>();
List<WorkflowResultDto> workflowResultDtos = new ArrayList<>(); List<WorkflowResultDto> workflowResultDtos = new ArrayList<>();
String nextExecutorRoleIds = ""; String nextExecutorRoleIds = "";
// 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程 //发起流程
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); // ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>(); List<ActWorkflowStartDTO> list = new ArrayList<>();
...@@ -465,22 +597,20 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -465,22 +597,20 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
CompanyBo companyBo = commonServiceImpl.getOneCompany(model.getReceiveCompanyCode()); CompanyBo companyBo = commonServiceImpl.getOneCompany(model.getReceiveCompanyCode());
// deviceList.forEach(obj -> { // deviceList.forEach(obj -> {
// JgChangeRegistrationUnitEq jgRelationEquip = new JgChangeRegistrationUnitEq(); // JgChangeRegistrationUnitEq jgRelationEquip = new JgChangeRegistrationUnitEq();
JgChangeRegistrationUnit dto = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(model, dto);
// int i = deviceList.indexOf(obj); // int i = deviceList.indexOf(obj);
// String applyNo = applyNoList.get(i); // String applyNo = applyNoList.get(i);
dto.setApplyNo(applyNoList.get(0)); model.setApplyNo(applyNoList.get(0));
dto.setReceiveCompanyOrgCode(companyBo.getOrgCode()); model.setReceiveCompanyOrgCode(companyBo.getOrgCode());
dto.setCreateUserId(RequestContext.getExeUserId()); model.setCreateUserId(RequestContext.getExeUserId());
dto.setApplyDate(new Date()); model.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecutorIds(finalNextExecutorRoleIds); model.setNextExecutorIds(finalNextExecutorRoleIds);
dto.setInstanceStatus(String.join(",", roleListFirst)); model.setInstanceStatus(String.join(",", roleListFirst));
dto.setPromoter(reginParams.getUserModel().getUserId()); model.setPromoter(reginParams.getUserModel().getUserId());
dto.setStatus(taskName[0]); model.setStatus(taskName[0]);
} }
dto.setNewUseUnitName(reginParams.getCompany().getCompanyName()); model.setNewUseUnitName(reginParams.getCompany().getCompanyName());
dto.setNewUseUnitCreditCode(reginParams.getCompany().getCompanyCode()); model.setNewUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
// dto.setEquType((String.valueOf(obj.get("EQU_CATEGORY")))); // dto.setEquType((String.valueOf(obj.get("EQU_CATEGORY"))));
// dto.setProductNameB((String.valueOf(obj.get("PRODUCT_NAME")))); // dto.setProductNameB((String.valueOf(obj.get("PRODUCT_NAME"))));
// dto.setEquCodeB((String.valueOf(obj.get("EQU_CODE")))); // dto.setEquCodeB((String.valueOf(obj.get("EQU_CODE"))));
...@@ -491,23 +621,30 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -491,23 +621,30 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR"))); // jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
// jgRelationEquip.setUnitChangeRegistrationId(applyNo); // jgRelationEquip.setUnitChangeRegistrationId(applyNo);
if (!CollectionUtils.isEmpty(nextExecutorUserIds)) { if (!CollectionUtils.isEmpty(nextExecutorUserIds)) {
dto.setNextExecuteUserIds(nextExecutorUserIds.get(0)); model.setNextExecuteUserIds(nextExecutorUserIds.get(0));
} }
if (!CollectionUtils.isEmpty(instanceIdList)) { if (!CollectionUtils.isEmpty(instanceIdList)) {
dto.setInstanceId(instanceIdList.get(0)); model.setInstanceId(instanceIdList.get(0));
dto.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()); model.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
} else { } else {
dto.setStatus(WorkFlowStatusEnum.UNITCHANGE_SUBMIT.getPass()); model.setStatus(WorkFlowStatusEnum.UNITCHANGE_SUBMIT.getPass());
} }
if (!CollectionUtils.isEmpty(taskIds)) { if (!CollectionUtils.isEmpty(taskIds)) {
dto.setNextTaskId(taskIds.get(0)); model.setNextTaskId(taskIds.get(0));
} }
// list.add(dto); // list.add(dto);
// equipList.add(jgRelationEquip); // equipList.add(jgRelationEquip);
// }); // });
// WorkflowResultDto workDto = new WorkflowResultDto(); // WorkflowResultDto workDto = new WorkflowResultDto();
// JgChangeRegistrationUnitMapper.insertBatchSomeColumn(list); model.setSequenceNbr(sequence.nextId());
model.setCreateDate(new Date());
model.setCreateUserName(reginParams.getUserModel().getRealName());
model.setUseRegistCode(String.join(",", registrationNoList));
model.setEquList(registrationList.get(0).get("equList").toString());
JgChangeRegistrationUnit registrationUnit = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(model, registrationUnit);
JgChangeRegistrationUnitMapper.insert(registrationUnit);
List<TaskModelDto> modelDtos = new ArrayList<>(); List<TaskModelDto> modelDtos = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
...@@ -515,22 +652,22 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -515,22 +652,22 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
TaskMessageDto ta = new TaskMessageDto(); TaskMessageDto ta = new TaskMessageDto();
ta.setInstanceId(dto.getInstanceId()); ta.setInstanceId(registrationUnit.getInstanceId());
ta.setStatus(dto.getStatus()); ta.setStatus(registrationUnit.getStatus());
ta.setPromoter(dto.getPromoter()); ta.setPromoter(registrationUnit.getPromoter());
ta.setNextExecuteUserIds(dto.getNextExecuteUserIds()); ta.setNextExecuteUserIds(registrationUnit.getNextExecuteUserIds());
ta.setSequenceNbr(dto.getSequenceNbr()); ta.setSequenceNbr(registrationUnit.getSequenceNbr());
ta.setNextTaskId(dto.getNextTaskId()); ta.setNextTaskId(registrationUnit.getNextTaskId());
taskModelDto.setModel(ta); taskModelDto.setModel(ta);
// dto.setModel(obj); // dto.setModel(obj);
taskModelDto.setFlowCreateDate(new Date()); taskModelDto.setFlowCreateDate(new Date());
taskModelDto.setTaskName(workflowResultDtos.get(0).getNextTaskName()); taskModelDto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
taskModelDto.setFlowCode(dto.getNextTaskId()); taskModelDto.setFlowCode(registrationUnit.getNextTaskId());
taskModelDto.setTaskContent("来自" + dto.getEquList() + "【" + dto.getSupervisoryCode() + "】的业务办理,【申请单号:" + dto.getApplyNo() + "】"); taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
taskModelDto.setTaskCode(dto.getApplyNo()); taskModelDto.setTaskCode(registrationUnit.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode()); taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName()); taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
taskModelDto.setRelationId(dto.getInstanceId()); taskModelDto.setRelationId(registrationUnit.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds()); taskModelDto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel("未处理"); taskModelDto.setTaskStatusLabel("未处理");
taskModelDto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass())); taskModelDto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
...@@ -546,36 +683,68 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -546,36 +683,68 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// for (JgChangeRegistrationUnit obj : list) { // for (JgChangeRegistrationUnit obj : list) {
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
//行数据 //行数据
taskModelDto.setModel(dto); taskModelDto.setModel(registrationUnit);
//摘要 按原有规则组装 //摘要 按原有规则组装
taskModelDto.setTaskContent("来自" + dto.getEquList() + "【" + dto.getSupervisoryCode() + "】的业务办理,【申请单号:" + dto.getApplyNo() + "】"); taskModelDto.setTaskContent(this.buildTaskContent(registrationUnit));
//申请单号 //申请单号
taskModelDto.setTaskCode(dto.getApplyNo()); taskModelDto.setTaskCode(registrationUnit.getApplyNo());
//业务类型枚举code值 //业务类型枚举code值
taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode()); taskModelDto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
////业务主键 ////业务主键
taskModelDto.setRelationId(dto.getSequenceNbr() + ""); taskModelDto.setRelationId(registrationUnit.getSequenceNbr() + "");
modelDtos.add(taskModelDto); modelDtos.add(taskModelDto);
// } // }
} }
// for(JgChangeRegistrationUnit obj : list) { // for(JgChangeRegistrationUnit obj : list) {
commonServiceImpl.saveExecuteFlowData2Redis(dto.getInstanceId(), buildInstanceRuntimeData(dto)); commonServiceImpl.saveExecuteFlowData2Redis(registrationUnit.getInstanceId(), buildInstanceRuntimeData(registrationUnit));
// } // }
commonServiceImpl.buildTaskModel(modelDtos); commonServiceImpl.buildTaskModel(modelDtos);
List<JgChangeRegistrationUnitEq> jgRelationEquipList = new ArrayList<>();
deviceList.forEach(device -> {
JgChangeRegistrationUnitEq unitEq = new JgChangeRegistrationUnitEq();
if (device.containsKey("USE_ORG_CODE")) {
unitEq.setRegistrationCertificate(device.getString("USE_ORG_CODE"));//使用登记证主键
}
if (device.containsKey("SEQUENCE_NBR")) {
unitEq.setEquId(device.getString("USE_ORG_CODE"));//设备主键
}
unitEq.setUnitChangeRegistrationId(registrationUnit.getSequenceNbr().toString());//单位变更业务主键
unitEq.setDeviceInfo(JSONObject.toJSONString(device));//设备信息json
jgRelationEquipList.add(unitEq);
});
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记");
jgRegistrationHistory.setCurrentDocumentId(registrationUnit.getApplyNo());
//使用登记证历史数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(registrationList));
// List<JgChangeRegistrationUnitEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> { // List<JgChangeRegistrationUnitEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> {
// List<JgChangeRegistrationUnit> collect = list.stream().filter(jgChangeRegistrationUnit -> jgRelationEquip.getUnitChangeRegistrationId().equals(jgChangeRegistrationUnit.getApplyNo())).collect(Collectors.toList()); // List<JgChangeRegistrationUnit> collect = list.stream().filter(jgChangeRegistrationUnit -> jgRelationEquip.getUnitChangeRegistrationId().equals(jgChangeRegistrationUnit.getApplyNo())).collect(Collectors.toList());
// Long sequenceNbr = collect.get(0).getSequenceNbr(); // Long sequenceNbr = collect.get(0).getSequenceNbr();
// insertOrUpdateHis(JSON.parseObject(JSONObject.toJSONString(collect.get(0))), jgRelationEquip.getEquId()); // insertOrUpdateHis(JSON.parseObject(JSONObject.toJSONString(collect.get(0))), jgRelationEquip.getEquId());
// return jgRelationEquip.setUnitChangeRegistrationId(String.valueOf(sequenceNbr)); // return jgRelationEquip.setUnitChangeRegistrationId(String.valueOf(sequenceNbr));
// }).collect(Collectors.toList()); // }).collect(Collectors.toList());
//先删除之前设备关系数据,在插入最新设备关系数据
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);
}
// JgChangeRegistrationUnitEqMapper.insertBatchSomeColumn(jgRelationEquipList); public boolean canConvertToLong(String str) {
// this.updateHistoryAsync(jgRelationEquipList); try {
return model; Long.parseLong(str);
return true;
} catch (NumberFormatException e) {
return false;
}
} }
private void updateHistoryAsync(List<JgChangeRegistrationUnitEq> jgRelationEquipList) { private void updateHistoryAsync(List<JgChangeRegistrationUnitEq> jgRelationEquipList) {
...@@ -648,39 +817,40 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -648,39 +817,40 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
} }
private String convertImageUrl(List<Map<String, String>> urlList) { // private String convertImageUrl(List<Map<String, String>> urlList) {
String urls = ""; // String urls = "";
if (!CollectionUtils.isEmpty(urlList)) { // if (!CollectionUtils.isEmpty(urlList)) {
urls = urlList.stream().map(map -> map.get("url")).collect(Collectors.joining(",")); // urls = urlList.stream().map(map -> map.get("url")).collect(Collectors.joining(","));
} // }
return urls; // return urls;
} // }
//
public void insertOrUpdateHis(JSONObject map, String equipId) { // public void insertOrUpdateHis(JSONObject map, String equipId) {
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory(); // JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//使用登记编号 // //使用登记编号
jgRegistrationHistory.setUseRegistrationCode(idxBizJgRegisterInfoMapper.getUseOrgCodeByEquip(equipId)); // jgRegistrationHistory.setUseRegistrationCode(idxBizJgRegisterInfoMapper.getUseOrgCodeByEquip(equipId));
//登记类别 // //登记类别
jgRegistrationHistory.setRegistrationClass("单位变更登记"); // jgRegistrationHistory.setRegistrationClass("单位变更登记");
//设备id // //设备id
jgRegistrationHistory.setEquId(equipId); // jgRegistrationHistory.setEquId(equipId);
//修改数据 // //修改数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(map)); // jgRegistrationHistory.setChangeData(JSONObject.toJSONString(map));
//设备监管码 // //设备监管码
LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(OtherInfo::getRecord, equipId); // queryWrapper1.eq(OtherInfo::getRecord, equipId);
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1); // OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
jgRegistrationHistory.setSupervisoryCode(tzsJgOtherInfo.getSupervisoryCode()); // jgRegistrationHistory.setSupervisoryCode(tzsJgOtherInfo.getSupervisoryCode());
if (map.containsKey("type") && "edit".equals(String.valueOf(map.get("type")))) { // if (map.containsKey("type") && "edit".equals(String.valueOf(map.get("type")))) {
jgRegistrationHistory.setSequenceNbr(jgRegistrationHistoryMapper.getSequenceNbrByEquidAndDocumentId(equipId, String.valueOf(map.get("sequenceNbr")))); // jgRegistrationHistory.setSequenceNbr(jgRegistrationHistoryMapper.getSequenceNbrByEquidAndDocumentId(equipId, String.valueOf(map.get("sequenceNbr"))));
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory); // jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
} else { // } else {
//当前单据id // //当前单据id
jgRegistrationHistory.setCurrentDocumentId(map.get("applyNo").toString()); // jgRegistrationHistory.setCurrentDocumentId(map.get("applyNo").toString());
jgRegistrationHistoryMapper.insert(jgRegistrationHistory); // jgRegistrationHistoryMapper.insert(jgRegistrationHistory);
} // }
} // }
@GlobalTransactional(rollbackFor = Exception.class)
public boolean submit(JgChangeRegistrationUnit notice, String op) { public boolean submit(JgChangeRegistrationUnit notice, String op) {
AjaxResult ajaxResult = Workflow.taskClient.getTask(notice.getInstanceId()); AjaxResult ajaxResult = Workflow.taskClient.getTask(notice.getInstanceId());
...@@ -701,7 +871,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -701,7 +871,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
dto.setVariable(map); dto.setVariable(map);
//执行流程 //执行流程
AjaxResult ajaxResult1 = null; AjaxResult ajaxResult1;
try { try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto); ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) { if (ajaxResult1.get("code").equals(200)) {
...@@ -773,7 +943,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -773,7 +943,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
.build(); .build();
} }
@Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void accept(JgChangeRegistrationUnitDto dto, String op) { public void accept(JgChangeRegistrationUnitDto dto, String op) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(dto.getInstanceId()); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(dto.getInstanceId());
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -789,8 +960,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -789,8 +960,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
String[] taskName = new String[]{"已完成"}; String[] taskName = new String[]{"已完成"};
String userId = RequestContext.getExeUserId(); String userId = RequestContext.getExeUserId();
String taskId = dto.getNextTaskId(); String taskId = dto.getNextTaskId();
JgChangeRegistrationUnit jgChangeRegistrationUnit = this.JgChangeRegistrationUnitMapper.selectById(dto.getSequenceNbr()); JgChangeRegistrationUnit registration = this.JgChangeRegistrationUnitMapper.selectById(dto.getSequenceNbr());
jgChangeRegistrationUnit.setProcessAdvice(dto.getProcessAdvice()); registration.setProcessAdvice(dto.getProcessAdvice());
List<String> roleListNext = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>(); List<String> roleListAll = new ArrayList<>();
ArrayList<String> roleList = new ArrayList<>(); ArrayList<String> roleList = new ArrayList<>();
...@@ -803,13 +974,13 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -803,13 +974,13 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
task.setResultCode("approvalStatus"); task.setResultCode("approvalStatus");
task.setTaskId(taskId); task.setTaskId(taskId);
task.setComment(StringUtils.isEmpty(dto.getProcessAdvice()) ? "" : dto.getProcessAdvice()); task.setComment(StringUtils.isEmpty(dto.getProcessAdvice()) ? "" : dto.getProcessAdvice());
task.setNextExecuteUserCompanyCode(this.getNextUserOrgCode(op, jgChangeRegistrationUnit)); task.setNextExecuteUserCompanyCode(this.getNextUserOrgCode(op, registration));
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op); map.put("approvalStatus", op);
if (!ObjectUtils.isEmpty(jgChangeRegistrationUnit.getInstanceStatus()) && if (!ObjectUtils.isEmpty(registration.getInstanceStatus()) &&
(jgChangeRegistrationUnit.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) || (registration.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
jgChangeRegistrationUnit.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) { registration.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
map.put("approvalStatus", "提交"); map.put("approvalStatus", "提交");
} }
task.setVariable(map); task.setVariable(map);
...@@ -827,83 +998,96 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -827,83 +998,96 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
nextTaskId = processTaskDTO.getNextTask().get(0).getId(); nextTaskId = processTaskDTO.getNextTask().get(0).getId();
} }
jgChangeRegistrationUnit.setStatus(taskName[0]); registration.setStatus(taskName[0]);
if ("0".equals(op)) { if ("0".equals(op)) {
if (roleList.size() == 0) { if (roleList.isEmpty()) {
jgChangeRegistrationUnit.setStatus(taskName[0]); registration.setStatus(taskName[0]);
jgChangeRegistrationUnit.setAuditPassDate(new Date()); registration.setAuditPassDate(new Date());
// 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES // 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, dto.getSequenceNbr()); queryWrapper.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, dto.getSequenceNbr());
JgChangeRegistrationUnitEq jgChangeRegistrationUnitEq = JgChangeRegistrationUnitEqMapper.selectOne(queryWrapper); List<JgChangeRegistrationUnitEq> jgChangeRegistrationUnitEqs = JgChangeRegistrationUnitEqMapper.selectList(queryWrapper);
String equipId = jgChangeRegistrationUnitEq.getEquId(); for (JgChangeRegistrationUnitEq jgChangeRegistrationUnitEq : jgChangeRegistrationUnitEqs) {
LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>(); String equipId = jgChangeRegistrationUnitEq.getEquId();
queryWrapper1.eq(OtherInfo::getRecord, jgChangeRegistrationUnitEq.getEquId()); LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1); queryWrapper1.eq(OtherInfo::getRecord, equipId);
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>(); if (ObjectUtils.isNotEmpty(tzsJgOtherInfo)) {
queryWrapper2.eq(UseInfo::getRecord, jgChangeRegistrationUnitEq.getEquId()); LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>();
UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2); queryWrapper2.eq(UseInfo::getRecord, equipId);
useInfo.setUseUnitName(jgChangeRegistrationUnit.getNewUseUnitName()); UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2);
useInfo.setUseUnitCreditCode(jgChangeRegistrationUnit.getNewUseUnitCreditCode()); String code = commonServiceImpl.generateRegistrationCode(equipId, tzsJgOtherInfo.getSupervisoryCode(), dto.getReceiveCompanyCode());
if (ObjectUtils.isNotEmpty(useInfo)) {
String code = commonServiceImpl.generateRegistrationCode(jgChangeRegistrationUnitEq.getEquId(), tzsJgOtherInfo.getSupervisoryCode(), dto.getReceiveCompanyCode()); useInfo.setUseUnitName(registration.getNewUseUnitName());
if (ValidationUtil.isEmpty(code)) { useInfo.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
log.error("生成新的使用登记证编号失败"); if (ValidationUtil.isEmpty(code)) {
return; log.error("生成新的使用登记证编号失败");
return;
}
useInfoMapper.updateById(useInfo);
// jgChangeRegistrationUnit.setUseRegistCode(code);
}
//更新使用注册登记证编号
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, code);
//es中的编号信息
Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("USE_ORG_CODE", code);
map1.put("USE_UNIT_CREDIT_CODE", registration.getNewUseUnitCreditCode());
map1.put("USE_UNIT_NAME", registration.getNewUseUnitName());
resultMap.put(equipId, map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
//修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(equipId, registration.getApplyNo());
}
} }
registration.setNextTaskId(nextTaskId);
jgChangeRegistrationUnit.setUseRegistCode(code); updateTaskModel(registration, op);
//更新使用注册登记证编号 //新增使用登记证和设备变更记录
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, code); this.saveRecord(registration);
jgChangeRegistrationUnit.setNextTaskId(nextTaskId); JgRegistrationHistory history = registrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, registration.getApplyNo()).one();
useInfoMapper.updateById(useInfo); JSONArray historyJson = JSON.parseArray(history.getChangeData());
//es中的编号信息 List<String> ids = historyJson.stream().map(v -> JSON.parseObject(v.toString()).getString("sequenceNbr")).collect(Collectors.toList());
Map<String, Map<String, Object>> resultMap = new HashMap<>(); List<JgUseRegistrationManage> list = useRegistrationManageService.lambdaQuery().in(BaseEntity::getSequenceNbr, ids).list();
Map<String, Object> map1 = new HashMap<>(); LambdaQueryWrapper<TzBaseEnterpriseInfo> wrapper = new LambdaQueryWrapper<>();
map1.put("USE_ORG_CODE", code); wrapper.eq(TzBaseEnterpriseInfo::getUseCode, registration.getNewUseUnitCreditCode())
map1.put("USE_UNIT_CREDIT_CODE", jgChangeRegistrationUnit.getNewUseUnitCreditCode()); .eq(TzBaseEnterpriseInfo::getIsDelete, false);
map1.put("USE_UNIT_NAME", jgChangeRegistrationUnit.getNewUseUnitName()); for (JgUseRegistrationManage registrationManage : list) {
resultMap.put(equipId, map1); registrationManage.setUseUnitName(registration.getNewUseUnitName());
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap); registrationManage.setUseUnitCreditCode(registration.getNewUseUnitCreditCode());
//修改各类告知列表,置为废弃 registrationManage.setReceiveOrgName(registration.getReceiveOrgName());
this.updataInvalidStatusByHistory(jgChangeRegistrationUnitEq.getEquId(), jgChangeRegistrationUnit.getApplyNo()); registrationManage.setReceiveCompanyCode(registration.getReceiveOrgCode());
// registrationManage.setUseUnitAddress(); todo 设备使用地址需要更新
updateTaskModel(jgChangeRegistrationUnit, op); }
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { useRegistrationManageService.updateBatchById(list);
// @Override
// public void afterCommit() {
// generateInstallationNoticeReport(JgChangeRegistrationUnit.getSequenceNbr());
// }
// });
} else { } else {
jgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList)); registration.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(jgChangeRegistrationUnit.getInstanceStatus())) { if (!ObjectUtils.isEmpty(registration.getInstanceStatus())) {
jgChangeRegistrationUnit.setInstanceStatus(jgChangeRegistrationUnit.getInstanceStatus() + "," + String.join(",", roleList)); registration.setInstanceStatus(registration.getInstanceStatus() + "," + String.join(",", roleList));
} else { } else {
jgChangeRegistrationUnit.setInstanceStatus(String.join(",", roleList)); registration.setInstanceStatus(String.join(",", roleList));
} }
jgChangeRegistrationUnit.setPromoter(userId); registration.setPromoter(userId);
jgChangeRegistrationUnit.setNextExecuteUserIds(nextUserIds); registration.setNextExecuteUserIds(nextUserIds);
jgChangeRegistrationUnit.setNextTaskId(nextTaskId); registration.setNextTaskId(nextTaskId);
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass()); registration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
executeOneStep(jgChangeRegistrationUnit, taskName1, nextUserIds, op); executeOneStep(registration, taskName1, nextUserIds, op);
} }
} else { } else {
jgChangeRegistrationUnit.setPromoter(""); registration.setPromoter("");
jgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList)); registration.setNextExecutorIds(String.join(",", roleList));
jgChangeRegistrationUnit.setNextTaskId(nextTaskId); registration.setNextTaskId(nextTaskId);
jgChangeRegistrationUnit.setNextExecuteUserIds(nextUserIds); registration.setNextExecuteUserIds(nextUserIds);
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); registration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
executeOneStep(jgChangeRegistrationUnit, taskName1, nextUserIds, op); executeOneStep(registration, taskName1, nextUserIds, op);
} }
JgChangeRegistrationUnitMapper.updateById(jgChangeRegistrationUnit); JgChangeRegistrationUnitMapper.updateById(registration);
// redis流程实时数据更新 // redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(dto.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationUnit)); commonServiceImpl.saveExecuteFlowData2Redis(dto.getInstanceId(), this.buildInstanceRuntimeData(registration));
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
throw new BadRequest("数据异常,请联系管理员");
} finally { } finally {
if (lock.isHeldByCurrentThread()) { if (lock.isHeldByCurrentThread()) {
lock.unlock(); lock.unlock();
...@@ -1040,9 +1224,17 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1040,9 +1224,17 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
private String buildTaskContent(JgChangeRegistrationUnit obj) { private String buildTaskContent(JgChangeRegistrationUnit obj) {
return "来自" + EquipmentClassifityEnum.getNameByCode(obj.getEquList()) + "【" + obj.getSupervisoryCode() + "】的业务办理,【申请单号:" + obj.getApplyNo() + "】"; //发起电梯登记业务申请,【申请单号SYDJ202400001】
return obj.getCreateUserName() + "发起了单位变更登记业务申请,【申请单号" + obj.getApplyNo() + "】";
} }
private String buildRecordContent(JgChangeRegistrationUnit obj) {
//张三办理了【单位变更】 ,单号【DWBG202407050001】,原恒星电梯单位变更为新恒星电梯有限公司,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
return obj.getCreateUserName() + "办理了【单位变更登记】,单号【"
+ obj.getApplyNo() + "】,原" + obj.getUseUnitName() + "变更为新"
+ obj.getNewUseUnitName() + ",申请日期" + simpleDateFormat.format(obj.getCreateDate());
}
private void createTaskModel(JgChangeRegistrationUnit dto, String taskName, String submitType, String nextUserIds) { private void createTaskModel(JgChangeRegistrationUnit dto, String taskName, String submitType, String nextUserIds) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
......
...@@ -32,6 +32,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder; ...@@ -32,6 +32,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
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;
...@@ -242,4 +243,54 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -242,4 +243,54 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
} }
return result; return result;
} }
/**
* 根据证的sequenceNbr集合,批量查询证下面的所有设备
* @param sequenceNbrList 证的sequenceNbr集合
* @param current 分页-当前页
* @param size 分页-分页数
* @return 查询结果
*/
public Page<JSONObject> queryEquForPageByCertificateSeqList(List<Long> sequenceNbrList,int current,int size) {
List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>()
.in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList)
.eq(JgUseRegistrationManage::getIsDelete, 0));
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)){
return new Page<>();
}
List<JSONObject> list = new LinkedList<>();
long totle = 0;
Page<JSONObject> result = new Page<>(Optional.of(current).orElse(1), Optional.of(size).orElse(10));
Set<String> useOrgCodes = jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getUseRegistrationCode).collect(Collectors.toSet());
// es中通过查询【使用登记证编号】所有设备
SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("USE_ORG_CODE", useOrgCodes);
boolQuery.must(termsQuery);
builder.query(boolQuery);
builder.from((current - 1) * size);
builder.size(size);
request.source(builder);
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto = jsonObject.getJSONObject("sourceAsMap");
list.add(dto);
}
totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value;
}catch (Exception e){
e.printStackTrace();
}
result.setRecords(list);
result.setTotal(totle);
return result;
}
} }
\ No newline at end of file
...@@ -2066,6 +2066,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2066,6 +2066,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}); });
} }
/**
* 处理历史错误单子
* @param sequenceNbr
* @param instanceId
* @param nextTaskId
*/
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public void handleErrorForm(Long sequenceNbr, String instanceId, String nextTaskId) { public void handleErrorForm(Long sequenceNbr, String instanceId, String nextTaskId) {
......
...@@ -86,12 +86,12 @@ ...@@ -86,12 +86,12 @@
"image": "upload/tzs/common/image/设备停用.png" "image": "upload/tzs/common/image/设备停用.png"
}, },
{ {
"name": "移装注销", "name": "注销",
"code": "BF_YZ", "code": "BF_YZ",
"image": "upload/tzs/common/image/移装报废.png" "image": "upload/tzs/common/image/移装报废.png"
}, },
{ {
"name": "报废注销", "name": "报废",
"code": "BF_ZX", "code": "BF_ZX",
"image": "upload/tzs/common/image/注销报废.png" "image": "upload/tzs/common/image/注销报废.png"
} }
......
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