Commit a7911fd0 authored by chenzhao's avatar chenzhao

Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register

parents e0a84038 34ffae7b
package com.yeejoin.amos.boot.module.jg.api.dto; package com.yeejoin.amos.boot.module.jg.api.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
...@@ -9,6 +12,9 @@ import java.util.Date; ...@@ -9,6 +12,9 @@ import java.util.Date;
* @author Administrator * @author Administrator
*/ */
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TaskModelDto { public class TaskModelDto {
/** /**
* 工作流创建时间 * 工作流创建时间
......
...@@ -221,6 +221,15 @@ public class JgChangeRegistrationReform extends BaseEntity { ...@@ -221,6 +221,15 @@ public class JgChangeRegistrationReform extends BaseEntity {
*/ */
@TableField(value = "next_task_id") @TableField(value = "next_task_id")
private String nextTaskId; private String nextTaskId;
/**
* 创建人
*/
@TableField("create_user_name")
private String createUserName;
/**
*
*/
@TableField(value = "create_user_company_name")
private String createUserCompanyName;
} }
...@@ -150,4 +150,7 @@ public class JgEquipTransfer extends BaseEntity { ...@@ -150,4 +150,7 @@ public class JgEquipTransfer extends BaseEntity {
*/ */
@TableField(value = "next_task_id") @TableField(value = "next_task_id")
private String nextTaskId; private String nextTaskId;
@TableField(value = "create_user_company_name")
private String createUserCompanyName;
} }
...@@ -214,6 +214,12 @@ public class JgMaintenanceContract extends BaseEntity { ...@@ -214,6 +214,12 @@ public class JgMaintenanceContract extends BaseEntity {
private String createUserId; private String createUserId;
/** /**
* 创建人名称
*/
@TableField("create_user_name")
private String createUserName;
/**
* 创建时间 * 创建时间
*/ */
@TableField("create_date") @TableField("create_date")
......
...@@ -298,11 +298,11 @@ public class JgTransferNotice extends BaseEntity { ...@@ -298,11 +298,11 @@ public class JgTransferNotice extends BaseEntity {
@TableField(value = "handle_date") @TableField(value = "handle_date")
private Date handleDate; private Date handleDate;
@TableField(value = "create_user_company_name") @TableField(value = "\"create_user_company_name\"")
private String createUserCompanyName; private String createUserCompanyName;
//下一步任务ID //下一步任务ID
@TableField(value = "next_taskId") @TableField(value = "\"next_taskId\"")
private String nextTaskId; private String nextTaskId;
} }
...@@ -25,7 +25,7 @@ public enum WorkFlowStatusEnum { ...@@ -25,7 +25,7 @@ public enum WorkFlowStatusEnum {
/** /**
* 维保流程 * 维保备案
*/ */
MAIN_SUBMIT("使用单位提交", "mainSubmit", "使用单位待提交", "维保单位已驳回", "使用单位已撤回"), MAIN_SUBMIT("使用单位提交", "mainSubmit", "使用单位待提交", "维保单位已驳回", "使用单位已撤回"),
MAIN_RECEIVE("维保单位审核确认", "mainReceive", "维保单位待受理", "监管单位已驳回", "维保单位已撤回"), MAIN_RECEIVE("维保单位审核确认", "mainReceive", "维保单位待受理", "监管单位已驳回", "维保单位已撤回"),
......
...@@ -56,51 +56,6 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -56,51 +56,6 @@ public class JgMaintenanceContractController extends BaseController {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.saveOrSubmit(submit,model, reginParams)); return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.saveOrSubmit(submit,model, reginParams));
} }
/**
* 更新维保合同和设备对应关系
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateMaintenanceAndEquipment")
@ApiOperation(httpMethod = "POST", value = "更新维保合同和设备对应关系", notes = "更新维保合同和设备对应关系")
public ResponseModel<Object> updateMaintenanceAndEquipment(@RequestBody Map<String , Object> model,
@RequestParam(value = "submit",required = false,defaultValue = "0") String submit) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model), JgMaintenanceContractDto.class);
List<Map<String, Object>> list = (List<Map<String, Object>>) model.get("equipmentLists");
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateMaintenanceAndEquipment(submit,dto,list));
}
/**
* 提交
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/submit")
@ApiOperation(httpMethod = "POST", value = "维保合同提交", notes = "维保合同提交")
public ResponseModel<Object> submit(@RequestBody Map<String , Object> model) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model), JgMaintenanceContractDto.class);
String comment = String.valueOf(model.get("comment"));
String operate = String.valueOf(model.get("operate"));
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.submit(dto,comment,operate));
}
/**
* 审批
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/approval")
@ApiOperation(httpMethod = "POST", value = "审批", notes = "审批")
public ResponseModel<Object> approval(@RequestBody Map<String , Object> model) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model.get("formData")), JgMaintenanceContractDto.class);
String comment = String.valueOf(model.get("comment"));
String operate = String.valueOf(model.get("operate"));
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.approval(dto,comment,operate));
}
/** /**
* 撤回 * 撤回
...@@ -216,8 +171,7 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -216,8 +171,7 @@ public class JgMaintenanceContractController extends BaseController {
public ResponseModel<Page<JgMaintenanceContractVo>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<Page<JgMaintenanceContractVo>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "phase") int phase, @RequestParam(value = "phase") int phase,
Map<String,Object> map, Map<String,Object> map) {
JgMaintenanceContractDto maintenanceContractDto) {
Page<JgMaintenanceContract> page = new Page<>(); Page<JgMaintenanceContract> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
......
...@@ -631,7 +631,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -631,7 +631,7 @@ public class CommonServiceImpl implements ICommonService {
} }
model.setFlowStatus(obj.getTaskStatus()); model.setFlowStatus(obj.getTaskStatus());
model.setFlowCode(obj.getTaskStatusLabel()); model.setFlowCode(obj.getTaskStatusLabel());
model.setTaskType("0"); model.setTaskStatus(0);
model.setFlowInstanceId(model.getRelationId()); model.setFlowInstanceId(model.getRelationId());
model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName()); model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName());
model.setTaskSource("workFlow"); model.setTaskSource("workFlow");
......
...@@ -224,6 +224,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -224,6 +224,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
Map<String, Object> equipParamsMap = this.getEquipParamsMap(record, "", equIpClassMap.get("EQU_LIST").toString()); Map<String, Object> equipParamsMap = this.getEquipParamsMap(record, "", equIpClassMap.get("EQU_LIST").toString());
if (!ValidationUtil.isEmpty(equipParamsMap)) { if (!ValidationUtil.isEmpty(equipParamsMap)) {
// 给技术参数中添加设备种类,标记技术参数属于那个设备
equipParamsMap.put("EQU_LIST",equIpClassMap.get("EQU_LIST").toString());
equipParamsMap.put("EQU_CATEGORY",equIpClassMap.get("EQU_CATEGORY").toString());
equipParamsMap.put("EQU_DEFINE",equIpClassMap.get("EQU_DEFINE").toString());
resultMap.put(EQUIP_PARAMS_FORM_ID, equipParamsMap); resultMap.put(EQUIP_PARAMS_FORM_ID, equipParamsMap);
} }
} }
......
...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey; ...@@ -13,6 +13,7 @@ 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.JgChangeRegistrationNameDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationNameDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto; import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto;
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.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
...@@ -137,6 +138,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -137,6 +138,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
List<String> roleListNext = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>(); List<String> roleListAll = new ArrayList<>();
String applyNo = applyNoList.get(0); String applyNo = applyNoList.get(0);
String nextUserIds = "";
if ("1".equals(submitType)) { if ("1".equals(submitType)) {
// 发起流程 // 发起流程
try { try {
...@@ -153,6 +155,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -153,6 +155,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
instanceId = processTasks.get(0).getProcessInstance().getId(); instanceId = processTasks.get(0).getProcessInstance().getId();
nextTaskId = processTasks.get(0).getNextTask().get(0).getId(); nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
taskName[0] = processTasks.get(0).getNextTask().get(0).getName(); taskName[0] = processTasks.get(0).getNextTask().get(0).getName();
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(processTasks);
nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
this.buildRoleList(processTasks, roleListNext, roleListAll); this.buildRoleList(processTasks, roleListNext, roleListAll);
} catch (Exception e) { } catch (Exception e) {
log.error("提交失败:{}", e); log.error("提交失败:{}", e);
...@@ -177,9 +181,11 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -177,9 +181,11 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
dto.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode()); dto.setUseUnitCreditCode(reginParams.getCompany().getCompanyCode());
dto.setUseUnitName(reginParams.getCompany().getCompanyName()); dto.setUseUnitName(reginParams.getCompany().getCompanyName());
dto.setCreateUserId(RequestContext.getExeUserId());
dto.setCreateUserName(reginParams.getUserModel().getRealName());
this.save(dto); this.save(dto);
// 创建代办 // 创建代办
this.createTaskModel(dto, taskName[0], submitType); this.createTaskModel(dto, taskName[0], submitType, nextUserIds);
} }
private void buildRoleList(List<ProcessTaskDTO> processTasks, List<String> roleListNext, List<String> roleListAll) { private void buildRoleList(List<ProcessTaskDTO> processTasks, List<String> roleListNext, List<String> roleListAll) {
...@@ -192,7 +198,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -192,7 +198,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}); });
} }
private void createTaskModel(JgChangeRegistrationName dto, String taskName, String submitType) { private void createTaskModel(JgChangeRegistrationName dto, String taskName, String submitType, String nextUserIds) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ("1".equals(submitType)) { if ("1".equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
...@@ -204,7 +210,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -204,7 +210,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
taskModelDto.setTaskType(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode()); taskModelDto.setTaskType(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName()); taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName());
taskModelDto.setRelationId(dto.getInstanceId()); taskModelDto.setRelationId(dto.getInstanceId());
taskModelDto.setExecuteUserIds(dto.getNextExecutorIds()); taskModelDto.setExecuteUserIds(nextUserIds);
taskModelDto.setTaskStatus(this.getTaskCodeByName(dto.getAuditStatus())); taskModelDto.setTaskStatus(this.getTaskCodeByName(dto.getAuditStatus()));
taskModelDto.setTaskStatusLabel(dto.getAuditStatus()); taskModelDto.setTaskStatusLabel(dto.getAuditStatus());
taskModelDto.setStartUserId(dto.getCreateUserId()); taskModelDto.setStartUserId(dto.getCreateUserId());
...@@ -259,6 +265,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -259,6 +265,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
String nextTaskId = processTasks.get(0).getNextTask().get(0).getId(); String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
String taskName = processTasks.get(0).getNextTask().get(0).getName(); String taskName = processTasks.get(0).getNextTask().get(0).getName();
this.buildRoleList(processTasks, roleListNext, roleListAll); this.buildRoleList(processTasks, roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(processTasks);
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
jgChangeRegistrationNameDto.setInstanceStatus(String.join(",", roleListAll)); jgChangeRegistrationNameDto.setInstanceStatus(String.join(",", roleListAll));
jgChangeRegistrationNameDto.setInstanceId(instanceId); jgChangeRegistrationNameDto.setInstanceId(instanceId);
jgChangeRegistrationNameDto.setNextExecutorIds(String.join(",", roleListNext)); jgChangeRegistrationNameDto.setNextExecutorIds(String.join(",", roleListNext));
...@@ -266,7 +274,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -266,7 +274,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
// 创建待办 // 创建待办
JgChangeRegistrationName bean = new JgChangeRegistrationName(); JgChangeRegistrationName bean = new JgChangeRegistrationName();
BeanUtil.copyProperties(jgChangeRegistrationNameDto, bean); BeanUtil.copyProperties(jgChangeRegistrationNameDto, bean);
createTaskModel(bean,taskName,"1"); createTaskModel(bean,taskName,"1", nextUserIds);
} catch (Exception e) { } catch (Exception e) {
log.error("提交失败:{}", e); log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage()); throw new BadRequest("提交失败" + e.getMessage());
...@@ -277,6 +285,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -277,6 +285,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
String nextTaskId = processTaskDTO.getNextTask().get(0).getId(); String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
String taskName = processTaskDTO.getNextTask().get(0).getName(); String taskName = processTaskDTO.getNextTask().get(0).getName();
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
// 查询下节点任务 // 查询下节点任务
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) {
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + String.join("", roleListNext)); jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + String.join("", roleListNext));
...@@ -287,7 +297,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -287,7 +297,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationName.setNextExecutorIds(String.join(",", roleListNext)); jgChangeRegistrationName.setNextExecutorIds(String.join(",", roleListNext));
jgChangeRegistrationName.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass())); jgChangeRegistrationName.setAuditStatus(String.valueOf(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass()));
jgChangeRegistrationName.setNextTaskId(nextTaskId); jgChangeRegistrationName.setNextTaskId(nextTaskId);
executeOneStep(jgChangeRegistrationName); executeOneStep(jgChangeRegistrationName, taskName, nextUserIds);
} }
BeanUtils.copyProperties(jgChangeRegistrationNameDto, jgChangeRegistrationName); BeanUtils.copyProperties(jgChangeRegistrationNameDto, jgChangeRegistrationName);
...@@ -300,12 +310,19 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -300,12 +310,19 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
return jgChangeRegistrationNameDto; return jgChangeRegistrationNameDto;
} }
private void executeOneStep(JgChangeRegistrationName jgChangeRegistrationName) { private void executeOneStep(JgChangeRegistrationName jgChangeRegistrationName, String taskName, String nextUserIds) {
// 先更新之前的待办 // 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName); TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName);
// 再插入新代办、数据待定 // 再插入新代办、数据待定
taskV2Model.setExecuteUserIds(jgChangeRegistrationName.getNextExecutorIds()); taskV2Model.setTaskName(taskName);
Systemctl.taskV2Client.create(taskV2Model); taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setTaskStatus(this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus()));
taskV2Model.setTaskStatusLabel(jgChangeRegistrationName.getAuditStatus());
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model,modelDto);
modelDto.setNextExecuteUser(jgChangeRegistrationName.getNextExecutorIds());
modelDto.setModel(jgChangeRegistrationName);
commonService.buildTaskModel(Collections.singletonList(modelDto));
} }
...@@ -322,7 +339,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -322,7 +339,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
private void convertField(JgChangeRegistrationNameDto model) { private void convertField(JgChangeRegistrationNameDto model) {
// 处理文件 // 处理文件1
if (!ValidationUtil.isEmpty(model.getChangeCertificateList())) { if (!ValidationUtil.isEmpty(model.getChangeCertificateList())) {
model.setChangeCertificate(JSON.toJSONString(model.getChangeCertificateList())); model.setChangeCertificate(JSON.toJSONString(model.getChangeCertificateList()));
} }
...@@ -403,16 +420,21 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -403,16 +420,21 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
List<String> roleListAll = new ArrayList<>(); List<String> roleListAll = new ArrayList<>();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
String taskName = ""; String taskName = "";
String nextTaskId = "";
JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(sequenceNbr); JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(sequenceNbr);
if(processTaskDTO != null){ if(processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() >0){
taskCode = processTaskDTO.getNextTask().get(0).getKey(); taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName = processTaskDTO.getNextTask().get(0).getName(); taskName = processTaskDTO.getNextTask().get(0).getName();
nextTaskId = processTaskDTO.getNextTask().get(0).getId();
} }
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) { if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
jgChangeRegistrationName.setNextExecutorIds(String.join(",",roleListNext)); jgChangeRegistrationName.setNextExecutorIds(String.join(",",roleListNext));
jgChangeRegistrationName.setPromoter(RequestContext.getExeUserId()); jgChangeRegistrationName.setPromoter(RequestContext.getExeUserId());
jgChangeRegistrationName.setInstanceId(instanceId); jgChangeRegistrationName.setInstanceId(instanceId);
jgChangeRegistrationName.setNextTaskId(nextTaskId);
if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgChangeRegistrationName.getInstanceStatus())) {
jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + String.join(",",roleListNext)); jgChangeRegistrationName.setInstanceStatus(jgChangeRegistrationName.getInstanceStatus() + "," + String.join(",",roleListNext));
} else { } else {
...@@ -427,7 +449,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -427,7 +449,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationName.setPromoter(null); jgChangeRegistrationName.setPromoter(null);
} }
// 更新上一步待办、创建待办 // 更新上一步待办、创建待办
executeOneStep(jgChangeRegistrationName); executeOneStep(jgChangeRegistrationName, taskName, nextUserIds);
} else { } else {
jgChangeRegistrationName.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName()); jgChangeRegistrationName.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgChangeRegistrationName.setAuditPassDate(new Date()); jgChangeRegistrationName.setAuditPassDate(new Date());
......
...@@ -18,21 +18,16 @@ import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; ...@@ -18,21 +18,16 @@ import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto;
import com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*; import com.yeejoin.amos.feign.workflow.model.*;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -58,8 +53,6 @@ import java.util.stream.Collectors; ...@@ -58,8 +53,6 @@ import java.util.stream.Collectors;
@Service @Service
public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeRegistrationReformDto, JgChangeRegistrationReform, JgChangeRegistrationReformMapper> implements IJgChangeRegistrationReformService { public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeRegistrationReformDto, JgChangeRegistrationReform, JgChangeRegistrationReformMapper> implements IJgChangeRegistrationReformService {
@Autowired @Autowired
WorkFlowFeignService workFlowFeginService;
@Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
...@@ -207,11 +200,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -207,11 +200,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
// updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0"); // updateExecuteIds(instanceId, jgChangeRegistrationReform.getSequenceNbr(), "0");
} else { } else {
// 如果是新启动的流程开启自动访问 // 如果是新启动的流程开启自动访问
jgChangeRegistrationReform.setCreateUserName(reginParams.getUserModel().getRealName());
jgChangeRegistrationReform.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
ProcessTaskDTO processTaskDTO = startByVariable(); ProcessTaskDTO processTaskDTO = startByVariable();
updateExecuteIds(instanceId, jgChangeRegistrationReform, "startWorkfow", processTaskDTO); updateExecuteIds(instanceId, jgChangeRegistrationReform, "startWorkfow", processTaskDTO);
List<TaskModelDto> taskModelDtoList = Arrays.asList(getTaskModelDtoList(jgChangeRegistrationReform, processTaskDTO)); List<TaskModelDto> taskModelDtoList = Arrays.asList(getTaskModelDtoList(jgChangeRegistrationReform, processTaskDTO));
// commonServiceImpl.buildTaskModel(taskModelDtoList); commonServiceImpl.buildTaskModel(taskModelDtoList);
} }
...@@ -245,6 +239,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -245,6 +239,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
public void updateExecuteIds(String instanceId, JgChangeRegistrationReform jgChangeRegistrationReform, String operate, ProcessTaskDTO processTaskDTO) { public void updateExecuteIds(String instanceId, JgChangeRegistrationReform jgChangeRegistrationReform, String operate, ProcessTaskDTO processTaskDTO) {
Boolean updateTodoAndCreate = Boolean.TRUE;
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
WorkflowResultDto workflowResultDto = conveterProcessTaskDTO2WorkflowResultDto(processTaskDTO); WorkflowResultDto workflowResultDto = conveterProcessTaskDTO2WorkflowResultDto(processTaskDTO);
String nextTaskid = Optional.ofNullable(workflowResultDto.getNextTaskId()).orElse(""); String nextTaskid = Optional.ofNullable(workflowResultDto.getNextTaskId()).orElse("");
...@@ -257,6 +252,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -257,6 +252,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
role =Optional.ofNullable(workflowResultDto.getExecutorRoleIds()).orElse("")+","+Optional.ofNullable(workflowResultDto.getNextExecutorRoleIds()).orElse(""); role =Optional.ofNullable(workflowResultDto.getExecutorRoleIds()).orElse("")+","+Optional.ofNullable(workflowResultDto.getNextExecutorRoleIds()).orElse("");
operate = "0"; operate = "0";
instanceId =workflowResultDto.getInstanceId(); instanceId =workflowResultDto.getInstanceId();
updateTodoAndCreate = Boolean.FALSE;
} }
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) { if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgChangeRegistrationReform.setNextTaskId(nextTaskid); jgChangeRegistrationReform.setNextTaskId(nextTaskid);
...@@ -278,6 +274,24 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -278,6 +274,24 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); jgChangeRegistrationReform.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgChangeRegistrationReform.setPromoter(null); jgChangeRegistrationReform.setPromoter(null);
} }
if(updateTodoAndCreate) {
// 上个代办改为已办
HashMap<String, Object> map = new HashMap<>();
map.put("taskStatus", commonServiceImpl.getDictionaryCodeByName(jgChangeRegistrationReform.getStatus()));
map.put("taskStatusLabel", jgChangeRegistrationReform.getStatus());
map.put("relationId", jgChangeRegistrationReform.getInstanceId());
TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(map);
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
// 创建新的代办
taskModelDto.setModel(jgChangeRegistrationReform);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonServiceImpl.buildTaskModel(Collections.singletonList(taskModelDto));
}
} else { } else {
jgChangeRegistrationReform.setAuditPassDate(new Date()); jgChangeRegistrationReform.setAuditPassDate(new Date());
jgChangeRegistrationReform.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName()); jgChangeRegistrationReform.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
...@@ -286,6 +300,11 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -286,6 +300,11 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode()); String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode());
jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber); jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber);
updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(), newUseRegistrationCertificateNumber, jgChangeRegistrationReform.getApplyNo()); updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(), newUseRegistrationCertificateNumber, jgChangeRegistrationReform.getApplyNo());
HashMap<String, Object> map = new HashMap<>();
map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
map.put("relationId", jgChangeRegistrationReform.getInstanceId());
TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(map);
} }
this.getBaseMapper().updateById(jgChangeRegistrationReform); this.getBaseMapper().updateById(jgChangeRegistrationReform);
} }
...@@ -336,6 +355,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -336,6 +355,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId()); jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationReform.setNextExecutorIds(role); jgChangeRegistrationReform.setNextExecutorIds(role);
this.update(jgChangeRegistrationReform, lambda); this.update(jgChangeRegistrationReform, lambda);
// commonServiceImpl.deleteTaskModel(instanceId);
commonServiceImpl.rollbackTask(instanceId);
} }
public void deleteBatch(List<Long> ids) { public void deleteBatch(List<Long> ids) {
...@@ -594,7 +615,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -594,7 +615,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
*/ */
public String getSummaryInfo(JgChangeRegistrationReform jgChangeRegistrationReform) { public String getSummaryInfo(JgChangeRegistrationReform jgChangeRegistrationReform) {
String result = "来自%s【%s】的业务办理,【申请单号:%s】"; String result = "来自%s【%s】的业务办理,【申请单号:%s】";
return String.format("电梯", jgChangeRegistrationReform.getSupervisoryCode(), jgChangeRegistrationReform.getApplyNo()); return String.format(result,"电梯", jgChangeRegistrationReform.getSupervisoryCode(), jgChangeRegistrationReform.getApplyNo());
} }
public TaskModelDto getTaskModelDtoList(JgChangeRegistrationReform jgChangeRegistrationReform, ProcessTaskDTO processTaskDTO) { public TaskModelDto getTaskModelDtoList(JgChangeRegistrationReform jgChangeRegistrationReform, ProcessTaskDTO processTaskDTO) {
...@@ -605,7 +626,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -605,7 +626,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
//工作流创建时间 //工作流创建时间
taskModelDto.setFlowCreateDate(jgChangeRegistrationReform.getCreateDate()); taskModelDto.setFlowCreateDate(jgChangeRegistrationReform.getCreateDate());
//工作流返回节点名称 //工作流返回节点名称
taskModelDto.setTaskName(processTaskDTO.getNextTask().get(0).getName()); taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
//taskCode 使用申请单编号 //taskCode 使用申请单编号
taskModelDto.setTaskCode(jgChangeRegistrationReform.getApplyNo()); taskModelDto.setTaskCode(jgChangeRegistrationReform.getApplyNo());
//摘要 //摘要
...@@ -615,25 +636,27 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -615,25 +636,27 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
//任务类型 //任务类型
taskModelDto.setTaskType(BusinessTypeEnum.JG_RENOVATION_REGISTRATION.getCode()); taskModelDto.setTaskType(BusinessTypeEnum.JG_RENOVATION_REGISTRATION.getCode());
//任务类型名称 //任务类型名称
taskModelDto.setTaskType(BusinessTypeEnum.JG_RENOVATION_REGISTRATION.getName()); taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_RENOVATION_REGISTRATION.getName());
//工作流实例id //工作流实例id
taskModelDto.setRelationId(jgChangeRegistrationReform.getInstanceId()); taskModelDto.setRelationId(jgChangeRegistrationReform.getInstanceId());
//执行人id //执行人id
taskModelDto.setExecuteUserIds(workflowResultDto.getExecutorId()); taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
//任务状态code //任务状态code
// taskModelDto.setTaskStatus(); taskModelDto.setTaskStatus(commonServiceImpl.getDictionaryCodeByName(jgChangeRegistrationReform.getStatus()));
//任务状态名称 //任务状态名称
taskModelDto.setTaskStatusLabel(jgChangeRegistrationReform.getStatus()); taskModelDto.setTaskStatusLabel(jgChangeRegistrationReform.getStatus());
//任务创建人id //任务创建人id
taskModelDto.setStartUserId(jgChangeRegistrationReform.getCreateUserId()); taskModelDto.setStartUserId(jgChangeRegistrationReform.getCreateUserId());
//任务创建人名称 //任务创建人名称
taskModelDto.setStartUser(workflowResultDto.getStartUserName()); taskModelDto.setStartUser(jgChangeRegistrationReform.getCreateUserName());
//任务发起人所在单位 //任务发起人所在单位
// taskModelDto.setStartUserCompanyName(startUser.getCompanys().get(0).getCompanyName()); taskModelDto.setStartUserCompanyName(jgChangeRegistrationReform.getCreateUserCompanyName());
//任务发起人发起时间 //任务发起人发起时间
taskModelDto.setStartDate(new Date()); taskModelDto.setStartDate(new Date());
taskModelDto.setNextExecuteUser(jgChangeRegistrationReform.getNextExecutorIds());
//跳转路径 //跳转路径
// taskModelDto.setRoutePath(); // taskModelDto.setRoutePath();
taskModelDto.setModel(jgChangeRegistrationReform);
return taskModelDto; return taskModelDto;
} }
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.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.mapper.JgEquipTransferEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgEquipTransferService; import com.yeejoin.amos.boot.module.jg.api.service.IJgEquipTransferService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEquipTransferDto;
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.ymt.api.common.BaseException; import com.yeejoin.amos.boot.module.ymt.api.common.BaseException;
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.OtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.RegistrationInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.model.*;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -41,158 +38,187 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -41,158 +38,187 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream;
/** /**
* 设备移交服务实现类 * 设备移交服务实现类
* *
* @author system_generator * @author LiuLin
* @date 2023-12-20 * @date 2023-12-20
*/ */
@Slf4j @Slf4j
@Service @Service
public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, JgEquipTransfer, JgEquipTransferMapper> implements IJgEquipTransferService { public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, JgEquipTransfer, JgEquipTransferMapper> implements IJgEquipTransferService {
private static final String EQUIP_TRANSFER_PROCESS_KEY = "equipmentHandover"; private static final String EQUIP_TRANSFER_PROCESS_KEY = "equipmentHandover";
private static final String SUBMIT_TYPE_FLOW = "1"; private static final String SUBMIT_TYPE_FLOW = "1";
@Autowired @Autowired
JgEquipTransferEqMapper jgEquipTransferEqMapper; JgEquipTransferEqMapper jgEquipTransferEqMapper;
@Autowired @Autowired
OtherInfoMapper tzsJgOtherInfoMapper; OtherInfoMapper tzsJgOtherInfoMapper;
@Autowired @Autowired
RegistrationInfoMapper tzsJgRegistrationInfoMapper; RegistrationInfoMapper tzsJgRegistrationInfoMapper;
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired @Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
CmWorkflowServiceImpl workflowService;
@Autowired
CommonServiceImpl commonService;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
public void saveTransfer(String submitType, JSONObject jsonObjectMap, ReginParams reginParams) { public void saveTransfer(String submitType, JSONObject jsonObjectMap, ReginParams reginParams) {
String[] taskName = new String[]{"流程结束"}; JgEquipTransferDto model = JSON.parseObject(JSONObject.toJSONString(jsonObjectMap), JgEquipTransferDto.class);
JgEquipTransferDto model = BeanUtil.toBeanIgnoreError(jsonObjectMap.get("model"), JgEquipTransferDto.class);
// 字段转换
convertField(model); convertField(model);
// 获取告知设备列表
List<Map<String, Object>> deviceList = model.getDeviceList(); List<Map<String, Object>> deviceList = model.getDeviceList();
if (CollectionUtils.isEmpty(deviceList)) { if (CollectionUtils.isEmpty(deviceList)) {
return; return;
} }
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBYJ.getCode(), deviceList.size()); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBYJ.getCode(), deviceList.size());
if (!org.springframework.util.ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) { handleResponseModel(listResponseModel, "告知单获取失败: ");
log.error("告知单获取失败: {}", listResponseModel.getMessage());
throw new BadRequest("告知单生成失败!");
}
List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) {
log.error("告知单返回为空");
throw new BadRequest("告知单生成失败!");
}
List<String> applyNoList = listResponseModel.getResult();
handleApplyNoList(applyNoList);
ArrayList<String> roleListFirst = new ArrayList<>(); List<WorkflowResultDto> workflowResultList = workFlowInfo(submitType, deviceList);
ArrayList<String> roleListSecond = new ArrayList<>();
ArrayList<String> instanceIdList = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
for (int i = 0; i < deviceList.size(); i++
) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY);
dto.setBusinessKey(String.valueOf(i));
list.add(dto);
}
actWorkflowBatchDTO.setProcess(list);
try {
FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO);
List<Object> returnList = (List<Object>) result.getResult();
for (Object obj : returnList
) {
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj));
String instanceId = jsonObject.getString("id");
instanceIdList.add(instanceId);
// 查询下节点任务
if (returnList.get(0).equals(obj)) {
getNext(roleListFirst, instanceId, taskName);
}
// 推动下一个节点
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment("提交流程");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", "0");
dto.setVariable(map);
//执行流程
AjaxResult ajaxResult1;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) {
getNext(roleListSecond, instanceId, taskName);
} else {
log.error("提交失败");
}
} catch (Exception e) {
log.error("提交失败:{}", e.getMessage());
}
}
} catch (Exception e) {
log.error("提交失败:{}", e.getMessage());
}
}
List<JgEquipTransfer> list = new ArrayList<>(); List<JgEquipTransfer> list = new ArrayList<>();
List<JgEquipTransferEq> equipTransferEqList = new ArrayList<>(); List<JgEquipTransferEq> equipTransferEqList = new ArrayList<>();
deviceList.forEach(obj -> {
JgEquipTransferEq jgEquipTransferEq = new JgEquipTransferEq(); IntStream.range(0, deviceList.size()).forEach(i -> {
JgEquipTransfer dto = new JgEquipTransfer(); Map<String, Object> obj = deviceList.get(i);
BeanUtils.copyProperties(model, dto);
int i = deviceList.indexOf(obj);
String applyNo = applyNoList.get(i); String applyNo = applyNoList.get(i);
dto.setApplyNo(applyNo);
dto.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecuteIds(String.join(",", roleListSecond));
dto.setInstanceStatus(String.join(",", roleListFirst));
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setApplyStatus(taskName[0]);
}
jgEquipTransferEq.setEquId(String.valueOf(obj.get("SEQUENCE_NBR"))); JgEquipTransferEq jgEquipTransferEq = buildJgEquipTransferEq(obj, applyNo);
jgEquipTransferEq.setEquipTransferId(applyNo); JgEquipTransfer dto = buildJgEquipTransfer(model, applyNo, reginParams, submitType, workflowResultList, i);
if (!CollectionUtils.isEmpty(instanceIdList)) { dto.setCreateUserName(reginParams.getUserModel().getRealName());
dto.setInstanceId(instanceIdList.get(i)); dto.setCreateUserId(reginParams.getUserModel().getUserId());
dto.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); dto.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
} else {
dto.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
}
list.add(dto); list.add(dto);
equipTransferEqList.add(jgEquipTransferEq); equipTransferEqList.add(jgEquipTransferEq);
}); });
this.baseMapper.insertBatchSomeColumn(list); this.baseMapper.insertBatchSomeColumn(list);
List<JgEquipTransferEq> jgEquipTransferEqList = equipTransferEqList.stream().map(transferEq -> { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
List<JgEquipTransfer> collect = list.stream().filter(transfer -> transferEq.getEquipTransferId().equals(transfer.getApplyNo())).collect(Collectors.toList()); buildTask(list, workflowResultList);
Long sequenceNbr = collect.get(0).getSequenceNbr(); }
return transferEq.setEquipTransferId(String.valueOf(sequenceNbr));
}).collect(Collectors.toList()); List<JgEquipTransferEq> jgEquipTransferEqList = buildJgEquipTransferEqList(equipTransferEqList, list);
jgEquipTransferEqMapper.insertBatchSomeColumn(jgEquipTransferEqList); jgEquipTransferEqMapper.insertBatchSomeColumn(jgEquipTransferEqList);
} }
private JgEquipTransferEq buildJgEquipTransferEq(Map<String, Object> obj, String applyNo) {
JgEquipTransferEq jgEquipTransferEq = new JgEquipTransferEq();
jgEquipTransferEq.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgEquipTransferEq.setEquipTransferId(applyNo);
return jgEquipTransferEq;
}
private JgEquipTransfer buildJgEquipTransfer(JgEquipTransferDto model, String applyNo, ReginParams reginParams,
String submitType, List<WorkflowResultDto> workflowResultList, int i) {
JgEquipTransfer dto = new JgEquipTransfer();
BeanUtils.copyProperties(model, dto);
dto.setApplyNo(applyNo);
dto.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
WorkflowResultDto workflowResult = workflowResultList.get(i);
dto.setNextExecuteIds(workflowResult.getNextExecutorRoleIds());
dto.setInstanceStatus(workflowResult.getNextExecutorRoleIds() + "," + workflowResult.getExecutorRoleIds());
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setNextTaskId(workflowResult.getNextTaskId());
}
return dto;
}
private List<JgEquipTransferEq> buildJgEquipTransferEqList(List<JgEquipTransferEq> equipTransferEqList, List<JgEquipTransfer> list) {
return equipTransferEqList.stream()
.map(transferEq -> {
Long sequenceNbr = list.stream()
.filter(transfer -> transferEq.getEquipTransferId().equals(transfer.getApplyNo()))
.findFirst()
.map(JgEquipTransfer::getSequenceNbr)
.orElse(null);
return transferEq.setEquipTransferId(String.valueOf(sequenceNbr));
})
.collect(Collectors.toList());
}
private void handleResponseModel(ResponseModel<List<String>> listResponseModel, String errorMessagePrefix) {
if (listResponseModel == null || listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error(errorMessagePrefix + "{}", listResponseModel != null ? listResponseModel.getMessage() : "null");
throw new BadRequest("告知单生成失败!");
}
}
private void handleApplyNoList(List<String> applyNoList) {
if (CollectionUtils.isEmpty(applyNoList)) {
log.error("告知单返回为空");
throw new BadRequest("告知单生成失败!");
}
}
/**
* 插入代办
*/
private void buildTask(List<JgEquipTransfer> list, List<WorkflowResultDto> workflowResultList) {
if (CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(workflowResultList)) {
return;
}
WorkflowResultDto workflowResultDto = workflowResultList.get(0);
List<TaskModelDto> taskModelDtoList = list.stream().map(item -> buildTaskModelDto(item, workflowResultDto)).collect(Collectors.toList());
commonService.buildTaskModel(taskModelDtoList);
}
private TaskModelDto buildTaskModelDto(JgEquipTransfer item, WorkflowResultDto workflowResultDto) {
return TaskModelDto.builder()
.flowCreateDate(item.getCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(item.getApplyNo())
.taskType(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getCode())
.taskTypeLabel(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getName())
.relationId(item.getInstanceId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatus(commonService.getDictionaryCodeByName(item.getApplyStatus()))
.taskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.startUserId(item.getCreateUserId())
.startUser(item.getCreateUserName())
.startUserCompanyName(item.getCreateUserCompanyName())
.startDate(item.getCreateDate())
.model(item)
.nextExecuteUser(item.getNextExecuteIds())
.build();
}
private List<WorkflowResultDto> workFlowInfo(String submitType, List<Map<String, Object>> deviceList) {
if (!SUBMIT_TYPE_FLOW.equals(submitType)) {
return new ArrayList<>();
}
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = deviceList.stream()
.map(item -> {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY);
dto.setBusinessKey(item.get("SEQUENCE_NBR").toString());
dto.setCompleteFirstTask(Boolean.TRUE);
return dto;
})
.collect(Collectors.toList());
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
// 组装工作流返回的数据
return commonService.buildWorkFlowInfo(processTaskDTOS);
}
private void convertField(JgEquipTransferDto model) { private void convertField(JgEquipTransferDto model) {
if (null == model) if (null == model)
return; return;
...@@ -207,45 +233,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, ...@@ -207,45 +233,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
} }
} }
void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) {
AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data")));
if (!org.springframework.util.ObjectUtils.isEmpty(taskNoAuth)) {
String nextTaskId = taskNoAuth.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
taskName[0] = taskNoAuth.getString("name");
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleListFirst.add(((Map) datum).get("groupId").toString());
}
}
}
}
/**
* 启动工作流
*
* @param businessKey businessKey
* @return s
* @throws Exception e
*/
public String startFlow(String businessKey) throws Exception {
// 重新开启工作流
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY);
dto.setBusinessKey(StringUtils.defaultString(businessKey, "1"));
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
if (log.isDebugEnabled()) {
log.debug("开启工作流结果:{}", ajaxResult);
}
if (ajaxResult == null || (ajaxResult.get(AjaxResult.CODE_TAG) != null && !"200".equals(ajaxResult.get(AjaxResult.CODE_TAG).toString()))) {
throw new BaseException("开启工作流错误");
}
return ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
}
@Override @Override
public Page<JgEquipTransferDto> queryForJgEquipTransferPage(Page<JgEquipTransferDto> page, JgEquipTransferDto dto, String type, ReginParams reginParams) { public Page<JgEquipTransferDto> queryForJgEquipTransferPage(Page<JgEquipTransferDto> page, JgEquipTransferDto dto, String type, ReginParams reginParams) {
Page<JgEquipTransferDto> equipTransferPage = this.baseMapper.queryForPage(page, dto, type, reginParams.getCompany().getCompanyCode()); Page<JgEquipTransferDto> equipTransferPage = this.baseMapper.queryForPage(page, dto, type, reginParams.getCompany().getCompanyCode());
...@@ -303,130 +290,216 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, ...@@ -303,130 +290,216 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
} }
public void accept(JgEquipTransferDto jgEquipTransferDto, String op) { public void accept(JgEquipTransferDto jgEquipTransferDto, String op) {
String[] taskName = new String[]{"流程结束"};
String userId = RequestContext.getExeUserId(); String userId = RequestContext.getExeUserId();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgEquipTransfer jgEquipTransfer = this.baseMapper.selectById(jgEquipTransferDto.getSequenceNbr()); JgEquipTransfer jgEquipTransfer = this.baseMapper.selectById(jgEquipTransferDto.getSequenceNbr());
ProcessTaskDTO processTaskDTO;
WorkflowResultDto workflowResultDto;
TaskResultDTO workDto = new TaskResultDTO();
workDto.setResultCode("approvalStatus");
workDto.setTaskId(jgEquipTransfer.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (jgEquipTransfer.getApplyStatus().equals("6614") || jgEquipTransfer.getApplyStatus().equals("6615")) {
commMap.put("approvalStatus", "提交");
} else {
commMap.put("approvalStatus", op);
}
workDto.setVariable(commMap);
workDto.setComment(jgEquipTransferDto.getProcessAdvice());
processTaskDTO = cmWorkflowService.complete(jgEquipTransfer.getNextTaskId(), workDto);
// 提取节点等信息
workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
jgEquipTransfer.setPromoter(reginParams.getUserModel().getUserId());
TaskV2Model taskV2Model = new TaskV2Model();
jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice()); jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice());
JgEquipTransferEq jgEquipTransferEq = jgEquipTransferEqMapper.selectOne(Wrappers.<JgEquipTransferEq>lambdaQuery().select(JgEquipTransferEq::getEquId) JgEquipTransferEq jgEquipTransferEq = jgEquipTransferEqMapper.selectOne(Wrappers.<JgEquipTransferEq>lambdaQuery().select(JgEquipTransferEq::getEquId)
.eq(JgEquipTransferEq::getEquipTransferId, jgEquipTransferDto.getSequenceNbr())); .eq(JgEquipTransferEq::getEquipTransferId, jgEquipTransferDto.getSequenceNbr()));
ArrayList<String> roleList = new ArrayList<>(); if ("0".equals(op)) {
boolean submit = submit(jgEquipTransfer, op); if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
if (submit) { jgEquipTransfer.setPromoter("");
getNext(roleList, jgEquipTransferDto.getInstanceId(), taskName); if (jgEquipTransferEq != null){
jgEquipTransfer.setApplyStatus(taskName[0]); Map<String, Map<String, Object>> resultMap = MapBuilder.<String, Map<String, Object>>create()
if ("0".equals(op)) { .put(jgEquipTransferEq.getEquId(), MapBuilder.<String, Object>create()
if (roleList.isEmpty()) { .put("USC_UNIT_NAME", jgEquipTransfer.getInstallUnitName())
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())); .put("USC_UNIT_CREDIT_CODE", jgEquipTransfer.getInstallUnitName())
jgEquipTransfer.setPromoter(""); .build())
if (jgEquipTransferEq != null){ .build();
Map<String,Map<String,Object>> resultMap = new HashMap<>();
Map<String,Object> esParamMap =new HashMap<>(); tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
esParamMap.put("USC_UNIT_NAME", jgEquipTransfer.getInstallUnitName());
esParamMap.put("USC_UNIT_CREDIT_CODE", jgEquipTransfer.getInstallUnitName());
resultMap.put(jgEquipTransferEq.getEquId(),esParamMap);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
}
} else {
jgEquipTransfer.setNextExecuteIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(jgEquipTransfer.getInstanceStatus())) {
jgEquipTransfer.setInstanceStatus(jgEquipTransfer.getInstanceStatus() + "," + String.join(",", roleList));
} else {
jgEquipTransfer.setInstanceStatus(String.join(",", roleList));
}
jgEquipTransfer.setPromoter(userId);
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
} }
// 上个代办改为已办
taskV2Model = commonService.updateTaskModel(MapBuilder.<String, Object>create()
.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode())
.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName())
.put("relationId", jgEquipTransfer.getInstanceId())
.build());
} else { } else {
//驳回 jgEquipTransfer.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
jgEquipTransfer.setPromoter(""); if (!ObjectUtils.isEmpty(jgEquipTransfer.getInstanceStatus())) {
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode())); jgEquipTransfer.setInstanceStatus(jgEquipTransfer.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} } else {
updateById(jgEquipTransfer); jgEquipTransfer.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
} }
} jgEquipTransfer.setPromoter(userId);
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
// 上个代办改为已办
commonService.updateTaskModel(MapBuilder.<String, Object>create()
.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode())
.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName())
.put("relationId", jgEquipTransfer.getInstanceId())
.build());
// 创建新的代办
TaskModelDto taskModelDto = TaskModelDto.builder()
.flowCreateDate(taskV2Model.getFlowCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(taskV2Model.getTaskCode())
.taskType(taskV2Model.getTaskType())
.taskTypeLabel(taskV2Model.getTaskTypeLabel())
.relationId(taskV2Model.getRelationId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.taskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.startUserId(taskV2Model.getStartUserId())
.startUser(taskV2Model.getStartUser())
.startDate(taskV2Model.getStartDate())
.model(jgEquipTransfer)
.nextExecuteUser(workflowResultDto.getNextExecutorRoleIds())
.build();
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
public boolean submit(JgEquipTransfer transfer, String op) { }
AjaxResult ajaxResult = Workflow.taskClient.getTask(transfer.getInstanceId()); } else {
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data"))); //驳回
String taskId = dataObject.getString("id"); jgEquipTransfer.setPromoter("");
//组装信息 jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); // 上个代办改为已办
dto.setTaskId(taskId); commonService.updateTaskModel(MapBuilder.<String, Object>create()
dto.setComment("提交流程"); .put("taskStatus", commonService.getDictionaryCodeByName(jgEquipTransfer.getApplyStatus()))
HashMap<String, Object> map = new HashMap<>(); .put("taskStatusLabel", jgEquipTransfer.getApplyStatus())
map.put("approvalStatus", op); .put("relationId", jgEquipTransfer.getInstanceId())
dto.setVariable(map); .build());
//执行流程
AjaxResult ajaxResult1; TaskModelDto taskModelDto = new TaskModelDto();
try { BeanUtils.copyProperties(taskV2Model, taskModelDto);
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto); // 创建新的代办
return ajaxResult1.get("code").equals(200); taskModelDto.setModel(jgEquipTransfer);
} catch (Exception e) { taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
log.error("提交失败:{}", e.getMessage()); taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
return false; taskModelDto.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
} }
updateById(jgEquipTransfer);
} }
/**
* 撤回
* @param equipTransferInfo equipTransferInfo
*/
public void cancel(JgEquipTransferDto equipTransferInfo) { public void cancel(JgEquipTransferDto equipTransferInfo) {
FeignClientResult ajaxResult = Workflow.taskV2Client.rollBack(equipTransferInfo.getInstanceId());
JgEquipTransfer equipTransfer = this.baseMapper.selectById(equipTransferInfo.getSequenceNbr()); JgEquipTransfer equipTransfer = this.baseMapper.selectById(equipTransferInfo.getSequenceNbr());
if (ajaxResult.getStatus() == 200) { ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(equipTransferInfo.getInstanceId());
equipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
equipTransfer.setPromoter(""); WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
this.baseMapper.updateById(equipTransfer); equipTransfer.setPromoter("");
} equipTransfer.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
equipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode()));
this.baseMapper.updateById(equipTransfer);
commonService.deleteTaskModel(equipTransfer.getInstanceId());
commonService.rollbackTask(equipTransfer.getInstanceId());
} }
public JgEquipTransferDto updateEquipTransfer(String submitType, JgEquipTransferDto equipTransferDto, String op) { public JgEquipTransferDto updateEquipTransfer(String submitType, JgEquipTransferDto equipTransferDto, String op) {
if (Objects.isNull(equipTransferDto) || StringUtils.isEmpty(submitType)) if (Objects.isNull(equipTransferDto) || StringUtils.isEmpty(submitType))
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
String[] taskName = new String[]{"流程结束"};
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey( ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(
RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
// 字段转换 // 字段转换
this.convertField(equipTransferDto); this.convertField(equipTransferDto);
ArrayList<String> roleListFirst = new ArrayList<>(); equipTransferDto.setPromoter(reginParams.getUserModel().getUserId());
ArrayList<String> roleListSecond = new ArrayList<>(); JgEquipTransfer transfer = this.getById(equipTransferDto.getSequenceNbr());
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
AjaxResult ajaxResult;
// 发起流程
if (!org.springframework.util.StringUtils.hasText(equipTransferDto.getInstanceId())) { if (!org.springframework.util.StringUtils.hasText(equipTransferDto.getInstanceId())) {
// 发起流程
ProcessTaskDTO processTaskDTO;
WorkflowResultDto workflowResultDto;
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY); dto.setProcessDefinitionKey(EQUIP_TRANSFER_PROCESS_KEY);
dto.setBusinessKey("1"); dto.setBusinessKey(equipTransferDto.getSequenceNbr().toString());
try { dto.setCompleteFirstTask(Boolean.TRUE);
ajaxResult = Workflow.taskClient.startByVariable(dto); list.add(dto);
String instanceId = ((Map) ajaxResult.get("data")).get("id").toString(); actWorkflowBatchDTO.setProcess(list);
equipTransferDto.setInstanceId(instanceId); processTaskDTO = cmWorkflowService.startBatch(actWorkflowBatchDTO).get(0);
// 查询下节点任务 // 提取节点等信息
getNext(roleListFirst, instanceId, taskName); workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
equipTransferDto.setInstanceStatus(String.join(",", roleListFirst)); BeanUtils.copyProperties(equipTransferDto, transfer);
} catch (Exception e) { if (!ObjectUtils.isEmpty(transfer.getInstanceStatus())) {
log.error("提交失败:{}", e.getMessage()); transfer.setInstanceStatus(transfer.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
throw new RuntimeException(e); } else {
transfer.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
} }
} transfer.setPromoter(RequestContext.getExeUserId());
JgEquipTransfer transfer = new JgEquipTransfer(); transfer.setNextExecuteIds(String.join(",", workflowResultDto.getNextExecutorRoleIds()));
BeanUtils.copyProperties(equipTransferDto, transfer); transfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
updateById(transfer);
boolean submit = submit(transfer, op); // 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(transfer), Collections.singletonList(workflowResultDto));
if (submit) { }else {
// 查询下节点任务 ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
getNext(roleListSecond, transfer.getInstanceId(), taskName); WorkflowResultDto workflowResultDto = new WorkflowResultDto();
transfer.setApplyStatus(taskName[0]); TaskResultDTO dto = new TaskResultDTO();
if (!org.springframework.util.ObjectUtils.isEmpty(transfer.getInstanceStatus())) { dto.setResultCode("approvalStatus");
transfer.setInstanceStatus(transfer.getInstanceStatus() + "," + roleListSecond); dto.setTaskId(transfer.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (transfer.getApplyStatus().equals("6614") || transfer.getApplyStatus().equals("6615")) {
commMap.put("approvalStatus", "提交");
} else {
commMap.put("approvalStatus", op);
}
dto.setVariable(commMap);
processTaskDTO = cmWorkflowService.complete(transfer.getNextTaskId(), dto);
// 提取节点等信息
workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
BeanUtils.copyProperties(equipTransferDto, transfer);
if (!ObjectUtils.isEmpty(transfer.getInstanceStatus())) {
transfer.setInstanceStatus(transfer.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else { } else {
transfer.setInstanceStatus(String.join(",", roleListSecond)); transfer.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
} }
transfer.setPromoter(RequestContext.getExeUserId()); transfer.setPromoter(RequestContext.getExeUserId());
transfer.setNextExecuteIds(String.join(",", roleListSecond)); transfer.setNextExecuteIds(String.join(",", workflowResultDto.getNextExecutorRoleIds()));
transfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); transfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
updateById(transfer); updateById(transfer);
// 上个代办改为已办
HashMap<String, Object> map = new HashMap<>();
map.put("taskStatus", commonService.getDictionaryCodeByName(transfer.getApplyStatus()));
map.put("taskStatusLabel", transfer.getApplyStatus());
map.put("relationId", transfer.getInstanceId());
TaskV2Model taskV2Model = commonService.updateTaskModel(map);
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
// 创建新的代办
taskModelDto.setModel(transfer);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
} }
} else { } else {
JgEquipTransfer bean = new JgEquipTransfer(); JgEquipTransfer bean = new JgEquipTransfer();
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.MaintenanceEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService; import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService;
import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo;
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.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
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.component.feign.model.FeignClientResult; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -35,8 +37,10 @@ import org.springframework.http.HttpStatus; ...@@ -35,8 +37,10 @@ import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
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.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*; import java.util.*;
...@@ -54,37 +58,29 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -54,37 +58,29 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public static final String SUBMIT_DATA = "0"; public static final String SUBMIT_DATA = "0";
public static final String SUBMIT_TYPE_FLOW = "1"; public static final String SUBMIT_TYPE_FLOW = "1";
public static final String WB_PROCESS_DEFINITION_KEY = "maintenanceFiling"; public static final String WB_PROCESS_DEFINITION_KEY = "maintenanceFiling";
private static final String HANDLING_STATUS_DICTIONARY = "JGGZZZ";
private static final String USE = "使用";
@Autowired @Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired @Autowired
RestHighLevelClient restHighLevelClient; RestHighLevelClient restHighLevelClient;
@Autowired @Autowired
WorkFlowFeignService workFlowFeginService;
@Autowired
private JgMaintenanceContractMapper maintenanceContractMapper; private JgMaintenanceContractMapper maintenanceContractMapper;
@Autowired @Autowired
private JgMaintenanceContractEqMapper maintenanceContractEqMapper; private JgMaintenanceContractEqMapper maintenanceContractEqMapper;
@Autowired @Autowired
private JgMaintenanceContractEqServiceImpl jgMaintenanceContractEqService; private JgMaintenanceContractEqServiceImpl jgMaintenanceContractEqService;
@Autowired @Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired
ICmWorkflowService workflowService;
@Autowired
CommonServiceImpl commonService;
/** /**
* 分页查询 * 分页查询
*/ */
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase,
int phase, Map<String, Object> map, ReginParams reginParams) {
// JgMaintenanceContractDto dto,
Map<String,Object> map,
ReginParams reginParams) {
// JgMaintenanceContractDto dto = new JgMaintenanceContractDto();
// JgMaintenanceContractDto dto = (JgMaintenanceContractDto)map;
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class); JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class);
Page<JgMaintenanceContractDto> contractList = new Page<>(); Page<JgMaintenanceContractDto> contractList = new Page<>();
...@@ -117,7 +113,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -117,7 +113,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
BeanUtils.copyProperties(dto, vo); BeanUtils.copyProperties(dto, vo);
vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract())); vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract()));
List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr); List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr);
if (!ObjectUtils.isEmpty(list)){ if (!ObjectUtils.isEmpty(list)) {
vo.setEquipmentLists(list); vo.setEquipmentLists(list);
} }
return vo; return vo;
...@@ -136,9 +132,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -136,9 +132,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update) { public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update) {
try { try {
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectById(id); JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectById(id);
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId); String taskId = jgMaintenanceContract.getNextTaskId();
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息 //组装信息
TaskResultDTO dto = new TaskResultDTO(); TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
...@@ -150,55 +144,30 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -150,55 +144,30 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
map.put("approvalStatus", "提交"); map.put("approvalStatus", "提交");
} }
dto.setVariable(map); dto.setVariable(map);
//执行流程 ProcessTaskDTO complete = workflowService.complete(taskId, dto);
Workflow.taskClient.completeByTask(taskId, dto); List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(complete));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
createTaskModel(jgMaintenanceContract, complete.getNextTask().get(0).getName(), operate, nextUserIds);
// 更新下一步执行人
updateExecuteIds(complete, id, operate);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
} }
public void updateStatus(Long id , String taskName, String role, Boolean rollBack) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
lambda.eq(JgMaintenanceContract::getSequenceNbr, id);
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectOne(lambda);
if ("流程结束".equals(taskName)) {
jgMaintenanceContract.setStatus(taskName);
jgMaintenanceContract.setApplyStatus("已完成");
} else {
jgMaintenanceContract.setNextExecuteIds(role);
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) {
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role);
} else {
jgMaintenanceContract.setInstanceStatus(role);
}
UseStatusEnum message = UseStatusEnum.getMessage(taskName);
jgMaintenanceContract.setStatus(message.getPass());
}
if (rollBack){
this.getBaseMapper().update(jgMaintenanceContract, lambda);
this.getBaseMapper().updatePromoter(jgMaintenanceContract.getSequenceNbr());
}else {
this.getBaseMapper().update(jgMaintenanceContract, lambda);
}
}
/** /**
* 批量删除 * 批量删除
*/ */
@Transactional @Transactional
public Boolean deleteForBatch(Long[] ids) { public Boolean deleteForBatch(Long[] ids) {
List<Long> list = Arrays.asList(ids); List<Long> list = Arrays.asList(ids);
list.forEach(x->{ list.forEach(x -> {
QueryWrapper<JgMaintenanceContract> wrapper = new QueryWrapper<>(); QueryWrapper<JgMaintenanceContract> wrapper = new QueryWrapper<>();
wrapper.eq("sequence_nbr", x); wrapper.eq("sequence_nbr", x);
JgMaintenanceContract jgMaintenanceContract = maintenanceContractMapper.selectOne(wrapper); JgMaintenanceContract jgMaintenanceContract = maintenanceContractMapper.selectOne(wrapper);
LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>() LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquipTransferId,jgMaintenanceContract.getApplyNo()) .eq(JgMaintenanceContractEq::getEquipTransferId, jgMaintenanceContract.getApplyNo())
.eq(JgMaintenanceContractEq::getIsDelete, false); .eq(JgMaintenanceContractEq::getIsDelete, false);
List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream() List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream()
.map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList()); .map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList());
...@@ -208,151 +177,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -208,151 +177,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return true; return true;
} }
public String startByVariable() {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
} catch (Exception e) {
e.printStackTrace();
}
return instanceId;
}
/**
* 维保合同提交
*/
@Transactional
public Boolean submit(JgMaintenanceContractDto dto,String comment,String operate) {
String instanceId = "";
try {
AjaxResult ajaxResult;
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO();
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1");
ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId);
// 执行一步
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
taskResultDTO.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
} catch (Exception e) {
e.printStackTrace();
}
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setInstanceId(instanceId);
dto.setReceiveOrgCode(null);
return this.updateBySequenceNbr(dto);
}
@Transactional
public Boolean approval(JgMaintenanceContractDto dto,String comment,String operate) {
String instanceId = dto.getInstanceId();
try {
AjaxResult ajaxResult;
ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
taskResultDTO.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
} catch (Exception e) {
e.printStackTrace();
}
// if("tongguo"){
// if("weibao"){
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }else {
// if("weibao"){
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }
if ("1".equals(operate)){
}
//审批通过
if ("0".equals(operate)){
}
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setInstanceId(instanceId);
dto.setReceiveOrgCode(null);
return this.updateBySequenceNbr(dto);
}
/** /**
* 维保合同撤回 * 维保合同撤回
*/ */
@Transactional
public void revocation(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = "";
JgMaintenanceContract jgMaintenanceContract = new JgMaintenanceContract();
LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
lambda.eq(JgMaintenanceContract::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")));
taskCode = nextTask.getString("name");
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!ObjectUtils.isEmpty(taskCode)) {
jgMaintenanceContract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack()); public void revocation(String instanceId) {
// 执行流程
JgMaintenanceContract contract = new JgMaintenanceContract();
QueryWrapper<JgMaintenanceContract> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(JgMaintenanceContract::getInstanceId, instanceId);
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
ProcessTaskDTO processTaskDTO = workflowService.rollBack(instanceId);
String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
// 待调整
String taskCode = processTaskDTO.getNextTask().get(0).getKey();
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
contract.setApplyStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
} }
String join = String.join(",", roleList); contract.setPromoter(RequestContext.getExeUserId());
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId()); contract.setNextExecuteIds(String.join(",", roleListNext));
jgMaintenanceContract.setNextExecuteIds(join); contract.setNextTaskId(nextTaskId);
this.update(jgMaintenanceContract, lambda); this.update(contract, queryWrapper);
// 删除待办
commonService.deleteTaskModel(contract.getInstanceId());
commonService.rollbackTask(contract.getInstanceId());
} }
/** /**
...@@ -360,12 +210,13 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -360,12 +210,13 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) { public Boolean saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class); JgMaintenanceContractDto contractDto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
JgMaintenanceContract contract = new JgMaintenanceContract(); // JgMaintenanceContract contract = new JgMaintenanceContract();
BeanUtils.copyProperties(dto, contract); // BeanUtils.copyProperties(contractDto, contract);
contract.setCreateDate(new Date()); contractDto.setCreateDate(new Date());
contractDto.setPromoter(reginParams.getUserModel().getUserId());
//获取维保备案编号 //获取维保备案编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) { if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
...@@ -373,36 +224,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -373,36 +224,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return false; return false;
} }
String wbApplyNo = listResponseModel.getResult().get(0); String wbApplyNo = listResponseModel.getResult().get(0);
contract.setApplyNo(wbApplyNo); contractDto.setApplyNo(wbApplyNo);
contract.setUseUnitCode(company.getCompanyCode()); contractDto.setUseUnitCode(company.getCompanyCode());
contract.setUseUnitName(company.getCompanyName()); contractDto.setUseUnitName(company.getCompanyName());
//管理员信息 //管理员信息
String[] MaintenanceManager = dto.getMaintenanceManagerId().split("_"); String[] MaintenanceManager = contractDto.getMaintenanceManagerId().split("_");
contract.setMaintenanceManagerId(MaintenanceManager[0]); contractDto.setMaintenanceManagerId(MaintenanceManager[0]);
contract.setMaintenanceManagerName(MaintenanceManager[1]); contractDto.setMaintenanceManagerName(MaintenanceManager[1]);
//接收机构信息 //接收机构信息
String[] splitReceiveOrgCode = dto.getReceiveOrgCode().split("_"); String[] splitReceiveOrgCode = contractDto.getReceiveOrgCode().split("_");
contract.setReceiveOrgCode(splitReceiveOrgCode[0]); contractDto.setReceiveOrgCode(splitReceiveOrgCode[0]);
contract.setReceiveOrgName(splitReceiveOrgCode[1]); contractDto.setReceiveOrgName(splitReceiveOrgCode[1]);
//维保单位信息 //维保单位信息
String[] splitMaintenanceUnitCode = dto.getMaintenanceUnitCode().split("_"); String[] splitMaintenanceUnitCode = contractDto.getMaintenanceUnitCode().split("_");
contract.setMaintenanceUnitCode(splitMaintenanceUnitCode[0]); contractDto.setMaintenanceUnitCode(splitMaintenanceUnitCode[0]);
contract.setMaintenanceUnitName(splitMaintenanceUnitCode[1]); contractDto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]);
contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
contract.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName()); contractDto.setEquNum(equipmentLists.size());
contract.setEquNum(equipmentLists.size()); JgMaintenanceContract contract = getById(contractDto.getSequenceNbr());
BeanUtils.copyProperties(contractDto, contract);
// 新增编辑 if (!"add".equals(String.valueOf(map.get("pageType")))) {
if ("add".equals(String.valueOf(map.get("pageType")))) { //编辑
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
this.save(contract);
} else {
this.getBaseMapper().updateById(contract); this.getBaseMapper().updateById(contract);
LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda(); LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda();
lambda.eq(JgMaintenanceContractEq::getEquipTransferId, contract.getSequenceNbr()); lambda.eq(JgMaintenanceContractEq::getEquipTransferId, contract.getSequenceNbr());
jgMaintenanceContractEqService.getBaseMapper().delete(lambda); jgMaintenanceContractEqService.getBaseMapper().delete(lambda);
} }
//关联设备信息 //关联设备信息
List<JgMaintenanceContractEq> equipList = new ArrayList<>(); List<JgMaintenanceContractEq> equipList = new ArrayList<>();
equipmentLists.forEach(x -> { equipmentLists.forEach(x -> {
...@@ -413,162 +260,198 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -413,162 +260,198 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
}); });
// 保存维保关联设备信息 // 保存维保关联设备信息
jgMaintenanceContractEqService.saveBatch(equipList); jgMaintenanceContractEqService.saveBatch(equipList);
// 判断当前是否为提交
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submit)) { if (SUBMIT_TYPE_FLOW.equals(submit)) {
String instanceId = null; if (!StringUtils.isEmpty(contract.getInstanceId())) {
// 提交启动流程 // 发起流程
if (map.containsKey("instanceId") && !ObjectUtils.isEmpty(map.get("instanceId"))) { try {
instanceId = String.valueOf(map.get("instanceId")); List<ProcessTaskDTO> processTasks = new ArrayList<>();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
dto.setBusinessKey(contract.getApplyNo());
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
processTasks = workflowService.startBatch(actWorkflowBatchDTO);
String instanceId = processTasks.get(0).getProcessInstance().getId();
String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
String taskName = processTasks.get(0).getNextTask().get(0).getName();
this.buildRoleList(processTasks, roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(processTasks);
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
contract.setInstanceStatus(String.join(",", roleListAll));
contract.setInstanceId(instanceId);
contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setNextTaskId(nextTaskId);
// 创建待办
JgMaintenanceContract bean = new JgMaintenanceContract();
BeanUtil.copyProperties(contract, bean);
createTaskModel(bean, taskName, "1", nextUserIds);
} catch (Exception e) {
log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage());
}
} else { } else {
instanceId = startByVariable(); // 执行一步
} ProcessTaskDTO processTaskDTO = this.submit("0", contract.getNextTaskId());
if (!ObjectUtils.isEmpty(instanceId)) { String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
// 修改数据信息 String taskName = processTaskDTO.getNextTask().get(0).getName();
updateExecuteIds(instanceId, contract.getSequenceNbr(), "0"); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
// 默认执行流程 List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
flowExecute(contract.getSequenceNbr(), instanceId, "0", "", false); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
// 查询下节点任务
if (!ObjectUtils.isEmpty(contract.getInstanceStatus())) {
contract.setInstanceStatus(contract.getInstanceStatus() + "," + String.join("", roleListNext));
} else {
contract.setInstanceStatus(String.join(",", roleListAll));
}
contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setNextTaskId(nextTaskId);
executeOneStep(contract, taskName, nextUserIds);
} }
updateById(contract);
} else {
// 新增
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
this.save(contract);
} }
return true; return true;
} }
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate){ public ProcessTaskDTO submit(String op, String taskId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); //组装信息
String role = ""; TaskResultDTO dto = new TaskResultDTO();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); dto.setResultCode("approvalStatus");
ArrayList<String> roleList = new ArrayList<>(); dto.setTaskId(taskId);
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectById(sequenceNbr); dto.setComment("提交流程");
try { HashMap<String, Object> map = new HashMap<>();
// 查询下节点任务 map.put("approvalStatus", op);
dto.setVariable(map);
return workflowService.complete(taskId, dto);
}
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); private void buildRoleList(List<ProcessTaskDTO> processTasks, List<String> roleListNext, List<String> roleListAll) {
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) { processTasks.forEach(p -> {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data"))); p.getNextCandidateGroups().values().forEach(e -> {
String nextTaskId = nextTask.getString("id"); roleListNext.addAll(e);
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(nextTaskId); roleListAll.addAll(e);
JSONObject result = nodeInfo.getResult(); });
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo"); roleListAll.addAll(p.getCandidateGroups());
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey")); });
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId); }
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) { public void updateExecuteIds(ProcessTaskDTO processTaskDTO, Long sequenceNbr, String operate) {
if (((Map) datum).containsKey("groupId")) { List<String> roleListNext = new ArrayList<>();
roleList.add(((Map) datum).get("groupId").toString()); List<String> roleListAll = new ArrayList<>();
} String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
} String taskName = "";
} String nextTaskId = "";
} catch (Exception e) { JgMaintenanceContract contract = this.getBaseMapper().selectById(sequenceNbr);
e.printStackTrace(); if (processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() > 0) {
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName = processTaskDTO.getNextTask().get(0).getName();
nextTaskId = processTaskDTO.getNextTask().get(0).getId();
} }
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)){ if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
role= String.join(",", roleList); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
jgMaintenanceContract.setNextExecuteIds(role); List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId()); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
jgMaintenanceContract.setInstanceId(instanceId); contract.setNextExecuteIds(String.join(",", roleListNext));
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) { contract.setPromoter(RequestContext.getExeUserId());
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role); contract.setInstanceId(processTaskDTO.getProcessInstance().getId());
contract.setNextTaskId(nextTaskId);
if (!ObjectUtils.isEmpty(contract.getInstanceStatus())) {
contract.setInstanceStatus(contract.getInstanceStatus() + "," + String.join(",", roleListNext));
} else { } else {
jgMaintenanceContract.setInstanceStatus(role); contract.setInstanceStatus(String.join(",", roleListNext));
} }
if ("0".equals(operate)){ if ("0".equals(operate)) {
// 通过操作 // 通过操作
jgMaintenanceContract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass()); contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
}else { } else {
// 驳回操作 // 驳回操作
jgMaintenanceContract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgMaintenanceContract.setPromoter(null); contract.setPromoter(null);
} }
executeOneStep(contract, taskName, nextUserIds);
}else { } else {
jgMaintenanceContract.setApplyDate(new Date()); contract.setApplyDate(new Date());
jgMaintenanceContract.setStatus(taskCode); contract.setStatus(taskCode);
updateTaskModel(contract);
} }
this.getBaseMapper().updateById(jgMaintenanceContract); this.getBaseMapper().updateById(contract);
}
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract);
// 再插入新代办、数据待定
taskV2Model.setTaskName(taskName);
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setTaskStatus(this.getTaskStatusByName(contract.getApplyStatus()));
taskV2Model.setTaskStatusLabel(contract.getApplyStatus());
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(contract.getNextExecuteIds());
modelDto.setModel(contract);
commonService.buildTaskModel(Collections.singletonList(modelDto));
} }
private void extracted(String instanceId, ArrayList<String> roleList, JgMaintenanceContract contract) {
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); private TaskV2Model updateTaskModel(JgMaintenanceContract contract) {
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) { Map<String, Object> params = new HashMap<>();
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data"))); params.put("relationId", contract.getInstanceId());
String nextTaskId = nextTask.getString("id"); params.put("taskStatus", this.getTaskStatusByName(contract.getApplyStatus()));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId); params.put("taskStatusLabel", contract.getApplyStatus());
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data"))); return commonService.updateTaskModel(params);
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
contract.setInstanceStatus(String.join(",", roleList));
} }
/** private Integer getTaskStatusByName(String auditStatus) {
* 更新维保合同和设备对应关系 return commonService.getDictionaryCodeByName(auditStatus);
*/ }
@Transactional
public Boolean updateMaintenanceAndEquipment(String submit,JgMaintenanceContractDto dto, List<Map<String, Object>> list) {
String instanceId = null;
//更新维保合同表 private void createTaskModel(JgMaintenanceContract dto, String taskName, String submitType, String nextUserIds) {
String[] MaintenanceManager = dto.getMaintenanceManagerId().split("_"); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
dto.setMaintenanceManagerId(dto.getMaintenanceManagerId()); if ("1".equals(submitType)) {
dto.setMaintenanceManagerName(MaintenanceManager[1]); TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setFlowCreateDate(dto.getApplyDate());
taskModelDto.setTaskName(taskName);
taskModelDto.setTaskCode(dto.getApplyNo());
taskModelDto.setTaskContent(this.buildTaskContent(dto));
taskModelDto.setTaskDesc("");
taskModelDto.setTaskType(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getName());
taskModelDto.setRelationId(dto.getInstanceId());
taskModelDto.setExecuteUserIds(nextUserIds);
taskModelDto.setTaskStatus(this.getTaskCodeByName(dto.getApplyStatus()));
taskModelDto.setTaskStatusLabel(dto.getApplyStatus());
taskModelDto.setStartUserId(dto.getCreateUserId());
taskModelDto.setStartUser(reginParams.getUserModel().getRealName());
taskModelDto.setStartUserCompanyName(dto.getUseUnitName());
taskModelDto.setNextExecuteUser(dto.getNextExecuteIds());
taskModelDto.setStartDate(dto.getCreateDate());
taskModelDto.setModel(dto);
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
}
String[] splitReceiveOrgCode = dto.getReceiveOrgCode().split("_"); private Integer getTaskCodeByName(String auditStatus) {
dto.setReceiveOrgCode(splitReceiveOrgCode[0]); return commonService.getDictionaryCodeByName(auditStatus);
dto.setReceiveOrgName(splitReceiveOrgCode[1]); }
String[] splitMaintenanceUnitCode = dto.getMaintenanceUnitCode().split("_"); /**
dto.setMaintenanceUnitCode(dto.getMaintenanceUnitCode()); * 摘要构建
dto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]); *
// 判断当前是否为提交 * @param dto 业务
if (SUBMIT_TYPE_FLOW.equals(submit)) { * @return 摘要
// 发起流程 */
try { private String buildTaskContent(JgMaintenanceContract dto) {
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO(); return "申请单号:" + dto.getApplyNo() + "的业务办理";
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId);
// 执行一步
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment("提交流程");
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("approvalStatus", "0");
taskResultDTO.setVariable(hashMap);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
// dto.setApplyFlow(MaintenanceEnum.SHIYONG.getMsg()+","+MaintenanceEnum.WEIBAO.getMsg());
dto.setInstanceId(instanceId);
} catch (Exception e) {
log.error("维保使用单位提交流程启动失败:{}", e);
}
}
this.updateBySequenceNbr(dto);
//更新对应设备表
if (!list.isEmpty()) {
//先删除原先设备对应关系
LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquId,list.get(0).get("SEQUENCE_NBR"))
.eq(JgMaintenanceContractEq::getIsDelete, false);
List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream()
.map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList());
jgMaintenanceContractEqService.deleteBatchSeq(listSeq);
//重新生成关系表
List<JgMaintenanceContractEq> equipList = new ArrayList<>();
list.forEach(x -> {
JgMaintenanceContractEq equip = new JgMaintenanceContractEq();
equip.setEquId(String.valueOf(x.get("SEQUENCE_NBR")));
equip.setEquipTransferId(dto.getApplyNo());
equipList.add(equip);
});
return jgMaintenanceContractEqService.saveBatch(equipList);
}
return true;
} }
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -365,7 +366,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -365,7 +366,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveNotice(String submitType, Map<String, Object> jgTransferNoticeDtoMap, ReginParams reginParams) { public void saveNotice(String submitType, Map<String, Object> jgTransferNoticeDtoMap, ReginParams reginParams) {
JgTransferNoticeDto model = JSON.parseObject(jgTransferNoticeDtoMap.get(TABLE_PAGE_ID).toString(), JgTransferNoticeDto.class); JgTransferNoticeDto model = JSON.parseObject(JSONObject.toJSONString(jgTransferNoticeDtoMap.get(TABLE_PAGE_ID)), JgTransferNoticeDto.class);
// 字段转换 // 字段转换
convertField(model); convertField(model);
// 获取告知设备列表 // 获取告知设备列表
...@@ -379,8 +380,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -379,8 +380,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
return; return;
} }
// 判断当前是否为提交
List<String> instanceIdList = new ArrayList<>();
// 启动工作流并返回信息 // 启动工作流并返回信息
List<WorkflowResultDto> workflowResultList = workFlowInfo(submitType, deviceList); List<WorkflowResultDto> workflowResultList = workFlowInfo(submitType, deviceList);
...@@ -406,12 +406,14 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -406,12 +406,14 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
dto.setInstallUnitCreditCode(reginParams.getCompany().getCompanyCode()); dto.setInstallUnitCreditCode(reginParams.getCompany().getCompanyCode());
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR"))); jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgRelationEquip.setEquipTransferId(applyNo); jgRelationEquip.setEquipTransferId(applyNo);
if (!CollectionUtils.isEmpty(instanceIdList)) { if (!CollectionUtils.isEmpty(workflowResultList)) {
dto.setInstanceId(instanceIdList.get(i)); dto.setInstanceId(workflowResultList.get(i).getInstanceId());
dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
} else { } else {
dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode())); dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
} }
dto.setCreateUserName(reginParams.getUserModel().getRealName());
dto.setCreateUserId(reginParams.getUserModel().getUserId());
list.add(dto); list.add(dto);
equipList.add(jgRelationEquip); equipList.add(jgRelationEquip);
}); });
...@@ -443,12 +445,12 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -443,12 +445,12 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
taskModelDto.setFlowCreateDate(item.getCreateDate()); taskModelDto.setFlowCreateDate(item.getCreateDate());
taskModelDto.setTaskName(workflowResultDto.getNextTaskName()); // 工作流API返回 taskModelDto.setTaskName(workflowResultDto.getNextTaskName()); // 工作流API返回
taskModelDto.setTaskCode(item.getApplyNo()); taskModelDto.setTaskCode(item.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getCode()); taskModelDto.setTaskType(BusinessTypeEnum.JG_ADVICE_REMOVAL.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName()); taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_ADVICE_REMOVAL.getName());
taskModelDto.setRelationId(item.getInstanceId()); taskModelDto.setRelationId(item.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); // 工作流API返回 taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); // 工作流API返回
taskModelDto.setTaskStatus(commonService.getDictionaryCodeByName(item.getNoticeStatus())); // 流程状态枚举 taskModelDto.setTaskStatus(commonService.getDictionaryCodeByName(FlowStatusEnum.TO_BE_PROCESSED.getName())); // 流程状态枚举
taskModelDto.setTaskStatusLabel(item.getNoticeStatus()); taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setStartUserId(item.getCreateUserId()); taskModelDto.setStartUserId(item.getCreateUserId());
taskModelDto.setStartUser(item.getCreateUserName()); taskModelDto.setStartUser(item.getCreateUserName());
taskModelDto.setStartUserCompanyName(item.getCreateUserCompanyName()); // 任务发起人所在单位 taskModelDto.setStartUserCompanyName(item.getCreateUserCompanyName()); // 任务发起人所在单位
...@@ -472,7 +474,9 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -472,7 +474,9 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
list.add(dto); list.add(dto);
}); });
actWorkflowBatchDTO.setProcess(list); actWorkflowBatchDTO.setProcess(list);
System.out.println("============== " + DateUtil.now());
List<ProcessTaskDTO> processTaskDTOS = iCmWorkflowService.startBatch(actWorkflowBatchDTO); List<ProcessTaskDTO> processTaskDTOS = iCmWorkflowService.startBatch(actWorkflowBatchDTO);
System.out.println("============== " + DateUtil.now());
// 组装工作流返回的数据 // 组装工作流返回的数据
return commonService.buildWorkFlowInfo(processTaskDTOS); return commonService.buildWorkFlowInfo(processTaskDTOS);
} }
...@@ -565,7 +569,6 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -565,7 +569,6 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
jgInstallationNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); jgInstallationNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
jgInstallationNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode())); jgInstallationNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode()));
jgTransferNoticeMapper.updateById(jgInstallationNotice); jgTransferNoticeMapper.updateById(jgInstallationNotice);
commonService.deleteTaskModel(jgInstallationNotice.getInstanceId());
commonService.rollbackTask(jgInstallationNotice.getInstanceId()); commonService.rollbackTask(jgInstallationNotice.getInstanceId());
} }
...@@ -598,6 +601,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -598,6 +601,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
commMap.put("approvalStatus", op); commMap.put("approvalStatus", op);
} }
workDto.setVariable(commMap); workDto.setVariable(commMap);
workDto.setComment(opinion);
processTaskDTO = iCmWorkflowService.complete(jgTransferNotice.getNextTaskId(), workDto); processTaskDTO = iCmWorkflowService.complete(jgTransferNotice.getNextTaskId(), workDto);
// 提取节点等信息 // 提取节点等信息
workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0); workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
...@@ -623,8 +627,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -623,8 +627,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
this.generateTransferNoticeReport(jgTransferNotice.getSequenceNbr()); this.generateTransferNoticeReport(jgTransferNotice.getSequenceNbr());
// 上个代办改为已办 // 上个代办改为已办
HashMap<String, Object> taskMap = new HashMap<>(); HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", commonService.getDictionaryCodeByName(jgTransferNotice.getNoticeStatus())); taskMap.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("taskStatusLabel", jgTransferNotice.getNoticeStatus()); taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("relationId", jgTransferNotice.getInstanceId()); taskMap.put("relationId", jgTransferNotice.getInstanceId());
taskV2Model = commonService.updateTaskModel(taskMap); taskV2Model = commonService.updateTaskModel(taskMap);
} else { } else {
...@@ -637,8 +641,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -637,8 +641,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
jgTransferNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); jgTransferNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
// 上个代办改为已办 // 上个代办改为已办
HashMap<String, Object> taskMap = new HashMap<>(); HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", commonService.getDictionaryCodeByName(jgTransferNotice.getNoticeStatus())); taskMap.put("taskStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskMap.put("taskStatusLabel", jgTransferNotice.getNoticeStatus()); taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
taskMap.put("relationId", jgTransferNotice.getInstanceId()); taskMap.put("relationId", jgTransferNotice.getInstanceId());
taskV2Model = commonService.updateTaskModel(taskMap); taskV2Model = commonService.updateTaskModel(taskMap);
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
...@@ -657,8 +661,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto ...@@ -657,8 +661,8 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
jgTransferNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode())); jgTransferNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
// 上个代办改为已办 // 上个代办改为已办
HashMap<String, Object> taskMap = new HashMap<>(); HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", commonService.getDictionaryCodeByName(jgTransferNotice.getNoticeStatus())); taskMap.put("taskStatus", jgTransferNotice.getNoticeStatus());
taskMap.put("taskStatusLabel", jgTransferNotice.getNoticeStatus()); taskMap.put("taskStatusLabel", FlowStatusEnum.REJECTED.getName());
taskMap.put("relationId", jgTransferNotice.getInstanceId()); taskMap.put("relationId", jgTransferNotice.getInstanceId());
taskV2Model = commonService.updateTaskModel(taskMap); taskV2Model = commonService.updateTaskModel(taskMap);
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
......
...@@ -11,9 +11,12 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -11,9 +11,12 @@ 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.JgUseRegistrationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory; import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper;
...@@ -36,15 +39,15 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.InspectionDetectionInfoMapper ...@@ -36,15 +39,15 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.InspectionDetectionInfoMapper
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.UseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.UseInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.*;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StopWatch;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
...@@ -90,6 +93,10 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -90,6 +93,10 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService; private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired @Autowired
ICommonService commonService; ICommonService commonService;
@Autowired
CommonServiceImpl commonServiceImpl;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
public Page<Map<String, Object>> getList(JgUseRegistrationDto dto, Page<Map<String, Object>> page, List<String> roleIds) { public Page<Map<String, Object>> getList(JgUseRegistrationDto dto, Page<Map<String, Object>> page, List<String> roleIds) {
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds); Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds);
...@@ -100,7 +107,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -100,7 +107,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return this.baseMapper.getEquipListPage(page, factoryNum, equList, equCategory); return this.baseMapper.getEquipListPage(page, factoryNum, equList, equCategory);
} }
public void updateEquipMessage(String currentDocumentId, String useOrgCode){ public void updateEquipMessage(String currentDocumentId, String useOrgCode) {
LambdaQueryWrapper<JgRegistrationHistory> lambdaSelect = new QueryWrapper<JgRegistrationHistory>().lambda(); LambdaQueryWrapper<JgRegistrationHistory> lambdaSelect = new QueryWrapper<JgRegistrationHistory>().lambda();
lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId); lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect); JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect);
...@@ -122,17 +129,17 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -122,17 +129,17 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(String.valueOf(map.get("equipId")), useOrgCode); idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(String.valueOf(map.get("equipId")), useOrgCode);
} }
public void updateHistory(JSONObject map, String equipId, String currentDocumentId, String supervisoryCode){ public void updateHistory(JSONObject map, String equipId, String currentDocumentId, String supervisoryCode) {
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory(); JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda(); LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getEquId, equipId); lambda.eq(JgRegistrationHistory::getEquId, equipId);
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId); lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
lambda.eq(JgRegistrationHistory::getRegistrationClass, "使用登记"); lambda.eq(JgRegistrationHistory::getRegistrationClass, "使用登记");
Integer integer = jgRegistrationHistoryService.getBaseMapper().selectCount(lambda); Integer integer = jgRegistrationHistoryService.getBaseMapper().selectCount(lambda);
if (integer > 0){ if (integer > 0) {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map)); jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistoryService.update(jgRegistrationHistory, lambda); jgRegistrationHistoryService.update(jgRegistrationHistory, lambda);
}else { } else {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map)); jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistory.setStatus("new"); jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setRegistrationClass("使用登记"); jgRegistrationHistory.setRegistrationClass("使用登记");
...@@ -189,7 +196,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -189,7 +196,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// List<String> applicationFormCode = iCreateCodeServicevice.createApplicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1); // List<String> applicationFormCode = iCreateCodeServicevice.createApplicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1);
// jgUseRegistration.setApplyNo(applicationFormCode.get(0)); // jgUseRegistration.setApplyNo(applicationFormCode.get(0));
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SYDJ.getCode(), 1);
if(!ObjectUtils.isEmpty(listResponseModel)){ if (!ObjectUtils.isEmpty(listResponseModel)) {
jgUseRegistration.setApplyNo(listResponseModel.getResult().get(0)); jgUseRegistration.setApplyNo(listResponseModel.getResult().get(0));
} }
jgUseRegistration.setAuditStatus("待提交"); jgUseRegistration.setAuditStatus("待提交");
...@@ -206,19 +213,132 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -206,19 +213,132 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
instanceId = map.get("instanceId").toString(); instanceId = map.get("instanceId").toString();
} else { } else {
// 启动并执行流程 // 启动并执行流程
instanceId = startByVariable(); // instanceId = startByVariable();
// jgUseRegistration.setInstanceStatus("1460532889249755137"); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
// jgUseRegistration.setReceiveCompanyCode("610000"); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0"); ArrayList<ActWorkflowStartDTO> list = new ArrayList<>();
dto.setProcessDefinitionKey("useRegistration");
dto.setBusinessKey("test");
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResultDto = resultDto.get(0);
JgUseRegistration useRegistration = updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE);
buildTask(useRegistration, workflowResultDto);
}
// updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0");
} }
if (!ObjectUtils.isEmpty(instanceId)) { if (!ObjectUtils.isEmpty(instanceId)) {
// 执行流程 // 执行流程
flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", ""); flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", "");
// 更新数据信息 // 更新数据信息
updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0"); // updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0");
}
}
}
public JgUseRegistration updateData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, Boolean isFirst) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = workflowResultDto.getNextExecutorRoleIds();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
if (!ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
taskCode = workflowResultDto.getNextTaskCode();
}
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(sequenceNbr);
jgUseRegistration.setNextTaskId(workflowResultDto.getNextTaskId());
if (isFirst) {
jgUseRegistration.setInstanceStatus(workflowResultDto.getExecutorRoleIds());
jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId());
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgUseRegistration.setNextExecuteIds(role);
jgUseRegistration.setPromoter(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(jgUseRegistration.getInstanceStatus())) {
jgUseRegistration.setInstanceStatus(jgUseRegistration.getInstanceStatus() + "," + role);
} else {
jgUseRegistration.setInstanceStatus(role);
}
if ("0".equals(operate)) {
// 通过操作
jgUseRegistration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
} else {
// 驳回操作
jgUseRegistration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgUseRegistration.setPromoter(null);
} }
} else {
// 流程结束
jgUseRegistration.setStatus(taskCode);
if (!ObjectUtils.isEmpty(jgUseRegistration.getSupervisoryCode())) {
// 生成使用登记证编号
jgUseRegistration.setUseRegistrationCode(getCode(jgUseRegistration.getSupervisoryCode()));
jgUseRegistration.setAuditPassDate(new Date());
}
// 更新设备信息
updateEquipMessage(String.valueOf(sequenceNbr), jgUseRegistration.getUseRegistrationCode());
} }
this.getBaseMapper().updateById(jgUseRegistration);
return jgUseRegistration;
}
public void test() {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
ArrayList<ActWorkflowStartDTO> list = new ArrayList<>();
dto.setProcessDefinitionKey("useRegistration");
dto.setBusinessKey("test");
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
StopWatch stopWatch = new StopWatch();
stopWatch.start();
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
stopWatch.stop();
System.out.println("请求耗时:" + stopWatch.getTotalTimeSeconds());
if (!ObjectUtils.isEmpty(processTaskDTOS)) {
List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(workflowResultDtos)) {
}
}
}
public void buildTask(JgUseRegistration jgUseRegistration, WorkflowResultDto workflowResultDto) {
// 代办消息
ArrayList<TaskModelDto> list = new ArrayList<>();
TaskModelDto dto = new TaskModelDto();
dto.setTaskType(String.valueOf(BusinessTypeEnum.JG_USAGE_REGISTRATION.getCode()));
dto.setTaskTypeLabel(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
dto.setFlowCreateDate(jgUseRegistration.getCreateDate());
dto.setTaskName(workflowResultDto.getNextTaskName());
dto.setTaskCode(workflowResultDto.getNextTaskCode());
dto.setTaskDesc("来自" + "电梯" + "【" + jgUseRegistration.getSupervisoryCode() + "】," + "【申请单号:" + jgUseRegistration.getApplyNo() + "】");
dto.setTaskContent("来自" + "电梯" + "【" + jgUseRegistration.getSupervisoryCode() + "】," + "【申请单号:" + jgUseRegistration.getApplyNo() + "】");
dto.setRelationId(workflowResultDto.getInstanceId());
dto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
dto.setTaskStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass()));
dto.setTaskStatusLabel(workflowResultDto.getNextTaskName());
dto.setStartUser(jgUseRegistration.getCreateUserId());
dto.setStartUser(jgUseRegistration.getRecUserName());
dto.setStartUserCompanyName(jgUseRegistration.getUseUnitName());
dto.setStartDate(new Date());
jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId());
jgUseRegistration.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
dto.setModel(jgUseRegistration);
dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
list.add(dto);
commonServiceImpl.buildTaskModel(list);
}
public void updateTask() {
HashMap<String, Object> map = new HashMap<>();
TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(map);
} }
public String startByVariable() { public String startByVariable() {
...@@ -236,49 +356,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -236,49 +356,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return instanceId; return instanceId;
} }
// 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 updateExecuteIds(String instanceId, Long sequenceNbr, String 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); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = ""; String role = "";
...@@ -342,60 +419,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -342,60 +419,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
public void flowExecute(Long id, String instanceId, String operate, String comment) { public void flowExecute(Long id, String instanceId, String operate, String comment) {
try { JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id);
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id); //组装信息
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId); TaskResultDTO dto = new TaskResultDTO();
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data"))); dto.setResultCode("approvalStatus");
String taskId = taskMessage.getString("id"); dto.setTaskId(jgUseRegistration.getNextTaskId());
//组装信息 dto.setComment(comment);
TaskResultDTO dto = new TaskResultDTO(); HashMap<String, Object> map = new HashMap<>();
dto.setResultCode("approvalStatus"); map.put("approvalStatus", operate);
dto.setTaskId(taskId); if (jgUseRegistration.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getReject()) || jgUseRegistration.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getRollBack())) {
dto.setComment(comment); map.put("approvalStatus", "提交");
HashMap<String, Object> map = new HashMap<>(); }
map.put("approvalStatus", operate); dto.setVariable(map);
if (jgUseRegistration.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getReject()) || jgUseRegistration.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getRollBack())) { ProcessTaskDTO complete = cmWorkflowService.complete(jgUseRegistration.getNextTaskId(), dto);
map.put("approvalStatus", "提交"); ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
} processTaskDTOS.add(complete);
dto.setVariable(map); List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
//执行流程 if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
Workflow.taskClient.completeByTask(taskId, dto); WorkflowResultDto workflowResultDto = resultDto.get(0);
} catch (Exception e) { updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, Boolean.FALSE);
e.printStackTrace();
} }
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
} }
// 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<JgUseRegistration> lambda = new QueryWrapper<JgUseRegistration>().lambda();
// lambda.eq(JgUseRegistration::getSequenceNbr, id);
// JgUseRegistration jgUseRegistration = this.getBaseMapper().selectOne(lambda);
// if ("流程结束".equals(taskName)) {
// jgUseRegistration.setStatus(taskName);
// jgUseRegistration.setAuditStatus("已完成");
// } else {
// jgUseRegistration.setNextExecuteIds(role);
// jgUseRegistration.setPromoter(reginParams.getUserModel().getUserId());
// if (!ObjectUtils.isEmpty(jgUseRegistration.getInstanceStatus())) {
// jgUseRegistration.setInstanceStatus(jgUseRegistration.getInstanceStatus() + "," + role);
// } else {
// jgUseRegistration.setInstanceStatus(role);
// }
// UseStatusEnum message = UseStatusEnum.getMessage(taskName);
// jgUseRegistration.setStatus(message.getPass());
// }
// if (rollBack){
// this.getBaseMapper().update(jgUseRegistration, lambda);
// this.getBaseMapper().updatePromoter(jgUseRegistration.getSequenceNbr());
// }else {
// this.getBaseMapper().update(jgUseRegistration, lambda);
// }
// }
public void withdraw(String instanceId) { public void withdraw(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = ""; String taskCode = "";
...@@ -444,23 +490,23 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -444,23 +490,23 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
public Map<String, Object> getDetail(String id, Long sequenceNbr) { public Map<String, Object> getDetail(String id, Long sequenceNbr) {
if (!ObjectUtils.isEmpty(sequenceNbr)){ if (!ObjectUtils.isEmpty(sequenceNbr)) {
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(sequenceNbr); JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(sequenceNbr);
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda(); LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr); lambda.eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr);
lambda.eq(JgRegistrationHistory::getEquId, id); lambda.eq(JgRegistrationHistory::getEquId, id);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda); JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda);
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData()); JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
jsonObject.put("receiveOrgCode", jgUseRegistration.getReceiveCompanyCode()+"_"+jgUseRegistration.getReceiveOrgName()); jsonObject.put("receiveOrgCode", jgUseRegistration.getReceiveCompanyCode() + "_" + jgUseRegistration.getReceiveOrgName());
return jsonObject; return jsonObject;
} }
Map<String, Object> detail = this.baseMapper.getDetail(id); Map<String, Object> detail = this.baseMapper.getDetail(id);
Map<String, Object> inspectDetail = this.baseMapper.getInspectDetail(id); Map<String, Object> inspectDetail = this.baseMapper.getInspectDetail(id);
Map<String, Object> useDetail = this.baseMapper.getUseDetail(id); Map<String, Object> useDetail = this.baseMapper.getUseDetail(id);
if (!ObjectUtils.isEmpty(inspectDetail)){ if (!ObjectUtils.isEmpty(inspectDetail)) {
detail.putAll(inspectDetail); detail.putAll(inspectDetail);
} }
if (!ObjectUtils.isEmpty(useDetail)){ if (!ObjectUtils.isEmpty(useDetail)) {
detail.putAll(useDetail); detail.putAll(useDetail);
} }
detail.put("proDuctPhoto", JSON.parse(String.valueOf(detail.get("proDuctPhoto")))); detail.put("proDuctPhoto", JSON.parse(String.valueOf(detail.get("proDuctPhoto"))));
...@@ -500,22 +546,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -500,22 +546,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
throw new BadRequest("使用登记证导出失败,请稍后重试!"); throw new BadRequest("使用登记证导出失败,请稍后重试!");
} }
//登记机关 //登记机关
if(ValidationUtil.isEmpty(useRegistration.getReceiveOrgName())){ if (ValidationUtil.isEmpty(useRegistration.getReceiveOrgName())) {
throw new BadRequest("使用登记证导出失败,登记机关为空!"); throw new BadRequest("使用登记证导出失败,登记机关为空!");
} }
exportParamsMap.put("receiveOrgName", useRegistration.getReceiveOrgName()); exportParamsMap.put("receiveOrgName", useRegistration.getReceiveOrgName());
//使用登记证编号 //使用登记证编号
if(ValidationUtil.isEmpty(useRegistration.getUseRegistrationCode())){ if (ValidationUtil.isEmpty(useRegistration.getUseRegistrationCode())) {
throw new BadRequest("使用登记证导出失败,使用登记证编号为空!"); throw new BadRequest("使用登记证导出失败,使用登记证编号为空!");
} }
exportParamsMap.put("useRegistrationCode", useRegistration.getUseRegistrationCode()); exportParamsMap.put("useRegistrationCode", useRegistration.getUseRegistrationCode());
//使用单位名称 //使用单位名称
if(ValidationUtil.isEmpty(useRegistration.getUseUnitName())){ if (ValidationUtil.isEmpty(useRegistration.getUseUnitName())) {
throw new BadRequest("使用登记证导出失败,使用单位名称为空!"); throw new BadRequest("使用登记证导出失败,使用单位名称为空!");
} }
exportParamsMap.put("useUnitName", useRegistration.getUseUnitName()); exportParamsMap.put("useUnitName", useRegistration.getUseUnitName());
//监管码 //监管码
if(ValidationUtil.isEmpty(useRegistration.getSupervisoryCode())){ if (ValidationUtil.isEmpty(useRegistration.getSupervisoryCode())) {
throw new BadRequest("使用登记证导出失败,监管码为空!"); throw new BadRequest("使用登记证导出失败,监管码为空!");
} }
exportParamsMap.put("supervisoryCode", useRegistration.getSupervisoryCode()); exportParamsMap.put("supervisoryCode", useRegistration.getSupervisoryCode());
...@@ -527,7 +573,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -527,7 +573,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
//查询设备注册信息 //查询设备注册信息
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoService.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", useRegistrationEq.getEquId())); IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoService.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", useRegistrationEq.getEquId()));
if(!ValidationUtil.isEmpty(registerInfo)){ if (!ValidationUtil.isEmpty(registerInfo)) {
//设备种类、类别、品种 //设备种类、类别、品种
String equList = registerInfo.getEquList();//设备种类 String equList = registerInfo.getEquList();//设备种类
String equCategory = registerInfo.getEquCategory();//设备类别 String equCategory = registerInfo.getEquCategory();//设备类别
...@@ -536,39 +582,39 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -536,39 +582,39 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
List<EquipmentCategory> categoryList1 = commonService.getEquipmentCategoryList(equCategory, null); List<EquipmentCategory> categoryList1 = commonService.getEquipmentCategoryList(equCategory, null);
List<EquipmentCategory> categoryList2 = commonService.getEquipmentCategoryList(equDefine, null); List<EquipmentCategory> categoryList2 = commonService.getEquipmentCategoryList(equDefine, null);
if (CollectionUtils.isNotEmpty(categoryList0)) { if (CollectionUtils.isNotEmpty(categoryList0)) {
if(ValidationUtil.isEmpty(categoryList0.get(0).getName())){ if (ValidationUtil.isEmpty(categoryList0.get(0).getName())) {
throw new BadRequest("使用登记证导出失败,设备种类为空!"); throw new BadRequest("使用登记证导出失败,设备种类为空!");
} }
exportParamsMap.put("equList", categoryList0.get(0).getName()); exportParamsMap.put("equList", categoryList0.get(0).getName());
} }
if (CollectionUtils.isNotEmpty(categoryList1)) { if (CollectionUtils.isNotEmpty(categoryList1)) {
if(ValidationUtil.isEmpty(categoryList1.get(0).getName())){ if (ValidationUtil.isEmpty(categoryList1.get(0).getName())) {
throw new BadRequest("使用登记证导出失败,设备类别为空!"); throw new BadRequest("使用登记证导出失败,设备类别为空!");
} }
exportParamsMap.put("equCategory", categoryList1.get(0).getName()); exportParamsMap.put("equCategory", categoryList1.get(0).getName());
} }
if (CollectionUtils.isNotEmpty(categoryList2)) { if (CollectionUtils.isNotEmpty(categoryList2)) {
if(ValidationUtil.isEmpty(categoryList2.get(0).getName())){ if (ValidationUtil.isEmpty(categoryList2.get(0).getName())) {
throw new BadRequest("使用登记证导出失败,设备品种为空!"); throw new BadRequest("使用登记证导出失败,设备品种为空!");
} }
exportParamsMap.put("equDefine", categoryList2.get(0).getName()); exportParamsMap.put("equDefine", categoryList2.get(0).getName());
} }
//设备代码 //设备代码
if(ValidationUtil.isEmpty(registerInfo.getEquCode())){ if (ValidationUtil.isEmpty(registerInfo.getEquCode())) {
throw new BadRequest("使用登记证导出失败,设备代码为空!"); throw new BadRequest("使用登记证导出失败,设备代码为空!");
} }
exportParamsMap.put("equCode", registerInfo.getEquCode()); exportParamsMap.put("equCode", registerInfo.getEquCode());
} }
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(useRegistrationEq.getEquId()); IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(useRegistrationEq.getEquId());
if(!ValidationUtil.isEmpty(useInfo)){ if (!ValidationUtil.isEmpty(useInfo)) {
if(ValidationUtil.isEmpty(useInfo.getUseInnerCode())){ if (ValidationUtil.isEmpty(useInfo.getUseInnerCode())) {
throw new BadRequest("使用登记证导出失败,设备单位内部编码为空!"); throw new BadRequest("使用登记证导出失败,设备单位内部编码为空!");
} }
//单位内部编码 //单位内部编码
exportParamsMap.put("useInnerCode", useInfo.getUseInnerCode()); exportParamsMap.put("useInnerCode", useInfo.getUseInnerCode());
//设备使用地址 //设备使用地址
String fullAddress=""; String fullAddress = "";
if (!ObjectUtils.isEmpty(useInfo.getProvinceName())) { if (!ObjectUtils.isEmpty(useInfo.getProvinceName())) {
fullAddress += useInfo.getProvinceName(); fullAddress += useInfo.getProvinceName();
} }
...@@ -584,7 +630,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -584,7 +630,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(useInfo.getAddress())) { if (!ObjectUtils.isEmpty(useInfo.getAddress())) {
fullAddress += useInfo.getAddress(); fullAddress += useInfo.getAddress();
} }
if(ValidationUtil.isEmpty(fullAddress)){ if (ValidationUtil.isEmpty(fullAddress)) {
throw new BadRequest("使用登记证导出失败,设备使用地址为空!"); throw new BadRequest("使用登记证导出失败,设备使用地址为空!");
} }
exportParamsMap.put("fullAddress", fullAddress); exportParamsMap.put("fullAddress", fullAddress);
...@@ -592,8 +638,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -592,8 +638,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(useRegistrationEq.getEquId()); IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(useRegistrationEq.getEquId());
//产品编号(出厂编号) //产品编号(出厂编号)
if(!ValidationUtil.isEmpty(factoryInfo)){ if (!ValidationUtil.isEmpty(factoryInfo)) {
if(ValidationUtil.isEmpty(factoryInfo.getFactoryNum())){ if (ValidationUtil.isEmpty(factoryInfo.getFactoryNum())) {
throw new BadRequest("使用登记证导出失败,产品编号为空!"); throw new BadRequest("使用登记证导出失败,产品编号为空!");
} }
exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum()); exportParamsMap.put("factoryNum", factoryInfo.getFactoryNum());
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
"type": "105", "type": "105",
"pageType": "look", "pageType": "look",
"name": "移装告知", "name": "移装告知",
"url": "" "url": "/mixuap?appId=1742358052905971713&id=1736722525146083329&formType=detail&userId={userId}&roleIds={roleIds}"
}, },
{ {
"type": "105", "type": "105",
...@@ -75,25 +75,25 @@ ...@@ -75,25 +75,25 @@
"type": "107", "type": "107",
"pageType": "look", "pageType": "look",
"name": "使用登记", "name": "使用登记",
"url": "url:/mixuap?appId=1742358052905971713&id=1735202405437435906&roleIds={roleIds}&userId={userId}&pageType=look" "url": "/mixuap?appId=1742358052905971713&id=1734864899516952578&roleIds={roleIds}&userId={userId}&pageType=look"
}, },
{ {
"type": "107", "type": "107",
"pageType": "edit", "pageType": "edit",
"name": "使用登记", "name": "使用登记",
"url": "url:/mixuap?appId=1742358052905971713&id=1735202405437435906&roleIds={roleIds}&userId={userId}&pageType=edit" "url": "/mixuap?appId=1742358052905971713&id=1734864899516952578&roleIds={roleIds}&userId={userId}&pageType=edit"
}, },
{ {
"type": "108", "type": "108",
"pageType": "look", "pageType": "look",
"name": "更名变更登记", "name": "更名变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=look" "url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&formType=detail"
}, },
{ {
"type": "108", "type": "108",
"pageType": "edit", "pageType": "edit",
"name": "更名变更登记", "name": "更名变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=edit" "url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&formType=detail"
}, },
{ {
"type": "109", "type": "109",
...@@ -123,13 +123,13 @@ ...@@ -123,13 +123,13 @@
"type": "111", "type": "111",
"name": "改造变更登记", "name": "改造变更登记",
"pageType": "look", "pageType": "look",
"url": "/mixuap?appId=1742358052905971713&id=1737415693835464705&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=look&noticeStatus=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737415693835464705&roleIds={roleIds}&nextExecuteIds={userId}&pageType=look"
}, },
{ {
"type": "111", "type": "111",
"pageType": "edit", "pageType": "edit",
"name": "改造变更登记", "name": "改造变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1737415710281330690&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=edit&noticeStatus=%s&userId=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737415710281330690&roleIds={roleIds}&nextExecuteIds={userId}&pageType=edit"
}, },
{ {
"type": "112", "type": "112",
......
...@@ -186,12 +186,12 @@ public class UseInfo extends AbstractEquipBaseEntity { ...@@ -186,12 +186,12 @@ public class UseInfo extends AbstractEquipBaseEntity {
@TableField(value ="\"IS_NOT_ES\"") @TableField(value ="\"IS_NOT_ES\"")
private Integer isNotEs; private Integer isNotEs;
@TableField(value = "NEXT_INSPECT_DATE") @TableField(value = "\"NEXT_INSPECT_DATE\"")
private Date nextInspectDate; private Date nextInspectDate;
@TableField(value = "LAST_INSPECT_REPORT_NO") @TableField(value = "\"LAST_INSPECT_REPORT_NO\"")
private String lastInspectReportNo; private String lastInspectReportNo;
@TableField(value = "LAST_INSPECT_TYPE") @TableField(value = "\"LAST_INSPECT_TYPE\"")
private String lastInspectType; private String lastInspectType;
} }
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