Commit 1e1e4d16 authored by chenzhao's avatar chenzhao

增加暂存待办及撤销待办

parent e3a0dfbb
......@@ -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.entity.JgChangeRegistrationUnit;
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 org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
......@@ -51,6 +52,8 @@ public class JgChangeRegistrationUnitController extends BaseController {
@Autowired
JgChangeRegistrationUnitServiceImpl jgChangeRegistrationUnitServiceImpl;
@Autowired
CommonServiceImpl commonService;
/**
* 新增
......@@ -94,6 +97,12 @@ public class JgChangeRegistrationUnitController extends BaseController {
@DeleteMapping(value = "/delete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除单位变更", notes = "根据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));
}
......@@ -136,7 +145,7 @@ public class JgChangeRegistrationUnitController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "单位变更分页查询", notes = "单位变更分页查询")
@ApiOperation(httpMethod = "POST", value = "单位变更分页查询", notes = "单位变更分页查询")
public ResponseModel<Page<JgChangeRegistrationUnitDto>> queryForPage(
@ApiParam(value = "当前页码", required = true) @RequestParam(value = "current", defaultValue = "1") int current,
@ApiParam(value = "每页大小", required = true) @RequestParam(value = "size", defaultValue = "20") int size,
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aspose.words.SaveFormat;
......@@ -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.ProcessTaskDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
......@@ -626,11 +628,11 @@ public class CommonServiceImpl implements ICommonService {
public void deleteTaskModel(String id) {
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult();
TaskV2Model model = result.stream().sorted((r1, r2) -> r2.getCreateDate().compareTo(r1.getCreateDate())) // 按时间降序排序
.findFirst()
.orElse(null);
Systemctl.taskV2Client.delete(String.valueOf(model.getSequenceNbr()));
if (result.size() >0 ){
List<Long> idList= result.stream().map(TaskV2Model::getSequenceNbr).collect(Collectors.toList());
String ids = String.join(",",idList.stream().map(x->x.toString()).collect(Collectors.toList()));
Systemctl.taskV2Client.delete(ids);
}
}
......@@ -638,7 +640,11 @@ public class CommonServiceImpl implements ICommonService {
* 待办新增接口
**/
public void buildTaskModel(List<TaskModelDto> list) {
List<TaskV2Model> taskV2Models = new ArrayList<>();
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();
BeanUtil.copyProperties(obj, model);
String urlParams = "";
......@@ -649,27 +655,56 @@ 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()) && obj.getTaskType().equals(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode()) &&
!obj.getFlowStatus().toString().equals("16723") && map.get("pageType").equals("edit")) {
//获取暂存的可编辑页面url
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());
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;
}
}
model.setTaskStatus(0);
//是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.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName());
}
model.setFlowInstanceId(model.getRelationId());
model.setTaskTitle(obj.getStartUser() + "发起了" + obj.getTaskName());
model.setTaskSource("workFlow");
model.setExtras(JSON.toJSONString(obj.getModel()));
// model.setTerminal(params.getOrDefault("terminal","WEB").toString());
model.setCreateDate(new Date());
model.setRecUserId(RequestContext.getExeUserId());
model.setAgencyCode(RequestContext.getAgencyCode());
Systemctl.taskV2Client.create(model);
});
taskV2Models.add(model);
});
Systemctl.taskV2Client.batchAdd(taskV2Models);
}
......@@ -685,10 +720,6 @@ public class CommonServiceImpl implements ICommonService {
public TaskV2Model updateTaskModel(Map<String, Object> params) {
String exeUserId = RequestContext.getExeUserId();
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());
if (collect == null || collect.size() == 0) {
......@@ -709,8 +740,6 @@ public class CommonServiceImpl implements ICommonService {
// model.setRoutePath( roleIds[0]+"roleIds="+"55555"+"&userId"+userIds[1]);
//当流程完成时将所有待办状态统一修改为已完成
if (collect.get(0).getFlowStatusLabel().equals(FlowStatusEnum.TO_BE_FINISHED.getName())) {
String urlParams = "";
try {
urlParams = "&" + toQueryParams(params.get("model"));
......@@ -734,7 +763,6 @@ public class CommonServiceImpl implements ICommonService {
Systemctl.taskV2Client.batchUpdate(collect);
} else {
collect.get(0).setRoutePath(collect.get(0).getRoutePath().replace("roleIds=", "roleIds=55555&fq="));
Systemctl.taskV2Client.update(collect.get(0), collect.get(0).getSequenceNbr());
}
//修改model并返回 用于组装新待办
......@@ -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());
TaskV2Model model = list.get(0);
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) {
TaskV2Model lastTaskModel = list.get(1);
lastTaskModel.setEndUserId(null);
......@@ -839,13 +876,28 @@ public class CommonServiceImpl implements ICommonService {
if (obj.get("flowStatusLabel") != null) {
lastTaskModel.setFlowStatusLabel(obj.get("flowStatusLabel").toString());
}
String urlParams = "";
try {
urlParams = "&" + toQueryParams(obj);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
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")) {
lastTaskModel.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("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) {
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());
......@@ -855,7 +907,7 @@ public class CommonServiceImpl implements ICommonService {
break;
}
}
Systemctl.taskV2Client.update(lastTaskModel, lastTaskModel.getSequenceNbr());
Systemctl.taskV2Client.create(model);
}
}
......
......@@ -255,6 +255,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
notice.setNextExecutorIds(String.join(",", roleListNext));
notice.setStatus(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
JgChangeRegistrationUnitMapper.updateById(notice);
commonServiceImpl.deleteTaskModel(notice.getSequenceNbr()+"");
createTaskModel(notice,taskname,"1", nextUserIds);
}else {
ArrayList<String> roleList = new ArrayList<>();
......@@ -522,29 +523,41 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
JgChangeRegistrationUnitMapper.insertBatchSomeColumn(list);
List<TaskModelDto> modelDtos = new ArrayList<>();
for (JgChangeRegistrationUnit obj : list) {
TaskModelDto dto = new TaskModelDto();
dto.setModel(obj);
dto.setFlowCreateDate(new Date());
dto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
dto.setFlowCode(obj.getNextTaskId());
dto.setTaskContent("来自"+obj.getEquType()+"【"+obj.getSupervisoryCode()+"】的业务办理,【申请单号:"+obj.getApplyNo()+"】");
dto.setTaskCode(obj.getApplyNo());
dto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
dto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
dto.setRelationId(obj.getInstanceId());
dto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
dto.setTaskStatusLabel("未处理");
dto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
dto.setFlowStatusLabel(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
dto.setStartUserId(RequestContext.getExeUserId());
dto.setStartUser(workflowResultDtos.get(0).getStartUserName());
dto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
dto.setStartDate(new Date());
dto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
modelDtos.add(dto);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
for (JgChangeRegistrationUnit obj : list) {
TaskModelDto dto = new TaskModelDto();
dto.setModel(obj);
dto.setFlowCreateDate(new Date());
dto.setTaskName(workflowResultDtos.get(0).getNextTaskName());
dto.setFlowCode(obj.getNextTaskId());
dto.setTaskContent("来自"+obj.getEquType()+"【"+obj.getSupervisoryCode()+"】的业务办理,【申请单号:"+obj.getApplyNo()+"】");
dto.setTaskCode(obj.getApplyNo());
dto.setTaskType(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getCode());
dto.setTaskTypeLabel(BusinessTypeEnum.JG_COMPANY_CHANGE_REGISTRATION.getName());
dto.setRelationId(obj.getInstanceId());
dto.setExecuteUserIds(workflowResultDtos.get(0).getNextExecutorUserIds());
dto.setTaskStatusLabel("未处理");
dto.setFlowStatus(commonServiceImpl.getDictionaryCodeByName(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass()));
dto.setFlowStatusLabel(WorkFlowStatusEnum.UNITCHANGE_RECEIVE.getPass());
dto.setStartUserId(RequestContext.getExeUserId());
dto.setStartUser(workflowResultDtos.get(0).getStartUserName());
dto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
dto.setStartDate(new Date());
dto.setNextExecuteUser(workflowResultDtos.get(0).getNextExecutorRoleIds());
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);
......
......@@ -102,6 +102,11 @@
"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",
"pageType": "look",
"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