Commit 3f50523f authored by 李松's avatar 李松

添加车用气瓶变更业务接口

parent 72a4e36e
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;
...@@ -7,6 +8,7 @@ import lombok.Data; ...@@ -7,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 单位变更登记 * 单位变更登记
...@@ -127,4 +129,8 @@ public class JgChangeVehicleRegistrationUnitDto extends BaseDto { ...@@ -127,4 +129,8 @@ public class JgChangeVehicleRegistrationUnitDto extends BaseDto {
@ApiModelProperty(value = "车辆属地") @ApiModelProperty(value = "车辆属地")
private String vehicleApanage; private String vehicleApanage;
@ApiModelProperty(value = "车牌号")
private String carNumber;
private List<String> roleIds;
} }
...@@ -233,4 +233,10 @@ public class JgChangeVehicleRegistrationUnit extends BaseEntity { ...@@ -233,4 +233,10 @@ public class JgChangeVehicleRegistrationUnit extends BaseEntity {
@TableField("vehicle_apanage") @TableField("vehicle_apanage")
private String vehicleApanage; private String vehicleApanage;
/**
* 车牌号
*/
@TableField("car_number")
private String carNumber;
} }
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeVehicleRegistrationUnitDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -16,4 +18,11 @@ import java.util.Map; ...@@ -16,4 +18,11 @@ import java.util.Map;
public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChangeVehicleRegistrationUnit> { public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChangeVehicleRegistrationUnit> {
List<Map<String, Object>> getEquList(@Param("records") List<String>records); List<Map<String, Object>> getEquList(@Param("records") List<String>records);
Page<JgChangeVehicleRegistrationUnit> getPage(@Param("page")Page<JgChangeVehicleRegistrationUnit>page,
@Param("dto")JgChangeVehicleRegistrationUnitDto dto,
@Param("type") String type,
@Param("orgCode") String orgCode,
@Param("currentUserId") String currentUserId,
@Param("roleIds") List<String> roleIds);
} }
...@@ -37,8 +37,63 @@ ...@@ -37,8 +37,63 @@
</foreach> </foreach>
</select> </select>
<select id="getPage"
resultType="com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit">
select
cru.sequence_nbr,
cru.change_type,
cru.apply_no,
date_format(cru.apply_date,'%Y-%m-%d') as applyDate,
date_format(cru.audit_pass_date,'%Y-%m-%d') as auditPassDate,
cru.receive_org_name,
cru.receive_org_code,
cru.use_unit_name,
cru.new_use_unit_name,
cru.transfer_to_user_ids,
cru.car_number,
cru.next_execute_user_ids,
cru.next_task_id,
cru.use_regist_code,
cru.status,
cru.instance_status,
cru.promoter,
cru.next_executor_ids,
cru.instance_id
from tzs_jg_change_vehicle_registration_unit cru
<where>
<if test="dto.applyNo != null and dto.applyNo != ''">
and cru.apply_no like concat('%', #{dto.applyNo}, '%')
</if>
<if test="dto.applyDate != null and dto.applyDate != ''">
and cru.apply_date = #{dto.applyDate}
</if>
<if test="dto.status != null and dto.status != ''">
and cru.status = #{dto.status}
</if>
<if test="dto.auditPassDate != null and dto.auditPassDate != ''">
and cru.audit_pass_date = #{dto.auditPassDate}
</if>
<if test="dto.newUseUnitCreditCode != null and dto.newUseUnitCreditCode != ''">
and cru.new_use_unit_credit_code = #{dto.newUseUnitCreditCode}
</if>
<if test="dto.useUnitCreditCode != null and dto.useUnitCreditCode != ''">
and cru.use_unit_credit_code = #{dto.useUnitCreditCode}
</if>
<if test="type == 'supervision'">
AND (cru.receive_org_code = #{orgCode} or cru.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
AND cru.instance_id <![CDATA[<>]]> ''
</if>
<if test="type == 'enterprise'">
AND (cru.new_use_unit_credit_code = #{orgCode} or cru.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
</if>
<if test="roleIds != null and type == 'supervision'">
<foreach collection='roleIds' item='role' open='and (' close=')' separator='or'>
cru.instance_status like concat('%',#{role},'%')
</foreach>
</if>
</where>
order by cru.rec_date desc
</select>
</mapper> </mapper>
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.controller; ...@@ -3,6 +3,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.dto.JgUseRegistrationManageDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -172,6 +173,13 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -172,6 +173,13 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/delete")
@ApiOperation(httpMethod = "DELETE", value = "删除", notes = "删除")
public ResponseModel<Object> withdraw(@RequestParam(value = "sequenceNbr") String sequenceNbr) {
jgChangeVehicleRegistrationUnitServiceImpl.deleteMessage(sequenceNbr);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute") @PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程") @ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) { public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
...@@ -182,4 +190,23 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController { ...@@ -182,4 +190,23 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
String.valueOf(map.get("nextTaskId"))); String.valueOf(map.get("nextTaskId")));
return ResponseHelper.buildResponse("ok"); return ResponseHelper.buildResponse("ok");
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/getPage")
@ApiOperation(httpMethod = "POST", value = "车用气瓶列表", notes = "车用气瓶列表")
public ResponseModel<Object> getPage(JgChangeVehicleRegistrationUnitDto dto,
@RequestParam(value = "number") int number,
@RequestParam(value = "size") int size) {
Page<JgChangeVehicleRegistrationUnit> page = new Page<>(number, size);
ReginParams reginParams = getSelectedOrgInfo();
ReginParams info = getSelectedOrgInfo();
String type = "";
if (info.getCompany().getLevel().equals(BaseController.COMPANY_TYPE_COMPANY)){
type = "enterprise";
}else {
type = "supervision";
}
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.getPage(page, dto, type, reginParams));
}
} }
...@@ -2075,7 +2075,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -2075,7 +2075,7 @@ public class CommonServiceImpl implements ICommonService {
* @param equCategoryCode 设备类别编码 * @param equCategoryCode 设备类别编码
* @return * @return
*/ */
@Autowired @Override
public JgUseRegistrationManage getLatestJgUseRegistrationManage(String useUnitCreditCode, String equCategoryCode) { public JgUseRegistrationManage getLatestJgUseRegistrationManage(String useUnitCreditCode, String equCategoryCode) {
LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<JgUseRegistrationManage> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(JgUseRegistrationManage::getUseUnitCreditCode, useUnitCreditCode); lambdaQueryWrapper.eq(JgUseRegistrationManage::getUseUnitCreditCode, useUnitCreditCode);
......
...@@ -6,24 +6,26 @@ import com.alibaba.fastjson.JSONArray; ...@@ -6,24 +6,26 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum;
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.JgChangeVehicleRegistrationUnitMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeVehicleRegistrationUnitService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeVehicleRegistrationUnitService;
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.ymt.api.entity.IdxBizJgFactoryInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
...@@ -34,19 +36,22 @@ import org.redisson.api.RLock; ...@@ -34,19 +36,22 @@ import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XIAN_YANG;
import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XIAN;
/** /**
* 单位变更登记服务实现类 * 单位变更登记服务实现类
* *
...@@ -79,7 +84,14 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -79,7 +84,14 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
private JgChangeVehicleRegistrationUnitEqServiceImpl jgChangeVehicleRegistrationUnitEqService; private JgChangeVehicleRegistrationUnitEqServiceImpl jgChangeVehicleRegistrationUnitEqService;
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired
private JgCertificateChangeRecordServiceImpl jgCertificateChangeRecordService;
@Autowired
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService;
@Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
private IdxBizJgOtherInfoMapper otherInfoMapper;
public void changeData(JgChangeVehicleRegistrationUnit dto) { public void changeData(JgChangeVehicleRegistrationUnit dto) {
if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) { if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) {
...@@ -87,6 +99,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -87,6 +99,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
String[] splitMaintenanceUnitCode = dto.getReceiveCompanyCode().split("_"); String[] splitMaintenanceUnitCode = dto.getReceiveCompanyCode().split("_");
dto.setReceiveCompanyCode(splitMaintenanceUnitCode[0]); dto.setReceiveCompanyCode(splitMaintenanceUnitCode[0]);
dto.setReceiveOrgName(splitMaintenanceUnitCode[1]); dto.setReceiveOrgName(splitMaintenanceUnitCode[1]);
dto.setReceiveOrgCode(splitMaintenanceUnitCode[0]);
dto.setReceiveCompanyOrgCode(commonService.getOneCompany(dto.getReceiveCompanyCode()).getOrgCode()); dto.setReceiveCompanyOrgCode(commonService.getOneCompany(dto.getReceiveCompanyCode()).getOrgCode());
} }
if (!ObjectUtils.isEmpty(dto.getUseUnitCreditCode())) { if (!ObjectUtils.isEmpty(dto.getUseUnitCreditCode())) {
...@@ -200,6 +213,12 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -200,6 +213,12 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return Collections.singletonList(dto); return Collections.singletonList(dto);
} }
public Page<JgChangeVehicleRegistrationUnit> getPage(Page<JgChangeVehicleRegistrationUnit> page, JgChangeVehicleRegistrationUnitDto dto, String type, ReginParams reginParams){
String orgCode = reginParams.getCompany().getCompanyCode();
String currentUserId = reginParams.getUserModel().getUserId();
return this.getBaseMapper().getPage(page, dto, type, orgCode, currentUserId, dto.getRoleIds());
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 600000) @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 600000)
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) {
...@@ -317,14 +336,16 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -317,14 +336,16 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
// 流程结束 // 流程结束
jgChangeVehicleRegistrationUnit.setStatus(taskCode); jgChangeVehicleRegistrationUnit.setStatus(taskCode);
jgChangeVehicleRegistrationUnit.setNextExecuteUserIds(""); jgChangeVehicleRegistrationUnit.setNextExecuteUserIds("");
jgChangeVehicleRegistrationUnit.setAuditPassDate(new Date());
LambdaQueryWrapper<JgRegistrationHistory> lambdaSelect = new QueryWrapper<JgRegistrationHistory>().lambda(); LambdaQueryWrapper<JgRegistrationHistory> lambdaSelect = new QueryWrapper<JgRegistrationHistory>().lambda();
lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr)); lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect); JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect);
JSONObject historyData = JSONObject.parseObject(jgRegistrationHistory.getChangeData()); JSONObject historyData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
// 更新代办 // 更新代办
updateAgency(jgChangeVehicleRegistrationUnit); TaskV2Model taskV2Model = updateAgency(jgChangeVehicleRegistrationUnit);
// 修改设备信息、添加证、设备流水信息
saveRecord(jgChangeVehicleRegistrationUnit, taskV2Model);
} }
this.getBaseMapper().updateById(jgChangeVehicleRegistrationUnit); this.getBaseMapper().updateById(jgChangeVehicleRegistrationUnit);
...@@ -332,6 +353,116 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -332,6 +353,116 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return jgChangeVehicleRegistrationUnit; return jgChangeVehicleRegistrationUnit;
} }
public void saveRecord(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, TaskV2Model taskV2Model){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
JgUseRegistrationManage manage = jgUseRegistrationManageService.lambdaQuery().eq(JgUseRegistrationManage::getUseRegistrationCode, jgChangeVehicleRegistrationUnit.getUseRegistCode()).one();
// 业务流水生成
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, jgChangeVehicleRegistrationUnit.getSequenceNbr()).one();
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
JSONArray dataList = JSONObject.parseArray(jsonObject.get("dataList").toString());
ArrayList<JgCertificateChangeRecordEq> jgCertificateChangeRecordEqs = new ArrayList<>();
JgCertificateChangeRecord jgCertificateChangeRecord = new JgCertificateChangeRecord();
jgCertificateChangeRecord.setApplyNo(jgChangeVehicleRegistrationUnit.getApplyNo());
jgCertificateChangeRecord.setReceiveOrgName(jgChangeVehicleRegistrationUnit.getReceiveOrgName());
jgCertificateChangeRecord.setAuditPassDate(new Date());
jgCertificateChangeRecord.setRegType(BUSINESS_NAME);
jgCertificateChangeRecord.setRegDate(jgChangeVehicleRegistrationUnit.getApplyDate());
jgCertificateChangeRecord.setChangeContent(jgChangeVehicleRegistrationUnit.getCreateUserName() + "办理了【" + BUSINESS_NAME + "】," + "单号【" + jgChangeVehicleRegistrationUnit.getApplyNo() +
"】,原" + jgChangeVehicleRegistrationUnit.getUseUnitName() + "变更为" + jgChangeVehicleRegistrationUnit.getNewUseUnitName() + ",办理日期" + sdf.format(jgChangeVehicleRegistrationUnit.getAuditPassDate()));
jgCertificateChangeRecord.setRecUserId(jgChangeVehicleRegistrationUnit.getRecUserId());
jgCertificateChangeRecord.setRecDate(new Date());
jgCertificateChangeRecord.setCreateDate(new Date());
jgCertificateChangeRecord.setCreateUserId(jgChangeVehicleRegistrationUnit.getCreateUserId());
jgCertificateChangeRecord.setUseRegistrationCode(jgChangeVehicleRegistrationUnit.getUseRegistCode());
jgCertificateChangeRecord.setCertificateNo(manage.getCertificateNo());
jgCertificateChangeRecord.setUseUnitCreditCode(jgChangeVehicleRegistrationUnit.getNewUseUnitCreditCode());
jgCertificateChangeRecord.setUseUnitName(jgChangeVehicleRegistrationUnit.getNewUseUnitName());
jgCertificateChangeRecord.setEquCategory(manage.getEquCategory());
jgCertificateChangeRecord.setReceiveCompanyCode(jgChangeVehicleRegistrationUnit.getReceiveCompanyCode());
jgCertificateChangeRecord.setRoutePath(taskV2Model.getRoutePath());
// 保存证流水信息
jgCertificateChangeRecordService.save(jgCertificateChangeRecord);
// 组装设备流水
dataList.forEach(item ->{
JSONObject object = JSONObject.parseObject(JSON.toJSONString(item));
JgCertificateChangeRecordEq jgCertificateChangeRecordEq = new JgCertificateChangeRecordEq();
jgCertificateChangeRecordEq.setEquId(object.get("record").toString());
jgCertificateChangeRecordEq.setChangeRecordId(jgCertificateChangeRecord.getSequenceNbr().toString());
jgCertificateChangeRecordEq.setProductCode(object.get("factoryNum").toString());
jgCertificateChangeRecordEqs.add(jgCertificateChangeRecordEq);
});
// 保存设备流水信息
jgCertificateChangeRecordEqService.saveBatch(jgCertificateChangeRecordEqs);
List<String> collect = jgCertificateChangeRecordEqs.stream().map(JgCertificateChangeRecordEq::getEquId).collect(Collectors.toList());
if ("0".equals(jgChangeVehicleRegistrationUnit.getChangeType()) && !ObjectUtils.isEmpty(collect)){
// 区外变更
// 生成使用登记证编号
String receiveCompanyCode = jgChangeVehicleRegistrationUnit.getReceiveCompanyCode();
CompanyModel receiveCompanyResult = Privilege.companyClient.queryByCompanyCode(receiveCompanyCode).getResult();
//查询到局级
// 如果不是局级公司,则查询其上级公司信息
if (!"prefecture-level".equals(receiveCompanyResult.getLevel())) {
CompanyModel receiveParentResult = Privilege.companyClient.seleteOne(receiveCompanyResult.getParentId()).getResult();
receiveCompanyCode = receiveParentResult.getCompanyCode();
}
String code = this.generateVehicleUseRegistrationCode(receiveCompanyCode, manage.getEquDefineCode());
manage.setUseRegistrationCode(code);
// 更新设备使用登记证信息
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambda = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambda.in(IdxBizJgRegisterInfo::getRecord, collect);
IdxBizJgRegisterInfo registerInfo = new IdxBizJgRegisterInfo();
registerInfo.setUseOrgCode(code);
idxBizJgRegisterInfoService.update(registerInfo, lambda);
// 使用登记证下设备更新监管码
collect.forEach(a ->{
createCode(jgChangeVehicleRegistrationUnit, manage.getEquDefineCode(), a);
});
}
// 修改证管理信息
manage.setUseUnitName(jgChangeVehicleRegistrationUnit.getNewUseUnitName());
manage.setAuditPassDate(new Date());
jgUseRegistrationManageService.updateById(manage);
}
/**
* 生成监管码
*/
public void createCode(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, String equCategory, String record) {
Map<String, Object> map = new HashMap<>();
map.put("cityCode", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? XIAN_YANG.getCode() : jgChangeVehicleRegistrationUnit.getVehicleApanage());
map.put("isXiXian", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? "1" : "0");
map.put("equCategory", equCategory);
map.put("countyCode", XI_XIAN.getCode().equals(jgChangeVehicleRegistrationUnit.getVehicleApanage()) ? XIAN_YANG.getCode() : jgChangeVehicleRegistrationUnit.getVehicleApanage());
// 调用服务创建代码
ResponseModel<Map<String, Object>> code = tzsServiceFeignClient.createCode(map);
Map<String, Object> result = code.getResult();
// 更新其他信息
if (result != null && !result.isEmpty()) {
LambdaQueryWrapper<IdxBizJgOtherInfo> lambda = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambda.eq(IdxBizJgOtherInfo::getRecord, record);
IdxBizJgOtherInfo idxBizJgOtherInfo = new IdxBizJgOtherInfo();
idxBizJgOtherInfo.setSupervisoryCode(String.valueOf(result.get("superviseCode")));
otherInfoMapper.update(idxBizJgOtherInfo, lambda);
}
}
/**
* 根据车辆属地生成使用登记证
*
* @param receiveCompanyCode 车辆属地
* @return String
*/
private String generateVehicleUseRegistrationCode(String receiveCompanyCode, String equDefineCode) {
// 构建设备种类简称
String useRegistration = String.format("瓶%s%s", equDefineCode.substring(1, 3), VehicleApanageEnum.of(receiveCompanyCode));
// 调用服务端获取注册码
ResponseModel<String> stringResponseModel = tzsServiceFeignClient.useRegistrationCode(useRegistration);
return stringResponseModel.getResult();
}
public InstanceRuntimeData buildInstanceRuntimeData(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) { public InstanceRuntimeData buildInstanceRuntimeData(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) {
return InstanceRuntimeData.builder() return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgChangeVehicleRegistrationUnit.getNextExecuteUserIds()) .nextExecuteUserIds(jgChangeVehicleRegistrationUnit.getNextExecuteUserIds())
...@@ -466,10 +597,28 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -466,10 +597,28 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
map.put("dataList", equList); map.put("dataList", equList);
// 组件回显 // 组件回显
map.put("useRegistrationCode", useRegistrationCode); map.put("useRegistrationCode", useRegistrationCode);
if (!ObjectUtils.isEmpty(information) && !ObjectUtils.isEmpty(information.getCarNumber())) {
map.put("carNumber", information.getCarNumber());
}
} }
return map; return map;
} }
@Transactional(rollbackFor = Exception.class)
public Boolean deleteMessage(String sequenceNbr) {
JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit = this.baseMapper.selectById(sequenceNbr);
// 删除代办 + 中止流程
commonServiceImpl.deleteTaskModel(sequenceNbr, jgChangeVehicleRegistrationUnit.getInstanceId());
// 删除单子
this.baseMapper.deleteById(sequenceNbr);
// 删除单子对应eq
jgChangeVehicleRegistrationUnitEqService.remove(new LambdaQueryWrapper<JgChangeVehicleRegistrationUnitEq>()
.eq(JgChangeVehicleRegistrationUnitEq::getUnitChangeId, sequenceNbr));
// 删除单子对应历史表数据
jgRegistrationHistoryService.remove(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr));
return Boolean.TRUE;
}
public Map<String, Object> getDetails(String sequenceNbr) { public Map<String, Object> getDetails(String sequenceNbr) {
JgRegistrationHistory history = jgRegistrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr).eq(JgRegistrationHistory::getRegistrationClass, BUSINESS_NAME).one(); JgRegistrationHistory history = jgRegistrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr).eq(JgRegistrationHistory::getRegistrationClass, BUSINESS_NAME).one();
if (!ObjectUtils.isEmpty(history) && !ObjectUtils.isEmpty(history.getChangeData())) { if (!ObjectUtils.isEmpty(history) && !ObjectUtils.isEmpty(history.getChangeData())) {
......
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