Commit 23c0761d authored by tianbo's avatar tianbo

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 # Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/ICommonService.java
parents 90cc48b4 fbac7206
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.util.HashMap;
import java.util.Map;
public class ChargingMediumConverter implements Converter<String> {
private static final Map<String, String> EXCEL_TO_JAVA_MAP = new HashMap<>();
private static final Map<String, String> JAVA_TO_EXCEL_MAP = new HashMap<>();
static {
EXCEL_TO_JAVA_MAP.put("液化天然气", "LIQUEFIED_NATURAL_GAS");
EXCEL_TO_JAVA_MAP.put("液化石油气", "LIQUEFIED_PETROLEUM_GAS");
EXCEL_TO_JAVA_MAP.put("压缩天然气", "COMPRESSED_NATURAL_GAS");
JAVA_TO_EXCEL_MAP.put("LIQUEFIED_NATURAL_GAS", "液化天然气");
JAVA_TO_EXCEL_MAP.put("LIQUEFIED_PETROLEUM_GAS", "液化石油气");
JAVA_TO_EXCEL_MAP.put("COMPRESSED_NATURAL_GAS", "压缩天然气");
}
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
return EXCEL_TO_JAVA_MAP.getOrDefault(cellData.getStringValue(), "COMPRESSED_NATURAL_GAS");
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
return new CellData(JAVA_TO_EXCEL_MAP.getOrDefault(o, "压缩天然气"));
}
}
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
public class EquCodeTypeConverter implements Converter<String> {
private static final String HAVE = "有";
private static final String NOT = "无";
@Override
public Class<?> supportJavaTypeKey() {
// 实体类中对象属性类型
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
// 从Cell中读取数据
String cellValue = cellData.getStringValue();
// 判断Excel中的值,将其转换为预期的数值
if (HAVE.equals(cellValue)) {
return "1";
} else if (NOT.equals(cellValue)) {
return "2";
}
return null;
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// 判断实体类中获取的值,转换为Excel预期的值,并封装为CellData对象
if (o == null) {
return new CellData("");
} else if (o.equals("1")) {
return new CellData(HAVE);
} else if (o.equals("2")) {
return new CellData(NOT);
}
return new CellData("");
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
public class ImportedConverter implements Converter<String> {
private static final String WHETHER = "是";
private static final String NOT = "否";
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
// Excel中对应的CellData属性类型
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
// 从Cell中读取数据
String cellValue = cellData.getStringValue();
// 判断Excel中的值,将其转换为预期的数值
if (WHETHER.equals(cellValue)) {
return "1";
} else if (NOT.equals(cellValue)) {
return "0";
}
return null;
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// 判断实体类中获取的值,转换为Excel预期的值,并封装为CellData对象
if (o == null) {
return new CellData("");
} else if (o.equals("1")) {
return new CellData(WHETHER);
} else if (o.equals("0")) {
return new CellData(NOT);
}
return new CellData("");
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
public class NondestructConverter implements Converter<String> {
private static final String CI_FEN = "磁粉";
private static final String SHE_XIAN = "射线";
private static final String CHAO_SENG = "超声";
private static final String SHEN_TOU = "渗透";
@Override
public Class<?> supportJavaTypeKey() {
// 实体类中对象属性类型
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
// Excel中对应的CellData属性类型
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
// 从Cell中读取数据
String cellValue = cellData.getStringValue();
// 判断Excel中的值,将其转换为预期的数值
if (CI_FEN.equals(cellValue)) {
return "5988";
} else if (SHE_XIAN.equals(cellValue)) {
return "5986";
} else if (CHAO_SENG.equals(cellValue)) {
return "5987";
}
return "5989";
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// 判断实体类中获取的值,转换为Excel预期的值,并封装为CellData对象
if (o == null) {
return new CellData("");
} else if (o.equals("5988")) {
return new CellData(CI_FEN);
} else if (o.equals("5986")) {
return new CellData(SHE_XIAN);
} else if (o.equals("5987")) {
return new CellData(CHAO_SENG);
}
return new CellData(SHEN_TOU);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
public class VehicleCylinderConverter implements Converter<String> {
private static final String WHETHER = "是";
private static final String NOT = "否";
@Override
public Class<?> supportJavaTypeKey() {
// 实体类中对象属性类型
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
// Excel中对应的CellData属性类型
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
// 从Cell中读取数据
String cellValue = cellData.getStringValue();
// 判断Excel中的值,将其转换为预期的数值
if (WHETHER.equals(cellValue)) {
return "0";
} else if (NOT.equals(cellValue)) {
return "1";
}
return null;
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// 判断实体类中获取的值,转换为Excel预期的值,并封装为CellData对象
if (o == null) {
return new CellData("");
} else if (o.equals("0")) {
return new CellData(WHETHER);
} else if (o.equals("1")) {
return new CellData(NOT);
}
return new CellData("");
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jg.api.converter.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* @author LiuLin
* @date 2021-06-18.
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "设备信息-气瓶", description = "设备信息-气瓶")
public class EquipInfoCylinderExcelDto extends BaseDto {
@ExcelIgnore
private static final long serialVersionUID = 1L;
//基本信息
@ApiModelProperty(value = "设备名称")
@ExcelProperty(value = "设备名称", index = 0)
@NotBlank(message = "设备名称不能为空")
private String productName;
@ApiModelProperty(value = "品牌名称")
@ExcelProperty(value = "品牌名称", index = 1)
@NotBlank(message = "品牌名称不能为空")
@Size(min = 0, max = 100, message = "品牌名称不能超过100个字符")
private String brandName;
@ApiModelProperty(value = "设备型号")
@ExcelProperty(value = "设备型号", index = 2)
@NotBlank(message = "设备型号不能为空")
private String equType;
@ApiModelProperty(value = "单位内部编号")
@ExcelProperty(value = "单位内部编号", index = 3)
@NotBlank(message = "单位内部编号不能为空")
private String useInnerCode;
@ApiModelProperty(value = "是否车用气瓶")
@ExcelProperty(value = "是否车用气瓶", index = 4, converter = VehicleCylinderConverter.class)
@NotBlank(message = "是否车用气瓶不能为空")
private String whetherVehicleCylinder;
@ApiModelProperty(value = "有无设备代码")
@ExcelProperty(value = "有无设备代码", index = 5, converter = EquCodeTypeConverter.class)
@NotBlank(message = "有无设备代码不能为空")
private String equCodeType;
@ApiModelProperty(value = "设备代码")
@ExcelProperty(value = "设备代码", index = 6)
private String equCode;//判断是否必填和位数
@ApiModelProperty(value = "设备总价值(万元)")
@ExcelProperty(value = "设备总价值(万元)", index = 7)
@NotBlank(message = "设备总价值(万元)不能为空")
private String equPrice;
//设计信息
@ApiModelProperty(value = "设计单位统一社会信用代码")
@ExcelProperty(value = "设计单位统一社会信用代码", index = 8)
@NotBlank(message = "设计单位统一社会信用代码不能为空")
private String designUnitCreditCode;
@ApiModelProperty(value = "设计单位名称")
@ExcelProperty(value = "设计单位名称", index = 9)
@NotBlank(message = "设计单位名称不能为空")
private String designUnitName;
@ApiModelProperty(value = "设计许可编号")
@ExcelProperty(value = "设计许可编号", index = 10)
private String designLicenseNum;
@ApiModelProperty(value = "设计使用年限(年)")
@ExcelProperty(value = "设计使用年限(年)", index = 11)
private String designUseDate;
@ApiModelProperty(value = "设计日期")
@ExcelProperty(value = "设计日期", index = 12)
@DateTimeFormat("yyyy-MM-dd")
private String designDate;
@ApiModelProperty(value = "总图图号")
@ExcelProperty(value = "总图图号", index = 13)
private String drawingDo;
@ApiModelProperty(value = "设计文件鉴定单位")
@ExcelProperty(value = "设计文件鉴定单位", index = 14)
private String appraisalUnit;
@ApiModelProperty(value = "设计文件鉴定日期")
@ExcelProperty(value = "设计文件鉴定日期", index = 15)
@DateTimeFormat("yyyy-MM-dd")
private String appraisalDate;
//制造信息
@ApiModelProperty(value = "制造单位统一社会信用代码")
@ExcelProperty(value = "制造单位统一社会信用代码", index = 16)
@NotBlank(message = "制造单位统一社会信用代码不能为空")
private String produceUnitCreditCode;
@ApiModelProperty(value = "制造单位名称")
@ExcelProperty(value = "制造单位名称", index = 17)
@NotBlank(message = "制造单位名称不能为空")
private String produceUnitName;
@ApiModelProperty(value = "制造许可编号")
@ExcelProperty(value = "制造许可编号", index = 18)
@NotBlank(message = "制造许可编号不能为空")
private String produceLicenseNum;
@ApiModelProperty(value = "出厂编号/产品编码")
@ExcelProperty(value = "出厂编号/产品编码", index = 19)
@NotBlank(message = "出厂编号/产品编码不能为空")
private String factoryNum;
@ApiModelProperty(value = "制造日期")
@ExcelProperty(value = "制造日期", index = 20)
@NotBlank(message = "制造日期不能为空")
@DateTimeFormat("yyyy-MM-dd")
private String produceDate;
@ApiModelProperty(value = "是否进口")
@ExcelProperty(value = "是否进口", index = 21, converter = ImportedConverter.class)
private String imported;
@ApiModelProperty(value = "制造国")
@ExcelProperty(value = "制造国", index = 22)
private String produceCountry;
//检验检测
@ApiModelProperty(value = "检测机构名称")
@ExcelProperty(value = "检测机构名称", index = 23)
@NotBlank(message = "检测机构名称不能为空")
private String inspectOrgName;
@ApiModelProperty(value = "检测人员名称")
@ExcelProperty(value = "检测人员名称", index = 24)
@NotBlank(message = "检测人员名称不能为空")
private String inspectStaff;
@ApiModelProperty(value = "检测日期")
@ExcelProperty(value = "检测日期", index = 25)
@NotBlank(message = "检测日期不能为空")
@DateTimeFormat("yyyy-MM-dd")
private String inspectDate;
//技术参数
@ExcelProperty(value = "额定质量(kg)", index = 26)
@ApiModelProperty(value = "额定质量(kg)")
private String ratedQuality;
@ExcelProperty(value = "使用环境温度(℃)", index = 27)
@ApiModelProperty(value = "使用环境温度(℃)")
private String ambientTemperature;
@ExcelProperty(value = "单瓶容积(m3)", index = 28)
@ApiModelProperty(value = "单瓶容积(m3)")
@NotBlank(message = "单瓶容积(m3)不能为空")
private String singleBottleVolume;
@ExcelProperty(value = "型号", index = 29)
@ApiModelProperty(value = "型号")
private String modelNumber;
@ExcelProperty(value = "充装介质", index = 30, converter = ChargingMediumConverter.class)
@ApiModelProperty(value = "充装介质")
@NotBlank(message = "充装介质不能为空")
private String chargingMedium;
@ExcelProperty(value = "规格", index = 31)
@ApiModelProperty(value = "规格")
private String specification;
@ExcelProperty(value = "外径", index = 32)
@ApiModelProperty(value = "外径")
private String outsideDiameter;
@ExcelProperty(value = "壁厚", index = 33)
@ApiModelProperty(value = "壁厚")
private String wallThickness;
@ExcelProperty(value = "长度", index = 34)
@ApiModelProperty(value = "长度")
private String length;
@ExcelProperty(value = "公称工作压力(MPa)", index = 35)
@ApiModelProperty(value = "公称工作压力(MPa)")
@NotBlank(message = "公称工作压力(MPa)不能为空")
private String nominalWorkingPressure;
@ExcelProperty(value = "材料(管路)", index = 36)
@ApiModelProperty(value = "材料(管路)")
private String piping;
@ExcelProperty(value = "无损检测方法(气瓶)", index = 37, converter = NondestructConverter.class)
@ApiModelProperty(value = "无损检测方法(气瓶)")
private String qpLossless;//5988
@ExcelProperty(value = "材料(瓶体)", index = 38)
@ApiModelProperty(value = "材料(瓶体)")
private String bottleBody;
@ExcelProperty(value = "材料(端塞)", index = 39)
@ApiModelProperty(value = "材料(端塞)")
private String endPlug;
@ExcelProperty(value = "无损检测比例(管路)(%)", index = 40)
@ApiModelProperty(value = "无损检测比例(管路)(%)")
private String glRatio;
@ExcelProperty(value = "无损检测比例(气瓶)(%)", index = 41)
@ApiModelProperty(value = "无损检测比例(气瓶)(%)")
private String qpRatio;
@ExcelProperty(value = "无损检测方法(管路)", index = 42, converter = NondestructConverter.class)
@ApiModelProperty(value = "无损检测方法(管路)")
private String glLossless;
@ExcelProperty(value = "耐压实验压力(气瓶)(Mpa)", index = 43)
@ApiModelProperty(value = "耐压实验压力(气瓶)(Mpa)")
private String qpPressure;
@ExcelProperty(value = "耐压实验压力(管路)(Mpa)", index = 44)
@ApiModelProperty(value = "耐压实验压力(管路)(Mpa)")
private String glPressure;
@ExcelProperty(value = "气密性试验压力(气瓶)(Mpa)", index = 45)
@ApiModelProperty(value = "气密性试验压力(气瓶)(Mpa)")
private String qpAirTightness;
@ExcelProperty(value = "气体置换后压力(MPa)", index = 46)
@ApiModelProperty(value = "气体置换后压力(MPa)")
private String displacementPressure;
@ExcelProperty(value = "热处理方式", index = 47)
@ApiModelProperty(value = "热处理方式")
private String heatTreatmentMethod;
@ExcelProperty(value = "气密性实验压力(管路)(MPa)", index = 48)
@ApiModelProperty(value = "气密性实验压力(管路)(MPa)")
private String glAirTightness;
@ExcelProperty(value = "气瓶安装位置", index = 49)
@ApiModelProperty(value = "气瓶安装位置")
private String installationPosition;
@ExcelProperty(value = "瓶体内含氧量(%)", index = 50)
@ApiModelProperty(value = "瓶体内含氧量(%)")
private String oxygen;
@ExcelProperty(value = "热处理温度(℃)", index = 51)
@ApiModelProperty(value = "热处理温度(℃)")
private String qpHeatTreatmentTemperature;
}
...@@ -47,6 +47,9 @@ public class JgChangeRegistrationNameDto extends BaseDto { ...@@ -47,6 +47,9 @@ public class JgChangeRegistrationNameDto extends BaseDto {
@ApiModelProperty(value = "终审通过时间") @ApiModelProperty(value = "终审通过时间")
private Date auditPassDate; private Date auditPassDate;
@ApiModelProperty(value = "申请日期,接收查询参数")
private String applicationDate;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
......
...@@ -83,6 +83,9 @@ public class JgChangeRegistrationTransferDto extends BaseDto { ...@@ -83,6 +83,9 @@ public class JgChangeRegistrationTransferDto extends BaseDto {
@ApiModelProperty (value = "使用登记编号") @ApiModelProperty (value = "使用登记编号")
private String useRegistrationCode; private String useRegistrationCode;
@ApiModelProperty(value = "96333识别码")
private String code96333;
@ApiModelProperty (value = "流程实例id") @ApiModelProperty (value = "流程实例id")
private String instanceId; private String instanceId;
...@@ -122,6 +125,16 @@ public class JgChangeRegistrationTransferDto extends BaseDto { ...@@ -122,6 +125,16 @@ public class JgChangeRegistrationTransferDto extends BaseDto {
private String dataType; private String dataType;
private String unitCode; private String unitCode;
@ApiModelProperty(value = "申请日期,接收查询参数")
private String applicationDate;
@ApiModelProperty("设备品种")
private String equDefine;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty (value = "下一节点可执行人") @ApiModelProperty (value = "下一节点可执行人")
private String nextExecuteUserIds; private String nextExecuteUserIds;
......
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.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -52,6 +51,33 @@ public class JgEnableDisableDto extends BaseDto { ...@@ -52,6 +51,33 @@ public class JgEnableDisableDto extends BaseDto {
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Date createDate; private Date createDate;
@ApiModelProperty(value = "申请日期,接收查询参数")
private String applicationDate;
@ApiModelProperty("设备品种")
private String equDefine;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useRegistrationCode;
@ApiModelProperty(value = "96333识别码")
private String code96333;
@ApiModelProperty(value = "设备地址")
private String address;
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")
private String createUserName; private String createUserName;
......
...@@ -126,13 +126,13 @@ public class JgInstallationNoticeDto extends BaseDto { ...@@ -126,13 +126,13 @@ public class JgInstallationNoticeDto extends BaseDto {
@ApiModelProperty(value = "流程建议") @ApiModelProperty(value = "流程建议")
private String processAdvice; private String processAdvice;
@ApiModelProperty(value = "撤销原由") @ApiModelProperty(value = "作废原因")
private String cancelReason; private String cancelReason;
@ApiModelProperty(value = "撤销说明") @ApiModelProperty(value = "撤销说明-未使用")
private String cancelRemark; private String cancelRemark;
@ApiModelProperty(value = "撤销处理截止日期") @ApiModelProperty(value = "撤销日期-未使用")
private Date cancelHandleDeadline; private Date cancelHandleDeadline;
@ApiModelProperty(value = "撤销流水号") @ApiModelProperty(value = "撤销流水号")
...@@ -299,4 +299,13 @@ public class JgInstallationNoticeDto extends BaseDto { ...@@ -299,4 +299,13 @@ public class JgInstallationNoticeDto extends BaseDto {
@ApiModelProperty(value = "设备类别") @ApiModelProperty(value = "设备类别")
private String equipCategory; private String equipCategory;
@ApiModelProperty(value = "作废人员id")
private String cancelUserId;
@ApiModelProperty(value = "作废日期")
private Date cancelDate;
} }
...@@ -109,12 +109,23 @@ public class JgScrapCancelDto extends BaseDto { ...@@ -109,12 +109,23 @@ public class JgScrapCancelDto extends BaseDto {
@ApiModelProperty(value = "转办后执行人的Id逗号分割") @ApiModelProperty(value = "转办后执行人的Id逗号分割")
private String transferToUserIds; private String transferToUserIds;
@ApiModelProperty(value = "设备代号") @ApiModelProperty("设备品种")
private String equList; private String equDefine;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "设备类别") @ApiModelProperty(value = "设备类别")
private String equCategoryDesc; private String equCategory;
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useRegistrationCode;
@ApiModelProperty(value = "96333识别码")
private String code96333;
@ApiModelProperty(value = "设备名称") @ApiModelProperty(value = "设备名称")
private String productName; private String productName;
...@@ -125,4 +136,7 @@ public class JgScrapCancelDto extends BaseDto { ...@@ -125,4 +136,7 @@ public class JgScrapCancelDto extends BaseDto {
@ApiModelProperty (value = "其他附件") @ApiModelProperty (value = "其他附件")
private String otherAccessories; private String otherAccessories;
@ApiModelProperty(value = "申请日期,接收查询参数")
private String applicationDate;
} }
...@@ -134,4 +134,17 @@ public class JgUseRegistrationDto extends BaseDto { ...@@ -134,4 +134,17 @@ public class JgUseRegistrationDto extends BaseDto {
@ApiModelProperty(value = "接收单位") @ApiModelProperty(value = "接收单位")
private String receiveCompanyCode; private String receiveCompanyCode;
@ApiModelProperty(value = "作废人员id")
private String cancelUserId;
@ApiModelProperty(value = "作废原因")
private String cancelReason;
@ApiModelProperty(value = "作废日期")
private Date cancelDate;
} }
...@@ -5,18 +5,17 @@ import io.swagger.annotations.ApiModel; ...@@ -5,18 +5,17 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
*
*
* @author system_generator * @author system_generator
* @date 2024-03-18 * @date 2024-03-18
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="JgVehicleInformationDto", description="") @ApiModel(value = "JgVehicleInformationDto", description = "")
public class JgVehicleInformationDto extends BaseDto { public class JgVehicleInformationDto extends BaseDto {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -228,4 +227,15 @@ public class JgVehicleInformationDto extends BaseDto { ...@@ -228,4 +227,15 @@ public class JgVehicleInformationDto extends BaseDto {
@ApiModelProperty(value = "电话") @ApiModelProperty(value = "电话")
private String phone; private String phone;
@ApiModelProperty(value = "作废日期")
private Date cancelDate;
@ApiModelProperty(value = "作废人员id")
private String cancelUserId;
@ApiModelProperty(value = "作废原因")
private String cancelReason;
} }
...@@ -225,7 +225,7 @@ public class JgInstallationNotice extends BaseEntity { ...@@ -225,7 +225,7 @@ public class JgInstallationNotice extends BaseEntity {
private String processAdvice; private String processAdvice;
/** /**
* 撤销原由 * 作废原因
*/ */
@TableField("cancel_reason") @TableField("cancel_reason")
private String cancelReason; private String cancelReason;
...@@ -459,4 +459,16 @@ public class JgInstallationNotice extends BaseEntity { ...@@ -459,4 +459,16 @@ public class JgInstallationNotice extends BaseEntity {
*/ */
@TableField("receive_company_org_code") @TableField("receive_company_org_code")
private String receiveCompanyOrgCode; private String receiveCompanyOrgCode;
/**
* 作废日期
*/
@TableField("cancel_date")
private Date cancelDate;
/**
* 作废人员id
*/
@TableField("cancel_user_id")
private String cancelUserId;
} }
...@@ -210,4 +210,23 @@ public class JgUseRegistration extends BaseEntity { ...@@ -210,4 +210,23 @@ public class JgUseRegistration extends BaseEntity {
*/ */
@TableField("receive_company_org_code") @TableField("receive_company_org_code")
private String receiveCompanyOrgCode; private String receiveCompanyOrgCode;
/**
* 作废日期
*/
@TableField("cancel_date")
private Date cancelDate;
/**
* 作废人员id
*/
@TableField("cancel_user_id")
private String cancelUserId;
/**
* 作废原因
*/
@TableField("cancel_reason")
private String cancelReason;
} }
...@@ -408,4 +408,23 @@ public class JgVehicleInformation extends BaseEntity { ...@@ -408,4 +408,23 @@ public class JgVehicleInformation extends BaseEntity {
@TableField(value = "phone") @TableField(value = "phone")
private String phone; private String phone;
/**
* 作废日期
*/
@TableField("cancel_date")
private Date cancelDate;
/**
* 作废人员id
*/
@TableField("cancel_user_id")
private String cancelUserId;
/**
* 作废原因
*/
@TableField("cancel_reason")
private String cancelReason;
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,7 @@ 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.JgChangeRegistrationNameDto;
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 com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -23,5 +24,10 @@ public interface JgChangeRegistrationNameMapper extends BaseMapper<JgChangeRegis ...@@ -23,5 +24,10 @@ public interface JgChangeRegistrationNameMapper extends BaseMapper<JgChangeRegis
void deleteHistoryInfoById(@Param("code") String code); 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("companyCode") String companyCode, @Param("currentUserId") String exeUserId); Page<Map<String, Object>> getListPage(@Param("page") Page<Map<String, Object>> page,
@Param("sort") SortVo sortMap,
@Param("dto") JgChangeRegistrationNameDto dto,
@Param("roleIds") List<String> roleIds,
@Param("companyCode") String companyCode,
@Param("currentUserId") String exeUserId);
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,7 @@ 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;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
...@@ -20,7 +21,11 @@ public interface JgChangeRegistrationTransferMapper extends BaseMapper<JgChangeR ...@@ -20,7 +21,11 @@ public interface JgChangeRegistrationTransferMapper extends BaseMapper<JgChangeR
void updatePromoter(@Param ("id")Long id); void updatePromoter(@Param ("id")Long id);
Page<Map<String, Object>> getListPage(@Param("page")Page<Map<String, Object>> page, @Param("dto") JgChangeRegistrationTransferDto dto , @Param("type") String type, @Param("currentUserId")String currentUserId); Page<Map<String, Object>> getListPage(@Param("page")Page<Map<String, Object>> page,
@Param("sort") SortVo sortMap,
@Param("dto") JgChangeRegistrationTransferDto dto ,
@Param("type") String type,
@Param("currentUserId")String currentUserId);
@Select("select name from tz_equipment_category where code=#{code}") @Select("select name from tz_equipment_category where code=#{code}")
String getEquiplistNameByEquiplist(String code); String getEquiplistNameByEquiplist(String code);
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,7 @@ 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;
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 com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Map; import java.util.Map;
...@@ -17,6 +18,7 @@ import java.util.Map; ...@@ -17,6 +18,7 @@ import java.util.Map;
public interface JgEnableDisableMapper extends BaseMapper<JgEnableDisable> { public interface JgEnableDisableMapper extends BaseMapper<JgEnableDisable> {
Page<Map<String, Object>> pageList(@Param("page") Page<Map<String, Object>> page, Page<Map<String, Object>> pageList(@Param("page") Page<Map<String, Object>> page,
@Param("sort") SortVo sortMap,
@Param("dto") JgEnableDisableDto dto, @Param("dto") JgEnableDisableDto dto,
@Param("type") String type, @Param("type") String type,
@Param("userId") String userId); @Param("userId") String userId);
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel; import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -18,6 +19,7 @@ import java.util.Map; ...@@ -18,6 +19,7 @@ import java.util.Map;
public interface JgScrapCancelMapper extends BaseMapper<JgScrapCancel> { public interface JgScrapCancelMapper extends BaseMapper<JgScrapCancel> {
Page<Map<String, Object>> getListPage(@Param("page") Page<Map<String, Object>> page, Page<Map<String, Object>> getListPage(@Param("page") Page<Map<String, Object>> page,
@Param("sort") SortVo sortMap,
@Param("dto") JgScrapCancelDto dto, @Param("dto") JgScrapCancelDto dto,
@Param("roleIds") List<String> roleIds, @Param("roleIds") List<String> roleIds,
@Param("orgCode") String orgCode, @Param("orgCode") String orgCode,
......
...@@ -28,7 +28,7 @@ public interface IJgChangeRegistrationTransferService extends IService<JgChangeR ...@@ -28,7 +28,7 @@ public interface IJgChangeRegistrationTransferService extends IService<JgChangeR
Map<String, Map<String, Object>> getTransferDetail(String sequenceNbr); Map<String, Map<String, Object>> getTransferDetail(String sequenceNbr);
Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page, JgChangeRegistrationTransferDto params, String companyTypeCode, String companyType); Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page,String sort, JgChangeRegistrationTransferDto params, String companyTypeCode, String companyType);
void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId); void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId);
......
...@@ -76,4 +76,12 @@ public interface IJgInstallationNoticeService extends IService<JgInstallationNot ...@@ -76,4 +76,12 @@ public interface IJgInstallationNoticeService extends IService<JgInstallationNot
* @return * @return
*/ */
Map<String,Object> getCompanyType(); Map<String,Object> getCompanyType();
/**
* 作废申请
* @param sequenceNbr 业务唯一标识
* @param cancelReason 作废原因
* @return JgInstallationNoticeDto
*/
JgInstallationNotice cancelApplication(Long sequenceNbr, String cancelReason);
} }
...@@ -199,7 +199,7 @@ public class JgVehicleInformationVo implements Serializable { ...@@ -199,7 +199,7 @@ public class JgVehicleInformationVo implements Serializable {
private String currentUserId; private String currentUserId;
private List<Map<String, Object>> equipmentLists; private List<? extends Map> equipmentLists;
@ApiModelProperty(value = "主键ID") @ApiModelProperty(value = "主键ID")
protected Long sequenceNbr; protected Long sequenceNbr;
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
where where
a.sequence_nbr = b.equip_transfer_id a.sequence_nbr = b.equip_transfer_id
and b.equ_id = #{record} and b.equ_id = #{record}
and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回') and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
UNION UNION
select select
count(1) as inUseNumber count(1) as inUseNumber
...@@ -175,7 +175,7 @@ ...@@ -175,7 +175,7 @@
where where
a.sequence_nbr = b.equip_transfer_id a.sequence_nbr = b.equip_transfer_id
and b.equ_id = #{record} and b.equ_id = #{record}
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' ) and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
UNION UNION
select select
count(1) as inUseNumber count(1) as inUseNumber
...@@ -661,6 +661,7 @@ ...@@ -661,6 +661,7 @@
n.sequence_nbr = ne.equip_transfer_id n.sequence_nbr = ne.equip_transfer_id
and n.status != '使用单位待提交' and n.status != '使用单位待提交'
and n.status != '使用单位已撤回' and n.status != '使用单位已撤回'
and n.status != '已作废'
and (n.manage_type is null or n.manage_type = '' or n.manage_type = 'set') and (n.manage_type is null or n.manage_type = '' or n.manage_type = 'set')
<if test="param.beginDate != null"> <if test="param.beginDate != null">
and date_ge(CAST(n.reg_date as date), #{param.beginDate}) and date_ge(CAST(n.reg_date as date), #{param.beginDate})
......
...@@ -43,11 +43,17 @@ ...@@ -43,11 +43,17 @@
<if test="dto.auditStatus != null and dto.auditStatus != ''"> <if test="dto.auditStatus != null and dto.auditStatus != ''">
and ur.audit_status = #{dto.auditStatus} and ur.audit_status = #{dto.auditStatus}
</if> </if>
<if test="dto.useUnitName != null and dto.useUnitName != ''">
and ur.use_unit_name = #{dto.useUnitName}
</if>
<if test="dto.newUseUnitName != null and dto.newUseUnitName != ''">
and ur.new_use_unit_name = #{dto.newUseUnitName}
</if>
<if test="dto.applyNo != null and dto.applyNo != ''"> <if test="dto.applyNo != null and dto.applyNo != ''">
and ur.apply_no like concat('%',#{dto.applyNo},'%') and ur.apply_no like concat('%',#{dto.applyNo},'%')
</if> </if>
<if test="dto.createDate != null"> <if test="dto.applicationDate != null">
AND ur.create_date >= #{dto.createDate} AND ur.create_date like concat('%',DATE_FORMAT(#{dto.applicationDate},'%Y-%m-%d'),'%')
</if> </if>
<if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''"> <if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''">
AND ur.receive_org_code = #{dto.receiveOrgCode} AND ur.receive_org_code = #{dto.receiveOrgCode}
...@@ -65,7 +71,11 @@ ...@@ -65,7 +71,11 @@
and (ur.use_unit_credit_code = #{dto.useUnitCreditCode} or ur.transfer_to_user_ids LIKE concat ('%', #{currentUserId}, '%')) and (ur.use_unit_credit_code = #{dto.useUnitCreditCode} or ur.transfer_to_user_ids LIKE concat ('%', #{currentUserId}, '%'))
</if> </if>
</where> </where>
order by ur.rec_date desc order by
<if test="sort != null">
ur.${sort.field} ${sort.sortType},
</if>
ur.rec_date desc
</select> </select>
<delete id="deleteHistoryInfoById"> <delete id="deleteHistoryInfoById">
......
...@@ -8,11 +8,10 @@ ...@@ -8,11 +8,10 @@
</update> </update>
<select id="getListPage" resultType="java.util.Map"> <select id="getListPage" resultType="java.util.Map">
select * from select
(select crt.sequence_nbr as sequenceNbr, crt.sequence_nbr as sequenceNbr,
crt.audit_status as auditStatus, crt.audit_status as auditStatus,
crt.reg_date as regDate, crt.reg_date as regDate,
crt.use_unit_name as useUnitName,
crt.status, crt.status,
crt.receive_org_name as receiveOrgName, crt.receive_org_name as receiveOrgName,
crt.apply_no as applyNo, crt.apply_no as applyNo,
...@@ -23,18 +22,24 @@ ...@@ -23,18 +22,24 @@
crt.use_registration_code as useRegistrationCode, crt.use_registration_code as useRegistrationCode,
crt.next_execute_user_ids as nextExecuteUserIds, crt.next_execute_user_ids as nextExecuteUserIds,
crt.create_user_id as createUserId, crt.create_user_id as createUserId,
crt.full_address as allAddress,
crt.next_task_id as nextTaskId, crt.next_task_id as nextTaskId,
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,
jri.PRODUCT_NAME as productName, jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode, jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode, use.USE_INNER_CODE as innerCode,
crteq.equ_id as equipId crteq.equ_id as equipId,
oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as allAddress,
use."ADDRESS" as detailedAddress,
(SELECT name from tz_equipment_category WHERE code = jri.EQU_LIST) AS equList,
(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
from tzs_jg_change_registration_transfer crt from tzs_jg_change_registration_transfer crt
LEFT JOIN tzs_jg_change_registration_transfer_eq crteq on crt.sequence_nbr = crteq.equip_transfer_id LEFT JOIN tzs_jg_change_registration_transfer_eq crteq on crt.sequence_nbr = crteq.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on crteq.equ_id = jri.RECORD LEFT JOIN idx_biz_jg_register_info jri on crteq.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on crteq.equ_id = use.RECORD LEFT JOIN idx_biz_jg_use_info use on crteq.equ_id = use.RECORD
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = crteq.equ_id
<where> <where>
and crt.is_delete = 0 and crt.is_delete = 0
<if test="dto.equCategory != null and dto.equCategory != ''"> <if test="dto.equCategory != null and dto.equCategory != ''">
...@@ -43,76 +48,49 @@ ...@@ -43,76 +48,49 @@
<if test="dto.auditStatus != null and dto.auditStatus != ''"> <if test="dto.auditStatus != null and dto.auditStatus != ''">
and crt.audit_status like concat('%', #{dto.auditStatus},'%') and crt.audit_status like concat('%', #{dto.auditStatus},'%')
</if> </if>
<if test="dto.applicationDate != null and dto.applicationDate != ''">
and crt.reg_date like concat('%',DATE_FORMAT(#{dto.applicationDate},'%Y-%m-%d'),'%')
</if>
<if test="dto.equCode != null and dto.equCode != ''"> <if test="dto.equCode != null and dto.equCode != ''">
and jri.EQU_CODE like concat('%',#{dto.equCode},'%') and jri.EQU_CODE like concat('%',#{dto.equCode},'%')
</if> </if>
<if test="dto.useUnitCreditCode != null and dto.useUnitCreditCode != ''"> <if test="dto.useUnitCreditCode != null and dto.useUnitCreditCode != ''">
and crt.use_unit_credit_code = #{dto.useUnitCreditCode} and crt.use_unit_credit_code = #{dto.useUnitCreditCode}
</if> </if>
<if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''"> <if test="dto.equList != null and dto.equList != ''">
and crt.receive_company_code = #{dto.receiveOrgCode} AND jri."EQU_LIST" = #{dto.equList}
</if> </if>
<if test="type == 'supervision'"> <if test="dto.equCategory != null and dto.equCategory != ''">
AND crt.receive_company_code = #{dto.unitCode} AND jri."equ_category" = #{dto.equCategory}
AND crt.instance_id <![CDATA[<>]]> ''
</if> </if>
<if test="type == 'company'"> <if test="dto.equDefine != null and dto.equDefine != ''">
AND crt.use_unit_credit_code = #{dto.unitCode} AND jri."EQU_DEFINE" = #{dto.equDefine}
</if> </if>
<if test="dto.applyNo != null and dto.applyNo != ''"> <if test="dto.equCode != null and dto.equCode != ''">
and crt.apply_no like concat('%',#{dto.applyNo},'%') AND jri."EQU_CODE" like concat('%',#{dto.equCode},'%')
</if> </if>
<if test="dto.productName != null and dto.productName != ''"> <if test="dto.useRegistrationCode != null and dto.useRegistrationCode != ''">
and jri.PRODUCT_NAME like concat('%',#{dto.productName},'%') AND crt.use_registration_code like concat('%',#{dto.useRegistrationCode},'%')
</if> </if>
</where> <if test="dto.code96333 != null and dto.code96333 != ''">
union AND oi.CODE96333 like concat('%',#{dto.code96333},'%')
select crt.sequence_nbr as sequenceNbr,
crt.audit_status as auditStatus,
crt.reg_date as regDate,
crt.use_unit_name as useUnitName,
crt.status,
crt.receive_org_name as receiveOrgName,
crt.apply_no as applyNo,
crt.next_executor_ids AS nextExecutorIds,
crt.promoter,
crt.rec_date as recDate,
crt.instance_id as instanceId,
crt.use_registration_code as useRegistrationCode,
crt.next_execute_user_ids as nextExecuteUserIds,
crt.create_user_id as createUserId,
crt.full_address as allAddress,
crt.next_task_id as nextTaskId,
use.USE_UNIT_NAME as useUnitName,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode,
crteq.equ_id as equipId
from tzs_jg_change_registration_transfer crt
LEFT JOIN tzs_jg_change_registration_transfer_eq crteq on crt.sequence_nbr = crteq.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on crteq.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on crteq.equ_id = use.RECORD
<where>
and crt.is_delete = 0
AND crt.transfer_to_user_ids like concat('%',#{currentUserId},'%')
<if test="dto.equCategory != null and dto.equCategory != ''">
and jri.EQU_CATEGORY = #{dto.equCategory}
</if>
<if test="dto.auditStatus != null and dto.auditStatus != ''">
and crt.audit_status = concat('%',#{dto.auditStatus},'%')
</if> </if>
<if test="dto.equCode != null and dto.equCode != ''"> <if test="dto.supervisoryCode != null and dto.supervisoryCode != ''">
and jri.EQU_CODE like concat('%',#{dto.equCode},'%') AND oi.SUPERVISORY_CODE like concat('%',#{dto.supervisoryCode},'%')
</if> </if>
<if test="dto.useUnitCreditCode != null and dto.useUnitCreditCode != ''"> <if test="dto.allAddress != null and dto.allAddress != ''">
and crt.use_unit_credit_code = #{dto.useUnitCreditCode} AND (
use."PROVINCE_NAME" LIKE CONCAT('%', #{dto.allAddress}, '%')
OR use."CITY_NAME" LIKE CONCAT('%', #{dto.allAddress}, '%')
OR use."COUNTY_NAME" LIKE CONCAT('%', #{dto.allAddress}, '%')
OR use."STREET_NAME" LIKE CONCAT('%', #{dto.allAddress}, '%')
)
</if> </if>
<if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''"> <if test="dto.receiveOrgCode != null and dto.receiveOrgCode != ''">
and crt.receive_company_code = #{dto.receiveOrgCode} and (crt.receive_company_code = #{dto.receiveOrgCode} or crt.transfer_to_user_ids like concat('%',#{currentUserId},'%'))
</if> </if>
<if test="type == 'supervision'"> <if test="type == 'supervision'">
AND crt.receive_company_code = #{dto.unitCode} AND (crt.receive_company_code = #{dto.unitCode} or crt.transfer_to_user_ids like concat('%',#{currentUserId},'%'))
AND crt.instance_id <![CDATA[<>]]> '' AND crt.instance_id <![CDATA[<>]]> ''
</if> </if>
<if test="type == 'company'"> <if test="type == 'company'">
...@@ -124,8 +102,12 @@ ...@@ -124,8 +102,12 @@
<if test="dto.productName != null and dto.productName != ''"> <if test="dto.productName != null and dto.productName != ''">
and jri.PRODUCT_NAME like concat('%',#{dto.productName},'%') and jri.PRODUCT_NAME like concat('%',#{dto.productName},'%')
</if> </if>
</where>) </where>
order by recDate desc order by
<if test="sort != null">
crt.${sort.field} ${sort.sortType},
</if>
recDate desc
</select> </select>
</mapper> </mapper>
...@@ -4,24 +4,23 @@ ...@@ -4,24 +4,23 @@
<select id="pageList" resultType="java.util.Map"> <select id="pageList" resultType="java.util.Map">
SELECT SELECT
CASE
when jed.apply_type = 'SB_TY' then '设备停用'
else '设备启用' end as applyType,
jed.sequence_nbr as sequenceNbr, jed.sequence_nbr as sequenceNbr,
jed.apply_no as applyNo, jed.apply_no as applyNo,
date_format(jed.apply_date, '%Y-%m-%d') as applyDate, date_format(jed.apply_date, '%Y-%m-%d') as applyDate,
CASE date_format(jed.audit_pass_date, '%Y-%m-%d') as auditPassDate,
when
jed.apply_type = 'SB_TY' then '停用'
else '启用' end as applyType,
jri.USE_ORG_CODE as useOrgCode, 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, jri.PRODUCT_NAME as productName,
jri.EQU_CODE AS equCode,
jri.USE_ORG_CODE AS useRegistrationCode,
use.USE_UNIT_NAME as useUnitName, use.USE_UNIT_NAME as useUnitName,
jed.receive_org_name as receiveOrgName, jed.receive_org_name as receiveOrgName,
concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME", '', concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as address,
use."ADDRESS") as address, use."ADDRESS" as detailedAddress,
use."USE_INNER_CODE" as useInnerCode, use."USE_INNER_CODE" as useInnerCode,
jed.audit_status as auditStatus, jed.audit_status as auditStatus,
date_format(jed.audit_pass_date, '%Y-%m-%d') as auditPassDate,
jed.instance_id as instanceId, jed.instance_id as instanceId,
jed.execute_sequence as executeSequence, jed.execute_sequence as executeSequence,
jed.next_executor_ids as nextExecutorIds, jed.next_executor_ids as nextExecutorIds,
...@@ -29,12 +28,16 @@ ...@@ -29,12 +28,16 @@
jed.next_execute_user_ids as nextExecuteUserIds, jed.next_execute_user_ids as nextExecuteUserIds,
jed.create_user_id as createUserId, jed.create_user_id as createUserId,
jed.next_task_id as nextTaskId, jed.next_task_id as nextTaskId,
(select SUPERVISORY_CODE from idx_biz_jg_other_info oi where jri.RECORD = oi.RECORD) as supervisoryCode oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
(SELECT name from tz_equipment_category WHERE code = jri.EQU_LIST) AS equList,
(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
FROM tzs_jg_enable_disable jed 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 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_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_use_info use on jri.RECORD = use.RECORD
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = jede.equ_id
<where> <where>
jed.is_delete = 0 jed.is_delete = 0
<if test="dto.applyNo != null and dto.applyNo != '' "> <if test="dto.applyNo != null and dto.applyNo != '' ">
...@@ -56,8 +59,44 @@ ...@@ -56,8 +59,44 @@
<if test="dto.applyType != null and dto.applyType != ''"> <if test="dto.applyType != null and dto.applyType != ''">
and jed.apply_type = #{dto.applyType} and jed.apply_type = #{dto.applyType}
</if> </if>
<if test="dto.applicationDate != null and dto.applicationDate != ''">
and jed.apply_date like concat('%',DATE_FORMAT(#{dto.applicationDate},'%Y-%m-%d'),'%')
</if>
<if test="dto.equList != null and dto.equList != ''">
AND jri."EQU_LIST" = #{dto.equList}
</if>
<if test="dto.equCategory != null and dto.equCategory != ''">
AND jri."equ_category" = #{dto.equCategory}
</if>
<if test="dto.equDefine != null and dto.equDefine != ''">
AND jri."EQU_DEFINE" = #{dto.equDefine}
</if>
<if test="dto.equCode != null and dto.equCode != ''">
AND jri."EQU_CODE" like concat('%',#{dto.equCode},'%')
</if>
<if test="dto.useRegistrationCode != null and dto.useRegistrationCode != ''">
AND jri."USE_ORG_CODE" like concat('%',#{dto.useRegistrationCode},'%')
</if>
<if test="dto.code96333 != null and dto.code96333 != ''">
AND oi.CODE96333 like concat('%',#{dto.code96333},'%')
</if>
<if test="dto.supervisoryCode != null and dto.supervisoryCode != ''">
AND oi.SUPERVISORY_CODE like concat('%',#{dto.supervisoryCode},'%')
</if>
<if test="dto.address != null and dto.address != ''">
AND (
use."PROVINCE_NAME" LIKE CONCAT('%', #{dto.address}, '%')
OR use."CITY_NAME" LIKE CONCAT('%', #{dto.address}, '%')
OR use."COUNTY_NAME" LIKE CONCAT('%', #{dto.address}, '%')
OR use."STREET_NAME" LIKE CONCAT('%', #{dto.address}, '%')
)
</if>
</where> </where>
order by jed.rec_date desc order by
<if test="sort != null">
jed.${sort.field} ${sort.sortType},
</if>
jed.rec_date desc
</select> </select>
<select id="getDetail" resultType="java.util.Map"> <select id="getDetail" resultType="java.util.Map">
SELECT jed.sequence_nbr as sequenceNbr, SELECT jed.sequence_nbr as sequenceNbr,
......
...@@ -34,7 +34,8 @@ ...@@ -34,7 +34,8 @@
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefine, (select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefine,
(SELECT name from tz_equipment_category where code = ri.EQU_LIST) AS equListName, (SELECT name from tz_equipment_category where code = ri.EQU_LIST) AS equListName,
concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") as equAddress, concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") as equAddress,
ibjui."ADDRESS" as detailedAddress ibjui."ADDRESS" as detailedAddress,
isn.cancel_reason as cancelReason
FROM tzs_jg_installation_notice isn FROM tzs_jg_installation_notice isn
LEFT JOIN tzs_jg_installation_notice_eq insEq on insEq.equip_transfer_id = isn.sequence_nbr LEFT JOIN tzs_jg_installation_notice_eq insEq on insEq.equip_transfer_id = isn.sequence_nbr
LEFT JOIN idx_biz_jg_use_info ibjui on insEq.equ_id = ibjui.RECORD LEFT JOIN idx_biz_jg_use_info ibjui on insEq.equ_id = ibjui.RECORD
...@@ -192,7 +193,7 @@ ...@@ -192,7 +193,7 @@
tzs_jg_installation_notice_eq b tzs_jg_installation_notice_eq b
where where
a.sequence_nbr = b.equip_transfer_id a.sequence_nbr = b.equip_transfer_id
and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]>'6610') and (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]>'6610' and a.notice_status <![CDATA[ <> ]]>'6617')
GROUP BY a.install_unit_credit_code GROUP BY a.install_unit_credit_code
</select> </select>
</mapper> </mapper>
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
ri.EQU_CODE AS equCode, ri.EQU_CODE AS equCode,
(SELECT name from tz_equipment_category ec WHERE ec.code = ri.EQU_LIST) AS equListName, (SELECT name from tz_equipment_category ec WHERE ec.code = ri.EQU_LIST) AS equListName,
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefineName, (select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefineName,
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_CATEGORY) AS equCategoryName,
concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") as fullAddress, concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") as fullAddress,
ibjui."ADDRESS" as detailedAddress, ibjui."ADDRESS" as detailedAddress,
ibjoi.SUPERVISORY_CODE as supervisoryCode, ibjoi.SUPERVISORY_CODE as supervisoryCode,
......
...@@ -10,69 +10,113 @@ ...@@ -10,69 +10,113 @@
<select id="getListPage" resultType="java.util.Map"> <select id="getListPage" resultType="java.util.Map">
select ur.sequence_nbr as sequenceNbr, select tjsc.sequence_nbr as sequenceNbr,
ur.instance_id as instanceId, tjsc.instance_id as instanceId,
ur.create_user_id as createUserId, tjsc.create_user_id as createUserId,
ur.audit_status as auditStatus, tjsc.audit_status as auditStatus,
DATE_FORMAT(ur.rec_date,'%Y-%m-%d') as recDate, DATE_FORMAT(tjsc.rec_date,'%Y-%m-%d') as recDate,
DATE_FORMAT(ur.create_date,'%Y-%m-%d') as createDate, DATE_FORMAT(tjsc.create_date,'%Y-%m-%d') as createDate,
ur.receive_org_code as receiveOrgCode, tjsc.receive_org_code as receiveOrgCode,
ur.receive_org_name as receiveOrgName, tjsc.receive_org_name as receiveOrgName,
ur.receive_company_code as receiveCompanyCode, tjsc.receive_company_code as receiveCompanyCode,
ur.cancel_certificate as cancelCertificate, tjsc.cancel_certificate as cancelCertificate,
ur.cancel_type as cancelType, tjsc.cancel_type as cancelType,
ur.apply_no as applyNo, tjsc.apply_no as applyNo,
ur.status, tjsc.status,
ur.remark, tjsc.remark,
ur.instance_status as instanceStatus, tjsc.instance_status as instanceStatus,
ur.promoter, tjsc.promoter,
ur.next_execute_user_ids as nextExecuteUserIds, tjsc.next_execute_user_ids as nextExecuteUserIds,
ur.supervisory_code as supervisoryCode, tjsc.supervisory_code as supervisoryCode,
ur.next_task_id as nextTaskId, tjsc.next_task_id as nextTaskId,
ifnull(ur.next_execute_ids,'') as nextExecuteIds, ifnull(tjsc.next_execute_ids,'') as nextExecuteIds,
DATE_FORMAT(ur.audit_pass_date,'%Y-%m-%d') as auditPassDate, DATE_FORMAT(tjsc.audit_pass_date,'%Y-%m-%d') as auditPassDate,
use.USE_UNIT_CREDIT_CODE as useUnitCreditCode, use.USE_UNIT_CREDIT_CODE as useUnitCreditCode,
ur.use_unit_name as useUnitName, tjsc.use_unit_name as useUnitName,
ur.use_unit_code as useUnitCode, tjsc.use_unit_code as useUnitCode,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory, jri.USE_ORG_CODE AS useRegistrationCode,
jri.EQU_DEFINE as equDefine,
jri.PRODUCT_NAME as productName, jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode, jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode, use.USE_INNER_CODE as innerCode,
use.ADDRESS as address, use.ADDRESS as address,
CONCAT(use.PROVINCE_NAME,'', use.CITY_NAME, '', use.COUNTY_NAME, '', use.street_name, use.ADDRESS, '') AS place, oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
(SELECT name from tz_equipment_category WHERE code = jri.EQU_LIST) AS equList,
(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,
CONCAT(use.PROVINCE_NAME,'', use.CITY_NAME, '', use.COUNTY_NAME, '', use.street_name) AS place,
use."ADDRESS" as detailedAddress,
re.equ_id as equipId re.equ_id as equipId
from tzs_jg_scrap_cancel ur from tzs_jg_scrap_cancel tjsc
LEFT JOIN tzs_jg_scrap_cancel_eq re on ur.sequence_nbr = re.equip_transfer_id LEFT JOIN tzs_jg_scrap_cancel_eq re on tjsc.sequence_nbr = re.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on re.equ_id = use.RECORD LEFT JOIN idx_biz_jg_use_info use on re.equ_id = use.RECORD
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = re.equ_id
<where> <where>
and ur.is_delete = 0 and tjsc.is_delete = 0
<if test="dto.auditStatus != null and dto.auditStatus != ''"> <if test="dto.auditStatus != null and dto.auditStatus != ''">
and ur.audit_status = #{dto.auditStatus} and tjsc.audit_status = #{dto.auditStatus}
</if> </if>
<if test="dto.applyNo != null and dto.applyNo != ''"> <if test="dto.applyNo != null and dto.applyNo != ''">
and ur.apply_no like concat('%',#{dto.applyNo},'%') and tjsc.apply_no like concat('%',#{dto.applyNo},'%')
</if> </if>
<if test="dto.cancelType != null and dto.cancelType != ''"> <if test="dto.cancelType != null and dto.cancelType != ''">
and ur.cancel_type = #{dto.cancelType} and tjsc.cancel_type = #{dto.cancelType}
</if>
<if test="dto.receiveCompanyCode != null and dto.receiveCompanyCode != ''">
and tjsc.receive_company_code = #{dto.receiveCompanyCode}
</if>
<if test="dto.applicationDate != null and dto.applicationDate != ''">
and tjsc.create_date like concat('%',DATE_FORMAT(#{dto.applicationDate},'%Y-%m-%d'),'%')
</if>
<if test="dto.equList != null and dto.equList != ''">
AND jri."EQU_LIST" = #{dto.equList}
</if>
<if test="dto.equCategory != null and dto.equCategory != ''">
AND jri."equ_category" = #{dto.equCategory}
</if>
<if test="dto.equDefine != null and dto.equDefine != ''">
AND jri."EQU_DEFINE" = #{dto.equDefine}
</if>
<if test="dto.equCode != null and dto.equCode != ''">
AND jri."EQU_CODE" like concat('%',#{dto.equCode},'%')
</if>
<if test="dto.useRegistrationCode != null and dto.useRegistrationCode != ''">
AND jri."USE_ORG_CODE" like concat('%',#{dto.useRegistrationCode},'%')
</if>
<if test="dto.code96333 != null and dto.code96333 != ''">
AND oi.CODE96333 like concat('%',#{dto.code96333},'%')
</if>
<if test="dto.supervisoryCode != null and dto.supervisoryCode != ''">
AND oi.SUPERVISORY_CODE like concat('%',#{dto.supervisoryCode},'%')
</if>
<if test="dto.fullAddress != null and dto.fullAddress != ''">
AND (
use."PROVINCE_NAME" LIKE CONCAT('%', #{dto.fullAddress}, '%')
OR use."CITY_NAME" LIKE CONCAT('%', #{dto.fullAddress}, '%')
OR use."COUNTY_NAME" LIKE CONCAT('%', #{dto.fullAddress}, '%')
OR use."STREET_NAME" LIKE CONCAT('%', #{dto.fullAddress}, '%')
)
</if> </if>
<if test="roleIds != null and dto.type == 'supervision'"> <if test="roleIds != null and dto.type == 'supervision'">
<foreach collection='roleIds' item='role' open='and (' close=')' separator='or'> <foreach collection='roleIds' item='role' open='and (' close=')' separator='or'>
ur.instance_status like concat('%',#{role},'%') tjsc.instance_status like concat('%',#{role},'%')
or ur.create_user_id = #{dto.createUserId} or tjsc.create_user_id = #{dto.createUserId}
</foreach> </foreach>
</if> </if>
<if test="dto.type == 'supervision'"> <if test="dto.type == 'supervision'">
and ( ur.receive_org_code = #{orgCode} or ur.transfer_to_user_ids like concat('%',#{currentUserId},'%')) and ( tjsc.receive_org_code = #{orgCode} or tjsc.transfer_to_user_ids like concat('%',#{currentUserId},'%'))
AND ur.instance_id <![CDATA[<>]]> '' AND tjsc.instance_id <![CDATA[<>]]> ''
</if> </if>
<if test="dto.type == 'company' "> <if test="dto.type == 'company' ">
and (ur.use_unit_code = #{orgCode} or ur.transfer_to_user_ids like concat('%',#{currentUserId},'%')) and (tjsc.use_unit_code = #{orgCode} or tjsc.transfer_to_user_ids like concat('%',#{currentUserId},'%'))
</if> </if>
</where> </where>
order by ur.rec_date desc order by
<if test="sort != null">
tjsc.${sort.field} ${sort.sortType},
</if>
tjsc.rec_date desc
</select> </select>
<select id="getDetail" resultType="java.util.Map"> <select id="getDetail" resultType="java.util.Map">
SELECT jri.EQU_CODE as equCode, SELECT jri.EQU_CODE as equCode,
......
...@@ -39,7 +39,8 @@ ...@@ -39,7 +39,8 @@
GROUP_CONCAT(DISTINCT re.equ_id) AS equipId, GROUP_CONCAT(DISTINCT re.equ_id) AS equipId,
concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as fullAddress, concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as fullAddress,
use."ADDRESS" as detailedAddress, use."ADDRESS" as detailedAddress,
ibjsi.ORG_BRANCH_NAME as orgBranchName ibjsi.ORG_BRANCH_NAME as orgBranchName,
ur.cancel_reason as cancelReason
from tzs_jg_use_registration ur from tzs_jg_use_registration ur
LEFT JOIN tzs_jg_use_registration_eq re on ur.sequence_nbr = re.equip_transfer_id LEFT JOIN tzs_jg_use_registration_eq re on ur.sequence_nbr = re.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD
...@@ -548,7 +549,7 @@ ...@@ -548,7 +549,7 @@
<if test="jsonObject.record != null and jsonObject.record != ''" > <if test="jsonObject.record != null and jsonObject.record != ''" >
and ui."RECORD" = #{jsonObject.record} and ui."RECORD" = #{jsonObject.record}
</if> </if>
and not exists(SELECT 1 FROM tzs_jg_vehicle_information v, tzs_jg_vehicle_information_eq ve WHERE v.sequence_nbr = ve.vehicle_id AND ve.equ_id = ui."RECORD" and v.status !='使用单位待提交' and v.status !='一级受理已驳回' and v.status !='使用单位已撤回' ) and not exists(SELECT 1 FROM tzs_jg_vehicle_information v, tzs_jg_vehicle_information_eq ve WHERE v.sequence_nbr = ve.vehicle_id AND ve.equ_id = ui."RECORD" and v.status !='使用单位待提交' and v.status !='一级受理已驳回' and v.status !='使用单位已撤回' and v.status !='已作废' )
ORDER BY ui.REC_DATE DESC ORDER BY ui.REC_DATE DESC
</select> </select>
...@@ -571,6 +572,6 @@ ...@@ -571,6 +572,6 @@
tzs_jg_use_registration_eq b tzs_jg_use_registration_eq b
where where
a.sequence_nbr = b.equip_transfer_id a.sequence_nbr = b.equip_transfer_id
and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回') and (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
</select> </select>
</mapper> </mapper>
...@@ -197,6 +197,7 @@ ...@@ -197,6 +197,7 @@
and v.status !='使用单位待提交' and v.status !='使用单位待提交'
and v.status !='一级受理已驳回' and v.status !='一级受理已驳回'
and v.status !='使用单位已撤回' and v.status !='使用单位已撤回'
and v.status !='已作废'
and v.sequence_nbr !=#{vehicleId} and v.sequence_nbr !=#{vehicleId}
and ve.equ_id in and ve.equ_id in
<foreach collection="records" item="record" open="(" close=")" separator=","> <foreach collection="records" item="record" open="(" close=")" separator=",">
......
package com.yeejoin.amos.boot.module.jg.biz.config;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipInfoCylinderExcelDto;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.*;
import com.yeejoin.amos.boot.module.ymt.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.CategoryOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import static com.alibaba.fastjson.JSON.toJSONString;
@Slf4j
@Data
@EqualsAndHashCode(callSuper = true)
@Component
public class PressureVesselListener extends AnalysisEventListener<EquipInfoCylinderExcelDto> {
private static final int BATCH_COUNT = 1000;
//数据集合
List<String> useInnerCodeList = new ArrayList<>();//单位内部编号集合
List<String> equCodeList = new ArrayList<>();//设备代码集合
List<String> records = new ArrayList<>();//设备代码集合
List<String> factoryNumList = new ArrayList<>();//出厂编码集合
List<IdxBizJgUseInfo> useInfoList = new ArrayList<>();
List<IdxBizJgRegisterInfo> registerInfoList = new ArrayList<>();
List<IdxBizJgDesignInfo> designInfoList = new ArrayList<>();
List<IdxBizJgFactoryInfo> factoryInfoList = new ArrayList<>();
List<IdxBizJgTechParamsVessel> paramsVesselList = new ArrayList<>();
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = new ArrayList<>();
List<ESEquipmentCategoryDto> esEquipmentCategoryList = new ArrayList<>();
private StringBuilder result = new StringBuilder();
private JgInstallationNoticeServiceImpl jgInstallationNoticeService;
private IIdxBizJgUseInfoService idxBizJgUseInfoService;
private IdxBizJgDesignInfoServiceImpl idxBizJgDesignInfoService;
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
private IdxBizJgTechParamsVesselServiceImpl idxBizJgTechParamsVesselService;
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
private ICommonService commonService;
private RegistrationInfoMapper tzsJgRegistrationInfoMapper;
private ESEquipmentCategory esEquipmentCategory;
private CategoryOtherInfoMapper categoryOtherInfoMapper;
private SuperviseInfoMapper superviseInfoMapper;
private Map<String, Object> paramMap;
private CompanyBo company;
@Override
public void invoke(EquipInfoCylinderExcelDto data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
int rowIndex = readRowHolder.getRowIndex() + 1;
try {
log.info("解析第{}行数据:{}", rowIndex, JSON.toJSONString(data));
// 检查各字段是否为空,如果为空则追加错误信息
checkNotBlank(data.getProductName(), "设备名称不能为空");
checkNotBlank(data.getBrandName(), "品牌名称不能为空");
checkNotBlank(data.getEquType(), "设备型号不能为空");
checkNotBlank(data.getUseInnerCode(), "单位内部编号不能为空");
if (useInnerCodeList.contains(data.getUseInnerCode())) {
result.append("单位内部编号不能重复;");
}
checkNotBlank(data.getWhetherVehicleCylinder(), "是否车用气瓶不能为空");
checkNotBlank(data.getEquCodeType(), "是否有设备代码不能为空");
checkNotBlank(data.getEquCode(), "设备代码不能为空");
if ("1".equals(data.getEquCodeType()) && equCodeList.contains(data.getEquCode())) {
result.append("设备代码不能重复;");
}
this.checkEquCodeUniqueness(data.getEquCode());
checkNotBlank(data.getDesignUnitCreditCode(), "设计单位统一社会信用代码不能为空");
checkNotBlank(data.getDesignUnitName(), "设计单位名称不能为空");
Optional.ofNullable(data.getDesignDate()).ifPresent(v -> checkDateFormatCorrect(v, "设计日期格式不正确"));
Optional.ofNullable(data.getAppraisalDate()).ifPresent(v -> checkDateFormatCorrect(v, "设计文件鉴定日期格式不正确"));
checkNotBlank(data.getProduceUnitCreditCode(), "制造单位统一社会信用代码不能为空");
checkNotBlank(data.getProduceUnitName(), "制造单位名称不能为空");
checkNotBlank(data.getProduceLicenseNum(), "制造许可编号不能为空");
checkNotBlank(data.getFactoryNum(), "出厂编号/产品编码不能为空");
if ("0".equals(data.getWhetherVehicleCylinder()) && factoryNumList.contains(data.getFactoryNum()))
result.append("出厂编号/产品编码不能重复;");
checkFactoryNumUniqueness(data.getFactoryNum(), null);
checkNotBlank(data.getProduceDate(), "制造日期不能为空");
checkDateFormatCorrect(data.getProduceDate(), "制造日期格式不正确");
checkNotBlank(data.getInspectOrgName(), "检测机构名称不能为空");
checkNotBlank(data.getInspectStaff(), "检测人员名称不能为空");
checkNotBlank(data.getInspectDate(), "检测日期不能为空");
checkDateFormatCorrect(data.getInspectDate(), "检测日期格式不正确");
checkNotBlank(data.getSingleBottleVolume(), "单瓶容积不能为空");
checkNotBlank(data.getChargingMedium(), "充装介质不能为空");
checkNotBlank(data.getNominalWorkingPressure(), "公称工作压力不能为空");
// 如果存在错误信息,则抛出 BadRequest 异常
if (result.length() > 0) {
result.insert(0, "Excel第[" + rowIndex + "]行 -> ");
throw new BadRequest(result.toString());
}
this.dealExcelData(data);
} catch (Exception e) {
log.error(String.format("行索引数: [%s] -> 失败的 Excel 数据: [%s]", rowIndex, JSON.toJSONString(data)), e);
throw e;
}
}
private void checkEquCodeUniqueness(String equCode) {
// 根据设备代码检查唯一性
LambdaQueryWrapper<RegistrationInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(RegistrationInfo::getEquCode, equCode);
Integer count = tzsJgRegistrationInfoMapper.selectCount(wrapper);
if (count > 0) {
result.append("设备代码系统中已存在");
}
}
// 检查上传Excel中的日期格式是否正确
private void checkDateFormatCorrect(String date, String errorMessage) {
if (!date.matches("\\d{4}-\\d{2}-\\d{2}")) {
result.append(errorMessage).append(";");
}
}
// 检查字段是否为空,如果为空则追加错误信息到result
private void checkNotBlank(String value, String errorMessage) {
if (StringUtils.isBlank(value)) {
result.append(errorMessage).append(";");
}
}
private void checkFactoryNumUniqueness(String factoryNum, String sequenceNbr) {
// 车用气瓶业务里面的 出厂编号/产品编码 校验唯一性(产品编号在车用气瓶范围内全局唯一)
if (commonService.checkFactoryNumUniquenessForVehicleCylinder(factoryNum, sequenceNbr) > 0) {
result.append("出厂编号/产品编码系统中已存在!");
}
}
/**
* 处理导入数据
*
* @param data excelData
*/
private void dealExcelData(EquipInfoCylinderExcelDto data) {
useInnerCodeList.add(data.getUseInnerCode());
equCodeList.add(data.getEquCode());
factoryNumList.add("0".equals(data.getWhetherVehicleCylinder()) ? data.getFactoryNum() : null);
Date date = new Date();
String record = UUID.randomUUID().toString();
records.add(record);
//使用信息
IdxBizJgUseInfo useInfo = new IdxBizJgUseInfo();
BeanUtils.copyProperties(data, useInfo);
useInfo.setRecord(record);
useInfo.setRecDate(date);
useInfo.setDataSource("jg");
useInfo.setEquState(null);
useInfoList.add(useInfo);
//设计信息
IdxBizJgDesignInfo designInfo = new IdxBizJgDesignInfo();
BeanUtils.copyProperties(data, designInfo);
designInfo.setRecord(record);
designInfo.setRecDate(date);
designInfo.setDesignDate(DateUtil.parse(data.getDesignDate(), "yyyy-MM-dd"));
designInfoList.add(designInfo);
//制造信息
IdxBizJgFactoryInfo factoryInfo = new IdxBizJgFactoryInfo();
BeanUtils.copyProperties(data, factoryInfo);
factoryInfo.setRecord(record);
factoryInfo.setRecDate(date);
factoryInfo.setProduceDate(DateUtil.parse(data.getProduceDate(), "yyyy-MM-dd"));
factoryInfo.setImported(Optional.ofNullable(data.getImported()).orElse("0"));
factoryInfoList.add(factoryInfo);
//注册登记
IdxBizJgRegisterInfo registerInfo = new IdxBizJgRegisterInfo();
BeanUtils.copyProperties(data, registerInfo);
registerInfo.setRecord(record);
registerInfo.setRecDate(date);
registerInfo.setEquCategory((String) paramMap.get("EQU_CATEGORY_CODE"));
registerInfo.setEquDefine((String) paramMap.get("EQU_DEFINE_CODE"));
registerInfo.setEquList((String) paramMap.get("EQU_LIST_CODE"));
registerInfo.setRegisterState(idxBizJgRegisterInfoService.getRegCode());
registerInfoList.add(registerInfo);
//检验检测
IdxBizJgInspectionDetectionInfo inspectionDetectionInfo = new IdxBizJgInspectionDetectionInfo();
BeanUtils.copyProperties(data, inspectionDetectionInfo);
List<Map<String, Object>> InspectOrgList = commonService.getUnitListByType("inspection", "");
inspectionDetectionInfo.setInspectOrgCode(findUseCode(InspectOrgList, data.getInspectOrgName()));
inspectionDetectionInfo.setRecord(record);
inspectionDetectionInfo.setRecDate(date);
inspectionDetectionInfo.setInspectType("ZZJDJY");
inspectionDetectionInfo.setInspectConclusion("6040");//默认合格
inspectionDetectionInfo.setInspectDate(DateUtil.parse(data.getInspectDate(), "yyyy-MM-dd"));
inspectionDetectionInfo.setNextInspectDate(Date.from(
LocalDate.parse(data.getInspectDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))
.plusYears(3)
.atStartOfDay(ZoneId.systemDefault())
.toInstant()));
inspectionDetectionInfoList.add(inspectionDetectionInfo);
//技术参数
IdxBizJgTechParamsVessel paramsVessel = new IdxBizJgTechParamsVessel();
BeanUtils.copyProperties(data, paramsVessel);
paramsVessel.setRecord(record);
paramsVessel.setRecDate(date);
paramsVesselList.add(paramsVessel);
ESEquipmentCategoryDto dto = JSON.parseObject(toJSONString(data), ESEquipmentCategoryDto.class);
// 使用单位信息
dto.setDATA_SOURCE(useInfo.getDataSource());
dto.setNEXT_INSPECT_DATE(inspectionDetectionInfo.getNextInspectDate() + "");
dto.setREC_DATE(System.currentTimeMillis());
dto.setSEQUENCE_NBR(record);
dto.setFACTORY_NUM(factoryInfo.getFactoryNum());
dto.setUSE_INNER_CODE(useInfo.getUseInnerCode());
dto.setEQU_CATEGORY((String) paramMap.get("EQU_CATEGORY"));
dto.setEQU_CATEGORY_CODE((String) paramMap.get("EQU_CATEGORY_CODE"));
dto.setEQU_LIST((String) paramMap.get("EQU_LIST"));
dto.setEQU_LIST_CODE((String) paramMap.get("EQU_LIST_CODE"));
dto.setEQU_DEFINE((String) paramMap.get("EQU_DEFINE"));
dto.setEQU_DEFINE_CODE((String) paramMap.get("EQU_DEFINE_CODE"));
dto.setUSE_UNIT_CREDIT_CODE(company.getCompanyCode());
dto.setUSE_UNIT_NAME(company.getCompanyName());
esEquipmentCategoryList.add(dto);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
if (paramsVesselList.size() > BATCH_COUNT) {
throw new BadRequest(result.append("单次导入限制1000条") + "");
}
if (!useInfoList.isEmpty()) {
idxBizJgUseInfoService.saveBatch(useInfoList);
}
if (!designInfoList.isEmpty()) {
idxBizJgDesignInfoService.saveBatch(designInfoList);
}
if (!registerInfoList.isEmpty()) {
idxBizJgRegisterInfoService.saveBatch(registerInfoList);
}
if (!factoryInfoList.isEmpty()) {
idxBizJgFactoryInfoService.saveBatch(factoryInfoList);
}
if (!paramsVesselList.isEmpty()) {
idxBizJgTechParamsVesselService.saveBatch(paramsVesselList);
}
if (!inspectionDetectionInfoList.isEmpty()) {
idxBizJgInspectionDetectionInfoService.saveBatch(inspectionDetectionInfoList);
}
if (!esEquipmentCategoryList.isEmpty()) {
esEquipmentCategory.saveAll(esEquipmentCategoryList);
}
result.append("导入完成,成功导入");
result.append(useInfoList.size());
result.append("条数据");
log.info("所有数据解析完成!");
}
@Override
public void onException(Exception exception, AnalysisContext context) throws Exception {
if (!esEquipmentCategoryList.isEmpty()) {
superviseInfoMapper.deleteDataAll(records);
esEquipmentCategory.deleteAll(esEquipmentCategoryList);
}
throw exception;
}
public String getResult() {
return result.toString();
}
public String findUseCode(List<Map<String, Object>> unitList, String inspectOrgName) {
Optional<Map<String, Object>> optional = unitList.stream()
.filter(map -> map.containsKey("useUnit") && map.get("useUnit").equals(inspectOrgName))
.findFirst();
return optional.map(map -> (String) map.get("useCode")).orElse(null);
}
}
\ No newline at end of file
...@@ -8,12 +8,20 @@ import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel; ...@@ -8,12 +8,20 @@ import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
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;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -131,9 +139,50 @@ public class IdxBizJqEquipmentRegisterController extends BaseController { ...@@ -131,9 +139,50 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equipCanUsedByVessel/page") @GetMapping(value = "/equipCanUsedByVessel/page")
@ApiOperation(httpMethod = "GET", value = "车用气瓶设备列表查询", notes = "车用气瓶设备列表查询") @ApiOperation(httpMethod = "GET", value = "查询车用气瓶可进行选择的设备列表", notes = "查询车用气瓶可进行选择的设备列表")
public ResponseModel<Page<JSONObject>>queryEquipCanUsedByVesselPage(@RequestParam Map<String, Object> queryMap) { public ResponseModel<Page<JSONObject>>queryEquipCanUsedByVesselPage(@RequestParam Map<String, Object> queryMap) {
JSONObject jsonObject = new JSONObject(queryMap); JSONObject jsonObject = new JSONObject(queryMap);
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryEquipCanUsedByVesselPage(jsonObject)); return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryEquipCanUsedByVesselPage(jsonObject));
} }
/**
* 压力容器设备批量导入
*/
@PostMapping("/importPressureVesselData")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "压力容器设备批量导入")
public ResponseModel<String> importPressureVesselData(@RequestParam(value = "file") MultipartFile file,
@RequestParam Map<String, Object> paramMap) {
HashMap<String, Object> colorMap = new HashMap<>();
colorMap.put("EQU_LIST_CODE", "2000");
colorMap.put("EQU_LIST", "压力容器");
colorMap.put("EQU_CATEGORY", "气瓶");
colorMap.put("EQU_CATEGORY_CODE", "2300");
colorMap.put("EQU_DEFINE", "特种气瓶(内装填料气瓶、纤维缠绕气瓶、低温绝热气瓶)");
colorMap.put("EQU_DEFINE_CODE", "23T0");
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.importPressureVesselData(file, colorMap));
}
/**
* 压力容器设备模版下载
*/
@GetMapping("/pressureVesselTemplate")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "压力容器设备模版下载")
public void pressureVesselTemplate(HttpServletResponse response) throws Exception {
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("压力容器设备导入模版.xlsx", "UTF-8"));
response.setContentType("application/vnd.ms-excel");
Resource resource = new ClassPathResource("templates/pressureVesselTemplate.xlsx");
try (OutputStream outputStream = response.getOutputStream();
InputStream inputStream = resource.getInputStream()) {
byte[] bytes = new byte[1024 * 1024];
int len;
while ((len = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, len);
}
} catch (IOException e) {
throw new Exception("系统异常");
}
}
} }
...@@ -104,6 +104,7 @@ public class JgChangeRegistrationNameController extends BaseController { ...@@ -104,6 +104,7 @@ public class JgChangeRegistrationNameController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@PostMapping(value = "/getList") @PostMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(JgChangeRegistrationNameDto dto, public ResponseModel<Page<Map<String, Object>>> getList(JgChangeRegistrationNameDto dto,
@RequestParam(value = "sort",required = false) String sort,
@RequestParam(value = "current") int current, @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) { @RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size); Page<Map<String, Object>> page = new Page<>(current, size);
...@@ -114,7 +115,7 @@ public class JgChangeRegistrationNameController extends BaseController { ...@@ -114,7 +115,7 @@ public class JgChangeRegistrationNameController extends BaseController {
} else { } else {
dto.setType(COMPANY_TYPE_SUPERVISION); dto.setType(COMPANY_TYPE_SUPERVISION);
} }
return ResponseHelper.buildResponse(jgChangeRegistrationNameService.getList(dto, page, dto.getRoleIds(),reginParams.getCompany().getCompanyCode())); return ResponseHelper.buildResponse(jgChangeRegistrationNameService.getList(dto,sort, page, dto.getRoleIds(),reginParams.getCompany().getCompanyCode()));
} }
......
...@@ -143,6 +143,7 @@ public class JgChangeRegistrationTransferController extends BaseController { ...@@ -143,6 +143,7 @@ public class JgChangeRegistrationTransferController extends BaseController {
@ApiOperation(httpMethod = "GET",value = "移装变更登记登记分页查询", notes = "移装变更登记登记分页查询") @ApiOperation(httpMethod = "GET",value = "移装变更登记登记分页查询", notes = "移装变更登记登记分页查询")
public ResponseModel<Page<Map<String, Object>>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<Page<Map<String, Object>>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "sort",required = false) String sort,
JgChangeRegistrationTransferDto params) { JgChangeRegistrationTransferDto params) {
Page<Map<String, Object>> page = new Page<>(current, size); Page<Map<String, Object>> page = new Page<>(current, size);
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
...@@ -153,7 +154,7 @@ public class JgChangeRegistrationTransferController extends BaseController { ...@@ -153,7 +154,7 @@ public class JgChangeRegistrationTransferController extends BaseController {
companyTypeCode = COMPANY_TYPE_SUPERVISION; companyTypeCode = COMPANY_TYPE_SUPERVISION;
} }
params.setUnitCode(reginParams.getCompany().getCompanyCode()); params.setUnitCode(reginParams.getCompany().getCompanyCode());
return ResponseHelper.buildResponse(jgChangeRegistrationTransferService.queryListForPage(page,params, companyTypeCode, reginParams.getCompany().getCompanyType())); return ResponseHelper.buildResponse(jgChangeRegistrationTransferService.queryListForPage(page,sort,params, companyTypeCode, reginParams.getCompany().getCompanyType()));
} }
/** /**
......
...@@ -53,11 +53,12 @@ public class JgEnableDisableController extends BaseController { ...@@ -53,11 +53,12 @@ public class JgEnableDisableController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "使用登记设备关系表分页查询", notes = "使用登记设备关系表分页查询") @ApiOperation(httpMethod = "GET", value = "使用登记设备关系表分页查询", notes = "使用登记设备关系表分页查询")
public ResponseModel<Page<Map<String, Object>>> page(@RequestParam(value = "current") int current, public ResponseModel<Page<Map<String, Object>>> page(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "sort",required = false) String sort,
JgEnableDisableDto dto) { JgEnableDisableDto dto) {
Page<Map<String, Object>> page = new Page<>(); Page<Map<String, Object>> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.pageList(page, dto)); return ResponseHelper.buildResponse(jgEnableDisableServiceImpl.pageList(page,sort, dto));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
......
...@@ -79,7 +79,7 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -79,7 +79,7 @@ public class JgInstallationNoticeController extends BaseController {
installationInfo.setProxyStatementAttachmentList((List<Map<String, Object>>) o); installationInfo.setProxyStatementAttachmentList((List<Map<String, Object>>) o);
installationInfo.setInstallContractAttachmentList((List<Map<String, Object>>) o1); installationInfo.setInstallContractAttachmentList((List<Map<String, Object>>) o1);
installationInfo.setOtherAccessoriesList((List<Map<String, Object>>) o2); installationInfo.setOtherAccessoriesList((List<Map<String, Object>>) o2);
return ResponseHelper.buildResponse(iJgInstallationNoticeService.updateInstallationNotice(submitType,installationInfo, op)); return ResponseHelper.buildResponse(iJgInstallationNoticeService.updateInstallationNotice(submitType, installationInfo, op));
} }
/** /**
...@@ -144,8 +144,8 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -144,8 +144,8 @@ public class JgInstallationNoticeController extends BaseController {
@RequestParam(value = "size", defaultValue = "20") int size, @RequestParam(value = "size", defaultValue = "20") int size,
@ApiParam(value = "类型:enterprise-企业端、supervision-监管端", required = true) @ApiParam(value = "类型:enterprise-企业端、supervision-监管端", required = true)
@RequestParam(value = "type", defaultValue = "enterprise") String type, @RequestParam(value = "type", defaultValue = "enterprise") String type,
@ApiParam(value = "排序字段",required = false) @ApiParam(value = "排序字段", required = false)
@RequestParam(value = "sort",required = false) String sort, @RequestParam(value = "sort", required = false) String sort,
@RequestBody(required = false) JgInstallationNoticeDto model @RequestBody(required = false) JgInstallationNoticeDto model
) { ) {
Page<JgInstallationNotice> page = new Page<>(current, size); Page<JgInstallationNotice> page = new Page<>(current, size);
...@@ -163,4 +163,14 @@ public class JgInstallationNoticeController extends BaseController { ...@@ -163,4 +163,14 @@ public class JgInstallationNoticeController extends BaseController {
public void generateReport(HttpServletResponse response, @RequestParam("sequenceNbr") Long sequenceNbr) { public void generateReport(HttpServletResponse response, @RequestParam("sequenceNbr") Long sequenceNbr) {
iJgInstallationNoticeService.generateInstallationNoticeReport(sequenceNbr, response); iJgInstallationNoticeService.generateInstallationNoticeReport(sequenceNbr, response);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "安装告知单个作废", notes = "安装告知单个作废")
@PutMapping(value = "/cancel/application")
public ResponseModel<JgInstallationNotice> cancelApplication(@RequestBody JgInstallationNoticeDto jgInstallationNoticeDto) {
JgInstallationNotice result = iJgInstallationNoticeService.cancelApplication(jgInstallationNoticeDto.getSequenceNbr(), jgInstallationNoticeDto.getCancelReason());
return ResponseHelper.buildResponse(result);
}
} }
...@@ -109,11 +109,12 @@ public class JgScrapCancelController extends BaseController { ...@@ -109,11 +109,12 @@ public class JgScrapCancelController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@PostMapping(value = "/getList") @PostMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(JgScrapCancelDto dto, public ResponseModel<Page<Map<String, Object>>> getList(JgScrapCancelDto dto,
@RequestParam(value = "sort",required = false) String sort,
@RequestParam(value = "current") int current, @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) { @RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size); Page<Map<String, Object>> page = new Page<>(current, size);
dto.setType(String.valueOf(iJgInstallationNoticeService.getCompanyType().get("companyLevel"))); dto.setType(String.valueOf(iJgInstallationNoticeService.getCompanyType().get("companyLevel")));
return ResponseHelper.buildResponse(jgScrapCancelService.getList(dto, page, dto.getRoleIds())); return ResponseHelper.buildResponse(jgScrapCancelService.getList(dto,sort, page, dto.getRoleIds()));
} }
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -5,6 +5,7 @@ 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.module.jg.api.dto.JgUseRegistrationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
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.component.feign.utils.FeignUtil;
...@@ -54,8 +55,8 @@ public class JgUseRegistrationController extends BaseController { ...@@ -54,8 +55,8 @@ public class JgUseRegistrationController extends BaseController {
String.valueOf(map.get("instanceId")), String.valueOf(map.get("instanceId")),
String.valueOf(map.get("operate")), String.valueOf(map.get("operate")),
String.valueOf(map.get("comment")), String.valueOf(map.get("comment")),
String.valueOf(map.getOrDefault("carNumber","")), String.valueOf(map.getOrDefault("carNumber", "")),
String.valueOf(map.getOrDefault("manageType","")), String.valueOf(map.getOrDefault("manageType", "")),
String.valueOf(map.get("nextTaskId"))); String.valueOf(map.get("nextTaskId")));
return ResponseHelper.buildResponse("ok"); return ResponseHelper.buildResponse("ok");
} }
...@@ -66,7 +67,7 @@ public class JgUseRegistrationController extends BaseController { ...@@ -66,7 +67,7 @@ public class JgUseRegistrationController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回") @ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> withdraw(@RequestBody JSONObject map) { public ResponseModel<Object> withdraw(@RequestBody JSONObject map) {
jgUseRegistrationServiceImpl.withdraw(String.valueOf(map.get("instanceId")), String.valueOf(map.get("nextTaskId")), jgUseRegistrationServiceImpl.withdraw(String.valueOf(map.get("instanceId")), String.valueOf(map.get("nextTaskId")),
String.valueOf(map.getOrDefault("manageType",""))); String.valueOf(map.getOrDefault("manageType", "")));
return ResponseHelper.buildResponse("ok"); return ResponseHelper.buildResponse("ok");
} }
...@@ -93,7 +94,7 @@ public class JgUseRegistrationController extends BaseController { ...@@ -93,7 +94,7 @@ public class JgUseRegistrationController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/getList") @GetMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(JgUseRegistrationDto dto, public ResponseModel<Page<Map<String, Object>>> getList(JgUseRegistrationDto dto,
@ApiParam(value = "排序字段",required = false) @RequestParam(value = "sort",required = false) String sort, @ApiParam(value = "排序字段", required = false) @RequestParam(value = "sort", required = false) String sort,
@RequestParam(value = "current") int current, @RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) { @RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size); Page<Map<String, Object>> page = new Page<>(current, size);
...@@ -105,8 +106,8 @@ public class JgUseRegistrationController extends BaseController { ...@@ -105,8 +106,8 @@ public class JgUseRegistrationController extends BaseController {
} else { } else {
dto.setDataType(BaseController.COMPANY_TYPE_SUPERVISION); dto.setDataType(BaseController.COMPANY_TYPE_SUPERVISION);
} }
Page<Map<String, Object>> list = jgUseRegistrationServiceImpl.getList(dto,sort, page, dto.getRoleIds()); Page<Map<String, Object>> list = jgUseRegistrationServiceImpl.getList(dto, sort, page, dto.getRoleIds());
list.getRecords().forEach(x-> x.put("companyType",info.getCompany().getCompanyType())); list.getRecords().forEach(x -> x.put("companyType", info.getCompany().getCompanyType()));
return ResponseHelper.buildResponse(list); return ResponseHelper.buildResponse(list);
} }
...@@ -219,4 +220,12 @@ public class JgUseRegistrationController extends BaseController { ...@@ -219,4 +220,12 @@ public class JgUseRegistrationController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "使用登记单条作废", notes = "使用登记单条作废")
@PutMapping(value = "/cancel/application")
public ResponseModel<JgUseRegistration> cancelApplication(@RequestBody JgUseRegistrationDto jgUseRegistration) {
JgUseRegistration result = jgUseRegistrationServiceImpl.cancelApplication(jgUseRegistration.getSequenceNbr(), jgUseRegistration.getCancelReason());
return ResponseHelper.buildResponse(result);
}
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.controller; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.controller;
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.module.jg.api.entity.JgVehicleInformation;
import com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -182,4 +183,12 @@ public class JgVehicleInformationController extends BaseController { ...@@ -182,4 +183,12 @@ public class JgVehicleInformationController extends BaseController {
@RequestParam(value = "printType", defaultValue = "0") String printType) { @RequestParam(value = "printType", defaultValue = "0") String printType) {
jgVehicleInformationServiceImpl.exportVehicleUseRegistrationCertificate(sequenceNbr, response, printType); jgVehicleInformationServiceImpl.exportVehicleUseRegistrationCertificate(sequenceNbr, response, printType);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "车用气瓶使用登记单条作废", notes = "车用气瓶使用登记单条作废")
@PutMapping(value = "/cancel/application")
public ResponseModel<JgVehicleInformation> cancelApplication(@RequestBody JgVehicleInformationDto vehicleInformationDto) {
JgVehicleInformation result = jgVehicleInformationServiceImpl.cancelApplication(vehicleInformationDto.getSequenceNbr(), vehicleInformationDto.getCancelReason());
return ResponseHelper.buildResponse(result);
}
} }
...@@ -13,8 +13,13 @@ import javax.servlet.http.HttpServletResponse; ...@@ -13,8 +13,13 @@ import javax.servlet.http.HttpServletResponse;
public class ClearThreadLocalInterceptor implements HandlerInterceptor { public class ClearThreadLocalInterceptor implements HandlerInterceptor {
@Override @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
ModelAndView modelAndView) { FlowingEquipRedisContext.clean();
return true;
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,Object handler, Exception ex) {
// 清除ThreadLocal变量 // 清除ThreadLocal变量
FlowingEquipRedisContext.clean(); FlowingEquipRedisContext.clean();
} }
......
...@@ -15,4 +15,11 @@ public interface ICmWorkflowService { ...@@ -15,4 +15,11 @@ public interface ICmWorkflowService {
ProcessTaskDTO rollBack(String processInstanceId); ProcessTaskDTO rollBack(String processInstanceId);
ProcessTaskDTO assign(FlowTaskVo taskVo); ProcessTaskDTO assign(FlowTaskVo taskVo);
/**
* 终止流程
* @param processInstanceId 流程实例id
* @return ProcessInstanceDTO
*/
ProcessInstanceDTO stopProcess(String processInstanceId);
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
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;
...@@ -136,7 +137,7 @@ public interface ICommonService { ...@@ -136,7 +137,7 @@ public interface ICommonService {
* @param currentDocumentId 业务id * @param currentDocumentId 业务id
* @return Object * @return Object
*/ */
Object queryHistoryDataObj(Long currentDocumentId); JSONArray queryHistoryDataObj(Long currentDocumentId);
/** /**
* 统计指定设备流程中的引用次数(12个流程中,非待提交、非已撤回、非已驳回) * 统计指定设备流程中的引用次数(12个流程中,非待提交、非已撤回、非已驳回)
...@@ -185,6 +186,8 @@ public interface ICommonService { ...@@ -185,6 +186,8 @@ public interface ICommonService {
*/ */
CompanyBo getOneCompany(String companyCode); CompanyBo getOneCompany(String companyCode);
Integer checkFactoryNumUniquenessForVehicleCylinder(String factoryNum,String sequenceNbr);
/** /**
* 更新单位类型缓存 * 更新单位类型缓存
* *
......
package com.yeejoin.amos.boot.module.jg.biz.service; package com.yeejoin.amos.boot.module.jg.biz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo;
/** /**
...@@ -8,7 +9,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo; ...@@ -8,7 +9,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo;
* @author system_generator * @author system_generator
* @date 2023-08-17 * @date 2023-08-17
*/ */
public interface IIdxBizJgConstructionInfoService { public interface IIdxBizJgConstructionInfoService extends IService<IdxBizJgConstructionInfo> {
boolean saveOrUpdateData(IdxBizJgConstructionInfo constructionInfo); boolean saveOrUpdateData(IdxBizJgConstructionInfo constructionInfo);
......
...@@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,8 +5,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.feign.systemctl.model.DictionarieValueModel; import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -35,4 +35,6 @@ public interface IIdxBizJgRegisterInfoService { ...@@ -35,4 +35,6 @@ public interface IIdxBizJgRegisterInfoService {
Page<JSONObject> queryForUnitEquipmentPage(JSONObject jsonObject); Page<JSONObject> queryForUnitEquipmentPage(JSONObject jsonObject);
Page<JSONObject> queryEquipCanUsedByVesselPage(JSONObject jsonObject); Page<JSONObject> queryEquipCanUsedByVesselPage(JSONObject jsonObject);
String importPressureVesselData(MultipartFile file, Map<String, Object> paramMap);
} }
package com.yeejoin.amos.boot.module.jg.biz.service; package com.yeejoin.amos.boot.module.jg.biz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import java.util.List; import java.util.List;
...@@ -11,11 +12,13 @@ import java.util.List; ...@@ -11,11 +12,13 @@ import java.util.List;
* @author system_generator * @author system_generator
* @date 2023-08-16 * @date 2023-08-16
*/ */
public interface IIdxBizJgUseInfoService { public interface IIdxBizJgUseInfoService extends IService<IdxBizJgUseInfo> {
boolean saveOrUpdateData(IdxBizJgUseInfo useInfo); boolean saveOrUpdateData(IdxBizJgUseInfo useInfo);
IdxBizJgUseInfo getOneData(String record); IdxBizJgUseInfo getOneData(String record);
List<IdxBizJgUseInfo> getUseInfoListByEquIds(List<String> equIds); List<IdxBizJgUseInfo> getUseInfoListByEquIds(List<String> equIds);
boolean saveBatch(List<IdxBizJgUseInfo> useInfoList);
} }
...@@ -7,10 +7,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; ...@@ -7,10 +7,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.utils.FeignUtil; import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; import com.yeejoin.amos.feign.workflow.model.*;
import com.yeejoin.amos.feign.workflow.model.FlowTaskVo;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.exception.BaseException; import org.typroject.tyboot.core.foundation.exception.BaseException;
...@@ -122,4 +119,23 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -122,4 +119,23 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
} }
return processTaskDTO; return processTaskDTO;
} }
@Override
public ProcessInstanceDTO stopProcess(String processInstanceId) {
ProcessInstanceDTO processTaskDTO = new ProcessInstanceDTO();
try {
log.info("开始请求工作流终止流程接口:/stopProcess/{processInstanceId},请求参数:{}", processInstanceId);
processTaskDTO = Workflow.taskV2Client.stopProcess(processInstanceId).getResult();
} catch (InnerInvokException e) {
//拦截无审核人异常信息
String devMessage = getErrorMessage(e);
log.error(devMessage);
throw new LocalBadRequest(devMessage);
} catch (Exception e) {
log.error("调用工作流终止流程任接口失败", e);
throw new RuntimeException("调用工作流终止流程任接口失败");
}
return processTaskDTO;
}
} }
...@@ -6,6 +6,7 @@ import cn.hutool.core.date.DatePattern; ...@@ -6,6 +6,7 @@ import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
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;
...@@ -73,6 +74,7 @@ import org.springframework.core.io.ClassPathResource; ...@@ -73,6 +74,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -1058,6 +1060,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1058,6 +1060,7 @@ public class CommonServiceImpl implements ICommonService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Object transfer(Map<String, Object> map) { public Object transfer(Map<String, Object> map) {
if (ObjectUtils.isEmpty(map.get("nextTaskId")) || map.get("nextTaskId") == null) { if (ObjectUtils.isEmpty(map.get("nextTaskId")) || map.get("nextTaskId") == null) {
throw new BadRequest("nextTaskId不能为空"); throw new BadRequest("nextTaskId不能为空");
...@@ -1646,11 +1649,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1646,11 +1649,11 @@ public class CommonServiceImpl implements ICommonService {
} }
@Override @Override
public Object queryHistoryDataObj(Long currentDocumentId) { public JSONArray queryHistoryDataObj(Long currentDocumentId) {
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda(); LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId); lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda); JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda);
return jgRegistrationHistory != null ? JSON.parse(jgRegistrationHistory.getChangeData()) : null; return jgRegistrationHistory != null ? JSON.parseArray(jgRegistrationHistory.getChangeData()) : new JSONArray();
} }
@Override @Override
...@@ -1766,6 +1769,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1766,6 +1769,11 @@ public class CommonServiceImpl implements ICommonService {
return companyBo == null ? new CompanyBo() : companyBo; return companyBo == null ? new CompanyBo() : companyBo;
} }
@Override
public Integer checkFactoryNumUniquenessForVehicleCylinder(String factoryNum, String sequenceNbr) {
return commonMapper.checkFactoryNumUniquenessForVehicleCylinder(factoryNum, sequenceNbr);
}
/** /**
* 根据设备列表代码选择对应的 PDF 模板 * 根据设备列表代码选择对应的 PDF 模板
* *
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -12,10 +13,12 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; ...@@ -12,10 +13,12 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; 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.EquipInfoCylinderExcelDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.ConstructionEnum; import com.yeejoin.amos.boot.module.jg.api.enums.ConstructionEnum;
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.api.mapper.JgUseRegistrationMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
import com.yeejoin.amos.boot.module.jg.biz.config.PressureVesselListener;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.jg.biz.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.jg.biz.service.*; import com.yeejoin.amos.boot.module.jg.biz.service.*;
...@@ -33,6 +36,7 @@ import com.yeejoin.amos.feign.privilege.Privilege; ...@@ -33,6 +36,7 @@ import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel; import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.queryparser.classic.QueryParser;
import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchRequest;
...@@ -48,6 +52,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -48,6 +52,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.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.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
...@@ -72,6 +77,7 @@ import static com.alibaba.fastjson.JSON.toJSONString; ...@@ -72,6 +77,7 @@ import static com.alibaba.fastjson.JSON.toJSONString;
* @date 2023-08-17 * @date 2023-08-17
*/ */
@Service @Service
@Slf4j
public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegisterInfoDto, IdxBizJgRegisterInfo, IdxBizJgRegisterInfoMapper> implements IIdxBizJgRegisterInfoService { public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegisterInfoDto, IdxBizJgRegisterInfo, IdxBizJgRegisterInfoMapper> implements IIdxBizJgRegisterInfoService {
public final static String USE_TYPE_NAME = "使用单位"; public final static String USE_TYPE_NAME = "使用单位";
public final static String INDIVIDUAL_TYPE_NAME = "个人主体"; public final static String INDIVIDUAL_TYPE_NAME = "个人主体";
...@@ -164,6 +170,17 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -164,6 +170,17 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
@Value("${add.equip.dict.code.suffix:CATEGORY_LIST_ADD}") @Value("${add.equip.dict.code.suffix:CATEGORY_LIST_ADD}")
private String equipAddDictCodeSuffix; private String equipAddDictCodeSuffix;
@Autowired
private IdxBizJgDesignInfoServiceImpl idxBizJgDesignInfoService;
@Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
private IdxBizJgTechParamsVesselServiceImpl idxBizJgTechParamsVesselService;
@Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
/** /**
* 将对象的属性由驼峰转为纯大写下划线格式 * 将对象的属性由驼峰转为纯大写下划线格式
* *
...@@ -1364,7 +1381,6 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1364,7 +1381,6 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
pBuilder.must(QueryBuilders.wildcardQuery("PRODUCE_UNIT_NAME", "*" + test.toLowerCase() + "*")); pBuilder.must(QueryBuilders.wildcardQuery("PRODUCE_UNIT_NAME", "*" + test.toLowerCase() + "*"));
boolMust.must(pBuilder); boolMust.must(pBuilder);
} }
System.err.println(boolMust);
builder.query(boolMust); builder.query(boolMust);
builder.sort("REC_DATE", SortOrder.DESC); builder.sort("REC_DATE", SortOrder.DESC);
builder.from((pageNumber - 1) * size); builder.from((pageNumber - 1) * size);
...@@ -1372,7 +1388,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1372,7 +1388,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
request.source(builder); request.source(builder);
List<JSONObject> list = new LinkedList<>(); List<JSONObject> list = new LinkedList<>();
long totle = 0; long totle = 0;
if(log.isDebugEnabled()){
log.debug("查询es 的查询条件: {}", request);
}
try { try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT); SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (org.elasticsearch.search.SearchHit hit : response.getHits().getHits()) { for (org.elasticsearch.search.SearchHit hit : response.getHits().getHits()) {
...@@ -1406,15 +1424,21 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1406,15 +1424,21 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
equAddressMap = useInfoListByEquIds.stream().collect(Collectors.toMap(IdxBizJgUseInfo::getRecord, equAddressMap = useInfoListByEquIds.stream().collect(Collectors.toMap(IdxBizJgUseInfo::getRecord,
useInfo -> { useInfo -> {
String fulladdress = ""; String fulladdress = "";
if (!ValidationUtil.isEmpty(useInfo.getProvinceName())) if (!ValidationUtil.isEmpty(useInfo.getProvinceName())) {
fulladdress += useInfo.getProvinceName(); fulladdress += useInfo.getProvinceName();
if (!ValidationUtil.isEmpty(useInfo.getCityName())) }
if (!ValidationUtil.isEmpty(useInfo.getCityName())) {
fulladdress += useInfo.getCityName(); fulladdress += useInfo.getCityName();
if (!ValidationUtil.isEmpty(useInfo.getCountyName())) }
if (!ValidationUtil.isEmpty(useInfo.getCountyName())) {
fulladdress += useInfo.getCountyName(); fulladdress += useInfo.getCountyName();
if (!ValidationUtil.isEmpty(useInfo.getStreetName())) }
if (!ValidationUtil.isEmpty(useInfo.getStreetName())) {
fulladdress += useInfo.getStreetName(); fulladdress += useInfo.getStreetName();
if (!ValidationUtil.isEmpty(useInfo.getAddress())) fulladdress += useInfo.getAddress(); }
if (!ValidationUtil.isEmpty(useInfo.getAddress())) {
fulladdress += useInfo.getAddress();
}
return fulladdress; return fulladdress;
} }
) )
...@@ -1439,12 +1463,13 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1439,12 +1463,13 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
/** /**
* 设置安装告知使用的设备不能包括正在进行中的流程 * 设置安装告知使用的设备不能包括正在进行中的流程
*
* @param boolMust * @param boolMust
* @param companyCode * @param companyCode
*/ */
private void setRepeatUsedCheckFilterParam(BoolQueryBuilder boolMust, String companyCode, String bizType) { private void setRepeatUsedCheckFilterParam(BoolQueryBuilder boolMust, String companyCode, String bizType) {
Set<String> records = EquipUsedCheckStrategyContext.getUsedStrategy(bizType).getEquipInFlow(companyCode); Set<String> records = EquipUsedCheckStrategyContext.getUsedStrategy(bizType).getEquipInFlow(companyCode);
if(records.size() >0){ if (records.size() > 0) {
boolMust.mustNot(QueryBuilders.termsQuery("SEQUENCE_NBR.keyword", records)); boolMust.mustNot(QueryBuilders.termsQuery("SEQUENCE_NBR.keyword", records));
} }
} }
...@@ -1478,7 +1503,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1478,7 +1503,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
* *
* @return code * @return code
*/ */
private String getRegCode() { public String getRegCode() {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "ZC"); queryWrapper.eq("type", "ZC");
queryWrapper.eq("name", "未注册"); queryWrapper.eq("name", "未注册");
...@@ -1874,4 +1899,40 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1874,4 +1899,40 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}); });
return result; return result;
} }
@Override
public String importPressureVesselData(MultipartFile file, Map<String, Object> paramMap) {
try {
PressureVesselListener pressureVesselListener = new PressureVesselListener();
injectDependencies(pressureVesselListener, paramMap);
EasyExcel.read(file.getInputStream(), EquipInfoCylinderExcelDto.class, pressureVesselListener)
.headRowNumber(4)
.sheet()
.doRead();
return pressureVesselListener.getResult();
} catch (Exception e) {
return (e.getCause() instanceof BadRequest) ? "模版数据填写有误:" + e.getCause().getMessage() : "导入时出现异常:" + e.getMessage();
}
}
// 注入依赖
private void injectDependencies(PressureVesselListener listener, Map<String, Object> paramMap) {
listener.setIdxBizJgRegisterInfoService(idxBizJgRegisterInfoService);
listener.setJgInstallationNoticeService(jgInstallationNoticeService);
listener.setIdxBizJgUseInfoService(idxBizJgUseInfoService);
listener.setIdxBizJgDesignInfoService(idxBizJgDesignInfoService);
listener.setIdxBizJgFactoryInfoService(idxBizJgFactoryInfoService);
listener.setIdxBizJgTechParamsVesselService(idxBizJgTechParamsVesselService);
listener.setIdxBizJgInspectionDetectionInfoService(idxBizJgInspectionDetectionInfoService);
listener.setCommonService(commonService);
listener.setTzsJgRegistrationInfoMapper(tzsJgRegistrationInfoMapper);
listener.setTzsJgRegistrationInfoMapper(tzsJgRegistrationInfoMapper);
listener.setEsEquipmentCategory(esEquipmentCategory);
listener.setCategoryOtherInfoMapper(categoryOtherInfoMapper);
listener.setSuperviseInfoMapper(superviseInfoMapper);
listener.setParamMap(paramMap);
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
CompanyBo company = reginParams.getCompany();
listener.setCompany(company);
}
} }
\ No newline at end of file
...@@ -34,4 +34,9 @@ public class IdxBizJgUseInfoServiceImpl extends BaseService<IdxBizJgUseInfoDto,I ...@@ -34,4 +34,9 @@ public class IdxBizJgUseInfoServiceImpl extends BaseService<IdxBizJgUseInfoDto,I
queryWrapper.lambda().in(IdxBizJgUseInfo::getRecord, equIds); queryWrapper.lambda().in(IdxBizJgUseInfo::getRecord, equIds);
return list(queryWrapper); return list(queryWrapper);
} }
@Override
public boolean saveBatch(List<IdxBizJgUseInfo> useInfoList) {
return super.saveBatch(useInfoList);
}
} }
\ No newline at end of file
...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; ...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationNameService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationNameService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
...@@ -459,7 +460,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -459,7 +460,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
ids.forEach(id-> commonService.deleteTaskModel(id + "")); ids.forEach(id-> commonService.deleteTaskModel(id + ""));
} }
@Transactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String taskId) { public void revocation(String instanceId, String taskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -530,7 +531,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -530,7 +531,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
} }
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -781,7 +782,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -781,7 +782,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
public Page<Map<String, Object>> getList(JgChangeRegistrationNameDto dto, Page<Map<String, Object>> page, List<String> roleIds, String companyCode) { public Page<Map<String, Object>> getList(JgChangeRegistrationNameDto dto,String sort, Page<Map<String, Object>> page, List<String> roleIds, String companyCode) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getReceiveOrgCode())) { if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getReceiveOrgCode())) {
String[] receiveOrgIdList = dto.getReceiveOrgCode().split("_"); String[] receiveOrgIdList = dto.getReceiveOrgCode().split("_");
if (receiveOrgIdList.length > 1) { if (receiveOrgIdList.length > 1) {
...@@ -789,6 +790,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -789,6 +790,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
dto.setReceiveCompanyCode(receiveOrgIdList[0]); dto.setReceiveCompanyCode(receiveOrgIdList[0]);
} }
} }
return this.baseMapper.getListPage(page, dto, roleIds, companyCode, RequestContext.getExeUserId()); SortVo sortMap = commonService.sortFieldConversion(sort);
return this.baseMapper.getListPage(page,sortMap, dto, roleIds, companyCode, RequestContext.getExeUserId());
} }
} }
\ No newline at end of file
...@@ -134,7 +134,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -134,7 +134,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
return listPage; return listPage;
} }
@Transactional @Transactional(rollbackFor = Exception.class)
public List<Map<String, Object>> save(JSONObject map) { public List<Map<String, Object>> save(JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
UseInfo useInfo = new UseInfo(); UseInfo useInfo = new UseInfo();
...@@ -396,6 +396,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -396,6 +396,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
.build(); .build();
} }
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -438,6 +439,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -438,6 +439,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
@Transactional(rollbackFor = Exception.class)
public void withdraw(String instanceId, String nextTaskId) { public void withdraw(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
......
...@@ -22,6 +22,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*; ...@@ -22,6 +22,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*;
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.service.IJgRegistrationHistoryService; import com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
...@@ -51,6 +52,7 @@ import org.redisson.api.RedissonClient; ...@@ -51,6 +52,7 @@ import org.redisson.api.RedissonClient;
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.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -138,6 +140,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -138,6 +140,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param map * @param map
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
public List<JgChangeRegistrationTransferDto> createTransfer(String submitType, JSONObject map, ReginParams reginParams) { public List<JgChangeRegistrationTransferDto> createTransfer(String submitType, JSONObject map, ReginParams reginParams) {
Map<String, Object> tableData = (Map<String, Object>) map.get(TABLE_PAGE_ID); Map<String, Object> tableData = (Map<String, Object>) map.get(TABLE_PAGE_ID);
...@@ -393,6 +396,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -393,6 +396,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param operate * @param operate
* @param comment * @param comment
*/ */
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -441,6 +445,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -441,6 +445,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* *
* @param instanceId * @param instanceId
*/ */
@Override
@Transactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String nextTaskId) { public void revocation(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -632,8 +638,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -632,8 +638,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @return * @return
*/ */
@Override @Override
public Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page, JgChangeRegistrationTransferDto params, String companyTypeCode, String companyType) { public Page<Map<String, Object>> queryListForPage(Page<Map<String, Object>> page,String sort, JgChangeRegistrationTransferDto params, String companyTypeCode, String companyType) {
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, params, companyTypeCode, RequestContext.getExeUserId()); SortVo sortMap = commonService.sortFieldConversion(sort);
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page,sortMap, params, companyTypeCode, RequestContext.getExeUserId());
listPage.getRecords().forEach(x-> x.put("companyType",companyType)); listPage.getRecords().forEach(x-> x.put("companyType",companyType));
return listPage; return listPage;
} }
......
...@@ -758,6 +758,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -758,6 +758,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
} }
@Transactional(rollbackFor = Exception.class)
public void cancel(JgChangeRegistrationUnitDto noticeDto) { public void cancel(JgChangeRegistrationUnitDto noticeDto) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(noticeDto.getInstanceId()); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(noticeDto.getInstanceId());
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
......
...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableEqMapper; ...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableEqMapper;
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.mapper.JgMaintainNoticeMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeMapper;
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.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
...@@ -363,7 +364,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -363,7 +364,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
public Page<Map<String, Object>> pageList(Page<Map<String, Object>> page, JgEnableDisableDto dto) { public Page<Map<String, Object>> pageList(Page<Map<String, Object>> page,String sort, JgEnableDisableDto dto) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ("company".equals(reginParams.getCompany().getLevel())) { if ("company".equals(reginParams.getCompany().getLevel())) {
dto.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode()); dto.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
...@@ -372,7 +373,8 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -372,7 +373,8 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
} }
String level = reginParams.getCompany().getLevel(); String level = reginParams.getCompany().getLevel();
String userId = reginParams.getUserModel().getUserId(); String userId = reginParams.getUserModel().getUserId();
return this.baseMapper.pageList(page, dto, level,userId); SortVo sortMap = commonService.sortFieldConversion(sort);
return this.baseMapper.pageList(page,sortMap, dto, level,userId);
} }
...@@ -422,6 +424,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -422,6 +424,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
@Autowired @Autowired
RegistrationInfoMapper tzsJgRegistrationInfoMapper; RegistrationInfoMapper tzsJgRegistrationInfoMapper;
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -593,6 +596,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -593,6 +596,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
} }
@Transactional(rollbackFor = Exception.class)
public void withdraw(String instanceId, String nextTaskId) { public void withdraw(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
......
...@@ -384,6 +384,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, ...@@ -384,6 +384,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* @param jgEquipTransferDto 设备信息 * @param jgEquipTransferDto 设备信息
* @param op 通过或驳回 * @param op 通过或驳回
*/ */
@Transactional(rollbackFor = Exception.class)
public void accept(JgEquipTransferDto jgEquipTransferDto, String op) { public void accept(JgEquipTransferDto jgEquipTransferDto, String op) {
String instanceId = jgEquipTransferDto.getInstanceId(); String instanceId = jgEquipTransferDto.getInstanceId();
String nextTaskId = jgEquipTransferDto.getNextTaskId(); String nextTaskId = jgEquipTransferDto.getNextTaskId();
...@@ -492,6 +493,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, ...@@ -492,6 +493,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* *
* @param equipTransferInfo 设备移交信息 * @param equipTransferInfo 设备移交信息
*/ */
@Transactional(rollbackFor = Exception.class)
public void cancel(JgEquipTransferDto equipTransferInfo) { public void cancel(JgEquipTransferDto equipTransferInfo) {
String instanceId = equipTransferInfo.getInstanceId(); String instanceId = equipTransferInfo.getInstanceId();
String nextTaskId = equipTransferInfo.getNextTaskId(); String nextTaskId = equipTransferInfo.getNextTaskId();
......
...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil; import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
...@@ -26,8 +27,10 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgInstallationNoticeMapper; ...@@ -26,8 +27,10 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgInstallationNoticeMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgInstallationNoticeService; import com.yeejoin.amos.boot.module.jg.api.service.IJgInstallationNoticeService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESEquipmentCategory;
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.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgConstructionInfoService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgConstructionInfoService;
...@@ -35,6 +38,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService; ...@@ -35,6 +38,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil; import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
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.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum;
...@@ -150,6 +154,11 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -150,6 +154,11 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
private CommonServiceImpl commonService; private CommonServiceImpl commonService;
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired
private IdxBizJgConstructionInfoMapper constructionInfoMapper;
@Autowired
private ESEquipmentCategory esEquipmentCategory;
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -196,8 +205,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -196,8 +205,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
installationInfo.put(s, ObjectUtils.isEmpty(installationInfo.get(s)) ? new JSONArray() : parseArray(installationInfo.get(s).toString())); installationInfo.put(s, ObjectUtils.isEmpty(installationInfo.get(s)) ? new JSONArray() : parseArray(installationInfo.get(s).toString()));
} }
} }
if (Integer.parseInt(notice.getNoticeStatus()) == FlowStatusEnum.TO_BE_FINISHED.getCode()) { if (Integer.parseInt(notice.getNoticeStatus()) >= FlowStatusEnum.TO_BE_FINISHED.getCode()) {
// 完成时显示历史数据 // 完成及作废时显示历史数据
JSONObject hisData = commonService.queryHistoryData(notice.getSequenceNbr()); JSONObject hisData = commonService.queryHistoryData(notice.getSequenceNbr());
// 兼容老数据 // 兼容老数据
if (hisData == null) { if (hisData == null) {
...@@ -562,7 +571,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -562,7 +571,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
jgInstallationNoticeEqMapper.insertBatchSomeColumn(jgRelationEquipList); jgInstallationNoticeEqMapper.insertBatchSomeColumn(jgRelationEquipList);
this.updateRedisBatch(list); this.updateRedisBatch(list);
return list; return list;
} catch (BadRequest e) { } catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
this.rollBackForDelRedisData(); this.rollBackForDelRedisData();
throw e; throw e;
...@@ -977,22 +986,9 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -977,22 +986,9 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
tzsJgRegistrationInfoMapper.updateById(idxBizJgRegisterInfo); tzsJgRegistrationInfoMapper.updateById(idxBizJgRegisterInfo);
// 更新es // 更新es
updateEquipEs(jgInstallationNotice, tzsJgOtherInfo, idxBizJgRegisterInfo, idxBizJgSupervisionInfo, map1); updateEquipEs(jgInstallationNotice, tzsJgOtherInfo, idxBizJgRegisterInfo, idxBizJgSupervisionInfo, map1);
// 更新施工信息表 // 记录施工信息表
IdxBizJgConstructionInfo idxBizJgConstructionInfo = constructionInfoService.queryNewestDetailByRecord(jgRelationEquip.getEquId()); createConstruction2Db(jgInstallationNotice, jgRelationEquip);
if (!ObjectUtils.isEmpty(idxBizJgConstructionInfo)) {
idxBizJgConstructionInfo.setUscUnitCreditCode(jgInstallationNotice.getInstallUnitCreditCode());
idxBizJgConstructionInfo.setUscUnitName(jgInstallationNotice.getInstallUnitName());
idxBizJgConstructionInfo.setUscDate(jgInstallationNotice.getInstallStartDate());
// 获取施工类型id
LambdaQueryWrapper<DataDictionary> lambda = new LambdaQueryWrapper<>();
lambda.eq(DataDictionary::getType, CONSTRUCTION_TYPE);
lambda.eq(DataDictionary::getName, CONSTRUCTION_TYPE_NAME);
List<DataDictionary> dataDictionaries = dataDictionaryMapper.selectList(lambda);
if (!CollectionUtils.isEmpty(dataDictionaries)) {
idxBizJgConstructionInfo.setConstructionType(String.valueOf(dataDictionaries.get(0).getSequenceNbr()));
}
constructionInfoService.saveOrUpdateData(idxBizJgConstructionInfo);
}
// 更新使用信息 // 更新使用信息
updateJgUseInfo(jgInstallationNotice, jgRelationEquip); updateJgUseInfo(jgInstallationNotice, jgRelationEquip);
...@@ -1007,7 +1003,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -1007,7 +1003,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
TaskMessageDto taskMessageDto = new TaskMessageDto(); TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtils.copyProperties(jgInstallationNotice, taskMessageDto); BeanUtils.copyProperties(jgInstallationNotice, taskMessageDto);
taskMap.put("model", taskMessageDto); taskMap.put("model", taskMessageDto);
taskV2Model = commonService.updateTaskModel(taskMap); commonService.updateTaskModel(taskMap);
} else { } else {
jgInstallationNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); jgInstallationNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
jgInstallationNotice.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); jgInstallationNotice.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
...@@ -1080,6 +1076,26 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -1080,6 +1076,26 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
} }
} }
private void createConstruction2Db(JgInstallationNotice jgInstallationNotice, JgInstallationNoticeEq jgRelationEquip) {
IdxBizJgConstructionInfo idxBizJgConstructionInfo = new IdxBizJgConstructionInfo();
idxBizJgConstructionInfo.setUscUnitCreditCode(jgInstallationNotice.getInstallUnitCreditCode());
idxBizJgConstructionInfo.setUscUnitName(jgInstallationNotice.getInstallUnitName());
idxBizJgConstructionInfo.setUscDate(jgInstallationNotice.getInstallStartDate());
idxBizJgConstructionInfo.setRecord(jgRelationEquip.getEquId());
idxBizJgConstructionInfo.setRecDate(new Date());
idxBizJgConstructionInfo.setRecUserId(RequestContext.getExeUserId());
idxBizJgConstructionInfo.setNoticeId(jgInstallationNotice.getSequenceNbr() + "");
// 获取施工类型id
LambdaQueryWrapper<DataDictionary> lambda = new LambdaQueryWrapper<>();
lambda.eq(DataDictionary::getType, CONSTRUCTION_TYPE);
lambda.eq(DataDictionary::getName, CONSTRUCTION_TYPE_NAME);
List<DataDictionary> dataDictionaries = dataDictionaryMapper.selectList(lambda);
if (!CollectionUtils.isEmpty(dataDictionaries)) {
idxBizJgConstructionInfo.setConstructionType(String.valueOf(dataDictionaries.get(0).getSequenceNbr()));
}
constructionInfoService.save(idxBizJgConstructionInfo);
}
private void updateEquipEs(JgInstallationNotice jgInstallationNotice, OtherInfo tzsJgOtherInfo, private void updateEquipEs(JgInstallationNotice jgInstallationNotice, OtherInfo tzsJgOtherInfo,
IdxBizJgRegisterInfo tzsJgRegistrationInfo, IdxBizJgSupervisionInfo idxBizJgSupervisionInfo, IdxBizJgRegisterInfo tzsJgRegistrationInfo, IdxBizJgSupervisionInfo idxBizJgSupervisionInfo,
Map<String, Object> map1) { Map<String, Object> map1) {
...@@ -1152,6 +1168,14 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -1152,6 +1168,14 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
idxBizJgUseInfoMapper.update(idxBizJgUseInfo, lambda); idxBizJgUseInfoMapper.update(idxBizJgUseInfo, lambda);
} }
private void saveHisDataBeforeUpdate(JgInstallationNotice jgInstallationNotice) {
LambdaQueryWrapper<JgInstallationNoticeEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgInstallationNoticeEq::getEquipTransferId, jgInstallationNotice.getSequenceNbr());
JgInstallationNoticeEq jgRelationEquip = jgInstallationNoticeEqMapper.selectOne(queryWrapper);
Map<String, Object> map = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(jgRelationEquip.getEquId());
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName(), new JSONObject(map), jgRelationEquip.getEquId(), jgInstallationNotice.getSequenceNbr().toString());
}
private void saveHisDataBeforeUpdate(JgInstallationNotice jgInstallationNotice, String equId) { private void saveHisDataBeforeUpdate(JgInstallationNotice jgInstallationNotice, String equId) {
Map<String, Object> map = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equId); Map<String, Object> map = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equId);
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName(), new JSONObject(map), equId, jgInstallationNotice.getSequenceNbr().toString()); commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName(), new JSONObject(map), equId, jgInstallationNotice.getSequenceNbr().toString());
...@@ -1230,4 +1254,91 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -1230,4 +1254,91 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
return result; return result;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public JgInstallationNotice cancelApplication(Long sequenceNbr, String cancelReason) {
// 1.更新为已作废
JgInstallationNotice installationNotice = this.getById(sequenceNbr);
String oldNoticeStatus = installationNotice.getNoticeStatus();
installationNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_DISCARD.getCode()));
installationNotice.setCancelReason(cancelReason);
installationNotice.setCancelDate(new Date());
installationNotice.setCancelUserId(RequestContext.getExeUserId());
installationNotice.setNextExecuteUserIds(null);
installationNotice.setPromoter(null);
this.updateById(installationNotice);
// 2.更新关联的业务
this.processElseDataByStatus(Objects.requireNonNull(FlowStatusEnum.getEumByCode(Integer.parseInt(oldNoticeStatus))), installationNotice);
return installationNotice;
}
private void processElseDataByStatus(FlowStatusEnum oldNoticeStatus, JgInstallationNotice installationNotice) {
switch (oldNoticeStatus){
case TO_BE_SUBMITTED: // 待提交
// 1.写入历史表
this.saveHisDataBeforeUpdate(installationNotice);
// 2.删除暂存时生成的待办
commonService.deleteTaskModel(installationNotice.getSequenceNbr() + "");
break;
case TO_BE_FINISHED: // 已完成
// 1.删除之前完成时同步到一码通的施工信息
this.deleteConstructionInfo(installationNotice);
// 2.删除与设备的关系,设备可再次发起安装告知
this.clearUseInfoOfEquip(installationNotice);
// 3.清空redis 缓存的流程中及已完成安装告知的设备
this.delRepeatUseEquipData(installationNotice);
break;
default:
// 流程中(驳回、撤回等)
// 1.待办任务更新为已完成
this.finishedTask(installationNotice);
// 2.终止流程-工作流报错暂时注释掉
// iCmWorkflowService.stopProcess(installationNotice.getInstanceId());
// 3.写入历史表
this.saveHisDataBeforeUpdate(installationNotice);
// 4.清空redis(缓存的流程中及已完成安装告知的设备)
this.delRepeatUseEquipData(installationNotice);
}
}
private void finishedTask(JgInstallationNotice jgInstallationNotice) {
HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("relationId", jgInstallationNotice.getInstanceId());
TaskMessageDto taskMessageDto = new TaskMessageDto();
jgInstallationNotice.setProxyStatementAttachment(null);
jgInstallationNotice.setInstallContractAttachment(null);
BeanUtils.copyProperties(jgInstallationNotice, taskMessageDto);
taskMap.put("model", taskMessageDto);
commonService.updateTaskModel(taskMap);
}
private void deleteConstructionInfo(JgInstallationNotice installationNotice) {
constructionInfoMapper.delete(new LambdaQueryWrapper<IdxBizJgConstructionInfo>().eq(IdxBizJgConstructionInfo::getNoticeId, installationNotice.getSequenceNbr()));
}
private void clearUseInfoOfEquip(JgInstallationNotice installationNotice) {
// 2.1 数据库的的USE_UNIT_CREDIT_CODE赋空
LambdaQueryWrapper<JgInstallationNoticeEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgInstallationNoticeEq::getEquipTransferId, installationNotice.getSequenceNbr());
JgInstallationNoticeEq jgRelationEquip = jgInstallationNoticeEqMapper.selectOne(queryWrapper);
// 强制更新字段为 NULL
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgUseInfo::getRecord, jgRelationEquip.getEquId()); // 设置更新条件
updateWrapper.set(IdxBizJgUseInfo::getUseUnitCreditCode,null);
updateWrapper.set(IdxBizJgUseInfo::getUseUnitName,null);
useInfoService.update(updateWrapper);
// 2.2 es的USE_UNIT_CREDIT_CODE赋空
Optional<ESEquipmentCategoryDto> optional = esEquipmentCategory.findById(jgRelationEquip.getEquId());
if(optional.isPresent()){
ESEquipmentCategoryDto esEquipmentCategoryDto = optional.get();
esEquipmentCategoryDto.setUSE_UNIT_CREDIT_CODE(null);
esEquipmentCategoryDto.setUSE_UNIT_NAME(null);
esEquipmentCategory.save(esEquipmentCategoryDto);
}
}
} }
\ No newline at end of file
...@@ -690,6 +690,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -690,6 +690,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
} }
} }
@Transactional(rollbackFor = Exception.class)
public void cancel(JgMaintainNoticeDto noticeDto) { public void cancel(JgMaintainNoticeDto noticeDto) {
String instanceId = noticeDto.getInstanceId(); String instanceId = noticeDto.getInstanceId();
String nextTaskId = noticeDto.getNextTaskId(); String nextTaskId = noticeDto.getNextTaskId();
...@@ -739,7 +740,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -739,7 +740,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
.build(); .build();
} }
@Transactional @Transactional(rollbackFor = Exception.class)
public void accept(JgMaintainNoticeDto dto, String op, String opinion) { public void accept(JgMaintainNoticeDto dto, String op, String opinion) {
String instanceId = dto.getInstanceId(); String instanceId = dto.getInstanceId();
String nextTaskId = dto.getNextTaskId(); String nextTaskId = dto.getNextTaskId();
......
...@@ -145,9 +145,9 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -145,9 +145,9 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
} }
} else { } else {
// 完成的显示历史表的数据 // 完成的显示历史表的数据
JSONArray objects = (JSONArray) commonService.queryHistoryDataObj(dto.getSequenceNbr()); JSONArray objects = commonService.queryHistoryDataObj(dto.getSequenceNbr());
// 兼容老数据 // 兼容老数据
if (objects == null) { if (objects.isEmpty()) {
List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr); List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr);
if (!ObjectUtils.isEmpty(list)) { if (!ObjectUtils.isEmpty(list)) {
vo.setEquipmentLists(list); vo.setEquipmentLists(list);
...@@ -171,6 +171,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -171,6 +171,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return maintenanceContractMapper.updateBySequenceNbr(dto); return maintenanceContractMapper.updateBySequenceNbr(dto);
} }
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -292,7 +293,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -292,7 +293,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
/** /**
* 维保合同撤回 * 维保合同撤回
*/ */
@Transactional @Transactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String _nextTaskId) { public void revocation(String instanceId, String _nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
......
...@@ -690,6 +690,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -690,6 +690,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
* @param dto 改造信息 * @param dto 改造信息
* @param op 通过或驳回 * @param op 通过或驳回
*/ */
@Transactional(rollbackFor = Exception.class)
public void accept(JgReformNoticeDto dto, String op) { public void accept(JgReformNoticeDto dto, String op) {
String instanceId = dto.getInstanceId(); String instanceId = dto.getInstanceId();
String nextTaskId = dto.getNextTaskId(); String nextTaskId = dto.getNextTaskId();
......
...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; ...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgScrapCancelService; import com.yeejoin.amos.boot.module.jg.api.service.IJgScrapCancelService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
...@@ -109,12 +110,13 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -109,12 +110,13 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
return "1".equals(type) ? BusinessTypeEnum.JG_EQUIPMENT_CANCEL : BusinessTypeEnum.JG_EQUIPMENT_MOVE; return "1".equals(type) ? BusinessTypeEnum.JG_EQUIPMENT_CANCEL : BusinessTypeEnum.JG_EQUIPMENT_MOVE;
} }
public Page<Map<String, Object>> getList(JgScrapCancelDto dto, Page<Map<String, Object>> page, List<String> roleIds) { public Page<Map<String, Object>> getList(JgScrapCancelDto dto,String sort, Page<Map<String, Object>> page, List<String> roleIds) {
ReginParams reginParams = this.getSelectedOrgInfo(); ReginParams reginParams = this.getSelectedOrgInfo();
String orgCode = reginParams.getCompany().getCompanyCode(); String orgCode = reginParams.getCompany().getCompanyCode();
dto.setCreateUserId(reginParams.getUserModel().getUserId()); dto.setCreateUserId(reginParams.getUserModel().getUserId());
String currentUserId = reginParams.getUserModel().getUserId(); String currentUserId = reginParams.getUserModel().getUserId();
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds, orgCode, currentUserId); SortVo sortMap = commonService.sortFieldConversion(sort);
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page,sortMap, dto, roleIds, orgCode, currentUserId);
listPage.getRecords().forEach(item -> { listPage.getRecords().forEach(item -> {
if (item.containsKey("auditStatus") && Objects.nonNull(item.get("auditStatus"))) { if (item.containsKey("auditStatus") && Objects.nonNull(item.get("auditStatus"))) {
item.put("auditStatusDesc", item.get("auditStatus").toString()); item.put("auditStatusDesc", item.get("auditStatus").toString());
...@@ -571,7 +573,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -571,7 +573,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
} }
@Transactional @Transactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String nextTaskId) { public void revocation(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -636,7 +638,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -636,7 +638,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
} }
} }
@Transactional @Transactional(rollbackFor = Exception.class)
public void flowExecute(String equList, Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(String equList, Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
......
...@@ -29,13 +29,16 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper; ...@@ -29,13 +29,16 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationService; import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESEquipmentCategory;
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.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil; import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
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.common.StringUtil; import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum;
...@@ -144,7 +147,10 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -144,7 +147,10 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired @Autowired
private JgUseRegistrationMapper jgUseRegistrationMapper; private JgUseRegistrationMapper jgUseRegistrationMapper;
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回"); @Autowired
private ESEquipmentCategory esEquipmentCategory;
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废");
/** /**
* @param auditPassDate 通过时间 * @param auditPassDate 通过时间
...@@ -470,7 +476,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -470,7 +476,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS); List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) { if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE, ""); updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE);
} }
} }
...@@ -500,7 +506,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -500,7 +506,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
commonServiceImpl.buildTaskModel(list); commonServiceImpl.buildTaskModel(list);
} }
return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr()); return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr());
} catch (BadRequest e) { } catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
this.rollBackForDelRedisData(); this.rollBackForDelRedisData();
throw e; throw e;
...@@ -692,7 +698,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -692,7 +698,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 设备数据存历史数据,在流程完成时使用 // 设备数据存历史数据,在流程完成时使用
updateHistory(map, null, String.valueOf(useRegistration.getSequenceNbr()), useRegistration.getSupervisoryCode()); updateHistory(map, null, String.valueOf(useRegistration.getSequenceNbr()), useRegistration.getSupervisoryCode());
return this.baseMapper.getDetailById(useRegistration.getSequenceNbr()); return this.baseMapper.getDetailById(useRegistration.getSequenceNbr());
} catch (BadRequest e) { } catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
this.rollBackForDelRedisData(); this.rollBackForDelRedisData();
throw e; throw e;
...@@ -799,7 +805,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -799,7 +805,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
this.getBaseMapper().updateById(jgUseRegistration); this.getBaseMapper().updateById(jgUseRegistration);
} }
public JgUseRegistration updateData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, Boolean isFirst, String carNumber) { public JgUseRegistration updateData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, Boolean isFirst) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = workflowResultDto.getNextExecutorRoleIds(); String role = workflowResultDto.getNextExecutorRoleIds();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
...@@ -812,18 +818,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -812,18 +818,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setEquipId(jgUseRegistrationEq.getEquId()); jgUseRegistration.setEquipId(jgUseRegistrationEq.getEquId());
jgUseRegistration.setNextTaskId(workflowResultDto.getNextTaskId()); jgUseRegistration.setNextTaskId(workflowResultDto.getNextTaskId());
jgUseRegistration.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); jgUseRegistration.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
if (isFirst) { if (isFirst) {
jgUseRegistration.setInstanceStatus(workflowResultDto.getExecutorRoleIds()); jgUseRegistration.setInstanceStatus(workflowResultDto.getExecutorRoleIds());
jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId()); jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId());
} }
if (!ObjectUtils.isEmpty(carNumber)) {
// 更新安全追溯-场内车辆中的“车牌号字段”
LambdaUpdateWrapper<IdxBizJgRegisterInfo> wrapper = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda()
.eq(IdxBizJgRegisterInfo::getRecord, jgUseRegistrationEq.getEquId());
IdxBizJgRegisterInfo idxBizJgRegisterInfo = new IdxBizJgRegisterInfo();
idxBizJgRegisterInfo.setCarNumber(carNumber);
idxBizJgRegisterInfoMapper.update(idxBizJgRegisterInfo, wrapper);
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) { if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgUseRegistration.setNextExecuteIds(role); jgUseRegistration.setNextExecuteIds(role);
jgUseRegistration.setPromoter(reginParams.getUserModel().getUserId()); jgUseRegistration.setPromoter(reginParams.getUserModel().getUserId());
...@@ -975,9 +974,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -975,9 +974,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
registerInfo.setEquCode(equCode); registerInfo.setEquCode(equCode);
mapData.put("equCode", equCode); mapData.put("equCode", equCode);
lambda.set(true, IdxBizJgRegisterInfo::getEquCode, equCode); lambda.set(true, IdxBizJgRegisterInfo::getEquCode, equCode);
// 更新新生成的历史数据的设备代码
jgRegistrationHistory.setChangeData(JSON.toJSONString(mapData));
jgRegistrationHistoryService.updateById(jgRegistrationHistory);
} }
} }
...@@ -1064,6 +1060,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1064,6 +1060,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
commonServiceImpl.buildTaskModel(list); commonServiceImpl.buildTaskModel(list);
} }
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String manageType, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String manageType, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -1077,6 +1074,26 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1077,6 +1074,26 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
commonService.checkForExecuteFlow(nextTaskId, instanceId); commonService.checkForExecuteFlow(nextTaskId, instanceId);
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id); JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id);
if (!ObjectUtils.isEmpty(carNumber)) {
// 更新安全追溯-场内车辆中的“车牌号字段” 保证唯一性
LambdaQueryWrapper<JgUseRegistrationEq> eq = new QueryWrapper<JgUseRegistrationEq>().lambda()
.eq(JgUseRegistrationEq::getEquipTransferId, jgUseRegistration.getSequenceNbr());
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(eq);
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgRegisterInfo::getCarNumber, carNumber);
wrapper.ne(!ObjectUtils.isEmpty(jgUseRegistrationEq.getEquId()), IdxBizJgRegisterInfo::getRecord, jgUseRegistrationEq.getEquId());
Integer count = idxBizJgRegisterInfoMapper.selectCount(wrapper);
if (count > 0) {
throw new BadRequest("车牌号已存在,请重新输入!");
}
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda()
.eq(IdxBizJgRegisterInfo::getRecord, jgUseRegistrationEq.getEquId());
IdxBizJgRegisterInfo idxBizJgRegisterInfo = new IdxBizJgRegisterInfo();
idxBizJgRegisterInfo.setCarNumber(carNumber);
idxBizJgRegisterInfoMapper.update(idxBizJgRegisterInfo, updateWrapper);
}
// 组装信息 // 组装信息
TaskResultDTO dto = new TaskResultDTO(); TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
...@@ -1105,7 +1122,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1105,7 +1122,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if ("unit".equals(manageType)) { if ("unit".equals(manageType)) {
this.updateUseRegUnitData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, false); this.updateUseRegUnitData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, false);
} else { } else {
this.updateData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, false, carNumber); this.updateData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, false);
} }
} }
this.clearDataForCheckEquipRepeatUsed(jgUseRegistration); this.clearDataForCheckEquipRepeatUsed(jgUseRegistration);
...@@ -1118,6 +1135,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1118,6 +1135,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
@Transactional(rollbackFor = Exception.class)
public void withdraw(String instanceId, String nextTaskId, String manageType) { public void withdraw(String instanceId, String nextTaskId, String manageType) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -1223,6 +1241,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1223,6 +1241,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jsonObject.remove("submit"); jsonObject.remove("submit");
jsonObject.remove("instanceId"); jsonObject.remove("instanceId");
if (!"unit".equals(jgUseRegistration.getManageType())) { if (!"unit".equals(jgUseRegistration.getManageType())) {
// 作废时(完成时)equipId 为空
record = setDefaultRecord(jgUseRegistration, record);
// 需求:当申请信息由于设备信息错误被驳回及撤回时显示的数据还是旧设备数据,导致该申请单无法使用 // 需求:当申请信息由于设备信息错误被驳回及撤回时显示的数据还是旧设备数据,导致该申请单无法使用
// 解决方案:设备基本信息、制造信息、设计信息、安装信息、维保信息,已完成时显示历史数据、非完成时显示最新设备数据 // 解决方案:设备基本信息、制造信息、设计信息、安装信息、维保信息,已完成时显示历史数据、非完成时显示最新设备数据
this.fillHistoryDataWithNewEquip(jsonObject, jgUseRegistration, record); this.fillHistoryDataWithNewEquip(jsonObject, jgUseRegistration, record);
...@@ -1231,6 +1251,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1231,6 +1251,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
IdxBizJgRegisterInfo idxBizJgRegisterInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper); IdxBizJgRegisterInfo idxBizJgRegisterInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper);
jsonObject.put("carNumber", idxBizJgRegisterInfo.getCarNumber()); jsonObject.put("carNumber", idxBizJgRegisterInfo.getCarNumber());
} else { } else {
// 完成、作废时显示历史数据,其他状态显示实时数据
if (!(jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) || jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName()))) {
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) jsonObject.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) jsonObject.get("equipmentLists");
List<String> records = equipmentLists.stream().map(v -> (String) v.get("record")).collect(Collectors.toList()); List<String> records = equipmentLists.stream().map(v -> (String) v.get("record")).collect(Collectors.toList());
jsonObject.remove("equipmentLists"); jsonObject.remove("equipmentLists");
...@@ -1246,6 +1268,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1246,6 +1268,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jsonObject.put("equipmentLists", jgUseRegistrationMapper.queryForUnitPipelineEquipment(records)); jsonObject.put("equipmentLists", jgUseRegistrationMapper.queryForUnitPipelineEquipment(records));
} }
} }
}
// 转化 附件 字段 // 转化 附件 字段
commonServiceImpl.convertStringToJsonobject(jsonObject, jsonFields); commonServiceImpl.convertStringToJsonobject(jsonObject, jsonFields);
return jsonObject; return jsonObject;
...@@ -1293,6 +1316,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1293,6 +1316,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return detail; return detail;
} }
private String setDefaultRecord(JgUseRegistration jgUseRegistration, String record) {
if (StringUtils.isEmpty(record)) {
JgUseRegistrationEq jgUseRegistrationEq = jgUseRegistrationEqService.getOne(new LambdaQueryWrapper<JgUseRegistrationEq>().eq(JgUseRegistrationEq::getEquipTransferId, jgUseRegistration.getSequenceNbr()));
record = jgUseRegistrationEq.getEquId();
}
return record;
}
private Map<String, Object> getInspectDetail(String record) { private Map<String, Object> getInspectDetail(String record) {
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new QueryWrapper<IdxBizJgRegisterInfo>().lambda().eq(IdxBizJgRegisterInfo::getRecord, record); LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new QueryWrapper<IdxBizJgRegisterInfo>().lambda().eq(IdxBizJgRegisterInfo::getRecord, record);
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper);
...@@ -1336,37 +1367,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1336,37 +1367,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
/** /**
* 填充设备最新的数据至历史json
*
* @param jsonObject 历史json
* @param jgUseRegistration 使用信息
* @param record 设备唯一标识
*/
private void fillHistoryDataWithNewEquip(JSONObject jsonObject, JgUseRegistration jgUseRegistration, String record) {
// 非已完成时显示设备最新信息。前置需求:一个设备只能同时发起一个流程
if (!jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) {
// 基本信息 + 制造信息
Map<String, Object> detail = this.baseMapper.getDetail(record);
// 设计信息
Map<String, Object> desDetail = this.baseMapper.getDesDetail(record);
if (!ObjectUtils.isEmpty(desDetail)) {
detail.putAll(desDetail);
}
// 安装信息
Map<String, Object> installDetail = this.baseMapper.getiInstallDetail(record);
// 维保信息
Map<String, Object> maintenanceDetail = this.baseMapper.getMaintenanceDetail(record);
if (!ObjectUtils.isEmpty(maintenanceDetail)) {
detail.putAll(maintenanceDetail);
}
if (!ObjectUtils.isEmpty(installDetail)) {
detail.putAll(installDetail);
}
jsonObject.putAll(detail);
}
}
/**
* 参数为监管码 * 参数为监管码
* *
* @param supervisoryCode * @param supervisoryCode
...@@ -1505,6 +1505,37 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1505,6 +1505,37 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
/**
* 填充设备最新的数据至历史json
*
* @param jsonObject 历史json
* @param jgUseRegistration 使用信息
* @param record 设备唯一标识
*/
private void fillHistoryDataWithNewEquip(JSONObject jsonObject, JgUseRegistration jgUseRegistration, String record) {
// 非已完成、非作废时显示设备最新信息。前置需求:一个设备只能同时发起一个流程
if (!(jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) || jgUseRegistration.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName()))) {
// 基本信息 + 制造信息
Map<String, Object> detail = this.baseMapper.getDetail(record);
// 设计信息
Map<String, Object> desDetail = this.baseMapper.getDesDetail(record);
if (!ObjectUtils.isEmpty(desDetail)) {
detail.putAll(desDetail);
}
// 安装信息
Map<String, Object> installDetail = this.baseMapper.getiInstallDetail(record);
// 维保信息
Map<String, Object> maintenanceDetail = this.baseMapper.getMaintenanceDetail(record);
if (!ObjectUtils.isEmpty(maintenanceDetail)) {
detail.putAll(maintenanceDetail);
}
if (!ObjectUtils.isEmpty(installDetail)) {
detail.putAll(installDetail);
}
jsonObject.putAll(detail);
}
}
private UseFlagParamDto buildUseFlagParamDto(JgUseRegistration useRegistration, IdxBizJgRegisterInfo registerInfo, IdxBizJgFactoryInfo factoryInfo, Map<String, Object> exportParamsMap) { private UseFlagParamDto buildUseFlagParamDto(JgUseRegistration useRegistration, IdxBizJgRegisterInfo registerInfo, IdxBizJgFactoryInfo factoryInfo, Map<String, Object> exportParamsMap) {
UseFlagParamDto useFlagParamDto = new UseFlagParamDto(); UseFlagParamDto useFlagParamDto = new UseFlagParamDto();
useFlagParamDto.setReceiveCompanyCode(useRegistration.getReceiveCompanyCode()); useFlagParamDto.setReceiveCompanyCode(useRegistration.getReceiveCompanyCode());
...@@ -1576,4 +1607,141 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1576,4 +1607,141 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
} }
/**
* 使用登记单条作废
*
* @param sequenceNbr 唯一标识
* @param cancelReason 作废原因
* @return JgUseRegistration
*/
@Transactional(rollbackFor = Exception.class)
public JgUseRegistration cancelApplication(Long sequenceNbr, String cancelReason) {
// 1.更新为已作废
JgUseRegistration jgUseRegistration = this.getById(sequenceNbr);
String oldStatus = jgUseRegistration.getStatus();
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
jgUseRegistration.setCancelReason(cancelReason);
jgUseRegistration.setCancelDate(new Date());
jgUseRegistration.setCancelUserId(RequestContext.getExeUserId());
jgUseRegistration.setNextExecuteUserIds("");
jgUseRegistration.setPromoter("");
this.updateById(jgUseRegistration);
// 2.更新关联的业务
processElseDataByStatus(oldStatus, jgUseRegistration);
return jgUseRegistration;
}
private void processElseDataByStatus(String flowStatus, JgUseRegistration jgUseRegistration) {
switch (flowStatus) {
case "使用单位待提交":
// 1.删除暂存时生成的待办
commonServiceImpl.deleteTaskModel(jgUseRegistration.getSequenceNbr() + "");
break;
case "已完成":
// 1.删除与设备的关系,设备可再次发起使用登记
this.clearUseInfoOfEquip(jgUseRegistration);
// 2.清空redis(缓存的流程中及已完成使用登记的设备)
this.clearDataForCheckEquipRepeatUsed(jgUseRegistration);
break;
default:
// 流程中
// 1.待办任务更新为已完成
this.finishedTask(jgUseRegistration);
// 2.终止流程-工作流报错暂时注释掉
// iCmWorkflowService.stopProcess(jgUseRegistration.getInstanceId());
// 3.清空redis(缓存的流程中及已完成使用登记的设备)
this.clearDataForCheckEquipRepeatUsed(jgUseRegistration);
}
}
private void clearUseInfoOfEquip(JgUseRegistration jgUseRegistration) {
LambdaQueryWrapper<JgUseRegistrationEq> eqLambdaQueryWrapper = new LambdaQueryWrapper<JgUseRegistrationEq>().eq(JgUseRegistrationEq::getEquipTransferId, jgUseRegistration.getSequenceNbr());
List<JgUseRegistrationEq> eqList = jgRelationEquipMapper.selectList(eqLambdaQueryWrapper);
eqList.forEach(e -> {
String record = e.getEquId();
// 1.使用信息表部分字段赋空
this.rollBackUseInfo(record);
// 2.回滚更新idx_biz_jg_register_info表
this.rollBackRegisterInfo(record);
// 3.回滚更新idx_biz_jg_supervision_info表
this.rollBackSupervisionInfo(record);
// 4.es的EQU_STATE, USE_ORG_CODE、ORG_BRANCH_CODE、ORG_BRANCH_NAME、STATUS
this.rollBackForEquipEsInfo(record);
// 5.检验检测流水表-找不到关系暂不更新(删除)
// 6.idx_biz_jg_other_info表监管码、96333、claimStatus,监管码、96333、claimStatus
});
}
private void rollBackForEquipEsInfo(String record) {
Optional<ESEquipmentCategoryDto> optional = esEquipmentCategory.findById(record);
if (optional.isPresent()) {
ESEquipmentCategoryDto esEquipmentCategoryDto = optional.get();
esEquipmentCategoryDto.setUSE_ORG_CODE(null);
esEquipmentCategoryDto.setSTATUS(null);
esEquipmentCategoryDto.setEQU_STATE(null);
esEquipmentCategoryDto.setORG_BRANCH_CODE(null);
esEquipmentCategoryDto.setORG_BRANCH_NAME(null);
esEquipmentCategory.save(esEquipmentCategoryDto);
}
}
private void rollBackSupervisionInfo(String record) {
LambdaUpdateWrapper<IdxBizJgSupervisionInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgSupervisionInfo::getRecord, record);
updateWrapper.set(IdxBizJgSupervisionInfo::getOrgBranchName, null);
updateWrapper.set(IdxBizJgSupervisionInfo::getOrgBranchCode, null);
updateWrapper.set(IdxBizJgSupervisionInfo::getCompanyOrgBranchCode, null);
idxBizJgSupervisionInfoMapper.update(null, updateWrapper);
}
private void rollBackRegisterInfo(String record) {
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgRegisterInfo::getRecord, record);
// 未注册,来源cb_data_dictionary type = 'ZC'
updateWrapper.set(IdxBizJgRegisterInfo::getRegisterState, "6046");
updateWrapper.set(IdxBizJgRegisterInfo::getUseOrgCode, null);
updateWrapper.set(IdxBizJgRegisterInfo::getCarNumber, null);
idxBizJgRegisterInfoService.update(updateWrapper);
}
private void rollBackUseInfo(String record) {
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgUseInfo::getRecord, record);
updateWrapper.set(IdxBizJgUseInfo::getCity, null);
updateWrapper.set(IdxBizJgUseInfo::getCityName, null);
updateWrapper.set(IdxBizJgUseInfo::getCounty, null);
updateWrapper.set(IdxBizJgUseInfo::getCountyName, null);
updateWrapper.set(IdxBizJgUseInfo::getStreetName, null);
updateWrapper.set(IdxBizJgUseInfo::getProvince, null);
updateWrapper.set(IdxBizJgUseInfo::getProvinceName, null);
updateWrapper.set(IdxBizJgUseInfo::getEquState, null);
updateWrapper.set(IdxBizJgUseInfo::getEstateUnitCreditCode, null);
updateWrapper.set(IdxBizJgUseInfo::getEstateUnitName, null);
updateWrapper.set(IdxBizJgUseInfo::getUsePlace, null);
updateWrapper.set(IdxBizJgUseInfo::getLongitudeLatitude, null);
updateWrapper.set(IdxBizJgUseInfo::getAddress, null);
updateWrapper.set(IdxBizJgUseInfo::getSafetyManageDt, null);
updateWrapper.set(IdxBizJgUseInfo::getSafetyManagerId, null);
updateWrapper.set(IdxBizJgUseInfo::getSafetyManager, null);
updateWrapper.set(IdxBizJgUseInfo::getFactoryUseSiteStreet, null);
useInfoMapper.update(null, updateWrapper);
}
private void finishedTask(JgUseRegistration jgUseRegistration) {
HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("relationId", jgUseRegistration.getInstanceId());
TaskMessageDto taskMessageDto = new TaskMessageDto();
jgUseRegistration.setOtherAccessories(null);
BeanUtils.copyProperties(jgUseRegistration, taskMessageDto);
taskMap.put("model", taskMessageDto);
commonServiceImpl.updateTaskModel(taskMap);
}
} }
\ No newline at end of file
...@@ -23,8 +23,10 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper; ...@@ -23,8 +23,10 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationService; import com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationService;
import com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESEquipmentCategory;
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.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.ymt.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
...@@ -115,8 +117,9 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -115,8 +117,9 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
private JgUseRegistrationServiceImpl jgUseRegistrationService; private JgUseRegistrationServiceImpl jgUseRegistrationService;
@Autowired @Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService; private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
@Autowired @Autowired
private JgUseRegistrationMapper jgUseRegistrationMapper; private ESEquipmentCategory esEquipmentCategory;
/** /**
* 新增(提交)车用气瓶 * 新增(提交)车用气瓶
...@@ -159,6 +162,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -159,6 +162,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
// 车牌号码 字段的唯一性校验 // 车牌号码 字段的唯一性校验
LambdaQueryWrapper<JgVehicleInformation> vehicleInfoWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<JgVehicleInformation> vehicleInfoWrapper = new LambdaQueryWrapper<>();
vehicleInfoWrapper.eq(JgVehicleInformation::getCarNumber, vehicleInfoDto.getCarNumber()); vehicleInfoWrapper.eq(JgVehicleInformation::getCarNumber, vehicleInfoDto.getCarNumber());
vehicleInfoWrapper.eq(JgVehicleInformation::getIsDelete,false);
vehicleInfoWrapper.ne(!ValidationUtil.isEmpty(vehicleInfoDto.getSequenceNbr()), JgVehicleInformation::getSequenceNbr, vehicleInfoDto.getSequenceNbr()); vehicleInfoWrapper.ne(!ValidationUtil.isEmpty(vehicleInfoDto.getSequenceNbr()), JgVehicleInformation::getSequenceNbr, vehicleInfoDto.getSequenceNbr());
Integer count = this.baseMapper.selectCount(vehicleInfoWrapper); Integer count = this.baseMapper.selectCount(vehicleInfoWrapper);
if (count > 0) { if (count > 0) {
...@@ -474,6 +478,22 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -474,6 +478,22 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
vehicleInfoEqWrapper.eq(JgVehicleInformationEq::getVehicleId, sequenceNbr); vehicleInfoEqWrapper.eq(JgVehicleInformationEq::getVehicleId, sequenceNbr);
List<JgVehicleInformationEq> vehicleInformationEqList = jgVehicleInformationEqService.getBaseMapper().selectList(vehicleInfoEqWrapper); List<JgVehicleInformationEq> vehicleInformationEqList = jgVehicleInformationEqService.getBaseMapper().selectList(vehicleInfoEqWrapper);
// 非完成、非已作废时显示实时数据
if (!(dto.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) || dto.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName()))) {
vo.setEquipmentLists(
this.baseMapper.queryForUnitVesselEquipment(sequenceNbr,
vehicleInformationEqList.stream()
.map(JgVehicleInformationEq::getEquId)
.collect(Collectors.toList())
).stream()
.peek(v -> v.put("chargingMedium", Systemctl.dictionarieClient.value("FILLING_MEDIUM", v.get("chargingMedium") + "").getResult().getDictDataValue()))
.collect(Collectors.toList())
);
} else {
// 完成及已作废时显示历史数据详情
JSONArray objects = commonService.queryHistoryDataObj(dto.getSequenceNbr());
// 兼容老数据
if (objects.isEmpty()) {
vo.setEquipmentLists( vo.setEquipmentLists(
this.baseMapper.queryForUnitVesselEquipment(sequenceNbr, this.baseMapper.queryForUnitVesselEquipment(sequenceNbr,
vehicleInformationEqList.stream() vehicleInformationEqList.stream()
...@@ -483,6 +503,12 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -483,6 +503,12 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
.peek(v -> v.put("chargingMedium", Systemctl.dictionarieClient.value("FILLING_MEDIUM", v.get("chargingMedium") + "").getResult().getDictDataValue())) .peek(v -> v.put("chargingMedium", Systemctl.dictionarieClient.value("FILLING_MEDIUM", v.get("chargingMedium") + "").getResult().getDictDataValue()))
.collect(Collectors.toList()) .collect(Collectors.toList())
); );
} else {
List equList = objects.toJavaList(Map.class);
vo.setEquipmentLists(equList);
}
}
vo.setEquDefineCode( vo.setEquDefineCode(
vo.getEquipmentLists().stream() vo.getEquipmentLists().stream()
.findFirst() .findFirst()
...@@ -501,6 +527,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -501,6 +527,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
* @param comment 意见 * @param comment 意见
* @param nextTaskId nextTaskId * @param nextTaskId nextTaskId
*/ */
@Transactional(rollbackFor = Exception.class)
public void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId, String equDefineCode) { public void flowExecute(Long sequenceNbr, String instanceId, String operate, String comment, String nextTaskId, String equDefineCode) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -674,6 +701,9 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -674,6 +701,9 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
// 更新es // 更新es
updateEsData(mapData, jgVehicleInformation, otherInfo); updateEsData(mapData, jgVehicleInformation, otherInfo);
} }
// 更新新生成的历史数据的设备代码
jgRegistrationHistory.setChangeData(JSON.toJSONString(jsonArray));
jgRegistrationHistoryService.updateById(jgRegistrationHistory);
// 更新代办状态 // 更新代办状态
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
...@@ -691,7 +721,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -691,7 +721,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
this.getBaseMapper().updateById(jgVehicleInformation); this.getBaseMapper().updateById(jgVehicleInformation);
} }
public void updateEsData(JSONObject dataMap, JgVehicleInformation jgVehicleInformation, IdxBizJgOtherInfo otherInfo) { private void updateEsData(JSONObject dataMap, JgVehicleInformation jgVehicleInformation, IdxBizJgOtherInfo otherInfo) {
// 更新es // 更新es
HashMap<String, Map<String, Object>> objMap = new HashMap<>(); HashMap<String, Map<String, Object>> objMap = new HashMap<>();
HashMap<String, Object> param = new HashMap<>(); HashMap<String, Object> param = new HashMap<>();
...@@ -710,7 +740,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -710,7 +740,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap); tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
} }
public void buildTask(JgVehicleInformation jgVehicleInformation, WorkflowResultDto workflowResultDto) { private void buildTask(JgVehicleInformation jgVehicleInformation, WorkflowResultDto workflowResultDto) {
// 代办消息 // 代办消息
ArrayList<TaskModelDto> list = new ArrayList<>(); ArrayList<TaskModelDto> list = new ArrayList<>();
TaskModelDto dto = new TaskModelDto(); TaskModelDto dto = new TaskModelDto();
...@@ -761,7 +791,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -761,7 +791,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
return this.baseMapper.getListPage(page, dto, roleIds); return this.baseMapper.getListPage(page, dto, roleIds);
} }
public void updateEquipMessage(JgVehicleInformation jgVehicleInformation, JSONObject map, IdxBizJgRegisterInfo registerInfo, IdxBizJgOtherInfo otherInfo) { private void updateEquipMessage(JgVehicleInformation jgVehicleInformation, JSONObject map, IdxBizJgRegisterInfo registerInfo, IdxBizJgOtherInfo otherInfo) {
String useOrgCode = jgVehicleInformation.getUseRegistrationCode(); String useOrgCode = jgVehicleInformation.getUseRegistrationCode();
map.remove("status"); map.remove("status");
map.remove("instanceId"); map.remove("instanceId");
...@@ -1019,4 +1049,130 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1019,4 +1049,130 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
throw new BadRequest("存在已经登记过的气瓶!"); throw new BadRequest("存在已经登记过的气瓶!");
} }
} }
@Transactional(rollbackFor = Exception.class)
public JgVehicleInformation cancelApplication(Long sequenceNbr, String cancelReason) {
// 1.更新为已作废
JgVehicleInformation vehicleInformation = this.getById(sequenceNbr);
String oldStatus = vehicleInformation.getStatus();
vehicleInformation.setStatus(FlowStatusEnum.TO_BE_DISCARD.getName());
vehicleInformation.setCancelReason(cancelReason);
vehicleInformation.setCancelDate(new Date());
vehicleInformation.setCancelUserId(RequestContext.getExeUserId());
vehicleInformation.setNextExecuteUserIds("");
vehicleInformation.setPromoter("");
this.updateById(vehicleInformation);
// 2.更新关联的业务
processElseDataByStatus(oldStatus, vehicleInformation);
return vehicleInformation;
}
private void processElseDataByStatus(String flowStatus, JgVehicleInformation vehicleInformation) {
switch (flowStatus) {
case "使用单位待提交":
// 1.删除暂存时生成的待办
commonService.deleteTaskModel(vehicleInformation.getSequenceNbr() + "");
break;
case "已完成":
// 1.删除与设备的关系,设备可再次发起使用登记
this.clearUseInfoOfEquip(vehicleInformation);
break;
default:
// 流程中
// 1.待办任务更新为已完成
this.finishedTask(vehicleInformation);
// 2.终止流程-工作流报错暂时注释掉
// iCmWorkflowService.stopProcess(vehicleInformation.getInstanceId());
}
}
private void clearUseInfoOfEquip(JgVehicleInformation vehicleInformation) {
LambdaQueryWrapper<JgVehicleInformationEq> eqLambdaQueryWrapper = new LambdaQueryWrapper<JgVehicleInformationEq>().eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr());
List<JgVehicleInformationEq> eqList = jgVehicleInformationEqMapper.selectList(eqLambdaQueryWrapper);
eqList.forEach(e -> {
String record = e.getEquId();
// 1.使用信息表部分字段赋空
this.rollBackUseInfo(record);
// 2.回滚更新idx_biz_jg_register_info表
this.rollBackRegisterInfo(record);
// 3.回滚更新idx_biz_jg_supervision_info表
this.rollBackSupervisionInfo(record);
// 4.es的EQU_STATE, USE_ORG_CODE、ORG_BRANCH_CODE、ORG_BRANCH_NAME、STATUS
this.rollBackForEquipEsInfo(record);
});
}
private void rollBackForEquipEsInfo(String record) {
Optional<ESEquipmentCategoryDto> optional = esEquipmentCategory.findById(record);
if (optional.isPresent()) {
ESEquipmentCategoryDto esEquipmentCategoryDto = optional.get();
esEquipmentCategoryDto.setUSE_ORG_CODE(null);
esEquipmentCategoryDto.setSTATUS(null);
esEquipmentCategoryDto.setEQU_STATE(null);
esEquipmentCategoryDto.setORG_BRANCH_CODE(null);
esEquipmentCategoryDto.setORG_BRANCH_NAME(null);
esEquipmentCategory.save(esEquipmentCategoryDto);
}
}
private void rollBackSupervisionInfo(String record) {
LambdaUpdateWrapper<IdxBizJgSupervisionInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgSupervisionInfo::getRecord, record);
updateWrapper.set(IdxBizJgSupervisionInfo::getOrgBranchName, null);
updateWrapper.set(IdxBizJgSupervisionInfo::getOrgBranchCode, null);
updateWrapper.set(IdxBizJgSupervisionInfo::getCompanyOrgBranchCode, null);
idxBizJgSupervisionInfoMapper.update(null, updateWrapper);
}
private void rollBackRegisterInfo(String record) {
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgRegisterInfo::getRecord, record);
// 未注册,来源cb_data_dictionary type = 'ZC'
updateWrapper.set(IdxBizJgRegisterInfo::getRegisterState, "6046");
updateWrapper.set(IdxBizJgRegisterInfo::getUseOrgCode, null);
updateWrapper.set(IdxBizJgRegisterInfo::getCarNumber, null);
idxBizJgRegisterInfoService.update(updateWrapper);
}
private void rollBackUseInfo(String record) {
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgUseInfo::getRecord, record);
updateWrapper.set(IdxBizJgUseInfo::getCity, null);
updateWrapper.set(IdxBizJgUseInfo::getCityName, null);
updateWrapper.set(IdxBizJgUseInfo::getCounty, null);
updateWrapper.set(IdxBizJgUseInfo::getCountyName, null);
updateWrapper.set(IdxBizJgUseInfo::getStreetName, null);
updateWrapper.set(IdxBizJgUseInfo::getProvince, null);
updateWrapper.set(IdxBizJgUseInfo::getProvinceName, null);
updateWrapper.set(IdxBizJgUseInfo::getEquState, null);
updateWrapper.set(IdxBizJgUseInfo::getEstateUnitCreditCode, null);
updateWrapper.set(IdxBizJgUseInfo::getEstateUnitName, null);
updateWrapper.set(IdxBizJgUseInfo::getUsePlace, null);
updateWrapper.set(IdxBizJgUseInfo::getLongitudeLatitude, null);
updateWrapper.set(IdxBizJgUseInfo::getAddress, null);
updateWrapper.set(IdxBizJgUseInfo::getSafetyManageDt, null);
updateWrapper.set(IdxBizJgUseInfo::getSafetyManagerId, null);
updateWrapper.set(IdxBizJgUseInfo::getSafetyManager, null);
updateWrapper.set(IdxBizJgUseInfo::getFactoryUseSiteStreet, null);
useInfoMapper.update(null, updateWrapper);
}
private void finishedTask(JgVehicleInformation vehicleInformation) {
HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("relationId", vehicleInformation.getInstanceId());
TaskMessageDto taskMessageDto = new TaskMessageDto();
vehicleInformation.setOtherAccessories(null);
vehicleInformation.setDriveLicenseBack(null);
vehicleInformation.setDriveLicenseFront(null);
BeanUtils.copyProperties(vehicleInformation, taskMessageDto);
taskMap.put("model", taskMessageDto);
commonService.updateTaskModel(taskMap);
}
} }
\ No newline at end of file
...@@ -13,7 +13,10 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey; ...@@ -13,7 +13,10 @@ 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.tcm.api.dto.*; import com.yeejoin.amos.boot.module.tcm.api.dto.*;
import com.yeejoin.amos.boot.module.tcm.api.entity.*; import com.yeejoin.amos.boot.module.tcm.api.entity.*;
import com.yeejoin.amos.boot.module.tcm.api.enums.*; import com.yeejoin.amos.boot.module.tcm.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.tcm.api.enums.PersonManageRoleEnum;
import com.yeejoin.amos.boot.module.tcm.api.enums.TwoStipulateGroupEnum;
import com.yeejoin.amos.boot.module.tcm.api.enums.UnitTypeEnum;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsBaseIndividualityMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserEquipMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserEquipMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper;
...@@ -46,46 +49,35 @@ import java.util.stream.Collectors; ...@@ -46,46 +49,35 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserInfo, TzsUserInfoMapper> implements ITzsUserInfoService { public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserInfo, TzsUserInfoMapper> implements ITzsUserInfoService {
@Autowired // 企业人员角色
private TzsUserInfoMapper tzsUserInfoMapper; private final String USER_ROLE = "QYRYJS";
// 企业人员用户组
@Autowired private final String ROLE_GROUP = "QYRYYHZ";
private TzsUserEquipMapper tzsUserEquipMapper; // 两个规定用户组-对应企业人员的人员类型前缀
private final String QYRYGW = "QYRYGW";
@Autowired // 两个规定用户组-对应企业人员的人员类型前缀
private TzsUserEquipServiceImpl tzsUserEquipService; private final String QYRYGW_NAME = "企业人员类型";
// 平台用户锁定状态
private final String UNLOCK = "UNLOCK";
private final String LOCK = "LOCK";
@Autowired @Autowired
DataDictionaryServiceImpl iDataDictionaryService; DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
private RedisUtils redisUtils;
@Autowired @Autowired
TzBaseEnterpriseInfoServiceImpl baseEnterpriseInfoService; TzBaseEnterpriseInfoServiceImpl baseEnterpriseInfoService;
@Autowired @Autowired
TzsBaseIndividualityServiceImpl individualityService; TzsBaseIndividualityServiceImpl individualityService;
@Autowired @Autowired
TzsBaseIndividualityMapper individualityMapper; TzsBaseIndividualityMapper individualityMapper;
//企业人员角色
private final String USER_ROLE = "QYRYJS";
//企业人员用户组
private final String ROLE_GROUP = "QYRYYHZ";
//两个规定用户组-对应企业人员的人员类型前缀
private final String QYRYGW = "QYRYGW";
//两个规定用户组-对应企业人员的人员类型前缀
private final String QYRYGW_NAME = "企业人员类型";
//平台用户锁定状态
private final String UNLOCK = "UNLOCK";
private final String LOCK = "LOCK";
@Autowired @Autowired
AmosRequestContext amosRequestContext; AmosRequestContext amosRequestContext;
@Autowired
private TzsUserInfoMapper tzsUserInfoMapper;
@Autowired
private TzsUserEquipMapper tzsUserEquipMapper;
@Autowired
private TzsUserEquipServiceImpl tzsUserEquipService;
@Autowired
private RedisUtils redisUtils;
@Autowired @Autowired
private TzsUserQualificationsServiceImpl tzsUserQualificationsService; private TzsUserQualificationsServiceImpl tzsUserQualificationsService;
...@@ -107,15 +99,32 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -107,15 +99,32 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return tzsUserInfoDtoPage; return tzsUserInfoDtoPage;
} }
// 判断字符串是否为合法的 JSON 格式
public boolean isJSONValid(String test) {
try {
JSON.parseArray(test);
return true;
} catch (Exception ex) {
return false;
}
}
public String setPostName(String postKey) { public String setPostName(String postKey) {
JSONArray dictIds = JSON.parseArray(postKey); // 兼容前端只传一个值,并且非json类型的情况
JSONArray dictIds = new JSONArray();
if (this.isJSONValid(postKey)) {
dictIds = JSON.parseArray(postKey);
} else {
dictIds.add(postKey);
}
if (dictIds == null || dictIds.isEmpty()) { if (dictIds == null || dictIds.isEmpty()) {
return ""; return "";
} }
LambdaQueryWrapper<DataDictionary> lambda = new QueryWrapper<DataDictionary>().lambda(); LambdaQueryWrapper<DataDictionary> lambda = new QueryWrapper<DataDictionary>().lambda();
lambda.in(DataDictionary::getSequenceNbr, dictIds); lambda.in(DataDictionary::getSequenceNbr, dictIds);
List<DataDictionary> dataDictionaries = iDataDictionaryService.getByTypeAndDesc(QYRYGW, QYRYGW_NAME); List<DataDictionary> dataDictionaries = iDataDictionaryService.getByTypeAndDesc(QYRYGW, QYRYGW_NAME);
List<DataDictionary> postDataList = dataDictionaries.stream().filter(d -> dictIds.stream().anyMatch(id -> id.toString().equals(d.getSequenceNbr().toString()))).collect(Collectors.toList()); JSONArray finalDictIds = dictIds;
List<DataDictionary> postDataList = dataDictionaries.stream().filter(d -> finalDictIds.stream().anyMatch(id -> id.toString().equals(d.getSequenceNbr().toString()))).collect(Collectors.toList());
return postDataList.stream().map(DataDictionary::getName).collect(Collectors.joining(",")); return postDataList.stream().map(DataDictionary::getName).collect(Collectors.joining(","));
} }
...@@ -175,9 +184,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -175,9 +184,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
List<TzsUserInfo> tzsUserInfos = tzsUserInfoMapper.selectList(lambda); List<TzsUserInfo> tzsUserInfos = tzsUserInfoMapper.selectList(lambda);
for (TzsUserInfo userInfo : tzsUserInfos) { for (TzsUserInfo userInfo : tzsUserInfos) {
tzsUserEquipMapper.delete(new QueryWrapper<TzsUserEquip>().eq("user_seq", userInfo.getSequenceNbr())); tzsUserEquipMapper.delete(new QueryWrapper<TzsUserEquip>().eq("user_seq", userInfo.getSequenceNbr()));
if(!ObjectUtils.isEmpty(userInfo.getAmosUserId())){ if (!ObjectUtils.isEmpty(userInfo.getAmosUserId())) {
Privilege.agencyUserClient.multDeleteUser(userInfo.getAmosUserId()); Privilege.agencyUserClient.multDeleteUser(userInfo.getAmosUserId());
deleteGroupAndPersonRelation(userInfo.getPostName(),userInfo.getAmosUserId()); deleteGroupAndPersonRelation(userInfo.getPostName(), userInfo.getAmosUserId());
} }
} }
} }
...@@ -187,7 +196,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -187,7 +196,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
public void deleteGroupAndPersonRelation(String postName, String amosUserId) { public void deleteGroupAndPersonRelation(String postName, String amosUserId) {
String[] split = postName.split(","); String[] split = postName.split(",");
for (String s : split) { for (String s : split) {
if(!ObjectUtils.isEmpty(TwoStipulateGroupEnum.getId.get(s))){ if (!ObjectUtils.isEmpty(TwoStipulateGroupEnum.getId.get(s))) {
Privilege.groupUserClient.deleteGroupUser(TwoStipulateGroupEnum.getId.get(s), amosUserId); Privilege.groupUserClient.deleteGroupUser(TwoStipulateGroupEnum.getId.get(s), amosUserId);
} }
} }
...@@ -270,18 +279,18 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -270,18 +279,18 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
}); });
//添加人员管理角色 // 添加人员管理角色
String post = tzsUserInfo.getPost(); String post = tzsUserInfo.getPost();
if(post.contains(PersonManageRoleEnum.code.getId().toString())){ if (post.contains(PersonManageRoleEnum.code.getId().toString())) {
String companyType = tzsUserInfoMapper.selectCompanyTypeById(companySeq); String companyType = tzsUserInfoMapper.selectCompanyTypeById(companySeq);
if(companyType.contains(PersonManageRoleEnum.jyjc.getName())){ if (companyType.contains(PersonManageRoleEnum.jyjc.getName())) {
roleIds.add(PersonManageRoleEnum.jyjc.getId()); roleIds.add(PersonManageRoleEnum.jyjc.getId());
} }
if(companyType.contains(PersonManageRoleEnum.use.getName())){ if (companyType.contains(PersonManageRoleEnum.use.getName())) {
roleIds.add(PersonManageRoleEnum.use.getId()); roleIds.add(PersonManageRoleEnum.use.getId());
} }
if(companyType.contains(PersonManageRoleEnum.agw.getName())){ if (companyType.contains(PersonManageRoleEnum.agw.getName())) {
roleIds.add(PersonManageRoleEnum.agw.getId()); roleIds.add(PersonManageRoleEnum.agw.getId());
} }
} }
...@@ -299,7 +308,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -299,7 +308,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
tzsUserInfo.setAmosUserId(userResult.getResult().getUserId()); tzsUserInfo.setAmosUserId(userResult.getResult().getUserId());
tzsUserInfo.setAmosUserName(userResult.getResult().getUserName()); tzsUserInfo.setAmosUserName(userResult.getResult().getUserName());
tzsUserInfo.setLockStatus(status); tzsUserInfo.setLockStatus(status);
//绑定企业整改用户组 // 绑定企业整改用户组
List<String> userIds = new ArrayList<>(); List<String> userIds = new ArrayList<>();
userIds.add(userResult.getResult().getUserId()); userIds.add(userResult.getResult().getUserId());
DataDictionary roleGroup = iDataDictionaryService DataDictionary roleGroup = iDataDictionaryService
...@@ -307,7 +316,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -307,7 +316,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if (!ObjectUtils.isEmpty(roleGroup) && roleGroup.getExtend() != null) { if (!ObjectUtils.isEmpty(roleGroup) && roleGroup.getExtend() != null) {
Privilege.groupUserClient.create(Long.valueOf(roleGroup.getExtend()), userIds); Privilege.groupUserClient.create(Long.valueOf(roleGroup.getExtend()), userIds);
} }
//绑定两个规定用户组 // 绑定两个规定用户组
post = post.replace("[", "").replace("]", "").replace("\"", ""); post = post.replace("[", "").replace("]", "").replace("\"", "");
for (String code : post.split(",")) { for (String code : post.split(",")) {
DataDictionary groupId = iDataDictionaryService DataDictionary groupId = iDataDictionaryService
...@@ -406,10 +415,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -406,10 +415,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if (companyType.contains("充装单位") || companyType.contains("安装改造维修单位") || companyType.contains("制造单位") || companyType.contains("设计单位")) { if (companyType.contains("充装单位") || companyType.contains("安装改造维修单位") || companyType.contains("制造单位") || companyType.contains("设计单位")) {
productCompany = true; productCompany = true;
} }
if (companyType.contains("安装改造维修单位")){ if (companyType.contains("安装改造维修单位")) {
installCompany = true; installCompany = true;
} }
if (companyType.contains("检验检测机构")){ if (companyType.contains("检验检测机构")) {
inspectionCompany = true; inspectionCompany = true;
} }
} }
...@@ -467,7 +476,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -467,7 +476,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
@Override @Override
public List<TzsUserInfo> getSafetyList(String companyCode) { public List<TzsUserInfo> getSafetyList(String companyCode) {
return tzsUserInfoMapper.selectList(new QueryWrapper<TzsUserInfo>().eq("unit_code", companyCode).eq("is_delete",false).like("post", 6549)); return tzsUserInfoMapper.selectList(new QueryWrapper<TzsUserInfo>().eq("unit_code", companyCode).eq("is_delete", false).like("post", 6549));
} }
@Override @Override
......
...@@ -65,4 +65,11 @@ public class ConstructionInfo extends AbstractEquipBaseEntity { ...@@ -65,4 +65,11 @@ public class ConstructionInfo extends AbstractEquipBaseEntity {
private String uscDate; private String uscDate;
/**
* 告知业务id-告知作废时使用
*/
@TableField(value = "\"NOTICE_ID\"")
private String noticeId;
} }
...@@ -74,4 +74,12 @@ public class IdxBizJgConstructionInfo extends TzsBaseEntity { ...@@ -74,4 +74,12 @@ public class IdxBizJgConstructionInfo extends TzsBaseEntity {
@TableField(exist = false) @TableField(exist = false)
private String supervisoryCode; private String supervisoryCode;
/**
* 告知业务id-告知作废时使用
*/
@TableField(value = "\"NOTICE_ID\"")
private String noticeId;
} }
...@@ -65,4 +65,23 @@ public enum FlowStatusEnum { ...@@ -65,4 +65,23 @@ public enum FlowStatusEnum {
return name; return name;
} }
public static FlowStatusEnum getEumByCode(int code) {
for (FlowStatusEnum statusEnum : FlowStatusEnum.values()) {
if (statusEnum.getCode() == code) {
return statusEnum;
}
}
return null;
}
public static FlowStatusEnum getEumByName(String name) {
for (FlowStatusEnum statusEnum : FlowStatusEnum.values()) {
if (statusEnum.getName().equals(name)) {
return statusEnum;
}
}
return null;
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment