Commit dfe10f6e authored by zhangsen's avatar zhangsen

电梯注销业务开发

parent b008bb61
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -74,6 +75,9 @@ public class JgScrapCancelDto extends BaseDto {
@ApiModelProperty(value = "告知设备列表")
private List<Map<String, Object>> deviceList;
@ApiModelProperty(value = "设备ID")
private String SEQUENCE_NBR;
@ApiModelProperty(value = "终审通过时间")
private Date auditPassDate;
......@@ -85,4 +89,15 @@ public class JgScrapCancelDto extends BaseDto {
// 区分监管和企业
private String type;
/**
* 使用单位编码
*/
private String useUnitCode;
/**
* 使用单位名称
*/
private String useUnitName;
}
......@@ -116,4 +116,18 @@ public class JgScrapCancel extends BaseEntity {
@TableField(value = "promoter")
private String promoter;
/**
* 使用单位编码
*/
@TableField("use_unit_code")
private String useUnitCode;
/**
* 使用单位名称
*/
@TableField(value = "use_unit_name")
private String useUnitName;
}
......@@ -26,7 +26,7 @@ public enum CancelTypeEnum {
public static String getNameByType(String code) {
String name = null;
for (CancelTypeEnum enumOne : CancelTypeEnum.values()) {
if (enumOne.getCode() == code) {
if (enumOne.getCode().equals(code)) {
name = enumOne.getName();
break;
}
......
......@@ -8,12 +8,14 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum CancelFlowStatusEnum {
public enum CancelWorkFlowStatusEnum {
SUBMIT("使用单位提交", "submit", "使用单位待提交", "一级单位已驳回", "使用单位撤回"),
RECEIVE("一级受理", "receive", "一级单位待受理", "二级单位已驳回", "一级单位撤回"),
PRELIMINARY("二级受理", "preliminary", "二级单位待受理", "三级单位已驳回", "二级单位撤回"),
REEXAMINE("三级受理", "reexamine", "三级单位待受理", "", ""),
COMPLETE("已完成", "complete", "已完成", "", "");
SUBMIT("使用单位提交", "submit", "使用单位待提交"),
RECEIVE("一级受理", "receive", "一级待受理"),
PRELIMINARY("二级受理", "preliminary", "二级待受理"),
REEXAMINE("三级受理", "reexamine", "三级待受理");
......@@ -23,14 +25,27 @@ public enum CancelFlowStatusEnum {
private final String pass;
private final String reject;
private final String rollBack;
public static CancelFlowStatusEnum getMessage(String name){
for (CancelFlowStatusEnum constants : values()) {
public static CancelWorkFlowStatusEnum getMessage(String name){
for (CancelWorkFlowStatusEnum constants : values()) {
if (constants.getName().equals(name)) {
return constants;
}
}
return null;
}
public static CancelWorkFlowStatusEnum getMessageByCode(String code){
for (CancelWorkFlowStatusEnum constants : values()) {
if (constants.getCode().equals(code)) {
return constants;
}
}
return null;
}
}
......@@ -12,7 +12,8 @@
select ur.sequence_nbr as sequenceNbr,
ur.instance_id as instanceId,
ur.audit_status as auditStatus,
ur.rec_date as regDate,
ur.rec_date as recDate,
ur.create_date as createDate,
ur.receive_org_code as receiveOrgCode,
ur.receive_org_name as receiveOrgName,
ur.receive_company_code as receiveCompanyCode,
......@@ -26,12 +27,14 @@
ifnull(ur.next_execute_ids,'') as nextExecuteIds,
audit_pass_date as auditPassDate,
use.USE_UNIT_CREDIT_CODE as useUnitCreditCode,
use.USE_UNIT_NAME as useUnitName,
ur.use_unit_name as useUnitName,
ur.use_unit_code as useUnitCode,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
jri.EQU_DEFINE as equDefine,
jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode,
use.ADDRESS as address,
concat(use.PROVINCE_NAME,'-',use.CITY_NAME,'-',use.COUNTY_NAME) as place,
re.equ_id as equipId
from tzs_jg_scrap_cancel ur
......
......@@ -4,15 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgTransferNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgScrapCancelServiceImpl;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -35,104 +29,106 @@ import java.util.*;
@RequestMapping(value = "/jg-scrap-cancel")
public class JgScrapCancelController extends BaseController {
@Autowired
JgScrapCancelServiceImpl jgScrapCancelService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestParam String submitType, @RequestBody Map<String, JgScrapCancelDto> model) {
jgScrapCancelService.save(submitType, model);
return ResponseHelper.buildResponse("ok");
}
/**
* 根据sequenceNbr更新
*
* @param model 安装告知
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateInfo")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新安装告知", notes = "根据sequenceNbr更新安装告知")
public ResponseModel<JgScrapCancelDto> updateInfo(@RequestParam String submitType, @RequestBody Map<String, Object> model, @RequestParam(value = "op", required = false) String op) {
JgScrapCancelDto jgScrapCancelDto = BeanUtil.mapToBean(((LinkedHashMap) model.get("jgScrapCancelAdd")), JgScrapCancelDto.class, true);
if (Objects.isNull(jgScrapCancelDto)) {
throw new IllegalArgumentException("参数jgScrapCancelAdd不能为空");
}
Object o = ((LinkedHashMap<?, ?>) model.get("jgScrapCancelAdd")).get("cancelCertificateList");
jgScrapCancelDto.setCancelCertificateList((List<Map<String, Object>>) o);
return ResponseHelper.buildResponse(jgScrapCancelService.updateInfo(submitType, jgScrapCancelDto, op));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
LinkedHashMap model1 = (LinkedHashMap)map.get("model");
LinkedHashMap jgScrapCancelInfo = (LinkedHashMap)model1.get("jgScrapCancelAdd");
JgScrapCancelDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgScrapCancelInfo), JgScrapCancelDto.class);
jgScrapCancelService.flowExecute(Long.valueOf(String.valueOf(jgScrapCancelDto.getSequenceNbr())), jgScrapCancelDto.getInstanceId(), String.valueOf(map.get("operate")), String.valueOf(map.get("opinion")), true);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> withdraw(@RequestBody JSONObject map) {
jgScrapCancelService.withdraw(String.valueOf(map.get("instanceId")));
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteBatch")
@ApiOperation(httpMethod = "POST", value = "批量删除", notes = "批量删除")
public ResponseModel<Object> deleteBatch(@RequestBody JSONObject map) {
List<Long> ids = (List<Long>) map.get("ids");
jgScrapCancelService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteMessage")
@ApiOperation(httpMethod = "POST", value = "批量删除", notes = "批量删除")
public ResponseModel<Object> deleteMessage(@RequestParam("id") Long id) {
ArrayList<Long> ids = new ArrayList<>();
ids.add(id);
jgScrapCancelService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@PostMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(JgScrapCancelDto dto,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size);
return ResponseHelper.buildResponse(jgScrapCancelService.getList(dto, page, dto.getRoleIds()));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个详情", notes = "根据sequenceNbr查询单个详情")
public ResponseModel<Map<String, Object>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgScrapCancelService.queryBySequenceNbr(sequenceNbr));
}
@Autowired
JgScrapCancelServiceImpl jgScrapCancelService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增/新增并提交", notes = "新增/新增并提交")
public ResponseModel<Object> save(@RequestParam String submitType, @RequestBody Map<String, JSONObject> model) {
jgScrapCancelService.save(submitType, model);
return ResponseHelper.buildResponse("ok");
}
/**
* 根据sequenceNbr更新
*
* @param model 安装告知
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateInfo")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<JgScrapCancelDto> updateInfo(@RequestParam String submitType, @RequestBody Map<String, Object> model, @RequestParam(value = "op", required = false) String op) {
JgScrapCancelDto jgScrapCancelDto = BeanUtil.mapToBean(((LinkedHashMap) model.get("jgScrapCancelAdd")), JgScrapCancelDto.class, true);
if (Objects.isNull(jgScrapCancelDto)) {
throw new IllegalArgumentException("参数jgScrapCancelAdd不能为空");
}
Object o = ((LinkedHashMap<?, ?>) model.get("jgScrapCancelAdd")).get("cancelCertificateList");
jgScrapCancelDto.setCancelCertificateList((List<Map<String, Object>>) o);
return ResponseHelper.buildResponse(jgScrapCancelService.updateInfo(submitType, jgScrapCancelDto, op));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
LinkedHashMap model1 = (LinkedHashMap) map.get("model");
LinkedHashMap jgScrapCancelInfo = (LinkedHashMap) model1.get("jgScrapCancelAdd");
jgScrapCancelInfo.remove("SEQUENCE_NBR");
JgScrapCancelDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgScrapCancelInfo), JgScrapCancelDto.class);
jgScrapCancelService.flowExecute(Long.valueOf(String.valueOf(jgScrapCancelDto.getSequenceNbr())), jgScrapCancelDto.getInstanceId(), String.valueOf(map.get("operate")), String.valueOf(map.get("opinion")));
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteBatch")
@ApiOperation(httpMethod = "POST", value = "批量删除", notes = "批量删除")
public ResponseModel<Object> deleteBatch(@RequestBody JSONObject map) {
List<Long> ids = (List<Long>) map.get("ids");
jgScrapCancelService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteMessage")
@ApiOperation(httpMethod = "POST", value = "单个删除", notes = "单个删除")
public ResponseModel<Object> deleteMessage(@RequestParam("id") Long id) {
List<Long> ids = Collections.singletonList(id);
jgScrapCancelService.deleteBatch(ids);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@PostMapping(value = "/getList")
public ResponseModel<Page<Map<String, Object>>> getList(JgScrapCancelDto dto,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<Map<String, Object>> page = new Page<>(current, size);
return ResponseHelper.buildResponse(jgScrapCancelService.getList(dto, page, dto.getRoleIds()));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个详情", notes = "根据sequenceNbr查询单个详情")
public ResponseModel<Map<String, Object>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgScrapCancelService.queryBySequenceNbr(sequenceNbr));
}
/**
* 撤回
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> revocation(@RequestBody JSONObject map) {
jgScrapCancelService.revocation(String.valueOf(map.get("instanceId")));
return ResponseHelper.buildResponse("ok");
}
}
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -13,13 +14,20 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
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.JgScrapCancelEq;
import com.yeejoin.amos.boot.module.jg.api.enums.CancelFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CancelTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CancelWorkFlowStatusEnum;
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.service.IJgScrapCancelService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.SuperviseInfo;
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.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.Workflow;
......@@ -37,6 +45,7 @@ import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.stream.Collectors;
......@@ -48,7 +57,7 @@ import java.util.stream.Collectors;
* @date 2023-12-20
*/
@Service
public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScrapCancel,JgScrapCancelMapper> implements IJgScrapCancelService {
public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgScrapCancel, JgScrapCancelMapper> implements IJgScrapCancelService {
@Autowired
......@@ -61,28 +70,34 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
@Autowired
private ICreateCodeService iCreateCodeService;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
private IdxBizJgUseInfoMapper idxBizJgUseInfoMapper;
@Autowired
IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper;
@Autowired
SuperviseInfoMapper superviseInfoMapper;
@Autowired
RedisUtils redisUtils;
public Page<Map<String, Object>> getList(JgScrapCancelDto dto, Page<Map<String, Object>> page , List<String> roleIds) {
public Page<Map<String, Object>> getList(JgScrapCancelDto dto, Page<Map<String, Object>> page, List<String> roleIds) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String orgCode = reginParams.getCompany().getCompanyCode();
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds, orgCode);
listPage.getRecords().forEach(item -> {
if (item.containsKey("auditStatus") && Objects.nonNull(item.get("auditStatus"))) {
String noticeStatusDesc = FlowStatusEnum.getNameByType(Long.valueOf(item.get("auditStatus").toString()));
item.put("auditStatusDesc", noticeStatusDesc);
item.put("auditStatusDesc", item.get("auditStatus").toString());
}
if (item.containsKey("cancelType") && Objects.nonNull(item.get("cancelType"))) {
item.put("cancelTypeDesc", CancelTypeEnum.getNameByType(item.get("cancelType").toString()));
}
});
return listPage;
}
public Page<Map<String, Object>> getEquipList(Page<Map<String, Object>> page, String factoryNum, String equList, String equCategory) {
return this.baseMapper.getEquipListPage(page, factoryNum, equList, equCategory);
}
private void convertField(JgScrapCancelDto model) {
// 处理图片
......@@ -100,21 +115,30 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
}
@SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class)
public void save(String submitType, Map<String, JgScrapCancelDto> jgInstallationNoticeDtoMap) {
public void save(String submitType, Map<String, JSONObject> jgInstallationNoticeDtoMap) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String[] taskName = new String[]{"流程结束"};
JgScrapCancelDto model = jgInstallationNoticeDtoMap.get("jgScrapCancelAdd");
JSONObject jgScrapCancelAdd = jgInstallationNoticeDtoMap.get("jgScrapCancelAdd");
String equipId = jgScrapCancelAdd.get("SEQUENCE_NBR").toString();
jgScrapCancelAdd.remove("SEQUENCE_NBR");
JgScrapCancelDto model = JSON.parseObject(jgScrapCancelAdd.toJSONString(), JgScrapCancelDto.class);
model.setSEQUENCE_NBR(equipId);
// JgScrapCancelDto model = (JgScrapCancelDto) jgInstallationNoticeDtoMap.get("jgScrapCancelAdd");
// 字段转换
convertField(model);
// 获取告知设备列表
List<Map<String, Object>> deviceList = model.getDeviceList();
if (CollectionUtils.isEmpty(deviceList)) {
// 获取告知设备信息
// 设备信息转换
if (StrUtil.isEmpty(model.getSEQUENCE_NBR())) {
return;
}
List<Map<String, Object>> deviceList = new ArrayList<>();
HashMap<String, Object> map1 = new HashMap<>();
map1.put("SEQUENCE_NBR", model.getSEQUENCE_NBR());
deviceList.add(map1);
// 获取告知单号
List<String> applyNoList = iCreateCodeService.createApplicationFormCode(ApplicationFormTypeEnum.SBZX.getCode(), deviceList.size());
if (CollectionUtils.isEmpty(applyNoList)) {
......@@ -130,8 +154,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
for (int i = 0; i<deviceList.size() ; i++
) {
for (int i = 0; i < deviceList.size(); i++) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("scrapCancel");
dto.setBusinessKey(String.valueOf(i));
......@@ -141,13 +164,13 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
try {
FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO);
List<Object> returnList = (List<Object>) result.getResult();
for (Object obj :returnList) {
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj));
for (Object obj : returnList) {
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj));
String instanceId = jsonObject.getString("id");
instanceIdList.add(instanceId);
// 查询下节点任务
if(returnList.get(0).equals(obj)) {
getNext(roleListFirst, instanceId,taskName);
if (returnList.get(0).equals(obj)) {
getNext(roleListFirst, instanceId, taskName);
}
// 推动下一个节点
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
......@@ -166,7 +189,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) {
getNext(roleListSecond, instanceId,taskName);
getNext(roleListSecond, instanceId, taskName);
} else {
log.error("提交失败");
}
......@@ -197,10 +220,12 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
jgRelationEquip.setEquipTransferId(applyNo);
if (!CollectionUtils.isEmpty(instanceIdList)) {
dto.setInstanceId(instanceIdList.get(i));
dto.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
dto.setAuditStatus(String.valueOf(CancelWorkFlowStatusEnum.RECEIVE.getPass()));
} else {
dto.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
dto.setAuditStatus(String.valueOf(CancelWorkFlowStatusEnum.SUBMIT.getPass()));
}
dto.setUseUnitCode(reginParams.getCompany().getCompanyCode());
dto.setUseUnitName(reginParams.getCompany().getCompanyName());
list.add(dto);
equipList.add(jgRelationEquip);
});
......@@ -214,115 +239,111 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
}
// public String flowExecute(Long id,String instanceId, String operate, String comment, Boolean update) {
// String role = "";
// String taskName = "流程结束";
// ArrayList<String> roleList = new ArrayList<>();
// try {
// JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
// JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
// String taskId = taskMessage.getString("id");
// //组装信息
// TaskResultDTO dto = new TaskResultDTO();
// dto.setResultCode("approvalStatus");
// dto.setTaskId(taskId);
// dto.setComment(comment);
// HashMap<String, Object> map = new HashMap<>();
// map.put("approvalStatus", operate);
// dto.setVariable(map);
// //执行流程
// Workflow.taskClient.completeByTask(taskId, dto);
// // 查询下节点任务
// JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
// if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
// JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
// String nextTaskId = nextTask.getString("id");
// taskName = nextTask.getString("name");
// AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
// JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
// for (Object datum : data) {
// if (((Map) datum).containsKey("groupId")) {
// roleList.add(((Map) datum).get("groupId").toString());
// }
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// role= String.join(",", roleList);
// if (update) {
// Boolean rollBack = "1".equals(operate) ? true : false;
// updateStatus(id,instanceId, taskName, role, rollBack);
// }
// return role;
// }
//
//
// public void updateStatus(Long id , String instanceId, String taskName, String role, Boolean rollBack) {
// ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
// LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda();
// lambda.eq(JgScrapCancel::getSequenceNbr, id);
// JgScrapCancel jgScrapCancel = this.getBaseMapper().selectOne(lambda);
// if ("流程结束".equals(taskName)) {
// jgScrapCancel.setStatus(taskName);
// jgScrapCancel.setAuditStatus(CancelWorkFlowStatusEnum.COMPLETE.getName());
//
//
// LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
// lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, id);
// JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq);
//
// ResponseModel<String> responseModel = tzsServiceFeignClient.useRegistrationCode(idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(jgScrapCancelEq.getEquId()));
// String newUseRegistrationCertificateNumber=responseModel.getResult().split("-")[0];
//
// Map<String,Map<String,Object>> resultMap = new HashMap<>();
// Map<String,Object> map1 =new HashMap<>();
// map1.put("USE_ORG_CODE",newUseRegistrationCertificateNumber );
// if (CancelTypeEnum.SCRAPPED.getCode().equals(jgScrapCancel.getCancelType())) {
// IdxBizJgUseInfo idxBizJgUseInfo = new IdxBizJgUseInfo();
// idxBizJgUseInfo.setEquState(String.valueOf(EquimentEnum.BAOFEI.getCode()));
// LambdaQueryWrapper<IdxBizJgUseInfo> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(IdxBizJgUseInfo::getRecord, jgScrapCancelEq.getEquId());
// idxBizJgUseInfoMapper.update(idxBizJgUseInfo, wrapper);
// map1.put("EQU_STATE", String.valueOf(EquimentEnum.BAOFEI.getCode()));
// } else {
// SuperviseInfo superviseInfo = new SuperviseInfo();
// superviseInfo.setOrgBranchCode("");
// superviseInfo.setOrgBranchName("");
// LambdaQueryWrapper<SuperviseInfo> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(SuperviseInfo::getRecord, jgScrapCancelEq.getEquId());
// superviseInfoMapper.update(superviseInfo, wrapper);
// map1.put("ORG_BRANCH_CODE", "");
// map1.put("ORG_BRANCH_NAME", "");
// }
// resultMap.put(jgScrapCancelEq.getEquId(), map1);
// tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
// } else {
// jgScrapCancel.setNextExecuteIds(role);
// jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId());
// if (!ObjectUtils.isEmpty(jgScrapCancel.getInstanceStatus())) {
// jgScrapCancel.setInstanceStatus(jgScrapCancel.getInstanceStatus() + "," + role);
// } else {
// jgScrapCancel.setInstanceStatus(role);
// }
// }
// CancelWorkFlowStatusEnum message = CancelWorkFlowStatusEnum.getMessage(taskName);
// assert message != null;
// if (rollBack){
// jgScrapCancel.setAuditStatus(message.getRollBack());
// this.getBaseMapper().update(jgScrapCancel, lambda);
// this.getBaseMapper().updatePromoter(jgScrapCancel.getSequenceNbr());
// }else {
// jgScrapCancel.setAuditStatus(message.getPass());
// this.getBaseMapper().update(jgScrapCancel, lambda);
// }
// }
public String flowExecute(Long id,String instanceId, String operate, String comment, Boolean update) {
String role = "";
String taskName = "流程结束";
ArrayList<String> roleList = new ArrayList<>();
try {
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
dto.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, dto);
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
taskName = nextTask.getString("name");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
role= String.join(",", roleList);
if (update) {
Boolean rollBack = "1".equals(operate) ? true : false;
updateStatus(id,instanceId, taskName, role, rollBack);
}
return role;
}
public void updateStatus(Long id , String instanceId, String taskName, String role, Boolean rollBack) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda();
lambda.eq(JgScrapCancel::getSequenceNbr, id);
JgScrapCancel jgScrapCancel = this.getBaseMapper().selectOne(lambda);
if ("流程结束".equals(taskName)) {
jgScrapCancel.setStatus(taskName);
jgScrapCancel.setAuditStatus("已完成");
} else {
jgScrapCancel.setNextExecuteIds(role);
jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(jgScrapCancel.getInstanceStatus())) {
jgScrapCancel.setInstanceStatus(jgScrapCancel.getInstanceStatus() + "," + role);
} else {
jgScrapCancel.setInstanceStatus(role);
}
CancelFlowStatusEnum message = CancelFlowStatusEnum.getMessage(taskName);
jgScrapCancel.setStatus(message.getPass());
}
if (rollBack){
this.getBaseMapper().update(jgScrapCancel, lambda);
this.getBaseMapper().updatePromoter(jgScrapCancel.getSequenceNbr());
}else {
this.getBaseMapper().update(jgScrapCancel, lambda);
}
}
public void withdraw(String instanceId) {
String taskName = "";
JgScrapCancel jgScrapCancel = new JgScrapCancel();
LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda();
lambda.eq(JgScrapCancel::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
taskName = nextTask.getString("name");
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!ObjectUtils.isEmpty(taskName)) {
CancelFlowStatusEnum message = CancelFlowStatusEnum.getMessage(taskName);
jgScrapCancel.setStatus(message.getPass());
}
String join = String.join(",", roleList);
JgScrapCancel jgScrapCancel1 = this.getBaseMapper().selectOne(lambda);
this.updateStatus(jgScrapCancel1.getSequenceNbr(), instanceId, taskName, join, true);
}
public void deleteBatch(List<Long> ids) {
JgScrapCancel jgScrapCancel = new JgScrapCancel();
jgScrapCancel.setIsDelete(true);
......@@ -331,34 +352,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
this.update(jgScrapCancel, lambda);
}
public Map<String, Object> getDetail(String id) {
Map<String, Object> detail = this.baseMapper.getDetail(id);
Map<String, Object> inspectDetail = this.baseMapper.getInspectDetail(id);
Map<String, Object> useDetail = this.baseMapper.getUseDetail(id);
detail.putAll(inspectDetail);
detail.putAll(useDetail);
detail.putAll(useDetail);
detail.put("proDuctPhoto", JSON.parse(String.valueOf(detail.get("proDuctPhoto"))));
detail.put("factoryStandard", JSON.parse(String.valueOf(detail.get("factoryStandard"))));
detail.put("productQualityYieldProve", JSON.parse(String.valueOf(detail.get("productQualityYieldProve"))));
detail.put("insUseMaintainExplanin", JSON.parse(String.valueOf(detail.get("insUseMaintainExplanin"))));
detail.put("inspectReport", JSON.parse(String.valueOf(detail.get("inspectReport"))));
return detail;
}
public JgScrapCancelDto updateInfo(String submitType, JgScrapCancelDto jgScrapCancelDto, String op) {
if (Objects.isNull(jgScrapCancelDto) || StringUtils.isEmpty(submitType)) {
......@@ -401,7 +394,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
}
jgScrapCancel.setPromoter(RequestContext.getExeUserId());
jgScrapCancel.setNextExecuteIds(String.join(",", roleListSecond));
jgScrapCancel.setAuditStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgScrapCancel.setAuditStatus(String.valueOf(CancelWorkFlowStatusEnum.RECEIVE.getPass()));
this.updateById(jgScrapCancel);
}
} else {
......@@ -465,15 +458,155 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto,JgScr
}
Map<String, Object> installationInfo = BeanUtil.beanToMap(notice);
installationInfo.put("receiveOrgCode", notice.getReceiveOrgCode() + "_" + notice.getReceiveOrgName());
installationInfo.put("cancelCertificateList", JSON.parseArray(installationInfo.get("cancelCertificate").toString()));
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr);
JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq);
// 设备信息
Map<String, Object> equipmentInfos = this.baseMapper.queryEquipInformation(sequenceNbr);
BeanUtil.copyProperties(installationInfo, equipmentInfos);
installationInfo.put("SEQUENCE_NBR", jgScrapCancelEq.getEquId());
// Map<String, Object> equipmentInfos = this.baseMapper.queryEquipInformation(sequenceNbr);
return new HashMap<String, Object>() {{
this.put("jgScrapCancelAdd", equipmentInfos);
// this.put("equipmentInfo", equipmentInfos);
this.put("jgScrapCancelAdd", installationInfo);
}};
}
public void revocation(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskName = "";
JgScrapCancel jgScrapCancel = new JgScrapCancel();
LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda();
lambda.eq(JgScrapCancel::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
taskName = nextTask.getString("name");
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!ObjectUtils.isEmpty(taskName)) {
jgScrapCancel.setAuditStatus(CancelWorkFlowStatusEnum.getMessage(taskName).getRollBack());
}
String join = String.join(",", roleList);
jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId());
jgScrapCancel.setNextExecuteIds(join);
this.update(jgScrapCancel, lambda);
}
public void flowExecute(Long id, String instanceId, String operate, String comment) {
try {
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
dto.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, dto);
} catch (Exception e) {
e.printStackTrace();
}
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
}
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = "";
String taskName = "流程结束";
ArrayList<String> roleList = new ArrayList<>();
JgScrapCancel jgScrapCancel = this.getBaseMapper().selectById(sequenceNbr);
try {
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
taskName = nextTask.getString("name");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!"流程结束".equals(taskName)) {
role = String.join(",", roleList);
jgScrapCancel.setNextExecuteIds(role);
jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId());
jgScrapCancel.setInstanceId(instanceId);
if (!ObjectUtils.isEmpty(jgScrapCancel.getInstanceStatus())) {
jgScrapCancel.setInstanceStatus(jgScrapCancel.getInstanceStatus() + "," + role);
} else {
jgScrapCancel.setInstanceStatus(role);
}
if ("0".equals(operate)) {
// 通过操作
jgScrapCancel.setAuditStatus(CancelWorkFlowStatusEnum.getMessage(taskName).getPass());
} else {
// 驳回操作
jgScrapCancel.setAuditStatus(CancelWorkFlowStatusEnum.getMessage(taskName).getReject());
jgScrapCancel.setPromoter(null);
}
} else {
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr);
JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq);
ResponseModel<String> responseModel = tzsServiceFeignClient.useRegistrationCode(idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(jgScrapCancelEq.getEquId()));
String newUseRegistrationCertificateNumber = responseModel.getResult().split("-")[0];
Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("USE_ORG_CODE", newUseRegistrationCertificateNumber);
if (CancelTypeEnum.SCRAPPED.getCode().equals(jgScrapCancel.getCancelType())) {
IdxBizJgUseInfo idxBizJgUseInfo = new IdxBizJgUseInfo();
idxBizJgUseInfo.setEquState(String.valueOf(EquimentEnum.BAOFEI.getCode()));
LambdaQueryWrapper<IdxBizJgUseInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgUseInfo::getRecord, jgScrapCancelEq.getEquId());
idxBizJgUseInfoMapper.update(idxBizJgUseInfo, wrapper);
map1.put("EQU_STATE", String.valueOf(EquimentEnum.BAOFEI.getCode()));
} else {
SuperviseInfo superviseInfo = new SuperviseInfo();
superviseInfo.setOrgBranchCode("");
superviseInfo.setOrgBranchName("");
LambdaQueryWrapper<SuperviseInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SuperviseInfo::getRecord, jgScrapCancelEq.getEquId());
superviseInfoMapper.update(superviseInfo, wrapper);
map1.put("ORG_BRANCH_CODE", "");
map1.put("ORG_BRANCH_NAME", "");
}
resultMap.put(jgScrapCancelEq.getEquId(), map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
jgScrapCancel.setAuditStatus(CancelWorkFlowStatusEnum.COMPLETE.getName());
jgScrapCancel.setAuditPassDate(new Date());
}
this.getBaseMapper().updateById(jgScrapCancel);
}
}
\ 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