Commit aba4dcc6 authored by suhuiguang's avatar suhuiguang

1.设备注销报废初稿代码提交

parent 53463d8a
......@@ -25,9 +25,13 @@ public class JgScrapCancelDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "注销类型(1报废注销,2移装注销)")
@ApiModelProperty(value = "注销类型code(1报废注销,2移装注销)")
private String cancelType;
@ApiModelProperty(value = "注销类型每次")
private String cancelTypeDesc;
@ApiModelProperty(value = "申请编号")
private String applyNo;
......@@ -109,14 +113,11 @@ public class JgScrapCancelDto extends BaseDto {
@ApiModelProperty(value = "转办后执行人的Id逗号分割")
private String transferToUserIds;
@ApiModelProperty("设备品种")
private String equDefine;
@ApiModelProperty(value = "设备种类code")
private String equListCode;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "设备种类name")
private String equListName;
@ApiModelProperty(value = "设备代码")
private String equCode;
......@@ -127,16 +128,14 @@ public class JgScrapCancelDto extends BaseDto {
@ApiModelProperty(value = "96333识别码")
private String code96333;
@ApiModelProperty(value = "设备名称")
private String productName;
@ApiModelProperty(value = "设备地址")
private String fullAddress;
@ApiModelProperty (value = "其他附件")
@ApiModelProperty(value = "其他附件")
private String otherAccessories;
@ApiModelProperty(value = "申请日期,接收查询参数")
private String applicationDate;
@ApiModelProperty(value = "使用登记证id,多个逗号分割")
private String registrationManageId;
}
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 报废注销设备关系表
......@@ -17,7 +14,7 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="JgScrapCancelEqDto", description="报废注销设备关系表")
@ApiModel(value = "JgScrapCancelEqDto", description = "报废注销设备关系表")
public class JgScrapCancelEqDto extends BaseDto {
private static final long serialVersionUID = 1L;
......@@ -29,10 +26,10 @@ public class JgScrapCancelEqDto extends BaseDto {
@ApiModelProperty(value = "设备id")
private String equId;
@ApiModelProperty(value = "使用登记id")
private String certificateSeq;
@ApiModelProperty(value = "使用登记证编号")
private String useRegistrationCode;
@ApiModelProperty(value = "设备信息")
private JSONArray equipInfo;
@ApiModelProperty(value = "设备代码")
private String equCode;
}
......@@ -155,25 +155,28 @@ public class JgScrapCancel extends BaseEntity {
private String nextExecuteUserIds;
/**
* 使用登记证id,多个逗号分割
*/
@TableField("registration_manage_id")
private String registrationManageId;
/**
* 使用登记证编号,多个逗号分割(冗余前端检索使用)
*/
@TableField("use_registration_code")
private String useRegistrationCode;
/**
* 转办后执行人的Id逗号分割
*/
@TableField("transfer_to_user_ids")
private String transferToUserIds;
@TableField(exist = false)
private String equList;
@TableField(exist = false)
private String equListDesc;
@TableField(exist = false)
private String equCategoryDesc;
@TableField(exist = false)
private String productName;
@TableField(exist = false)
private String fullAddress;
/**
* 设备种类code
*/
@TableField("equ_list_code")
private String equListCode;
/**
* 其他附件
......
package com.yeejoin.amos.boot.module.jg.api.entity;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 报废注销设备关系表
......@@ -38,15 +35,17 @@ public class JgScrapCancelEq extends BaseEntity {
/**
* 使用登记id
* 使用登记证编号
*/
@TableField("certificate_seq")
private String certificateSeq;
@TableField("use_registration_code")
private String useRegistrationCode;
/**
* 设备信息
* 设备代码
*/
@TableField("equip_info")
private String equipInfo;
@TableField("equ_code")
private String equCode;
}
......@@ -20,7 +20,7 @@ import java.util.Map;
*/
public interface JgScrapCancelMapper extends BaseMapper<JgScrapCancel> {
Page<Map<String, Object>> getListPage(@Param("page") Page<Map<String, Object>> page,
Page<JgScrapCancelDto> getListPage(@Param("page") Page<JgScrapCancelDto> page,
@Param("sort") SortVo sortMap,
@Param("dto") JgScrapCancelDto dto,
@Param("roleIds") List<String> roleIds,
......
......@@ -9,52 +9,35 @@
</update>
<select id="getListPage" resultType="java.util.Map">
<select id="getListPage" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto">
select
DISTINCT tjsc.sequence_nbr as sequenceNbr,
tjsc.instance_id as instanceId,
tjsc.create_user_id as createUserId,
tjsc.audit_status as auditStatus,
tjsc.sequence_nbr,
tjsc.instance_id,
tjsc.create_user_id,
tjsc.audit_status,
DATE_FORMAT(tjsc.rec_date,'%Y-%m-%d') as recDate,
DATE_FORMAT(tjsc.create_date,'%Y-%m-%d') as createDate,
tjsc.receive_org_code as receiveOrgCode,
tjsc.receive_org_name as receiveOrgName,
tjsc.receive_company_code as receiveCompanyCode,
tjsc.cancel_certificate as cancelCertificate,
tjsc.cancel_type as cancelType,
tjsc.apply_no as applyNo,
tjsc.receive_org_code,
tjsc.receive_org_name,
tjsc.receive_company_code,
tjsc.cancel_certificate,
tjsc.cancel_type,
tjsc.apply_no,
tjsc.status,
tjsc.remark,
tjsc.instance_status as instanceStatus,
tjsc.instance_status,
tjsc.promoter,
tjsc.next_execute_user_ids as nextExecuteUserIds,
tjsc.supervisory_code as supervisoryCode,
tjsc.next_task_id as nextTaskId,
tjsc.next_execute_user_ids,
tjsc.supervisory_code,
tjsc.next_task_id,
ifnull(tjsc.next_execute_ids,'') as nextExecuteIds,
DATE_FORMAT(tjsc.audit_pass_date,'%Y-%m-%d') as auditPassDate,
use.USE_UNIT_CREDIT_CODE as useUnitCreditCode,
tjsc.use_unit_name as useUnitName,
tjsc.use_unit_code as useUnitCode,
jri.USE_ORG_CODE AS useRegistrationCode,
jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode,
use.ADDRESS as address,
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
tjsc.use_unit_name,
tjsc.use_unit_code,
tjsc.use_registration_code
from tzs_jg_scrap_cancel tjsc
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_use_info use on re.equ_id = use.RECORD
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = re.equ_id
<where>
and tjsc.is_delete = 0
tjsc.is_delete = 0
<if test="dto.auditStatus != null and dto.auditStatus != ''">
and tjsc.audit_status = #{dto.auditStatus}
</if>
......@@ -70,34 +53,12 @@
<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 test="dto.equListCode != null and dto.equListCode != ''">
AND tjsc."equ_list_code" = #{dto.equListCode}
</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}, '%')
)
AND tjsc."USE_ORG_CODE" like concat('%',#{dto.useRegistrationCode},'%')
</if>
<if test="roleIds != null and dto.type == 'supervision'">
<foreach collection='roleIds' item='role' open='and (' close=')' separator='or'>
......
......@@ -40,7 +40,7 @@ public class JgScrapCancelController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增/新增并提交", notes = "新增/新增并提交")
@ApiOperation(httpMethod = "POST", value = "暂存、工作台提交", notes = "暂存、工作台提交")
public ResponseModel<Object> save(@RequestParam String submitType, @RequestBody Map<String, Object> model) {
return ResponseHelper.buildResponse(jgScrapCancelService.save(submitType, model));
}
......@@ -52,7 +52,7 @@ public class JgScrapCancelController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateInfo")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
@ApiOperation(httpMethod = "POST", value = "保存、保存并提交、提交", notes = "保存、保存并提交、提交")
public ResponseModel<JgScrapCancelDto> updateInfo(@RequestParam String submitType,
@RequestBody Map<String, Object> model,
@RequestParam(value = "op", required = false) String op) {
......@@ -77,7 +77,7 @@ public class JgScrapCancelController extends BaseController {
jgScrapCancelInfo.remove("SEQUENCE_NBR");
JgScrapCancelDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgScrapCancelInfo), JgScrapCancelDto.class);
jgScrapCancelService.flowExecute(jgScrapCancelDto.getEquList(),
jgScrapCancelService.flowExecute(jgScrapCancelDto.getEquListCode(),
Long.valueOf(String.valueOf(jgScrapCancelDto.getSequenceNbr())),
jgScrapCancelDto.getInstanceId(),
String.valueOf(map.get("operate")),
......@@ -106,13 +106,13 @@ public class JgScrapCancelController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@ApiOperation(httpMethod = "POST", value = "分页查询", notes = "分页查询")
@PostMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(JgScrapCancelDto dto,
public ResponseModel<Page<JgScrapCancelDto>> getList(JgScrapCancelDto dto,
@RequestParam(value = "sort",required = false) String sort,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size);
Page<JgScrapCancelDto> page = new Page<>(current, size);
dto.setType(String.valueOf(iJgInstallationNoticeService.getCompanyType().get("companyLevel")));
return ResponseHelper.buildResponse(jgScrapCancelService.getList(dto,sort, page, dto.getRoleIds()));
}
......
......@@ -7,8 +7,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
......@@ -113,6 +115,9 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@Autowired
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqServiceImpl;
@Autowired
private Sequence sequence;
/**
* 移装移装注销/报废注销判断
*
......@@ -122,19 +127,19 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
return "1".equals(type) ? BusinessTypeEnum.JG_EQUIPMENT_CANCEL : BusinessTypeEnum.JG_EQUIPMENT_MOVE;
}
public Page<Map<String, Object>> getList(JgScrapCancelDto dto,String sort, Page<Map<String, Object>> page, List<String> roleIds) {
public Page<JgScrapCancelDto> getList(JgScrapCancelDto dto, String sort, Page<JgScrapCancelDto> page, List<String> roleIds) {
ReginParams reginParams = this.getSelectedOrgInfo();
String orgCode = reginParams.getCompany().getCompanyCode();
dto.setCreateUserId(reginParams.getUserModel().getUserId());
String currentUserId = reginParams.getUserModel().getUserId();
SortVo sortMap = commonService.sortFieldConversion(sort);
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page,sortMap, dto, roleIds, orgCode, currentUserId);
Page<JgScrapCancelDto> listPage = this.baseMapper.getListPage(page, sortMap, dto, roleIds, orgCode, currentUserId);
listPage.getRecords().forEach(item -> {
if (item.containsKey("auditStatus") && Objects.nonNull(item.get("auditStatus"))) {
item.put("auditStatusDesc", item.get("auditStatus").toString());
if (item.getCancelType() != null) {
item.setCancelType(CancelTypeEnum.getNameByType(item.getCancelType()));
}
if (item.containsKey("cancelType") && Objects.nonNull(item.get("cancelType"))) {
item.put("cancelTypeDesc", CancelTypeEnum.getNameByType(item.get("cancelType").toString()));
if (item.getEquListCode() != null) {
item.setEquListName(EquipmentClassifityEnum.getNameByCode(item.getEquListCode()));
}
});
return listPage;
......@@ -166,14 +171,14 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
@Transactional(rollbackFor = Exception.class)
public List<JgScrapCancel> saveList(String submitType, Map<String, Object> mapParams) {
public List<JgScrapCancelDto> saveList(String submitType, Map<String, Object> mapParams) {
return Collections.singletonList(this.save(submitType, mapParams));
}
@SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public JgScrapCancel save(String submitType, Map<String, Object> mapParams) {
public JgScrapCancelDto save(String submitType, Map<String, Object> mapParams) {
ReginParams reginParams = this.getSelectedOrgInfo();
Map<String, Object> noticeParams = (Map) mapParams.get(PAGE_KEY);
String[] receiveOrg = String.valueOf(noticeParams.get("receiveOrgCreditCode")).split("_");
......@@ -185,7 +190,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
model.setReceiveOrgName(receiveOrg[1]);
// 字段转换
convertField(model);
// 获取告知单号
// 获取告知单号 TODO 待修改 bug
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(noticeParams.get("businessCode"))), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error(" 获取告知单号失败");
......@@ -247,65 +252,93 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancel.setUseUnitCode(reginParams.getCompany().getCompanyCode());
jgScrapCancel.setUseUnitName(reginParams.getCompany().getCompanyName());
jgScrapCancel.setCreateUserId(RequestContext.getExeUserId());
this.setUseRegisterInfo(jgScrapCancel, noticeParams);
this.save(jgScrapCancel);
// 新增代办
this.createTaskModel(jgScrapCancel, taskName[0], submitType, nextUserIds);
// 保存设备关系表
saveEquip(noticeParams, jgScrapCancel);
jgScrapCancel.setCancelTypeDesc(getRegistrationClass(jgScrapCancel.getCancelType()));
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(noticeParams));
commonService.saveExecuteFlowData2Redis(instanceId, buildInstanceRuntimeData(jgScrapCancel));
String equListName = EquipmentClassifityEnum.getNameByCode(jsonObject.get("equListCode").toString());
jgScrapCancel.setEquListDesc(equListName);
save2HisData(jsonObject, jgScrapCancel);
return jgScrapCancel;
save2HisData(jsonObject, jgScrapCancel.getSequenceNbr().toString());
JgScrapCancelDto dto = new JgScrapCancelDto();
BeanUtil.copyProperties(jgScrapCancel, new JgScrapCancelDto());
dto.setEquListName(equListName);
return dto;
}
//单位维度设备处理
private void saveEquip(Map<String, Object> noticeParams, JgScrapCancel jgScrapCancel) {
/**
* 设置登记证信息
*
* @param jgScrapCancel 对象
* @param noticeParams 参数
*/
private void setUseRegisterInfo(JgScrapCancel jgScrapCancel, Map<String, Object> noticeParams) {
List<JgScrapCancelEq> JgScrapCancelEqList = new ArrayList<>();
// 判断是否是报废气瓶业务处理
if (CancelTypeEnum.SCRAPPED.getCode().equals(noticeParams.get("cancelType")) &&
CylinderTypeEnum.CYLINDER.getCode().equals(noticeParams.get("EQU_CATEGORY_CODE"))) {
// 证ids
List<String> certificates = (List<String>) noticeParams.get("sequenceNbrs");
LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(JgUseRegistrationManage::getSequenceNbr, certificates.stream().map(Long::parseLong).collect(Collectors.toList()));
lambdaQueryWrapper.select(JgUseRegistrationManage::getUseRegistrationCode);
List<JgUseRegistrationManage> jgUseRegistrationManageList = jgUseRegistrationManageMapper.selectList(lambdaQueryWrapper);
jgScrapCancel.setRegistrationManageId(String.join(",", certificates));
jgScrapCancel.setUseRegistrationCode(jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getUseRegistrationCode).collect(Collectors.joining(",")));
} else {
List<Map<String, Object>> certificates;
// 证列表
if (CylinderTypeEnum.SPECIAL_CYLINDER.getCode().equals(noticeParams.get("EQU_CATEGORY_CODE"))) {
certificates = (List<Map<String, Object>>) noticeParams.get("cylCertificates");
} else {
certificates = (List<Map<String, Object>>) noticeParams.get("certificates");
}
if (ObjectUtils.isEmpty(certificates)) {
throw new BadRequest("请选择使用登记证");
}
LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.in(JgUseRegistrationManage::getSequenceNbr, certificates.stream().map(Long::parseLong).collect(Collectors.toList()));
// 使用登记证表idList
List<String> registrationIdList = certificates.stream().map(item -> item.get("sequenceNbr").toString()).collect(Collectors.toList());
List<String> useRegistrationCodeList = certificates.stream().map(item -> item.get("useRegistrationCode").toString()).collect(Collectors.toList());
jgScrapCancel.setRegistrationManageId(String.join(",", registrationIdList));
jgScrapCancel.setUseRegistrationCode(String.join(",", useRegistrationCodeList));
}
}
List<JgUseRegistrationManage> jgUseRegistrationManageList = jgUseRegistrationManageMapper.selectList(lambdaQueryWrapper);
private void saveEquip(Map<String, Object> noticeParams, JgScrapCancel jgScrapCancel) {
List<JgScrapCancelEq> JgScrapCancelEqList = new ArrayList<>();
// 判断是否是报废气瓶业务处理
if (CancelTypeEnum.SCRAPPED.getCode().equals(noticeParams.get("cancelType")) &&
CylinderTypeEnum.CYLINDER.getCode().equals(noticeParams.get("EQU_CATEGORY_CODE"))) {
List<Map<String, Object>> list = (List<Map<String, Object>>) noticeParams.get("equipments");
if (ObjectUtils.isEmpty(list)) {
throw new BadRequest("请选择设备");
}
for (JgUseRegistrationManage jgUseRegistrationManage : jgUseRegistrationManageList) {
for (Map<String, Object> equip : list) {
JgScrapCancelEq jgScrapCancelEq = new JgScrapCancelEq();
jgScrapCancelEq.setCertificateSeq(jgUseRegistrationManage.getSequenceNbr().toString());
jgScrapCancelEq.setEquipInfo(JSON.parseArray(JSONObject.toJSONString(list.stream().filter(item -> item.get("USE_ORG_CODE").toString().equals(jgUseRegistrationManage.getUseRegistrationCode())).collect(Collectors.toList()))).toString());
jgScrapCancelEq.setEquId(equip.get("SEQUENCE_NBR").toString());
jgScrapCancelEq.setUseRegistrationCode(equip.get("USE_ORG_CODE").toString());
jgScrapCancelEq.setEquipTransferId(String.valueOf(jgScrapCancel.getSequenceNbr()));
jgScrapCancelEq.setEquCode(equip.get("EQU_CODE") != null ? equip.get("EQU_CODE").toString() : "");
JgScrapCancelEqList.add(jgScrapCancelEq);
}
} else {
List<Map<String, Object>> certificates = new ArrayList<>();
List<Map<String, Object>> certificates;
// 证列表
if (CylinderTypeEnum.SPECIAL_CYLINDER.getCode().equals(noticeParams.get("EQU_CATEGORY_CODE"))) {
certificates = (List<Map<String, Object>>) noticeParams.get("cylCertificates");
} else {
certificates = (List<Map<String, Object>>) noticeParams.get("certificates");
}
if (ObjectUtils.isEmpty(certificates)) {
throw new BadRequest("请选择使用登记证");
}
// 使用登记证表idList
List<String> registrationIdList = certificates.stream().map(item -> item.get("sequenceNbr").toString()).collect(Collectors.toList());
List<JSONObject> equipmentList = jgUseRegistrationManageService.queryEquByCertificateSeqList(registrationIdList.stream().map(Long::parseLong).collect(Collectors.toList()));
for (Map<String, Object> certificate : certificates) {
for (JSONObject equip : equipmentList) {
JgScrapCancelEq jgScrapCancelEq = new JgScrapCancelEq();
jgScrapCancelEq.setCertificateSeq(certificate.get("sequenceNbr").toString());
jgScrapCancelEq.setEquipInfo(JSON.parseArray(String.valueOf(equipmentList.stream().filter(item -> item.get("USE_ORG_CODE").toString().equals(certificate.get("useRegistrationCode"))).collect(Collectors.toList()))).toString());
jgScrapCancelEq.setUseRegistrationCode(equip.getString("USE_ORG_CODE"));
jgScrapCancelEq.setEquipTransferId(String.valueOf(jgScrapCancel.getSequenceNbr()));
jgScrapCancelEq.setEquId(equip.getString("SEQUENCE_NBR"));
jgScrapCancelEq.setEquCode(equip.getString("EQU_CODE"));
JgScrapCancelEqList.add(jgScrapCancelEq);
}
}
......@@ -313,18 +346,17 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
private void save2HisData(JSONObject jsonObject, JgScrapCancel jgScrapCancel) {
commonService.saveOrUpdateHistory(jgScrapCancel.getCancelTypeDesc(), jsonObject, null, jgScrapCancel.getSequenceNbr().toString());
private void save2HisData(JSONObject jsonObject, String currentDocumentId) {
commonService.saveOrUpdateHistory("", jsonObject, null, currentDocumentId);
}
private void createTaskModel(JgScrapCancel scrapCancel, String taskName, String submitType, String nextUserIds) {
ReginParams reginParams = this.getSelectedOrgInfo();
TaskModelDto taskModelDto = new TaskModelDto();
if ("1".equals(submitType)) {
taskModelDto.setFlowCreateDate(scrapCancel.getCreateDate());
taskModelDto.setTaskName(taskName);
taskModelDto.setTaskCode(scrapCancel.getApplyNo());
taskModelDto.setTaskContent(this.buildTaskContent(scrapCancel.getEquList(), scrapCancel.getCancelType(), scrapCancel.getApplyNo()));
taskModelDto.setTaskContent(this.buildTaskContent(scrapCancel.getEquListCode(), scrapCancel.getCancelType(), scrapCancel.getApplyNo()));
taskModelDto.setTaskDesc("");
taskModelDto.setTaskType(businessTypeJudgment(scrapCancel.getCancelType()).getCode());
taskModelDto.setTaskTypeLabel(businessTypeJudgment(scrapCancel.getCancelType()).getName());
......@@ -389,18 +421,19 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
lambda.eq(JgScrapCancel::getSequenceNbr, id);
JgScrapCancel jgScrapCancel = this.baseMapper.selectOne(lambda);
// 删除代办 + 中止流程
commonService.deleteTaskModel(String.valueOf(jgScrapCancel.getSequenceNbr()),jgScrapCancel.getInstanceId());
commonService.deleteTaskModel(String.valueOf(jgScrapCancel.getSequenceNbr()), jgScrapCancel.getInstanceId());
// 删除单子
this.baseMapper.deleteById(jgScrapCancel.getSequenceNbr());
// 删除对应eq
jgScrapCancelEqMapper.delete(new LambdaQueryWrapper<JgScrapCancelEq>()
.eq(JgScrapCancelEq::getEquipTransferId,jgScrapCancel.getSequenceNbr()));
.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancel.getSequenceNbr()));
// 删除单子对应历史表数据
jgRegistrationHistoryMapper.delete(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, jgScrapCancel.getSequenceNbr()));
}
}
}
@GlobalTransactional(rollbackFor = Exception.class)
public JgScrapCancelDto updateInfo(String submitType, JgScrapCancelDto jgScrapCancelDto, String op, JSONObject pageData) {
......@@ -501,11 +534,12 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancelEq.setEquId(jgScrapCancelDto.getRecord());
jgScrapCancelEqMapper.update(jgScrapCancelEq, updateWrapper);
}
save2HisData(pageData, jgScrapCancelDto.getSequenceNbr().toString());
commonService.saveOrUpdateHistory(getRegistrationClass(jgScrapCancelDto.getCancelType()), pageData, jgScrapCancelDto.getRecord(), jgScrapCancelDto.getSequenceNbr().toString());
return jgScrapCancelDto;
}
private String getRegistrationClass (String cancelType){
private String getRegistrationClass(String cancelType) {
return CancelTypeEnum.SCRAPPED.getCode().equals(cancelType) ? CancelTypeEnum.SCRAPPED.getName() : CancelTypeEnum.TRANSFER.getName();
}
......@@ -597,55 +631,28 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
Map<String, Object> beanMap = BeanUtil.beanToMap(scrapCancel, false, true);
beanMap.put("cancelCertificateList", JSON.parse(scrapCancel.getCancelCertificate()));
beanMap.put("otherAccessories", JSON.parse(scrapCancel.getOtherAccessories()));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr));
// 根据不同类型返回不同的字段、用于台套设备、气瓶、车用气瓶
if(jgRegistrationHistory != null){
if (jgRegistrationHistory != null) {
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
if (CylinderTypeEnum.SPECIAL_CYLINDER.getCode().equals(jsonObject.get("EQU_CATEGORY_CODE"))) {
beanMap.put("cylCertificates", JSONArray.parse(jsonObject.get("cylCertificates").toString()));
beanMap.put("EQU_CATEGORY_CODE",CylinderTypeEnum.SPECIAL_CYLINDER.getCode());
beanMap.put("EQU_CATEGORY_CODE", CylinderTypeEnum.SPECIAL_CYLINDER.getCode());
} else if (CylinderTypeEnum.CYLINDER.getCode().equals(jsonObject.get("EQU_CATEGORY_CODE"))) {
beanMap.put("equipments", JSONArray.parse(jsonObject.get("equipments").toString()));
beanMap.put("EQU_CATEGORY_CODE",CylinderTypeEnum.CYLINDER.getCode());
beanMap.put("sequenceNbrs",jsonObject.get("sequenceNbrs"));
beanMap.put("EQU_CATEGORY_CODE", CylinderTypeEnum.CYLINDER.getCode());
beanMap.put("sequenceNbrs", jsonObject.get("sequenceNbrs"));
} else {
beanMap.put("certificates", JSONArray.parse(jsonObject.get("certificates").toString()));
}
}
if(scrapCancel.getAuditStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName())){
// 完成状态查询历史表
JSONObject jsonObject = commonService.queryHistoryData(sequenceNbr);
// 兼容老数据
if(jsonObject == null){
// 老数据逻辑
// fillRuntimeData(sequenceNbr, resultMap);
} else {
CommonServiceImpl.formatTime2StrDateForEquip(jsonObject);
// 新数据逻辑
resultMap.putAll(jsonObject);
}
resultMap.putAll(beanMap);
} else {
// 其他状态显示实时数据
// fillRuntimeData(sequenceNbr, resultMap);
resultMap.putAll(beanMap);
}
resultMap.put("receiveOrgCode", scrapCancel.getReceiveCompanyCode() + '_' + scrapCancel.getReceiveOrgName());
return new HashMap<String, Object>() {{
this.put(PAGE_KEY, resultMap);
}};
}
private void fillRuntimeData(Long sequenceNbr, Map<String, Object> resultMap) {
JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(new LambdaQueryWrapper<JgScrapCancelEq>().eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr));
if (!ObjectUtils.isEmpty(jgScrapCancelEq)) {
Map<String, Object> map = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(jgScrapCancelEq.getEquId());
resultMap.putAll(map);
}
}
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
......@@ -773,7 +780,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
String taskName = "";
String nextTaskId = "";
JgScrapCancel jgScrapCancel = this.getBaseMapper().selectById(sequenceNbr);
jgScrapCancel.setEquList(equList);
if (processTaskDTO != null && processTaskDTO.getNextTask() != null && !processTaskDTO.getNextTask().isEmpty()) {
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName = processTaskDTO.getNextTask().get(0).getName();
......@@ -820,38 +826,20 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this.getBaseMapper().updateById(jgScrapCancel);
}
public void updateInfoOther(JgScrapCancel jgScrapCancel, String routePath) {
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
private void updateInfoOther(JgScrapCancel jgScrapCancel, String routePath) {
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new LambdaQueryWrapper<>();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancel.getSequenceNbr());
lambdaEq.select(JgScrapCancelEq::getEquId);
List<JgScrapCancelEq> jgScrapCancelEqList = jgScrapCancelEqMapper.selectList(lambdaEq);
Map<String, Object> map1 = new HashMap<>();
ArrayList<String> equipIds = new ArrayList<>();
jgScrapCancelEqList.forEach(item ->{
if (!ObjectUtils.isEmpty(item.getEquipInfo())){
JSONArray jsonArray = JSONObject.parseArray(item.getEquipInfo());
jsonArray.forEach(info ->{
JSONObject jsonObject = JSONObject.parseObject(info.toString());
if (jsonObject.containsKey("SEQUENCE_NBR")){
equipIds.add(jsonObject.get("SEQUENCE_NBR").toString());
}
});
}
});
// ResponseModel<String> responseModel = tzsServiceFeignClient.useRegistrationCode(idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(jgScrapCancelEq.getEquId()));
// String newUseRegistrationCertificateNumber = responseModel.getResult().split("-")[0];
List<String> equipIds = jgScrapCancelEqList.stream().map(JgScrapCancelEq::getEquId).collect(Collectors.toList());
List<JgUseRegistrationManage> jgUseRegistrationManageList = getJgUseRegistrationManages(jgScrapCancelEqList);
Map<String, Map<String, Object>> resultMap = new HashMap<>();
// map1.put("USE_ORG_CODE", newUseRegistrationCertificateNumber);
if (CancelTypeEnum.SCRAPPED.getCode().equals(jgScrapCancel.getCancelType())) {
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquimentEnum.BAOFEI.getCode());
map1.put("EQU_STATE", String.valueOf(EquimentEnum.BAOFEI.getCode()));
// 修改证管理表中的证的状态
// 查出所有需要改的使用登记证
List<String> certificateIds = jgScrapCancelEqList.stream().map(JgScrapCancelEq::getCertificateSeq).collect(Collectors.toList());
LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(JgUseRegistrationManage::getSequenceNbr, certificateIds);
List<JgUseRegistrationManage> jgUseRegistrationManageList = jgUseRegistrationManageMapper.selectList(lambdaQueryWrapper);
// 过滤出非气瓶 或是车用气瓶的使用登记证
jgUseRegistrationManageList = jgUseRegistrationManageList.stream().filter(item -> !CylinderTypeEnum.CYLINDER.getCode().equals(item.getEquCategoryCode()) || item.getRegType().equals(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName())).collect(Collectors.toList());
List<Long> seqList = jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getSequenceNbr).collect(Collectors.toList());
......@@ -873,20 +861,17 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
map1.put("ORG_BRANCH_NAME", "");
map1.put("EQU_STATE", String.valueOf(EquimentEnum.ZHUXIAO.getCode()));
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquimentEnum.ZHUXIAO.getCode());
// 修改证管理表中的证的状态
List<String> certificateIds = jgScrapCancelEqList.stream().map(JgScrapCancelEq::getCertificateSeq).collect(Collectors.toList());
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(JgUseRegistrationManage::getSequenceNbr, certificateIds);
jgUseRegistrationManageMapper.update(jgUseRegistrationManage, lambdaQueryWrapper);
LambdaUpdateWrapper<JgUseRegistrationManage> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(JgUseRegistrationManage::getSequenceNbr, jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getSequenceNbr).collect(Collectors.toList()));
updateWrapper.set(JgUseRegistrationManage::getCertificateStatus, CertificateStatusEnum.YIZHUXIAO.getName());
jgUseRegistrationManageMapper.update(null, updateWrapper);
}
for (String equipId : equipIds) {
resultMap.put(equipId, map1);
}
// 流水表
saveRecord(jgScrapCancel, jgScrapCancelEqList,routePath);
saveRecord(jgScrapCancel, jgScrapCancelEqList, routePath, jgUseRegistrationManageList);
try {
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
} catch (Exception e) {
......@@ -896,6 +881,14 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancel.setAuditPassDate(new Date());
}
private List<JgUseRegistrationManage> getJgUseRegistrationManages(List<JgScrapCancelEq> jgScrapCancelEqList) {
List<String> useRegistrationCodes = jgScrapCancelEqList.stream().map(JgScrapCancelEq::getUseRegistrationCode).collect(Collectors.toList());
LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(JgUseRegistrationManage::getUseRegistrationCode, useRegistrationCodes);
lambdaQueryWrapper.select(JgUseRegistrationManage::getUseRegistrationCode, JgUseRegistrationManage::getEquCategoryCode, JgUseRegistrationManage::getRegType, BaseEntity::getSequenceNbr);
return jgUseRegistrationManageMapper.selectList(lambdaQueryWrapper);
}
public String getNextUserOrgCode(String operate, JgScrapCancel jgScrapCancel) {
String code = null;
if ("0".equals(operate)) {
......@@ -912,44 +905,44 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
private void saveRecord(JgScrapCancel jgScrapCancel, List<JgScrapCancelEq> jgScrapCancelEqList,String routePath) {
private void saveRecord(JgScrapCancel jgScrapCancel, List<JgScrapCancelEq> jgScrapCancelEqList, String routePath, List<JgUseRegistrationManage> jgUseRegistrationManageList) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String userName = reginParams.getUserModel().getRealName();
String content = userName + "办理了【" + CancelTypeEnum.getNameByType(jgScrapCancel.getCancelType()) + "】" +
"单号【" + jgScrapCancel.getApplyNo() + "】,办理日期" + DateUtils.getDateNowShortStr();
LambdaQueryWrapper<JgRegistrationHistory> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(JgRegistrationHistory::getCurrentDocumentId, jgScrapCancel.getSequenceNbr());
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(lambdaQueryWrapper);
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
for (JgScrapCancelEq jgScrapCancelEq : jgScrapCancelEqList) {
List<JgCertificateChangeRecord> certificateChangeRecords = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
for (JgUseRegistrationManage jgUseRegistrationManage : jgUseRegistrationManageList) {
long seq = sequence.nextId();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
changeRecord.setSequenceNbr(seq);
changeRecord.setApplyNo(jgScrapCancel.getApplyNo());
changeRecord.setReceiveOrgName(jgScrapCancel.getReceiveOrgName());
changeRecord.setAuditPassDate(new Date());
changeRecord.setRegType(CancelTypeEnum.getNameByType(jgScrapCancel.getCancelType()));
changeRecord.setRegDate(jgScrapCancel.getCreateDate());
changeRecord.setChangeContent(content);
changeRecord.setUseRegistrationCode(jgRegistrationHistory.getUseRegistrationCode());
changeRecord.setUseRegistrationCode(jgUseRegistrationManage.getUseRegistrationCode());
changeRecord.setReceiveCompanyCode(jgScrapCancel.getReceiveOrgCode());
changeRecord.setCertificateNo(String.valueOf(jsonObject.get("certificateNo")));
changeRecord.setUseUnitCreditCode(jgScrapCancel.getUseUnitCode());
changeRecord.setUseUnitName(jgScrapCancel.getUseUnitName());
changeRecord.setEquCategory(String.valueOf(jsonObject.get("equCategory")));
changeRecord.setEquCategory(jgUseRegistrationManage.getEquCategory());
changeRecord.setCreateDate(new Date());
changeRecord.setCreateUserId(reginParams.getUserModel().getUserId());
changeRecord.setRoutePath(routePath);
certificateChangeRecordService.save(changeRecord);
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
JSONArray jsonArray = JSONObject.parseArray(jgScrapCancelEq.getEquipInfo());
jsonArray.forEach(e->{
JSONObject equip = JSONObject.parseObject(e.toString());
certificateChangeRecords.add(changeRecord);
jgScrapCancelEqList.stream().filter(eq -> eq.getUseRegistrationCode().equals(jgUseRegistrationManage.getUseRegistrationCode())).forEach(e -> {
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(changeRecord.getSequenceNbr().toString());//登记证记录主键
changeRecordEq.setEquId(equip.getString("SEQUENCE_NBR"));//设备主键
changeRecordEq.setProductCode(equip.getString("PRODUCT_NUM"));//设备产品编码(设备ES数据无编码,先存放名称)
changeRecordEq.setChangeRecordId(changeRecord.getSequenceNbr().toString()); //登记证记录主键
changeRecordEq.setEquId(e.getEquId()); //设备主键
changeRecordEq.setProductCode(e.getEquCode()); //设备代码
changeRecordEqList.add(changeRecordEq);
});
}
if (certificateChangeRecords.size() > 0) {
certificateChangeRecordService.saveBatch(certificateChangeRecords);
}
if (changeRecordEqList.size() > 0) {
jgCertificateChangeRecordEqServiceImpl.saveBatch(changeRecordEqList);
}
}
......
......@@ -270,7 +270,8 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
public List<JSONObject> queryEquByCertificateSeqList(List<Long> sequenceNbrList) {
List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>()
.in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList)
.eq(JgUseRegistrationManage::getIsDelete, 0));
.eq(JgUseRegistrationManage::getIsDelete, 0)
.select(JgUseRegistrationManage::getUseRegistrationCode));
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)) {
return new ArrayList<>();
}
......
......@@ -34,8 +34,7 @@ public enum ApplicationFormTypeEnum {
ZXBF("ZXBF", "BF_ZX"),//电梯(设备)报废注销
GMBG("GMBG", "DJ_GM"),//更名变更
SBQY("SBQY", "SB_QY"),//设备启用
SBTY("SBTY", "SB_TY")//设备启用
;
SBTY("SBTY", "SB_TY");//设备启用
/**
* 编号
......
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