Commit bfb279b0 authored by lisong's avatar lisong

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

parents 9c93e988 33e2b468
...@@ -206,4 +206,12 @@ public class JgMaintainNoticeDto extends BaseDto { ...@@ -206,4 +206,12 @@ public class JgMaintainNoticeDto extends BaseDto {
@ApiModelProperty(value = "下一执行节点ids") @ApiModelProperty(value = "下一执行节点ids")
private String nextExecuteIds; private String nextExecuteIds;
private String createUserCompanyName;
private String nextTaskId;
private String equListName;
private String supervisoryCode;
} }
package com.yeejoin.amos.boot.module.jg.api.dto; package com.yeejoin.amos.boot.module.jg.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -78,10 +77,15 @@ public class JgScrapCancelDto extends BaseDto { ...@@ -78,10 +77,15 @@ public class JgScrapCancelDto extends BaseDto {
@ApiModelProperty(value = "设备ID") @ApiModelProperty(value = "设备ID")
private String SEQUENCE_NBR; private String SEQUENCE_NBR;
@ApiModelProperty(value = "任务发起人id")
private String promoter;
@ApiModelProperty(value = "终审通过时间") @ApiModelProperty(value = "终审通过时间")
private Date auditPassDate; private Date auditPassDate;
@ApiModelProperty(value = "下一步任务ID")
private String nextTaskId;
private List<String> roleIds; private List<String> roleIds;
......
...@@ -313,4 +313,17 @@ public class JgMaintainNotice extends BaseEntity { ...@@ -313,4 +313,17 @@ public class JgMaintainNotice extends BaseEntity {
@TableField("next_execute_ids") @TableField("next_execute_ids")
private String nextExecuteIds; private String nextExecuteIds;
@TableField(value = "create_user_company_name")
private String createUserCompanyName;
@TableField("next_task_id")
private String nextTaskId;
@TableField(exist = false)
private String equListName;
@TableField(exist = false)
private String supervisoryCode;
} }
...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; ...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
/** /**
...@@ -129,5 +130,11 @@ public class JgScrapCancel extends BaseEntity { ...@@ -129,5 +130,11 @@ public class JgScrapCancel extends BaseEntity {
@TableField(value = "use_unit_name") @TableField(value = "use_unit_name")
private String useUnitName; private String useUnitName;
/**
* 下一步任务ID
*/
@TableField(value = "next_task_id")
private String nextTaskId;
} }
...@@ -35,4 +35,7 @@ public interface JgMaintainNoticeMapper extends CustomBaseMapper<JgMaintainNotic ...@@ -35,4 +35,7 @@ public interface JgMaintainNoticeMapper extends CustomBaseMapper<JgMaintainNotic
List<Map<String, Object>> queryEquipInformation(@Param("sequenceNbr") long sequenceNbr); List<Map<String, Object>> queryEquipInformation(@Param("sequenceNbr") long sequenceNbr);
void updatePromoter(@Param("id")Long id); void updatePromoter(@Param("id")Long id);
Map<String, Object> getEquipInfoByRecord(String record);
} }
...@@ -119,4 +119,51 @@ ...@@ -119,4 +119,51 @@
LEFT JOIN tz_base_enterprise_info eio ON eio.use_code = isn.install_unit_credit_code LEFT JOIN tz_base_enterprise_info eio ON eio.use_code = isn.install_unit_credit_code
WHERE isn.sequence_nbr = #{sequenceNbr} LIMIT 1 WHERE isn.sequence_nbr = #{sequenceNbr} LIMIT 1
</select> </select>
<select id="getEquipInfoByRecord" resultType="java.util.Map">
select
ri.product_name AS productName,
ri.brand_name AS brandName,
ri.equ_type AS equType,
ri.equ_code AS equCode,
ri.equ_price AS equPrice,
ri.product_photo AS productPhoto,
di.design_unit_credit_code AS designUnitCreditCode,
di.design_unit_name AS designUnitName,
di.design_license_num AS designLicenseNum,
di.design_use_date AS designUseDate,
di.design_date AS designDate,
di.drawing_do AS drawingDo,
di.appraisal_unit AS appraisalUnit,
di.appraisal_date AS appraisalDate,
di.design_doc AS designDoc,
di.design_standard AS designStandard,
fi.produce_unit_credit_code AS produceUnitCreditCode,
fi.produce_unit_name AS produceUnitName,
fi.produce_license_num AS produceLicenseNum,
fi.FACTORY_NUM AS produceCode,
fi.FACTORY_NUM AS factoryNum,
fi.produce_date AS produceDate,
fi.imported AS imported,
fi.produce_country AS produceCountry,
fi.factory_standard AS factoryStandard,
fi.product_quality_yield_prove AS productQualityYieldProve,
fi.ins_use_maintain_explain AS insUseMaintainExplain,
idi.INSPECT_REPORT AS inspectReport,
tec2.name AS equCategory,
tec1.name AS equList,
tec.name AS equDefine,
oi.SUPERVISORY_CODE AS supervisoryCode
FROM
idx_biz_jg_other_info oi
LEFT JOIN idx_biz_jg_register_info ri ON ri.record = oi.record
LEFT JOIN idx_biz_jg_design_info di ON di.record = oi.record
LEFT JOIN idx_biz_jg_factory_info fi ON fi.record = oi.record
LEFT JOIN idx_biz_jg_inspection_detection_info idi ON idi.record = oi.record
LEFT JOIN amos_tzs_biz.tz_equipment_category tec ON ri."EQU_CATEGORY"::text = tec.code::text
LEFT JOIN amos_tzs_biz.tz_equipment_category tec1 ON ri."EQU_LIST"::text = tec1.code::text
LEFT JOIN amos_tzs_biz.tz_equipment_category tec2 ON ri."EQU_DEFINE"::text = tec2.code::text
WHERE oi.record = #{record} ORDER BY oi."rec_date" DESC LIMIT 1
</select>
</mapper> </mapper>
...@@ -167,11 +167,13 @@ ...@@ -167,11 +167,13 @@
jui.USE_INNER_CODE, jui.USE_INNER_CODE,
jfi.FACTORY_NUM, jfi.FACTORY_NUM,
jui.ADDRESS as ADDRESS, jui.ADDRESS as ADDRESS,
other.SUPERVISORY_CODE,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as EQU_CATEGORY (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as EQU_CATEGORY
from tzs_jg_maintenance_contract_eq mc from tzs_jg_maintenance_contract_eq mc
LEFT JOIN idx_biz_jg_use_info jui on mc.equ_id = jui.RECORD LEFT JOIN idx_biz_jg_use_info jui on mc.equ_id = jui.RECORD
LEFT JOIN idx_biz_jg_factory_info jfi on mc.equ_id = jfi.RECORD LEFT JOIN idx_biz_jg_factory_info jfi on mc.equ_id = jfi.RECORD
left JOIN idx_biz_jg_register_info jri on mc.equ_id = jri.RECORD left JOIN idx_biz_jg_register_info jri on mc.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_other_info other on other.RECORD = jui.RECORD
WHERE mc.equip_transfer_id = #{id} WHERE mc.equip_transfer_id = #{id}
</select> </select>
</mapper> </mapper>
...@@ -50,7 +50,9 @@ public class JgScrapCancelController extends BaseController { ...@@ -50,7 +50,9 @@ public class JgScrapCancelController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateInfo") @PostMapping(value = "/updateInfo")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<JgScrapCancelDto> updateInfo(@RequestParam String submitType, @RequestBody Map<String, Object> model, @RequestParam(value = "op", required = false) String op) { public ResponseModel<JgScrapCancelDto> updateInfo(@RequestParam String submitType,
@RequestBody Map<String, Object> model,
@RequestParam(value = "op", required = false) String op) {
JgScrapCancelDto jgScrapCancelDto = BeanUtil.mapToBean(((LinkedHashMap) model.get("jgScrapCancelAdd")), JgScrapCancelDto.class, true); JgScrapCancelDto jgScrapCancelDto = BeanUtil.mapToBean(((LinkedHashMap) model.get("jgScrapCancelAdd")), JgScrapCancelDto.class, true);
if (Objects.isNull(jgScrapCancelDto)) { if (Objects.isNull(jgScrapCancelDto)) {
throw new IllegalArgumentException("参数jgScrapCancelAdd不能为空"); throw new IllegalArgumentException("参数jgScrapCancelAdd不能为空");
...@@ -66,8 +68,8 @@ public class JgScrapCancelController extends BaseController { ...@@ -66,8 +68,8 @@ public class JgScrapCancelController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程") @ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) { public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
LinkedHashMap model1 = (LinkedHashMap) map.get("model"); LinkedHashMap<?, ?> model1 = (LinkedHashMap<?, ?>) map.get("model");
LinkedHashMap jgScrapCancelInfo = (LinkedHashMap) model1.get("jgScrapCancelAdd"); LinkedHashMap<?, ?> jgScrapCancelInfo = (LinkedHashMap<?, ?>) model1.get("jgScrapCancelAdd");
jgScrapCancelInfo.remove("SEQUENCE_NBR"); jgScrapCancelInfo.remove("SEQUENCE_NBR");
JgScrapCancelDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgScrapCancelInfo), JgScrapCancelDto.class); JgScrapCancelDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgScrapCancelInfo), JgScrapCancelDto.class);
......
...@@ -575,7 +575,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -575,7 +575,7 @@ public class CommonServiceImpl implements ICommonService {
JSONObject jsonObject = new JSONObject(provideMap); JSONObject jsonObject = new JSONObject(provideMap);
jgChangeRegistrationUnitServiceImpl.saveNotice(submitType, jsonObject, reginParams); jgChangeRegistrationUnitServiceImpl.saveNotice(submitType, jsonObject, reginParams);
} else if (type.equals(ApplicationFormTypeEnum.WBBA.getBusinessCode())) { } else if (type.equals(ApplicationFormTypeEnum.WBBA.getBusinessCode())) {
noticeObj.put("pageType","add");
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1"))); noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
JSONObject jsonObject = new JSONObject(noticeObj); JSONObject jsonObject = new JSONObject(noticeObj);
jgMaintenanceContractServiceImpl.saveOrSubmit(submitType, jsonObject, reginParams); jgMaintenanceContractServiceImpl.saveOrSubmit(submitType, jsonObject, reginParams);
...@@ -683,7 +683,9 @@ public class CommonServiceImpl implements ICommonService { ...@@ -683,7 +683,9 @@ public class CommonServiceImpl implements ICommonService {
model.setEndUserId(exeUserId); model.setEndUserId(exeUserId);
model.setEndDate(new Date()); model.setEndDate(new Date());
model.setRoutePath(model.getRoutePath().replace("edit", "look").replace("roleIds="+nextExecutorIds,"roleIds=123")); String[] roleIds = model.getRoutePath().split("roleIds=");
String[] userIds = roleIds[1].split("userId");
model.setRoutePath( roleIds[0]+"roleIds="+"烦不烦"+"&userId"+userIds[1]);
Systemctl.taskV2Client.update(model, model.getSequenceNbr()); Systemctl.taskV2Client.update(model, model.getSequenceNbr());
//修改model并返回 用于组装新待办 //修改model并返回 用于组装新待办
model.setEndUserId(null); model.setEndUserId(null);
......
...@@ -32,7 +32,10 @@ import com.yeejoin.amos.boot.module.ymt.flc.api.mapper.RegUnitInfoMapper; ...@@ -32,7 +32,10 @@ import com.yeejoin.amos.boot.module.ymt.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
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.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -63,9 +66,6 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -63,9 +66,6 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
private JgChangeRegistrationNameEqServiceImpl jgChangeRegistrationNameEqService; private JgChangeRegistrationNameEqServiceImpl jgChangeRegistrationNameEqService;
@Autowired @Autowired
private JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
@Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired @Autowired
...@@ -107,10 +107,12 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -107,10 +107,12 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
ICmWorkflowService cmWorkflowService; ICmWorkflowService cmWorkflowService;
private static String template = "来自企业(%s)的业务办理,【申请单号:%s】";
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save2(String submitType, JSONObject requestParam) { public void save2(String submitType, JSONObject requestParam) {
Map<String, JSONObject> jgRegistrationInfoMap = (Map<String, JSONObject>)JSONObject.parseObject(JSONObject.toJSONString(requestParam),Map.class); Map<String, JSONObject> jgRegistrationInfoMap = (Map<String, JSONObject>) JSONObject.parseObject(JSONObject.toJSONString(requestParam), Map.class);
this.save(submitType, jgRegistrationInfoMap); this.save(submitType, jgRegistrationInfoMap);
} }
...@@ -237,7 +239,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -237,7 +239,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
* @return 摘要 * @return 摘要
*/ */
private String buildTaskContent(JgChangeRegistrationName dto) { private String buildTaskContent(JgChangeRegistrationName dto) {
return "申请单号:" + dto.getApplyNo() + "的业务办理"; return String.format(template, dto.getUseUnitCreditCode(), dto.getApplyNo());
} }
...@@ -277,14 +279,14 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -277,14 +279,14 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationName.setNextTaskId(nextTaskId); jgChangeRegistrationName.setNextTaskId(nextTaskId);
jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass()); jgChangeRegistrationName.setAuditStatus(WorkFlowStatusEnum.UNIT_RENAME_RECEIVE.getPass());
// 创建待办 // 创建待办
createTaskModel(jgChangeRegistrationName,taskName,"1", nextUserIds); createTaskModel(jgChangeRegistrationName, 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());
} }
} else { } else {
// 执行一步 // 执行一步
ProcessTaskDTO processTaskDTO = submit(op,jgChangeRegistrationName.getNextTaskId()); ProcessTaskDTO processTaskDTO = submit(op, jgChangeRegistrationName.getNextTaskId());
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);
...@@ -332,7 +334,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -332,7 +334,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
taskV2Model.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName()); taskV2Model.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName());
taskV2Model.setExecuteUserIds(nextUserIds); taskV2Model.setExecuteUserIds(nextUserIds);
TaskModelDto modelDto = new TaskModelDto(); TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model,modelDto); BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(jgChangeRegistrationName.getNextExecutorIds()); modelDto.setNextExecuteUser(jgChangeRegistrationName.getNextExecutorIds());
modelDto.setModel(jgChangeRegistrationName); modelDto.setModel(jgChangeRegistrationName);
// 再插入新代办、数据待定 // 再插入新代办、数据待定
...@@ -340,7 +342,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -340,7 +342,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
public ProcessTaskDTO submit(String op,String taskId) { public ProcessTaskDTO submit(String op, String taskId) {
//组装信息 //组装信息
TaskResultDTO dto = new TaskResultDTO(); TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
...@@ -401,7 +403,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -401,7 +403,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jgChangeRegistrationName)); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jgChangeRegistrationName));
jsonObject.put("nextTaskId", jgChangeRegistrationName.getNextTaskId()); jsonObject.put("nextTaskId", jgChangeRegistrationName.getNextTaskId());
jsonObject.put("nextExecuteUser", jgChangeRegistrationName.getNextExecutorIds()); jsonObject.put("nextExecuteUser", jgChangeRegistrationName.getNextExecutorIds());
jsonObject.put("taskType",BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode()); jsonObject.put("taskType", BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode());
commonService.rollbackTask(instanceId, jsonObject); commonService.rollbackTask(instanceId, jsonObject);
} }
...@@ -439,7 +441,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -439,7 +441,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
String taskName = ""; String taskName = "";
String nextTaskId = ""; String nextTaskId = "";
JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(sequenceNbr); JgChangeRegistrationName jgChangeRegistrationName = this.getBaseMapper().selectById(sequenceNbr);
if(processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() >0){ 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(); nextTaskId = processTaskDTO.getNextTask().get(0).getId();
...@@ -448,14 +450,14 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -448,14 +450,14 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)); List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds(); 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); 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 {
jgChangeRegistrationName.setInstanceStatus(String.join(",",roleListNext)); jgChangeRegistrationName.setInstanceStatus(String.join(",", roleListNext));
} }
if ("0".equals(operate)) { if ("0".equals(operate)) {
// 通过操作 // 通过操作
...@@ -481,17 +483,17 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -481,17 +483,17 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
private TaskV2Model updateTaskModel(JgChangeRegistrationName jgChangeRegistrationName, String operate) { private TaskV2Model updateTaskModel(JgChangeRegistrationName jgChangeRegistrationName, String operate) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate); FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
params.put("relationId",jgChangeRegistrationName.getInstanceId()); params.put("relationId", jgChangeRegistrationName.getInstanceId());
params.put("taskStatus", flowStatusEnum.getCode()); params.put("taskStatus", flowStatusEnum.getCode());
params.put("taskStatusLabel", flowStatusEnum.getName()); params.put("taskStatusLabel", flowStatusEnum.getName());
params.put("flowStatus",this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus())); params.put("flowStatus", this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus()));
params.put("flowStatusLabel",jgChangeRegistrationName.getAuditStatus()); params.put("flowStatusLabel", jgChangeRegistrationName.getAuditStatus());
return commonService.updateTaskModelNew(params); return commonService.updateTaskModelNew(params);
} }
private FlowStatusEnum getTaskStatus(String operate) { private FlowStatusEnum getTaskStatus(String operate) {
if("0".equals(operate)){ if ("0".equals(operate)) {
return FlowStatusEnum.TO_BE_FINISHED; return FlowStatusEnum.TO_BE_FINISHED;
} else { } else {
return FlowStatusEnum.REJECTED; return FlowStatusEnum.REJECTED;
......
...@@ -29,6 +29,7 @@ import org.springframework.beans.BeanUtils; ...@@ -29,6 +29,7 @@ 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;
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.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;
...@@ -191,7 +192,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -191,7 +192,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
if (!ObjectUtils.isEmpty(map.get("submit"))) { if (!ObjectUtils.isEmpty(map.get("submit"))) {
String instanceId = ""; String instanceId = "";
if (!ObjectUtils.isEmpty(map.get("instanceId"))) { if (!ObjectUtils.isEmpty(jgChangeRegistrationReform.getInstanceId())) {
instanceId = map.get("instanceId").toString(); instanceId = map.get("instanceId").toString();
// 如果是旧流程则执行一步 // 如果是旧流程则执行一步
flowExecute(jgChangeRegistrationReform.getSequenceNbr(), instanceId, "0", ""); flowExecute(jgChangeRegistrationReform.getSequenceNbr(), instanceId, "0", "");
......
...@@ -8,13 +8,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -8,13 +8,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum;
import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService; import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils; import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
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.JgInstallationNoticeDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintainNoticeDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintainNoticeDto;
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.JgMaintainNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNoticeEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNoticeEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNoticeEq;
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.mapper.JgMaintainNoticeEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintainNoticeService; import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintainNoticeService;
...@@ -27,11 +34,9 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; ...@@ -27,11 +34,9 @@ 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.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.ActWorkflowBatchDTO; import com.yeejoin.amos.feign.workflow.model.*;
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 jdk.nashorn.api.scripting.JSObject; import jdk.nashorn.api.scripting.JSObject;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -90,6 +95,12 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -90,6 +95,12 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
@Autowired @Autowired
private TzBaseUnitLicenceMapper baseUnitLicenceMapper; private TzBaseUnitLicenceMapper baseUnitLicenceMapper;
@Autowired
private CommonServiceImpl commonService;
@Autowired
private CmWorkflowServiceImpl cmWorkflowService;
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -122,17 +133,18 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -122,17 +133,18 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard", "productQualityYieldProve", String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard", "productQualityYieldProve",
"insUseMaintainExplain", "inspectReport", "proxyStatementAttachment", "installContractAttachment"}; "insUseMaintainExplain", "inspectReport", "proxyStatementAttachment", "installContractAttachment"};
// 设备信息 "equCategory", "equDefine", "equRegisterCode", "produceCountry", "produceLicenseNum", // 设备信息 "equCategory", "equDefine", "equRegisterCode", "produceCountry", "produceLicenseNum",
List<Map<String, Object>> equipmentInfos = jgMaintainNoticeMapper.queryEquipInformation(sequenceNbr);
JgMaintainNoticeEq jgMaintainNoticeEq = jgMaintainNoticeEqMapper.selectOne(new LambdaQueryWrapper<JgMaintainNoticeEq>().eq(JgMaintainNoticeEq::getEquipTransferId, sequenceNbr));
Map<String, Object> map = jgMaintainNoticeMapper.getEquipInfoByRecord(jgMaintainNoticeEq.getEquId());
for (String s : fields) { for (String s : fields) {
if (maintainInfo.containsKey(s)) if (maintainInfo.containsKey(s) && !ObjectUtils.isEmpty(map.get(s)))
maintainInfo.put(s, JSON.parseArray(maintainInfo.get(s).toString())); maintainInfo.put(s, JSON.parseArray(maintainInfo.get(s).toString()));
if (equipmentInfos.get(0).containsKey(s)) if (map.containsKey(s) && !ObjectUtils.isEmpty(map.get(s)))
equipmentInfos.get(0).put(s, JSON.parseArray(equipmentInfos.get(0).get(s).toString())); map.put(s, JSON.parseArray(map.get(s).toString()));
} }
return new HashMap<String, Map<String, Object>>() {{ maintainInfo.putAll(map);
put(TABLE_PAGE_ID, maintainInfo); return new HashMap<String, Map<String, Object>>() {{put(TABLE_PAGE_ID, maintainInfo);}};
put("equipmentInfo", equipmentInfos.get(0));
}};
} }
/** /**
...@@ -145,48 +157,92 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -145,48 +157,92 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
public JgMaintainNoticeDto updateMaintainNotice(String submitType, JgMaintainNoticeDto noticeDto, String op) { public JgMaintainNoticeDto updateMaintainNotice(String submitType, JgMaintainNoticeDto noticeDto, String op) {
if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType))
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
String[] taskName = new String[]{"流程结束"};
// 字段转换 // 字段转换
this.convertField(noticeDto); this.convertField(noticeDto);
ArrayList<String> roleListFirst = new ArrayList<>(); JgMaintainNotice notice = jgMaintainNoticeMapper.selectById(noticeDto.getSequenceNbr());
ArrayList<String> roleListSecond = new ArrayList<>(); // submitType=1为流程提交否则仅为保存业务数据
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
AjaxResult ajaxResult; ProcessTaskDTO processTaskDTO = new ProcessTaskDTO();
WorkflowResultDto workflowResultDto = new WorkflowResultDto();
// 如果没有实例ID,说明是启动并执行一步
// 直接调用工作流 启动并执行API - 可以拿到两个节点的信息,用于填充业务字段
// 如果有实例ID,为撤回或者驳回后重新提交
if(!StringUtils.hasText(noticeDto.getInstanceId())){
// 发起流程 // 发起流程
if (!StringUtils.hasText(noticeDto.getInstanceId())) { ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("maintainNotice"); dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey("1"); dto.setBusinessKey(noticeDto.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);
noticeDto.setInstanceId(instanceId); processTaskDTO = cmWorkflowService.startBatch(actWorkflowBatchDTO).get(0);
// 查询下节点任务 // 提取节点等信息
getNext(roleListFirst, instanceId, taskName); workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
noticeDto.setInstanceStatus(String.join(",", roleListFirst)); BeanUtils.copyProperties(noticeDto, notice);
if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) {
} catch (Exception e) { notice.setInstanceStatus(notice.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
log.error("JgMaintainNoticeServiceImpl.updateMaintainNotice启动失败:{}", e); } else {
throw new RuntimeException(e); notice.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
} }
notice.setPromoter(RequestContext.getExeUserId());
notice.setNextExecuteIds(String.join(",", workflowResultDto.getNextExecutorRoleIds()));
notice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgMaintainNoticeMapper.updateById(notice);
// 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto));
} else {
// 只调用执行API,返回下个节点信息,用于填充业务字段
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(notice.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (notice.getNoticeStatus().equals("6614") || notice.getNoticeStatus().equals("6615")) {
commMap.put("approvalStatus", "提交");
} else {
commMap.put("approvalStatus", op);
} }
JgMaintainNotice notice = new JgMaintainNotice(); dto.setVariable(commMap);
processTaskDTO = cmWorkflowService.complete(notice.getNextTaskId(), dto);
// 提取节点等信息
workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
BeanUtils.copyProperties(noticeDto, notice); BeanUtils.copyProperties(noticeDto, notice);
op = "已提交";
boolean submit = submit(notice, op, null);
if (submit) {
// 查询下节点任务
getNext(roleListSecond, notice.getInstanceId(), taskName);
notice.setStatus(taskName[0]);
if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) { if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) {
notice.setInstanceStatus(notice.getInstanceStatus() + "," + roleListSecond); notice.setInstanceStatus(notice.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else { } else {
notice.setInstanceStatus(String.join(",", roleListSecond)); notice.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
} }
notice.setPromoter(RequestContext.getExeUserId()); notice.setPromoter(RequestContext.getExeUserId());
notice.setNextExecuteIds(String.join(",", roleListSecond)); notice.setNextExecuteIds(String.join(",", workflowResultDto.getNextExecutorRoleIds()));
notice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); notice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
updateById(notice); notice.setNextTaskId(workflowResultDto.getNextTaskId());
jgMaintainNoticeMapper.updateById(notice);
// 上个代办改为已办
HashMap<String, Object> map = new HashMap<>();
map.put("taskStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
map.put("relationId", notice.getInstanceId());
map.put("flowStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
map.put("flowStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
TaskV2Model taskV2Model = commonService.updateTaskModel(map);
if (ObjectUtils.isEmpty(taskV2Model)) {
// 如果为保存并提交,则创建代办
buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto));
} else {
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
// 创建新的代办
taskModelDto.setModel(notice);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setFlowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setFlowCode(notice.getNextTaskId());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
} }
} else { } else {
JgMaintainNotice bean = new JgMaintainNotice(); JgMaintainNotice bean = new JgMaintainNotice();
...@@ -332,8 +388,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -332,8 +388,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveNotice(String submitType, Map<String, Object> jgMaintainNoticeDtoMap, ReginParams reginParams) { public void saveNotice(String submitType, Map<String, Object> jgMaintainNoticeDtoMap, ReginParams reginParams) {
String[] taskName = new String[]{"流程结束"};
JgMaintainNoticeDto model = JSON.parseObject(jgMaintainNoticeDtoMap.get(TABLE_PAGE_ID).toString(), JgMaintainNoticeDto.class); JgMaintainNoticeDto model = JSON.parseObject(JSONObject.toJSONString(jgMaintainNoticeDtoMap.get(TABLE_PAGE_ID)), JgMaintainNoticeDto.class);
// 字段转换 // 字段转换
convertField(model); convertField(model);
...@@ -344,73 +400,16 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -344,73 +400,16 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
throw new RuntimeException(); throw new RuntimeException();
} }
// 获取告知单号 // 获取告知单号
// List<String> applyNoList = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WXGZ.getCode(), deviceList.size()); ResponseModel<List<String>> applyNoResult = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WXGZ.getCode(), deviceList.size());
ResponseModel<List<String>> applyNoResult = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.GZBG.getCode(), deviceList.size());
if (CollectionUtils.isEmpty(applyNoResult.getResult())) { if (CollectionUtils.isEmpty(applyNoResult.getResult())) {
log.error(" 获取告知单号失败"); log.error(" 获取告知单号失败");
throw new RuntimeException(); throw new RuntimeException();
} }
List<String> applyNoList = applyNoResult.getResult(); List<String> applyNoList = applyNoResult.getResult();
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>(); List<WorkflowResultDto> workflowResultDtoList = workFlowInfo(submitType, deviceList);
// 判断当前是否为提交
List<String> instanceIdList = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
for (int i = 0; i < deviceList.size(); i++
) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(String.valueOf(i));
// dto.setCompleteFirstTask(true);
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 = null;
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);
}
}
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
List<JgMaintainNotice> list = new ArrayList<>(); List<JgMaintainNotice> list = new ArrayList<>();
List<JgMaintainNoticeEq> equipList = new ArrayList<>(); List<JgMaintainNoticeEq> equipList = new ArrayList<>();
deviceList.forEach(obj -> { deviceList.forEach(obj -> {
...@@ -423,27 +422,35 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -423,27 +422,35 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
dto.setNoticeDate(new Date()); dto.setNoticeDate(new Date());
dto.setEquCategory(String.valueOf(obj.get("EQU_CATEGORY"))); dto.setEquCategory(String.valueOf(obj.get("EQU_CATEGORY")));
dto.setEquListCode(String.valueOf(obj.get("EQU_LIST_CODE"))); dto.setEquListCode(String.valueOf(obj.get("EQU_LIST_CODE")));
dto.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
if (SUBMIT_TYPE_FLOW.equals(submitType)) { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecuteIds(String.join(",", roleListSecond)); dto.setNextExecuteIds(workflowResultDtoList.get(i).getNextExecutorRoleIds());
dto.setInstanceStatus(String.join(",", roleListFirst)); dto.setInstanceStatus(workflowResultDtoList.get(i).getNextExecutorRoleIds() + "," + workflowResultDtoList.get(i).getExecutorRoleIds());
dto.setPromoter(reginParams.getUserModel().getUserId()); dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setStatus(taskName[0]);
} }
dto.setEquListName(obj.get("EQU_LIST").toString());
dto.setSupervisoryCode(obj.get("SUPERVISORY_CODE").toString());
dto.setInstallUnitName(reginParams.getCompany().getCompanyName()); dto.setInstallUnitName(reginParams.getCompany().getCompanyName());
dto.setInstallUnitCreditCode(reginParams.getCompany().getCompanyCode()); dto.setInstallUnitCreditCode(reginParams.getCompany().getCompanyCode());
dto.setNextTaskId(workflowResultDtoList.get(i).getNextTaskId());
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(workflowResultDtoList)) {
dto.setInstanceId(instanceIdList.get(i)); dto.setInstanceId(workflowResultDtoList.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()); dto.setCreateUserId(reginParams.getUserModel().getUserId());
list.add(dto); list.add(dto);
equipList.add(jgRelationEquip); equipList.add(jgRelationEquip);
}); });
jgMaintainNoticeMapper.insertBatchSomeColumn(list); jgMaintainNoticeMapper.insertBatchSomeColumn(list);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
buildTask(list, workflowResultDtoList);
}
List<JgMaintainNoticeEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> { List<JgMaintainNoticeEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> {
List<JgMaintainNotice> collect = list.stream().filter(JgMaintainNotice -> jgRelationEquip.getEquipTransferId().equals(JgMaintainNotice.getApplyNo())).collect(Collectors.toList()); List<JgMaintainNotice> collect = list.stream().filter(JgMaintainNotice -> jgRelationEquip.getEquipTransferId().equals(JgMaintainNotice.getApplyNo())).collect(Collectors.toList());
Long sequenceNbr = collect.get(0).getSequenceNbr(); Long sequenceNbr = collect.get(0).getSequenceNbr();
...@@ -452,6 +459,66 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -452,6 +459,66 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
jgMaintainNoticeEqMapper.insertBatchSomeColumn(jgRelationEquipList); jgMaintainNoticeEqMapper.insertBatchSomeColumn(jgRelationEquipList);
} }
/**
* 插入代办
*/
private void buildTask(List<JgMaintainNotice> list, List<WorkflowResultDto> workflowResultList) {
List<TaskModelDto> taskModelDtoList = new ArrayList<>();
WorkflowResultDto workflowResultDto = workflowResultList.get(0);
list.forEach(item -> {
TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setFlowCreateDate(item.getCreateDate());
taskModelDto.setTaskName(workflowResultDto.getNextTaskName()); // 工作流API返回
taskModelDto.setTaskCode(item.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName());
taskModelDto.setRelationId(item.getInstanceId());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); // 工作流API返回
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setFlowStatus(commonService.getDictionaryCodeByName(FlowStatusEnum.TO_BE_PROCESSED.getName())); // 流程状态枚举
taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setFlowCode(item.getNextTaskId());
taskModelDto.setStartUserId(item.getCreateUserId());
taskModelDto.setStartUser(item.getCreateUserName());
taskModelDto.setStartUserCompanyName(item.getCreateUserCompanyName()); // 任务发起人所在单位
taskModelDto.setStartDate(item.getCreateDate());
taskModelDto.setModel(item);
taskModelDto.setNextExecuteUser(item.getNextExecuteIds());
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquListName(), item.getSupervisoryCode(), item.getApplyNo()));
taskModelDtoList.add(taskModelDto);
});
commonService.buildTaskModel(taskModelDtoList);
}
private List<WorkflowResultDto> workFlowInfo(String submitType,List<Map<String, Object>> deviceList) {
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
deviceList.forEach(item->{
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(item.get("SEQUENCE_NBR").toString());
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto);
});
actWorkflowBatchDTO.setProcess(list);
try {
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
return commonService.buildWorkFlowInfo(processTaskDTOS);
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
return new ArrayList<>();
}
void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) { void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) {
AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId); AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data"))); JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data")));
...@@ -580,24 +647,26 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -580,24 +647,26 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
} }
public void cancel(JgMaintainNoticeDto noticeDto) { public void cancel(JgMaintainNoticeDto noticeDto) {
String[] taskName = new String[]{"流程结束"}; JgMaintainNotice jgMaintainNotice = this.baseMapper.selectById(noticeDto.getSequenceNbr());
FeignClientResult ajaxResult = Workflow.taskV2Client.rollBack(noticeDto.getInstanceId()); ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(jgMaintainNotice.getInstanceId());
JgMaintainNotice jgInstallationNotice = this.baseMapper.selectById(noticeDto.getSequenceNbr()); // 提取节点等信息
ArrayList<String> roleList = new ArrayList<>(); WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
if (ajaxResult.getStatus() == 200) { jgMaintainNotice.setPromoter("");
getNext(roleList, noticeDto.getInstanceId(), taskName); jgMaintainNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
jgInstallationNotice.setStatus(taskName[0]); jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode()));
jgInstallationNotice.setPromoter(""); updateById(jgMaintainNotice);
jgInstallationNotice.setNextExecuteIds(String.join(",", roleList));
jgInstallationNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode())); // 删除待办
updateById(jgInstallationNotice); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jgMaintainNotice));
} jsonObject.put("nextTaskId", jgMaintainNotice.getNextTaskId());
jsonObject.put("nextExecuteUser", jgMaintainNotice.getNextExecutorIds());
jsonObject.put("taskType", BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getCode());
commonService.rollbackTask(jgMaintainNotice.getInstanceId(), jsonObject);
} }
@Transactional @Transactional
public void accept(JgMaintainNoticeDto dto, String op, String opinion) { public void accept(JgMaintainNoticeDto dto, String op, String opinion) {
String[] taskName = new String[]{"流程结束"};
String userId = RequestContext.getExeUserId();
JgMaintainNotice jgMaintainNotice = this.jgMaintainNoticeMapper.selectById(dto.getSequenceNbr()); JgMaintainNotice jgMaintainNotice = this.jgMaintainNoticeMapper.selectById(dto.getSequenceNbr());
// 组装设备注册代码 // 组装设备注册代码
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer = new StringBuffer();
...@@ -607,13 +676,16 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -607,13 +676,16 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
} catch (ParseException e) { } catch (ParseException e) {
log.error("日期转换失败:{}", e); log.error("日期转换失败:{}", e);
} }
ArrayList<String> roleList = new ArrayList<>(); //组装信息
boolean submit = submit(jgMaintainNotice, op, opinion); TaskResultDTO taskResultDTO = assembleData(jgMaintainNotice, op, opinion);
if (submit) { ProcessTaskDTO processTaskDTO = cmWorkflowService.complete(jgMaintainNotice.getNextTaskId(), taskResultDTO);
getNext(roleList, dto.getInstanceId(), taskName);
jgMaintainNotice.setStatus(taskName[0]); // 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
TaskV2Model taskV2Model = new TaskV2Model();
if ("0".equals(op)) { if ("0".equals(op)) {
if (roleList.size() == 0) { // 判断如果下一步执行角色列表为空则流程完成
if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
LambdaQueryWrapper<JgMaintainNoticeEq> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<JgMaintainNoticeEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgMaintainNoticeEq::getEquipTransferId, dto.getSequenceNbr()); queryWrapper.eq(JgMaintainNoticeEq::getEquipTransferId, dto.getSequenceNbr());
JgMaintainNoticeEq jgRelationEquip = jgMaintainNoticeEqMapper.selectOne(queryWrapper); JgMaintainNoticeEq jgRelationEquip = jgMaintainNoticeEqMapper.selectOne(queryWrapper);
...@@ -621,29 +693,86 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -621,29 +693,86 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
queryWrapper2.eq(RegistrationInfo::getRecord, jgRelationEquip.getEquId()); queryWrapper2.eq(RegistrationInfo::getRecord, jgRelationEquip.getEquId());
RegistrationInfo tzsJgRegistrationInfo = tzsJgRegistrationInfoMapper.selectOne(queryWrapper2); RegistrationInfo tzsJgRegistrationInfo = tzsJgRegistrationInfoMapper.selectOne(queryWrapper2);
stringBuffer.append(tzsJgRegistrationInfo.getEquCategory()).append(jgMaintainNotice.getCity()).append(ym); stringBuffer.append(tzsJgRegistrationInfo.getEquCategory()).append(jgMaintainNotice.getCity()).append(ym);
Map<String, Object> map = new HashMap<>();
map.put("cityCode", jgMaintainNotice.getCity());
map.put("countyCode", jgMaintainNotice.getCounty());
map.put("equCategory", tzsJgRegistrationInfo.getEquCategory());
jgMaintainNotice.setAcceptDate(new Date()); jgMaintainNotice.setAcceptDate(new Date());
jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())); jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
generateMaintainNoticeReport(jgMaintainNotice.getSequenceNbr()); generateMaintainNoticeReport(jgMaintainNotice.getSequenceNbr());
jgMaintainNotice.setPromoter(""); jgMaintainNotice.setPromoter("");
jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
this.generateMaintainNoticeReport(jgMaintainNotice.getSequenceNbr());
// 上个代办改为已办
HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("relationId", jgMaintainNotice.getInstanceId());
taskMap.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
commonService.updateTaskModel(taskMap);
} else { } else {
jgMaintainNotice.setNextExecuteIds(String.join(",", roleList)); jgMaintainNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgMaintainNotice.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgMaintainNotice.getInstanceStatus())) {
jgMaintainNotice.setInstanceStatus(jgMaintainNotice.getInstanceStatus() + "," + String.join(",", roleList)); jgMaintainNotice.setInstanceStatus(jgMaintainNotice.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else { } else {
jgMaintainNotice.setInstanceStatus(String.join(",", roleList)); jgMaintainNotice.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
} }
jgMaintainNotice.setPromoter(userId);
jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
// 上个代办改为已办
HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskMap.put("taskStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
taskMap.put("flowStatus", FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.TO_BE_PROCESSED.getName());
taskMap.put("relationId", jgMaintainNotice.getInstanceId());
taskV2Model = commonService.updateTaskModel(taskMap);
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
// 创建新的代办
taskModelDto.setModel(jgMaintainNotice);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setFlowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setFlowCode(workflowResultDto.getNextTaskId());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
} }
} else { } else {
jgMaintainNotice.setPromoter(""); jgMaintainNotice.setPromoter("");
jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode())); jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
} // 上个代办改为已办
HashMap<String, Object> taskMap = new HashMap<>();
taskMap.put("taskStatus", jgMaintainNotice.getNoticeStatus());
taskMap.put("taskStatusLabel", FlowStatusEnum.REJECTED.getName());
taskMap.put("relationId", jgMaintainNotice.getInstanceId());
taskMap.put("flowStatus", FlowStatusEnum.REJECTED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.REJECTED.getName());
taskV2Model = commonService.updateTaskModel(taskMap);
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
// 创建新的代办
taskModelDto.setModel(jgMaintainNotice);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setFlowStatus(FlowStatusEnum.REJECTED.getCode());
taskModelDto.setFlowStatusLabel(FlowStatusEnum.REJECTED.getName());
taskModelDto.setFlowCode(workflowResultDto.getNextTaskId());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
jgMaintainNotice.setNextTaskId(workflowResultDto.getNextTaskId());
jgMaintainNoticeMapper.updateById(jgMaintainNotice); jgMaintainNoticeMapper.updateById(jgMaintainNotice);
} }
private TaskResultDTO assembleData(JgMaintainNotice jgMaintainNotice, String op, String opinion) {
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(jgMaintainNotice.getNextTaskId());
if (!StringUtils.isEmpty(opinion)) {
taskResultDTO.setComment(opinion);
}
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
taskResultDTO.setVariable(map);
return taskResultDTO;
} }
} }
\ No newline at end of file
...@@ -84,7 +84,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -84,7 +84,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase, public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase,
Map<String, Object> map, ReginParams reginParams) { Map<String, Object> map, ReginParams reginParams) {
JgMaintenanceContractDto dto = new JgMaintenanceContractDto(); JgMaintenanceContractDto dto = new JgMaintenanceContractDto();
if(map.containsKey("jgMaintenanceContractDto")){ if (map.containsKey("jgMaintenanceContractDto")) {
dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class); dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class);
} }
Page<JgMaintenanceContractDto> contractList = new Page<>(); Page<JgMaintenanceContractDto> contractList = new Page<>();
...@@ -178,6 +178,37 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -178,6 +178,37 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return true; return true;
} }
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds, String operate) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract, operate);
taskV2Model.setTaskDesc("");
taskV2Model.setTaskContent(this.buildTaskContent(contract));
taskV2Model.setTaskName(taskName);
taskV2Model.setTaskDesc("");
taskV2Model.setTaskCode(contract.getApplyNo());
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setRelationId(contract.getInstanceId());
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
taskV2Model.setTaskStatus(flowStatusEnum.getCode());
taskV2Model.setTaskStatusLabel(flowStatusEnum.getName());
taskV2Model.setFlowStatus(this.getTaskStatusByName(contract.getApplyStatus()));
taskV2Model.setFlowStatusLabel(contract.getApplyStatus());
taskV2Model.setTaskType(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode());
taskV2Model.setStartUser(contract.getCreateUserName());
taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName());
taskV2Model.setStartDate(contract.getCreateDate());
taskV2Model.setStartUserId(contract.getCreateUserId());
taskV2Model.setStartUserCompanyName(contract.getUseUnitName());
taskV2Model.setExecuteUserIds(nextUserIds);
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(contract.getNextExecuteIds());
modelDto.setModel(contract);
// 再插入新代办、数据待定
commonService.buildTaskModel(Collections.singletonList(modelDto));
}
/** /**
* 维保合同撤回 * 维保合同撤回
*/ */
...@@ -196,6 +227,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -196,6 +227,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
String taskCode = processTaskDTO.getNextTask().get(0).getKey(); String taskCode = processTaskDTO.getNextTask().get(0).getKey();
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) { if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
contract.setApplyStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack()); contract.setApplyStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
} }
contract.setPromoter(RequestContext.getExeUserId()); contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext)); contract.setNextExecuteIds(String.join(",", roleListNext));
...@@ -205,9 +237,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -205,9 +237,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(contract)); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(contract));
jsonObject.put("nextTaskId", contract.getNextTaskId()); jsonObject.put("nextTaskId", contract.getNextTaskId());
jsonObject.put("nextExecuteUser", contract.getNextExecuteIds()); jsonObject.put("nextExecuteUser", contract.getNextExecuteIds());
jsonObject.put("taskType",BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()); jsonObject.put("taskType", BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode());
commonService.rollbackTask(instanceId, jsonObject); commonService.rollbackTask(instanceId, jsonObject);
} }
/** /**
* 新增维保合同 * 新增维保合同
*/ */
...@@ -249,8 +282,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -249,8 +282,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName()); contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
JgMaintenanceContract contract = new JgMaintenanceContract(); JgMaintenanceContract contract = new JgMaintenanceContract();
boolean hasId = StringUtils.isEmpty(contractDto.getSequenceNbr());//没有id说明是新增 boolean hasId = StringUtils.isEmpty(contractDto.getSequenceNbr());//没有id说明是新增
if (hasId) {
BeanUtils.copyProperties(contractDto, contract); BeanUtils.copyProperties(contractDto, contract);
if (hasId) {
contract.setCreateUserId(reginParams.getUserModel().getUserId()); contract.setCreateUserId(reginParams.getUserModel().getUserId());
contract.setCreateUserName(reginParams.getUserModel().getRealName()); contract.setCreateUserName(reginParams.getUserModel().getRealName());
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass()); contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
...@@ -328,8 +361,9 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -328,8 +361,9 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setPromoter(RequestContext.getExeUserId()); contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext)); contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass())); contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setNextTaskId(nextTaskId); contract.setNextTaskId(nextTaskId);
executeOneStep(contract, taskName, nextUserIds,"0"); executeOneStep(contract, taskName, nextUserIds, "0");
} }
} }
updateById(contract); updateById(contract);
...@@ -357,6 +391,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -357,6 +391,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
roleListAll.addAll(p.getCandidateGroups()); roleListAll.addAll(p.getCandidateGroups());
}); });
} }
@Transactional @Transactional
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) { public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) {
List<String> roleListNext = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
...@@ -391,47 +426,34 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -391,47 +426,34 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
contract.setPromoter(null); contract.setPromoter(null);
} }
executeOneStep(contract, taskName, nextUserIds,operate); executeOneStep(contract, taskName, nextUserIds, operate);
} else { } else {
contract.setApplyDate(new Date()); contract.setApplyDate(new Date());
contract.setStatus(taskCode); contract.setStatus(taskCode);
updateTaskModel(contract,operate); updateTaskModel(contract, operate);
} }
this.getBaseMapper().updateById(contract); this.getBaseMapper().updateById(contract);
} }
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds, String operate) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract,operate);
// 再插入新代办、数据待定
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 TaskV2Model updateTaskModel(JgMaintenanceContract contract, String operate) { private TaskV2Model updateTaskModel(JgMaintenanceContract contract, String operate) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate); FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
params.put("relationId",contract.getInstanceId()); params.put("relationId", contract.getInstanceId());
params.put("taskStatus", flowStatusEnum.getCode()); params.put("taskStatus", flowStatusEnum.getCode());
params.put("taskStatusLabel", flowStatusEnum.getName()); params.put("taskStatusLabel", flowStatusEnum.getName());
params.put("flowStatus",this.getTaskStatusByName(contract.getApplyStatus())); params.put("flowStatus", this.getTaskStatusByName(contract.getApplyStatus()));
params.put("flowStatusLabel",contract.getApplyStatus()); params.put("flowStatusLabel", contract.getApplyStatus());
return commonService.updateTaskModel(params); return commonService.updateTaskModelNew(params);
} }
private FlowStatusEnum getTaskStatus(String operate) { private FlowStatusEnum getTaskStatus(String operate) {
if("0".equals(operate)){ if ("0".equals(operate)) {
return FlowStatusEnum.TO_BE_FINISHED; return FlowStatusEnum.TO_BE_FINISHED;
} else { } else {
return FlowStatusEnum.REJECTED; return FlowStatusEnum.REJECTED;
} }
} }
private Integer getTaskStatusByName(String auditStatus) { private Integer getTaskStatusByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus); return commonService.getDictionaryCodeByName(auditStatus);
} }
...@@ -472,7 +494,19 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -472,7 +494,19 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
* @return 摘要 * @return 摘要
*/ */
private String buildTaskContent(JgMaintenanceContract dto) { private String buildTaskContent(JgMaintenanceContract dto) {
return "申请单号:" + dto.getApplyNo() + "的业务办理"; List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(dto.getSequenceNbr());
String supervisoryCode = "";
String equList = "";
if (!CollectionUtils.isEmpty(list)) {
Map<String, Object> map = list.get(0);
if (map.containsKey("EQU_LIST")) {
equList = map.get("EQU_LIST").toString();
}
if (map.containsKey("SUPERVISORY_CODE")) {
supervisoryCode = map.get("SUPERVISORY_CODE").toString();
}
}
String format = String.format("来自%s【%s】等的业务办理,【申请单号:%s】等", equList, supervisoryCode, dto.getApplyNo());
return format;
} }
} }
\ No newline at end of file
...@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl; ...@@ -3,7 +3,6 @@ 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.util.StrUtil; import cn.hutool.core.util.StrUtil;
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.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;
...@@ -13,8 +12,11 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -13,8 +12,11 @@ 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.JgScrapCancelDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto;
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.JgScrapCancel; import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel;
import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancelEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancelEq;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CancelTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CancelTypeEnum;
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.JgScrapCancelEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelEqMapper;
...@@ -33,21 +35,13 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper; ...@@ -33,21 +35,13 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; 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.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 fr.opensagres.xdocreport.core.io.IOUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.http.HttpStatus; 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;
...@@ -57,10 +51,9 @@ import org.springframework.util.StringUtils; ...@@ -57,10 +51,9 @@ 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.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;
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.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -76,32 +69,36 @@ import static com.alibaba.fastjson.JSON.parseArray; ...@@ -76,32 +69,36 @@ import static com.alibaba.fastjson.JSON.parseArray;
public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgScrapCancel, JgScrapCancelMapper> implements IJgScrapCancelService { public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgScrapCancel, JgScrapCancelMapper> implements IJgScrapCancelService {
@Autowired private static final String SUBMIT_TYPE_FLOW = "1";
private JgScrapCancelEqServiceImpl jgScrapCancelEqService; private static final String PAGE_KEY = "jgScrapCancelAdd";
@Autowired
private JgScrapCancelEqMapper jgScrapCancelEqMapper;
@Autowired @Autowired
WorkFlowFeignService workFlowFeginService; WorkFlowFeignService workFlowFeginService;
@Autowired @Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
private IdxBizJgUseInfoMapper idxBizJgUseInfoMapper;
@Autowired @Autowired
IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper; IdxBizJgOtherInfoMapper idxBizJgOtherInfoMapper;
@Autowired @Autowired
SuperviseInfoMapper superviseInfoMapper; SuperviseInfoMapper superviseInfoMapper;
@Autowired @Autowired
CommonServiceImpl commonService;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Value("classpath:/json/urlInfo.json") @Autowired
private Resource bizTypeInfo; IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
IIdxBizJgRegisterInfoService idxBizJgRegisterInfoService;
@Autowired
private JgScrapCancelEqServiceImpl jgScrapCancelEqService;
@Autowired
private JgScrapCancelEqMapper jgScrapCancelEqMapper;
@Autowired
private IdxBizJgUseInfoMapper idxBizJgUseInfoMapper;
private static String template = "来自电梯【(%s)】 【(%s)】的业务办理,【申请单号:%s】";
public Page<Map<String, Object>> getList(JgScrapCancelDto dto, Page<Map<String, Object>> page, List<String> roleIds) { public Page<Map<String, Object>> getList(JgScrapCancelDto dto, Page<Map<String, Object>> page, List<String> roleIds) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = this.getSelectedOrgInfo();
String orgCode = reginParams.getCompany().getCompanyCode(); String orgCode = reginParams.getCompany().getCompanyCode();
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds, orgCode); Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto, roleIds, orgCode);
listPage.getRecords().forEach(item -> { listPage.getRecords().forEach(item -> {
...@@ -115,7 +112,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -115,7 +112,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
return listPage; return listPage;
} }
private void convertField(JgScrapCancelDto model) { private void convertField(JgScrapCancelDto model) {
// 处理图片 // 处理图片
if (!ValidationUtil.isEmpty(model.getCancelCertificateList())) { if (!ValidationUtil.isEmpty(model.getCancelCertificateList())) {
...@@ -131,19 +127,25 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -131,19 +127,25 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
} }
} }
/**
* 获取登录用户信息
*
* @return
*/
protected ReginParams getSelectedOrgInfo() {
return JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
}
@SuppressWarnings({"Duplicates", "rawtypes"}) @SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(String submitType, Map<String, Object> jgInstallationNoticeDtoMap) { public void save(String submitType, Map<String, Object> mapParams) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = this.getSelectedOrgInfo();
Map<?, ?> noticeParams = (Map) mapParams.get(PAGE_KEY);
String equipId = noticeParams.get("record").toString();
noticeParams.remove("record");
String[] taskName = new String[]{"流程结束"}; String[] taskName = new String[]{"流程结束"};
JSONObject jgScrapCancelAdd = (JSONObject) jgInstallationNoticeDtoMap.get("jgScrapCancelAdd"); JgScrapCancelDto model = JSON.parseObject(JSON.toJSONString(noticeParams), JgScrapCancelDto.class);
String equipId = jgScrapCancelAdd.get("record").toString();
jgScrapCancelAdd.remove("record");
JgScrapCancelDto model = JSON.parseObject(jgScrapCancelAdd.toJSONString(), JgScrapCancelDto.class);
model.setSEQUENCE_NBR(equipId); model.setSEQUENCE_NBR(equipId);
// JgScrapCancelDto model = (JgScrapCancelDto) jgInstallationNoticeDtoMap.get("jgScrapCancelAdd");
// 字段转换 // 字段转换
convertField(model); convertField(model);
// 获取告知设备信息 // 获取告知设备信息
...@@ -155,129 +157,88 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -155,129 +157,88 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
HashMap<String, Object> map1 = new HashMap<>(); HashMap<String, Object> map1 = new HashMap<>();
map1.put("SEQUENCE_NBR", model.getSEQUENCE_NBR()); map1.put("SEQUENCE_NBR", model.getSEQUENCE_NBR());
deviceList.add(map1); deviceList.add(map1);
// 获取告知单号 // 获取告知单号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBZX.getCode(), deviceList.size()); ResponseModel<List<String>> listResponseModel =
tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBZX.getCode(), deviceList.size());
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) { if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error(" 获取告知单号失败"); log.error(" 获取告知单号失败");
throw new RuntimeException(); throw new RuntimeException();
} }
String instanceId = "";
String nextTaskId = "";
String nextUserIds = "";
List<ProcessTaskDTO> processTaskDTOS;
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
List<String> applyNoList = listResponseModel.getResult(); List<String> applyNoList = listResponseModel.getResult();
if (CollectionUtils.isEmpty(applyNoList)) { if (CollectionUtils.isEmpty(applyNoList)) {
return; return;
} }
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
// 判断当前是否为提交 // 判断当前是否为提交
List<String> instanceIdList = new ArrayList<>(); List<String> instanceIdList = new ArrayList<>();
if ("1".equals(submitType)) { List<WorkflowResultDto> workflowResultDtos = null;
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程 // 发起流程
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>(); List<ActWorkflowStartDTO> list = new ArrayList<>();
for (int i = 0; i < deviceList.size(); i++) { for (int i = 0; i < deviceList.size(); i++) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("scrapCancelNew"); dto.setProcessDefinitionKey("scrapCancelNew");
dto.setBusinessKey(String.valueOf(i)); dto.setBusinessKey(applyNoList.get(i));
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto); list.add(dto);
} }
actWorkflowBatchDTO.setProcess(list); actWorkflowBatchDTO.setProcess(list);
try { try {
FeignClientResult result = Workflow.taskV2Client.startByVariableBatch(actWorkflowBatchDTO); processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
List<Object> returnList = (List<Object>) result.getResult(); this.buildRoleList(processTaskDTOS, roleListNext, roleListAll);
for (Object obj : returnList) { instanceId = processTaskDTOS.get(0).getProcessInstance().getId();
JSONObject jsonObject = JSON.parseObject(JSONObject.toJSONString(obj)); nextTaskId = processTaskDTOS.get(0).getNextTask().get(0).getId();
String instanceId = jsonObject.getString("id"); taskName[0] = processTaskDTOS.get(0).getNextTask().get(0).getName();
instanceIdList.add(instanceId); workflowResultDtos = commonService.buildWorkFlowInfo(processTaskDTOS);
// 查询下节点任务 nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
if (returnList.get(0).equals(obj)) { this.buildRoleList(processTaskDTOS, roleListNext, roleListAll);
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 = null;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) {
getNext(roleListSecond, instanceId, taskName);
roleListFirst.addAll(roleListSecond);
} else {
log.error("提交失败");
}
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
} catch (Exception e) { } catch (Exception e) {
log.error("提交失败:{}", e); log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage());
} }
} }
List<JgScrapCancel> list = new ArrayList<>(); List<JgScrapCancel> list = new ArrayList<>();
List<JgScrapCancelEq> equipList = new ArrayList<>(); List<JgScrapCancelEq> equipList = new ArrayList<>();
deviceList.forEach(obj -> { for (int i = 0; i < deviceList.size(); i++) {
JgScrapCancelEq jgRelationEquip = new JgScrapCancelEq(); JgScrapCancelEq jgRelationEquip = new JgScrapCancelEq();
JgScrapCancel dto = new JgScrapCancel(); JgScrapCancel dto = new JgScrapCancel();
BeanUtils.copyProperties(model, dto); BeanUtils.copyProperties(model, dto);
int i = deviceList.indexOf(obj);
String applyNo = applyNoList.get(i); String applyNo = applyNoList.get(i);
dto.setApplyNo(applyNo); dto.setApplyNo(applyNo);
dto.setCreateDate(new Date()); dto.setCreateDate(new Date());
dto.setNextExecuteIds(String.join(",", roleListSecond)); dto.setNextExecuteIds(String.join(",", roleListNext));
dto.setInstanceStatus(String.join(",", roleListFirst)); dto.setInstanceStatus(String.join(",", roleListAll));
dto.setPromoter(reginParams.getUserModel().getUserId()); dto.setPromoter(reginParams.getUserModel().getUserId());
// dto.setStatus(taskName[0]); dto.setNextTaskId(Objects.isNull(workflowResultDtos) ? null : workflowResultDtos.get(i).getNextTaskId());
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR"))); jgRelationEquip.setEquId(String.valueOf(deviceList.get(i).get("SEQUENCE_NBR")));
jgRelationEquip.setEquipTransferId(applyNo); jgRelationEquip.setEquipTransferId(applyNo);
if (!CollectionUtils.isEmpty(instanceIdList)) { if (!StringUtils.isEmpty(instanceId)) {
dto.setInstanceId(instanceIdList.get(i)); dto.setInstanceId(instanceId);
dto.setNextTaskId(nextTaskId);
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass())); dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass()));
} else { } else {
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_SUBMIT.getPass())); dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_SUBMIT.getPass()));
} }
dto.setUseUnitCode(reginParams.getCompany().getCompanyCode()); dto.setUseUnitCode(reginParams.getCompany().getCompanyCode());
dto.setUseUnitName(reginParams.getCompany().getCompanyName()); dto.setUseUnitName(reginParams.getCompany().getCompanyName());
dto.setCreateUserId(RequestContext.getExeUserId());
list.add(dto); list.add(dto);
equipList.add(jgRelationEquip); equipList.add(jgRelationEquip);
}); }
this.saveBatch(list); this.saveBatch(list);
list.forEach(item -> { if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 代办业务 // 新增代办
if ("1".equals(submitType)) { for (int i = 0; i < list.size(); i++) {
TaskV2Model taskV2Model = new TaskV2Model(); this.createTaskModel(list.get(i), taskName[0], submitType, nextUserIds);
//获取待办任务执行人 }
List<AgencyUserModel> userList = Privilege.agencyUserClient
.queryByRoleId(item.getNextExecuteIds(), null, Boolean.FALSE).getResult();
List<String> userIds = userList.stream().map(AgencyUserModel::getUserId).collect(Collectors.toList());
taskV2Model.setExecuteUserIds(CollectionUtils.isEmpty(userIds) ? "" : String.join(",", userIds));
taskV2Model.setExtras(JSON.toJSONString(item));
taskV2Model.setRelationId(item.getInstanceId());
taskV2Model.setTaskType("scrapCancel");
taskV2Model.setTaskTypeLabel("注销报废");
String url = getUrl(taskV2Model.getTaskType(), "look");
String format = String.format(url, item.getSequenceNbr(), item.getNextExecuteIds(), item.getNextExecuteIds(),
item.getAuditStatus(), item.getInstanceId());
taskV2Model.setRoutePath(format);
taskV2Model.setTaskTitle(item.getStatus());
taskV2Model.setTaskName(item.getStatus());
taskV2Model.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskV2Model.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskV2Model.setTaskCode(item.getApplyNo());
buildTaskModel(taskV2Model);
} }
});
List<JgScrapCancelEq> jgScrapCancelEqList = equipList.stream().map(t -> { List<JgScrapCancelEq> jgScrapCancelEqList = equipList.stream().map(t -> {
List<JgScrapCancel> collect = list.stream().filter(item -> t.getEquipTransferId().equals(item.getApplyNo())).collect(Collectors.toList()); List<JgScrapCancel> collect = list.stream().filter(item -> t.getEquipTransferId().equals(item.getApplyNo())).collect(Collectors.toList());
Long sequenceNbr = collect.get(0).getSequenceNbr(); Long sequenceNbr = collect.get(0).getSequenceNbr();
...@@ -286,6 +247,69 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -286,6 +247,69 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancelEqService.saveBatch(jgScrapCancelEqList); jgScrapCancelEqService.saveBatch(jgScrapCancelEqList);
} }
/**
* 移装移装报废/注销报废判断
*
* @return
*/
public static BusinessTypeEnum businessTypeJudgment(String type) {
return "1".equals(type) ? BusinessTypeEnum.JG_EQUIPMENT_CANCEL : BusinessTypeEnum.JG_EQUIPMENT_MOVE;
}
private void createTaskModel(JgScrapCancel dto, String taskName, String submitType, String nextUserIds) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ("1".equals(submitType)) {
TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setFlowCreateDate(dto.getCreateDate());
taskModelDto.setTaskName(taskName);
taskModelDto.setTaskCode(dto.getApplyNo());
taskModelDto.setTaskContent(this.buildTaskContent(dto.getCancelType(), dto.getApplyNo()));
taskModelDto.setTaskDesc("");
taskModelDto.setTaskType(businessTypeJudgment(dto.getCancelType()).getCode());
taskModelDto.setTaskTypeLabel(businessTypeJudgment(dto.getCancelType()).getName());
taskModelDto.setRelationId(dto.getInstanceId());
taskModelDto.setExecuteUserIds(nextUserIds);
FlowStatusEnum flowStatusEnum = this.getTaskStatus(submitType);
taskModelDto.setTaskStatus(flowStatusEnum.getCode());
taskModelDto.setTaskStatusLabel(flowStatusEnum.getName());
taskModelDto.setFlowStatus(this.getTaskStatusByName(dto.getAuditStatus()));
taskModelDto.setFlowStatusLabel(dto.getAuditStatus());
taskModelDto.setStartUserId(dto.getCreateUserId());
taskModelDto.setFlowCode(dto.getNextTaskId());
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));
}
}
private void buildRoleList(List<ProcessTaskDTO> processTasks, List<String> roleListNext, List<String> roleListAll) {
processTasks.forEach(p -> {
p.getNextCandidateGroups().values().forEach(e -> {
roleListNext.addAll(e);
roleListAll.addAll(e);
});
roleListAll.addAll(p.getCandidateGroups());
});
}
/**
* 摘要构建
*
* @return 摘要
*/
private String buildTaskContent(String cancelType, String applyNo) {
// 来自电梯【X3100-123456】【移装注销】的业务办理【申请单号:ABCD0000001】
String type = "1".equals(cancelType) ? "报废注销" : "移装注销";
return String.format(template, "XXX", type, applyNo);
}
private Integer getTaskCodeByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus);
}
public void deleteBatch(List<Long> ids) { public void deleteBatch(List<Long> ids) {
JgScrapCancel jgScrapCancel = new JgScrapCancel(); JgScrapCancel jgScrapCancel = new JgScrapCancel();
...@@ -295,90 +319,82 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -295,90 +319,82 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this.update(jgScrapCancel, lambda); this.update(jgScrapCancel, lambda);
} }
public JgScrapCancelDto updateInfo(String submitType, JgScrapCancelDto jgScrapCancelDto, String op) { public JgScrapCancelDto updateInfo(String submitType, JgScrapCancelDto jgScrapCancelDto, String op) {
if (Objects.isNull(jgScrapCancelDto) || StringUtils.isEmpty(submitType)) { if (Objects.isNull(jgScrapCancelDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
} }
boolean instancedId = ObjectUtils.isEmpty(jgScrapCancelDto.getInstanceId());
String[] taskName = new String[]{"流程结束"};
// 字段转换 // 字段转换
this.convertField(jgScrapCancelDto); this.convertField(jgScrapCancelDto);
ArrayList<String> roleListFirst = new ArrayList<>(); WorkflowResultDto workflowResultDto;
ArrayList<String> roleListSecond = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
if ("1".equals(submitType)) { List<String> roleListAll = new ArrayList<>();
AjaxResult ajaxResult; if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 更新并提交
// 发起流程 // 发起流程
if (!StringUtils.hasText(jgScrapCancelDto.getInstanceId())) { if (!StringUtils.hasText(jgScrapCancelDto.getInstanceId())) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); //未进流程直接发起并执行
dto.setProcessDefinitionKey("scrapCancelNew");
dto.setBusinessKey("1");
try { try {
ajaxResult = Workflow.taskClient.startByVariable(dto); List<ProcessTaskDTO> processTasks = new ArrayList<>();
String instanceId = ((Map) ajaxResult.get("data")).get("id").toString(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("unitRename");
dto.setBusinessKey(jgScrapCancelDto.getApplyNo());
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
processTasks = cmWorkflowService.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();
jgScrapCancelDto.setInstanceStatus(String.join(",", roleListAll));
jgScrapCancelDto.setInstanceId(instanceId); jgScrapCancelDto.setInstanceId(instanceId);
// 查询下节点任务 jgScrapCancelDto.setNextExecuteIds(String.join(",", roleListNext));
getNext(roleListFirst, instanceId, taskName); jgScrapCancelDto.setNextTaskId(nextTaskId);
jgScrapCancelDto.setInstanceStatus(String.join(",", roleListFirst)); jgScrapCancelDto.setAuditStatus(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass());
// 创建待办
JgScrapCancel bean = new JgScrapCancel();
BeanUtil.copyProperties(jgScrapCancelDto, bean);
createTaskModel(bean, taskName, "1", nextUserIds);
} catch (Exception e) { } catch (Exception e) {
log.error("提交失败:{}", e); log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage());
}
} else {
// 已经在流程中,执行一步
ProcessTaskDTO processTaskDTO = submit(op, jgScrapCancelDto.getNextTaskId());
String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
String taskName = processTaskDTO.getNextTask().get(0).getName();
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
// 查询下节点任务
if (!ObjectUtils.isEmpty(jgScrapCancelDto.getInstanceStatus())) {
jgScrapCancelDto.setInstanceStatus(jgScrapCancelDto.getInstanceStatus() + "," + String.join("", roleListNext));
} else {
jgScrapCancelDto.setInstanceStatus(String.join(",", roleListAll));
} }
jgScrapCancelDto.setPromoter(RequestContext.getExeUserId());
jgScrapCancelDto.setNextExecuteIds(String.join(",", roleListNext));
jgScrapCancelDto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass()));
jgScrapCancelDto.setNextTaskId(nextTaskId);
executeOneStep(jgScrapCancelDto, taskName, nextUserIds, op);
} }
JgScrapCancel cancel = new JgScrapCancel();
BeanUtils.copyProperties(jgScrapCancelDto, cancel);
this.updateById(cancel);
JgScrapCancel jgScrapCancel = new JgScrapCancel(); JgScrapCancel jgScrapCancel = new JgScrapCancel();
BeanUtils.copyProperties(jgScrapCancelDto, jgScrapCancel, "useUnitName", "useUnitName"); BeanUtils.copyProperties(jgScrapCancelDto, jgScrapCancel, "useUnitName", "useUnitName");
boolean submit = submit(jgScrapCancel, op);
LambdaUpdateWrapper<JgScrapCancelEq> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<JgScrapCancelEq> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancel.getSequenceNbr()); updateWrapper.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancel.getSequenceNbr());
JgScrapCancelEq jgScrapCancelEq = new JgScrapCancelEq(); JgScrapCancelEq jgScrapCancelEq = new JgScrapCancelEq();
jgScrapCancelEq.setEquId(jgScrapCancelDto.getRecord()); jgScrapCancelEq.setEquId(jgScrapCancelDto.getRecord());
jgScrapCancelEqMapper.update(jgScrapCancelEq, updateWrapper); jgScrapCancelEqMapper.update(jgScrapCancelEq, updateWrapper);
if (submit) {
// 查询下节点任务
getNext(roleListSecond, jgScrapCancel.getInstanceId(), taskName);
String join = String.join(",", roleListSecond);
// jgScrapCancel.setStatus(taskName[0]);
if (!ObjectUtils.isEmpty(jgScrapCancel.getInstanceStatus())) {
jgScrapCancel.setInstanceStatus(jgScrapCancel.getInstanceStatus() + "," + join);
} else {
jgScrapCancel.setInstanceStatus(String.join(",", roleListSecond));
}
jgScrapCancel.setPromoter(RequestContext.getExeUserId());
jgScrapCancel.setNextExecuteIds(String.join(",", roleListSecond));
jgScrapCancel.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass()));
this.updateById(jgScrapCancel);
}
if (!instancedId) {
HashMap<String, Object> map = new HashMap<>();
map.put("relationId", jgScrapCancelDto.getInstanceId());
map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskModel(map);
}
TaskV2Model taskV2Model = new TaskV2Model();
//获取待办任务执行人
List<AgencyUserModel> userList = Privilege.agencyUserClient
.queryByRoleId(jgScrapCancel.getNextExecuteIds(), null, Boolean.FALSE).getResult();
List<String> userIds = userList.stream().map(AgencyUserModel::getUserId).collect(Collectors.toList());
taskV2Model.setExecuteUserIds(CollectionUtils.isEmpty(userIds) ? "" : String.join(",", userIds));
taskV2Model.setExtras(JSON.toJSONString(jgScrapCancel));
taskV2Model.setRelationId(jgScrapCancel.getInstanceId());
taskV2Model.setTaskType("scrapCancel");
taskV2Model.setTaskTypeLabel("注销报废");
String url = getUrl(taskV2Model.getTaskType(), "look");
String format = String.format(url, jgScrapCancel.getSequenceNbr(), jgScrapCancel.getNextExecuteIds(),
jgScrapCancel.getNextExecuteIds(), jgScrapCancel.getAuditStatus(), jgScrapCancel.getInstanceId());
taskV2Model.setRoutePath(format);
taskV2Model.setTaskTitle(jgScrapCancel.getStatus());
taskV2Model.setTaskName(jgScrapCancel.getStatus());
taskV2Model.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskV2Model.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskV2Model.setTaskCode(jgScrapCancel.getApplyNo());
buildTaskModel(taskV2Model);
} else { } else {
//更新操作
JgScrapCancel bean = new JgScrapCancel(); JgScrapCancel bean = new JgScrapCancel();
BeanUtils.copyProperties(jgScrapCancelDto, bean); BeanUtils.copyProperties(jgScrapCancelDto, bean);
this.updateById(bean); this.updateById(bean);
...@@ -391,12 +407,61 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -391,12 +407,61 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
return jgScrapCancelDto; return jgScrapCancelDto;
} }
private void executeOneStep(JgScrapCancelDto jgScrapCancelDto, String taskName, String nextUserIds, String operate) {
ReginParams reginParams = this.getSelectedOrgInfo();
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(jgScrapCancelDto, operate);
taskV2Model.setTaskDesc("");
taskV2Model.setTaskContent(this.buildTaskContent(jgScrapCancelDto.getCancelType(), jgScrapCancelDto.getApplyNo()));
taskV2Model.setTaskName(taskName);
taskV2Model.setTaskDesc("");
taskV2Model.setTaskCode(jgScrapCancelDto.getApplyNo());
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setRelationId(jgScrapCancelDto.getInstanceId());
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
taskV2Model.setTaskStatus(flowStatusEnum.getCode());
taskV2Model.setTaskStatusLabel(flowStatusEnum.getName());
taskV2Model.setFlowStatus(this.getTaskStatusByName(jgScrapCancelDto.getAuditStatus()));
taskV2Model.setFlowStatusLabel(jgScrapCancelDto.getAuditStatus());
taskV2Model.setTaskType(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode());
taskV2Model.setStartUser(reginParams.getUserModel().getUserName());
taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName());
taskV2Model.setStartDate(jgScrapCancelDto.getCreateDate());
taskV2Model.setStartUserId(jgScrapCancelDto.getCreateUserId());
taskV2Model.setStartUserCompanyName(jgScrapCancelDto.getUseUnitName());
taskV2Model.setExecuteUserIds(nextUserIds);
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(jgScrapCancelDto.getNextExecuteIds());
modelDto.setModel(jgScrapCancelDto);
// 再插入新代办、数据待定
commonService.buildTaskModel(Collections.singletonList(modelDto));
}
private Integer getTaskStatusByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus);
}
private TaskV2Model updateTaskModel(JgScrapCancelDto jgScrapCancelDto, String operate) {
Map<String, Object> params = new HashMap<>();
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
params.put("relationId", jgScrapCancelDto.getInstanceId());
params.put("taskStatus", flowStatusEnum.getCode());
params.put("taskStatusLabel", flowStatusEnum.getName());
params.put("flowStatus", this.getTaskStatusByName(jgScrapCancelDto.getAuditStatus()));
params.put("flowStatusLabel", jgScrapCancelDto.getAuditStatus());
return commonService.updateTaskModel(params);
}
private FlowStatusEnum getTaskStatus(String operate) {
if ("0".equals(operate)) {
return FlowStatusEnum.TO_BE_FINISHED;
} else {
return FlowStatusEnum.REJECTED;
}
}
public boolean submit(JgScrapCancel notice, String op) { public ProcessTaskDTO submit(String op, String taskId) {
AjaxResult ajaxResult = Workflow.taskClient.getTask(notice.getInstanceId());
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息 //组装信息
TaskResultDTO dto = new TaskResultDTO(); TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
...@@ -405,42 +470,8 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -405,42 +470,8 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op); map.put("approvalStatus", op);
dto.setVariable(map); dto.setVariable(map);
//执行流程 return cmWorkflowService.complete(taskId, dto);
AjaxResult ajaxResult1 = null;
try {
ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ajaxResult1.get("code").equals(200)) {
return true;
} else {
return false;
} }
} catch (Exception e) {
log.error("提交失败:{}", e);
return false;
}
}
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 (!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());
}
}
}
}
@Autowired
IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
IIdxBizJgRegisterInfoService idxBizJgRegisterInfoService;
public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) { public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) {
// 安装告知信息 // 安装告知信息
...@@ -450,7 +481,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -450,7 +481,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
} }
Map<String, Object> installationInfo = BeanUtil.beanToMap(notice); Map<String, Object> installationInfo = BeanUtil.beanToMap(notice);
installationInfo.put("receiveOrgCode", notice.getReceiveOrgCode() + "_" + notice.getReceiveOrgName()); installationInfo.put("receiveOrgCode", notice.getReceiveOrgCode() + "_" + notice.getReceiveOrgName());
installationInfo.put("cancelCertificateList", JSON.parseArray(installationInfo.get("cancelCertificate").toString())); installationInfo.put("cancelCertificateList", parseArray(installationInfo.get("cancelCertificate").toString()));
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda(); LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr); lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr);
JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq); JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq);
...@@ -463,67 +494,42 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -463,67 +494,42 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
IdxBizJgRegisterInfo one = idxBizJgRegisterInfoMapper.selectOne(queryWrapper); IdxBizJgRegisterInfo one = idxBizJgRegisterInfoMapper.selectOne(queryWrapper);
installationInfo.put("equCode", one.getEquCode()); installationInfo.put("equCode", one.getEquCode());
Map<String, Object> detailFieldCamelCaseByRecord = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(jgScrapCancelEq.getEquId()); Map<String, Object> detailFieldCamelCaseByRecord = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(jgScrapCancelEq.getEquId());
// Map<String, Object> equipmentInfos = this.baseMapper.queryEquipInformation(sequenceNbr);
BeanUtil.copyProperties(installationInfo, detailFieldCamelCaseByRecord); BeanUtil.copyProperties(installationInfo, detailFieldCamelCaseByRecord);
return new HashMap<String, Object>() {{ return new HashMap<String, Object>() {{
this.put("jgScrapCancelAdd", detailFieldCamelCaseByRecord); this.put(PAGE_KEY, detailFieldCamelCaseByRecord);
}}; }};
} }
@Transactional
public void revocation(String instanceId) { public void revocation(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = this.getSelectedOrgInfo();
// String taskName = "";
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
JgScrapCancel jgScrapCancel = new JgScrapCancel(); JgScrapCancel jgScrapCancel = new JgScrapCancel();
LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda(); LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda();
lambda.eq(JgScrapCancel::getInstanceId, instanceId); lambda.eq(JgScrapCancel::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>(); ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(instanceId);
try { WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
workFlowFeginService.rollBack(instanceId); if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(workflowResultDto.getNextTaskName())) {
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); jgScrapCancel.setAuditStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getRollBack());
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
// taskName = 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 (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) { jgScrapCancel.setNextTaskId(workflowResultDto.getNextTaskId());
jgScrapCancel.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
}
HashMap<String, Object> map = new HashMap<>();
map.put("relationId", instanceId);
map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
map.put("isDelete", Boolean.TRUE);
updateTaskModel(map);
String join = String.join(",", roleList);
jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId()); jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId());
jgScrapCancel.setNextExecuteIds(join); jgScrapCancel.setNextExecuteIds(Objects.isNull(workflowResultDto) ? null : workflowResultDto.getNextExecutorRoleIds());
this.update(jgScrapCancel, lambda); this.update(jgScrapCancel, lambda);
// 删除待办
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jgScrapCancel));
jsonObject.put("nextTaskId", jgScrapCancel.getNextTaskId());
jsonObject.put("nextExecuteUser", jgScrapCancel.getNextExecuteIds());
jsonObject.put("taskType", businessTypeJudgment(jgScrapCancel.getCancelType()).getCode());
commonService.rollbackTask(instanceId, jsonObject);
} }
public void flowExecute(Long id, String instanceId, String operate, String comment) { public void flowExecute(Long id, String instanceId, String operate, String comment) {
try { try {
JgScrapCancel jgScrapCancel = this.getBaseMapper().selectById(id); JgScrapCancel jgScrapCancel = this.getBaseMapper().selectById(id);
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId); String taskId = jgScrapCancel.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");
...@@ -538,94 +544,68 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -538,94 +544,68 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
} }
dto.setVariable(map); dto.setVariable(map);
//执行流程 //执行流程
Workflow.taskClient.completeByTask(taskId, dto); ProcessTaskDTO processTaskDTO = cmWorkflowService.complete(taskId, dto);
// 更新下一步执行人、创建待办
updateExecuteIds(instanceId, id, operate, processTaskDTO);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
} }
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) { public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); List<String> roleListNext = new ArrayList<>();
String role = ""; List<String> roleListAll = new ArrayList<>();
// String taskName = "流程结束";
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
ArrayList<String> roleList = new ArrayList<>(); String taskName = "";
String nextTaskId = "";
JgScrapCancel jgScrapCancel = this.getBaseMapper().selectById(sequenceNbr); JgScrapCancel jgScrapCancel = this.getBaseMapper().selectById(sequenceNbr);
try { if (processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() > 0) {
// 查询下节点任务 taskCode = processTaskDTO.getNextTask().get(0).getKey();
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); taskName = processTaskDTO.getNextTask().get(0).getName();
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) { nextTaskId = processTaskDTO.getNextTask().get(0).getId();
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(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 (!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);
jgScrapCancel.setNextExecuteIds(role); List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId()); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
jgScrapCancel.setNextExecuteIds(String.join(",", roleListNext));
jgScrapCancel.setPromoter(RequestContext.getExeUserId());
jgScrapCancel.setInstanceId(instanceId); jgScrapCancel.setInstanceId(instanceId);
jgScrapCancel.setNextTaskId(nextTaskId);
if (!ObjectUtils.isEmpty(jgScrapCancel.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgScrapCancel.getInstanceStatus())) {
jgScrapCancel.setInstanceStatus(jgScrapCancel.getInstanceStatus() + "," + role); jgScrapCancel.setInstanceStatus(jgScrapCancel.getInstanceStatus() + "," + String.join(",", roleListNext));
} else { } else {
jgScrapCancel.setInstanceStatus(role); jgScrapCancel.setInstanceStatus(String.join(",", roleListNext));
} }
if ("0".equals(operate)) { if ("0".equals(operate)) {
// 通过操作 // 通过操作
jgScrapCancel.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass()); jgScrapCancel.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
HashMap<String, Object> map = new HashMap<>();
map.put("relationId", instanceId);
map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskModel(map);
} else { } else {
// 驳回操作 // 驳回操作
jgScrapCancel.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); jgScrapCancel.setAuditStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgScrapCancel.setPromoter(null); jgScrapCancel.setPromoter(null);
HashMap<String, Object> map = new HashMap<>();
map.put("relationId", instanceId);
map.put("taskStatus", FlowStatusEnum.REJECTED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.REJECTED.getName());
TaskV2Model taskV2ModelOld = updateTaskModel(map);
TaskV2Model taskV2Model = new TaskV2Model();
//taskV2Model.setExecuteUserIds(taskV2ModelOld.getCreateUserId());
taskV2Model.setExtras(JSON.toJSONString(jgScrapCancel));
taskV2Model.setRelationId(instanceId);
taskV2Model.setTaskType("scrapCancel");
taskV2Model.setTaskTypeLabel("注销报废");
String url = getUrl(taskV2Model.getTaskType(), "edit");
String format = String.format(url, jgScrapCancel.getSequenceNbr(), jgScrapCancel.getNextExecuteIds(),
jgScrapCancel.getNextExecuteIds(), jgScrapCancel.getAuditStatus(), "", instanceId);
taskV2Model.setRoutePath(format);
taskV2Model.setTaskTitle(jgScrapCancel.getStatus());
taskV2Model.setTaskName(jgScrapCancel.getStatus());
taskV2Model.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskV2Model.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskV2Model.setTaskCode(jgScrapCancel.getApplyNo());
buildTaskModel(taskV2Model);
} }
JgScrapCancelDto scrapCancelDto = new JgScrapCancelDto();
BeanUtils.copyProperties(jgScrapCancel, scrapCancelDto);
// 更新上一步待办、创建待办
executeOneStep(scrapCancelDto, taskName, nextUserIds, operate);
} else { } else {
jgScrapCancel.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgScrapCancel.setAuditPassDate(new Date());
// 修改业务信息
updateInfoOther(jgScrapCancel);
JgScrapCancelDto scrapCancelDto = new JgScrapCancelDto();
BeanUtils.copyProperties(jgScrapCancel, scrapCancelDto);
// 更新代办
updateTaskModel(scrapCancelDto, operate);
}
this.getBaseMapper().updateById(jgScrapCancel);
}
public void updateInfoOther(JgScrapCancel jgScrapCancel) {
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda(); LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr); lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancel.getSequenceNbr());
JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq); JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq);
ResponseModel<String> responseModel = tzsServiceFeignClient.useRegistrationCode(idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(jgScrapCancelEq.getEquId())); ResponseModel<String> responseModel = tzsServiceFeignClient.useRegistrationCode(idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(jgScrapCancelEq.getEquId()));
...@@ -660,59 +640,5 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -660,59 +640,5 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancel.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName()); jgScrapCancel.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgScrapCancel.setAuditPassDate(new Date()); jgScrapCancel.setAuditPassDate(new Date());
} }
this.getBaseMapper().updateById(jgScrapCancel);
}
public TaskV2Model updateTaskModel(Map<String, Object> params) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(params.get("relationId").toString()).getResult();
TaskV2Model model = result.stream().sorted((r1, r2) -> r2.getCreateDate().compareTo(r1.getCreateDate())) // 按时间降序排序
.findFirst()
.orElse(null);
model.setTaskStatus(Integer.valueOf(params.get("taskStatus").toString()));
model.setRoutePath(model.getRoutePath().replace("nextExecuteIds", "nextExecuteIdsOld"));
model.setTaskStatusLabel(params.get("taskStatusLabel").toString());
model.setEndDate(new Date());
//model.setFinishStatus(Boolean.TRUE);
model.setEndUserId(reginParams.getUserModel().getUserId());
if (params.containsKey("isDelete")) {
Systemctl.taskV2Client.delete(model.getSequenceNbr().toString());
} else {
Systemctl.taskV2Client.update(model, model.getSequenceNbr());
}
return model;
}
public void buildTaskModel(TaskV2Model model) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
model.setStartDate(new Date());
model.setStartUserId(reginParams.getUserModel().getUserId());
model.setTaskSource("workFlow");
model.setCreateDate(new Date());
//model.setFinishStatus(Boolean.FALSE);
//model.setCreateUserId(reginParams.getUserModel().getUserId());
model.setAgencyCode(reginParams.getUserModel().getAgencyCode());
model.setTaskTitle(reginParams.getUserModel().getRealName() + "发起了" + model.getTaskTitle());
Systemctl.taskV2Client.create(model);
}
private String getUrl(String type, String pageType) {
String json = null;
try {
json = IOUtils.toString(bizTypeInfo.getInputStream(), java.lang.String.valueOf(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
List<Map> list = parseArray(json, Map.class);
String url = null;
for (Map map : list) {
if (map.get("type").equals(type) && pageType.equals(map.get("pageType"))) {
url = map.get("url").toString();
break;
}
}
return url;
}
} }
\ No newline at end of file
...@@ -9,19 +9,19 @@ ...@@ -9,19 +9,19 @@
"type": "102", "type": "102",
"pageType": "look", "pageType": "look",
"name": "安装告知", "name": "安装告知",
"url": "/mixuap?appId=1742358052905971713&id=1735246137364869121&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1735246137364869121&sequenceNbr=%s&roleIds=%s&&userId={userId}&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s"
}, },
{ {
"type": "102", "type": "102",
"pageType": "edit", "pageType": "edit",
"name": "安装告知", "name": "安装告知",
"url": "/mixuap?appId=1742358052905971713&id=1734127099570057217&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=edit&noticeStatus=%s&userId={userId}&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1734127099570057217&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&formType=edit&noticeStatus=%s&instanceId=%s"
}, },
{ {
"type": "103", "type": "103",
"pageType": "look", "pageType": "look",
"name": "改造告知", "name": "改造告知",
"url": "/mixuap?appId=1742358052905971713&id=1735246137364869121&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1735246137364869121&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s"
}, },
{ {
"type": "103", "type": "103",
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
"type": "105", "type": "105",
"pageType": "look", "pageType": "look",
"name": "移装告知", "name": "移装告知",
"url": "/mixuap?appId=1742358052905971713&id=1736722525146083329&formType=detail&userId={userId}&roleIds={roleIds}" "url": "/mixuap?appId=1742358052905971713&id=1736722525146083329&formType=detail&roleIds={roleIds}&userId={userId}"
}, },
{ {
"type": "105", "type": "105",
...@@ -57,13 +57,13 @@ ...@@ -57,13 +57,13 @@
"type": "106", "type": "106",
"pageType": "look", "pageType": "look",
"name": "维保备案", "name": "维保备案",
"url": "/mixuap?appId=1742358052905971713&id=1734191433109237761&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=edit&applyStatus=%s&userId={userId}&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1734191433109237761&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&pageType=edit&applyStatus=%s&instanceId=%s"
}, },
{ {
"type": "106", "type": "106",
"pageType": "edit", "pageType": "edit",
"name": "维保备案", "name": "维保备案",
"url": "/mixuap?appId=1742358052905971713&id=1737347718667333633&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=edit&applyStatus=%s&userId={userId}&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737347718667333633&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&pageType=edit&applyStatus=%s&instanceId=%s"
}, },
{ {
"type": "107", "type": "107",
...@@ -105,13 +105,13 @@ ...@@ -105,13 +105,13 @@
"type": "110", "type": "110",
"pageType": "look", "pageType": "look",
"name": "移装变更登记", "name": "移装变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1737388393685348353&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=look&auditStatus=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737388393685348353&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&pageType=look&auditStatus=%s&instanceId=%s"
}, },
{ {
"type": "110", "type": "110",
"pageType": "edit", "pageType": "edit",
"name": "移装变更登记", "name": "移装变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1737388347548004354&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&pageType=edit&auditStatus=%s&userId={userId}&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737388347548004354&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&pageType=edit&auditStatus=%s&instanceId=%s"
}, },
{ {
"type": "111", "type": "111",
...@@ -153,24 +153,24 @@ ...@@ -153,24 +153,24 @@
"type": "113-1", "type": "113-1",
"pageType": "look", "pageType": "look",
"name": "移装报废", "name": "移装报废",
"url": "/mixuap?appId=1742358052905971713&id=1737357871097606146&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737357871097606146&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s"
}, },
{ {
"type": "113-1", "type": "113-1",
"pageType": "edit", "pageType": "edit",
"name": "移装报废", "name": "移装报废",
"url": "/mixuap?appId=1742358052905971713&id=1737358169170014210&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=edit&noticeStatus=%s&userId={userId}&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737358169170014210&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&formType=edit&noticeStatus=%s&instanceId=%s"
}, },
{ {
"type": "113-2", "type": "113-2",
"pageType": "look", "pageType": "look",
"name": "注销报废", "name": "注销报废",
"url": "/mixuap?appId=1742358052905971713&id=1737357871097606146&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737357871097606146&roleIds={roleIds}&userId={userId}&pageType=look"
}, },
{ {
"type": "113-2", "type": "113-2",
"pageType": "edit", "pageType": "edit",
"name": "注销报废", "name": "注销报废",
"url": "/mixuap?appId=1742358052905971713&id=1737358169170014210&sequenceNbr=%s&roleIds=%s&nextExecuteIds=%s&formType=edit&noticeStatus=%s&userId={userId}&instanceId=%s" "url": "/mixuap?appId=1742358052905971713&id=1737358169170014210&roleIds={roleIds}&userId={userId}&pageType=edit"
} }
] ]
\ No newline at end of file
...@@ -5,6 +5,7 @@ import lombok.Getter; ...@@ -5,6 +5,7 @@ import lombok.Getter;
/** /**
* 申请单枚举 * 申请单枚举
*
* @author LiuLin * @author LiuLin
*/ */
...@@ -14,21 +15,21 @@ public enum ApplicationFormTypeEnum { ...@@ -14,21 +15,21 @@ public enum ApplicationFormTypeEnum {
/** /**
* 申请单枚举 * 申请单枚举
*/ */
AZGZ("AZGZ","GZ_AZ"),//安装告知 AZGZ("AZGZ", "GZ_AZ"),//安装告知
WBBA("WBBA","WB_BA"),//维保备案 WBBA("WBBA", "WB_BA"),//维保备案
SYDJ("SYDJ","DJ_SY"),//使用登记 SYDJ("SYDJ", "DJ_SY"),//使用登记
SBYJ("SBYJ","SB_YJ"),//设备移交 SBYJ("SBYJ", "SB_YJ"),//设备移交
GZGZ("GZGZ","GZ_GZ"),//改造告知 GZGZ("GZGZ", "GZ_GZ"),//改造告知
WXGZ("WXGZ","GZ_WX"),//维修告知 WXGZ("WXGZ", "GZ_WX"),//维修告知
YZGZ("YZGZ","GZ_YZ"),//移装告知 YZGZ("YZGZ", "GZ_YZ"),//移装告知
GZBG("GZBG","DJ_GZ"),//改造变更登记 GZBG("GZBG", "DJ_GZ"),//改造变更登记
YZBG("YZBG","DJ_YZ"),//移装变更登记 YZBG("YZBG", "DJ_YZ"),//移装变更登记
DWBG("DWBG","DJ_DW"),//单位变更登记 DWBG("DWBG", "DJ_DW"),//单位变更登记
JY("JY",""), JY("JY", ""),
JG("JG",""),// 检验结果 JG("JG", ""),// 检验结果
SBZX("SBZX","BF_YZ"),//电梯(设备)注销 SBZX("SBZX", "BF_ZX"),//电梯(设备)注销
GMBG("GMBG","DJ_GM"),//更名变更 GMBG("GMBG", "DJ_GM"),//更名变更
TYQY("TYQY","SB_QY")//停用启用 TYQY("TYQY", "SB_QY")//停用启用
; ;
/** /**
......
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