Commit c21a9092 authored by chenzhao's avatar chenzhao

Merge branch 'develop_tzs_register' of…

Merge branch 'develop_tzs_register' of http://36.40.66.175:5000/moa/amos-boot-biz into develop_tzs_register
parents bf2f86ee be5d8941
...@@ -145,23 +145,17 @@ public class ControllerAop { ...@@ -145,23 +145,17 @@ public class ControllerAop {
// 验证token有效性,防止token失效 // 验证token有效性,防止token失效
AgencyUserModel userModel; AgencyUserModel userModel;
try { try {
// StopWatch stopWatch = new StopWatch();
// stopWatch.start("1");
String authToken = RedisKey.buildReginKey(RequestContext.getExeUserId(), token); String authToken = RedisKey.buildReginKey(RequestContext.getExeUserId(), token);
if (redisUtils.hasKey(authToken)) { if (redisUtils.hasKey(authToken)) {
logger.info("登录命中缓存 ,直接返回!!===========>"); logger.info("登录命中缓存 ,直接返回!!===========>");
return; return;
} }
// stopWatch.stop(); FeignClientResult<AgencyUserModel> agencyUserModel = Privilege.agencyUserClient.getme();
// logger.info("get auth token count time===========> {}", stopWatch.getTotalTimeSeconds()); userModel = agencyUserModel.getResult();
// stopWatch.start("2"); if (userModel == null) {
// FeignClientResult<AgencyUserModel> agencyUserModel = Privilege.agencyUserClient.getme(); throw new Exception("无法获取用户信息");
// userModel = agencyUserModel.getResult(); }
// if (userModel == null) { RequestContext.setExeUserId(userModel.getUserId());
// throw new Exception("无法获取用户信息");
// }
// RequestContext.setExeUserId(userModel.getUserId());
// logger.info("get me count time===========> {}", stopWatch.getTotalTimeSeconds());
} catch (Exception e) { } catch (Exception e) {
// 删除失效token缓存 // 删除失效token缓存
logger.info("catch pattern before==========>" + pattern); logger.info("catch pattern before==========>" + pattern);
...@@ -169,8 +163,8 @@ public class ControllerAop { ...@@ -169,8 +163,8 @@ public class ControllerAop {
logger.info("catch pattern after==========>" + pattern); logger.info("catch pattern after==========>" + pattern);
throw new RuntimeException(e.getMessage()); throw new RuntimeException(e.getMessage());
} }
// saveUserRedis(userModel, token); saveUserRedis(userModel, token);
saveUserRedis(); // saveUserRedis();
} else { } else {
throw new AuthException("请求未包含认证信息."); throw new AuthException("请求未包含认证信息.");
} }
......
...@@ -30,7 +30,7 @@ import java.util.Objects; ...@@ -30,7 +30,7 @@ import java.util.Objects;
*/ */
public class BizCustomDateSerializer extends JsonSerializer<Date> { 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() public BizCustomDateSerializer()
{ {
......
package com.yeejoin.amos.boot.module.jg.api.dto; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -52,6 +54,7 @@ public class JgChangeRegistrationNameDto extends BaseDto { ...@@ -52,6 +54,7 @@ public class JgChangeRegistrationNameDto extends BaseDto {
private String createUserId; private String createUserId;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate; private Date createDate;
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")
...@@ -84,4 +87,16 @@ public class JgChangeRegistrationNameDto extends BaseDto { ...@@ -84,4 +87,16 @@ public class JgChangeRegistrationNameDto extends BaseDto {
@ApiModelProperty(value = "任务发起人id") @ApiModelProperty(value = "任务发起人id")
private String promoter; 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; package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -31,6 +34,8 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -31,6 +34,8 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
private String applyNo; private String applyNo;
@ApiModelProperty(value = "申请日期") @ApiModelProperty(value = "申请日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date applyDate; private Date applyDate;
@ApiModelProperty(value = "办理状态") @ApiModelProperty(value = "办理状态")
...@@ -46,6 +51,8 @@ public class JgChangeRegistrationUnitDto extends BaseDto { ...@@ -46,6 +51,8 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
private String receiveCompanyCode; private String receiveCompanyCode;
@ApiModelProperty(value = "终审通过时间") @ApiModelProperty(value = "终审通过时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date auditPassDate; private Date auditPassDate;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
......
...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.biz.common.dto.BaseDto; ...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* *
...@@ -75,4 +76,8 @@ public class JgEnableDisableDto extends BaseDto { ...@@ -75,4 +76,8 @@ public class JgEnableDisableDto extends BaseDto {
@ApiModelProperty(value = "申请类型(1启用,0停用)") @ApiModelProperty(value = "申请类型(1启用,0停用)")
private String applyType; private String applyType;
private List<String> roleIds;
private String type;
} }
package com.yeejoin.amos.boot.module.jg.api.dto; package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -39,7 +40,8 @@ public class JgEquipTransferDto extends BaseDto { ...@@ -39,7 +40,8 @@ public class JgEquipTransferDto extends BaseDto {
private String applyStatusDesc; private String applyStatusDesc;
@ApiModelProperty(value = "申请日期") @ApiModelProperty(value = "申请日期")
private Date applyDate; @JsonFormat(pattern = "yyyy-MM-dd")
private String applyDate;
@ApiModelProperty(value = "施工单位统一信用代码") @ApiModelProperty(value = "施工单位统一信用代码")
private String installUnitCreditCode; private String installUnitCreditCode;
......
...@@ -244,6 +244,7 @@ public class JgInstallationNoticeDto extends BaseDto { ...@@ -244,6 +244,7 @@ public class JgInstallationNoticeDto extends BaseDto {
private String equAddress; private String equAddress;
@ApiModelProperty(value = "办理日期") @ApiModelProperty(value = "办理日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class) @JsonSerialize(using = BizCustomDateSerializer.class)
private Date handleDate; private Date handleDate;
......
...@@ -136,4 +136,10 @@ public class JgChangeRegistrationName extends BaseEntity { ...@@ -136,4 +136,10 @@ public class JgChangeRegistrationName extends BaseEntity {
@TableField("promoter") @TableField("promoter")
private String promoter; private String promoter;
/**
* 流程状态
*/
@TableField("instance_status")
private String instanceStatus;
} }
...@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.jg.api.entity; ...@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.jg.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; 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.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.common.BizCustomDateSerializer;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
...@@ -38,6 +41,8 @@ public class JgChangeRegistrationUnit extends BaseEntity { ...@@ -38,6 +41,8 @@ public class JgChangeRegistrationUnit extends BaseEntity {
* 申请日期 * 申请日期
*/ */
@TableField("apply_date") @TableField("apply_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date applyDate; private Date applyDate;
/** /**
...@@ -68,6 +73,8 @@ public class JgChangeRegistrationUnit extends BaseEntity { ...@@ -68,6 +73,8 @@ public class JgChangeRegistrationUnit extends BaseEntity {
* 终审通过时间 * 终审通过时间
*/ */
@TableField("audit_pass_date") @TableField("audit_pass_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date auditPassDate; private Date auditPassDate;
/** /**
......
...@@ -143,26 +143,5 @@ public class JgEquipTransfer extends BaseEntity { ...@@ -143,26 +143,5 @@ public class JgEquipTransfer extends BaseEntity {
private String instanceRoles; private String instanceRoles;
@TableField(exist = false) @TableField(exist = false)
private String equCategory;
@TableField(exist = false)
private String equDefine;
@TableField(exist = false)
private String factoryNum;
@TableField(exist = false)
private String equRegisterCode;
@TableField(exist = false)
private String supervisoryCode;
@TableField(exist = false)
private String useInnerCode;
@TableField(exist = false)
private String concatenatedAddress;
@TableField(exist = false)
private String processAdvice; private String processAdvice;
} }
...@@ -391,6 +391,7 @@ public class JgInstallationNotice extends BaseEntity { ...@@ -391,6 +391,7 @@ public class JgInstallationNotice extends BaseEntity {
private String equAddress; private String equAddress;
@TableField("handle_date") @TableField("handle_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class) @JsonSerialize(using = BizCustomDateSerializer.class)
private Date handleDate; private Date handleDate;
......
...@@ -49,6 +49,15 @@ public enum WorkFlowStatusEnum { ...@@ -49,6 +49,15 @@ public enum WorkFlowStatusEnum {
CHANGE_REEXAMINE("三级受理", "changeReexamine", "三级待受理", "", ""), CHANGE_REEXAMINE("三级受理", "changeReexamine", "三级待受理", "", ""),
/** /**
* 更名变更登记流程
*/
UNIT_RENAME_SUBMIT("使用单位提交", "unitRenameSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
UNIT_RENAME_RECEIVE("一级受理", "unitRenameReceive", "一级待受理", "二级受理已驳回", "一级受理已撤回"),
UNIT_RENAME_PRELIMINARY("二级受理", "unitRenamePreliminary", "二级待受理", "三级受理已驳回", "二级受理已撤回"),
UNIT_RENAME_REEXAMINE("三级受理", "unitRenameReexamine", "三级待受理", "", ""),
/**
* 移装变更登记流程 * 移装变更登记流程
*/ */
TRANSFER_SUBMIT("使用单位提交", "transferSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"), TRANSFER_SUBMIT("使用单位提交", "transferSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
...@@ -59,10 +68,18 @@ public enum WorkFlowStatusEnum { ...@@ -59,10 +68,18 @@ public enum WorkFlowStatusEnum {
/** /**
* 使用单位更登记流程 * 使用单位更登记流程
*/ */
UNITCHANGE_SUBMIT("使用单位提交", "unitChangeSubmit", "使用单位待提交", "一级受理已驳回", "使用单位提交已撤回"), UNITCHANGE_SUBMIT("使用单位提交", "unitChangeSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
UNITCHANGE_RECEIVE("一级受理", "unitChangeReceive", "一级待受理", "二级受理已驳回", "一级受理已撤回"), UNITCHANGE_RECEIVE("一级受理", "unitChangeReceive", "一级待受理", "二级受理已驳回", "一级受理已撤回"),
UNITCHANGE_PRELIMINARY("二级受理", "unitChangePreliminary", "二级待受理", "三级受理已驳回", "二级受理已撤回"), UNITCHANGE_PRELIMINARY("二级受理", "unitChangePreliminary", "二级待受理", "三级受理已驳回", "二级受理已撤回"),
UNITCHANGE_REEXAMINE("三级受理", "unitChangeReexamine", "三级待受理","",""); UNITCHANGE_REEXAMINE("三级受理", "unitChangeReexamine", "三级待受理","",""),
/**
* 停用启用流程
*/
ENABLE_SUBMIT("使用单位提交", "enableSubmit", "待提交", "已驳回", "已撤回"),
ENABLE_RECEIVE("监管受理", "enableReceive", "待受理", "", "");
private final String name; private final String name;
......
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationNameEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationNameEq;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* Mapper 接口 * Mapper 接口
...@@ -11,4 +13,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +13,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface JgChangeRegistrationNameEqMapper extends BaseMapper<JgChangeRegistrationNameEq> { public interface JgChangeRegistrationNameEqMapper extends BaseMapper<JgChangeRegistrationNameEq> {
@Update ("update tzs_jg_change_registration_name_eq set is_invalid = 1 where equ_id = #{equipId} and name_change_registration_id != #{currentDocumentId} ")
void updateEquipIsVaildByEquipIdAndCurrentDocumentId(@Param ("equipId")String equipId, @Param("currentDocumentId")String currentDocumentId);
} }
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.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.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationName;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -16,4 +19,10 @@ import java.util.Map; ...@@ -16,4 +19,10 @@ import java.util.Map;
public interface JgChangeRegistrationNameMapper extends BaseMapper<JgChangeRegistrationName> { public interface JgChangeRegistrationNameMapper extends BaseMapper<JgChangeRegistrationName> {
List<Map<String, Object>> getEquipInfoByOrgCode(@Param("code") String code); 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(@Param("page") Page<Map<String, Object>> page, @Param("dto") JgChangeRegistrationNameDto dto, @Param("roleIds") List<String> roleIds, @Param("orgCode") String orgCode);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnitEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnitEq;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* 单位变更登记设备关系表 Mapper 接口 * 单位变更登记设备关系表 Mapper 接口
...@@ -10,5 +12,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -10,5 +12,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @date 2023-12-22 * @date 2023-12-22
*/ */
public interface JgChangeRegistrationUnitEqMapper extends CustomBaseMapper<JgChangeRegistrationUnitEq> { public interface JgChangeRegistrationUnitEqMapper extends CustomBaseMapper<JgChangeRegistrationUnitEq> {
@Update ("update tzs_jg_change_registration_unit_eq set is_invalid = 1 where equ_id = #{equipId} and unit_change_registration_id != #{currentDocumentId} ")
void updateEquipIsVaildByEquipIdAndCurrentDocumentId(@Param ("equipId")String equipId, @Param("currentDocumentId")String currentDocumentId);
} }
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable; import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/** /**
* Mapper 接口 * Mapper 接口
...@@ -11,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface JgEnableDisableMapper extends BaseMapper<JgEnableDisable> { public interface JgEnableDisableMapper extends BaseMapper<JgEnableDisable> {
Page<Map<String, Object>> pageList(@Param("page") Page<Map<String, Object>> page, @Param("dto") JgEnableDisableDto dto);
Map<String, Object> getDetail(@Param("sequenceNbr") Long sequenceNbr);
} }
...@@ -2,9 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -2,9 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEquipTransferDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgEquipTransferDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer; import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -17,7 +15,7 @@ import java.util.Map; ...@@ -17,7 +15,7 @@ import java.util.Map;
* @date 2023-12-20 * @date 2023-12-20
*/ */
public interface JgEquipTransferMapper extends CustomBaseMapper<JgEquipTransfer> { public interface JgEquipTransferMapper extends CustomBaseMapper<JgEquipTransfer> {
Page<JgEquipTransfer> queryForPage(Page<JgEquipTransfer> page, @Param("param") JgEquipTransferDto model, @Param("type") String type, @Param("companyCode") String companyCode); Page<JgEquipTransferDto> queryForPage(Page<JgEquipTransferDto> page, @Param("param") JgEquipTransferDto model, @Param("type") String type, @Param("companyCode") String companyCode);
void updatePromoter(@Param("id")Long id); void updatePromoter(@Param("id")Long id);
......
package com.yeejoin.amos.boot.module.jg.api.service;
/**
* 更名变更登记接口类
*
* @author system_generator
* @date 2023-12-25
*/
public interface IJgChangeRegistrationNameService {
}
...@@ -7,6 +7,8 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -7,6 +7,8 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.Map; import java.util.Map;
/** /**
...@@ -30,4 +32,6 @@ public interface IJgChangeRegistrationTransferService extends IService<JgChangeR ...@@ -30,4 +32,6 @@ public interface IJgChangeRegistrationTransferService extends IService<JgChangeR
void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, boolean update); void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, boolean update);
void revocation(String instanceId); void revocation(String instanceId);
void exportUseRegistrationCertificate(String sequenceNbr, HttpServletResponse response);
} }
...@@ -59,11 +59,4 @@ public interface IJgChangeRegistrationUnitService { ...@@ -59,11 +59,4 @@ public interface IJgChangeRegistrationUnitService {
*/ */
void saveNotice(String submitType, JgChangeRegistrationUnitDto model, ReginParams reginParams); void saveNotice(String submitType, JgChangeRegistrationUnitDto model, ReginParams reginParams);
/**
* 打印告知单
*
* @param sequenceNbr 主键
* @return pdf文件路径
*/
String generateInstallationNoticeReport(Long sequenceNbr);
} }
...@@ -25,7 +25,7 @@ public interface IJgEquipTransferService extends IService<JgEquipTransfer> { ...@@ -25,7 +25,7 @@ public interface IJgEquipTransferService extends IService<JgEquipTransfer> {
* @param type 类型:enterprise-企业端、supervision-监管端 * @param type 类型:enterprise-企业端、supervision-监管端
* @return 设备移交分页列表 * @return 设备移交分页列表
*/ */
Page<JgEquipTransferDto> queryForJgEquipTransferPage(Page<JgEquipTransfer> page, JgEquipTransferDto dto, String type, ReginParams reginParams); Page<JgEquipTransferDto> queryForJgEquipTransferPage(Page<JgEquipTransferDto> page, JgEquipTransferDto dto, String type, ReginParams reginParams);
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -34,12 +34,4 @@ public interface IJgEquipTransferService extends IService<JgEquipTransfer> { ...@@ -34,12 +34,4 @@ public interface IJgEquipTransferService extends IService<JgEquipTransfer> {
* @return 设备移交详情 * @return 设备移交详情
*/ */
Map<String, Object> queryBySequenceNbr(Long sequenceNbr); Map<String, Object> queryBySequenceNbr(Long sequenceNbr);
/**
* 保存设备移交接口
* @param submitType 按钮类型
* @param dto dto
* @param selectedOrgInfo reginParams
*/
void saveEquipTransfer(String submitType, Map<String, JgEquipTransferDto> dto, ReginParams selectedOrgInfo);
} }
...@@ -28,4 +28,5 @@ public interface IJgTransferNoticeService extends IService<JgTransferNotice> { ...@@ -28,4 +28,5 @@ public interface IJgTransferNoticeService extends IService<JgTransferNotice> {
void saveNotice(String submitType, Map<String, JgTransferNoticeDto> model, ReginParams reginParams); void saveNotice(String submitType, Map<String, JgTransferNoticeDto> model, ReginParams reginParams);
String generateTransferNoticeReport(Long sequenceNbr); String generateTransferNoticeReport(Long sequenceNbr);
} }
...@@ -14,4 +14,57 @@ ...@@ -14,4 +14,57 @@
WHERE WHERE
USE_UNIT_CREDIT_CODE = #{code} USE_UNIT_CREDIT_CODE = #{code}
</select> </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_credit_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> </mapper>
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
crt.promoter, crt.promoter,
crt.rec_date as recDate, crt.rec_date as recDate,
crt.instance_id as instanceId, crt.instance_id as instanceId,
crt.use_registration_code as useRegistrationCode,
use.USE_UNIT_NAME as useUnitName, use.USE_UNIT_NAME as useUnitName,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory, (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
jri.PRODUCT_NAME as productName, jri.PRODUCT_NAME as productName,
......
...@@ -10,11 +10,16 @@ ...@@ -10,11 +10,16 @@
isn.use_unit_name AS useUnitName, isn.use_unit_name AS useUnitName,
isn.receive_org_name AS receiveOrgName, isn.receive_org_name AS receiveOrgName,
isn.new_use_unit_name AS newUseUnitName, 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.apply_date AS applyDate,
isn.status AS status, isn.status AS status,
isn.instance_id AS instanceId, isn.instance_id AS instanceId,
isn.promoter, isn.promoter,
isn.next_execute_ids AS nextExecuteIds, isn.next_executor_ids AS nextExecutorIds,
isn.instance_status AS instanceStatus, isn.instance_status AS instanceStatus,
isn.audit_pass_date AS auditPassDate, isn.audit_pass_date AS auditPassDate,
isn.equ_type AS equType isn.equ_type AS equType
...@@ -27,17 +32,20 @@ ...@@ -27,17 +32,20 @@
AND isn.apply_no LIKE CONCAT('%', #{param.applyNo}, '%') AND isn.apply_no LIKE CONCAT('%', #{param.applyNo}, '%')
</if> </if>
<if test="param.receiveOrgCode != null and param.receiveOrgCode != ''"> <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>
<if test="param.useUnitName != null and param.useUnitName != ''"> <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>
<if test="param.status != null and param.status != ''"> <if test="param.status != null and param.status != ''">
AND isn.status = #{param.status} AND isn.status = #{param.status}
</if> </if>
<if test="param.equCodeB != null and param.equCodeB != ''">
AND isn.equ_code_b = #{param.equCodeB}
</if>
</if> </if>
<if test="type == 'supervision'"> <if test="type == 'supervision'">
AND isn.receive_org_credit_code = #{orgCode} AND isn.receive_org_code = #{orgCode}
AND isn.instance_id is not null AND isn.instance_id is not null
</if> </if>
<if test="type == 'enterprise'"> <if test="type == 'enterprise'">
...@@ -50,22 +58,17 @@ ...@@ -50,22 +58,17 @@
</if> </if>
</where> </where>
ORDER BY ORDER BY
isn.create_date DESC isn.create_date DESC, isn.apply_no DESC
</select> </select>
<select id="queryEquipInformation" resultType="java.util.Map"> <select id="queryEquipInformation" resultType="java.util.Map">
select select
isn.sequence_nbr AS sequenceNbr, isn.sequence_nbr AS sequenceNbr,
isn.apply_no AS applyNo, 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.change_certificate AS changeCertificate,
isn.remark AS remark, isn.remark AS remark,
isn.equ_register_code AS equRegisterCode, isn.equ_code_b AS equRegisterCode,
ri.equ_list AS equList, ri.equ_list AS equList,
ri.equ_category AS equCategory, ri.equ_category AS equCategory,
ri.EQU_DEFINE AS equDefine, ri.EQU_DEFINE AS equDefine,
...@@ -99,7 +102,7 @@ ...@@ -99,7 +102,7 @@
ei.address AS address ei.address AS address
FROM FROM
tzs_jg_change_registration_unit isn tzs_jg_change_registration_unit isn
LEFT JOIN tzs_jg_change_registration_unit_eq re ON re.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_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_design_info di ON di.record = re.equ_id
LEFT JOIN idx_biz_jg_factory_info fi ON fi.record = re.equ_id LEFT JOIN idx_biz_jg_factory_info fi ON fi.record = re.equ_id
......
...@@ -2,4 +2,76 @@ ...@@ -2,4 +2,76 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper"> <mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper">
<select id="pageList" resultType="java.util.Map">
SELECT jed.sequence_nbr as sequenceNbr,
jed.apply_no as applyNo,
date_format(jed.apply_date, '%Y-%m-%d') as applyDate,
CASE
when
jed.apply_type = 1 then '停用'
else '启用' end as applyType,
jri.USE_ORG_CODE as useOrgCode,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
(SELECT name from tz_equipment_category where code = jri.EQU_DEFINE) as equDefine,
jri.PRODUCT_NAME as productName,
use.USE_UNIT_NAME as useUnitName,
jed.receive_org_name as receiveOrgName,
concat(use."PROVINCE_NAME", '-', use."CITY_NAME", '-', use."COUNTY_NAME", '-', use."STREET_NAME", '-', use."ADDRESS") as address,
use."USE_INNER_CODE" as useInnerCode,
jed.audit_status as auditStatus,
date_format(jed.audit_pass_date, '%Y-%m-%d') as auditPassDate,
jed.instance_id as instanceId,
jed.execute_sequence as executeSequence,
jed.next_executor_ids as nextExecutorIds,
jed.promoter
FROM tzs_jg_enable_disable jed
LEFT JOIN tzs_jg_enable_disable_eq jede on jed.sequence_nbr = jede.enable_disable_apply_id
LEFT JOIN idx_biz_jg_register_info jri on jede.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on jri.RECORD = use.RECORD
<where>
<if test="dto.applyNo != null and dto.applyNo != '' ">
and jed.apply_no like concat('%',#{dto.applyNo},'%')
</if>
<if test="dto.auditStatus != null and dto.auditStatus != '' ">
and jed.audit_status = #{dto.auditStatus}
</if>
<if test="dto.type == 'enterprise'">
and jed.use_unit_credit_code = #{dto.useUnitCreditCode}
</if>
<if test="dto.type == 'supervision'">
and jed.receive_org_code = #{dto.useUnitCreditCode}
</if>
<if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''">
and jed.receive_org_code = #{dto.receiveOrgCode}
</if>
<if test="dto.applyType != null and dto.applyType != ''">
and jed.apply_type = #{dto.applyType}
</if>
<if test="dto.roleIds != null and dto.type == 'supervision'">
<foreach collection='dto.roleIds' item='role' open='and (' close=')' separator='or'>
execute_sequence like concat('%',#{role},'%')
</foreach>
</if>
</where>
order by jed.rec_date desc
</select>
<select id="getDetail" resultType="java.util.Map">
SELECT jed.sequence_nbr as sequenceNbr,
concat(jed.receive_org_code,'_',jed.receive_org_name) as receiveOrgCode,
concat(use."PROVINCE_NAME", use."CITY_NAME", use."COUNTY_NAME", use."ADDRESS",
use.STREET_NAME) as fullAddress,
jri.EQU_CODE as equCode,
jed.apply_type as applyType,
jed.remark,
use.RECORD as record,
jfi.FACTORY_NUM as factoryNum
FROM tzs_jg_enable_disable jed
LEFT JOIN tzs_jg_enable_disable_eq jede on jed.sequence_nbr = jede.enable_disable_apply_id
LEFT JOIN idx_biz_jg_register_info jri on jede.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on jri.RECORD = use.RECORD
LEFT JOIN idx_biz_jg_factory_info jfi on jri.RECORD = jfi.RECORD
where jed.sequence_nbr = #{sequenceNbr}
</select>
</mapper> </mapper>
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
</update> </update>
<select id="queryForPage" resultType="com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer"> <select id="queryForPage" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgEquipTransferDto">
select select
jet.sequence_nbr AS sequenceNbr, jet.sequence_nbr AS sequenceNbr,
jet.apply_no AS applyNo, jet.apply_no AS applyNo,
jet.use_unit_credit_code AS useUnitCreditCode, jet.use_unit_credit_code AS useUnitCreditCode,
jet.use_unit_name AS useUnitName, jet.use_unit_name AS useUnitName,
jet.apply_status AS applyStatus, jet.apply_status AS applyStatus,
jet.apply_date AS applyDate, date_format(jet.apply_date,'%Y-%m-%d') as applyDate,
jet.install_unit_credit_code AS installUnitCreditCode, jet.install_unit_credit_code AS installUnitCreditCode,
jet.equip_num AS equipNum, jet.equip_num AS equipNum,
jet.install_unit_name AS installUnitName, jet.install_unit_name AS installUnitName,
...@@ -74,11 +74,14 @@ ...@@ -74,11 +74,14 @@
<if test="param.useUnitName != null and param.useUnitName != ''"> <if test="param.useUnitName != null and param.useUnitName != ''">
AND jet.use_unit_name LIKE CONCAT('%', #{param.useUnitName}, '%') AND jet.use_unit_name LIKE CONCAT('%', #{param.useUnitName}, '%')
</if> </if>
<if test="param.installUnitName != null and param.installUnitName != ''"> <if test="param.installUnitCreditCode != null and param.installUnitCreditCode != ''">
AND jet.install_unit_name LIKE CONCAT('%', #{param.installUnitName}, '%') AND jet.install_unit_credit_code = #{param.installUnitCreditCode}
</if>
<if test="param.factoryNum != null and param.factoryNum != ''">
AND fi.factory_num LIKE CONCAT('%', #{param.factoryNum}, '%')
</if> </if>
<if test="param.applyStatus != null and param.applyStatus != ''"> <if test="param.applyDate != null and param.applyDate != ''">
AND jet.apply_status = #{param.applyStatus} AND date_format(jet.apply_date, '%Y-%m-%d') = #{param.applyDate}
</if> </if>
</if> </if>
<if test="type == 'useUnit'"> <if test="type == 'useUnit'">
......
...@@ -106,7 +106,8 @@ ...@@ -106,7 +106,8 @@
fi.ins_use_maintain_explain AS insUseMaintainExplain, fi.ins_use_maintain_explain AS insUseMaintainExplain,
ei.legal_person AS safetyManager, ei.legal_person AS safetyManager,
ei.legal_phone AS safetyManagerPhone, ei.legal_phone AS safetyManagerPhone,
ei.address AS address ei.address AS address,
ei.use_code AS useCode
FROM FROM
tzs_jg_installation_notice isn tzs_jg_installation_notice isn
LEFT JOIN tzs_jg_installation_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr LEFT JOIN tzs_jg_installation_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr
......
...@@ -104,7 +104,8 @@ ...@@ -104,7 +104,8 @@
ei.legal_phone AS safetyManagerPhone, ei.legal_phone AS safetyManagerPhone,
ui.CITY_NAME AS useUnitCityName, ui.CITY_NAME AS useUnitCityName,
ui.COUNTY_NAME AS useUnitCountyName, ui.COUNTY_NAME AS useUnitCountyName,
ei.ADDRESS AS useUnitAddress ei.ADDRESS AS useUnitAddress,
ei.use_code AS useCode
FROM tzs_jg_maintain_notice isn FROM tzs_jg_maintain_notice isn
LEFT JOIN tzs_jg_maintain_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr LEFT JOIN tzs_jg_maintain_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr
LEFT JOIN idx_biz_jg_register_info ri ON ri.record = re.equ_id LEFT JOIN idx_biz_jg_register_info ri ON ri.record = re.equ_id
......
...@@ -133,9 +133,6 @@ ...@@ -133,9 +133,6 @@
<if test="contractDto.useUnitName != '' and contractDto.useUnitName != null"> <if test="contractDto.useUnitName != '' and contractDto.useUnitName != null">
and use_unit_name like concat('%',#{contractDto.useUnitName},'%') and use_unit_name like concat('%',#{contractDto.useUnitName},'%')
</if> </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"> <if test="contractDto.useUnitCode != '' and contractDto.useUnitCode != null">
and use_unit_code = #{contractDto.useUnitCode} and use_unit_code = #{contractDto.useUnitCode}
</if> </if>
......
...@@ -125,7 +125,8 @@ ...@@ -125,7 +125,8 @@
fi.ins_use_maintain_explain AS insUseMaintainExplain, fi.ins_use_maintain_explain AS insUseMaintainExplain,
ei.legal_person AS safetyManager, ei.legal_person AS safetyManager,
ei.legal_phone AS safetyManagerPhone, ei.legal_phone AS safetyManagerPhone,
ei.ADDRESS AS useUnitAddress ei.ADDRESS AS useUnitAddress,
ei.use_code AS useCode
FROM FROM
tzs_jg_reform_notice isn tzs_jg_reform_notice isn
LEFT JOIN tzs_jg_reform_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr LEFT JOIN tzs_jg_reform_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr
......
...@@ -129,7 +129,8 @@ ...@@ -129,7 +129,8 @@
ui.PROVINCE_NAME AS useUnitProvinceName, ui.PROVINCE_NAME AS useUnitProvinceName,
ui.CITY_NAME AS useUnitCityName, ui.CITY_NAME AS useUnitCityName,
ui.COUNTY_NAME AS useUnitCountyName, ui.COUNTY_NAME AS useUnitCountyName,
ui.ADDRESS AS useUnitAddress ui.ADDRESS AS useUnitAddress,
ei.use_code AS useCode
FROM FROM
tzs_jg_transfer_notice tjtn tzs_jg_transfer_notice tjtn
LEFT JOIN tzs_jg_transfer_notice_eq re ON re.equip_transfer_id = tjtn.sequence_nbr LEFT JOIN tzs_jg_transfer_notice_eq re ON re.equip_transfer_id = tjtn.sequence_nbr
...@@ -138,6 +139,7 @@ ...@@ -138,6 +139,7 @@
LEFT JOIN idx_biz_jg_factory_info fi ON fi.record = re.equ_id LEFT JOIN idx_biz_jg_factory_info fi ON fi.record = re.equ_id
LEFT JOIN idx_biz_jg_inspection_detection_info idi ON idi.record = re.equ_id LEFT JOIN idx_biz_jg_inspection_detection_info idi ON idi.record = re.equ_id
LEFT JOIN idx_biz_jg_use_info ui ON ui.record = re.equ_id LEFT JOIN idx_biz_jg_use_info ui ON ui.record = re.equ_id
LEFT JOIN tz_base_enterprise_info ei ON ei.use_code = tjtn.use_unit_credit_code
WHERE WHERE
tjtn.sequence_nbr = #{sequenceNbr} tjtn.sequence_nbr = #{sequenceNbr}
LIMIT 1 LIMIT 1
......
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(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 { ...@@ -128,4 +128,12 @@ public class JgChangeRegistrationReformController extends BaseController {
map.put("useUnitName", selectedOrgInfo.getCompany().getCompanyName()); map.put("useUnitName", selectedOrgInfo.getCompany().getCompanyName());
return ResponseHelper.buildResponse(map); 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));
}
} }
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.netflix.ribbon.proxy.annotation.Http;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.Map; 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.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto;
...@@ -145,4 +152,11 @@ public class JgChangeRegistrationTransferController extends BaseController { ...@@ -145,4 +152,11 @@ public class JgChangeRegistrationTransferController extends BaseController {
return ResponseHelper.buildResponse(jgChangeRegistrationTransferService.queryListForPage(page,params)); 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, response);
}
} }
...@@ -15,16 +15,22 @@ import io.swagger.annotations.Api; ...@@ -15,16 +15,22 @@ import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.io.*;
import java.net.URLEncoder;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationUnitServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationUnitServiceImpl;
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.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationUnitDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationUnitDto;
...@@ -70,15 +76,13 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -70,15 +76,13 @@ public class JgChangeRegistrationUnitController extends BaseController {
@PutMapping(value = "/update") @PutMapping(value = "/update")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新单位变更", notes = "根据sequenceNbr更新单位变更") @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) { 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); JgChangeRegistrationUnitDto jgChangeRegistrationUnitDto = BeanUtil.mapToBean(((LinkedHashMap) model.get("changeRegisInfo")), JgChangeRegistrationUnitDto.class, true);
if (Objects.isNull(installationInfo)) { if (Objects.isNull(jgChangeRegistrationUnitDto)) {
throw new IllegalArgumentException("参数installationInfo不能为空"); throw new IllegalArgumentException("参数installationInfo不能为空");
} }
// Object o = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("proxyStatementAttachment"); Object o = ((LinkedHashMap<?, ?>) model.get("changeRegisInfo")).get("changeCertificateList");
// Object o1 = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("installContractAttachment"); jgChangeRegistrationUnitDto.setChangeCertificateList((List<Map<String, Object>>) o);
// installationInfo.setProxyStatementAttachmentList((List<Map<String, Object>>) o); return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.updateInstallationNotice(submitType,jgChangeRegistrationUnitDto, op));
// installationInfo.setInstallContractAttachmentList((List<Map<String, Object>>) o1);
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.updateInstallationNotice(submitType,installationInfo, op));
} }
/** /**
...@@ -145,16 +149,6 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -145,16 +149,6 @@ public class JgChangeRegistrationUnitController extends BaseController {
} }
/** /**
* 生成告知单
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "单位变更列表全部数据查询", notes = "单位变更列表全部数据查询")
@GetMapping(value = "/generate-report")
public ResponseModel<String> generateReport(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.generateInstallationNoticeReport(sequenceNbr));
}
/**
* 撤销 * 撤销
* *
* @return * @return
...@@ -163,7 +157,7 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -163,7 +157,7 @@ public class JgChangeRegistrationUnitController extends BaseController {
@PostMapping(value = "/cancel") @PostMapping(value = "/cancel")
@ApiOperation(httpMethod = "POST", value = "单位变更撤销", notes = "单位变更撤销") @ApiOperation(httpMethod = "POST", value = "单位变更撤销", notes = "单位变更撤销")
public ResponseModel<JgChangeRegistrationUnitDto> cancel(@RequestBody Map<String, Object> model) { 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)) { if (Objects.isNull(installationInfo)) {
throw new IllegalArgumentException("参数installationInfo不能为空"); throw new IllegalArgumentException("参数installationInfo不能为空");
} }
...@@ -181,12 +175,21 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -181,12 +175,21 @@ public class JgChangeRegistrationUnitController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "单位变更受理", notes = "单位变更受理") @ApiOperation(httpMethod = "POST", value = "单位变更受理", notes = "单位变更受理")
public ResponseModel<JgChangeRegistrationUnitDto> accept(@RequestBody Map<String, Object> model, String op) { public ResponseModel<JgChangeRegistrationUnitDto> accept(@RequestBody Map<String, Object> model, String op) {
// TODO 受理单位变更流程 // TODO 受理单位变更流程
LinkedHashMap model1 = (LinkedHashMap)model.get("model"); LinkedHashMap model1 = (LinkedHashMap)model.get("changeRegisInfo");
String opinion = (String)model.get("opinion"); 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); JgChangeRegistrationUnitDto jgInstallationNoticeDto = JSON.parseObject(JSON.toJSONString(installationInfo), JgChangeRegistrationUnitDto.class);
jgInstallationNoticeDto.setProcessAdvice(opinion); jgInstallationNoticeDto.setProcessAdvice(opinion);
jgChangeRegistrationUnitServiceImpl.accept(jgInstallationNoticeDto,op); jgChangeRegistrationUnitServiceImpl.accept(jgInstallationNoticeDto,op);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/export")
@ApiOperation(httpMethod = "GET", value = "导出使用登记证", notes = "导出使用登记证")
public void exportImageZip(HttpServletResponse response, @RequestParam("sequenceNbr") String sequenceNbr) throws IOException {
jgChangeRegistrationUnitServiceImpl.exportUseRegistrationCertificate(sequenceNbr, response);
}
} }
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationEqDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List; import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgEnableDisableServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgEnableDisableServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto;
...@@ -18,8 +26,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -18,8 +26,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
/** /**
*
*
* @author system_generator * @author system_generator
* @date 2023-12-25 * @date 2023-12-25
*/ */
...@@ -39,78 +45,53 @@ public class JgEnableDisableController extends BaseController { ...@@ -39,78 +45,53 @@ public class JgEnableDisableController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<JgEnableDisableDto> save(@RequestBody JgEnableDisableDto model) { public ResponseModel<Object> save(@RequestBody JSONObject map) {
model = jgEnableDisableServiceImpl.createWithModel(model); jgEnableDisableServiceImpl.saveOrUpdate(map);
return ResponseHelper.buildResponse(model); return ResponseHelper.buildResponse("ok");
} }
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "GET", value = "使用登记设备关系表分页查询", notes = "使用登记设备关系表分页查询")
public ResponseModel<JgEnableDisableDto> updateBySequenceNbrJgEnableDisable(@RequestBody JgEnableDisableDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<Page<Map<String, Object>>> page(@RequestParam(value = "current") int current,
model.setSequenceNbr(sequenceNbr); @RequestParam(value = "size") int size,
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.updateWithModel(model)); JgEnableDisableDto dto) {
Page<Map<String, Object>> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.pageList(page, dto));
} }
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){ public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.removeById(sequenceNbr)); jgEnableDisableServiceImpl.flowExecute(Long.valueOf(String.valueOf(map.get("sequenceNbr"))), String.valueOf(map.get("instanceId")), String.valueOf(map.get("operate")), String.valueOf(map.get("comment")));
return ResponseHelper.buildResponse("ok");
} }
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<JgEnableDisableDto> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<Object> withdraw(@RequestBody JSONObject map) {
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.queryBySeq(sequenceNbr)); jgEnableDisableServiceImpl.withdraw(String.valueOf(map.get("instanceId")));
return ResponseHelper.buildResponse("ok");
} }
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @DeleteMapping(value = "/deleteMessage")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询") @ApiOperation(httpMethod = "DELETE", value = "删除", notes = "删除")
public ResponseModel<Page<JgEnableDisableDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam public ResponseModel<Object> deleteMessage(@RequestParam("sequenceNbr") Long sequenceNbr) {
(value = "size") int size) { jgEnableDisableServiceImpl.deleteMessage(sequenceNbr);
Page<JgEnableDisableDto> page = new Page<JgEnableDisableDto>(); return ResponseHelper.buildResponse("ok");
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.queryForJgEnableDisablePage(page));
} }
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询") @GetMapping(value = "/detail")
@GetMapping(value = "/list") @ApiOperation(httpMethod = "GET", value = "详情", notes = "详情")
public ResponseModel<List<JgEnableDisableDto>> selectForList() { public ResponseModel<Object> detail(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.queryForJgEnableDisableList()); return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.getDetail(sequenceNbr));
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.yeejoin.amos.boot.module.jg.api.common.BaseException; import com.yeejoin.amos.boot.module.jg.api.common.BaseException;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer;
import com.yeejoin.amos.component.feign.utils.FeignUtil; import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
...@@ -109,13 +108,13 @@ public class JgEquipTransferController extends BaseController { ...@@ -109,13 +108,13 @@ public class JgEquipTransferController extends BaseController {
* @return Page * @return Page
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @PostMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "设备移交分页查询", notes = "设备移交分页查询") @ApiOperation(httpMethod = "POST", value = "设备移交分页查询", notes = "设备移交分页查询")
public ResponseModel<Page<JgEquipTransferDto>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<Page<JgEquipTransferDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@ApiParam(value = "类型:useUnit-使用单位、installUnit-施工单位", required = true) @RequestParam(value = "type", defaultValue = "useUnit") String type, @ApiParam(value = "类型:useUnit-使用单位、installUnit-施工单位", required = true) @RequestParam(value = "type", defaultValue = "useUnit") String type,
@RequestBody(required = false) JgEquipTransferDto dto) { @RequestBody(required = false) JgEquipTransferDto dto) {
Page<JgEquipTransfer> page = new Page<>(current, size); Page<JgEquipTransferDto> page = new Page<>(current, size);
return ResponseHelper.buildResponse(jgEquipTransferServiceImpl.queryForJgEquipTransferPage(page, dto, type, getSelectedOrgInfo())); return ResponseHelper.buildResponse(jgEquipTransferServiceImpl.queryForJgEquipTransferPage(page, dto, type, getSelectedOrgInfo()));
} }
...@@ -132,7 +131,7 @@ public class JgEquipTransferController extends BaseController { ...@@ -132,7 +131,7 @@ public class JgEquipTransferController extends BaseController {
String companyCode = companyModels.get(0).getCompanyCode(); String companyCode = companyModels.get(0).getCompanyCode();
String companyName = companyModels.get(0).getCompanyName(); String companyName = companyModels.get(0).getCompanyName();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if("个人主体".equals(companyType)){ if ("个人主体".equals(companyType)) {
map.put("useUnitName", companyName.split("_")[1]); map.put("useUnitName", companyName.split("_")[1]);
map.put("useUnitCreditCode", companyCode.split("_")[1]); map.put("useUnitCreditCode", companyCode.split("_")[1]);
map.put("companyType", "person"); map.put("companyType", "person");
......
...@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.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.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo;
...@@ -15,6 +17,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -15,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*; 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.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
...@@ -36,6 +39,9 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -36,6 +39,9 @@ public class JgMaintenanceContractController extends BaseController {
@Autowired @Autowired
JgMaintenanceContractServiceImpl jgMaintenanceContractServiceImpl; JgMaintenanceContractServiceImpl jgMaintenanceContractServiceImpl;
@Autowired
RedisUtils redisUtils;
/** /**
* 新增(提交) * 新增(提交)
* *
...@@ -170,6 +176,7 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -170,6 +176,7 @@ public class JgMaintenanceContractController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程") @ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) { 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); 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"))){ if (map.containsKey("formData") && !ObjectUtils.isEmpty(map.get("formData"))){
JgMaintenanceContract dto = new JgMaintenanceContract(); JgMaintenanceContract dto = new JgMaintenanceContract();
Map<String, Object> formData = (Map<String, Object>)map.get("formData"); Map<String, Object> formData = (Map<String, Object>)map.get("formData");
...@@ -188,6 +195,7 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -188,6 +195,7 @@ public class JgMaintenanceContractController extends BaseController {
result.setMaintenanceManagerTwoId(maintenanceManagerTwoInfo[0]); result.setMaintenanceManagerTwoId(maintenanceManagerTwoInfo[0]);
result.setMaintenanceManagerTwoName(maintenanceManagerTwoInfo[1]); result.setMaintenanceManagerTwoName(maintenanceManagerTwoInfo[1]);
result.setMaintenanceManagerTwoPhone(dto.getMaintenanceManagerTwoPhone()); result.setMaintenanceManagerTwoPhone(dto.getMaintenanceManagerTwoPhone());
result.setPromoter(reginParams.getUserModel().getUserId());
} }
jgMaintenanceContractServiceImpl.getBaseMapper().updateById(result); jgMaintenanceContractServiceImpl.getBaseMapper().updateById(result);
} }
......
...@@ -8,6 +8,8 @@ import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil; ...@@ -8,6 +8,8 @@ import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jg.api.dto.JgTransferNoticeDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgTransferNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice;
import com.yeejoin.amos.boot.module.jg.api.service.IJgTransferNoticeService; import com.yeejoin.amos.boot.module.jg.api.service.IJgTransferNoticeService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -19,10 +21,10 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -19,10 +21,10 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.LinkedHashMap; import javax.servlet.http.HttpServletResponse;
import java.util.List; import javax.servlet.http.HttpServletResponseWrapper;
import java.util.Map; import java.io.File;
import java.util.Objects; import java.util.*;
/** /**
* 移装造告知 * 移装造告知
...@@ -38,6 +40,9 @@ public class JgTransferNoticeController extends BaseController { ...@@ -38,6 +40,9 @@ public class JgTransferNoticeController extends BaseController {
@Autowired @Autowired
private IJgTransferNoticeService jgTransferNoticeService; private IJgTransferNoticeService jgTransferNoticeService;
@Autowired
private ICommonService commonService;
/** /**
* 新增移装造告知 * 新增移装造告知
* *
...@@ -148,9 +153,34 @@ public class JgTransferNoticeController extends BaseController { ...@@ -148,9 +153,34 @@ public class JgTransferNoticeController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "移装告知列表全部数据查询", notes = "移装造告知列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "移装告知列表全部数据查询", notes = "移装造告知列表全部数据查询")
@GetMapping(value = "/generate-report") @GetMapping(value = "/generate-report")
public ResponseModel<String> selectForList(@RequestParam("sequenceNbr") Long sequenceNbr) { public ResponseModel<String> selectForList(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgTransferNoticeService.generateTransferNoticeReport(sequenceNbr)); return ResponseHelper.buildResponse(jgTransferNoticeService.generateTransferNoticeReport(sequenceNbr));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "特种设备登记证导出", notes = "特种设备登记证导出")
@GetMapping(value = "/certificate/report")
public void generateCertificateReport(HttpServletResponse response) {
Map<String, Object> map = new HashMap<>();
// 组装模板变量
map.put("useRegistrationCode", "202301256456"); // 编号
map.put("useUnitName", "西安市高科物业服务有限公司"); // 使用单位名称
map.put("fullAddress", "西安市曲江新区春临东街南湖意境1单元2号楼"); // 设备使用地点
map.put("equList", "电梯"); // 设备种类
map.put("equDefine", "曳引驱动电梯"); // 设备品种
map.put("equipCode", ""); // 设备代码
map.put("equCategory", "曳引电梯"); // 设备类别
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); // 监管二维码
commonService.generateCertificateReport(map, response);
}
} }
...@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.jg.biz.service; ...@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.jg.biz.service;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -32,4 +35,6 @@ public interface ICommonService { ...@@ -32,4 +35,6 @@ public interface ICommonService {
Map<String,Object> getEnterpriseInfo(String sequenceNbr); Map<String,Object> getEnterpriseInfo(String sequenceNbr);
List<Map<String,Object>> getEnterpriseEmployee(String unitCode); List<Map<String,Object>> getEnterpriseEmployee(String unitCode);
void generateCertificateReport(Map<String, Object> map, HttpServletResponse response);
} }
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSON; 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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.ByteArrayMultipartFile;
import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper; 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.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter;
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.jg.flc.api.fegin.PrivilegeFeginService;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -71,6 +81,20 @@ public class CommonServiceImpl implements ICommonService { ...@@ -71,6 +81,20 @@ public class CommonServiceImpl implements ICommonService {
@Autowired @Autowired
PrivilegeFeginService privilegeFeginService; 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 @Override
public List<EquipmentCategory> getEquipmentCategoryList(String code, String type) { public List<EquipmentCategory> getEquipmentCategoryList(String code, String type) {
List<EquipmentCategory> result = new ArrayList<>(); List<EquipmentCategory> result = new ArrayList<>();
...@@ -258,4 +282,94 @@ public class CommonServiceImpl implements ICommonService { ...@@ -258,4 +282,94 @@ public class CommonServiceImpl implements ICommonService {
} }
return result; return result;
} }
@Override
public void generateCertificateReport(Map<String, Object> map, HttpServletResponse response) {
if (CollectionUtils.isEmpty(map)) {
throw new IllegalArgumentException("参数不能为空");
}
// 组装模板变量
map.put("useRegistrationCode", Optional.ofNullable(map.get("useRegistrationCode")).orElse("").toString()); // 编号
map.put("useUnitName", Optional.ofNullable(map.get("useUnitName")).orElse("").toString()); // 使用单位名称
map.put("fullAddress", Optional.ofNullable(map.get("fullAddress")).orElse("").toString()); // 设备使用地点
map.put("equList", Optional.ofNullable(map.get("equList")).orElse("").toString()); // 设备种类
map.put("equipDefine", Optional.ofNullable(map.get("equipDefine")).orElse("").toString()); // 设备品种
map.put("equipCode", Optional.ofNullable(map.get("equipCode")).orElse("").toString()); // 设备代码
map.put("equipCategory", Optional.ofNullable(map.get("equipCategory")).orElse("").toString()); // 设备类别
map.put("useInnerCode", Optional.ofNullable(map.get("useInnerCode")).orElse("").toString()); // 单位内编号
map.put("factoryNum", Optional.ofNullable(map.get("factoryNum")).orElse("").toString()); // 产品编号
map.put("receiveOrgName", Optional.ofNullable(map.get("receiveOrgName")).orElse("").toString()); // 登记机关
map.put("giveOutYear", Optional.ofNullable(map.get("giveOutYear")).orElse("").toString()); // 发证日期-年
map.put("giveOutMonth", Optional.ofNullable(map.get("giveOutMonth")).orElse("").toString()); // 发证日期-月
map.put("giveOutDay", Optional.ofNullable(map.get("giveOutDay")).orElse("").toString()); // 发证日期-日
// 生成二维码
String qrCode = ImageUtils.generateQRCode(Optional.ofNullable(map.get("supervisoryCode")).orElse("").toString(), 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);
// }
try {
byte[] bytes = file2byte(pdfFile);
String docTitle = pdfFile.getName();
FileExporter.exportFile(FileExporter.FileType.valueOf("pdf"), docTitle, bytes, response);
} catch (Exception e) {
log.error("pdf文件转换失败:{}", e);
} finally {
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (Exception e) {
log.error("文件找不到,删除失败:{}", e);
}
}
}
/**
* 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 ...@@ -213,23 +213,51 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
*/ */
private Map<String, Object> getStringObjectMap(String record, String fieldType) { private Map<String, Object> getStringObjectMap(String record, String fieldType) {
Map<String, Object> objMap = new HashMap<>(); Map<String, Object> objMap = new HashMap<>();
String province="";
String city="";
String county="";
String street="";
String fullAddress="";
//使用信息 //使用信息
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(record); IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(record);
if (!ValidationUtil.isEmpty(useInfo)) { 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; Map<String, Object> useInfoMap = null;
if(!ValidationUtil.isEmpty(fieldType)){ if(!ValidationUtil.isEmpty(fieldType)){
useInfoMap = Bean.BeantoMap(useInfo); useInfoMap = Bean.BeantoMap(useInfo);
useInfoMap.put("province", useInfo.getProvince()+"_"+useInfo.getProvinceName()); if(!ValidationUtil.isEmpty(province)){ useInfoMap.put("province", province); }
useInfoMap.put("city", useInfo.getCity()+"_"+useInfo.getCityName()); if(!ValidationUtil.isEmpty(city)) { useInfoMap.put("city", city); }
useInfoMap.put("county", useInfo.getCounty()+"_"+useInfo.getCountyName()); if(!ValidationUtil.isEmpty(county)) { useInfoMap.put("county", county); }
useInfoMap.put("street", useInfo.getFactoryUseSiteStreet()+"_"+useInfo.getStreetName()); if(!ValidationUtil.isEmpty(street)) { useInfoMap.put("street", street); }
if(!ValidationUtil.isEmpty(fullAddress)) { useInfoMap.put("fullAddress", fullAddress); }
useInfoMap.put("useinfoSeq", useInfo.getSequenceNbr()); useInfoMap.put("useinfoSeq", useInfo.getSequenceNbr());
}else { }else {
useInfoMap = convertCamelToUnderscore(useInfo, null); useInfoMap = convertCamelToUnderscore(useInfo, null);
useInfoMap.put("PROVINCE", useInfo.getProvince()+"_"+useInfo.getProvinceName()); if(!ValidationUtil.isEmpty(province)){ useInfoMap.put("PROVINCE", province); }
useInfoMap.put("CITY", useInfo.getCity()+"_"+useInfo.getCityName()); if(!ValidationUtil.isEmpty(city)) { useInfoMap.put("CITY", city); }
useInfoMap.put("COUNTY", useInfo.getCounty()+"_"+useInfo.getCountyName()); if(!ValidationUtil.isEmpty(county)) { useInfoMap.put("COUNTY", county); }
useInfoMap.put("STREET", useInfo.getFactoryUseSiteStreet()+"_"+useInfo.getStreetName()); if(!ValidationUtil.isEmpty(street)) { useInfoMap.put("STREET", street); }
if(!ValidationUtil.isEmpty(fullAddress)){ useInfoMap.put("FULLADDRESS", fullAddress); }
useInfoMap.put("USEINFO_SEQ", useInfo.getSequenceNbr()); useInfoMap.put("USEINFO_SEQ", useInfo.getSequenceNbr());
} }
if(!useInfoMap.isEmpty()){ 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.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
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.GMBG.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);
//修改平台机构名称
try {
Privilege.companyClient.updateCompanyName(jgChangeRegistrationName.getUseUnitCreditCode(), jgChangeRegistrationName.getNewUseUnitName());
} catch (InnerInvokException e) {
throw new RuntimeException();
}
}
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.getOrDefault("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; ...@@ -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.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 改造变更登记服务实现类 * 改造变更登记服务实现类
...@@ -81,7 +82,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -81,7 +82,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper; private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired @Autowired
private IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper; private IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper;
//单位变更登记关系表mapper
@Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
//更名变更登记关系表mapper
@Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
/** /**
* 分页查询 * 分页查询
...@@ -188,7 +194,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -188,7 +194,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReformEq.setEquipTransferId(jgChangeRegistrationReform.getSequenceNbr().toString()); jgChangeRegistrationReformEq.setEquipTransferId(jgChangeRegistrationReform.getSequenceNbr().toString());
jgChangeRegistrationReformEqMapper.insert(jgChangeRegistrationReformEq); jgChangeRegistrationReformEqMapper.insert(jgChangeRegistrationReformEq);
//当前单据id //当前单据id
jgRegistrationHistory.setCurrentDocumentId(jgChangeRegistrationReform.getSequenceNbr().toString()); jgRegistrationHistory.setCurrentDocumentId(jgChangeRegistrationReform.getApplyNo());
jgRegistrationHistoryMapper.insert(jgRegistrationHistory); jgRegistrationHistoryMapper.insert(jgRegistrationHistory);
} }
...@@ -281,7 +287,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -281,7 +287,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
JgChangeRegistrationReformEq jgChangeRegistrationReformEq = jgChangeRegistrationReformEqMapper.selectOne(new QueryWrapper<JgChangeRegistrationReformEq>().eq("equip_transfer_id", jgChangeRegistrationReform.getSequenceNbr())); JgChangeRegistrationReformEq jgChangeRegistrationReformEq = jgChangeRegistrationReformEqMapper.selectOne(new QueryWrapper<JgChangeRegistrationReformEq>().eq("equip_transfer_id", jgChangeRegistrationReform.getSequenceNbr()));
String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode()); String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode());
jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber); jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber);
updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(),newUseRegistrationCertificateNumber ); updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(),newUseRegistrationCertificateNumber,jgChangeRegistrationReform.getApplyNo() );
} }
this.getBaseMapper().updateById(jgChangeRegistrationReform); this.getBaseMapper().updateById(jgChangeRegistrationReform);
} }
...@@ -422,16 +428,19 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -422,16 +428,19 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
public void deleteBatch(List<Long> ids) { 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 jgChangeRegistrationReform = new JgChangeRegistrationReform();
jgChangeRegistrationReform.setIsDelete(true); jgChangeRegistrationReform.setIsDelete(true);
LambdaQueryWrapper<JgChangeRegistrationReform> lambda = new QueryWrapper<JgChangeRegistrationReform>().lambda(); LambdaQueryWrapper<JgChangeRegistrationReform> lambda = new QueryWrapper<JgChangeRegistrationReform>().lambda();
lambda.in(JgChangeRegistrationReform::getSequenceNbr, ids); lambda.in(JgChangeRegistrationReform::getSequenceNbr, ids);
this.update(jgChangeRegistrationReform, lambda); this.getBaseMapper().delete(lambda);
JgChangeRegistrationReformEq jgChangeRegistrationReformEq = new JgChangeRegistrationReformEq(); JgChangeRegistrationReformEq jgChangeRegistrationReformEq = new JgChangeRegistrationReformEq();
jgChangeRegistrationReformEq.setIsDelete(true); jgChangeRegistrationReformEq.setIsDelete(true);
LambdaQueryWrapper<JgChangeRegistrationReformEq> lambda1 = new QueryWrapper<JgChangeRegistrationReformEq>().lambda(); LambdaQueryWrapper<JgChangeRegistrationReformEq> lambda1 = new QueryWrapper<JgChangeRegistrationReformEq>().lambda();
lambda1.in(JgChangeRegistrationReformEq::getEquipTransferId, ids); 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) { public Map<String, Object> getDetail(String currentDocumentId, String equipId) {
...@@ -454,7 +463,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -454,7 +463,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} else { } else {
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>() JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>()
.eq("equ_id", equipId) .eq("equ_id", equipId)
.eq("current_document_id", currentDocumentId) .eq("current_document_id", jgChangeRegistrationReform.getApplyNo())
.eq("registration_class", "改造登记")); .eq("registration_class", "改造登记"));
originalData = JSONObject.parseObject(jgRegistrationHistory.getChangeData(), Map.class); originalData = JSONObject.parseObject(jgRegistrationHistory.getChangeData(), Map.class);
originalData.remove("sequenceNbr"); originalData.remove("sequenceNbr");
...@@ -474,6 +483,10 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -474,6 +483,10 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId); jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
jgChangeRegistrationTransferEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId); jgChangeRegistrationTransferEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equipmentId, currentDocumentId);
jgUseRegistrationEqMapper.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 ...@@ -482,12 +495,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
* @param equipId * @param equipId
* @param currentDocumentId * @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)); IdxBizJgTechParamsElevator idxBizJgTechParamsElevator = idxBizJgTechParamsElevatorMapper.selectOne(new QueryWrapper<IdxBizJgTechParamsElevator>().eq("RECORD", equipId));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>() JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>()
.eq("equ_id", equipId) .eq("equ_id", equipId)
.eq("current_document_id", currentDocumentId) .eq("current_document_id", applyNo)
.eq("registration_class", "改造登记")); .eq("registration_class", "改造登记"));
if (!ObjectUtils.isEmpty(idxBizJgTechParamsElevator) && !ObjectUtils.isEmpty(jgRegistrationHistory)) { if (!ObjectUtils.isEmpty(idxBizJgTechParamsElevator) && !ObjectUtils.isEmpty(jgRegistrationHistory)) {
...@@ -500,7 +513,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -500,7 +513,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
BeanUtil.copyProperties(idxBizJgTechParamsElevatorNew, idxBizJgTechParamsElevator, "sequenceNbr", "record"); BeanUtil.copyProperties(idxBizJgTechParamsElevatorNew, idxBizJgTechParamsElevator, "sequenceNbr", "record");
idxBizJgTechParamsElevatorMapper.updateById(idxBizJgTechParamsElevator); idxBizJgTechParamsElevatorMapper.updateById(idxBizJgTechParamsElevator);
//将历史数据回填到历史记录表中 //将历史数据回填到历史记录表中
jgRegistrationHistory.setChangeData(historyData); jgRegistrationHistory.setChangeData(newData);
jgRegistrationHistory.setOldData(historyData);
jgRegistrationHistory.setStatus("history"); jgRegistrationHistory.setStatus("history");
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory); jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
makeEquipmentsInvalid(equipId, currentDocumentId); makeEquipmentsInvalid(equipId, currentDocumentId);
......
...@@ -15,20 +15,24 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory; ...@@ -15,20 +15,24 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.UseStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.UseStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationNameEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationReformEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationReformEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationTransferEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationTransferEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationTransferMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationTransferMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationUnitEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferEqService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferEqService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationTransferDto; 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.api.service.IJgRegistrationHistoryService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService; 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.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.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.OtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
...@@ -38,6 +42,7 @@ import com.yeejoin.amos.feign.workflow.Workflow; ...@@ -38,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.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult; import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; 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.SearchRequest;
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RequestOptions;
...@@ -56,7 +61,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -56,7 +61,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
...@@ -64,6 +72,7 @@ import java.util.HashMap; ...@@ -64,6 +72,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 移装变更登记登记服务实现类 * 移装变更登记登记服务实现类
...@@ -87,6 +96,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -87,6 +96,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService; private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService;
@Autowired @Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService; private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired @Autowired
...@@ -107,12 +118,20 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -107,12 +118,20 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//使用登记关系表mapper //使用登记关系表mapper
@Autowired @Autowired
private JgUseRegistrationEqMapper jgUseRegistrationEqMapper; private JgUseRegistrationEqMapper jgUseRegistrationEqMapper;
//单位变更登记关系表mapper
@Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
//更名变更登记关系表mapper
@Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
@Autowired @Autowired
private IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper; private IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper;
@Autowired @Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper; private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
ICommonService commonService;
@Autowired @Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
...@@ -150,11 +169,11 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -150,11 +169,11 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
} }
} }
//查询申请单号 //查询申请单号
ResponseModel<List<String>> result =tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.YZBG.getCode(), 1); ResponseModel<List<String>> result = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.YZBG.getCode(), 1);
if(!result.getResult().isEmpty()){ if (!result.getResult().isEmpty()) {
//申请编号 //申请编号
oldTransfer.setApplyNo(result.getResult().get(0)); oldTransfer.setApplyNo(result.getResult().get(0));
}else { } else {
throw new BadRequest("申请单编号生成失败,请稍后重试!"); throw new BadRequest("申请单编号生成失败,请稍后重试!");
} }
...@@ -166,7 +185,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -166,7 +185,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
oldTransferEq = jgChangeRegistrationTransferEqService.getDetailByEquipTransferId(sequenceNbr); oldTransferEq = jgChangeRegistrationTransferEqService.getDetailByEquipTransferId(sequenceNbr);
//查询历史记录表 //查询历史记录表
if (!ValidationUtil.isEmpty(oldTransferEq)) { if (!ValidationUtil.isEmpty(oldTransferEq)) {
oldHistory = jgRegistrationHistoryService.getDteailByRecord(oldTransferEq.getEquId(), sequenceNbr); oldHistory = jgRegistrationHistoryService.getDteailByRecord(oldTransferEq.getEquId(), oldTransfer.getApplyNo());
useInfo = idxBizJgUseInfoService.getOneData(oldTransferEq.getEquId()); useInfo = idxBizJgUseInfoService.getOneData(oldTransferEq.getEquId());
} }
} }
...@@ -181,6 +200,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -181,6 +200,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//录入单位统一信用代码 //录入单位统一信用代码
oldTransfer.setInputUnitNo(company.getCompanyCode()); oldTransfer.setInputUnitNo(company.getCompanyCode());
//登记机构代码 //登记机构代码
//登记机构公司代码 //登记机构公司代码
if (!ValidationUtil.isEmpty(receiveOrgCode)) { if (!ValidationUtil.isEmpty(receiveOrgCode)) {
...@@ -219,43 +239,22 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -219,43 +239,22 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
if (!ValidationUtil.isEmpty(dto2.get("SUPERVISORY_CODE"))) { if (!ValidationUtil.isEmpty(dto2.get("SUPERVISORY_CODE"))) {
supervisoryCode = (String) dto2.get("SUPERVISORY_CODE"); supervisoryCode = (String) dto2.get("SUPERVISORY_CODE");
oldTransfer.setSupervisoryCode(supervisoryCode); oldTransfer.setSupervisoryCode(supervisoryCode);
}else{ } else {
supervisoryCode = idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(equId); supervisoryCode = idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(equId);
if(!ValidationUtil.isEmpty(supervisoryCode)){ if (!ValidationUtil.isEmpty(supervisoryCode)) {
oldTransfer.setSupervisoryCode(supervisoryCode); oldTransfer.setSupervisoryCode(supervisoryCode);
} }
} }
//使用登记编号
//使用登记编号 X if (!ValidationUtil.isEmpty(dto2.get("USE_ORG_CODE"))) {
if (!ValidationUtil.isEmpty(dto2.get("USE_REGISTRATION_CODE"))) { oldTransfer.setUseRegistrationCode((String) dto2.get("USE_ORG_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"));
} }
} }
//保存【移装变更登记】基本信息 //保存【移装变更登记】基本信息
if (!ValidationUtil.isEmpty(oldTransfer)) { if (!ValidationUtil.isEmpty(oldTransfer)) {
this.saveOrUpdate(oldTransfer); this.saveOrUpdate(oldTransfer);
...@@ -267,6 +266,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -267,6 +266,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
jgChangeRegistrationTransferEqService.saveOrUpdateTransferEqData(oldTransferEq); jgChangeRegistrationTransferEqService.saveOrUpdateTransferEqData(oldTransferEq);
//新增历史记录表 //新增历史记录表
//使用登记证编号
oldHistory.setUseRegistrationCode(oldTransfer.getUseRegistrationCode());
oldHistory.setRegistrationClass("移装登记"); oldHistory.setRegistrationClass("移装登记");
//保存变更新数据 //保存变更新数据
oldHistory.setChangeData(JSON.toJSONString(tableData)); oldHistory.setChangeData(JSON.toJSONString(tableData));
...@@ -275,9 +276,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -275,9 +276,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//设备监管码 //设备监管码
oldHistory.setSupervisoryCode(supervisoryCode); oldHistory.setSupervisoryCode(supervisoryCode);
oldHistory.setEquId(equId); oldHistory.setEquId(equId);
oldHistory.setCurrentDocumentId(oldTransfer.getSequenceNbr().toString()); oldHistory.setCurrentDocumentId(oldTransfer.getApplyNo());
oldHistory.setStatus("new"); oldHistory.setStatus("new");
jgRegistrationHistoryService.saveOrUpdateHistoryData(oldHistory); jgRegistrationHistoryService.saveOrUpdateHistoryData(oldHistory);
} catch (IOException e) { } catch (IOException e) {
...@@ -390,6 +390,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -390,6 +390,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
this.update(jgTransfer, lambda); this.update(jgTransfer, lambda);
} }
/** /**
* 批量删除 * 批量删除
* *
...@@ -416,9 +417,16 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -416,9 +417,16 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//删除历史表 //删除历史表
JgRegistrationHistory history = new JgRegistrationHistory(); JgRegistrationHistory history = new JgRegistrationHistory();
history.setIsDelete(true); history.setIsDelete(true);
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(); LambdaQueryWrapper<JgRegistrationHistory> historyWapper = new QueryWrapper<JgRegistrationHistory>().lambda();
historyWapper.in(JgRegistrationHistory::getCurrentDocumentId, Arrays.asList(sequenceNbrs)); historyWapper.in(JgRegistrationHistory::getCurrentDocumentId, applyNos);
jgRegistrationHistoryService.updateDate(history, historyWapper); jgRegistrationHistoryService.updateDate(history, historyWapper);
}
}
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
...@@ -445,7 +453,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -445,7 +453,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
// 1、未执行完成时查询历史表 // 1、未执行完成时查询历史表
// 2、执行完成后查询使用信息表 // 2、执行完成后查询使用信息表
if (!ValidationUtil.equals(FlowStatusEnum.TO_BE_FINISHED.getName(), transferById.getStatus())) { 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)) { if (!ValidationUtil.isEmpty(historyData)) {
JSONObject newPosition = JSON.parseObject(historyData.getChangeData()); JSONObject newPosition = JSON.parseObject(historyData.getChangeData());
String record = newPosition.getString("record"); String record = newPosition.getString("record");
...@@ -501,7 +509,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -501,7 +509,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
resultDataMap.put("province", useInfoByRecord.getProvince() + "_" + useInfoByRecord.getProvinceName()); resultDataMap.put("province", useInfoByRecord.getProvince() + "_" + useInfoByRecord.getProvinceName());
resultDataMap.put("city", useInfoByRecord.getCity() + "_" + useInfoByRecord.getCityName()); resultDataMap.put("city", useInfoByRecord.getCity() + "_" + useInfoByRecord.getCityName());
resultDataMap.put("county", useInfoByRecord.getCounty() + "_" + useInfoByRecord.getCountyName()); resultDataMap.put("county", useInfoByRecord.getCounty() + "_" + useInfoByRecord.getCountyName());
resultDataMap.put("street", useInfoByRecord.getFactoryUseSiteStreet()+"_"+useInfoByRecord.getStreetName()); resultDataMap.put("street", useInfoByRecord.getFactoryUseSiteStreet() + "_" + useInfoByRecord.getStreetName());
resultDataMap.put("address", useInfoByRecord.getAddress()); resultDataMap.put("address", useInfoByRecord.getAddress());
if (!ObjectUtils.isEmpty(useInfoByRecord.getLongitudeLatitude())) { if (!ObjectUtils.isEmpty(useInfoByRecord.getLongitudeLatitude())) {
resultDataMap.put("longitudeLatitude", JSON.parseObject(useInfoByRecord.getLongitudeLatitude())); resultDataMap.put("longitudeLatitude", JSON.parseObject(useInfoByRecord.getLongitudeLatitude()));
...@@ -510,7 +518,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -510,7 +518,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
if (!ValidationUtil.isEmpty(registerInfo)) { if (!ValidationUtil.isEmpty(registerInfo)) {
resultDataMap.put("equCode", registerInfo.getEquCode()); resultDataMap.put("equCode", registerInfo.getEquCode());
} }
resultDataMap.put("receiveOrgCode", transferById.getReceiveOrgCode()+"_"+transferById.getReceiveOrgName()); resultDataMap.put("receiveOrgCode", transferById.getReceiveOrgCode() + "_" + transferById.getReceiveOrgName());
} }
if (!resultDataMap.isEmpty()) { if (!resultDataMap.isEmpty()) {
...@@ -528,6 +536,53 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -528,6 +536,53 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
*/ */
public Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page, JgChangeRegistrationTransferDto params) { public Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page, JgChangeRegistrationTransferDto params) {
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, params, params.getRoleIds()); Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, params, params.getRoleIds());
listPage.getRecords().stream().forEach(item->{
// 流程未走完时,移装地址需从 历史表中获取
if (item.containsKey("status") && !FlowStatusEnum.TO_BE_FINISHED.getName().equals(item.get("status").toString())) {
String fullAddress = "";
if(item.containsKey("equipId") && item.containsKey("applyNo")){
JgRegistrationHistory history = jgRegistrationHistoryService.getDteailByRecord(item.get("equipId").toString(), item.get("applyNo").toString());
if(!ValidationUtil.isEmpty(history)){
JSONObject newPosition = JSON.parseObject(history.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;
}
}
}
item.put("allAddress", fullAddress);
}
});
return listPage; return listPage;
} }
...@@ -626,7 +681,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -626,7 +681,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
updateData.setRegPersonName(reginParams.getUserModel().getUserName()); updateData.setRegPersonName(reginParams.getUserModel().getUserName());
//使用登记证编号 //使用登记证编号
String useRegistrationCode = this.getCode(supervisoryCode); String useRegistrationCode = this.getCode(supervisoryCode);
if(!ValidationUtil.isEmpty(useRegistrationCode)){ if (!ValidationUtil.isEmpty(useRegistrationCode)) {
updateData.setUseRegistrationCode(useRegistrationCode); updateData.setUseRegistrationCode(useRegistrationCode);
} }
//补充移装变更表 //补充移装变更表
...@@ -635,7 +690,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -635,7 +690,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
this.replacementHistoryData(transferEq.getEquId(), sequenceNbr, useRegistrationCode); this.replacementHistoryData(transferEq.getEquId(), sequenceNbr, useRegistrationCode);
//更新使用注册登记证编号及ES中的信息 //更新使用注册登记证编号及ES中的信息
this.updataRegisterInfoAndEsData(transferEq.getEquId(), useRegistrationCode); this.updataRegisterInfoAndEsData(transferEq.getEquId(), useRegistrationCode);
//修改告知书状态,置为废弃 //修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(transferEq.getEquId(), transferEq.getEquipTransferId()); this.updataInvalidStatusByHistory(transferEq.getEquId(), transferEq.getEquipTransferId());
} }
} }
...@@ -647,15 +702,17 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -647,15 +702,17 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param sequenceNbr 当前单据Id * @param sequenceNbr 当前单据Id
* @param useRegistrationCode 使用登记编号 * @param useRegistrationCode 使用登记编号
*/ */
public void replacementHistoryData(String record, String sequenceNbr,String useRegistrationCode) { public void replacementHistoryData(String record, String sequenceNbr, String useRegistrationCode) {
JgChangeRegistrationTransfer transfer = this.getBaseMapper().selectById(sequenceNbr);
if (!ValidationUtil.isEmpty(transfer)) {
//查询修改后的新数据 //查询修改后的新数据
JgRegistrationHistory newData = jgRegistrationHistoryService.getDteailByRecord(record, sequenceNbr); JgRegistrationHistory newData = jgRegistrationHistoryService.getDteailByRecord(record, transfer.getApplyNo());
//查询设备旧数据 //查询设备旧数据
IdxBizJgUseInfo useInfo = useInfoService.getOneData(record); IdxBizJgUseInfo useInfo = useInfoService.getOneData(record);
//更新历史数据表 //更新历史数据表
newData.setStatus("history"); newData.setStatus("history");
if(!ValidationUtil.isEmpty(useRegistrationCode)){ if (!ValidationUtil.isEmpty(useRegistrationCode)) {
newData.setUseRegistrationCode(useRegistrationCode); newData.setUseRegistrationCode(useRegistrationCode);
} }
jgRegistrationHistoryService.saveOrUpdateHistoryData(newData); jgRegistrationHistoryService.saveOrUpdateHistoryData(newData);
...@@ -707,17 +764,25 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -707,17 +764,25 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
useInfoService.saveOrUpdateData(useInfo); useInfoService.saveOrUpdateData(useInfo);
} }
} }
}
/** /**
* 修改告知书状态,置为废弃 * 修改各类告知列表,置为废弃
* *
* @param equId 设备id * @param equId 设备id
* @param equipTransferId 当前告知单Id * @param equipTransferId 当前告知单Id
*/ */
public void updataInvalidStatusByHistory(String equId, String equipTransferId) { public void updataInvalidStatusByHistory(String equId, String equipTransferId) {
//改造变更登记
jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId); jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//移装变更登记
jgChangeRegistrationTransferEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId); jgChangeRegistrationTransferEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//使用登记
jgUseRegistrationEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId); jgUseRegistrationEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//单位变更登记
jgChangeRegistrationUnitEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//更名变更登记
jgChangeRegistrationNameEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
} }
/** /**
...@@ -743,7 +808,6 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -743,7 +808,6 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
} }
/** /**
* 参数为监管码 * 参数为监管码
* *
...@@ -760,4 +824,144 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -760,4 +824,144 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
} }
return null; return null;
} }
/**
* 导出使用登记证
*
* @param sequenceNbr
*/
public void exportUseRegistrationCertificate(String sequenceNbr, HttpServletResponse response) {
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());
//登记机关
if(ValidationUtil.isEmpty(transfer.getReceiveOrgName())){
throw new BadRequest("使用登记证导出失败,登记机关为空!");
}
exportParamsMap.put("receiveOrgName", transfer.getReceiveOrgName());
//使用登记证编号
if(ValidationUtil.isEmpty(transfer.getUseRegistrationCode())){
throw new BadRequest("使用登记证导出失败,使用登记证编号为空!");
}
exportParamsMap.put("useRegistrationCode", transfer.getUseRegistrationCode());
//使用单位名称
if(ValidationUtil.isEmpty(transfer.getUseUnitName())){
throw new BadRequest("使用登记证导出失败,使用单位名称为空!");
}
exportParamsMap.put("useUnitName", transfer.getUseUnitName());
//监管码
if(ValidationUtil.isEmpty(transfer.getSupervisoryCode())){
throw new BadRequest("使用登记证导出失败,监管码为空!");
}
exportParamsMap.put("supervisoryCode", transfer.getSupervisoryCode());
//发证日期(当前时间)
LocalDate today = LocalDate.now();
exportParamsMap.put("giveOutYear", today.getYear());
exportParamsMap.put("giveOutMonth", today.getMonthValue());
exportParamsMap.put("giveOutDay", today.getDayOfMonth());
//设备使用地址
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;
}
if(ValidationUtil.isEmpty(fullAddress)){
throw new BadRequest("使用登记证导出失败,设备使用地址为空!");
}
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(categoryList0)) {
if(ValidationUtil.isEmpty(categoryList0.get(0).getName())){
throw new BadRequest("使用登记证导出失败,设备种类为空!");
}
exportParamsMap.put("equList", categoryList0.get(0).getName());
}
if (CollectionUtils.isNotEmpty(categoryList1)) {
if(ValidationUtil.isEmpty(categoryList1.get(0).getName())){
throw new BadRequest("使用登记证导出失败,设备类别为空!");
}
exportParamsMap.put("equCategory", categoryList1.get(0).getName());
}
if (CollectionUtils.isNotEmpty(categoryList2)) {
if(ValidationUtil.isEmpty(categoryList2.get(0).getName())){
throw new BadRequest("使用登记证导出失败,设备品种为空!");
}
exportParamsMap.put("equDefine", categoryList2.get(0).getName());
}
//设备代码
if(ValidationUtil.isEmpty(registerInfo.getEquCode())){
throw new BadRequest("使用登记证导出失败,设备代码为空!");
}
exportParamsMap.put("equCode", registerInfo.getEquCode());
}
//单位内部编码
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(transferEq.getEquId());
if(!ValidationUtil.isEmpty(useInfo)){
if(ValidationUtil.isEmpty(useInfo.getUseInnerCode())){
throw new BadRequest("使用登记证导出失败,设备单位内部编码为空!");
}
exportParamsMap.put("useInnerCode", useInfo.getUseInnerCode());
}
IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(transferEq.getEquId());
//产品编号(出厂编号)
if(!ValidationUtil.isEmpty(factoryInfo)){
if(ValidationUtil.isEmpty(factoryInfo.getFactoryNum())){
throw new BadRequest("使用登记证导出失败,产品编号为空!");
}
exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum());
}
//调用生成使用登记证
commonService.generateCertificateReport(exportParamsMap, response);
}
} }
\ No newline at end of file
...@@ -6,22 +6,21 @@ import com.alibaba.fastjson.JSONArray; ...@@ -6,22 +6,21 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aspose.words.SaveFormat; import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.ByteArrayMultipartFile; import com.yeejoin.amos.boot.module.jg.api.dto.ByteArrayMultipartFile;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationUnitDto; 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.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeRegistrationUnitMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
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.service.IJgChangeRegistrationUnitService; 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.feign.TzsServiceFeignClient;
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.ImageUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils; import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.OtherInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
...@@ -44,12 +43,15 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil; ...@@ -44,12 +43,15 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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 org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -98,6 +100,32 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -98,6 +100,32 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper; 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;
@Autowired
private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService;
@Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired
ICommonService commonService;
...@@ -139,11 +167,11 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -139,11 +167,11 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if(!ValidationUtil.isEmpty(notice.getNewUseUnitCreditCode()) && !ValidationUtil.isEmpty(notice.getNewUseUnitName())) { if(!ValidationUtil.isEmpty(notice.getNewUseUnitCreditCode()) && !ValidationUtil.isEmpty(notice.getNewUseUnitName())) {
changeInfo.put("newUseUnitCreditCode", notice.getNewUseUnitCreditCode() + "_" + notice.getNewUseUnitName()); changeInfo.put("newUseUnitCreditCode", notice.getNewUseUnitCreditCode() + "_" + notice.getNewUseUnitName());
} }
changeInfo.put("changeCertificateList", notice.getChangeCertificate());
String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard", String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard",
"productQualityYieldProve", "insUseMaintainExplain", "inspectReport", "productQualityYieldProve", "insUseMaintainExplain", "inspectReport",
"proxyStatementAttachment", "installContractAttachment", "changeCertificate"}; "proxyStatementAttachment", "installContractAttachment", "changeCertificateList"};
// 设备信息 // 设备信息
List<Map<String, Object>> equipmentInfos = JgChangeRegistrationUnitMapper.queryEquipInformation(sequenceNbr); List<Map<String, Object>> equipmentInfos = JgChangeRegistrationUnitMapper.queryEquipInformation(sequenceNbr);
...@@ -162,7 +190,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -162,7 +190,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
newMap.putAll(equipmentInfos.get(0)); newMap.putAll(equipmentInfos.get(0));
return new HashMap<String, Map<String, Object>>() {{ return new HashMap<String, Map<String, Object>>() {{
this.put("changeInfo", newMap); this.put("changeRegisInfo", newMap);
}}; }};
} }
...@@ -283,112 +311,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -283,112 +311,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
return this.updateBatchById(JgChangeRegistrationUnits); return this.updateBatchById(JgChangeRegistrationUnits);
} }
/**
* 打印单位变更单
*
* @param sequenceNbr 主键
* @return pdf文件路径
*/
@Override
public String generateInstallationNoticeReport(Long sequenceNbr) {
if (Objects.isNull(sequenceNbr)) {
throw new IllegalArgumentException("参数不能为空");
}
JgChangeRegistrationUnit JgChangeRegistrationUnit = this.getById(sequenceNbr);
List<Map<String, Object>> informationList = JgChangeRegistrationUnitMapper.queryEquipInformation(sequenceNbr);
if (Objects.isNull(JgChangeRegistrationUnit) || CollectionUtils.isEmpty(informationList)) {
throw new IllegalArgumentException("单位变更单不存在");
}
Map<String, Object> installation = informationList.get(0);
Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString();
// 组装模板变量
Map<String, Object> placeholders = new HashMap<>();
placeholders.put("sequenceNbr", getValue.apply("sequenceNbr"));
placeholders.put("installUnitName", getValue.apply("installUnitName"));
placeholders.put("applyNo", getValue.apply("applyNo"));
placeholders.put("productName", getValue.apply("productName"));
placeholders.put("equipType", getValue.apply("equType"));
placeholders.put("equipCode", getValue.apply("equRegisterCode"));
placeholders.put("produceCode", getValue.apply("factoryNum")); // TODO: 出厂编号
placeholders.put("produceUnitName", getValue.apply("produceUnitName"));
placeholders.put("produceLicenseNum", getValue.apply("produceLicenseNum"));
placeholders.put("installUnitAddress", getValue.apply("provinceName") + getValue.apply("cityName") + getValue.apply("countyName") + getValue.apply("streetName") + getValue.apply("address"));
placeholders.put("installStartDate", getValue.apply("installStartDate"));
placeholders.put("installType", "单位变更"); // TODO: 施工类别
placeholders.put("installLicenseNo", getValue.apply("installLicenseNo"));
placeholders.put("installLicenseExpirationDate", getValue.apply("installLicenseExpirationDate"));
placeholders.put("installLeaderName", getValue.apply("installLeaderName"));
placeholders.put("installLeaderPhone", getValue.apply("installLeaderPhone"));
placeholders.put("fullAddress", getValue.apply("provinceName") + getValue.apply("cityName") + getValue.apply("countyName") + getValue.apply("streetName") + getValue.apply("address"));
placeholders.put("useUnitName", getValue.apply("useUnitName"));
placeholders.put("useUnitLeaderName", getValue.apply("safetyManager"));
placeholders.put("useUnitLeaderPhone", getValue.apply("safetyManagerPhone"));
placeholders.put("useUnitLeaderAddress", getValue.apply("address"));
// 生成二维码
String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300);
placeholders.put("qrCode", qrCode);
// word转pdf
File pdfFile;
try {
pdfFile = this.wordToPdf("installation-notification-report.ftl", placeholders);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
// 更新到数据库
// JgChangeRegistrationUnit.setNoticeReportUrl(url);
this.updateById(JgChangeRegistrationUnit);
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;
}
@Override @Override
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
...@@ -493,6 +415,10 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -493,6 +415,10 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
dto.setNewUseUnitName(reginParams.getCompany().getCompanyName()); dto.setNewUseUnitName(reginParams.getCompany().getCompanyName());
dto.setNewUseUnitCreditCode(reginParams.getCompany().getCompanyCode()); 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(ValidationUtil.isEmpty(obj.get("USE_INNER_CODE")) ? "" : String.valueOf(obj.get("USE_INNER_CODE")));
dto.setEquAddress((String.valueOf(obj.get("ADDRESS"))));
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR"))); jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgRelationEquip.setUnitChangeRegistrationId(applyNo); jgRelationEquip.setUnitChangeRegistrationId(applyNo);
...@@ -555,6 +481,15 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -555,6 +481,15 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
} }
String newUseUnitId = model.getNewUseUnitCreditCode();
if (!ObjectUtils.isEmpty(newUseUnitId)) {
String[] newUseUnitList = newUseUnitId.split("_");
if (newUseUnitList.length > 1) {
model.setNewUseUnitCreditCode(newUseUnitList[0]);
model.setNewUseUnitName(newUseUnitList[1]);
}
}
String receiveOrgCode = model.getReceiveOrgCode(); String receiveOrgCode = model.getReceiveOrgCode();
if (!ObjectUtils.isEmpty(receiveOrgCode)) { if (!ObjectUtils.isEmpty(receiveOrgCode)) {
String[] receiveOrgCodeList = receiveOrgCode.split("_"); String[] receiveOrgCodeList = receiveOrgCode.split("_");
...@@ -585,13 +520,16 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -585,13 +520,16 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
//修改数据 //修改数据
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(map)); 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")))) { if (map.containsKey("type") && "edit".equals(String.valueOf(map.get("type")))) {
jgRegistrationHistory.setSequenceNbr(jgRegistrationHistoryMapper.getSequenceNbrByEquidAndDocumentId(equipId, String.valueOf(map.get("sequenceNbr")))); jgRegistrationHistory.setSequenceNbr(jgRegistrationHistoryMapper.getSequenceNbrByEquidAndDocumentId(equipId, String.valueOf(map.get("sequenceNbr"))));
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory); jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
} else { } else {
//当前单据id //当前单据id
jgRegistrationHistory.setCurrentDocumentId(map.get("sequenceNbr").toString()); jgRegistrationHistory.setCurrentDocumentId(map.get("applyNo").toString());
jgRegistrationHistoryMapper.insert(jgRegistrationHistory); jgRegistrationHistoryMapper.insert(jgRegistrationHistory);
} }
} }
...@@ -644,17 +582,18 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -644,17 +582,18 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
public void accept(JgChangeRegistrationUnitDto dto,String op) { public void accept(JgChangeRegistrationUnitDto dto,String op) {
String[] taskName = new String[]{"已完成"}; String[] taskName = new String[]{"已完成"};
String userId = RequestContext.getExeUserId(); String userId = RequestContext.getExeUserId();
JgChangeRegistrationUnit JgChangeRegistrationUnit = this.JgChangeRegistrationUnitMapper.selectById(dto.getSequenceNbr()); JgChangeRegistrationUnit jgChangeRegistrationUnit = this.JgChangeRegistrationUnitMapper.selectById(dto.getSequenceNbr());
JgChangeRegistrationUnit.setProcessAdvice(dto.getProcessAdvice()); jgChangeRegistrationUnit.setProcessAdvice(dto.getProcessAdvice());
ArrayList<String> roleList = new ArrayList<>(); ArrayList<String> roleList = new ArrayList<>();
boolean submit = submit(JgChangeRegistrationUnit, op); boolean submit = submit(jgChangeRegistrationUnit, op);
if(submit) { if(submit) {
getNext(roleList, dto.getInstanceId(),taskName); getNext(roleList, dto.getInstanceId(),taskName);
JgChangeRegistrationUnit.setStatus(taskName[0]); jgChangeRegistrationUnit.setStatus(taskName[0]);
if("0".equals(op)) { if("0".equals(op)) {
if(roleList.size() == 0) { if(roleList.size() == 0) {
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass()); jgChangeRegistrationUnit.setStatus(taskName[0]);
jgChangeRegistrationUnit.setAuditPassDate(new Date());
// 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES // 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
...@@ -668,8 +607,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -668,8 +607,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<UseInfo> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(UseInfo::getRecord,jgChangeRegistrationUnitEq.getEquId()); queryWrapper2.eq(UseInfo::getRecord,jgChangeRegistrationUnitEq.getEquId());
UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2); UseInfo useInfo = useInfoMapper.selectOne(queryWrapper2);
useInfo.setUseUnitName(JgChangeRegistrationUnit.getNewUseUnitName()); useInfo.setUseUnitName(jgChangeRegistrationUnit.getNewUseUnitName());
useInfo.setUseUnitCreditCode(JgChangeRegistrationUnit.getNewUseUnitCreditCode()); useInfo.setUseUnitCreditCode(jgChangeRegistrationUnit.getNewUseUnitCreditCode());
String code = getCode(tzsJgOtherInfo.getSupervisoryCode()); String code = getCode(tzsJgOtherInfo.getSupervisoryCode());
...@@ -678,6 +617,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -678,6 +617,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
return; return;
} }
jgChangeRegistrationUnit.setUseRegistCode(code);
//更新使用注册登记证编号 //更新使用注册登记证编号
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, code); idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, code);
useInfoMapper.updateById(useInfo); useInfoMapper.updateById(useInfo);
...@@ -685,9 +625,12 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -685,9 +625,12 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
Map<String, Map<String, Object>> resultMap = new HashMap<>(); Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>(); Map<String, Object> map1 = new HashMap<>();
map1.put("USE_ORG_CODE", code); 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); resultMap.put(equipId, map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap); tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
//修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(jgChangeRegistrationUnitEq.getEquId(), jgChangeRegistrationUnit.getApplyNo());
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { // TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
// @Override // @Override
...@@ -696,23 +639,42 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -696,23 +639,42 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// } // }
// }); // });
} else { } else {
JgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList)); jgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(JgChangeRegistrationUnit.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgChangeRegistrationUnit.getInstanceStatus())) {
JgChangeRegistrationUnit.setInstanceStatus(JgChangeRegistrationUnit.getInstanceStatus() + "," + String.join(",", roleList)); jgChangeRegistrationUnit.setInstanceStatus(jgChangeRegistrationUnit.getInstanceStatus() + "," + String.join(",", roleList));
} else { } else {
JgChangeRegistrationUnit.setInstanceStatus(String.join(",", roleList)); jgChangeRegistrationUnit.setInstanceStatus(String.join(",", roleList));
} }
JgChangeRegistrationUnit.setPromoter(userId); jgChangeRegistrationUnit.setPromoter(userId);
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass()); jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass());
} }
} else { } else {
JgChangeRegistrationUnit.setPromoter(""); jgChangeRegistrationUnit.setPromoter("");
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getReject()); 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) { public String getCode(String supervisoryCode) {
if (!ObjectUtils.isEmpty(supervisoryCode) && supervisoryCode.length() > 5) { if (!ObjectUtils.isEmpty(supervisoryCode) && supervisoryCode.length() > 5) {
...@@ -724,4 +686,88 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -724,4 +686,88 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
return null; return null;
} }
/**
* 导出使用登记证
*
* @param sequenceNbr
*/
public void exportUseRegistrationCertificate(String sequenceNbr , HttpServletResponse response) {
Map<String, Object> exportParamsMap = new HashMap<>();
//查询移装变更详情
JgChangeRegistrationUnit transfer = this.getById(sequenceNbr);
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId,transfer.getSequenceNbr());
JgChangeRegistrationUnitEq jgChangeRegistrationUnitEq = JgChangeRegistrationUnitEqMapper.selectOne(queryWrapper);
if (ValidationUtil.isEmpty(transfer) || ValidationUtil.isEmpty(jgChangeRegistrationUnitEq)) {
throw new BadRequest("使用登记证导出失败,请稍后重试!");
}
//是否废弃
exportParamsMap.put("isInvalid", jgChangeRegistrationUnitEq.getIsInvalid());
//登记机关
exportParamsMap.put("receiveOrgName", transfer.getReceiveOrgName());
//使用登记证编号
exportParamsMap.put("useRegistrationCode", transfer.getUseRegistCode());
//使用单位名称
exportParamsMap.put("useUnitName", transfer.getUseUnitName());
//监管码
LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(OtherInfo::getRecord,jgChangeRegistrationUnitEq.getEquId());
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
exportParamsMap.put("supervisoryCode", tzsJgOtherInfo.getSupervisoryCode());
//发证日期(当前时间)
LocalDate today = LocalDate.now();
exportParamsMap.put("giveOutYear", today.getYear());
exportParamsMap.put("giveOutMonth", today.getMonthValue());
exportParamsMap.put("giveOutDay", today.getDayOfMonth());
//设备使用地址
//查询设备注册信息
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoService.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", jgChangeRegistrationUnitEq.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 (org.apache.commons.collections.CollectionUtils.isNotEmpty(categoryList1)) {
exportParamsMap.put("equList", categoryList0.get(0).getName());
}
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(categoryList1)) {
exportParamsMap.put("equCategory", categoryList1.get(0).getName());
}
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(categoryList2)) {
exportParamsMap.put("equDefine", categoryList2.get(0).getName());
}
//设备代码
exportParamsMap.put("equCode", registerInfo.getEquCode());
}
//单位内部编码
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(jgChangeRegistrationUnitEq.getEquId());
if(!ValidationUtil.isEmpty(useInfo)){
exportParamsMap.put("useInnerCode", useInfo.getUseInnerCode());
String fullAddress="";
String province = useInfo.getProvinceName();
String city = useInfo.getCityName();
String county = useInfo.getCountyName();
String street = useInfo.getStreetName();
String address = useInfo.getAddress();
fullAddress = province + city + county + street + address;
exportParamsMap.put("fullAddress", fullAddress);
}
IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(jgChangeRegistrationUnitEq.getEquId());
//产品编号(出厂编号)
if(!ValidationUtil.isEmpty(factoryInfo)){
exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum());
}
//调用生成使用登记证
commonService.generateCertificateReport(exportParamsMap, response);
}
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import 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.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.entity.JgEnableDisable; import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisableEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgEnableDisableService; import com.yeejoin.amos.boot.module.jg.api.service.IJgEnableDisableService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto;
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.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
/** /**
* 服务实现类 * 服务实现类
...@@ -16,18 +43,229 @@ import java.util.List; ...@@ -16,18 +43,229 @@ import java.util.List;
* @date 2023-12-25 * @date 2023-12-25
*/ */
@Service @Service
public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,JgEnableDisable,JgEnableDisableMapper> implements IJgEnableDisableService { public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, JgEnableDisable, JgEnableDisableMapper> implements IJgEnableDisableService {
/**
* 分页查询 @Autowired
*/ WorkFlowFeignService workFlowFeginService;
public Page<JgEnableDisableDto> queryForJgEnableDisablePage(Page<JgEnableDisableDto> page) {
return this.queryForPage(page, null, false); @Autowired
RedisUtils redisUtils;
@Autowired
JgEnableDisableEqServiceImpl jgEnableDisableEqService;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
private final String WORK_FLOW_KEY = "deactivateEnable";
public void saveOrUpdate(JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgEnableDisable jgEnableDisable = new JgEnableDisable();
BeanUtil.copyProperties(map, jgEnableDisable);
jgEnableDisable.setApplyDate(new Date());
String submit = String.valueOf(map.get("submit"));
String pageType = String.valueOf(map.get("pageType"));
if (map.containsKey("receiveOrgCode")) {
// 接收机构
String[] splitMaintenanceUnitCode = String.valueOf(map.getString("receiveOrgCode")).split("_");
jgEnableDisable.setReceiveOrgCode(splitMaintenanceUnitCode[0]);
jgEnableDisable.setReceiveOrgName(splitMaintenanceUnitCode[1]);
}
jgEnableDisable.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
jgEnableDisable.setUseUnitName(reginParams.getCompany().getCompanyName());
// 仅保存
if ("add".equals(pageType)) {
// 获取申请编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.TYQY.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel)) {
jgEnableDisable.setApplyNo(listResponseModel.getResult().get(0));
}
jgEnableDisable.setAuditStatus(WorkFlowStatusEnum.ENABLE_SUBMIT.getPass());
this.save(jgEnableDisable);
} else {
// 编辑
jgEnableDisable.setSequenceNbr(Long.valueOf(String.valueOf(map.get("sequenceNbr"))));
this.baseMapper.updateById(jgEnableDisable);
LambdaQueryWrapper<JgEnableDisableEq> lambda = new QueryWrapper<JgEnableDisableEq>().lambda();
lambda.eq(JgEnableDisableEq::getEnableDisableApplyId, String.valueOf(map.get("sequenceNbr")));
jgEnableDisableEqService.getBaseMapper().delete(lambda);
}
// 关联设备表
JgEnableDisableEq jgEnableDisableEq = new JgEnableDisableEq();
jgEnableDisableEq.setEquId(String.valueOf(map.get("record")));
jgEnableDisableEq.setEnableDisableApplyId(jgEnableDisable.getSequenceNbr().toString());
jgEnableDisableEqService.save(jgEnableDisableEq);
// 提交启动流程
if ("1".equals(submit)) {
String instanceId = "";
if (map.containsKey("instanceId")) {
instanceId = map.get("instanceId").toString();
} else {
instanceId = startByVariable();
}
if (!ObjectUtils.isEmpty(instanceId)) {
// 更新数据状态
updateExecuteIds(instanceId, jgEnableDisable.getSequenceNbr(), "0");
// 执行流程
flowExecute(jgEnableDisable.getSequenceNbr(), instanceId, "0", "");
}
}
} }
/**
* 列表查询 示例 public Page<Map<String, Object>> pageList(Page<Map<String, Object>> page, JgEnableDisableDto dto) {
*/ ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
public List<JgEnableDisableDto> queryForJgEnableDisableList() { dto.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
return this.queryForList("" , false); return this.baseMapper.pageList(page, dto);
}
public String startByVariable() {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(WORK_FLOW_KEY);
dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
} catch (Exception e) {
e.printStackTrace();
} }
return instanceId;
}
public void flowExecute(Long id, String instanceId, String operate, String comment) {
try {
JSONObject task = workFlowFeginService.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 withdraw(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = "";
JgEnableDisable jgEnableDisable = new JgEnableDisable();
LambdaQueryWrapper<JgEnableDisable> lambda = new QueryWrapper<JgEnableDisable>().lambda();
lambda.eq(JgEnableDisable::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.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 = workFlowFeginService.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 (!ObjectUtils.isEmpty(taskCode)) {
jgEnableDisable.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
String join = String.join(",", roleList);
jgEnableDisable.setPromoter(reginParams.getUserModel().getUserId());
jgEnableDisable.setNextExecutorIds(join);
this.update(jgEnableDisable, lambda);
}
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) {
ReginParams reginParams = JSONObject.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<>();
JgEnableDisable jgEnableDisable = this.getBaseMapper().selectById(sequenceNbr);
try {
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeginService.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 = workFlowFeginService.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);
jgEnableDisable.setNextExecutorIds(role);
jgEnableDisable.setPromoter(reginParams.getUserModel().getUserId());
jgEnableDisable.setInstanceId(instanceId);
jgEnableDisable.setApplyDate(new Date());
if (!ObjectUtils.isEmpty(jgEnableDisable.getExecuteSequence())) {
jgEnableDisable.setExecuteSequence(jgEnableDisable.getExecuteSequence() + "," + role);
} else {
jgEnableDisable.setExecuteSequence(role);
}
if ("0".equals(operate)) {
// 通过操作
jgEnableDisable.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
} else {
// 驳回操作
jgEnableDisable.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgEnableDisable.setPromoter(null);
}
} else {
jgEnableDisable.setAuditStatus(taskCode);
jgEnableDisable.setAuditPassDate(new Date());
}
this.getBaseMapper().updateById(jgEnableDisable);
}
public void deleteMessage(Long sequenceNbr) {
this.baseMapper.deleteById(sequenceNbr);
LambdaQueryWrapper<JgEnableDisableEq> lambda = new QueryWrapper<JgEnableDisableEq>().lambda();
lambda.eq(JgEnableDisableEq::getEnableDisableApplyId, sequenceNbr);
jgEnableDisableEqService.getBaseMapper().delete(lambda);
}
public Map<String, Object> getDetail(Long sequenceNbr) {
return this.baseMapper.getDetail(sequenceNbr);
}
} }
\ No newline at end of file
...@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON; ...@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.entity.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
...@@ -30,14 +29,15 @@ import org.apache.commons.lang3.ObjectUtils; ...@@ -30,14 +29,15 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.text.ParseException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -49,7 +49,7 @@ import java.util.stream.Collectors; ...@@ -49,7 +49,7 @@ import java.util.stream.Collectors;
*/ */
@Slf4j @Slf4j
@Service @Service
public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,JgEquipTransfer, JgEquipTransferMapper> implements IJgEquipTransferService { public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, JgEquipTransfer, JgEquipTransferMapper> implements IJgEquipTransferService {
private static final String EQUIP_TRANSFER_PROCESS_KEY = "equipmentHandover"; private static final String EQUIP_TRANSFER_PROCESS_KEY = "equipmentHandover";
private static final String SUBMIT_TYPE_FLOW = "1"; private static final String SUBMIT_TYPE_FLOW = "1";
...@@ -80,20 +80,26 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -80,20 +80,26 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
return; return;
} }
// 获取设备移交顺序号 ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBYJ.getCode(), deviceList.size());
ResponseModel<List<String>> responseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBYJ.getCode(), deviceList.size()); if (!org.springframework.util.ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
if (CollectionUtils.isEmpty(responseModel.getResult())) { log.error("告知单获取失败: {}", listResponseModel.getMessage());
return; throw new BadRequest("告知单生成失败!");
}
List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) {
log.error("告知单返回为空");
throw new BadRequest("告知单生成失败!");
} }
ArrayList<String> roleListFirst = new ArrayList<>(); ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>(); ArrayList<String> roleListSecond = new ArrayList<>();
// 判断当前是否为提交 ArrayList<String> instanceIdList = new ArrayList<>();
List<String> instanceIdList = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>(); List<ActWorkflowStartDTO> list = new ArrayList<>();
for (int i = 0; i<deviceList.size() ; i++ for (int i = 0; i < deviceList.size(); i++
) { ) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY); dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY);
...@@ -105,14 +111,14 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -105,14 +111,14 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
try { try {
FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO); FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO);
List<Object> returnList = (List<Object>) result.getResult(); List<Object> returnList = (List<Object>) result.getResult();
for (Object obj :returnList for (Object obj : returnList
) { ) {
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj)); JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj));
String instanceId = jsonObject.getString("id"); String instanceId = jsonObject.getString("id");
instanceIdList.add(instanceId); instanceIdList.add(instanceId);
// 查询下节点任务 // 查询下节点任务
if(returnList.get(0).equals(obj)) { if (returnList.get(0).equals(obj)) {
getNext(roleListFirst, instanceId,taskName); getNext(roleListFirst, instanceId, taskName);
} }
// 推动下一个节点 // 推动下一个节点
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId); AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
...@@ -131,7 +137,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -131,7 +137,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
try { try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto); ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) { if (ajaxResult1.get("code").equals(200)) {
getNext(roleListSecond, instanceId,taskName); getNext(roleListSecond, instanceId, taskName);
} else { } else {
log.error("提交失败"); log.error("提交失败");
} }
...@@ -151,11 +157,11 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -151,11 +157,11 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
JgEquipTransfer dto = new JgEquipTransfer(); JgEquipTransfer dto = new JgEquipTransfer();
BeanUtils.copyProperties(model, dto); BeanUtils.copyProperties(model, dto);
int i = deviceList.indexOf(obj); int i = deviceList.indexOf(obj);
String applyNo = responseModel.getResult().get(i); String applyNo = applyNoList.get(i);
dto.setApplyNo(applyNo); dto.setApplyNo(applyNo);
dto.setApplyDate(new Date()); dto.setApplyDate(new Date());
if(SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecuteIds(String.join(",", roleListSecond)); dto.setNextExecuteIds(String.join(",", roleListSecond));
dto.setInstanceStatus(String.join(",", roleListFirst)); dto.setInstanceStatus(String.join(",", roleListFirst));
dto.setPromoter(reginParams.getUserModel().getUserId()); dto.setPromoter(reginParams.getUserModel().getUserId());
...@@ -216,6 +222,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -216,6 +222,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
/** /**
* 启动工作流 * 启动工作流
*
* @param businessKey businessKey * @param businessKey businessKey
* @return s * @return s
* @throws Exception e * @throws Exception e
...@@ -237,10 +244,8 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -237,10 +244,8 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
} }
@Override @Override
public Page<JgEquipTransferDto> queryForJgEquipTransferPage(Page<JgEquipTransfer> page, JgEquipTransferDto dto, String type, ReginParams reginParams) { public Page<JgEquipTransferDto> queryForJgEquipTransferPage(Page<JgEquipTransferDto> page, JgEquipTransferDto dto, String type, ReginParams reginParams) {
Page<JgEquipTransferDto> equipTransferPage = this.baseMapper.queryForPage(page, dto, type, reginParams.getCompany().getCompanyCode());
Page<JgEquipTransfer> equipTransferPage = this.baseMapper.queryForPage(page, dto, type, reginParams.getCompany().getCompanyCode());
Page<JgEquipTransferDto> equipTransferDtoPage = new Page<>(); Page<JgEquipTransferDto> equipTransferDtoPage = new Page<>();
BeanUtils.copyProperties(equipTransferPage, equipTransferDtoPage, "records"); BeanUtils.copyProperties(equipTransferPage, equipTransferDtoPage, "records");
List<JgEquipTransferDto> records = equipTransferPage.getRecords().stream().map(transfer -> { List<JgEquipTransferDto> records = equipTransferPage.getRecords().stream().map(transfer -> {
...@@ -250,7 +255,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -250,7 +255,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
equipTransferDto.setApplyStatusDesc(FlowStatusEnum.getNameByType(Long.valueOf(transfer.getApplyStatus()))); equipTransferDto.setApplyStatusDesc(FlowStatusEnum.getNameByType(Long.valueOf(transfer.getApplyStatus())));
} }
return equipTransferDto; return equipTransferDto;
}).collect(java.util.stream.Collectors.toList()); }).collect(Collectors.toList());
equipTransferDtoPage.setRecords(records); equipTransferDtoPage.setRecords(records);
return equipTransferDtoPage; return equipTransferDtoPage;
...@@ -282,12 +287,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -282,12 +287,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
return resultMap; return resultMap;
} }
@Override
@Transactional(rollbackFor = {Exception.class, BaseException.class})
public void saveEquipTransfer(String submitType, Map<String, JgEquipTransferDto> dto, ReginParams selectedOrgInfo) {
String[] taskName = new String[]{"流程结束"};
}
private Map<String, Object> createEquipTransferInfo(JgEquipTransfer equipTransfer) { private Map<String, Object> createEquipTransferInfo(JgEquipTransfer equipTransfer) {
Map<String, Object> equipTransferInfo = new HashMap<>(BeanUtil.beanToMap(equipTransfer)); Map<String, Object> equipTransferInfo = new HashMap<>(BeanUtil.beanToMap(equipTransfer));
equipTransferInfo.put("installUnitCreditCode", equipTransfer.getInstallUnitCreditCode() + "_" + equipTransfer.getInstallUnitName()); equipTransferInfo.put("installUnitCreditCode", equipTransfer.getInstallUnitCreditCode() + "_" + equipTransfer.getInstallUnitName());
...@@ -305,23 +304,15 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -305,23 +304,15 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
String userId = RequestContext.getExeUserId(); String userId = RequestContext.getExeUserId();
JgEquipTransfer jgEquipTransfer = this.baseMapper.selectById(jgEquipTransferDto.getSequenceNbr()); JgEquipTransfer jgEquipTransfer = this.baseMapper.selectById(jgEquipTransferDto.getSequenceNbr());
jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice()); jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice());
// 组装设备注册代码
StringBuffer stringBuffer = new StringBuffer();
String ym = null;
try {
ym = DateUtils.dateFormat(new Date(), DateUtils.DATE_PATTERN_MM);
} catch (ParseException e) {
log.error("日期转换失败:{}", e.getMessage());
}
ArrayList<String> roleList = new ArrayList<>(); ArrayList<String> roleList = new ArrayList<>();
boolean submit = submit(jgEquipTransfer, op); boolean submit = submit(jgEquipTransfer, op);
if(submit) { if (submit) {
getNext(roleList, jgEquipTransferDto.getInstanceId(),taskName); getNext(roleList, jgEquipTransferDto.getInstanceId(), taskName);
jgEquipTransfer.setApplyStatus(taskName[0]); jgEquipTransfer.setApplyStatus(taskName[0]);
if("0".equals(op)) { if ("0".equals(op)) {
if(roleList.isEmpty()) { if (roleList.isEmpty()) {
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())); jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
jgEquipTransfer.setPromoter(""); jgEquipTransfer.setPromoter("");
} else { } else {
...@@ -343,7 +334,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -343,7 +334,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
} }
} }
public boolean submit(JgEquipTransfer transfer,String op) { public boolean submit(JgEquipTransfer transfer, String op) {
AjaxResult ajaxResult = Workflow.taskClient.getTask(transfer.getInstanceId()); AjaxResult ajaxResult = Workflow.taskClient.getTask(transfer.getInstanceId());
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data"))); JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id"); String taskId = dataObject.getString("id");
...@@ -356,7 +347,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -356,7 +347,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
map.put("approvalStatus", op); map.put("approvalStatus", op);
dto.setVariable(map); dto.setVariable(map);
//执行流程 //执行流程
AjaxResult ajaxResult1 = null; AjaxResult ajaxResult1;
try { try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto); ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
return ajaxResult1.get("code").equals(200); return ajaxResult1.get("code").equals(200);
...@@ -398,7 +389,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -398,7 +389,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
String instanceId = ((Map) ajaxResult.get("data")).get("id").toString(); String instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
equipTransferDto.setInstanceId(instanceId); equipTransferDto.setInstanceId(instanceId);
// 查询下节点任务 // 查询下节点任务
getNext(roleListFirst, instanceId,taskName); getNext(roleListFirst, instanceId, taskName);
equipTransferDto.setInstanceStatus(String.join(",", roleListFirst)); equipTransferDto.setInstanceStatus(String.join(",", roleListFirst));
} catch (Exception e) { } catch (Exception e) {
log.error("提交失败:{}", e.getMessage()); log.error("提交失败:{}", e.getMessage());
...@@ -406,13 +397,13 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J ...@@ -406,13 +397,13 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,J
} }
} }
JgEquipTransfer transfer = new JgEquipTransfer(); JgEquipTransfer transfer = new JgEquipTransfer();
BeanUtils.copyProperties(equipTransferDto,transfer); BeanUtils.copyProperties(equipTransferDto, transfer);
boolean submit = submit(transfer, op); boolean submit = submit(transfer, op);
if(submit) { if (submit) {
// 查询下节点任务 // 查询下节点任务
getNext(roleListSecond, transfer.getInstanceId(),taskName); getNext(roleListSecond, transfer.getInstanceId(), taskName);
transfer.setApplyStatus(taskName[0]); transfer.setApplyStatus(taskName[0]);
if (!org.springframework.util.ObjectUtils.isEmpty(transfer.getInstanceStatus())) { if (!org.springframework.util.ObjectUtils.isEmpty(transfer.getInstanceStatus())) {
transfer.setInstanceStatus(transfer.getInstanceStatus() + "," + roleListSecond); transfer.setInstanceStatus(transfer.getInstanceStatus() + "," + roleListSecond);
......
...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils; ...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.service.ITzBaseUnitLicenceService;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
...@@ -124,21 +125,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -124,21 +125,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
@Autowired
private TzBaseUnitLicenceMapper baseUnitLicenceMapper;
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;
}
}
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -334,6 +322,23 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -334,6 +322,23 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
} }
Map<String, Object> installation = informationList.get(0); Map<String, Object> installation = informationList.get(0);
String useCode = String.valueOf(installation.get("useCode"));
LambdaQueryWrapper<TzBaseUnitLicence> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TzBaseUnitLicence::getUnitCode, useCode);
List<TzBaseUnitLicence> list = baseUnitLicenceMapper.selectList(wrapper);
ArrayList<String> installLicenseNoList = new ArrayList<>();
ArrayList<String> installLicenseExpirationDateList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(tzBaseUnitLicence -> {
// 因模板许可证编号配置最多支持三个,再多样式混乱,目前返回三个
if (installLicenseNoList.size() < 3) {
installLicenseNoList.add(tzBaseUnitLicence.getCertNo());
installLicenseExpirationDateList.add(DateUtils.convertDateToString(tzBaseUnitLicence.getExpiryDate(), DateUtils.DATE_PATTERN));
}
});
}
Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString(); Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString();
// 组装模板变量 // 组装模板变量
...@@ -359,27 +364,15 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -359,27 +364,15 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
placeholders.put("useUnitLeaderName", getValue.apply("safetyManager")); placeholders.put("useUnitLeaderName", getValue.apply("safetyManager"));
placeholders.put("useUnitLeaderPhone", getValue.apply("safetyManagerPhone")); placeholders.put("useUnitLeaderPhone", getValue.apply("safetyManagerPhone"));
placeholders.put("useUnitLeaderAddress", getValue.apply("address")); placeholders.put("useUnitLeaderAddress", getValue.apply("address"));
placeholders.put("installLicenseNoList", installLicenseNoList);
placeholders.put("installLicenseExpirationDateList", installLicenseExpirationDateList);
// 生成二维码 // 生成二维码
String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300); String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300);
placeholders.put("qrCode", qrCode); placeholders.put("qrCode", qrCode);
// word转pdf String url = WordTemplateUtils.templateToPdf("installation-notification-report.ftl", placeholders);
File pdfFile;
try {
pdfFile = this.wordToPdf("installation-notification-report.ftl", placeholders);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
// 更新到数据库 // 更新到数据库
jgInstallationNotice.setNoticeReportUrl(url); jgInstallationNotice.setNoticeReportUrl(url);
...@@ -388,40 +381,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -388,40 +381,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
return url; 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;
}
@Override @Override
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -785,10 +744,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -785,10 +744,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
map1.put("USE_UNIT_CREDIT_CODE",jgInstallationNotice.getUseUnitCreditCode()); map1.put("USE_UNIT_CREDIT_CODE",jgInstallationNotice.getUseUnitCreditCode());
map1.put("USE_UNIT_NAME",jgInstallationNotice.getUseUnitName()); map1.put("USE_UNIT_NAME",jgInstallationNotice.getUseUnitName());
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), map1.put("USC_UNIT_CREDIT_CODE",jgInstallationNotice.getInstallUnitCreditCode());
RequestContext.getToken())).toString(), ReginParams.class); map1.put("USC_UNIT_NAME",jgInstallationNotice.getInstallUnitName());
map1.put("USC_UNIT_CREDIT_CODE",reginParams.getCompany().getCompanyCode());
map1.put("USC_UNIT_NAME",reginParams.getCompany().getCompanyName());
objMap.put(tzsJgOtherInfo.getRecord(),map1); objMap.put(tzsJgOtherInfo.getRecord(),map1);
jgInstallationNotice.setPromoter(""); jgInstallationNotice.setPromoter("");
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap); tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
...@@ -815,7 +772,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -815,7 +772,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
// 使用信息表更新是否西咸 // 使用信息表更新是否西咸
IdxBizJgUseInfo useInfo = useInfoService.getOneData(jgRelationEquip.getEquId()); IdxBizJgUseInfo useInfo = useInfoService.getOneData(jgRelationEquip.getEquId());
if (!ObjectUtils.isEmpty(useInfo)) { if (!ObjectUtils.isEmpty(useInfo)) {
useInfo.setIsNotXiXian(jgInstallationNotice.getIsXixian() == null ? "null" : jgInstallationNotice.getIsXixian().equals("0") ? "null" : "1"); useInfo.setIsNotXiXian(jgInstallationNotice.getIsXixian() == null ? "0" : jgInstallationNotice.getIsXixian());
useInfoService.saveOrUpdateData(useInfo); useInfoService.saveOrUpdateData(useInfo);
} }
......
...@@ -23,12 +23,10 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; ...@@ -23,12 +23,10 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils; 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.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SupervisoryCodeInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
...@@ -96,19 +94,9 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -96,19 +94,9 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
public static byte[] file2byte(File file) { @Autowired
try { private TzBaseUnitLicenceMapper baseUnitLicenceMapper;
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;
}
}
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -293,6 +281,24 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -293,6 +281,24 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
throw new IllegalArgumentException("维修告知单不存在"); throw new IllegalArgumentException("维修告知单不存在");
} }
Map<String, Object> installation = informationList.get(0); Map<String, Object> installation = informationList.get(0);
String useCode = String.valueOf(installation.get("useCode"));
LambdaQueryWrapper<TzBaseUnitLicence> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TzBaseUnitLicence::getUnitCode, useCode);
List<TzBaseUnitLicence> list = baseUnitLicenceMapper.selectList(wrapper);
ArrayList<String> installLicenseNoList = new ArrayList<>();
ArrayList<String> installLicenseExpirationDateList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(tzBaseUnitLicence -> {
// 因模板许可证编号配置最多支持三个,再多样式混乱,目前返回三个
if (installLicenseNoList.size() < 3) {
installLicenseNoList.add(tzBaseUnitLicence.getCertNo());
installLicenseExpirationDateList.add(DateUtils.convertDateToString(tzBaseUnitLicence.getExpiryDate(), DateUtils.DATE_PATTERN));
}
});
}
Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString(); Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString();
// 组装模板变量 // 组装模板变量
Map<String, Object> placeholders = new HashMap<>(); Map<String, Object> placeholders = new HashMap<>();
...@@ -320,59 +326,17 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -320,59 +326,17 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
// 生成二维码 // 生成二维码
String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300); String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300);
placeholders.put("qrCode", qrCode); placeholders.put("qrCode", qrCode);
// word转pdf
File pdfFile; placeholders.put("installLicenseNoList", installLicenseNoList);
try { placeholders.put("installLicenseExpirationDateList", installLicenseExpirationDateList);
pdfFile = this.wordToPdf("installation-notification-report.ftl", placeholders);
} catch (Exception e) { String url = WordTemplateUtils.templateToPdf("installation-notification-report.ftl", placeholders);
log.error("word转pdf失败:{}", e);
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
throw new RuntimeException(e);
}
// 更新到数据库 // 更新到数据库
JgMaintainNotice.setNoticeReportUrl(url); JgMaintainNotice.setNoticeReportUrl(url);
this.updateById(JgMaintainNotice); this.updateById(JgMaintainNotice);
return url; 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;
}
@Override @Override
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
......
...@@ -94,12 +94,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -94,12 +94,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
//使用单位用"使用单位统一信用代码"匹配数据 //使用单位用"使用单位统一信用代码"匹配数据
dto.setUseUnitCode(company.getCompanyCode()); dto.setUseUnitCode(company.getCompanyCode());
dto.setRoleIds(null); dto.setRoleIds(null);
dto.setStatus(null);
contractList = maintenanceContractMapper.getContractList(page, dto); contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.WEIBAO.getCode().equals(phase)) { } else if (MaintenanceEnum.WEIBAO.getCode().equals(phase)) {
//维保单位用"维保单位统一信用代码"匹配数据 //维保单位用"维保单位统一信用代码"匹配数据
dto.setMaintenanceUnitCode(company.getCompanyCode()); dto.setMaintenanceUnitCode(company.getCompanyCode());
dto.setStatus(dto.getStatus().contains(USE) ? USE : null);
contractList = maintenanceContractMapper.getContractList(page, dto); contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.JIANGUAN.getCode().equals(phase)) { } else if (MaintenanceEnum.JIANGUAN.getCode().equals(phase)) {
//监管单位用"接收机构统一使用代码"匹配 //监管单位用"接收机构统一使用代码"匹配
...@@ -365,7 +363,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -365,7 +363,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
BeanUtils.copyProperties(dto, contract); BeanUtils.copyProperties(dto, contract);
contract.setCreateDate(new Date()); 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()) { if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error("告知单获取失败"); log.error("告知单获取失败");
return false; return false;
...@@ -463,7 +461,6 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -463,7 +461,6 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
jgMaintenanceContract.setNextExecuteIds(role); jgMaintenanceContract.setNextExecuteIds(role);
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId()); jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId());
jgMaintenanceContract.setInstanceId(instanceId); jgMaintenanceContract.setInstanceId(instanceId);
jgMaintenanceContract.setApplyDate(new Date());
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) {
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role); jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role);
} else { } else {
...@@ -479,6 +476,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -479,6 +476,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
} }
}else { }else {
jgMaintenanceContract.setApplyDate(new Date());
jgMaintenanceContract.setStatus(taskCode); jgMaintenanceContract.setStatus(taskCode);
} }
this.getBaseMapper().updateById(jgMaintenanceContract); this.getBaseMapper().updateById(jgMaintenanceContract);
......
...@@ -21,12 +21,10 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; ...@@ -21,12 +21,10 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils; 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.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SupervisoryCodeInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
...@@ -96,22 +94,10 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -96,22 +94,10 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired @Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper; SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
@Autowired
private RedisUtils redisUtils;
public static byte[] file2byte(File file) {
try { @Autowired
FileInputStream in = new FileInputStream(file); private TzBaseUnitLicenceMapper baseUnitLicenceMapper;
// 当文件没有结束时,每次读取一个字节显示
byte[] data = new byte[in.available()];
in.read(data);
in.close();
return data;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -302,6 +288,23 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -302,6 +288,23 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
} }
Map<String, Object> installation = informationList.get(0); Map<String, Object> installation = informationList.get(0);
String useCode = String.valueOf(installation.get("useCode"));
LambdaQueryWrapper<TzBaseUnitLicence> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TzBaseUnitLicence::getUnitCode, useCode);
List<TzBaseUnitLicence> list = baseUnitLicenceMapper.selectList(wrapper);
ArrayList<String> installLicenseNoList = new ArrayList<>();
ArrayList<String> installLicenseExpirationDateList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(tzBaseUnitLicence -> {
// 因模板许可证编号配置最多支持三个,再多样式混乱,目前返回三个
if (installLicenseNoList.size() < 3) {
installLicenseNoList.add(tzBaseUnitLicence.getCertNo());
installLicenseExpirationDateList.add(DateUtils.convertDateToString(tzBaseUnitLicence.getExpiryDate(), DateUtils.DATE_PATTERN));
}
});
}
Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString(); Function<String, String> getValue = key -> installation.getOrDefault(key, "").toString();
// 组装模板变量 // 组装模板变量
...@@ -331,23 +334,10 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -331,23 +334,10 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300); String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300);
placeholders.put("qrCode", qrCode); placeholders.put("qrCode", qrCode);
// word转pdf placeholders.put("installLicenseNoList", installLicenseNoList);
File pdfFile; placeholders.put("installLicenseExpirationDateList", installLicenseExpirationDateList);
try {
pdfFile = this.wordToPdf("installation-notification-report.ftl", placeholders);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件 String url = WordTemplateUtils.templateToPdf("installation-notification-report.ftl", placeholders);
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
// 更新到数据库 // 更新到数据库
JgReformNotice.setNoticeReportUrl(url); JgReformNotice.setNoticeReportUrl(url);
...@@ -356,39 +346,6 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -356,39 +346,6 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
return url; 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;
}
@Override @Override
@SuppressWarnings ({"Duplicates", "rawtypes"}) @SuppressWarnings ({"Duplicates", "rawtypes"})
......
...@@ -22,12 +22,10 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; ...@@ -22,12 +22,10 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils; 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.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SupervisoryCodeInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
...@@ -88,19 +86,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -88,19 +86,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
public static byte[] file2byte(File file) { @Autowired
try { private TzBaseUnitLicenceMapper baseUnitLicenceMapper;
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;
}
}
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -188,6 +175,23 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -188,6 +175,23 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
} }
Map<String, Object> maintain = informationList.get(0); Map<String, Object> maintain = informationList.get(0);
String useCode = String.valueOf(maintain.get("useCode"));
LambdaQueryWrapper<TzBaseUnitLicence> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(TzBaseUnitLicence::getUnitCode, useCode);
List<TzBaseUnitLicence> list = baseUnitLicenceMapper.selectList(wrapper);
ArrayList<String> installLicenseNoList = new ArrayList<>();
ArrayList<String> installLicenseExpirationDateList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(tzBaseUnitLicence -> {
// 因模板许可证编号配置最多支持三个,再多样式混乱,目前返回三个
if (installLicenseNoList.size() < 3) {
installLicenseNoList.add(tzBaseUnitLicence.getCertNo());
installLicenseExpirationDateList.add(DateUtils.convertDateToString(tzBaseUnitLicence.getExpiryDate(), DateUtils.DATE_PATTERN));
}
});
}
Function<String, String> getValue = key -> maintain.getOrDefault(key, "").toString(); Function<String, String> getValue = key -> maintain.getOrDefault(key, "").toString();
// 组装模板变量 // 组装模板变量
...@@ -217,23 +221,10 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -217,23 +221,10 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300); String qrCode = ImageUtils.generateQRCode(getValue.apply("applyNo"), 300, 300);
placeholders.put("qrCode", qrCode); placeholders.put("qrCode", qrCode);
// word转pdf placeholders.put("installLicenseNoList", installLicenseNoList);
File pdfFile; placeholders.put("installLicenseExpirationDateList", installLicenseExpirationDateList);
try {
pdfFile = this.wordToPdf("installation-notification-report.ftl", placeholders);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = this.uploadFile(pdfFile);
// 删除临时文件 String url = WordTemplateUtils.templateToPdf("installation-notification-report.ftl", placeholders);
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
// 更新到数据库 // 更新到数据库
jgTransferNotice.setNoticeReportUrl(url); jgTransferNotice.setNoticeReportUrl(url);
...@@ -242,39 +233,6 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -242,39 +233,6 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
return url; 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;
}
/** /**
* 更新移装告知 * 更新移装告知
......
package com.yeejoin.amos.boot.module.jg.biz.utils;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
public class FileExporter {
public static void exportFile(FileType fileType, String fileName, byte[] data, HttpServletResponse response) {
try {
response.reset();
response.setCharacterEncoding("utf-8");
response.setContentType(fileType.getContentType());
fileName = fileName.replaceAll("\\.", "·");
fileName = URLEncoder.encode(fileName + fileType.getFileSufix(), "UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName + "");
response.getOutputStream().write(data);
response.getOutputStream().flush();
} catch (Exception e) {
throw new BadRequest("导出文档出错");
} finally {
try {
response.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 文件类型
*/
public enum FileType {
// word文档
docx(".docx", "application/msword"),
// pdf文档
pdf(".pdf", "application/pdf");
private String fileSufix;
private String contentType;
private FileType(String fileSufix, String contentType) {
this.fileSufix = fileSufix;
this.contentType = contentType;
}
public String getFileSufix() {
return fileSufix;
}
public String getContentType() {
return contentType;
}
public static FileType getInstance(String fileSufix) {
FileType knowledgeRoleName = null;
for (FileType fileType : FileType.values()) {
if (fileType.getFileSufix().equals(fileSufix)) {
knowledgeRoleName = fileType;
}
}
return knowledgeRoleName;
}
}
}
...@@ -2,11 +2,17 @@ package com.yeejoin.amos.boot.module.jg.biz.utils; ...@@ -2,11 +2,17 @@ package com.yeejoin.amos.boot.module.jg.biz.utils;
import com.aspose.words.Document; import com.aspose.words.Document;
import com.aspose.words.License; import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import com.yeejoin.amos.boot.module.jg.api.dto.ByteArrayMultipartFile;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import freemarker.template.Configuration; import freemarker.template.Configuration;
import freemarker.template.Template; import freemarker.template.Template;
import freemarker.template.TemplateException; import freemarker.template.TemplateException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.*; import java.io.*;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
...@@ -124,4 +130,74 @@ public class WordTemplateUtils { ...@@ -124,4 +130,74 @@ public class WordTemplateUtils {
} }
return result; return result;
} }
public static String templateToPdf(String wordPath, Map<String, Object> placeholders) {
// word转pdf
File pdfFile;
try {
pdfFile = wordToPdf(wordPath, placeholders);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 上传pdf至文件服务器
String url = uploadFile(pdfFile);
// 删除临时文件
try {
Files.deleteIfExists(pdfFile.toPath());
} catch (IOException e) {
log.error("删除临时文件失败:{}", e);
}
return url;
}
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;
}
}
/**
* 上传文件至文件服务器
*
* @param file 文件
*/
private static 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;
}
/**
* word 转 pdf
*
* @param wordPath word文件路径
*/
private static 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);
}
} }
...@@ -119,11 +119,6 @@ public class JyjcInspectionResult extends BaseEntity { ...@@ -119,11 +119,6 @@ public class JyjcInspectionResult extends BaseEntity {
@TableField("non_conformance") @TableField("non_conformance")
private String nonConformance; private String nonConformance;
// /**
// * 整改情况
// */
// @TableField("rectification")
// private String rectification;
/** /**
* 备注(无用预留) * 备注(无用预留)
...@@ -180,4 +175,11 @@ public class JyjcInspectionResult extends BaseEntity { ...@@ -180,4 +175,11 @@ public class JyjcInspectionResult extends BaseEntity {
*/ */
@TableField("equ_define") @TableField("equ_define")
private String equDefine; private String equDefine;
/**
* 校验检验系统唯一流水号,排查问题,跟踪问题使用
*/
@TableField("trace_id")
private String traceId;
} }
...@@ -152,4 +152,9 @@ public class JyjcInspectionResultModel extends BaseModel { ...@@ -152,4 +152,9 @@ public class JyjcInspectionResultModel extends BaseModel {
@ApiModelProperty(value = "监管码") @ApiModelProperty(value = "监管码")
private String supervisoryCode; private String supervisoryCode;
/**
* 校验检验系统唯一流水号,排查问题,跟踪问题使用
*/
private String traceId;
} }
...@@ -28,6 +28,7 @@ public enum ApplicationFormTypeEnum { ...@@ -28,6 +28,7 @@ public enum ApplicationFormTypeEnum {
JG("JG"),// 检验结果 JG("JG"),// 检验结果
SBZX("SBZX"),//电梯(设备)注销 SBZX("SBZX"),//电梯(设备)注销
GMBG("GMBG"),//更名变更 GMBG("GMBG"),//更名变更
TYQY("TYQY")//停用启用
; ;
/** /**
......
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