Commit 2730c5a4 authored by 刘凡's avatar 刘凡

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

# Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/CommonServiceImpl.java
parents fa4bf528 6acd0039
......@@ -258,4 +258,6 @@ public class JgInstallationNoticeDto extends BaseDto {
*/
private String createUserName;
private String factoryNum;
}
......@@ -204,4 +204,16 @@ public class JgReformNoticeDto extends BaseDto {
@ApiModelProperty(value = "状态")
private String status;
/**
* 设备监管码
*/
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
/**
* 设备类型
*/
@ApiModelProperty(value = "设备类型")
private String equList;
}
......@@ -414,5 +414,13 @@ public class JgInstallationNotice extends BaseEntity {
@TableField("\"create_user_name\"")
private String createUserName;
/**
* 设备出场编号
*/
// @TableField("\"factory_num\"")
@TableField(exist = false)
private String factoryNum;
}
......@@ -315,4 +315,19 @@ public class JgReformNotice extends BaseEntity {
*/
@TableField(value = "next_task_id")
private String nextTaskId;
@TableField(value = "create_user_company_name")
private String createUserCompanyName;
/**
* 设备监管码
*/
@TableField(exist = false)
private String supervisoryCode;
/**
* 设备类型
*/
@TableField(exist = false)
private String equList;
}
......@@ -24,5 +24,5 @@ public interface JgChangeRegistrationNameMapper extends BaseMapper<JgChangeRegis
void deleteHistoryInfoById(@Param("code") String code);
Page<Map<String, Object>> getListPage(@Param("page") Page<Map<String, Object>> page, @Param("dto") JgChangeRegistrationNameDto dto, @Param("roleIds") List<String> roleIds, @Param("orgCode") String orgCode);
Page<Map<String, Object>> getListPage(@Param("page") Page<Map<String, Object>> page, @Param("dto") JgChangeRegistrationNameDto dto, @Param("roleIds") List<String> roleIds, @Param("companyCode") String companyCode);
}
......@@ -22,7 +22,7 @@ public interface IJgReformNoticeService extends IService<JgReformNotice> {
* @param sequenceNbr 主键
* @return 改造告知
*/
Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr);
Map<String, Object> queryBySequenceNbr(Long sequenceNbr);
/**
* 更新改造告知
......
......@@ -56,7 +56,7 @@
</foreach>
</if>
<if test="dto.type == 'supervision'">
AND ur.receive_org_code = #{orgCode}
AND ur.receive_org_code = #{companyCode}
</if>
<if test="dto.type == 'company'">
and ur.use_unit_credit_code = #{dto.useUnitCreditCode}
......
......@@ -92,9 +92,6 @@
isn.construction_manager AS installLeaderName,
isn.construction_manager_phone AS installLeaderPhone,
ri.equ_code AS equRegisterCode,
ri.equ_list AS equList,
ri.equ_category AS equCategory,
ri.EQU_DEFINE AS equDefine,
fi.FACTORY_NUM AS produceCode,
ri.product_name AS productName,
ri.brand_name AS brandName,
......@@ -124,7 +121,11 @@
ei.legal_person AS safetyManager,
ei.legal_phone AS safetyManagerPhone,
ei.ADDRESS AS useUnitAddress,
ei2.use_code AS useCode
ei2.use_code AS useCode,
tec2.name AS equCategory,
tec1.name AS equList,
tec.name AS equDefine,
oi.SUPERVISORY_CODE AS supervisoryCode
FROM
tzs_jg_reform_notice isn
LEFT JOIN tzs_jg_reform_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr
......@@ -135,6 +136,10 @@
LEFT JOIN idx_biz_jg_use_info ui ON ui.record = re.equ_id
LEFT JOIN tz_base_enterprise_info ei ON ei.use_code = isn.use_unit_credit_code
LEFT JOIN tz_base_enterprise_info ei2 ON ei2.use_code = isn.install_unit_credit_code
LEFT JOIN tz_equipment_category tec ON ri."EQU_CATEGORY"::text = tec.code::text
LEFT JOIN tz_equipment_category tec1 ON ri."EQU_LIST"::text = tec1.code::text
LEFT JOIN tz_equipment_category tec2 ON ri."EQU_DEFINE"::text = tec2.code::text
LEFT JOIN idx_biz_jg_other_info oi ON ri.RECORD = oi.RECORD
WHERE
isn.sequence_nbr = #{sequenceNbr}
LIMIT 1
......
......@@ -118,7 +118,7 @@ public class JgChangeRegistrationNameController extends BaseController {
} else {
dto.setType(COMPANY_TYPE_SUPERVISION);
}
return ResponseHelper.buildResponse(jgChangeRegistrationNameService.getList(dto, page, dto.getRoleIds(),reginParams.getCompany().getOrgCode()));
return ResponseHelper.buildResponse(jgChangeRegistrationNameService.getList(dto, page, dto.getRoleIds(),reginParams.getCompany().getCompanyCode()));
}
......
......@@ -57,13 +57,12 @@ public class JgReformByWorkFlowController {
@TycloudOperation (ApiLevel = UserType.AGENCY)
@PostMapping (value = "/cancel")
@ApiOperation (httpMethod = "POST", value = "改造告知撤销", notes = "改造告知撤销")
public ResponseModel<JgReformNoticeDto> cancel(@RequestBody Map<String, Object> model) {
JgReformNoticeDto installationInfo = BeanUtil.mapToBean(((LinkedHashMap) model.get("reformInfo")), JgReformNoticeDto.class, true);
if (Objects.isNull(installationInfo)) {
public ResponseModel<JgReformNoticeDto> cancel(@RequestBody JgReformNoticeDto model) {
if (Objects.isNull(model)) {
throw new IllegalArgumentException("参数reformInfo不能为空");
}
jgReformNoticeService.cancel(installationInfo);
return ResponseHelper.buildResponse(installationInfo);
jgReformNoticeService.cancel(model);
return ResponseHelper.buildResponse(model);
}
/**
......@@ -77,9 +76,8 @@ public class JgReformByWorkFlowController {
public ResponseModel<JgReformNoticeDto> accept(@RequestBody Map<String, Object> model, String op) {
// TODO 受理改造告知流程
LinkedHashMap model1 = (LinkedHashMap) model.get("model");
LinkedHashMap installationInfo = (LinkedHashMap) model1.get("reformInfo");
String opinion = (String) model.get("opinion");
JgReformNoticeDto jgReformNoticeDto = JSON.parseObject(JSON.toJSONString(installationInfo), JgReformNoticeDto.class);
JgReformNoticeDto jgReformNoticeDto = JSON.parseObject(JSON.toJSONString(model1), JgReformNoticeDto.class);
jgReformNoticeDto.setRemark(opinion);
jgReformNoticeService.accept(jgReformNoticeDto, op);
return ResponseHelper.buildResponse(null);
......
......@@ -59,15 +59,11 @@ public class JgReformNoticeController extends BaseController {
@TycloudOperation (ApiLevel = UserType.AGENCY)
@PutMapping (value = "/update")
@ApiOperation (httpMethod = "PUT", value = "根据sequenceNbr更新改造告知", notes = "根据sequenceNbr更新改造告知")
public ResponseModel<JgReformNoticeDto> updateBySequenceNbrJgReformNotice(@RequestParam String submitType, @RequestBody Map<String, Object> model, @RequestParam (value = "op", required = false) String op) {
JgReformNoticeDto installationInfo = BeanUtil.mapToBean(((LinkedHashMap) model.get("reformInfo")), JgReformNoticeDto.class, true);
public ResponseModel<JgReformNoticeDto> updateBySequenceNbrJgReformNotice(@RequestParam String submitType, @RequestBody JgReformNoticeDto installationInfo, @RequestParam (value = "op", required = false) String op) {
if (Objects.isNull(installationInfo)) {
throw new IllegalArgumentException("参数installationInfo不能为空");
}
// Object o = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("proxyStatementAttachment");
// Object o1 = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("installContractAttachment");
// installationInfo.setProxyStatementAttachmentList((List<Map<String, Object>>) o);
// installationInfo.setInstallContractAttachmentList((List<Map<String, Object>>) o1);
return ResponseHelper.buildResponse(jgReformNoticeService.updateInstallationNotice(submitType, installationInfo, op));
}
......@@ -107,8 +103,7 @@ public class JgReformNoticeController extends BaseController {
@TycloudOperation (ApiLevel = UserType.AGENCY)
@GetMapping (value = "/details")
@ApiOperation (httpMethod = "GET", value = "根据sequenceNbr查询单个改造告知", notes = "根据sequenceNbr查询单个改造告知")
public ResponseModel<Map<String,
Map<String, Object>>> selectOne(@RequestParam ("sequenceNbr") Long sequenceNbr) {
public ResponseModel<Map<String, Object>> selectOne(@RequestParam ("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgReformNoticeService.queryBySequenceNbr(sequenceNbr));
}
......
......@@ -29,7 +29,6 @@ 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.mapper.EquipmentCategoryMapper;
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;
......@@ -45,11 +44,9 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.servlet.http.HttpServletResponse;
import java.awt.print.Book;
import java.io.File;
import java.io.FileInputStream;
import java.io.UnsupportedEncodingException;
......@@ -577,7 +574,7 @@ public class CommonServiceImpl implements ICommonService {
JSONObject jsonObject = new JSONObject(provideMap);
jgChangeRegistrationUnitServiceImpl.saveNotice(submitType, jsonObject, reginParams);
} else if (type.equals(ApplicationFormTypeEnum.WBBA.getBusinessCode())) {
noticeObj.put("pageType","add");
noticeObj.put("pageType", "add");
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
JSONObject jsonObject = new JSONObject(noticeObj);
jgMaintenanceContractServiceImpl.saveOrSubmit(submitType, jsonObject, reginParams);
......@@ -585,9 +582,10 @@ public class CommonServiceImpl implements ICommonService {
JgEquipTransferDto jgEquipTransferDto = JSON.parseObject(JSON.toJSONString(noticeObj), JgEquipTransferDto.class);
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(jgEquipTransferDto);
jsonObject.put("businessCode", type);
jgEquipTransferServiceImpl.saveTransfer(submitType, jsonObject, reginParams);
} else if (type.contains(ApplicationFormTypeEnum.YZBF.getBusinessCode())||type.contains(ApplicationFormTypeEnum.ZXBF.getBusinessCode())) {
} else if (type.contains(ApplicationFormTypeEnum.YZBF.getBusinessCode()) || type.contains(ApplicationFormTypeEnum.ZXBF.getBusinessCode())) {
noticeObj.put("cancelType", type.equals("BF_ZX") ? "1" : "2");
noticeObj.put("receiveOrgCreditCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
provideMap.put(SBZX_PAGE_ID, noticeObj);
JSONObject jsonObject = new JSONObject(provideMap);
......@@ -600,7 +598,7 @@ public class CommonServiceImpl implements ICommonService {
jgChangeRegistrationNameService.save2(submitType, jsonObject);
} else if (type.equals(ApplicationFormTypeEnum.SBQY.getBusinessCode()) || type.equals(ApplicationFormTypeEnum.SBTY.getBusinessCode())) {
noticeObj.put("submit", submitType);
noticeObj.put("pageType","add");
noticeObj.put("pageType", "add");
noticeObj.put("receiveOrgCode", !ObjectUtils.isEmpty(basicObj.get("receiveOrgCreditCode")) ? String.valueOf(basicObj.get("receiveOrgCreditCode")) : String.valueOf(basicObj.get("receiveOrgCreditCode1")));
JSONObject jsonObject = new JSONObject(noticeObj);
jgEnableDisableServiceImpl.saveOrUpdate(jsonObject, reginParams);
......@@ -633,11 +631,11 @@ public class CommonServiceImpl implements ICommonService {
}
List<Map> urlList = JsonUtils.getResourceList(urlInfo);
for (Map map : urlList) {
if (map.get("type").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) &&BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode().equals(obj.getTaskType()) &&
!"16723".equals(obj.getFlowStatus().toString()) && map.get("pageType").equals("edit")) {
if (map.get("type").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && obj.getTaskType().equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) &&
!obj.getFlowStatus().toString().equals("16723") && map.get("pageType").equals("edit")) {
model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getNextExecuteUser()) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
break;
}else if (map.get("type").equals(obj.getTaskType()) && map.get("pageType").equals("look")) {
} else if (map.get("type").equals(obj.getTaskType()) && map.get("pageType").equals("look")) {
model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getNextExecuteUser()) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
break;
}
......@@ -665,7 +663,6 @@ public class CommonServiceImpl implements ICommonService {
* flowStatusLabel 任务状态枚举code
* 流程实例id instanceId
* flowCode 任务id
**/
public TaskV2Model updateTaskModel(Map<String, Object> params) {
String exeUserId = RequestContext.getExeUserId();
......@@ -693,7 +690,7 @@ public class CommonServiceImpl implements ICommonService {
// tarUrl+"&executeUserIds="
// model.setRoutePath( roleIds[0]+"roleIds="+"55555"+"&userId"+userIds[1]);
//当流程完成时将所有待办状态统一修改为已完成
if (collect.get(0).getFlowStatusLabel().equals(FlowStatusEnum.TO_BE_FINISHED.getName())){
if (collect.get(0).getFlowStatusLabel().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) {
String urlParams = "";
......@@ -717,8 +714,8 @@ public class CommonServiceImpl implements ICommonService {
taskV2Model.setFlowStatus(FlowStatusEnum.TO_BE_FINISHED.getCode());
}
Systemctl.taskV2Client.batchUpdate(collect);
}else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=","roleIds=55555&fq="));
} else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq="));
Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr());
}
......@@ -740,7 +737,6 @@ public class CommonServiceImpl implements ICommonService {
* flowStatusLabel 任务状态枚举code
* 流程实例id instanceId
* flowCode 任务id
**/
public TaskV2Model updateTaskModelNew(Map<String, Object> params) {
String exeUserId = RequestContext.getExeUserId();
......@@ -750,7 +746,7 @@ public class CommonServiceImpl implements ICommonService {
// .findFirst()
// .orElse(null);
List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
if (null ==collect || collect.size() == 0) {
if (null == collect || collect.size() == 0) {
TaskV2Model model = new TaskV2Model();
model.setFlowStatus(Integer.valueOf(params.get("flowStatus").toString()));
model.setFlowStatusLabel(params.get("flowStatusLabel").toString());
......@@ -765,7 +761,7 @@ public class CommonServiceImpl implements ICommonService {
collect.get(0).setEndUserId(exeUserId);
collect.get(0).setEndDate(new Date());
//当流程完成时将所有待办状态统一修改为已完成
if (collect.get(0).getFlowStatusLabel().equals(FlowStatusEnum.TO_BE_FINISHED.getName())){
if (collect.get(0).getFlowStatusLabel().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) {
String urlParams = "";
try {
urlParams = "&" + toQueryParams(params.get("model"));
......@@ -787,8 +783,8 @@ public class CommonServiceImpl implements ICommonService {
taskV2Model.setFlowStatus(FlowStatusEnum.TO_BE_FINISHED.getCode());
}
Systemctl.taskV2Client.batchUpdate(collect);
}else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=","roleIds=55555&fq="));
} else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq="));
Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr());
}
collect.get(0).setEndUserId(null);
......@@ -803,6 +799,7 @@ public class CommonServiceImpl implements ICommonService {
/**
* 待办 撤回
*
* @param id 工作流实例id
* @param obj 自己的实体:taskType为BusinessTypeEnum code;nextExecuteUser
*/
......@@ -811,17 +808,17 @@ public class CommonServiceImpl implements ICommonService {
List<TaskV2Model> list = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
TaskV2Model model = list.get(0);
Systemctl.taskV2Client.delete(String.valueOf(model.getSequenceNbr()));
if (list.size() >1){
if (list.size() > 1) {
TaskV2Model lastTaskModel = list.get(1);
lastTaskModel.setEndUserId(null);
lastTaskModel.setEndDate(null);
lastTaskModel.setTaskStatus(0);
lastTaskModel.setTaskStatusLabel("待处理");
lastTaskModel.setFlowCode(obj.get("nextTaskId").toString());
if(obj.get("flowStatus") != null){
if (obj.get("flowStatus") != null) {
lastTaskModel.setFlowStatus(Integer.valueOf(obj.get("flowStatus").toString()));
}
if(obj.get("flowStatusLabel") != null){
if (obj.get("flowStatusLabel") != null) {
lastTaskModel.setFlowStatusLabel(obj.get("flowStatusLabel").toString());
}
String urlParams = "";
......@@ -835,7 +832,7 @@ public class CommonServiceImpl implements ICommonService {
if (map.get("type").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && obj.getString("taskType").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && map.get("pageType").equals("edit")) {
model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getString("nextExecuteUser")) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
break;
}else if (map.get("type").equals(obj.get("taskType")) && map.get("pageType").equals("look")) {
} else if (map.get("type").equals(obj.get("taskType")) && map.get("pageType").equals("edit")) {
model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.get("nextExecuteUser").toString()) + urlParams);
break;
}
......
......@@ -600,13 +600,13 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
return map;
}
public Page<Map<String, Object>> getList(JgChangeRegistrationNameDto dto, Page<Map<String, Object>> page, List<String> roleIds, String orgCode) {
public Page<Map<String, Object>> getList(JgChangeRegistrationNameDto dto, Page<Map<String, Object>> page, List<String> roleIds, String companyCode) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getReceiveOrgCode())) {
String[] receiveOrgIdList = dto.getReceiveOrgCode().split("_");
if (receiveOrgIdList.length > 1) {
dto.setReceiveOrgCode(receiveOrgIdList[0]);
}
}
return this.baseMapper.getListPage(page, dto, roleIds, orgCode);
return this.baseMapper.getListPage(page, dto, roleIds, companyCode);
}
}
\ No newline at end of file
......@@ -368,6 +368,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
}
jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId());
jgChangeRegistrationReform.setNextTaskId(workflowResultDto.getNextTaskId());
jgChangeRegistrationReform.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
jgChangeRegistrationReform.setNextExecutorIds(role);
this.update(jgChangeRegistrationReform, lambda);
// commonServiceImpl.deleteTaskModel(instanceId);
......
......@@ -256,6 +256,48 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
JgChangeRegistrationUnitMapper.updateById(notice);
createTaskModel(notice,taskname,"1", nextUserIds);
}else {
ArrayList<String> roleList = new ArrayList<>();
String taskId = noticeDto.getNextTaskId();
//组装信息
TaskResultDTO task = new TaskResultDTO();
task.setResultCode("approvalStatus");
task.setTaskId(taskId);
task.setComment("");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
if (!ObjectUtils.isEmpty(noticeDto.getInstanceStatus()) &&
(noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
noticeDto.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
map.put("approvalStatus", "提交");
}
task.setVariable(map);
//执行流程
ProcessTaskDTO processTaskDTO = cmWorkflowService.complete(taskId, task);
JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
BeanUtils.copyProperties(noticeDto, bean);
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
String taskName1 = "";
String nextTaskId = "";
this.buildRoleList(Collections.singletonList(processTaskDTO), roleList, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
if(processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() >0){
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName1 = processTaskDTO.getNextTask().get(0).getName();
nextTaskId = processTaskDTO.getNextTask().get(0).getId();
}
bean.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(bean.getInstanceStatus())) {
bean.setInstanceStatus(bean.getInstanceStatus() + "," + String.join(",", roleList));
} else {
bean.setInstanceStatus(String.join(",", roleList));
}
bean.setNextTaskId(nextTaskId);
bean.setPromoter(RequestContext.getExeUserId());
bean.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
executeOneStep(bean, taskName1, nextUserIds, op);
JgChangeRegistrationUnitMapper.updateById(bean);
}
} else {
JgChangeRegistrationUnit bean = new JgChangeRegistrationUnit();
......@@ -352,6 +394,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
List<String> instanceIdList = new ArrayList<>();
List<String> taskIds = new ArrayList<>();
List<WorkflowResultDto> workflowResultDtos = new ArrayList<>();
String nextExecutorRoleIds = "";
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
// 发起流程
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
......@@ -368,7 +411,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
workflowResultDtos = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
nextExecutorRoleIds = workflowResultDtos.get(0).getNextExecutorRoleIds();
for (WorkflowResultDto processTaskDTO : workflowResultDtos) {
instanceIdList.add(processTaskDTO.getInstanceId());
taskIds.add(processTaskDTO.getNextTaskId());
......@@ -430,6 +473,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
List<JgChangeRegistrationUnit> list = new ArrayList<>();
List<JgChangeRegistrationUnitEq> equipList = new ArrayList<>();
String finalNextExecutorRoleIds = nextExecutorRoleIds;
deviceList.forEach(obj -> {
JgChangeRegistrationUnitEq jgRelationEquip = new JgChangeRegistrationUnitEq();
JgChangeRegistrationUnit dto = new JgChangeRegistrationUnit();
......@@ -439,7 +483,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
dto.setApplyNo(applyNo);
dto.setApplyDate(new Date());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecutorIds(String.join(",", roleListSecond));
dto.setNextExecutorIds(finalNextExecutorRoleIds);
dto.setInstanceStatus(String.join(",", roleListFirst));
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setStatus(taskName[0]);
......@@ -643,16 +687,18 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// 待调整
taskCode = processTaskDTO.getNextTask().get(0).getKey();
JgChangeRegistrationUnit JgChangeRegistrationUnit = this.baseMapper.selectById(noticeDto.getSequenceNbr());
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getRollBack());
JgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
JgChangeRegistrationUnit.setPromoter("");
JgChangeRegistrationUnit.setNextTaskId(nextTaskId);
JgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleListNext));
JgChangeRegistrationUnitMapper.updateById(JgChangeRegistrationUnit);
// 删除待办
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(JgChangeRegistrationUnit));
jsonObject.put("nextTaskId", JgChangeRegistrationUnit.getNextTaskId());
jsonObject.put("nextExecuteUser", JgChangeRegistrationUnit.getNextExecutorIds());
jsonObject.put("taskType",BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getCode());
jsonObject.put("taskType", BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
jsonObject.put("flowStatus", this.getTaskCodeByName(JgChangeRegistrationUnit.getStatus()));
jsonObject.put("flowStatusLabel", JgChangeRegistrationUnit.getStatus());
commonServiceImpl.rollbackTask(noticeDto.getInstanceId(), jsonObject);
}
......@@ -678,8 +724,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
if (!ObjectUtils.isEmpty(jgChangeRegistrationUnit.getInstanceStatus()) &&
(jgChangeRegistrationUnit.getAuditStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
jgChangeRegistrationUnit.getAuditStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
(jgChangeRegistrationUnit.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getReject()) ||
jgChangeRegistrationUnit.getStatus().equals(WorkFlowStatusEnum.UNIT_RENAME_SUBMIT.getRollBack()))) {
map.put("approvalStatus", "提交");
}
task.setVariable(map);
......@@ -755,18 +801,25 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
jgChangeRegistrationUnit.setInstanceStatus(String.join(",", roleList));
}
jgChangeRegistrationUnit.setPromoter(userId);
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getPass());
jgChangeRegistrationUnit.setNextTaskId(nextTaskId);
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
executeOneStep(jgChangeRegistrationUnit, taskName1, nextUserIds, op); }
} else {
jgChangeRegistrationUnit.setPromoter("");
jgChangeRegistrationUnit.setNextExecutorIds(String.join(",", roleList));
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskName[0]).getReject());
jgChangeRegistrationUnit.setNextTaskId(nextTaskId);
jgChangeRegistrationUnit.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
executeOneStep(jgChangeRegistrationUnit, taskName1, nextUserIds, op);
}
JgChangeRegistrationUnitMapper.updateById(jgChangeRegistrationUnit);
// }
}
private Integer getTaskCodeByName(String auditStatus) {
return commonServiceImpl.getDictionaryCodeByName(auditStatus);
}
/**
* 修改各类告知列表,置为废弃
*
......@@ -925,42 +978,73 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
});
}
// private void executeOneStep(JgChangeRegistrationUnit jgChangeRegistrationName, String taskName, String nextUserIds, String operate) {
// // 先更新之前的待办
// TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName, operate);
// TaskModelDto taskModelDto = new TaskModelDto();
// taskModelDto.setTaskDesc("");
// taskModelDto.setTaskContent(this.buildTaskContent(jgChangeRegistrationName));
// taskV2Model.setTaskName(taskName);
// taskModelDto.setTaskDesc("");
// taskModelDto.setTaskCode(jgChangeRegistrationName.getApplyNo());
// taskV2Model.setExecuteUserIds(nextUserIds);
// taskV2Model.setRelationId(jgChangeRegistrationName.getInstanceId());
// taskV2Model.setTaskStatus(this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus()));
// taskV2Model.setTaskStatusLabel(jgChangeRegistrationName.getAuditStatus());
// taskV2Model.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
// taskModelDto.setStartUser(jgChangeRegistrationName.getCreateUserName());
// taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
// taskModelDto.setStartDate(jgChangeRegistrationName.getCreateDate());
// taskModelDto.setStartUserId(jgChangeRegistrationName.getCreateUserId());
// taskModelDto.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName());
// taskModelDto.setExecuteUserIds(nextUserIds);
// TaskModelDto modelDto = new TaskModelDto();
// BeanUtil.copyProperties(taskV2Model,modelDto);
// modelDto.setNextExecuteUser(jgChangeRegistrationName.getNextExecutorIds());
// modelDto.setModel(jgChangeRegistrationName);
// // 再插入新代办、数据待定
// commonServiceImpl.buildTaskModel(Collections.singletonList(modelDto));
// }
private void executeOneStep(JgChangeRegistrationUnit jgChangeRegistrationName, String taskName, String nextUserIds, String operate) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName, operate);
TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setTaskDesc("");
taskModelDto.setTaskContent(this.buildTaskContent(jgChangeRegistrationName));
taskV2Model.setTaskDesc("");
taskV2Model.setTaskName(taskName);
taskModelDto.setTaskDesc("");
taskModelDto.setTaskCode(jgChangeRegistrationName.getApplyNo());
taskV2Model.setTaskDesc("");
taskV2Model.setTaskCode(jgChangeRegistrationName.getApplyNo());
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setRelationId(jgChangeRegistrationName.getInstanceId());
taskV2Model.setTaskStatus(this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus()));
taskV2Model.setTaskStatusLabel(jgChangeRegistrationName.getAuditStatus());
taskV2Model.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
taskModelDto.setStartUser(jgChangeRegistrationName.getCreateUserName());
taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
taskModelDto.setStartDate(jgChangeRegistrationName.getCreateDate());
taskModelDto.setStartUserId(jgChangeRegistrationName.getCreateUserId());
taskModelDto.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName());
taskModelDto.setExecuteUserIds(nextUserIds);
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
taskV2Model.setTaskStatus(this.getTaskStatusByName(jgChangeRegistrationName.getStatus()));
taskV2Model.setTaskStatusLabel(jgChangeRegistrationName.getStatus());
taskV2Model.setFlowStatus(this.getTaskStatusByName(jgChangeRegistrationName.getStatus()));
taskV2Model.setFlowStatusLabel(jgChangeRegistrationName.getStatus());
// taskV2Model.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
// taskV2Model.setStartUser(jgChangeRegistrationName.getCreateUserName());
// taskV2Model.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
// taskV2Model.setStartDate(jgChangeRegistrationName.getCreateDate());
// taskV2Model.setStartUserId(jgChangeRegistrationName.getCreateUserId());
// taskV2Model.setStartUserCompanyName(jgChangeRegistrationName.getUseUnitName());
taskV2Model.setExecuteUserIds(nextUserIds);
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model,modelDto);
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(jgChangeRegistrationName.getNextExecutorIds());
modelDto.setModel(jgChangeRegistrationName);
// 再插入新代办、数据待定
commonServiceImpl.buildTaskModel(Collections.singletonList(modelDto));
}
private TaskV2Model updateTaskModel(JgChangeRegistrationUnit jgChangeRegistrationName, String operate) {
Map<String, Object> params = new HashMap<>();
FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
params.put("relationId",jgChangeRegistrationName.getInstanceId());
params.put("taskStatus", flowStatusEnum.getCode());
params.put("taskStatusLabel", flowStatusEnum.getName());
params.put("flowStatus",this.getTaskStatusByName(jgChangeRegistrationName.getAuditStatus()));
params.put("flowStatusLabel",jgChangeRegistrationName.getAuditStatus());
params.put("flowStatus",this.getTaskStatusByName(jgChangeRegistrationName.getStatus()));
params.put("flowStatusLabel",jgChangeRegistrationName.getStatus());
params.put("model",jgChangeRegistrationName);
return commonServiceImpl.updateTaskModel(params);
}
......
......@@ -24,7 +24,7 @@ import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
......@@ -83,13 +83,12 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
convertField(model);
List<Map<String, Object>> deviceList = model.getDeviceList();
if (CollectionUtils.isEmpty(deviceList)) {
return;
throw new BadRequest("请选择设备!");
}
//获取申请单编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.SBYJ.getCode(), deviceList.size());
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(jsonObjectMap.get("businessCode"))), deviceList.size());
this.handleResponseModel(listResponseModel, "告知单获取失败: ");
List<String> applyNoList = listResponseModel.getResult();
this.handleApplyNoList(applyNoList);
......@@ -120,6 +119,86 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
}
/**
* 上个代办改为已办
*
* @param transfer 设备信息
* @return 代办信息
*/
private TaskV2Model updateLastTodo(JgEquipTransfer transfer, FlowStatusEnum statusEnum) {
return commonService.updateTaskModel(MapBuilder.<String, Object>create()
.put("taskStatus", statusEnum.getCode())
.put("taskStatusLabel", statusEnum.getName())
.put("flowStatus", statusEnum.getCode())
.put("flowStatusLabel", statusEnum.getName())
.put("relationId", transfer.getInstanceId())
.put("model",transfer)
.build());
}
/**
* 组装代办消息
*
* @param item 设备移交信息
* @param workflowResultDto 工作流返回信息
* @return 代办信息
*/
private TaskModelDto buildTaskModelDto(JgEquipTransfer item, WorkflowResultDto workflowResultDto) {
return TaskModelDto.builder()
.flowCreateDate(item.getCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(item.getApplyNo())
.taskType(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getCode())
.taskTypeLabel(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getName())
.relationId(item.getInstanceId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.taskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.flowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.flowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()))
.taskDesc(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()))
.startUserId(item.getCreateUserId())
.startUser(item.getCreateUserName())
.startUserCompanyName(item.getCreateUserCompanyName())
.startDate(item.getCreateDate())
.model(item)
.nextExecuteUser(item.getNextExecuteIds())
.build();
}
/**
* 创建新代办
*
* @param transfer 设备信息
* @param workflowResultDto 工作流信息
* @param taskV2Model 代办信息
*/
private void createNewTodo(JgEquipTransfer transfer, WorkflowResultDto workflowResultDto, TaskV2Model taskV2Model, FlowStatusEnum statusEnum) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
TaskModelDto taskModelDto = TaskModelDto.builder()
.flowCreateDate(taskV2Model.getFlowCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(taskV2Model.getTaskCode())
.taskType(taskV2Model.getTaskType())
.taskTypeLabel(taskV2Model.getTaskTypeLabel())
.relationId(taskV2Model.getRelationId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatusLabel(statusEnum.getName())
.flowStatus(statusEnum.getCode())
.flowStatusLabel(statusEnum.getName())
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", transfer.getEquList(), transfer.getSupervisoryCode(), transfer.getApplyNo()))
.taskDesc(String.format("来自%s【%s】的业务办理,【申请单号:%s】", transfer.getEquList(), transfer.getSupervisoryCode(), transfer.getApplyNo()))
.startUserCompanyName(reginParams.getCompany().getCompanyName())
.startUserId(taskV2Model.getStartUserId())
.startUser(taskV2Model.getStartUser())
.startDate(taskV2Model.getStartDate())
.model(transfer)
.nextExecuteUser(workflowResultDto.getNextExecutorRoleIds())
.build();
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
/**
* 暂存
*
* @param submitType 保存或保存并提交
......@@ -127,19 +206,16 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* @param op
* @return 设备信息
*/
@Transactional(rollbackFor = {Exception.class, BaseException.class})
public JgEquipTransferDto updateEquipTransfer(String submitType, JgEquipTransferDto equipTransferDto, String op) {
if (Objects.isNull(equipTransferDto) || StringUtils.isEmpty(submitType))
throw new IllegalArgumentException("参数不能为空");
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(
RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
this.convertField(equipTransferDto);
equipTransferDto.setPromoter(reginParams.getUserModel().getUserId());
JgEquipTransfer transfer = this.getById(equipTransferDto.getSequenceNbr());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
if (!org.springframework.util.StringUtils.hasText(equipTransferDto.getInstanceId())) {
if (!StringUtils.hasText(equipTransferDto.getInstanceId())) {
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
......@@ -213,7 +289,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* @param op 通过或驳回
*/
public void accept(JgEquipTransferDto jgEquipTransferDto, String op) {
String userId = RequestContext.getExeUserId();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgEquipTransfer jgEquipTransfer = baseMapper.selectById(jgEquipTransferDto.getSequenceNbr());
......@@ -232,17 +307,16 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
// 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
jgEquipTransfer.setPromoter(reginParams.getUserModel().getUserId());
TaskV2Model taskV2Model;
jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice());
JgEquipTransferEq jgEquipTransferEq = jgEquipTransferEqMapper.selectOne(Wrappers.<JgEquipTransferEq>lambdaQuery().select(JgEquipTransferEq::getEquId)
.eq(JgEquipTransferEq::getEquipTransferId, jgEquipTransferDto.getSequenceNbr()));
TaskV2Model taskV2Model;
if ("0".equals(op)) {
if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
jgEquipTransfer.setPromoter("");
jgEquipTransfer.setAcceptDate(new Date());
if (jgEquipTransferEq != null) {
Map<String, Map<String, Object>> resultMap = MapBuilder.<String, Map<String, Object>>create()
.put(jgEquipTransferEq.getEquId(), MapBuilder.<String, Object>create()
......@@ -262,7 +336,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
} else {
jgEquipTransfer.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
}
jgEquipTransfer.setPromoter(userId);
jgEquipTransfer.setPromoter(RequestContext.getExeUserId());
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgEquipTransfer.setNextTaskId(workflowResultDto.getNextTaskId());
// 上个代办改为已办
......@@ -281,7 +355,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
taskV2Model = this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.REJECTED);
this.createNewTodo(jgEquipTransfer, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_SUBMITTED);
}
updateById(jgEquipTransfer);
}
......@@ -335,31 +408,12 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
if (Objects.isNull(equipTransfer))
return null;
return Stream.concat(
createEquipTransferInfo(equipTransfer).entrySet().stream(),
baseMapper.queryEquipInformation(sequenceNbr).get(0).entrySet().stream()
)
return Stream.concat(createEquipTransferInfo(equipTransfer).entrySet().stream(),
baseMapper.queryEquipInformation(sequenceNbr).get(0).entrySet().stream())
.filter(entry -> entry.getValue() != null)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (existing, replacement) -> existing));
}
/**
* 上个代办改为已办
*
* @param transfer 设备信息
* @return 代办信息
*/
private TaskV2Model updateLastTodo(JgEquipTransfer transfer, FlowStatusEnum statusEnum) {
return commonService.updateTaskModel(MapBuilder.<String, Object>create()
.put("taskStatus", statusEnum.getCode())
.put("taskStatusLabel", statusEnum.getName())
.put("flowStatus", statusEnum.getCode())
.put("flowStatusLabel", statusEnum.getName())
.put("relationId", transfer.getInstanceId())
.build());
}
/**
* 插入代办
*/
......@@ -374,69 +428,6 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
}
/**
* 组装代办消息
*
* @param item 设备移交信息
* @param workflowResultDto 工作流返回信息
* @return 代办信息
*/
private TaskModelDto buildTaskModelDto(JgEquipTransfer item, WorkflowResultDto workflowResultDto) {
return TaskModelDto.builder()
.flowCreateDate(item.getCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(item.getApplyNo())
.taskType(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getCode())
.taskTypeLabel(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getName())
.relationId(item.getInstanceId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.taskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.flowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.flowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()))
.taskDesc(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()))
.startUserId(item.getCreateUserId())
.startUser(item.getCreateUserName())
.startUserCompanyName(item.getCreateUserCompanyName())
.startDate(item.getCreateDate())
.model(item)
.nextExecuteUser(item.getNextExecuteIds())
.build();
}
/**
* 创建新代办
*
* @param transfer 设备信息
* @param workflowResultDto 工作流信息
* @param taskV2Model 代办信息
*/
private void createNewTodo(JgEquipTransfer transfer, WorkflowResultDto workflowResultDto, TaskV2Model taskV2Model, FlowStatusEnum statusEnum) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
TaskModelDto taskModelDto = TaskModelDto.builder()
.flowCreateDate(taskV2Model.getFlowCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(taskV2Model.getTaskCode())
.taskType(taskV2Model.getTaskType())
.taskTypeLabel(taskV2Model.getTaskTypeLabel())
.relationId(taskV2Model.getRelationId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatusLabel(statusEnum.getName())
.flowStatus(statusEnum.getCode())
.flowStatusLabel(statusEnum.getName())
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", transfer.getEquList(), transfer.getSupervisoryCode(), transfer.getApplyNo()))
.taskDesc(String.format("来自%s【%s】的业务办理,【申请单号:%s】", transfer.getEquList(), transfer.getSupervisoryCode(), transfer.getApplyNo()))
.startUserCompanyName(reginParams.getCompany().getCompanyName())
.startUserId(taskV2Model.getStartUserId())
.startUser(taskV2Model.getStartUser())
.startDate(taskV2Model.getStartDate())
.model(transfer)
.nextExecuteUser(workflowResultDto.getNextExecutorRoleIds())
.build();
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
/**
* 启动工作流
*
* @param submitType 提交类型
......
......@@ -197,7 +197,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
}
}
Map<String, Object> map = equipmentInfos.get(0);
BeanUtil.copyProperties(installationInfo, map, "equList", "supervisoryCode");
BeanUtil.copyProperties(installationInfo, map, "equList", "supervisoryCode", "factoryNum");
return new HashMap<String, Map<String, Object>>() {{
this.put("installationInfo", map);
}};
......@@ -210,7 +210,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
*/
@SuppressWarnings({"rawtypes", "Duplicates"})
public JgInstallationNoticeDto updateInstallationNotice(String submitType, JgInstallationNoticeDto noticeDto, String op) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空");
}
......@@ -526,7 +525,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
taskModelDto.setStartDate(item.getCreateDate());
taskModelDto.setModel(item);
taskModelDto.setNextExecuteUser(item.getNextExecuteIds());
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), StringUtils.isEmpty(item.getEquRegisterCode()) ? "" : item.getEquRegisterCode(), item.getApplyNo()));
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), StringUtils.isEmpty(item.getFactoryNum()) ? "" : item.getFactoryNum(), item.getApplyNo()));
taskModelDtoList.add(taskModelDto);
});
commonService.buildTaskModel(taskModelDtoList);
......@@ -553,6 +552,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
dto.setEntrustingUnitName(dto.getUseUnitName());
dto.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
dto.setEquRegisterCode(String.valueOf(obj.get("EQU_CODE")));
dto.setFactoryNum(String.valueOf(obj.get("FACTORY_NUM")));
StringBuffer buffer = new StringBuffer();
buffer.append(dto.getProvinceName()).append(dto.getCityName()).append(dto.getCountyName()).append(dto.getAddress());
dto.setEquAddress(buffer.toString());
......
......@@ -706,6 +706,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
taskMap.put("relationId", jgMaintainNotice.getInstanceId());
taskMap.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskMap.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskMap.put("model", jgMaintainNotice);
commonService.updateTaskModel(taskMap);
} else {
jgMaintainNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgReformNoticeDto;
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.JgReformNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNoticeEq;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgReformNoticeEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgReformNoticeMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgReformNoticeService;
......@@ -22,13 +27,8 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
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.mapper.*;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import jdk.nashorn.api.scripting.JSObject;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -46,6 +46,7 @@ import java.text.ParseException;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 改造告知服务实现类
......@@ -73,11 +74,6 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
@Autowired
JgReformNoticeEqMapper jgReformNoticeEqMapper;
@Autowired
private JgReformNoticeMapper jgReformNoticeMapper;
// @Autowired
// private EquipmentCategoryServiceImpl equipmentCategoryService;
@Autowired
RegistrationInfoMapper tzsJgRegistrationInfoMapper;
@Autowired
......@@ -86,10 +82,16 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
@Autowired
RedisUtils redisUtils;
@Autowired
private JgReformNoticeMapper jgReformNoticeMapper;
@Autowired
private TzBaseUnitLicenceMapper baseUnitLicenceMapper;
@Autowired
private CommonServiceImpl commonService;
@Autowired
private CmWorkflowServiceImpl cmWorkflowService;
/**
* 根据sequenceNbr查询
......@@ -98,7 +100,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
* @return 改造告知
*/
@Override
public Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr) {
public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) {
// 改造告知信息
JgReformNotice notice = jgReformNoticeMapper.selectById(sequenceNbr);
if (Objects.isNull(notice)) {
......@@ -132,10 +134,13 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
}
installationInfo.put("constructionManagerId", notice.getConstructionManagerId() + "_" + notice.getConstructionManager());
return new HashMap<String, Map<String, Object>>() {{
this.put("reformInfo", installationInfo);
this.put("equipmentInfo", equipmentInfos.get(0));
}};
return Stream.concat(
installationInfo.entrySet().stream(),
equipmentInfos.get(0).entrySet().stream()
)
.filter(entry -> entry.getValue() != null)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (existing, replacement) -> existing));
}
/**
......@@ -143,55 +148,72 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
*
* @param noticeDto 改造告知
*/
@SuppressWarnings ({"rawtypes", "Duplicates"})
@SuppressWarnings({"rawtypes", "Duplicates"})
public JgReformNoticeDto updateInstallationNotice(String submitType, JgReformNoticeDto noticeDto, String op) {
if (Objects.isNull(noticeDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空");
}
String[] taskName = new String[]{"流程结束"};
// 字段转换
this.convertField(noticeDto);
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
JgReformNotice notice = this.getById(noticeDto.getSequenceNbr());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
AjaxResult ajaxResult;
// 发起流程
if (!StringUtils.hasText(noticeDto.getInstanceId())) {
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey("1");
try {
ajaxResult = Workflow.taskClient.startByVariable(dto);
String instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
noticeDto.setInstanceId(instanceId);
// 查询下节点任务
getNext(roleListFirst, instanceId, taskName);
noticeDto.setInstanceStatus(String.join(",", roleListFirst));
} catch (Exception e) {
log.error("提交失败:{}", e);
}
}
JgReformNotice notice = new JgReformNotice();
dto.setBusinessKey(noticeDto.getSequenceNbr().toString());
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
ProcessTaskDTO processTaskDTO = cmWorkflowService.startBatch(actWorkflowBatchDTO).get(0);
// 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
BeanUtils.copyProperties(noticeDto, notice);
op = "提交";
boolean submit = submit(notice, op, "");
if (submit) {
// 查询下节点任务
getNext(roleListSecond, notice.getInstanceId(), taskName);
notice.setStatus(taskName[0]);
if (!ObjectUtils.isEmpty(notice.getInstanceStatus())) {
notice.setInstanceStatus(notice.getInstanceStatus() + "," + roleListSecond);
notice.setInstanceStatus(notice.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else {
notice.setInstanceStatus(String.join(",", roleListSecond));
notice.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
}
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.setNextTaskId(workflowResultDto.getNextTaskId());
jgReformNoticeMapper.updateById(notice);
// 如果为保存并提交,则创建代办
this.buildTask(Collections.singletonList(notice), Collections.singletonList(workflowResultDto));
}else {
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);
}
dto.setVariable(commMap);
ProcessTaskDTO processTaskDTO = cmWorkflowService.complete(notice.getNextTaskId(), dto);
// 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
BeanUtils.copyProperties(noticeDto, notice);
if (!org.apache.commons.lang3.ObjectUtils.isEmpty(notice.getInstanceStatus())) {
notice.setInstanceStatus(notice.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else {
notice.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
}
notice.setPromoter(RequestContext.getExeUserId());
notice.setNextExecuteIds(String.join(",", workflowResultDto.getNextExecutorRoleIds()));
notice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
notice.setNextTaskId(workflowResultDto.getNextTaskId());
updateById(notice);
// 上个代办改为已办
TaskV2Model taskV2Model = this.updateLastTodo(notice, FlowStatusEnum.TO_BE_PROCESSED);
// 创建新的代办
this.createNewTodo(notice, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_PROCESSED);
}
} else {
JgReformNotice bean = new JgReformNotice();
BeanUtils.copyProperties(noticeDto, bean);
......@@ -246,7 +268,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
* @return 是否删除成功
*/
@Override
@Transactional (rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
public Boolean deleteForBatch(Long[] sequenceNbrs) {
if (Objects.isNull(sequenceNbrs) || sequenceNbrs.length == 0) {
return false;
......@@ -346,15 +368,11 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
@Override
@SuppressWarnings ({"Duplicates", "rawtypes"})
@Transactional (rollbackFor = Exception.class)
@SuppressWarnings({"Duplicates", "rawtypes"})
@Transactional(rollbackFor = Exception.class)
public void saveNotice(String submitType, Map<String, Object> JgReformNoticeDtoMap, ReginParams reginParams) {
String[] taskName = new String[]{"流程结束"};
JgReformNoticeDto model = JSON.parseObject(JgReformNoticeDtoMap.get(TABLE_PAGE_ID).toString(), JgReformNoticeDto.class);
// 字段转换
JgReformNoticeDto model = JSON.parseObject(JSONObject.toJSONString(JgReformNoticeDtoMap.get(TABLE_PAGE_ID)), JgReformNoticeDto.class);
convertField(model);
// 获取告知设备列表
List<Map<String, Object>> deviceList = model.getDeviceList();
if (CollectionUtils.isEmpty(deviceList)) {
......@@ -364,78 +382,21 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
// 获取告知单号
ResponseModel<List<String>> codeResult = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.GZGZ.getCode(), deviceList.size());
List<String> applyNoList = null;
if(codeResult != null && !ValidationUtil.isEmpty(codeResult.getResult())) {
if (codeResult != null && !ValidationUtil.isEmpty(codeResult.getResult())) {
applyNoList = codeResult.getResult();
}
// List<String> applyNoList = iCreateCodeService.createApplicationFormCode(ApplicationFormTypeEnum.GZGZ.getCode(), deviceList.size());
if (CollectionUtils.isEmpty(applyNoList)) {
throw new BadRequest("申请单编号生成失败,请稍后重试!");
}
ArrayList<String> roleListFirst = new ArrayList<>();
ArrayList<String> roleListSecond = new ArrayList<>();
// 判断当前是否为提交
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<WorkflowResultDto> workflowResultList = this.startWorkFlow(submitType, deviceList);
List<JgReformNotice> list = new ArrayList<>();
List<JgReformNoticeEq> equipList = new ArrayList<>();
List<String> finalApplyNoList = applyNoList;
deviceList.forEach(obj -> {
JgReformNoticeEq jgRelationEquip = new JgReformNoticeEq();
JgReformNotice dto = new JgReformNotice();
......@@ -444,13 +405,20 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
String applyNo = finalApplyNoList.get(i);
dto.setApplyNo(applyNo);
dto.setNoticeDate(new Date());
dto.setCreateUserName(reginParams.getUserModel().getRealName());
dto.setCreateUserId(reginParams.getUserModel().getUserId());
dto.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
dto.setEquCategory(String.valueOf(obj.get("EQU_CATEGORY")));
dto.setEquListCode(String.valueOf(obj.get("EQU_DEFINE")));
dto.setSupervisoryCode(String.valueOf(obj.get("SUPERVISORY_CODE")));
dto.setEquList(String.valueOf(obj.get("EQU_LIST")));
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecuteIds(String.join(",", roleListSecond));
dto.setInstanceStatus(String.join(",", roleListFirst));
WorkflowResultDto workflowResult = workflowResultList.get(i);
dto.setNextExecuteIds(workflowResult.getNextExecutorRoleIds());
dto.setInstanceStatus(workflowResult.getNextExecutorRoleIds() + "," + workflowResult.getExecutorRoleIds());
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setStatus(taskName[0]);
dto.setNextTaskId(workflowResult.getNextTaskId());
}
dto.setInstallUnitName(reginParams.getCompany().getCompanyName());
dto.setInstallUnitCreditCode(reginParams.getCompany().getCompanyCode());
......@@ -458,12 +426,13 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
dto.setEntrustingUnitCreditCode(reginParams.getCompany().getCompanyCode());
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgRelationEquip.setEquipTransferId(applyNo);
if (!CollectionUtils.isEmpty(instanceIdList)) {
dto.setInstanceId(instanceIdList.get(i));
if (!CollectionUtils.isEmpty(workflowResultList)) {
dto.setInstanceId(workflowResultList.get(i).getInstanceId());
dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
} else {
dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
}
dto.setCreateUserId(reginParams.getUserModel().getUserId());
list.add(dto);
equipList.add(jgRelationEquip);
......@@ -471,6 +440,10 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
jgReformNoticeMapper.insertBatchSomeColumn(list);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
this.buildTask(list, workflowResultList);
}
List<JgReformNoticeEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> {
List<JgReformNotice> collect = list.stream().filter(JgReformNotice -> jgRelationEquip.getEquipTransferId().equals(JgReformNotice.getApplyNo())).collect(Collectors.toList());
Long sequenceNbr = collect.get(0).getSequenceNbr();
......@@ -481,20 +454,76 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
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());
/**
* 插入代办
*/
private void buildTask(List<JgReformNotice> list, List<WorkflowResultDto> workflowResultList) {
if (CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(workflowResultList)) {
return;
}
List<TaskModelDto> taskModelDtoList = list.stream().map(item ->
this.buildTaskModelDto(item, workflowResultList.get(0))).collect(Collectors.toList());
commonService.buildTaskModel(taskModelDtoList);
}
/**
* 组装代办消息
*
* @param item 改造告知信息
* @param workflowResultDto 工作流返回信息
* @return 代办信息
*/
private TaskModelDto buildTaskModelDto(JgReformNotice item, WorkflowResultDto workflowResultDto) {
return TaskModelDto.builder()
.flowCreateDate(item.getCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(item.getApplyNo())
.taskType(BusinessTypeEnum.JG_MODIFICATION_NOTIFICATION.getCode())
.taskTypeLabel(BusinessTypeEnum.JG_MODIFICATION_NOTIFICATION.getName())
.relationId(item.getInstanceId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.taskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.flowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode())
.flowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName())
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()))
.taskDesc(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()))
.startUserId(item.getCreateUserId())
.startUser(item.getCreateUserName())
.startUserCompanyName(item.getCreateUserCompanyName())
.startDate(item.getCreateDate())
.model(item)
.nextExecuteUser(item.getNextExecuteIds())
.build();
}
/**
* 启动工作流
*
* @param submitType 提交类型
* @param deviceList 设备列表
* @return 工作流信息
*/
private List<WorkflowResultDto> startWorkFlow(String submitType, List<Map<String, Object>> deviceList) {
if (!SUBMIT_TYPE_FLOW.equals(submitType)) {
return new ArrayList<>();
}
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = deviceList.stream()
.map(item -> {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(item.get("SEQUENCE_NBR").toString());
dto.setCompleteFirstTask(Boolean.TRUE);
return dto;
})
.collect(Collectors.toList());
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
// 组装工作流返回的数据
return commonService.buildWorkFlowInfo(processTaskDTOS);
}
private void convertField(JgReformNoticeDto model) {
......@@ -588,137 +617,158 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
return urls;
}
public boolean submit(JgReformNotice notice, String op, String comment) {
/**
* 撤回操作
*
* @param noticeDto 改造信息
*/
public void cancel(JgReformNoticeDto noticeDto) {
// 查询 改造信息
JgReformNotice notice = baseMapper.selectById(noticeDto.getSequenceNbr());
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();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
dto.setVariable(map);
// 执行流程
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;
}
}
if (notice != null) {
// 回滚工作流
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(noticeDto.getInstanceId());
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
notice.setPromoter("");
notice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
notice.setNoticeStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode()));
notice.setNextTaskId(workflowResultDto.getNextTaskId());
baseMapper.updateById(notice);
public void cancel(JgReformNoticeDto noticeDto) {
String[] taskName = new String[]{"流程结束"};
FeignClientResult ajaxResult = Workflow.taskV2Client.rollBack(noticeDto.getInstanceId());
JgReformNotice jgReformNotice = this.baseMapper.selectById(noticeDto.getSequenceNbr());
ArrayList<String> roleList = new ArrayList<>();
if (ajaxResult.getStatus() == 200) {
getNext(roleList, noticeDto.getInstanceId(), taskName);
jgReformNotice.setStatus(taskName[0]);
jgReformNotice.setPromoter("");
jgReformNotice.setNextExecuteIds(String.join(",", roleList));
jgReformNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode()));
jgReformNoticeMapper.updateById(jgReformNotice);
commonService.rollbackTask(notice.getInstanceId(), new JSONObject(MapBuilder.<String, Object>create()
.put("nextTaskId", notice.getNextTaskId())
.put("nextExecuteUser", notice.getNextExecuteIds())
.put("taskType", BusinessTypeEnum.JG_MODIFICATION_NOTIFICATION.getCode())
.build()));
}
}
/**
* 通过和驳回
*
* @param dto 改造信息
* @param op 通过或驳回
*/
public void accept(JgReformNoticeDto dto, String op) {
String[] taskName = new String[]{"流程结束"};
String userId = RequestContext.getExeUserId();
JgReformNotice jgReformNotice = this.jgReformNoticeMapper.selectById(dto.getSequenceNbr());
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgReformNotice jgReformNotice = baseMapper.selectById(dto.getSequenceNbr());
jgReformNotice.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
// 组装设备注册代码
StringBuffer stringBuffer = new StringBuffer();
StringBuilder stringBuffer = new StringBuilder();
String ym = null;
try {
ym = DateUtils.dateFormat(new Date(), DateUtils.DATE_PATTERN_MM);
} catch (ParseException e) {
log.error("日期转换失败:{}", e);
log.error("日期转换失败:{}", e.getMessage());
}
ArrayList<String> roleList = new ArrayList<>();
boolean submit = submit(jgReformNotice, op, dto.getRemark());
if (submit) {
getNext(roleList, dto.getInstanceId(), taskName);
jgReformNotice.setStatus(taskName[0]);
TaskResultDTO workDto = new TaskResultDTO();
workDto.setResultCode("approvalStatus");
workDto.setTaskId(jgReformNotice.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (jgReformNotice.getNoticeStatus().equals("6614") || jgReformNotice.getNoticeStatus().equals("6615")) {
commMap.put("approvalStatus", "提交");
} else {
commMap.put("approvalStatus", op);
}
workDto.setVariable(commMap);
workDto.setComment(jgReformNotice.getRemark());
ProcessTaskDTO processTaskDTO = cmWorkflowService.complete(jgReformNotice.getNextTaskId(), workDto);
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
jgReformNotice.setPromoter(reginParams.getUserModel().getUserId());
jgReformNotice.setRemark(dto.getRemark());
TaskV2Model taskV2Model;
if ("0".equals(op)) {
if (roleList.size() == 0) {
if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
LambdaQueryWrapper<JgReformNoticeEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgReformNoticeEq::getEquipTransferId, dto.getSequenceNbr());
JgReformNoticeEq jgRelationEquip = jgReformNoticeEqMapper.selectOne(queryWrapper);
// LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
// queryWrapper1.eq(OtherInfo::getRecord, jgRelationEquip.getEquId());
// OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
LambdaQueryWrapper<RegistrationInfo> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(RegistrationInfo::getRecord, jgRelationEquip.getEquId());
RegistrationInfo tzsJgRegistrationInfo = tzsJgRegistrationInfoMapper.selectOne(queryWrapper2);
stringBuffer.append(tzsJgRegistrationInfo.getEquCategory()).append(jgReformNotice.getCity()).append(ym);
// String equCode = stringBuffer.toString();
// 只有安装设备需要
// String deviceRegistrationCode = iCreateCodeService.createDeviceRegistrationCode(equCode);
Map<String, Object> map = new HashMap<>();
map.put("cityCode", jgReformNotice.getCity());
map.put("countyCode", jgReformNotice.getCounty());
map.put("equCategory", tzsJgRegistrationInfo.getEquCategory());
map.put("isXiXian", jgReformNotice.getIsXixian() == null ? "0" : jgReformNotice.getIsXixian());
// Map<String, Object> mapCode;
// ResponseModel<Map<String, Object>> code = tzsServiceFeignClient.createCode(map);
// mapCode = code.getResult();
//
// LambdaQueryWrapper<SupervisoryCodeInfo> queryWrapper3 = new LambdaQueryWrapper<>();
// queryWrapper3.eq(SupervisoryCodeInfo::getSupervisoryCode, mapCode.get("superviseCode").toString());
// SupervisoryCodeInfo supervisoryCodeInfo = supervisoryCodeInfoMapper.selectOne(queryWrapper3);
// supervisoryCodeInfo.setStatus("1");
// supervisoryCodeInfoMapper.updateById(supervisoryCodeInfo);
jgReformNotice.setAcceptDate(new Date());
jgReformNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
this.generateInstallationNoticeReport(jgReformNotice.getSequenceNbr());
// 更新其他业务表
// tzsJgOtherInfo.setCode96333(mapCode.get("code96333").toString());
// tzsJgOtherInfo.setSupervisoryCode(mapCode.get("superviseCode").toString());
// tzsJgRegistrationInfo.setEquCode(deviceRegistrationCode);
// jgInstallationNotice.setEquRegisterCode(deviceRegistrationCode);
// jgInstallationNotice.setSupervisoryCode(mapCode.get("superviseCode").toString());
// Map<String,Map<String,Object>> objMap = new HashMap<>();
// Map<String,Object> map1 =new HashMap<>();
// map1.put("CODE96333",tzsJgOtherInfo.getCode96333() );
// map1.put("EQU_CODE",tzsJgRegistrationInfo.getEquCode() );
// map1.put("SUPERVISORY_CODE",tzsJgOtherInfo.getSupervisoryCode());
// objMap.put(tzsJgOtherInfo.getRecord(),map1);
jgReformNotice.setPromoter("");
// tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
// tzsJgOtherInfoMapper.updateById(tzsJgOtherInfo);
// tzsJgRegistrationInfoMapper.updateById(tzsJgRegistrationInfo);
this.updateLastTodo(jgReformNotice, FlowStatusEnum.TO_BE_FINISHED);
} else {
jgReformNotice.setNextExecuteIds(String.join(",", roleList));
jgReformNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgReformNotice.getInstanceStatus())) {
jgReformNotice.setInstanceStatus(jgReformNotice.getInstanceStatus() + "," + String.join(",", roleList));
jgReformNotice.setInstanceStatus(jgReformNotice.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else {
jgReformNotice.setInstanceStatus(String.join(",", roleList));
jgReformNotice.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
}
jgReformNotice.setPromoter(userId);
jgReformNotice.setPromoter(RequestContext.getExeUserId());
jgReformNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgReformNotice.setNextTaskId(workflowResultDto.getNextTaskId());
// 上个代办改为已办
taskV2Model = this.updateLastTodo(jgReformNotice, FlowStatusEnum.TO_BE_FINISHED);
// 创建新的代办
this.createNewTodo(jgReformNotice, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_PROCESSED);
}
} else {
jgReformNotice.setPromoter("");
jgReformNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
jgReformNotice.setSupervisoryCode(dto.getSupervisoryCode());
jgReformNotice.setEquList(dto.getEquList());
jgReformNotice.setNextTaskId(workflowResultDto.getNextTaskId());
// 上个代办改为驳回
taskV2Model = this.updateLastTodo(jgReformNotice, FlowStatusEnum.REJECTED);
this.createNewTodo(jgReformNotice, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_SUBMITTED);
}
jgReformNoticeMapper.updateById(jgReformNotice);
}
/**
* 上个代办改为已办
*
* @param jgReformNotice 设备信息
* @return 代办信息
*/
private TaskV2Model updateLastTodo(JgReformNotice jgReformNotice, FlowStatusEnum statusEnum) {
return commonService.updateTaskModel(MapBuilder.<String, Object>create()
.put("taskStatus", statusEnum.getCode())
.put("taskStatusLabel", statusEnum.getName())
.put("flowStatus", statusEnum.getCode())
.put("flowStatusLabel", statusEnum.getName())
.put("relationId", jgReformNotice.getInstanceId())
.put("model", jgReformNotice)
.build());
}
/**
* 创建新代办
*
* @param transfer 设备信息
* @param workflowResultDto 工作流信息
* @param taskV2Model 代办信息
*/
private void createNewTodo(JgReformNotice transfer, WorkflowResultDto workflowResultDto, TaskV2Model taskV2Model, FlowStatusEnum statusEnum) {
TaskModelDto taskModelDto = TaskModelDto.builder()
.flowCreateDate(taskV2Model.getFlowCreateDate())
.taskName(workflowResultDto.getNextTaskName())
.taskCode(taskV2Model.getTaskCode())
.taskType(taskV2Model.getTaskType())
.taskTypeLabel(taskV2Model.getTaskTypeLabel())
.relationId(taskV2Model.getRelationId())
.executeUserIds(workflowResultDto.getNextExecutorUserIds())
.taskStatusLabel(statusEnum.getName())
.flowStatus(statusEnum.getCode())
.flowStatusLabel(statusEnum.getName())
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", transfer.getEquList(), transfer.getSupervisoryCode(), transfer.getApplyNo()))
.taskDesc(String.format("来自%s【%s】的业务办理,【申请单号:%s】", transfer.getEquList(), transfer.getSupervisoryCode(), transfer.getApplyNo()))
.startUserCompanyName(transfer.getCreateUserCompanyName())
.startUserId(taskV2Model.getStartUserId())
.startUser(taskV2Model.getStartUser())
.startDate(taskV2Model.getStartDate())
.model(transfer)
.nextExecuteUser(workflowResultDto.getNextExecutorRoleIds())
.build();
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
}
\ No newline at end of file
......@@ -311,7 +311,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
private String buildTaskContent(String supervisoryCode, String cancelType, String applyNo) {
// 来自电梯【X3100-123456】【移装注销】的业务办理【申请单号:ABCD0000001】
String type = "1".equals(cancelType) ? "报废注销" : "移装注销";
return String.format(template, supervisoryCode, type, applyNo);
return String.format(template, Objects.isNull(supervisoryCode) ? "无" : supervisoryCode, type, applyNo);
}
public void deleteBatch(List<Long> ids) {
......
......@@ -19,15 +19,15 @@
},
{
"type": "103",
"pageType": "look",
"pageType": "edit",
"name": "改造告知",
"url": "/mixuap?appId=1742358052905971713&id=1735246137364869121&sequenceNbr=%s&roleIds=%s&userId={userId}&nextExecuteIds=%s&formType=detail&noticeStatus=%s&instanceId=%s"
"url": "/mixuap?appId=1742358052905971713&id=1737116607995473921&handle=true&formType=edit&roleIds={roleIds}&userId={userId}"
},
{
"type": "103",
"pageType": "edit",
"pageType": "look",
"name": "改造告知",
"url": ""
"url": "/mixuap?appId=1742358052905971713&id=1737116607995473921&handle=true&roleIds={roleIds}&userId={userId}&formType=detail"
},
{
"type": "104",
......@@ -93,13 +93,13 @@
"type": "109",
"pageType": "look",
"name": "单位变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1739250036920840194&roleIds={roleIds}&userId={userId}&pageType=look"
"url": "/mixuap?appId=1742358052905971713&id=1738095060211232770&roleIds={roleIds}&userId={userId}&pageType=look"
},
{
"type": "109",
"pageType": "edit",
"name": "单位变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1739250036920840194&roleIds={roleIds}&userId={userId}&pageType=edit"
"url": "/mixuap?appId=1742358052905971713&id=1738095060211232770&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type": "110",
......
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