Commit 1e1e4d16 authored by chenzhao's avatar chenzhao

增加暂存待办及撤销待办

parent e3a0dfbb
...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationUnitDto; ...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationUnitDto;
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.entity.JgChangeRegistrationUnit; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.CommonServiceImpl;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -51,6 +52,8 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -51,6 +52,8 @@ public class JgChangeRegistrationUnitController extends BaseController {
@Autowired @Autowired
JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitServiceImpl; JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitServiceImpl;
@Autowired
CommonServiceImpl commonService;
/** /**
* 新增 * 新增
...@@ -94,6 +97,12 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -94,6 +97,12 @@ public class JgChangeRegistrationUnitController extends BaseController {
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除单位变更", notes = "根据sequenceNbr删除单位变更") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除单位变更", notes = "根据sequenceNbr删除单位变更")
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") Long sequenceNbr) {
JgChangeRegistrationUnit byId = jgChangeRegistrationUnitServiceImpl.getById(sequenceNbr);
boolean bool = jgChangeRegistrationUnitServiceImpl.removeById(sequenceNbr);
if (bool){
commonService.deleteTaskModel(sequenceNbr+"");
commonService.deleteTaskModel(byId.getInstanceId());
}
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.removeById(sequenceNbr));
} }
...@@ -136,7 +145,7 @@ public class JgChangeRegistrationUnitController extends BaseController { ...@@ -136,7 +145,7 @@ public class JgChangeRegistrationUnitController extends BaseController {
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/page") @PostMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "单位变更分页查询", notes = "单位变更分页查询") @ApiOperation(httpMethod = "POST", value = "单位变更分页查询", notes = "单位变更分页查询")
public ResponseModel<Page<JgChangeRegistrationUnitDto>> queryForPage( public ResponseModel<Page<JgChangeRegistrationUnitDto>> queryForPage(
@ApiParam(value = "当前页码", required = true) @RequestParam(value = "current", defaultValue = "1") int current, @ApiParam(value = "当前页码", required = true) @RequestParam(value = "current", defaultValue = "1") int current,
@ApiParam(value = "每页大小", required = true) @RequestParam(value = "size", defaultValue = "20") int size, @ApiParam(value = "每页大小", required = true) @RequestParam(value = "size", defaultValue = "20") int size,
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aspose.words.SaveFormat; import com.aspose.words.SaveFormat;
...@@ -36,6 +37,7 @@ import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; ...@@ -36,6 +37,7 @@ import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActTaskDTO; import com.yeejoin.amos.feign.workflow.model.ActTaskDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
...@@ -626,11 +628,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -626,11 +628,11 @@ public class CommonServiceImpl implements ICommonService {
public void deleteTaskModel(String id) { public void deleteTaskModel(String id) {
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult(); List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult();
TaskV2Model model = result.stream().sorted((r1, r2) -> r2.getCreateDate().compareTo(r1.getCreateDate())) // 按时间降序排序 if (result.size() >0 ){
.findFirst() List<Long> idList= result.stream().map(TaskV2Model::getSequenceNbr).collect(Collectors.toList());
.orElse(null); String ids = String.join(",",idList.stream().map(x->x.toString()).collect(Collectors.toList()));
Systemctl.taskV2Client.delete(String.valueOf(model.getSequenceNbr())); Systemctl.taskV2Client.delete(ids);
}
} }
...@@ -638,7 +640,11 @@ public class CommonServiceImpl implements ICommonService { ...@@ -638,7 +640,11 @@ public class CommonServiceImpl implements ICommonService {
* 待办新增接口 * 待办新增接口
**/ **/
public void buildTaskModel(List<TaskModelDto> list) { public void buildTaskModel(List<TaskModelDto> list) {
List<TaskV2Model> taskV2Models = new ArrayList<>();
list.forEach(obj -> { list.forEach(obj -> {
//判断是否是暂存 新增若无下一节点执行人即为暂存
boolean flag = StringUtils.isEmpty(obj.getNextExecuteUser())? true:false;
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
TaskV2Model model = new TaskV2Model(); TaskV2Model model = new TaskV2Model();
BeanUtil.copyProperties(obj, model); BeanUtil.copyProperties(obj, model);
String urlParams = ""; String urlParams = "";
...@@ -649,27 +655,56 @@ public class CommonServiceImpl implements ICommonService { ...@@ -649,27 +655,56 @@ public class CommonServiceImpl implements ICommonService {
} }
List<Map> urlList = JsonUtils.getResourceList(urlInfo); List<Map> urlList = JsonUtils.getResourceList(urlInfo);
for (Map map : urlList) { for (Map map : urlList) {
if (map.get("type").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && obj.getTaskType().equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && //获取暂存的可编辑页面url
!obj.getFlowStatus().toString().equals("16723") && map.get("pageType").equals("edit")) { if (flag && map.get("type").equals(obj.getTaskType())
&& map.get("pageType").equals("draft")){
model.setRoutePath(map.get("url").toString()+ urlParams );
}
//维保需特殊获取页面 状态不等于监管单位审核的页面均取对应编辑页面
else 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()); model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getNextExecuteUser()) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
break; 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()); model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getNextExecuteUser()) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
break; break;
} }
} }
//是true则为暂存 除公共部分统一处理
if (flag){
model.setFlowStatus(FlowStatusEnum.TO_BE_SUBMITTED.getCode());
model.setFlowStatusLabel(FlowStatusEnum.TO_BE_SUBMITTED.getName());
model.setStartUserId(RequestContext.getExeUserId());
model.setStartUser(reginParams.getUserModel().getUserName());
model.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
model.setStartDate(new Date());
model.setExecuteUserIds(RequestContext.getExeUserId());
model.setFlowCreateDate(new Date());
model.setTaskStatus(FlowStatusEnum.TO_BE_SUBMITTED.getCode());
model.setTaskTitle("有一条待提交的草稿");
model.setTaskName(BusinessTypeEnum.getNameByType(obj.getTaskType()));
model.setTaskTypeLabel(BusinessTypeEnum.getNameByType(obj.getTaskType()));
model.setTaskContent("【申请单号:"+obj.getTaskCode()+"】待提交");
}else {
model.setTaskStatus(0); model.setTaskStatus(0);
model.setFlowInstanceId(model.getRelationId());
model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName()); model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName());
}
model.setFlowInstanceId(model.getRelationId());
model.setTaskSource("workFlow"); model.setTaskSource("workFlow");
model.setExtras(JSON.toJSONString(obj.getModel())); model.setExtras(JSON.toJSONString(obj.getModel()));
// model.setTerminal(params.getOrDefault("terminal","WEB").toString()); // model.setTerminal(params.getOrDefault("terminal","WEB").toString());
model.setCreateDate(new Date()); model.setCreateDate(new Date());
model.setRecUserId(RequestContext.getExeUserId()); model.setRecUserId(RequestContext.getExeUserId());
model.setAgencyCode(RequestContext.getAgencyCode()); model.setAgencyCode(RequestContext.getAgencyCode());
Systemctl.taskV2Client.create(model); taskV2Models.add(model);
});
});
Systemctl.taskV2Client.batchAdd(taskV2Models);
} }
...@@ -685,10 +720,6 @@ public class CommonServiceImpl implements ICommonService { ...@@ -685,10 +720,6 @@ public class CommonServiceImpl implements ICommonService {
public TaskV2Model updateTaskModel(Map<String, Object> params) { public TaskV2Model updateTaskModel(Map<String, Object> params) {
String exeUserId = RequestContext.getExeUserId(); String exeUserId = RequestContext.getExeUserId();
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(params.get("relationId").toString()).getResult(); List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(params.get("relationId").toString()).getResult();
// TaskV2Model model = result.stream().filter(e->e.getFlowCode().equals(params.get("flowCode").toString())).sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r2.getSequenceNbr())) // 按时间降序排序
// .findFirst()
// .orElse(null);
List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList()); List<TaskV2Model> collect = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
if (collect == null || collect.size() == 0) { if (collect == null || collect.size() == 0) {
...@@ -709,8 +740,6 @@ public class CommonServiceImpl implements ICommonService { ...@@ -709,8 +740,6 @@ public class CommonServiceImpl implements ICommonService {
// model.setRoutePath( roleIds[0]+"roleIds="+"55555"+"&userId"+userIds[1]); // 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 = ""; String urlParams = "";
try { try {
urlParams = "&" + toQueryParams(params.get("model")); urlParams = "&" + toQueryParams(params.get("model"));
...@@ -734,7 +763,6 @@ public class CommonServiceImpl implements ICommonService { ...@@ -734,7 +763,6 @@ public class CommonServiceImpl implements ICommonService {
Systemctl.taskV2Client.batchUpdate(collect); Systemctl.taskV2Client.batchUpdate(collect);
} else { } else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq=")); collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq="));
Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr()); Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr());
} }
//修改model并返回 用于组装新待办 //修改model并返回 用于组装新待办
...@@ -826,6 +854,15 @@ public class CommonServiceImpl implements ICommonService { ...@@ -826,6 +854,15 @@ public class CommonServiceImpl implements ICommonService {
List<TaskV2Model> list = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList()); List<TaskV2Model> list = result.stream().sorted((r1, r2) -> r2.getSequenceNbr().compareTo(r1.getSequenceNbr())).collect(Collectors.toList());
TaskV2Model model = list.get(0); TaskV2Model model = list.get(0);
Systemctl.taskV2Client.delete(String.valueOf(model.getSequenceNbr())); Systemctl.taskV2Client.delete(String.valueOf(model.getSequenceNbr()));
String urlParams = "";
try {
urlParams = "&" + toQueryParams(obj);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
List<Map> urlList = JsonUtils.getResourceList(urlInfo);
if (list.size() > 1) { if (list.size() > 1) {
TaskV2Model lastTaskModel = list.get(1); TaskV2Model lastTaskModel = list.get(1);
lastTaskModel.setEndUserId(null); lastTaskModel.setEndUserId(null);
...@@ -839,13 +876,28 @@ public class CommonServiceImpl implements ICommonService { ...@@ -839,13 +876,28 @@ public class CommonServiceImpl implements ICommonService {
if (obj.get("flowStatusLabel") != null) { if (obj.get("flowStatusLabel") != null) {
lastTaskModel.setFlowStatusLabel(obj.get("flowStatusLabel").toString()); lastTaskModel.setFlowStatusLabel(obj.get("flowStatusLabel").toString());
} }
String urlParams = "";
try { for (Map map : urlList) {
urlParams = "&" + toQueryParams(obj); if (map.get("type").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && obj.getString("taskType").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && map.get("pageType").equals("edit")) {
} catch (UnsupportedEncodingException e) { lastTaskModel.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getString("nextExecuteUser")) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
e.printStackTrace(); break;
} else if (map.get("type").equals(obj.get("taskType")) && map.get("pageType").equals("edit")) {
lastTaskModel.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.get("nextExecuteUser").toString()) + urlParams);
break;
}
}
Systemctl.taskV2Client.update(lastTaskModel, lastTaskModel.getSequenceNbr());
}else if (list.size() == 1) {
model.setExecuteUserIds(model.getStartUserId());
model.setTaskStatusLabel("重新提交");
model.setTaskStatus(FlowStatusEnum.TO_SUBMITTED.getCode());
model.setSequenceNbr(null);
if (obj.get("flowStatus") != null) {
model.setFlowStatus(Integer.valueOf(obj.get("flowStatus").toString()));
}
if (obj.get("flowStatusLabel") != null) {
model.setFlowStatusLabel(obj.get("flowStatusLabel").toString());
} }
List<Map> urlList = JsonUtils.getResourceList(urlInfo);
for (Map map : urlList) { for (Map map : urlList) {
if (map.get("type").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && obj.getString("taskType").equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) && map.get("pageType").equals("edit")) { 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()); model.setRoutePath(map.get("url").toString().replace("{roleIds}", obj.getString("nextExecuteUser")) + urlParams + "&nextExecuteUserIds=" + model.getExecuteUserIds());
...@@ -855,7 +907,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -855,7 +907,7 @@ public class CommonServiceImpl implements ICommonService {
break; break;
} }
} }
Systemctl.taskV2Client.update(lastTaskModel, lastTaskModel.getSequenceNbr()); Systemctl.taskV2Client.create(model);
} }
} }
......
...@@ -255,6 +255,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -255,6 +255,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
notice.setNextExecutorIds(String.join(",", roleListNext)); notice.setNextExecutorIds(String.join(",", roleListNext));
notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()); notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
JgChangeRegistrationUnitMapper.updateById(notice); JgChangeRegistrationUnitMapper.updateById(notice);
commonServiceImpl.deleteTaskModel(notice.getSequenceNbr()+"");
createTaskModel(notice,taskname,"1", nextUserIds); createTaskModel(notice,taskname,"1", nextUserIds);
}else { }else {
ArrayList<String> roleList = new ArrayList<>(); ArrayList<String> roleList = new ArrayList<>();
...@@ -522,6 +523,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -522,6 +523,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
JgChangeRegistrationUnitMapper.insertBatchSomeColumn(list); JgChangeRegistrationUnitMapper.insertBatchSomeColumn(list);
List<TaskModelDto> modelDtos = new ArrayList<>(); List<TaskModelDto> modelDtos = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
for (JgChangeRegistrationUnit obj : list) { for (JgChangeRegistrationUnit obj : list) {
TaskModelDto dto = new TaskModelDto(); TaskModelDto dto = new TaskModelDto();
dto.setModel(obj); dto.setModel(obj);
...@@ -544,6 +546,17 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -544,6 +546,17 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
dto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds()); dto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
modelDtos.add(dto); modelDtos.add(dto);
} }
}else {
for (JgChangeRegistrationUnit obj : list) {
TaskModelDto dto = new TaskModelDto();
dto.setModel(obj);
dto.setTaskCode(obj.getApplyNo());
dto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
dto.setRelationId(obj.getSequenceNbr()+"");
modelDtos.add(dto);
}
}
commonServiceImpl.buildTaskModel(modelDtos); commonServiceImpl.buildTaskModel(modelDtos);
......
...@@ -102,6 +102,11 @@ ...@@ -102,6 +102,11 @@
"url": "/mixuap?appId=1742358052905971713&id=1738095060211232770&roleIds={roleIds}&userId={userId}&pageType=edit" "url": "/mixuap?appId=1742358052905971713&id=1738095060211232770&roleIds={roleIds}&userId={userId}&pageType=edit"
}, },
{ {
"type": "109",
"pageType": "draft",
"name": "单位变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1738018156141637633&roleIds={roleIds}&userId={userId}&pageType=edit" },
{
"type": "110", "type": "110",
"pageType": "look", "pageType": "look",
"name": "移装变更登记", "name": "移装变更登记",
......
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