Commit eaca49d7 authored by LiuLin's avatar LiuLin

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

parents a9dfd92c c36a76aa
......@@ -30,7 +30,7 @@ import java.util.Objects;
*/
public class BizCustomDateSerializer extends JsonSerializer<Date> {
private List<String> customFields = Arrays.asList("acceptDate", "expiryDate","applicationDate","noticeDate","installStartDate","handleDate");
private List<String> customFields = Arrays.asList("acceptDate", "expiryDate","applicationDate","noticeDate","installStartDate","handleDate","auditPassDate","applyDate");
public BizCustomDateSerializer()
{
......
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -52,6 +54,7 @@ public class JgChangeRegistrationNameDto extends BaseDto {
private String createUserId;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "创建人")
......@@ -84,4 +87,16 @@ public class JgChangeRegistrationNameDto extends BaseDto {
@ApiModelProperty(value = "任务发起人id")
private String promoter;
/**
* 流程状态
*/
@TableField("instance_status")
private String instanceStatus;
private List<String> roleIds;
// 区分监管和企业
private String type;
}
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yeejoin.amos.boot.module.jg.api.common.BizCustomDateSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -31,6 +34,8 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
private String applyNo;
@ApiModelProperty(value = "申请日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date applyDate;
@ApiModelProperty(value = "办理状态")
......@@ -46,6 +51,8 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
private String receiveCompanyCode;
@ApiModelProperty(value = "终审通过时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date auditPassDate;
@ApiModelProperty(value = "备注")
......
......@@ -244,6 +244,7 @@ public class JgInstallationNoticeDto extends BaseDto {
private String equAddress;
@ApiModelProperty(value = "办理日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date handleDate;
......
......@@ -136,4 +136,10 @@ public class JgChangeRegistrationName extends BaseEntity {
@TableField("promoter")
private String promoter;
/**
* 流程状态
*/
@TableField("instance_status")
private String instanceStatus;
}
......@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.jg.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.common.BizCustomDateSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
......@@ -38,6 +41,8 @@ public class JgChangeRegistrationUnit extends BaseEntity {
* 申请日期
*/
@TableField("apply_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date applyDate;
/**
......@@ -68,6 +73,8 @@ public class JgChangeRegistrationUnit extends BaseEntity {
* 终审通过时间
*/
@TableField("audit_pass_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date auditPassDate;
/**
......
......@@ -391,6 +391,7 @@ public class JgInstallationNotice extends BaseEntity {
private String equAddress;
@TableField("handle_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date handleDate;
......
......@@ -49,6 +49,15 @@ public enum WorkFlowStatusEnum {
CHANGE_REEXAMINE("三级受理", "changeReexamine", "三级待受理", "", ""),
/**
* 更名变更登记流程
*/
UNIT_RENAME_SUBMIT("使用单位提交", "unitRenameSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
UNIT_RENAME_RECEIVE("一级受理", "unitRenameReceive", "一级待受理", "二级受理已驳回", "一级受理已撤回"),
UNIT_RENAME_PRELIMINARY("二级受理", "unitRenamePreliminary", "二级待受理", "三级受理已驳回", "二级受理已撤回"),
UNIT_RENAME_REEXAMINE("三级受理", "unitRenameReexamine", "三级待受理", "", ""),
/**
* 移装变更登记流程
*/
TRANSFER_SUBMIT("使用单位提交", "transferSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
......@@ -59,7 +68,7 @@ public enum WorkFlowStatusEnum {
/**
* 使用单位更登记流程
*/
UNITCHANGE_SUBMIT("使用单位提交", "unitChangeSubmit", "使用单位待提交", "一级受理已驳回", "使用单位提交已撤回"),
UNITCHANGE_SUBMIT("使用单位提交", "unitChangeSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
UNITCHANGE_RECEIVE("一级受理", "unitChangeReceive", "一级待受理", "二级受理已驳回", "一级受理已撤回"),
UNITCHANGE_PRELIMINARY("二级受理", "unitChangePreliminary", "二级待受理", "三级受理已驳回", "二级受理已撤回"),
UNITCHANGE_REEXAMINE("三级受理", "unitChangeReexamine", "三级待受理","","");
......
package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationNameDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationName;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
......@@ -16,4 +19,10 @@ import java.util.Map;
public interface JgChangeRegistrationNameMapper extends BaseMapper<JgChangeRegistrationName> {
List<Map<String, Object>> getEquipInfoByOrgCode(@Param("code") String code);
void deleteByChangeRegistrationId(@Param("changeRegistrationId") Long changeRegistrationId);
void deleteHistoryInfoById(@Param("code") String code);
Page<Map<String, Object>> getListPage(Page<Map<String, Object>> page, JgChangeRegistrationNameDto dto, List<String> roleIds, String orgCode);
}
package com.yeejoin.amos.boot.module.jg.api.service;
/**
* 更名变更登记接口类
*
* @author system_generator
* @date 2023-12-25
*/
public interface IJgChangeRegistrationNameService {
}
......@@ -30,4 +30,6 @@ public interface IJgChangeRegistrationTransferService extends IService<JgChangeR
void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, boolean update);
void revocation(String instanceId);
void exportUseRegistrationCertificate(String sequenceNbr);
}
......@@ -28,4 +28,5 @@ public interface IJgTransferNoticeService extends IService<JgTransferNotice> {
void saveNotice(String submitType, Map<String, JgTransferNoticeDto> model, ReginParams reginParams);
String generateTransferNoticeReport(Long sequenceNbr);
}
......@@ -14,4 +14,57 @@
WHERE
USE_UNIT_CREDIT_CODE = #{code}
</select>
<delete id="deleteByChangeRegistrationId">
delete from tzs_jg_change_registration_name_eq where name_change_registration_id = #{changeRegistrationId}
</delete>
<select id="getListPage" resultType="java.util.Map">
select ur.sequence_nbr as sequenceNbr,
ur.instance_id as instanceId,
ur.audit_status as auditStatus,
ur.apply_no as applyNo,
DATE_FORMAT(ur.rec_date,'%Y-%m-%d') as recDate,
DATE_FORMAT(ur.create_date,'%Y-%m-%d') as createDate,
DATE_FORMAT(ur.audit_pass_date,'%Y-%m-%d') as auditPassDate,
ur.receive_org_code as receiveOrgCode,
ur.receive_org_name as receiveOrgName,
ur.receive_company_code as receiveCompanyCode,
ur.use_unit_name as useUnitName,
ur.new_use_unit_name AS newUseUnitName,
ur.promoter,
ur.next_executor_ids as nextExecutorIds
from tzs_jg_change_registration_name ur
<where>
and ur.is_delete = 0
<if test="dto.auditStatus != null and dto.auditStatus != ''">
and ur.audit_status = #{dto.auditStatus}
</if>
<if test="dto.applyNo != null and dto.applyNo != ''">
and ur.apply_no like concat('%',#{dto.applyNo},'%')
</if>
<if test="dto.createDate != null">
AND ur.create_date >= #{dto.createDate}
</if>
<if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''">
AND ur.receive_org_code = #{dto.receiveOrgCode}
</if>
<if test="roleIds != null and dto.type == 'supervision'">
<foreach collection='roleIds' item='role' open='and (' close=')' separator='or'>
ur.instance_status like concat('%',#{role},'%')
</foreach>
</if>
<if test="dto.type == 'supervision'">
AND ur.receive_org_code = #{orgCode}
</if>
<if test="dto.type == 'enterprise' ">
and ur.use_unit_code = #{orgCode}
</if>
</where>
order by ur.rec_date desc
</select>
<delete id="deleteHistoryInfoById">
delete from tzs_jg_registration_history where current_document_id = #{code}
</delete>
</mapper>
......@@ -19,6 +19,7 @@
crt.promoter,
crt.rec_date as recDate,
crt.instance_id as instanceId,
crt.use_registration_code as useRegistrationCode,
use.USE_UNIT_NAME as useUnitName,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
jri.PRODUCT_NAME as productName,
......
......@@ -10,11 +10,16 @@
isn.use_unit_name AS useUnitName,
isn.receive_org_name AS receiveOrgName,
isn.new_use_unit_name AS newUseUnitName,
isn.equ_address AS equAddress,
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.apply_date AS applyDate,
isn.status AS status,
isn.instance_id AS instanceId,
isn.promoter,
isn.next_execute_ids AS nextExecuteIds,
isn.next_executor_ids AS nextExecutorIds,
isn.instance_status AS instanceStatus,
isn.audit_pass_date AS auditPassDate,
isn.equ_type AS equType
......@@ -27,17 +32,20 @@
AND isn.apply_no LIKE CONCAT('%', #{param.applyNo}, '%')
</if>
<if test="param.receiveOrgCode != null and param.receiveOrgCode != ''">
AND isn.receive_org_credit_code = #{param.receiveOrgCreditCode}
AND isn.receive_org_code = #{param.receiveOrgCode}
</if>
<if test="param.useUnitName != null and param.useUnitName != ''">
AND isn.use_unit_credit_code = #{param.useUnitName}
AND isn.use_unit_code = #{param.useUnitName}
</if>
<if test="param.status != null and param.status != ''">
AND isn.status = #{param.status}
</if>
<if test="param.equCodeB != null and param.equCodeB != ''">
AND isn.equ_code_b = #{param.equCodeB}
</if>
</if>
<if test="type == 'supervision'">
AND isn.receive_org_credit_code = #{orgCode}
AND isn.receive_org_code = #{orgCode}
AND isn.instance_id is not null
</if>
<if test="type == 'enterprise'">
......@@ -50,22 +58,16 @@
</if>
</where>
ORDER BY
isn.create_date DESC
isn.create_date,isn.apply_no DESC
</select>
<select id="queryEquipInformation" resultType="java.util.Map">
select
isn.sequence_nbr AS sequenceNbr,
isn.apply_no AS applyNo,
isn.use_unit_name AS useUnitName,
isn.use_unit_credit_code AS useUnitName,
isn.new_use_unit_credit_code AS useUnitName,
isn.new_use_unit_name AS useUnitName,
isn.receive_org_name AS receiveOrgName,
isn.receive_org_code AS receiveOrgCode,
isn.change_certificate AS changeCertificate,
isn.remark AS remark,
isn.equ_register_code AS equRegisterCode,
isn.use_regist_code AS equRegisterCode,
ri.equ_list AS equList,
ri.equ_category AS equCategory,
ri.EQU_DEFINE AS equDefine,
......@@ -99,7 +101,7 @@
ei.address AS address
FROM
tzs_jg_change_registration_unit isn
LEFT JOIN tzs_jg_change_registration_unit_eq re ON re.equip_transfer_id = isn.sequence_nbr
LEFT JOIN tzs_jg_change_registration_unit_eq re ON re.unit_change_registration_id = isn.sequence_nbr
LEFT JOIN idx_biz_jg_register_info ri ON ri.record = re.equ_id
LEFT JOIN idx_biz_jg_design_info di ON di.record = re.equ_id
LEFT JOIN idx_biz_jg_factory_info fi ON fi.record = re.equ_id
......
......@@ -133,9 +133,6 @@
<if test="contractDto.useUnitName != '' and contractDto.useUnitName != null">
and use_unit_name like concat('%',#{contractDto.useUnitName},'%')
</if>
<if test="contractDto.status != '' and contractDto.status != null">
and status not like concat('%',#{contractDto.status},'%')
</if>
<if test="contractDto.useUnitCode != '' and contractDto.useUnitCode != null">
and use_unit_code = #{contractDto.useUnitCode}
</if>
......
package com.yeejoin.amos.boot.module.jg.biz.controller;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
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.*;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationNameServiceImpl;
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.JgChangeRegistrationNameDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 更名变更登记
*
* @author system_generator
* @date 2023-12-25
*/
@RestController
@Api(tags = "更名变更登记Api")
@RequestMapping(value = "/jg-change-registration-name")
public class JgChangeRegistrationNameController extends BaseController {
@Autowired
JgChangeRegistrationNameServiceImpl jgChangeRegistrationNameService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增/新增并提交", notes = "新增/新增并提交")
public ResponseModel<Object> save(@RequestParam String submitType, @RequestBody Map<String, JSONObject> model) {
jgChangeRegistrationNameService.save(submitType, model);
return ResponseHelper.buildResponse("ok");
}
/**
* 根据sequenceNbr更新
*
* @param model 安装告知
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateInfo")
@ApiOperation(httpMethod = "POST", value = "编辑API", notes = "编辑API")
public ResponseModel<JgChangeRegistrationNameDto> updateInfo(@RequestParam String submitType,
@RequestBody Map<String, Object> model,
@RequestParam(value = "op", required = false) String op) {
JgChangeRegistrationNameDto dto = BeanUtil.mapToBean(((LinkedHashMap) model.get("jgRegistrationInfo")), JgChangeRegistrationNameDto.class, true);
if (Objects.isNull(dto)) {
throw new IllegalArgumentException("参数jgRegistrationInfo不能为空");
}
Object o = ((LinkedHashMap<?, ?>) model.get("jgRegistrationInfo")).get("changeCertificateList");
dto.setChangeCertificateList((List<Map<String, Object>>) o);
return ResponseHelper.buildResponse(jgChangeRegistrationNameService.updateInfo(submitType, dto, op));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteMessage")
@ApiOperation(httpMethod = "POST", value = "单个删除", notes = "单个删除")
public ResponseModel<Object> deleteMessage(@RequestParam("id") Long id) {
List<Long> ids = Collections.singletonList(id);
jgChangeRegistrationNameService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
/**
* 撤回
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> revocation(@RequestBody JSONObject map) {
jgChangeRegistrationNameService.revocation(String.valueOf(map.get("instanceId")));
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
LinkedHashMap model1 = (LinkedHashMap) map.get("model");
LinkedHashMap jgRegistrationInfoMap = (LinkedHashMap) model1.get("jgRegistrationInfo");
JgChangeRegistrationNameDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgRegistrationInfoMap), JgChangeRegistrationNameDto.class);
jgChangeRegistrationNameService.flowExecute(Long.valueOf(String.valueOf(jgScrapCancelDto.getSequenceNbr())), jgScrapCancelDto.getInstanceId(), String.valueOf(map.get("operate")), String.valueOf(map.get("opinion")));
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@PostMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(@RequestBody JgChangeRegistrationNameDto dto,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size);
return ResponseHelper.buildResponse(jgChangeRegistrationNameService.getList(dto, page, dto.getRoleIds()));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个详情", notes = "根据sequenceNbr查询单个详情")
public ResponseModel<Map<String, Object>> selectOne(@RequestParam(required = false, value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgChangeRegistrationNameService.queryBySequenceNbr(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表筛选办理状态下拉", notes = "列表筛选办理状态下拉")
@GetMapping(value = "/getAuditStatusList")
public ResponseModel<List<Map<String, String>>> getAuditStatusList(@RequestParam(value = "code") String code) {
return ResponseHelper.buildResponse(WorkFlowStatusEnum.getInfoList(code));
}
}
......@@ -128,4 +128,12 @@ public class JgChangeRegistrationReformController extends BaseController {
map.put("useUnitName", selectedOrgInfo.getCompany().getCompanyName());
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "打印历史数据", notes = "打印历史数据")
@GetMapping(value = "/printHistoryData")
public ResponseModel<Map<String, Object>> printHistoryData(@RequestParam("currentDocumentId") String currentDocumentId,@RequestParam(value = "equipId",required = false) String equipId) {
return ResponseHelper.buildResponse(jgChangeRegistrationReformServiceImpl.getDetail(currentDocumentId,equipId));
}
}
......@@ -3,22 +3,21 @@ package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import io.swagger.annotations.ApiParam;
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 java.util.Map;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationTransferServiceImpl;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
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 javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto;
......@@ -145,4 +144,11 @@ public class JgChangeRegistrationTransferController extends BaseController {
return ResponseHelper.buildResponse(jgChangeRegistrationTransferService.queryListForPage(page,params));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/export")
@ApiOperation(httpMethod = "GET", value = "导出使用登记证", notes = "导出使用登记证")
public void exportImageZip(HttpServletResponse response, @RequestParam("sequenceNbr") String sequenceNbr){
jgChangeRegistrationTransferService.exportUseRegistrationCertificate(sequenceNbr);
}
}
......@@ -70,15 +70,13 @@ public class JgChangeRegistrationUnitController extends BaseController {
@PutMapping(value = "/update")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新单位变更", notes = "根据sequenceNbr更新单位变更")
public ResponseModel<JgChangeRegistrationUnitDto> updateBySequenceNbrJgInstallationNotice(@RequestParam String submitType, @RequestBody Map<String, Object> model, @RequestParam(value = "op", required = false) String op) {
JgChangeRegistrationUnitDto installationInfo = BeanUtil.mapToBean(((LinkedHashMap) model.get("changeRegisInfo")), JgChangeRegistrationUnitDto.class, true);
if (Objects.isNull(installationInfo)) {
JgChangeRegistrationUnitDto jgChangeRegistrationUnitDto = BeanUtil.mapToBean(((LinkedHashMap) model.get("changeRegisInfo")), JgChangeRegistrationUnitDto.class, true);
if (Objects.isNull(jgChangeRegistrationUnitDto)) {
throw new IllegalArgumentException("参数installationInfo不能为空");
}
// Object o = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("proxyStatementAttachment");
// Object o1 = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("installContractAttachment");
// installationInfo.setProxyStatementAttachmentList((List<Map<String, Object>>) o);
// installationInfo.setInstallContractAttachmentList((List<Map<String, Object>>) o1);
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.updateInstallationNotice(submitType,installationInfo, op));
Object o = ((LinkedHashMap<?, ?>) model.get("changeRegisInfo")).get("changeCertificateList");
jgChangeRegistrationUnitDto.setChangeCertificateList((List<Map<String, Object>>) o);
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.updateInstallationNotice(submitType,jgChangeRegistrationUnitDto, op));
}
/**
......@@ -163,7 +161,7 @@ public class JgChangeRegistrationUnitController extends BaseController {
@PostMapping(value = "/cancel")
@ApiOperation(httpMethod = "POST", value = "单位变更撤销", notes = "单位变更撤销")
public ResponseModel<JgChangeRegistrationUnitDto> cancel(@RequestBody Map<String, Object> model) {
JgChangeRegistrationUnitDto installationInfo = BeanUtil.mapToBean(((LinkedHashMap) model.get("installationInfo")), JgChangeRegistrationUnitDto.class, true);
JgChangeRegistrationUnitDto installationInfo = BeanUtil.mapToBean(((LinkedHashMap) model.get("changeRegisInfo")), JgChangeRegistrationUnitDto.class, true);
if (Objects.isNull(installationInfo)) {
throw new IllegalArgumentException("参数installationInfo不能为空");
}
......@@ -181,9 +179,9 @@ public class JgChangeRegistrationUnitController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "单位变更受理", notes = "单位变更受理")
public ResponseModel<JgChangeRegistrationUnitDto> accept(@RequestBody Map<String, Object> model, String op) {
// TODO 受理单位变更流程
LinkedHashMap model1 = (LinkedHashMap)model.get("model");
LinkedHashMap model1 = (LinkedHashMap)model.get("changeRegisInfo");
String opinion = (String)model.get("opinion");
LinkedHashMap installationInfo = (LinkedHashMap)model1.get("installationInfo");
LinkedHashMap installationInfo = (LinkedHashMap)model1.get("changeRegisInfo");
JgChangeRegistrationUnitDto jgInstallationNoticeDto = JSON.parseObject(JSON.toJSONString(installationInfo), JgChangeRegistrationUnitDto.class);
jgInstallationNoticeDto.setProcessAdvice(opinion);
jgChangeRegistrationUnitServiceImpl.accept(jgInstallationNoticeDto,op);
......
......@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo;
......@@ -15,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -36,6 +39,9 @@ public class JgMaintenanceContractController extends BaseController {
@Autowired
JgMaintenanceContractServiceImpl jgMaintenanceContractServiceImpl;
@Autowired
RedisUtils redisUtils;
/**
* 新增(提交)
*
......@@ -170,6 +176,7 @@ public class JgMaintenanceContractController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
jgMaintenanceContractServiceImpl.flowExecute(Long.valueOf(String.valueOf(map.get("sequenceNbr"))),String.valueOf(map.get("instanceId")), String.valueOf(map.get("operate")), String.valueOf(map.get("comment")), true);
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (map.containsKey("formData") && !ObjectUtils.isEmpty(map.get("formData"))){
JgMaintenanceContract dto = new JgMaintenanceContract();
Map<String, Object> formData = (Map<String, Object>)map.get("formData");
......@@ -188,6 +195,7 @@ public class JgMaintenanceContractController extends BaseController {
result.setMaintenanceManagerTwoId(maintenanceManagerTwoInfo[0]);
result.setMaintenanceManagerTwoName(maintenanceManagerTwoInfo[1]);
result.setMaintenanceManagerTwoPhone(dto.getMaintenanceManagerTwoPhone());
result.setPromoter(reginParams.getUserModel().getUserId());
}
jgMaintenanceContractServiceImpl.getBaseMapper().updateById(result);
}
......
......@@ -148,9 +148,16 @@ public class JgTransferNoticeController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "移装告知列表全部数据查询", notes = "移装造告知列表全部数据查询")
@ApiOperation(httpMethod = "GET", value = "移装告知列表全部数据查询", notes = "移装造告知列表全部数据查询")
@GetMapping(value = "/generate-report")
public ResponseModel<String> selectForList(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgTransferNoticeService.generateTransferNoticeReport(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "特种设备登记证导出", notes = "特种设备登记证导出")
@GetMapping(value = "/certificate/report")
public ResponseModel<String> generateCertificateReport() {
return ResponseHelper.buildResponse("");
}
}
......@@ -32,4 +32,6 @@ public interface ICommonService {
Map<String,Object> getEnterpriseInfo(String sequenceNbr);
List<Map<String,Object>> getEnterpriseEmployee(String unitCode);
String generateCertificateReport(Map<String, Object> map);
}
......@@ -2,14 +2,18 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.ByteArrayMultipartFile;
import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.PrivilegeFeginService;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
......@@ -18,13 +22,21 @@ import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.util.*;
import java.util.stream.Collectors;
......@@ -71,6 +83,20 @@ public class CommonServiceImpl implements ICommonService {
@Autowired
PrivilegeFeginService privilegeFeginService;
public static byte[] file2byte(File file) {
try {
FileInputStream in = new FileInputStream(file);
//当文件没有结束时,每次读取一个字节显示
byte[] data = new byte[in.available()];
in.read(data);
in.close();
return data;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public List<EquipmentCategory> getEquipmentCategoryList(String code, String type) {
List<EquipmentCategory> result = new ArrayList<>();
......@@ -258,4 +284,81 @@ public class CommonServiceImpl implements ICommonService {
}
return result;
}
@Override
public String generateCertificateReport(Map<String, Object> map) {
if (CollectionUtils.isEmpty(map)) {
throw new IllegalArgumentException("参数不能为空");
}
// 组装模板变量
map.put("useRegistrationCode", "20231225123"); // 编号
map.put("useUnitName", "西安市高科物业服务有限公司"); // 使用单位名称
map.put("fullAddress", "西安市曲江新区春临东街南湖意境1单元2号楼"); // 设备使用地点
map.put("equList", "电梯"); // 设备种类
map.put("equipDefine", "曳引驱动乘客电梯"); // 设备品种
map.put("equipCode", ""); // 设备代码
map.put("equipCategory", "曳引电梯"); // 设备类别
map.put("useInnerCode", "KY-9527"); // 单位内编号
map.put("factoryNum", "G60001"); // 产品编号
map.put("receiveOrgName", "西安市曲江新区质检院"); // 登记机关
map.put("giveOutYear", "2023"); // 发证日期-年
map.put("giveOutMonth", "12"); // 发证日期-月
map.put("giveOutDay", "26"); // 发证日期-日
// 生成二维码
String qrCode = ImageUtils.generateQRCode("YZGZ20231225001", 70, 65);
map.put("supervisoryCode", qrCode); // 监管二维码
// word转pdf
File pdfFile;
try {
pdfFile = this.wordToPdf("equipment-registration-certificate-report.ftl", map);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
return url;
}
/**
* word 转 pdf
*
* @param wordPath word文件路径
*/
private File wordToPdf(String wordPath, Map<String, Object> placeholders) throws Exception {
Assert.hasText(wordPath, "word文件路径不能为空");
String tempFileName = "移装告知单_" + System.currentTimeMillis() + "_temp.pdf";
WordTemplateUtils instance = WordTemplateUtils.getInstance();
return instance.fillAndConvertDocFile(wordPath, tempFileName, placeholders, SaveFormat.PDF);
}
/**
* 上传文件至文件服务器
*
* @param file 文件
*/
private String uploadFile(File file) {
Assert.notNull(file, "文件不能为空");
MultipartFile multipartFile = new ByteArrayMultipartFile("file", "file.pdf", "application/pdf", file2byte(file));
FeignClientResult<Map<String, String>> result = Systemctl.fileStorageClient.updateCommonFile(multipartFile);
String urlString = "";
if (result != null) {
for (String s : result.getResult().keySet()) {
urlString = s;
}
}
return urlString;
}
}
\ No newline at end of file
......@@ -213,23 +213,51 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
*/
private Map<String, Object> getStringObjectMap(String record, String fieldType) {
Map<String, Object> objMap = new HashMap<>();
String province="";
String city="";
String county="";
String street="";
String fullAddress="";
//使用信息
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(record);
if (!ValidationUtil.isEmpty(useInfo)) {
if(!ValidationUtil.isEmpty(useInfo.getProvince()) && !ValidationUtil.isEmpty(useInfo.getProvinceName())){
province = useInfo.getProvince()+"_"+useInfo.getProvinceName();
fullAddress += useInfo.getProvinceName();
}
if(!ValidationUtil.isEmpty(useInfo.getCity()) && !ValidationUtil.isEmpty(useInfo.getCityName())) {
city = useInfo.getCity() + "_" + useInfo.getCityName();
fullAddress += useInfo.getCityName();
}
if(!ValidationUtil.isEmpty(useInfo.getCounty()) && !ValidationUtil.isEmpty(useInfo.getCountyName())) {
county = useInfo.getCounty() + "_" + useInfo.getCountyName();
fullAddress += useInfo.getCountyName();
}
if(!ValidationUtil.isEmpty(useInfo.getFactoryUseSiteStreet()) && !ValidationUtil.isEmpty(useInfo.getStreetName())) {
street = useInfo.getFactoryUseSiteStreet() + "_" + useInfo.getStreetName();
fullAddress += useInfo.getStreetName();
}
if(!ValidationUtil.isEmpty(useInfo.getAddress())) {
fullAddress += useInfo.getAddress();
}
Map<String, Object> useInfoMap = null;
if(!ValidationUtil.isEmpty(fieldType)){
useInfoMap = Bean.BeantoMap(useInfo);
useInfoMap.put("province", useInfo.getProvince()+"_"+useInfo.getProvinceName());
useInfoMap.put("city", useInfo.getCity()+"_"+useInfo.getCityName());
useInfoMap.put("county", useInfo.getCounty()+"_"+useInfo.getCountyName());
useInfoMap.put("street", useInfo.getFactoryUseSiteStreet()+"_"+useInfo.getStreetName());
if(!ValidationUtil.isEmpty(province)){ useInfoMap.put("province", province); }
if(!ValidationUtil.isEmpty(city)) { useInfoMap.put("city", city); }
if(!ValidationUtil.isEmpty(county)) { useInfoMap.put("county", county); }
if(!ValidationUtil.isEmpty(street)) { useInfoMap.put("street", street); }
if(!ValidationUtil.isEmpty(fullAddress)) { useInfoMap.put("fullAddress", fullAddress); }
useInfoMap.put("useinfoSeq", useInfo.getSequenceNbr());
}else {
useInfoMap = convertCamelToUnderscore(useInfo, null);
useInfoMap.put("PROVINCE", useInfo.getProvince()+"_"+useInfo.getProvinceName());
useInfoMap.put("CITY", useInfo.getCity()+"_"+useInfo.getCityName());
useInfoMap.put("COUNTY", useInfo.getCounty()+"_"+useInfo.getCountyName());
useInfoMap.put("STREET", useInfo.getFactoryUseSiteStreet()+"_"+useInfo.getStreetName());
if(!ValidationUtil.isEmpty(province)){ useInfoMap.put("PROVINCE", province); }
if(!ValidationUtil.isEmpty(city)) { useInfoMap.put("CITY", city); }
if(!ValidationUtil.isEmpty(county)) { useInfoMap.put("COUNTY", county); }
if(!ValidationUtil.isEmpty(street)) { useInfoMap.put("STREET", street); }
if(!ValidationUtil.isEmpty(fullAddress)){ useInfoMap.put("FULLADDRESS", fullAddress); }
useInfoMap.put("USEINFO_SEQ", useInfo.getSequenceNbr());
}
if(!useInfoMap.isEmpty()){
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationNameDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationNameService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.AccessFeignService;
import com.yeejoin.amos.boot.module.ymt.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.stream.Collectors;
/**
* 更名变更登记服务实现类
*
* @author system_generator
* @date 2023-12-25
*/
@Service
public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeRegistrationNameDto, JgChangeRegistrationName, JgChangeRegistrationNameMapper> implements IJgChangeRegistrationNameService {
@Autowired
private JgChangeRegistrationNameEqServiceImpl jgChangeRegistrationNameEqService;
@Autowired
private JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
@Autowired
RedisUtils redisUtils;
@Autowired
JgChangeRegistrationNameMapper jgChangeRegistrationNameMapper;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
WorkFlowFeignService workFlowFeignService;
@Autowired
private JgChangeRegistrationReformEqMapper jgChangeRegistrationReformEqMapper;
@Autowired
private JgChangeRegistrationTransferEqMapper jgChangeRegistrationTransferEqMapper;
@Autowired
private JgUseRegistrationEqMapper jgUseRegistrationEqMapper;
@Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
@Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
@Autowired
private RegUnitInfoMapper regUnitInfoMapper;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
AccessFeignService accessFeignService;
@Transactional(rollbackFor = Exception.class)
public void save(String submitType, Map<String, JSONObject> jgRegistrationInfoMap) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String[] taskName = new String[]{"流程结束"};
JSONObject jgRegistrationInfo = jgRegistrationInfoMap.get("jgRegistrationInfo");
JgChangeRegistrationNameDto model = JSON.parseObject(jgRegistrationInfo.toJSONString(), JgChangeRegistrationNameDto.class);
List<Map<String, Object>> deviceList = jgChangeRegistrationNameMapper.getEquipInfoByOrgCode(reginParams.getCompany().getCompanyCode());
// 获取告知单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBZX.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error(" 获取告知单号失败");
throw new RuntimeException();
}
List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) {
return;
}
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
// 判断当前是否为提交
List<String> instanceIdList = new ArrayList<>();
if ("1".equals(submitType)) {
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("unitRename");
dto.setBusinessKey("1");
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
try {
FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO);
List<Object> returnList = (List<Object>) result.getResult();
for (Object obj : returnList) {
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj));
String instanceId = jsonObject.getString("id");
instanceIdList.add(instanceId);
// 查询下节点任务
if (returnList.get(0).equals(obj)) {
getNext(roleListFirst, instanceId, taskName);
}
// 推动下一个节点
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO dto2 = new TaskResultDTO();
dto2.setResultCode("approvalStatus");
dto2.setTaskId(taskId);
dto2.setComment("提交流程");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", "0");
dto2.setVariable(map);
//执行流程
AjaxResult ajaxResult1 = null;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto2);
if (ajaxResult1.get("code").equals(200)) {
getNext(roleListSecond, instanceId, taskName);
roleListFirst.addAll(roleListSecond);
} else {
log.error("提交失败");
}
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
JgChangeRegistrationName dto = new JgChangeRegistrationName();
// 字段转换
convertField(model);
BeanUtils.copyProperties(model, dto);
dto.setApplyNo(applyNoList.get(0));
dto.setCreateDate(new Date());
dto.setNextExecutorIds(String.join(",", roleListSecond));
dto.setInstanceStatus(String.join(",", roleListFirst));
dto.setPromoter(reginParams.getUserModel().getUserId());
if (!CollectionUtils.isEmpty(instanceIdList)) {
dto.setInstanceId(instanceIdList.get(0));
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass()));
} else {
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getPass()));
}
dto.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
dto.setUseUnitName(reginParams.getCompany().getCompanyName());
this.save(dto);
List<JgChangeRegistrationNameEq> equipList = new ArrayList<>();
List<JgRegistrationHistory> list = new ArrayList<>();
deviceList.forEach(obj -> {
JgChangeRegistrationNameEq jgRelationEquip = new JgChangeRegistrationNameEq();
jgRelationEquip.setEquId(String.valueOf(obj.get("equipId")));
jgRelationEquip.setNameChangeRegistrationId(String.valueOf(dto.getSequenceNbr()));
jgRelationEquip.setIsInvalid("0");
jgRelationEquip.setCreateDate(dto.getCreateDate());
jgRelationEquip.setCreateUserId(reginParams.getUserModel().getUserId());
jgRelationEquip.setCreateUserName(reginParams.getUserModel().getRealName());
equipList.add(jgRelationEquip);
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
jgRegistrationHistory.setCreateUserId(reginParams.getUserModel().getUserId());
jgRegistrationHistory.setCreateDate(dto.getCreateDate());
jgRegistrationHistory.setChangeData(JSON.toJSONString(dto));
jgRegistrationHistory.setOldData(JSON.toJSONString(dto));
jgRegistrationHistory.setRegistrationClass("使用单位名称变更登记");
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setEquId(String.valueOf(obj.get("equipId")));
jgRegistrationHistory.setSupervisoryCode(String.valueOf(obj.get("supervisoryCode")));
jgRegistrationHistory.setUseRegistrationCode(String.valueOf(obj.get("useOrgCode")));
jgRegistrationHistory.setCurrentDocumentId(dto.getApplyNo());
list.add(jgRegistrationHistory);
});
jgChangeRegistrationNameEqService.saveBatch(equipList);
jgRegistrationHistoryService.saveBatch(list);
}
public JgChangeRegistrationNameDto updateInfo(String submitType, JgChangeRegistrationNameDto jgChangeRegistrationNameDto, String op) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (Objects.isNull(jgChangeRegistrationNameDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空");
}
String[] taskName = new String[]{"流程结束"};
// 字段转换
this.convertField(jgChangeRegistrationNameDto);
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
if ("1".equals(submitType)) {
AjaxResult ajaxResult;
// 发起流程
if (!StringUtils.hasText(jgChangeRegistrationNameDto.getInstanceId())) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("unitRename");
dto.setBusinessKey("1");
try {
ajaxResult = Workflow.taskClient.startByVariable(dto);
String instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
jgChangeRegistrationNameDto.setInstanceId(instanceId);
// 查询下节点任务
getNext(roleListFirst, instanceId, taskName);
jgChangeRegistrationNameDto.setInstanceStatus(String.join(",", roleListFirst));
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
JgChangeRegistrationName jgChangeRegistrationName = this.getById(jgChangeRegistrationNameDto.getSequenceNbr());
BeanUtils.copyProperties(jgChangeRegistrationNameDto, jgChangeRegistrationName);
boolean submit = submit(jgChangeRegistrationName, op);
//删除重新生成 eq表数据
if (!Objects.isNull(jgChangeRegistrationName.getSequenceNbr())) {
jgChangeRegistrationNameMapper.deleteByChangeRegistrationId(jgChangeRegistrationName.getSequenceNbr());
}
if (!Objects.isNull(jgChangeRegistrationName.getApplyNo())) {
jgChangeRegistrationNameMapper.deleteHistoryInfoById(jgChangeRegistrationName.getApplyNo());
}
List<Map<String, Object>> deviceList = jgChangeRegistrationNameMapper.getEquipInfoByOrgCode(reginParams.getCompany().getCompanyCode());
List<JgRegistrationHistory> list = new ArrayList<>();
List<JgChangeRegistrationNameEq> equipList = new ArrayList<>();
deviceList.forEach(obj -> {
JgChangeRegistrationNameEq jgRelationEquip = new JgChangeRegistrationNameEq();
jgRelationEquip.setEquId(String.valueOf(obj.get("equipId")));
jgRelationEquip.setNameChangeRegistrationId(String.valueOf(jgChangeRegistrationName.getSequenceNbr()));
jgRelationEquip.setIsInvalid("0");
jgRelationEquip.setCreateDate(jgChangeRegistrationName.getCreateDate());
jgRelationEquip.setCreateUserId(reginParams.getUserModel().getUserId());
jgRelationEquip.setCreateUserName(reginParams.getUserModel().getRealName());
equipList.add(jgRelationEquip);
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
jgRegistrationHistory.setCreateUserId(reginParams.getUserModel().getUserId());
jgRegistrationHistory.setCreateDate(jgChangeRegistrationName.getCreateDate());
jgRegistrationHistory.setChangeData(JSON.toJSONString(jgChangeRegistrationName));
jgRegistrationHistory.setOldData(JSON.toJSONString(jgChangeRegistrationName));
jgRegistrationHistory.setRegistrationClass("使用单位名称变更登记");
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setEquId(String.valueOf(obj.get("equipId")));
jgRegistrationHistory.setSupervisoryCode(String.valueOf(obj.get("supervisoryCode")));
jgRegistrationHistory.setUseRegistrationCode(String.valueOf(obj.get("useOrgCode")));
jgRegistrationHistory.setCurrentDocumentId(jgChangeRegistrationName.getApplyNo());
list.add(jgRegistrationHistory);
});
jgChangeRegistrationNameEqService.saveBatch(equipList);
jgRegistrationHistoryService.saveBatch(list);
if (submit) {
// 查询下节点任务
getNext(roleListSecond, jgChangeRegistrationName.getInstanceId(), taskName);
String join = String.join(",", roleListSecond);
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) {
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + join);
} else {
jgChangeRegistrationName.setInstanceStatus(String.join(",", roleListSecond));
}
jgChangeRegistrationName.setPromoter(RequestContext.getExeUserId());
jgChangeRegistrationName.setNextExecutorIds(String.join(",", roleListSecond));
jgChangeRegistrationName.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass()));
this.updateById(jgChangeRegistrationName);
}
} else {
JgChangeRegistrationName bean = new JgChangeRegistrationName();
BeanUtils.copyProperties(jgChangeRegistrationNameDto, bean);
this.updateById(bean);
}
return jgChangeRegistrationNameDto;
}
public boolean submit(JgChangeRegistrationName notice, String op) {
AjaxResult ajaxResult = Workflow.taskClient.getTask(notice.getInstanceId());
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment("提交流程");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
dto.setVariable(map);
//执行流程
AjaxResult ajaxResult1 = null;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) {
return true;
} else {
return false;
}
} catch (Exception e) {
log.error("提交失败:{}", e);
return false;
}
}
private void convertField(JgChangeRegistrationNameDto model) {
// 处理文件
if (!ValidationUtil.isEmpty(model.getChangeCertificateList())) {
model.setChangeCertificate(JSON.toJSONString(model.getChangeCertificateList()));
}
String receiveOrgId = model.getReceiveOrgCode();
if (!ObjectUtils.isEmpty(receiveOrgId)) {
String[] receiveOrgIdList = receiveOrgId.split("_");
if (receiveOrgIdList.length > 1) {
model.setReceiveOrgCode(receiveOrgIdList[0]);
model.setReceiveOrgName(receiveOrgIdList[1]);
}
}
}
void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) {
AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data")));
if (!ObjectUtils.isEmpty(taskNoAuth)) {
String nextTaskId = taskNoAuth.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
taskName[0] = taskNoAuth.getString("name");
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleListFirst.add(((Map) datum).get("groupId").toString());
}
}
}
}
public void deleteBatch(List<Long> ids) {
JgChangeRegistrationName jgChangeRegistrationName = new JgChangeRegistrationName();
jgChangeRegistrationName.setIsDelete(true);
LambdaQueryWrapper<JgChangeRegistrationName> lambda = new QueryWrapper<JgChangeRegistrationName>().lambda();
lambda.in(JgChangeRegistrationName::getSequenceNbr, ids);
this.update(jgChangeRegistrationName, lambda);
}
public void revocation(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
JgChangeRegistrationName jgChangeRegistrationName = new JgChangeRegistrationName();
LambdaQueryWrapper<JgChangeRegistrationName> lambda = new QueryWrapper<JgChangeRegistrationName>().lambda();
lambda.eq(JgChangeRegistrationName::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeignService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeignService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeignService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
String join = String.join(",", roleList);
jgChangeRegistrationName.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationName.setNextExecutorIds(join);
this.update(jgChangeRegistrationName, lambda);
}
public void flowExecute(Long id, String instanceId, String operate, String comment) {
try {
JSONObject task = workFlowFeignService.getTaskNoAuth(instanceId);
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
dto.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, dto);
} catch (Exception e) {
e.printStackTrace();
}
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
}
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = "";
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
ArrayList<String> roleList = new ArrayList<>();
JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(sequenceNbr);
try {
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeignService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeignService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
role = String.join(",", roleList);
jgChangeRegistrationName.setNextExecutorIds(role);
jgChangeRegistrationName.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationName.setInstanceId(instanceId);
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) {
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + role);
} else {
jgChangeRegistrationName.setInstanceStatus(role);
}
if ("0".equals(operate)) {
// 通过操作
jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
} else {
// 驳回操作
jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgChangeRegistrationName.setPromoter(null);
}
} else {
jgChangeRegistrationName.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgChangeRegistrationName.setAuditPassDate(new Date());
// 修改业务信息
updateInfoOther(jgChangeRegistrationName);
}
this.getBaseMapper().updateById(jgChangeRegistrationName);
}
public void updateInfoOther(JgChangeRegistrationName jgChangeRegistrationName) {
LambdaQueryWrapper<JgChangeRegistrationNameEq> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(JgChangeRegistrationNameEq::getNameChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr());
List<String> collect = jgChangeRegistrationNameEqService.list(wrapper).stream().map(JgChangeRegistrationNameEq::getEquId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(collect)) {
LambdaUpdateWrapper<JgChangeRegistrationReformEq> updateWrapper1 = new LambdaUpdateWrapper<>();
updateWrapper1.in(JgChangeRegistrationReformEq::getEquId, collect);
updateWrapper1.ne(JgChangeRegistrationReformEq::getEquipTransferId, jgChangeRegistrationName.getSequenceNbr());
JgChangeRegistrationReformEq jgChangeRegistrationReformEq = new JgChangeRegistrationReformEq();
jgChangeRegistrationReformEq.setIsInvalid(Boolean.TRUE);
jgChangeRegistrationReformEqMapper.update(jgChangeRegistrationReformEq, updateWrapper1);
LambdaUpdateWrapper<JgChangeRegistrationTransferEq> updateWrapper2 = new LambdaUpdateWrapper<>();
updateWrapper2.in(JgChangeRegistrationTransferEq::getEquId, collect);
updateWrapper2.ne(JgChangeRegistrationTransferEq::getEquipTransferId, jgChangeRegistrationName.getSequenceNbr());
JgChangeRegistrationTransferEq jgChangeRegistrationTransferEq = new JgChangeRegistrationTransferEq();
jgChangeRegistrationReformEq.setIsInvalid(Boolean.TRUE);
jgChangeRegistrationTransferEqMapper.update(jgChangeRegistrationTransferEq, updateWrapper2);
LambdaUpdateWrapper<JgUseRegistrationEq> updateWrapper3 = new LambdaUpdateWrapper<>();
updateWrapper3.in(JgUseRegistrationEq::getEquId, collect);
updateWrapper3.ne(JgUseRegistrationEq::getEquipTransferId, jgChangeRegistrationName.getSequenceNbr());
JgUseRegistrationEq jgUseRegistrationEq = new JgUseRegistrationEq();
jgUseRegistrationEq.setIsInvalid(Boolean.TRUE);
jgUseRegistrationEqMapper.update(jgUseRegistrationEq, updateWrapper3);
LambdaUpdateWrapper<JgChangeRegistrationUnitEq> updateWrapper4 = new LambdaUpdateWrapper<>();
updateWrapper4.in(JgChangeRegistrationUnitEq::getEquId, collect);
updateWrapper4.ne(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr());
JgChangeRegistrationUnitEq jgChangeRegistrationUnitEq = new JgChangeRegistrationUnitEq();
jgChangeRegistrationUnitEq.setIsInvalid("1");
jgChangeRegistrationUnitEqMapper.update(jgChangeRegistrationUnitEq, updateWrapper4);
LambdaUpdateWrapper<JgChangeRegistrationNameEq> updateWrapper5 = new LambdaUpdateWrapper<>();
updateWrapper5.in(JgChangeRegistrationNameEq::getEquId, collect);
updateWrapper5.ne(JgChangeRegistrationNameEq::getNameChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr());
JgChangeRegistrationNameEq jgChangeRegistrationNameEq = new JgChangeRegistrationNameEq();
jgChangeRegistrationNameEq.setIsInvalid("1");
jgChangeRegistrationNameEqMapper.update(jgChangeRegistrationNameEq, updateWrapper5);
}
LambdaUpdateWrapper<RegUnitInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(RegUnitInfo::getUnitCode, jgChangeRegistrationName.getUseUnitCreditCode());
RegUnitInfo regUnitInfo = new RegUnitInfo();
regUnitInfo.setName(jgChangeRegistrationName.getNewUseUnitName());
regUnitInfoMapper.update(regUnitInfo, updateWrapper);
LambdaUpdateWrapper<TzBaseEnterpriseInfo> updateWrapper2 = new LambdaUpdateWrapper<>();
updateWrapper2.eq(TzBaseEnterpriseInfo::getUseCode, jgChangeRegistrationName.getUseUnitCreditCode());
TzBaseEnterpriseInfo tzBaseEnterpriseInfo = new TzBaseEnterpriseInfo();
regUnitInfo.setName(jgChangeRegistrationName.getNewUseUnitName());
tzBaseEnterpriseInfoMapper.update(tzBaseEnterpriseInfo, updateWrapper2);
// TODO: 2023/12/25 修改平台机构名称
}
public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Map<String, Object> resultMap = accessFeignService.getData(reginParams.getCompany().getCompanyCode()).getResult();
String unitName = String.valueOf(resultMap.get("unitName"));
JgChangeRegistrationName jgChangeRegistrationName = new JgChangeRegistrationName();
Map<String, Object> dtoMap = new HashMap<>();
Map<String, Object> map = new HashMap<>();
if (!Objects.isNull(sequenceNbr)) {
jgChangeRegistrationName = this.baseMapper.selectById(sequenceNbr);
jgChangeRegistrationName.setReceiveOrgCode(jgChangeRegistrationName.getReceiveOrgCode() + "_" + jgChangeRegistrationName.getReceiveOrgName());
} else {
jgChangeRegistrationName.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
jgChangeRegistrationName.setNewUseUnitName(unitName);
jgChangeRegistrationName.setUseUnitName(reginParams.getCompany().getCompanyName());
}
BeanUtil.copyProperties(jgChangeRegistrationName, dtoMap);
dtoMap.put("changeCertificateList", JSON.parseArray(jgChangeRegistrationName.getChangeCertificate()));
map.put("jgRegistrationInfo", dtoMap);
return map;
}
public Page<Map<String, Object>> getList(JgChangeRegistrationNameDto dto, Page<Map<String, Object>> page, List<String> roleIds) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String orgCode = reginParams.getCompany().getCompanyCode();
if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getReceiveOrgCode())) {
String[] receiveOrgIdList = dto.getReceiveOrgCode().split("_");
if (receiveOrgIdList.length > 1) {
dto.setReceiveOrgCode(receiveOrgIdList[0]);
}
}
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds, orgCode);
return listPage;
}
}
\ No newline at end of file
......@@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.stream.Collectors;
/**
* 改造变更登记服务实现类
......@@ -81,7 +82,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
private IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper;
//单位变更登记关系表mapper
@Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
//更名变更登记关系表mapper
@Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
/**
* 分页查询
......@@ -188,7 +194,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReformEq.setEquipTransferId(jgChangeRegistrationReform.getSequenceNbr().toString());
jgChangeRegistrationReformEqMapper.insert(jgChangeRegistrationReformEq);
//当前单据id
jgRegistrationHistory.setCurrentDocumentId(jgChangeRegistrationReform.getSequenceNbr().toString());
jgRegistrationHistory.setCurrentDocumentId(jgChangeRegistrationReform.getApplyNo());
jgRegistrationHistoryMapper.insert(jgRegistrationHistory);
}
......@@ -281,7 +287,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
JgChangeRegistrationReformEq jgChangeRegistrationReformEq = jgChangeRegistrationReformEqMapper.selectOne(new QueryWrapper<JgChangeRegistrationReformEq>().eq("equip_transfer_id", jgChangeRegistrationReform.getSequenceNbr()));
String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode());
jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber);
updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(),newUseRegistrationCertificateNumber );
updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(),newUseRegistrationCertificateNumber,jgChangeRegistrationReform.getApplyNo() );
}
this.getBaseMapper().updateById(jgChangeRegistrationReform);
}
......@@ -422,16 +428,19 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
}
public void deleteBatch(List<Long> ids) {
List<JgChangeRegistrationReform> jgChangeRegistrationReformList = this.getBaseMapper().selectList(new QueryWrapper<JgChangeRegistrationReform>().in("sequence_nbr", ids));
List<String> applyNos =jgChangeRegistrationReformList.stream().map(JgChangeRegistrationReform::getApplyNo).collect(Collectors.toList());
JgChangeRegistrationReform jgChangeRegistrationReform = new JgChangeRegistrationReform();
jgChangeRegistrationReform.setIsDelete(true);
LambdaQueryWrapper<JgChangeRegistrationReform> lambda = new QueryWrapper<JgChangeRegistrationReform>().lambda();
lambda.in(JgChangeRegistrationReform::getSequenceNbr, ids);
this.update(jgChangeRegistrationReform, lambda);
this.getBaseMapper().delete(lambda);
JgChangeRegistrationReformEq jgChangeRegistrationReformEq = new JgChangeRegistrationReformEq();
jgChangeRegistrationReformEq.setIsDelete(true);
LambdaQueryWrapper<JgChangeRegistrationReformEq> lambda1 = new QueryWrapper<JgChangeRegistrationReformEq>().lambda();
lambda1.in(JgChangeRegistrationReformEq::getEquipTransferId, ids);
jgChangeRegistrationReformEqMapper.update(jgChangeRegistrationReformEq, lambda1);
jgChangeRegistrationReformEqMapper.delete(lambda1);
jgRegistrationHistoryMapper.delete(new QueryWrapper<JgRegistrationHistory>().in("current_document_id", applyNos));
}
public Map<String, Object> getDetail(String currentDocumentId, String equipId) {
......@@ -454,7 +463,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} else {
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>()
.eq("equ_id", equipId)
.eq("current_document_id", currentDocumentId)
.eq("current_document_id", jgChangeRegistrationReform.getApplyNo())
.eq("registration_class", "改造登记"));
originalData = JSONObject.parseObject(jgRegistrationHistory.getChangeData(), Map.class);
originalData.remove("sequenceNbr");
......@@ -474,6 +483,10 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
jgChangeRegistrationTransferEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
jgUseRegistrationEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
//单位变更登记
jgChangeRegistrationUnitEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
//更名变更登记
jgChangeRegistrationNameEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
}
/**
......@@ -482,12 +495,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
* @param equipId
* @param currentDocumentId
*/
public void updateTechparamsByEquIdAndCurrentDoucumentId(String equipId, String currentDocumentId, String newUseRegistrationCertificateNumber) {
public void updateTechparamsByEquIdAndCurrentDoucumentId(String equipId, String currentDocumentId, String newUseRegistrationCertificateNumber,String applyNo) {
IdxBizJgTechParamsElevator idxBizJgTechParamsElevator = idxBizJgTechParamsElevatorMapper.selectOne(new QueryWrapper<IdxBizJgTechParamsElevator>().eq("RECORD", equipId));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>()
.eq("equ_id", equipId)
.eq("current_document_id", currentDocumentId)
.eq("current_document_id", applyNo)
.eq("registration_class", "改造登记"));
if (!ObjectUtils.isEmpty(idxBizJgTechParamsElevator) && !ObjectUtils.isEmpty(jgRegistrationHistory)) {
......@@ -500,7 +513,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
BeanUtil.copyProperties(idxBizJgTechParamsElevatorNew, idxBizJgTechParamsElevator, "sequenceNbr", "record");
idxBizJgTechParamsElevatorMapper.updateById(idxBizJgTechParamsElevator);
//将历史数据回填到历史记录表中
jgRegistrationHistory.setChangeData(historyData);
jgRegistrationHistory.setChangeData(newData);
jgRegistrationHistory.setOldData(historyData);
jgRegistrationHistory.setStatus("history");
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
makeEquipmentsInvalid(equipId, currentDocumentId);
......
......@@ -26,8 +26,11 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransfer
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto;
import com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -39,6 +42,7 @@ import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.apache.commons.collections.CollectionUtils;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
......@@ -65,6 +69,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 移装变更登记登记服务实现类
......@@ -88,6 +93,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService;
@Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired
......@@ -120,6 +127,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
ICommonService commonService;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
......@@ -173,7 +182,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
oldTransferEq = jgChangeRegistrationTransferEqService.getDetailByEquipTransferId(sequenceNbr);
//查询历史记录表
if (!ValidationUtil.isEmpty(oldTransferEq)) {
oldHistory = jgRegistrationHistoryService.getDteailByRecord(oldTransferEq.getEquId(), sequenceNbr);
oldHistory = jgRegistrationHistoryService.getDteailByRecord(oldTransferEq.getEquId(), oldTransfer.getApplyNo());
useInfo = idxBizJgUseInfoService.getOneData(oldTransferEq.getEquId());
}
}
......@@ -188,6 +197,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//录入单位统一信用代码
oldTransfer.setInputUnitNo(company.getCompanyCode());
//登记机构代码
//登记机构公司代码
if (!ValidationUtil.isEmpty(receiveOrgCode)) {
......@@ -233,31 +243,14 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
}
}
//使用登记编号 X
//使用登记编号
if (!ValidationUtil.isEmpty(dto2.get("USE_REGISTRATION_CODE"))) {
oldTransfer.setUseRegistrationCode((String) dto2.get("USE_REGISTRATION_CODE"));
} else {
//使用登记编号
oldTransfer.setUseRegistrationCode(idxBizJgRegisterInfoMapper.getUseOrgCodeByEquip(equId));
}
//检验机构统一信用代码 X
if (!ValidationUtil.isEmpty(dto2.get("INSPECT_UNIT_CREDIT_CODE"))) {
oldTransfer.setInspectUnitCreditCode((String) dto2.get("INSPECT_UNIT_CREDIT_CODE"));
}
//检验单位 X
if (!ValidationUtil.isEmpty(dto2.get("INSPECT_UNIT_NAME"))) {
oldTransfer.setInspectUnitName((String) dto2.get("INSPECT_UNIT_NAME"));
}
//检验结果照片 X
if (!ValidationUtil.isEmpty(dto2.get("INSPECT_RESULT_PHOTO"))) {
oldTransfer.setInspectResultPhoto((String) dto2.get("INSPECT_RESULT_PHOTO"));
}
//检验结果 X
if (!ValidationUtil.isEmpty(dto2.get("INSPECT_RESULT"))) {
oldTransfer.setInspectResult((String) dto2.get("INSPECT_RESULT"));
}
//安装单位名称 X
if (!ValidationUtil.isEmpty(dto2.get("INSTALL_UNIT_NAME"))) {
oldTransfer.setSupervisoryCode((String) dto2.get("INSTALL_UNIT_NAME"));
}
}
//保存【移装变更登记】基本信息
......@@ -271,6 +264,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
jgChangeRegistrationTransferEqService.saveOrUpdateTransferEqData(oldTransferEq);
//新增历史记录表
//使用登记证编号
oldHistory.setUseRegistrationCode(oldTransfer.getUseRegistrationCode());
oldHistory.setRegistrationClass("移装登记");
//保存变更新数据
oldHistory.setChangeData(JSON.toJSONString(tableData));
......@@ -279,9 +274,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//设备监管码
oldHistory.setSupervisoryCode(supervisoryCode);
oldHistory.setEquId(equId);
oldHistory.setCurrentDocumentId(oldTransfer.getSequenceNbr().toString());
oldHistory.setCurrentDocumentId(oldTransfer.getApplyNo());
oldHistory.setStatus("new");
jgRegistrationHistoryService.saveOrUpdateHistoryData(oldHistory);
} catch (IOException e) {
......@@ -394,6 +388,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
this.update(jgTransfer, lambda);
}
/**
* 批量删除
*
......@@ -420,9 +415,16 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//删除历史表
JgRegistrationHistory history = new JgRegistrationHistory();
history.setIsDelete(true);
LambdaQueryWrapper<JgRegistrationHistory> historyWapper = new QueryWrapper<JgRegistrationHistory>().lambda();
historyWapper.in(JgRegistrationHistory::getCurrentDocumentId, Arrays.asList(sequenceNbrs));
jgRegistrationHistoryService.updateDate(history, historyWapper);
List<JgChangeRegistrationTransferDto> transferDtos = this.queryBatchSeq(Arrays.asList(sequenceNbrs));
if (!ValidationUtil.isEmpty(transferDtos)) {
List<String> applyNos = transferDtos.stream().map(item -> item.getApplyNo()).collect(Collectors.toList());
if (!ValidationUtil.isEmpty(applyNos)) {
LambdaQueryWrapper<JgRegistrationHistory> historyWapper = new QueryWrapper<JgRegistrationHistory>().lambda();
historyWapper.in(JgRegistrationHistory::getCurrentDocumentId, applyNos);
jgRegistrationHistoryService.updateDate(history, historyWapper);
}
}
} catch (Exception e) {
return false;
}
......@@ -449,7 +451,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
// 1、未执行完成时查询历史表
// 2、执行完成后查询使用信息表
if (!ValidationUtil.equals(FlowStatusEnum.TO_BE_FINISHED.getName(), transferById.getStatus())) {
JgRegistrationHistory historyData = jgRegistrationHistoryService.getDteailByRecord(equipId, transferById.getSequenceNbr().toString());
JgRegistrationHistory historyData = jgRegistrationHistoryService.getDteailByRecord(equipId, transferById.getApplyNo());
if (!ValidationUtil.isEmpty(historyData)) {
JSONObject newPosition = JSON.parseObject(historyData.getChangeData());
String record = newPosition.getString("record");
......@@ -652,63 +654,66 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param useRegistrationCode 使用登记编号
*/
public void replacementHistoryData(String record, String sequenceNbr, String useRegistrationCode) {
//查询修改后的新数据
JgRegistrationHistory newData = jgRegistrationHistoryService.getDteailByRecord(record, sequenceNbr);
//查询设备旧数据
IdxBizJgUseInfo useInfo = useInfoService.getOneData(record);
//更新历史数据表
newData.setStatus("history");
if (!ValidationUtil.isEmpty(useRegistrationCode)) {
newData.setUseRegistrationCode(useRegistrationCode);
}
jgRegistrationHistoryService.saveOrUpdateHistoryData(newData);
JgChangeRegistrationTransfer transfer = this.getBaseMapper().selectById(sequenceNbr);
if (!ValidationUtil.isEmpty(transfer)) {
//查询修改后的新数据
JgRegistrationHistory newData = jgRegistrationHistoryService.getDteailByRecord(record, transfer.getApplyNo());
//查询设备旧数据
IdxBizJgUseInfo useInfo = useInfoService.getOneData(record);
//更新历史数据表
newData.setStatus("history");
if (!ValidationUtil.isEmpty(useRegistrationCode)) {
newData.setUseRegistrationCode(useRegistrationCode);
}
jgRegistrationHistoryService.saveOrUpdateHistoryData(newData);
// 更新设备移装位置使用信息
if (!ValidationUtil.isEmpty(newData)) {
JSONObject newPosition = JSON.parseObject(newData.getChangeData());
String province = newPosition.getString("province");
String city = newPosition.getString("city");
String county = newPosition.getString("county");
String street = newPosition.getString("street");
String address = newPosition.getString("address");
String longitudeLatitude = newPosition.getString("longitudeLatitude");
// 分割省市区街道字段
if (!ObjectUtils.isEmpty(province)) {
String[] provinceList = province.split("_");
if (provinceList.length > 1) {
useInfo.setProvince(provinceList[0]);
useInfo.setProvinceName(provinceList[1]);
// 更新设备移装位置使用信息
if (!ValidationUtil.isEmpty(newData)) {
JSONObject newPosition = JSON.parseObject(newData.getChangeData());
String province = newPosition.getString("province");
String city = newPosition.getString("city");
String county = newPosition.getString("county");
String street = newPosition.getString("street");
String address = newPosition.getString("address");
String longitudeLatitude = newPosition.getString("longitudeLatitude");
// 分割省市区街道字段
if (!ObjectUtils.isEmpty(province)) {
String[] provinceList = province.split("_");
if (provinceList.length > 1) {
useInfo.setProvince(provinceList[0]);
useInfo.setProvinceName(provinceList[1]);
}
}
}
if (!ObjectUtils.isEmpty(city)) {
String[] cityList = city.split("_");
if (cityList.length > 1) {
useInfo.setCity(cityList[0]);
useInfo.setCityName(cityList[1]);
if (!ObjectUtils.isEmpty(city)) {
String[] cityList = city.split("_");
if (cityList.length > 1) {
useInfo.setCity(cityList[0]);
useInfo.setCityName(cityList[1]);
}
}
}
if (!ObjectUtils.isEmpty(county)) {
String[] countyList = county.split("_");
if (countyList.length > 1) {
useInfo.setCounty(countyList[0]);
useInfo.setCountyName(countyList[1]);
if (!ObjectUtils.isEmpty(county)) {
String[] countyList = county.split("_");
if (countyList.length > 1) {
useInfo.setCounty(countyList[0]);
useInfo.setCountyName(countyList[1]);
}
}
}
if (!ObjectUtils.isEmpty(street)) {
String[] streetList = street.split("_");
if (streetList.length > 1) {
useInfo.setFactoryUseSiteStreet(streetList[0]);
useInfo.setStreetName(streetList[1]);
if (!ObjectUtils.isEmpty(street)) {
String[] streetList = street.split("_");
if (streetList.length > 1) {
useInfo.setFactoryUseSiteStreet(streetList[0]);
useInfo.setStreetName(streetList[1]);
}
}
if (!ObjectUtils.isEmpty(address)) {
useInfo.setAddress(address);
}
if (!ObjectUtils.isEmpty(longitudeLatitude)) {
useInfo.setLongitudeLatitude(longitudeLatitude);
}
useInfoService.saveOrUpdateData(useInfo);
}
if (!ObjectUtils.isEmpty(address)) {
useInfo.setAddress(address);
}
if (!ObjectUtils.isEmpty(longitudeLatitude)) {
useInfo.setLongitudeLatitude(longitudeLatitude);
}
useInfoService.saveOrUpdateData(useInfo);
}
}
......@@ -770,4 +775,108 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
}
return null;
}
/**
* 导出使用登记证
*
* @param sequenceNbr
*/
public void exportUseRegistrationCertificate(String sequenceNbr) {
Map<String, Object> exportParamsMap = new HashMap<>();
//查询移装变更详情
JgChangeRegistrationTransfer transfer = this.getById(sequenceNbr);
JgChangeRegistrationTransferEq transferEq = jgChangeRegistrationTransferEqService.getDetailByEquipTransferId(sequenceNbr);
if (ValidationUtil.isEmpty(transfer) || ValidationUtil.isEmpty(transferEq)) {
throw new BadRequest("使用登记证导出失败,请稍后重试!");
}
//是否废弃
exportParamsMap.put("isInvalid", transferEq.getIsInvalid());
JgRegistrationHistory transferHistory = jgRegistrationHistoryService.getDteailByRecord(transferEq.getEquId(), transfer.getApplyNo());
//登记机关
exportParamsMap.put("receiveOrgName", transfer.getReceiveOrgName());
//使用登记证编号
exportParamsMap.put("useRegistrationCode", transfer.getUseRegistrationCode());
//使用单位名称
exportParamsMap.put("useUnitName", transfer.getUseUnitName());
//监管码
exportParamsMap.put("supervisoryCode", transfer.getSupervisoryCode());
//发证日期(当前时间)
exportParamsMap.put("issueData", new Date());
//设备使用地址
if(!ValidationUtil.isEmpty(transferHistory)){
String fullAddress="";
JSONObject newPosition = JSON.parseObject(transferHistory.getChangeData());
String province = newPosition.getString("province");
String city = newPosition.getString("city");
String county = newPosition.getString("county");
String street = newPosition.getString("street");
String address = newPosition.getString("address");
// 分割省市区街道字段
if (!ObjectUtils.isEmpty(province)) {
String[] provinceList = province.split("_");
if (provinceList.length > 1) {
fullAddress += provinceList[1];
}
}
if (!ObjectUtils.isEmpty(city)) {
String[] cityList = city.split("_");
if (cityList.length > 1) {
fullAddress += cityList[1];
}
}
if (!ObjectUtils.isEmpty(county)) {
String[] countyList = county.split("_");
if (countyList.length > 1) {
fullAddress += countyList[1];
}
}
if (!ObjectUtils.isEmpty(street)) {
String[] streetList = street.split("_");
if (streetList.length > 1) {
fullAddress += streetList[1];
}
}
if (!ObjectUtils.isEmpty(address)) {
fullAddress += address;
}
exportParamsMap.put("fullAddress", fullAddress);
}
//查询设备注册信息
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoService.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", transferEq.getEquId()));
if(!ValidationUtil.isEmpty(registerInfo)){
//设备种类、类别、品种
String equList = registerInfo.getEquList();//设备种类
String equCategory = registerInfo.getEquCategory();//设备类别
String equDefine = registerInfo.getEquDefine();//设备品种
List<EquipmentCategory> categoryList0 = commonService.getEquipmentCategoryList(equList, null);
List<EquipmentCategory> categoryList1 = commonService.getEquipmentCategoryList(equCategory, null);
List<EquipmentCategory> categoryList2 = commonService.getEquipmentCategoryList(equDefine, null);
if (CollectionUtils.isNotEmpty(categoryList1)) {
exportParamsMap.put("equList", categoryList0.get(0).getName());
}
if (CollectionUtils.isNotEmpty(categoryList1)) {
exportParamsMap.put("equCategory", categoryList1.get(0).getName());
}
if (CollectionUtils.isNotEmpty(categoryList2)) {
exportParamsMap.put("equDefine", categoryList2.get(0).getName());
}
//设备代码
exportParamsMap.put("equCode", registerInfo.getEquCode());
}
//单位内部编码
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(transferEq.getEquId());
if(!ValidationUtil.isEmpty(useInfo)){
exportParamsMap.put("useInnerCode", useInfo.getUseInnerCode());
}
IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(transferEq.getEquId());
//产品编号(出厂编号)
if(!ValidationUtil.isEmpty(factoryInfo)){
exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum());
}
}
}
\ No newline at end of file
......@@ -12,9 +12,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationUnitDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
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.mapper.JgChangeRegistrationUnitMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationUnitEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgRegistrationHistoryMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationUnitService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
......@@ -98,6 +96,22 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
//改造登记关系表mapper
@Autowired
private JgChangeRegistrationReformEqMapper jgChangeRegistrationReformEqMapper;
//移装登记关系表
@Autowired
private JgChangeRegistrationTransferEqMapper jgChangeRegistrationTransferEqMapper;
//使用登记关系表mapper
@Autowired
private JgUseRegistrationEqMapper jgUseRegistrationEqMapper;
//单位变更登记关系表mapper
@Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
//更名变更登记关系表mapper
@Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
......@@ -139,11 +153,11 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if(!ValidationUtil.isEmpty(notice.getNewUseUnitCreditCode()) && !ValidationUtil.isEmpty(notice.getNewUseUnitName())) {
changeInfo.put("newUseUnitCreditCode", notice.getNewUseUnitCreditCode() + "_" + notice.getNewUseUnitName());
}
changeInfo.put("changeCertificateList", notice.getChangeCertificate());
String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard",
"productQualityYieldProve", "insUseMaintainExplain", "inspectReport",
"proxyStatementAttachment", "installContractAttachment", "changeCertificate"};
"proxyStatementAttachment", "installContractAttachment", "changeCertificateList"};
// 设备信息
List<Map<String, Object>> equipmentInfos = JgChangeRegistrationUnitMapper.queryEquipInformation(sequenceNbr);
......@@ -162,7 +176,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
newMap.putAll(equipmentInfos.get(0));
return new HashMap<String, Map<String, Object>>() {{
this.put("changeInfo", newMap);
this.put("changeRegisInfo", newMap);
}};
}
......@@ -492,7 +506,11 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
dto.setNewUseUnitName(reginParams.getCompany().getCompanyName());
dto.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.setEquCodeB((String.valueOf(obj.get("EQU_CODE"))));
dto.setUseInnerCode((String.valueOf(obj.get("USE_INNER_CODE"))));
dto.setEquAddress((String.valueOf(obj.get("ADDRESS"))));
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgRelationEquip.setUnitChangeRegistrationId(applyNo);
......@@ -585,13 +603,16 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
//修改数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(map));
//设备监管码
// jgRegistrationHistory.setSupervisoryCode(supervisoryCode);
LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(OtherInfo::getRecord,equipId);
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
jgRegistrationHistory.setSupervisoryCode(tzsJgOtherInfo.getSupervisoryCode());
if (map.containsKey("type") && "edit".equals(String.valueOf(map.get("type")))) {
jgRegistrationHistory.setSequenceNbr(jgRegistrationHistoryMapper.getSequenceNbrByEquidAndDocumentId(equipId, String.valueOf(map.get("sequenceNbr"))));
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
} else {
//当前单据id
jgRegistrationHistory.setCurrentDocumentId(map.get("sequenceNbr").toString());
jgRegistrationHistory.setCurrentDocumentId(map.get("applyNo").toString());
jgRegistrationHistoryMapper.insert(jgRegistrationHistory);
}
}
......@@ -644,17 +665,18 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
public void accept(JgChangeRegistrationUnitDto dto,String op) {
String[] taskName = new String[]{"已完成"};
String userId = RequestContext.getExeUserId();
JgChangeRegistrationUnit JgChangeRegistrationUnit = this.JgChangeRegistrationUnitMapper.selectById(dto.getSequenceNbr());
JgChangeRegistrationUnit.setProcessAdvice(dto.getProcessAdvice());
JgChangeRegistrationUnit jgChangeRegistrationUnit = this.JgChangeRegistrationUnitMapper.selectById(dto.getSequenceNbr());
jgChangeRegistrationUnit.setProcessAdvice(dto.getProcessAdvice());
ArrayList<String> roleList = new ArrayList<>();
boolean submit = submit(JgChangeRegistrationUnit, op);
boolean submit = submit(jgChangeRegistrationUnit, op);
if(submit) {
getNext(roleList, dto.getInstanceId(),taskName);
JgChangeRegistrationUnit.setStatus(taskName[0]);
jgChangeRegistrationUnit.setStatus(taskName[0]);
if("0".equals(op)) {
if(roleList.size() == 0) {
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass());
jgChangeRegistrationUnit.setStatus(taskName[0]);
jgChangeRegistrationUnit.setAuditPassDate(new Date());
// 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
......@@ -668,8 +690,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(UseInfo::getRecord,jgChangeRegistrationUnitEq.getEquId());
UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2);
useInfo.setUseUnitName(JgChangeRegistrationUnit.getNewUseUnitName());
useInfo.setUseUnitCreditCode(JgChangeRegistrationUnit.getNewUseUnitCreditCode());
useInfo.setUseUnitName(jgChangeRegistrationUnit.getNewUseUnitName());
useInfo.setUseUnitCreditCode(jgChangeRegistrationUnit.getNewUseUnitCreditCode());
String code = getCode(tzsJgOtherInfo.getSupervisoryCode());
......@@ -678,6 +700,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
return;
}
jgChangeRegistrationUnit.setUseRegistCode(code);
//更新使用注册登记证编号
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, code);
useInfoMapper.updateById(useInfo);
......@@ -685,9 +708,12 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
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",jgChangeRegistrationUnit.getNewUseUnitCreditCode());
map1.put("USE_UNIT_NAME",jgChangeRegistrationUnit.getNewUseUnitName());
resultMap.put(equipId, map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
//修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(jgChangeRegistrationUnitEq.getEquId(), jgChangeRegistrationUnit.getApplyNo());
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
// @Override
......@@ -696,23 +722,42 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// }
// });
} else {
JgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(JgChangeRegistrationUnit.getInstanceStatus())) {
JgChangeRegistrationUnit.setInstanceStatus(JgChangeRegistrationUnit.getInstanceStatus() + "," + String.join(",", roleList));
jgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(jgChangeRegistrationUnit.getInstanceStatus())) {
jgChangeRegistrationUnit.setInstanceStatus(jgChangeRegistrationUnit.getInstanceStatus() + "," + String.join(",", roleList));
} else {
JgChangeRegistrationUnit.setInstanceStatus(String.join(",", roleList));
jgChangeRegistrationUnit.setInstanceStatus(String.join(",", roleList));
}
JgChangeRegistrationUnit.setPromoter(userId);
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass());
jgChangeRegistrationUnit.setPromoter(userId);
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass());
}
} else {
JgChangeRegistrationUnit.setPromoter("");
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getReject());
jgChangeRegistrationUnit.setPromoter("");
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getReject());
}
JgChangeRegistrationUnitMapper.updateById(JgChangeRegistrationUnit);
JgChangeRegistrationUnitMapper.updateById(jgChangeRegistrationUnit);
}
}
/**
* 修改各类告知列表,置为废弃
*
* @param equId 设备id
* @param equipTransferId 当前告知单Id
*/
public void updataInvalidStatusByHistory(String equId, String equipTransferId) {
//改造变更登记
jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//移装变更登记
jgChangeRegistrationTransferEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//使用登记
jgUseRegistrationEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//单位变更登记
jgChangeRegistrationUnitEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//更名变更登记
jgChangeRegistrationNameEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
}
public String getCode(String supervisoryCode) {
if (!ObjectUtils.isEmpty(supervisoryCode) && supervisoryCode.length() > 5) {
......
......@@ -94,12 +94,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
//使用单位用"使用单位统一信用代码"匹配数据
dto.setUseUnitCode(company.getCompanyCode());
dto.setRoleIds(null);
dto.setStatus(null);
contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.WEIBAO.getCode().equals(phase)) {
//维保单位用"维保单位统一信用代码"匹配数据
dto.setMaintenanceUnitCode(company.getCompanyCode());
dto.setStatus(dto.getStatus().contains(USE) ? USE : null);
contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.JIANGUAN.getCode().equals(phase)) {
//监管单位用"接收机构统一使用代码"匹配
......@@ -365,7 +363,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
BeanUtils.copyProperties(dto, contract);
contract.setCreateDate(new Date());
//获取维保备案编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.AZGZ.getCode(), 1);
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error("告知单获取失败");
return false;
......@@ -463,7 +461,6 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
jgMaintenanceContract.setNextExecuteIds(role);
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId());
jgMaintenanceContract.setInstanceId(instanceId);
jgMaintenanceContract.setApplyDate(new Date());
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) {
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role);
} else {
......@@ -479,6 +476,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
}
}else {
jgMaintenanceContract.setApplyDate(new Date());
jgMaintenanceContract.setStatus(taskCode);
}
this.getBaseMapper().updateById(jgMaintenanceContract);
......
......@@ -119,11 +119,6 @@ public class JyjcInspectionResult extends BaseEntity {
@TableField("non_conformance")
private String nonConformance;
// /**
// * 整改情况
// */
// @TableField("rectification")
// private String rectification;
/**
* 备注(无用预留)
......@@ -180,4 +175,11 @@ public class JyjcInspectionResult extends BaseEntity {
*/
@TableField("equ_define")
private String equDefine;
/**
* 校验检验系统唯一流水号,排查问题,跟踪问题使用
*/
@TableField("trace_id")
private String traceId;
}
......@@ -152,4 +152,9 @@ public class JyjcInspectionResultModel extends BaseModel {
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
/**
* 校验检验系统唯一流水号,排查问题,跟踪问题使用
*/
private String traceId;
}
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