Commit a217a5a5 authored by hezhuozhi's avatar hezhuozhi

26854 【智信户用(管理端)】迁移工作台相关代码

parent e0e5e00a
......@@ -13,7 +13,25 @@ public enum FlowKeyTodoEnum {
JXSZG(1002, "待整改", "WaitAbarbeitung", "经销商整改"),
RZSH(1003, "待审核", "FinancingAudit", "融资审核"),
XXFK(1004, "待放款", "AuditPass", "线下放款"),
JXSGLYSH(1005, "待经销商管理员审核", "jxs_03", "经销商管理员审核"),
JXSGLYSH(1005, "待经销商管理员审核", "hygf_02", "经销商确认"),
SJSH(1006, "待设计审核", "hygf_03", "设计审核"),
TRSH(1007, "待投融审核", "hygf_05", "投融审核"),
FWSH(1008, "待法务审核", "hygf_07", "法务审核"),
SJSCDXTK(1009, "待设计上传典型图库", "hygf_09", "设计上传典型图库"),
JXSSJRYSC(1010, "待经销商设计人员上传设计图", "hygf_10", "经销商设计人员上传设计图"),
SJTZSH(1011, "待设计图纸审核", "hygf_11", "设计图纸审核"),
BWDJTJ(1012, "待并网登记提交", "hygf_bw1", "并网登记提交"),
BWGLDGCSH(1013, "待并网管理端工程审核", "hygf_bw2", "并网管理端工程审核"),
JXSGCTJYS(1014, "待经销商工程提交验收", "hygf_ys1", "经销商工程提交验收"),
GLDTRSH(1015, "待管理端投融审核", "hygf_ys2", "管理端投融审核"),
ZGD(1016, "待整改单", "hygf_zg_tr", "整改单"),
GLDFWSH(1017, "待管理端法务审核", "hygf_ys3", "管理端法务审核"),
ZGD_FW(1018, "待整改单", "hygf_zg_fw", "整改单"),
GLDGCSH(1019, "待管理端工程审核", "hygf_ys4", "管理端工程审核"),
ZGD_GC(1020, "待整改单", "hygf_zg_gc", "整改单"),
GLDGCYX(1021, "待管理端工程是否线下", "hygf_ys5", "管理端工程是否线下"),
GLDGCXY(1022, "待管理端工程线下验", "hygf_ys6", "管理端工程线下验"),
ZGD_XX(1023, "待整改单", "hygf_zg_xx", "整改单"),
;
private final int code;
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.module.hygf.api.Enum.AcceptanceStatusEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.ArrivalStateeEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.hygf.api.Enum.FlowStatusEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.AcceptanceDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.StandardDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.AcceptanceCheckItem;
import com.yeejoin.amos.boot.module.hygf.api.entity.BasicGridAcceptance;
import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
......@@ -18,11 +20,12 @@ import com.yeejoin.amos.boot.module.hygf.api.mapper.AcceptanceMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.BasicGridAcceptanceMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.PeasantHouseholdMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IAcceptanceService;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
......@@ -33,6 +36,10 @@ import java.util.stream.Collectors;
@Service
public class AcceptanceServiceImpl implements IAcceptanceService {
// @Autowired
// WorkflowImpl workflow;
@Autowired
WorkFlowService workFlowService;
@Autowired
private AcceptanceMapper acceptanceMapper;
@Autowired
......@@ -42,7 +49,8 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
@Autowired
private AcceptanceCheckItemMapper acceptanceCheckItemMapper;
@Autowired
WorkflowImpl workflow;
private CommonServiceImpl commonService;
/**
* 分页查询验收列表数据
*
......@@ -51,7 +59,7 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
* @return 分页结果
*/
@Override
public Page<AcceptanceDto> page(Integer current, Integer size, AcceptanceDto acceptanceDto) {
public Page<AcceptanceDto> page(Integer current, Integer size, AcceptanceDto acceptanceDto) {
if (Objects.nonNull(acceptanceDto)) {
// 处理提交日期
......@@ -65,7 +73,7 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
}
}
PageHelper.startPage(current, size);
PageHelper.startPage(current, size);
List<AcceptanceDto> resultPage = acceptanceMapper.page(acceptanceDto);
PageInfo<AcceptanceDto> page = new PageInfo(resultPage);
Page<AcceptanceDto> pagenew = new Page<AcceptanceDto>();
......@@ -100,7 +108,7 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
}
@Override
public AcceptanceCheckItem saveEntity(AcceptanceCheckItem item, Long sequenceNbr) {
public AcceptanceCheckItem saveEntity(AcceptanceCheckItem item, Long sequenceNbr) {
BasicGridAcceptance acceptance = basicGridAcceptanceMapper.selectById(sequenceNbr);
Assert.notNull(acceptance, "未查询到相关电站信息!");
item.setWorkOrderId(acceptance.getWorkOrderId());
......@@ -109,25 +117,46 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
acceptanceCheckItemMapper.insert(item);
return Optional.ofNullable(item).orElse(new AcceptanceCheckItem());
}
@Override
@GlobalTransactional
public void checkAccept( Long basicGridAcceptanceId ,String userId){
BasicGridAcceptance basicGridAcceptanc= basicGridAcceptanceMapper.selectById(basicGridAcceptanceId);
public void checkAccept(Long basicGridAcceptanceId, String userId) {
BasicGridAcceptance basicGridAcceptanc = basicGridAcceptanceMapper.selectById(basicGridAcceptanceId);
basicGridAcceptanc.setAcceptanceStatus(AcceptanceStatusEnum.待投融验收.getCode());
basicGridAcceptanc.setAcceptanceRecDate(new Date());
//执行工作流
StandardDto standardDto=new StandardDto();
standardDto.setTaskId(basicGridAcceptanc.getNextTaskId());
workflow.standard(basicGridAcceptanc,standardDto,userId);
// StandardDto standardDto=new StandardDto();
// standardDto.setTaskId(basicGridAcceptanc.getNextTaskId());
// workflow.standard(basicGridAcceptanc,standardDto,userId);
//执行工作流
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setTaskId(basicGridAcceptanc.getNextTaskId());
ProcessTaskDTO processTaskDTO = workFlowService.standard(basicGridAcceptanc, taskResultDTO, userId);
//发起待办
WorkflowResultDto workflowResultDto = workFlowService.buildWorkFlowInfo(CollectionUtil.newArrayList(processTaskDTO)).get(0);
workflowResultDto.setInstanceId(basicGridAcceptanc.getInstanceId());
updateAcceptanceTask(basicGridAcceptanc, workflowResultDto);
basicGridAcceptanceMapper.updateById(basicGridAcceptanc);
//线上验收
LambdaUpdateWrapper<PeasantHousehold> up =new LambdaUpdateWrapper<>();
LambdaUpdateWrapper<PeasantHousehold> up = new LambdaUpdateWrapper<>();
up.set(PeasantHousehold::getConstructionState, ArrivalStateeEnum.线上验收.getCode());
long idsk= basicGridAcceptanc.getPeasantHouseholdId();
up.eq(PeasantHousehold::getSequenceNbr,idsk);
peasantHouseholdMapper.update(null,up);
long idsk = basicGridAcceptanc.getPeasantHouseholdId();
up.eq(PeasantHousehold::getSequenceNbr, idsk);
peasantHouseholdMapper.update(null, up);
}
private void updateAcceptanceTask(BasicGridAcceptance basicGridAcceptance, WorkflowResultDto workflowResultDto) {
Map<String, Object> updateTaskParam = new HashMap<>();
updateTaskParam.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("model", basicGridAcceptance);
updateTaskParam.put("relationId", workflowResultDto.getInstanceId());
commonService.updateTaskModel(updateTaskParam);
commonService.buildTaskModel((commonService.buildTaskModelDto(basicGridAcceptance, workflowResultDto, BusinessTypeEnum.HYGF_BWYS)));
}
......
......@@ -107,6 +107,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
task.setTaskId(basicGridAcceptance.getNextTaskId());
ProcessTaskDTO processTaskDTO = workFlowService.standard(basicGridAcceptance, task, userId);
processTaskDTOS.add(processTaskDTO);
updateBasicGridAcceptanceTaskByInstanceId(basicGridAcceptance,basicGridAcceptance.getInstanceId());
} else {
// 调用工作流执行第一个节点
// ProcessDto processDto = new ProcessDto();
......@@ -144,11 +145,24 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
basicGridAcceptanceMapper.updateById(basicGridAcceptance);
//发起待办
List<WorkflowResultDto> workflowResultDtos = workFlowService.buildWorkFlowInfo(processTaskDTOS);
commonService.buildTaskModel(commonService.buildTaskModelDto(basicGridAcceptance, workflowResultDtos.get(0), BusinessTypeEnum.HYGF_BWYS));
WorkflowResultDto workflowResultDto = workflowResultDtos.get(0);
workflowResultDto.setInstanceId(basicGridAcceptance.getInstanceId());
commonService.buildTaskModel(commonService.buildTaskModelDto(basicGridAcceptance, workflowResultDto, BusinessTypeEnum.HYGF_BWYS));
return grid;
}
private void updateBasicGridAcceptanceTaskByInstanceId(BasicGridAcceptance basicGridAcceptance, String instanceId) {
Map<String, Object> updateTaskParam = new HashMap<>();
updateTaskParam.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("model", basicGridAcceptance);
updateTaskParam.put("relationId", instanceId);
commonService.updateTaskModel(updateTaskParam);
}
public HygfOnGrid modifyEntity(HygfOnGrid grid) {
onGridMapper.updateById(grid);
......@@ -295,14 +309,7 @@ public class BasicGridAcceptanceServiceImpl extends BaseService<BasicGridAccepta
* @param workflowResultDto
*/
private void updateBasicGridAcceptanceTask(BasicGridAcceptance basicGridAcceptance, WorkflowResultDto workflowResultDto) {
Map<String, Object> updateTaskParam = new HashMap<>();
updateTaskParam.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("model", basicGridAcceptance);
updateTaskParam.put("relationId", workflowResultDto.getInstanceId());
commonService.updateTaskModel(updateTaskParam);
updateBasicGridAcceptanceTaskByInstanceId(basicGridAcceptance,workflowResultDto.getInstanceId());
commonService.buildTaskModel((commonService.buildTaskModelDto(basicGridAcceptance, workflowResultDto, BusinessTypeEnum.HYGF_BWYS)));
}
}
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -9,8 +10,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.module.hygf.api.Enum.*;
import com.yeejoin.amos.boot.module.hygf.api.config.UserLimits;
import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.WorkDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.api.fegin.IdxFeginService;
import com.yeejoin.amos.boot.module.hygf.api.mapper.*;
......@@ -19,24 +21,21 @@ import com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -49,9 +48,13 @@ import java.util.stream.Collectors;
@Slf4j
public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerStation, PowerStationMapper> implements IPowerStationService {
private static final String IDX_REQUEST_STATE = "200";
private static final String VERIFY_RESULT_YES = "0";
private static final String VERIFY_RESULT_NO = "1";
@Autowired
protected EmqKeeper emqKeeper;
@Autowired
IdxFeginService idxFeginService;
@Autowired
IPowerStationService powerStationService;
@Autowired
......@@ -60,11 +63,6 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
DesignInformationServiceImpl designInformationService;
@Autowired
PeasantHouseholdServiceImpl peasantHouseholdService;
private static final String IDX_REQUEST_STATE="200";
private static final String VERIFY_RESULT_YES="0";
private static final String VERIFY_RESULT_NO="1";
@Autowired
WorkflowFeignClient workflowFeignClient;
@Autowired
......@@ -74,8 +72,6 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
@Autowired
ToDoTasksMapper toDoTasksMapper;
@Autowired
protected EmqKeeper emqKeeper;
@Autowired
ToDoTasksServiceImpl toDoTasksServiceImpl;
@Autowired
UserMessageMapper userMessageMapper;
......@@ -83,11 +79,15 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
PowerStationMapper powerStationMapper;
@Autowired
AmosRequestContext requestContext;
// @Autowired
// WorkflowImpl workflow;
@Autowired
WorkflowImpl workflow;
WorkFlowService workFlowService;
@Autowired
CommonServiceImpl commonService;
public Page<PowerStationDto> queryForPowerStationUserRoles(Page<PowerStationDto> page, String powerStationCode,
String ownersName, AgencyUserModel userInfo, String serviceAgent, String regionalCompaniesName, String processStatus) {
public Page<PowerStationDto> queryForPowerStationUserRoles(Page<PowerStationDto> page, String powerStationCode,
String ownersName, AgencyUserModel userInfo, String serviceAgent, String regionalCompaniesName, String processStatus) {
// Map<Long, List<RoleModel>> orgRoles = userInfo.getOrgRoles();
// Collection<List<RoleModel>> roleModels = orgRoles.values();
// if(roleModels !=null){
......@@ -102,25 +102,25 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
// }
// }
// 获取用户所在经销商单位
// 获取用户所在经销商单位
// UserUnitInformationDto userUnitInformationDto=personnelBusinessMapper.getUserUnitInformationDto(userInfo.getUserId());
//
// if(userUnitInformationDto!=null&&userUnitInformationDto.getAmosDealerName()!=null){
// serviceAgent=userUnitInformationDto.getAmosDealerName();
// }
// return
// this.queryForPowerStationPage(page,powerStationCode,ownersName,serviceAgent);
return this.queryPage((int) page.getCurrent(), (int) page.getSize(), powerStationCode, ownersName,
serviceAgent,regionalCompaniesName,processStatus);
}
// return
// this.queryForPowerStationPage(page,powerStationCode,ownersName,serviceAgent);
return this.queryPage((int) page.getCurrent(), (int) page.getSize(), powerStationCode, ownersName,
serviceAgent, regionalCompaniesName, processStatus);
}
// 查询电站审核记录
public Page<PowerStationDto> queryPage(int current, int size, String powerStationCode, String ownersName,
String serviceAgent,String regionalCompaniesName,String processStatus) {
// 查询电站审核记录
public Page<PowerStationDto> queryPage(int current, int size, String powerStationCode, String ownersName,
String serviceAgent, String regionalCompaniesName, String processStatus) {
PageHelper.startPage(current, size);
List<PowerStationDto> list = powerStationMapper.queryPage(powerStationCode, ownersName, serviceAgent,regionalCompaniesName,processStatus);
PageHelper.startPage(current, size);
List<PowerStationDto> list = powerStationMapper.queryPage(powerStationCode, ownersName, serviceAgent, regionalCompaniesName, processStatus);
PageInfo<PowerStationDto> pages = new PageInfo(list);
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PowerStationDto> pagenew = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<PowerStationDto>();
......@@ -133,26 +133,25 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
}
/**
* 分页查询
*/
public Page<PowerStationDto> queryForPowerStationPage(Page<PowerStationDto> page,@Condition(Operator.like) String powerStationCode,@Condition(Operator.like) String ownersName,String serviceAgent) {
return this.queryForPage(page, "rec_date", false,powerStationCode,ownersName,serviceAgent);
/**
* 分页查询
*/
public Page<PowerStationDto> queryForPowerStationPage(Page<PowerStationDto> page, @Condition(Operator.like) String powerStationCode, @Condition(Operator.like) String ownersName, String serviceAgent) {
return this.queryForPage(page, "rec_date", false, powerStationCode, ownersName, serviceAgent);
}
/**
* 列表查询 示例
*/
public List<PowerStationDto> queryForPowerStationList() {
return this.queryForList("" , false);
public List<PowerStationDto> queryForPowerStationList() {
return this.queryForList("", false);
}
@Override
@Transactional
public boolean savePowerStation(PowerStation powerStation, boolean flag,String name,String meg) {
try{
public boolean savePowerStation(PowerStation powerStation, boolean flag, String name, String meg) {
try {
//流程节点code
// if (flag) {
// String flowTaskIdnext = this.getTaskNoAuth(powerStation.getProcessInstanceId());
......@@ -162,138 +161,138 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
// powerStation.setNodeRouting(workDto.getNodeRouting());
// }
powerStation.setRecDate(new Date());
//Boolean fl = this.saveOrUpdate(powerStation);
// 避免生成多份数据
Boolean fl = this.saveOrUpdate(powerStation,new LambdaQueryWrapper<PowerStation>()
.eq(PowerStation::getPeasantHouseholdId,powerStation.getPeasantHouseholdId()));
PowerStationNodeEnum powerStationNodeEnum = PowerStationNodeEnum
.getNodeByCode(powerStation.getNextProcessNode());
if (flag) {
ToDoTasks toDoTasks = null;
if (PowerStationNodeEnum.经销商上传图纸.getCode().equals(powerStationNodeEnum.getCode())
|| PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())) {
// 获取经销商orgcode
PeasantHousehold peasantHouseholdd = peasantHouseholdService
.getById(powerStation.getPeasantHouseholdId());
toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(),
"用户" + name + "电站勘察待" + powerStationNodeEnum.getName(),
peasantHouseholdd.getDeveloperCode());
if (PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())) {
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHouseholdd.getDeveloperUserId(), toDoTasks,
meg);
} else {
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(), toDoTasks, meg);
}
} else {
toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(),
"用户" + name + "电站勘察待" + powerStationNodeEnum.getName(), null);
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(), toDoTasks, meg);
}
} else {
LambdaQueryWrapper<ToDoTasks> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ToDoTasks::getType, TaskTypeStationEnum.电站审核.getCode());
wrapper.eq(ToDoTasks::getState, "待办");
wrapper.eq(ToDoTasks::getBusinessId, powerStation.getSequenceNbr());
ToDoTasks doTasks = toDoTasksMapper.selectOne(wrapper);
if (doTasks != null) {
doTasks.setState("已办");
doTasks.setCompleteTime(new Date());
toDoTasksMapper.updateById(doTasks);
emqKeeper.getMqttClient().publish("TASK_MESSAGE", JSON.toJSONString(doTasks).getBytes(), 2, false);
UserMessage userMessage = new UserMessage(doTasks.getType(), doTasks.getBusinessId(),
doTasks.getAmosUserId(), new Date(), doTasks.getTaskName() + "已完成." + meg,
doTasks.getAmosOrgCode());
userMessageMapper.insert(userMessage);
emqKeeper.getMqttClient().publish("MY_MESSAGE", JSON.toJSONString(userMessage).getBytes(), 2,
false);
}
}
return fl;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
@Override
public PowerStation getObjByNhId(String id, String state) {
LambdaQueryWrapper<PowerStation> wrapper = new LambdaQueryWrapper<>();
wrapper.ne(PowerStation::getProcessStatus, state);
wrapper.eq(PowerStation::getPeasantHouseholdId, id);
return this.baseMapper.selectOne(wrapper);
}
@Override
@GlobalTransactional
public String powerStationExamine(long pageId, String nodeCode, String stationId, String taskId,
String planInstanceId, Map<String, Object> kv) {
String meg = "";
// 1. 业务相关数据落表
PowerStation powerStation = this.baseMapper.selectById(stationId);
PowerStationNodeEnum nodeByCode = PowerStationNodeEnum.getNodeByCode(nodeCode);
String result = String.valueOf(kv.get("approvalStatus"));
boolean flag = true;
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
|| PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
this.updateSeve(nodeCode, powerStation.getPeasantHouseholdId(), kv);
} else {
if (VERIFY_RESULT_NO.equals(result)) {
powerStation.setProcessStatus(PowerStationProcessStateEnum.不通过.getName());
}
PowerStationProcessStateEnum resultObj = PowerStationProcessStateEnum.getStateByResult(result);
switch (nodeByCode) {
case 设计审核:
powerStation.setTechnologyStatus(resultObj.getName());
break;
case 投融审核:
powerStation.setDesignStatus(resultObj.getName());
break;
case 法务审核:
powerStation.setBusinessStatus(resultObj.getName());
if (VERIFY_RESULT_YES.equals(result)) {
LambdaUpdateWrapper<HouseholdContract> lambdaUw = new LambdaUpdateWrapper<>();
lambdaUw.eq(HouseholdContract::getPeasantHouseholdId, powerStation.getPeasantHouseholdId());
lambdaUw.set(HouseholdContract::getSurveyStatus, HouseholdContractEnum.勘察状态_已勘察.getCode());
householdContractServiceImpl.update(lambdaUw);
}
break;
case 文件审核:
if (VERIFY_RESULT_YES.equals(result)) {
flag = false;
powerStation.setProcessStatus(PowerStationProcessStateEnum.完成.getName());
}
powerStation.setDrawingReview(resultObj.getName());
break;
default:
break;
}
}
meg = "任务明细:" + nodeByCode + (VERIFY_RESULT_YES.equals(result) ? "通过" : "不通过");
// 2. 更新流程状态
String code = null;
try {
// 3. 工作流执行
// FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId,
// planInstanceId, null, null, null, kv);
// if (IDX_REQUEST_STATE.equals(String.valueOf(submit.getStatus()))) {
// code = submit.getResult();
// log.info("流程执行成功:{}", code);
// 获取流程信息
powerStation.setRecDate(new Date());
//Boolean fl = this.saveOrUpdate(powerStation);
// 避免生成多份数据
Boolean fl = this.saveOrUpdate(powerStation, new LambdaQueryWrapper<PowerStation>()
.eq(PowerStation::getPeasantHouseholdId, powerStation.getPeasantHouseholdId()));
PowerStationNodeEnum powerStationNodeEnum = PowerStationNodeEnum
.getNodeByCode(powerStation.getNextProcessNode());
if (flag) {
ToDoTasks toDoTasks = null;
if (PowerStationNodeEnum.经销商上传图纸.getCode().equals(powerStationNodeEnum.getCode())
|| PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())) {
// 获取经销商orgcode
PeasantHousehold peasantHouseholdd = peasantHouseholdService
.getById(powerStation.getPeasantHouseholdId());
toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(),
"用户" + name + "电站勘察待" + powerStationNodeEnum.getName(),
peasantHouseholdd.getDeveloperCode());
if (PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())) {
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHouseholdd.getDeveloperUserId(), toDoTasks,
meg);
} else {
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(), toDoTasks, meg);
}
} else {
toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(),
"用户" + name + "电站勘察待" + powerStationNodeEnum.getName(), null);
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(), toDoTasks, meg);
}
} else {
LambdaQueryWrapper<ToDoTasks> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ToDoTasks::getType, TaskTypeStationEnum.电站审核.getCode());
wrapper.eq(ToDoTasks::getState, "待办");
wrapper.eq(ToDoTasks::getBusinessId, powerStation.getSequenceNbr());
ToDoTasks doTasks = toDoTasksMapper.selectOne(wrapper);
if (doTasks != null) {
doTasks.setState("已办");
doTasks.setCompleteTime(new Date());
toDoTasksMapper.updateById(doTasks);
emqKeeper.getMqttClient().publish("TASK_MESSAGE", JSON.toJSONString(doTasks).getBytes(), 2, false);
UserMessage userMessage = new UserMessage(doTasks.getType(), doTasks.getBusinessId(),
doTasks.getAmosUserId(), new Date(), doTasks.getTaskName() + "已完成." + meg,
doTasks.getAmosOrgCode());
userMessageMapper.insert(userMessage);
emqKeeper.getMqttClient().publish("MY_MESSAGE", JSON.toJSONString(userMessage).getBytes(), 2,
false);
}
}
return fl;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
@Override
public PowerStation getObjByNhId(String id, String state) {
LambdaQueryWrapper<PowerStation> wrapper = new LambdaQueryWrapper<>();
wrapper.ne(PowerStation::getProcessStatus, state);
wrapper.eq(PowerStation::getPeasantHouseholdId, id);
return this.baseMapper.selectOne(wrapper);
}
@Override
@GlobalTransactional
public String powerStationExamine(long pageId, String nodeCode, String stationId, String taskId,
String planInstanceId, Map<String, Object> kv) {
String meg = "";
// 1. 业务相关数据落表
PowerStation powerStation = this.baseMapper.selectById(stationId);
PowerStationNodeEnum nodeByCode = PowerStationNodeEnum.getNodeByCode(nodeCode);
String result = String.valueOf(kv.get("approvalStatus"));
boolean flag = true;
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
|| PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
this.updateSeve(nodeCode, powerStation.getPeasantHouseholdId(), kv);
} else {
if (VERIFY_RESULT_NO.equals(result)) {
powerStation.setProcessStatus(PowerStationProcessStateEnum.不通过.getName());
}
PowerStationProcessStateEnum resultObj = PowerStationProcessStateEnum.getStateByResult(result);
switch (nodeByCode) {
case 设计审核:
powerStation.setTechnologyStatus(resultObj.getName());
break;
case 投融审核:
powerStation.setDesignStatus(resultObj.getName());
break;
case 法务审核:
powerStation.setBusinessStatus(resultObj.getName());
if (VERIFY_RESULT_YES.equals(result)) {
LambdaUpdateWrapper<HouseholdContract> lambdaUw = new LambdaUpdateWrapper<>();
lambdaUw.eq(HouseholdContract::getPeasantHouseholdId, powerStation.getPeasantHouseholdId());
lambdaUw.set(HouseholdContract::getSurveyStatus, HouseholdContractEnum.勘察状态_已勘察.getCode());
householdContractServiceImpl.update(lambdaUw);
}
break;
case 文件审核:
if (VERIFY_RESULT_YES.equals(result)) {
flag = false;
powerStation.setProcessStatus(PowerStationProcessStateEnum.完成.getName());
}
powerStation.setDrawingReview(resultObj.getName());
break;
default:
break;
}
}
meg = "任务明细:" + nodeByCode + (VERIFY_RESULT_YES.equals(result) ? "通过" : "不通过");
// 2. 更新流程状态
String code = null;
try {
// 3. 工作流执行
// FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId,
// planInstanceId, null, null, null, kv);
// if (IDX_REQUEST_STATE.equals(String.valueOf(submit.getStatus()))) {
// code = submit.getResult();
// log.info("流程执行成功:{}", code);
// 获取流程信息
// FeignClientResult<JSONObject> record = idxFeginService.getRecord(code);
// if (IDX_REQUEST_STATE.equals(String.valueOf(record.getStatus()))) {
// JSONObject resultObj = record.getResult();
......@@ -301,62 +300,89 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
//
// }
// 执行工作流
BasicGridAcceptance basicGridAcceptance = new BasicGridAcceptance();
StandardDto standardDto = new StandardDto();
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
|| PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
standardDto.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
standardDto.setResult("0");
standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto();
variable.setApprovalStatus("0");
variable.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator("");
standardDto.setVariable(variable);
} else {
standardDto.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
standardDto.setResult(String.valueOf(kv.get("approvalStatus")));
standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto();
variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus")));
variable.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator(String.valueOf(kv.get("approveName")));
standardDto.setVariable(variable);
}
BasicGridAcceptance workBasicGridAcceptance = workflow.standard(basicGridAcceptance, standardDto,
requestContext.getUserId());
powerStation.setFlowTaskId(basicGridAcceptance.getNextTaskId());
powerStation.setNodeRole(basicGridAcceptance.getNextExecutorIds());
powerStation.setNodeRouting(basicGridAcceptance.getNextNodeKey() != null
? PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey())
: "");
powerStation.setNextProcessNode(basicGridAcceptance.getNextNodeKey());
powerStation.setPromoter(basicGridAcceptance.getPromoter());
powerStation.setNextExecuteUserIds(basicGridAcceptance.getNextExecuteUserIds());
powerStation.setNextNodeName(basicGridAcceptance.getNextNodeName());
powerStationService.savePowerStation(powerStation, flag, powerStation.getOwnersName(), meg);
if (!flag) {
// 更新农户状态
String peasantHouseholdId = powerStation.getPeasantHouseholdId();
PeasantHousehold peasantHousehold = peasantHouseholdService.getBaseMapper()
.selectById(Long.valueOf(peasantHouseholdId));
peasantHousehold.setSurveyOrNot(3);
peasantHousehold.setConstructionState(ArrivalStateeEnum.勘察完成.getCode());
peasantHouseholdService.saveOrUpdate(peasantHousehold);
}
// }
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
return code;
// 执行工作流
BasicGridAcceptance basicGridAcceptance = new BasicGridAcceptance();
// StandardDto standardDto = new StandardDto();
// if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
// || PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
//
// standardDto.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
// standardDto.setResult("0");
// standardDto.setTaskId(powerStation.getFlowTaskId());
// VariableDto variable = new VariableDto();
// variable.setApprovalStatus("0");
// variable.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
// variable.setOperationTime(String.valueOf(kv.get("approveDate")));
// variable.setOperator("");
// standardDto.setVariable(variable);
// } else {
// standardDto.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
// standardDto.setResult(String.valueOf(kv.get("approvalStatus")));
// standardDto.setTaskId(powerStation.getFlowTaskId());
// VariableDto variable = new VariableDto();
// variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus")));
// variable.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
// variable.setOperationTime(String.valueOf(kv.get("approveDate")));
// variable.setOperator(String.valueOf(kv.get("approveName")));
// standardDto.setVariable(variable);
// }
// BasicGridAcceptance workBasicGridAcceptance = workflow.standard(basicGridAcceptance, standardDto,
// requestContext.getUserId());
TaskResultDTO taskResultDTO = new TaskResultDTO();
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
|| PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
taskResultDTO.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
taskResultDTO.setResult("0");
taskResultDTO.setTaskId(powerStation.getFlowTaskId());
HashMap<String, Object> variableMap = new HashMap<>();
variableMap.put("approvalStatus", "0");
variableMap.put("comment", kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
variableMap.put("operationTime", String.valueOf(kv.get("approveDate")));
variableMap.put("operator", "");
taskResultDTO.setVariable(variableMap);
} else {
taskResultDTO.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
taskResultDTO.setResult(String.valueOf(kv.get("approvalStatus")));
taskResultDTO.setTaskId(powerStation.getFlowTaskId());
HashMap<String, Object> variableMap = new HashMap<>();
variableMap.put("approvalStatus", String.valueOf(kv.get("approvalStatus")));
variableMap.put("comment", kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
variableMap.put("operationTime", String.valueOf(kv.get("approveDate")));
variableMap.put("operator", String.valueOf(kv.get("approveName")));
taskResultDTO.setVariable(variableMap);
}
ProcessTaskDTO processTaskDTO = workFlowService.standard(basicGridAcceptance, taskResultDTO, requestContext.getUserId());
powerStation.setFlowTaskId(basicGridAcceptance.getNextTaskId());
powerStation.setNodeRole(basicGridAcceptance.getNextExecutorIds());
powerStation.setNodeRouting(basicGridAcceptance.getNextNodeKey() != null
? PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey())
: "");
powerStation.setNextProcessNode(basicGridAcceptance.getNextNodeKey());
powerStation.setPromoter(basicGridAcceptance.getPromoter());
powerStation.setNextExecuteUserIds(basicGridAcceptance.getNextExecuteUserIds());
powerStation.setNextNodeName(basicGridAcceptance.getNextNodeName());
powerStationService.savePowerStation(powerStation, flag, powerStation.getOwnersName(), meg);
//更新待办
WorkflowResultDto workflowResultDto = workFlowService.buildWorkFlowInfo(CollectionUtil.newArrayList(processTaskDTO)).get(0);
workflowResultDto.setInstanceId(powerStation.getProcessInstanceId());
updatePowerStationTask(powerStation, workflowResultDto);
if (!flag) {
// 更新农户状态
String peasantHouseholdId = powerStation.getPeasantHouseholdId();
PeasantHousehold peasantHousehold = peasantHouseholdService.getBaseMapper()
.selectById(Long.valueOf(peasantHouseholdId));
peasantHousehold.setSurveyOrNot(3);
peasantHousehold.setConstructionState(ArrivalStateeEnum.勘察完成.getCode());
peasantHouseholdService.saveOrUpdate(peasantHousehold);
}
// }
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
return code;
// String meg="";
// // 1. 业务相关数据落表
......@@ -434,115 +460,127 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
//
// }
// return code;
}
public WorkDto getNodeInfoCode(String flowTaskId) {
WorkDto workDto = null;
try {
FeignClientResult<JSONObject> jSONObject = workflowFeignClient.getNodeInfo(flowTaskId);
if (IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.getStatus()))) {
JSONObject js = jSONObject.getResult();
if (js == null) {
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
LinkedHashMap taskInfo = js.get("taskInfo") != null ? (LinkedHashMap) js.get("taskInfo") : null;
String nextProcessNode = taskInfo != null ? taskInfo.get("taskDefinitionKey").toString() : null;
List<LinkedHashMap> executor = js.get("executor") != null ? (List<LinkedHashMap>) js.get("executor")
: null;
String nodeRole = null;
if (!executor.isEmpty()) {
List<String> idList = executor.stream().map(e -> e.get("groupId").toString())
.collect(Collectors.toList());
nodeRole = StringUtils.join(idList, ",");
}
LinkedHashMap extensionInfo = js.get("extensionInfo") != null ? (LinkedHashMap) js.get("extensionInfo")
: null;
String nodeRouting = extensionInfo != null ? extensionInfo.get("nodeRole").toString() : null;
workDto = new WorkDto(nodeRouting, nodeRole, nextProcessNode);
}
return workDto;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
public String getTaskNoAuth(String processInstanceId) {
String flowTaskId = null;
try {
JSONObject jSONObject = workflowFeignClient.getTaskNoAuth(processInstanceId);
if (IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.get("code")))) {
LinkedHashMap jsd = jSONObject.get("data") != null ? (LinkedHashMap) jSONObject.get("data") : null;
flowTaskId = jsd != null ? jsd.get("id").toString() : null;
}
if (flowTaskId == null) {
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
return flowTaskId;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
// 设计信息填充
public void updateSeve(String nodeCode, String peasantHouseholdId, Map<String, Object> kv) {
LambdaQueryWrapper<DesignInformation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DesignInformation::getPeasantHouseholdId, peasantHouseholdId);
DesignInformation designInformation = designInformationMapper.selectOne(wrapper);
if (designInformation != null) {
DesignInformation designInformationnew = this.mapToBean(kv, DesignInformation.class);
if (PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
designInformation.setPeasantHouseholdId(peasantHouseholdId);
designInformation.setComponentLayout(designInformationnew.getComponentLayout());
designInformation.setComponentBracket(designInformationnew.getComponentBracket());
designInformation.setConnectionLine(designInformationnew.getConnectionLine());
designInformation.setOnceLine(designInformationnew.getOnceLine());
designInformationMapper.updateById(designInformation);
} else {
// designInformationnew.setTypicalDiagram(designInformationnew.getTypicalDiagram());
designInformationnew.setPeasantHouseholdId(peasantHouseholdId);
designInformationnew.setComponentLayout(designInformation.getComponentLayout());
designInformationnew.setComponentBracket(designInformation.getComponentBracket());
designInformationnew.setConnectionLine(designInformation.getConnectionLine());
designInformationnew.setOnceLine(designInformation.getOnceLine());
designInformationnew.setSequenceNbr(designInformation.getSequenceNbr());
designInformationnew.setRecDate(designInformation.getRecDate());
designInformationnew.setRecUserId(designInformation.getRecUserId());
designInformationnew.setRecUserName(designInformation.getRecUserName());
designInformationnew.setIsDelete(designInformation.getIsDelete());
designInformationnew.setCable(designInformation.getCable());
designInformationMapper.updateById(designInformationnew);
}
} else {
DesignInformation designInformationnew = this.mapToBean(kv, DesignInformation.class);
designInformationnew.setTypicalDiagram((List<Object>) kv.get("typicalDiagram"));
designInformationnew.setPeasantHouseholdId(peasantHouseholdId);
designInformationMapper.insert(designInformationnew);
}
}
public <T> T mapToBean(Map<String, Object> map, Class<T> clazz) {
ObjectMapper objectMapper = new ObjectMapper();
T bean = null;
try {
bean = clazz.newInstance();
bean = objectMapper.convertValue(map, clazz);
} catch (Exception e) {
throw new BaseException(" 数据转化异常!", "400", "数据转化异常!");
}
return bean;
}
}
private void updatePowerStationTask(PowerStation powerStation, WorkflowResultDto workflowResultDto) {
Map<String, Object> updateTaskParam = new HashMap<>();
updateTaskParam.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("model", powerStation);
updateTaskParam.put("relationId", workflowResultDto.getInstanceId());
commonService.updateTaskModel(updateTaskParam);
commonService.buildTaskModel((commonService.buildTaskModelDto(powerStation, workflowResultDto, BusinessTypeEnum.HYGF_DZ_SH)));
}
public WorkDto getNodeInfoCode(String flowTaskId) {
WorkDto workDto = null;
try {
FeignClientResult<JSONObject> jSONObject = workflowFeignClient.getNodeInfo(flowTaskId);
if (IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.getStatus()))) {
JSONObject js = jSONObject.getResult();
if (js == null) {
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
LinkedHashMap taskInfo = js.get("taskInfo") != null ? (LinkedHashMap) js.get("taskInfo") : null;
String nextProcessNode = taskInfo != null ? taskInfo.get("taskDefinitionKey").toString() : null;
List<LinkedHashMap> executor = js.get("executor") != null ? (List<LinkedHashMap>) js.get("executor")
: null;
String nodeRole = null;
if (!executor.isEmpty()) {
List<String> idList = executor.stream().map(e -> e.get("groupId").toString())
.collect(Collectors.toList());
nodeRole = StringUtils.join(idList, ",");
}
LinkedHashMap extensionInfo = js.get("extensionInfo") != null ? (LinkedHashMap) js.get("extensionInfo")
: null;
String nodeRouting = extensionInfo != null ? extensionInfo.get("nodeRole").toString() : null;
workDto = new WorkDto(nodeRouting, nodeRole, nextProcessNode);
}
return workDto;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
public String getTaskNoAuth(String processInstanceId) {
String flowTaskId = null;
try {
JSONObject jSONObject = workflowFeignClient.getTaskNoAuth(processInstanceId);
if (IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.get("code")))) {
LinkedHashMap jsd = jSONObject.get("data") != null ? (LinkedHashMap) jSONObject.get("data") : null;
flowTaskId = jsd != null ? jsd.get("id").toString() : null;
}
if (flowTaskId == null) {
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
return flowTaskId;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
// 设计信息填充
public void updateSeve(String nodeCode, String peasantHouseholdId, Map<String, Object> kv) {
LambdaQueryWrapper<DesignInformation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DesignInformation::getPeasantHouseholdId, peasantHouseholdId);
DesignInformation designInformation = designInformationMapper.selectOne(wrapper);
if (designInformation != null) {
DesignInformation designInformationnew = this.mapToBean(kv, DesignInformation.class);
if (PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
designInformation.setPeasantHouseholdId(peasantHouseholdId);
designInformation.setComponentLayout(designInformationnew.getComponentLayout());
designInformation.setComponentBracket(designInformationnew.getComponentBracket());
designInformation.setConnectionLine(designInformationnew.getConnectionLine());
designInformation.setOnceLine(designInformationnew.getOnceLine());
designInformationMapper.updateById(designInformation);
} else {
// designInformationnew.setTypicalDiagram(designInformationnew.getTypicalDiagram());
designInformationnew.setPeasantHouseholdId(peasantHouseholdId);
designInformationnew.setComponentLayout(designInformation.getComponentLayout());
designInformationnew.setComponentBracket(designInformation.getComponentBracket());
designInformationnew.setConnectionLine(designInformation.getConnectionLine());
designInformationnew.setOnceLine(designInformation.getOnceLine());
designInformationnew.setSequenceNbr(designInformation.getSequenceNbr());
designInformationnew.setRecDate(designInformation.getRecDate());
designInformationnew.setRecUserId(designInformation.getRecUserId());
designInformationnew.setRecUserName(designInformation.getRecUserName());
designInformationnew.setIsDelete(designInformation.getIsDelete());
designInformationnew.setCable(designInformation.getCable());
designInformationMapper.updateById(designInformationnew);
}
} else {
DesignInformation designInformationnew = this.mapToBean(kv, DesignInformation.class);
designInformationnew.setTypicalDiagram((List<Object>) kv.get("typicalDiagram"));
designInformationnew.setPeasantHouseholdId(peasantHouseholdId);
designInformationMapper.insert(designInformationnew);
}
}
public <T> T mapToBean(Map<String, Object> map, Class<T> clazz) {
ObjectMapper objectMapper = new ObjectMapper();
T bean = null;
try {
bean = clazz.newInstance();
bean = objectMapper.convertValue(map, clazz);
} catch (Exception e) {
throw new BaseException(" 数据转化异常!", "400", "数据转化异常!");
}
return bean;
}
// private CollectionToList(Collection<? extends E> c){
// Object[] objects = c.toArray();
......
......@@ -292,6 +292,17 @@ public class SurveyInformationServiceImpl
return code;
}
private void updateSurveyInformationTask(PowerStation powerStation, String instanceId) {
Map<String, Object> updateTaskParam = new HashMap<>();
updateTaskParam.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
updateTaskParam.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
updateTaskParam.put("model", powerStation);
updateTaskParam.put("relationId", instanceId);
commonService.updateTaskModel(updateTaskParam);
}
private void submitExamine(PeasantHousehold peasantHousehold) {
PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()),
......@@ -324,6 +335,9 @@ public class SurveyInformationServiceImpl
variableMap.put("approvalStatus", "0");
taskResultDTO.setVariable(variableMap);
ProcessTaskDTO processTaskDTO = workFlowService.standard(basicGridAcceptance, taskResultDTO, requestContext.getUserId());
basicGridAcceptance.setInstanceId(powerStation.getProcessInstanceId());
updateSurveyInformationTask(powerStation, powerStation.getProcessInstanceId());
processTaskDTOS.add(processTaskDTO);
} else {
// 第一步启动工作流
......
......@@ -28,5 +28,119 @@
"pageType": "",
"name": "经销商管理员审核",
"url": "/mixuap?appId=1678340647909617665&id=1686219644483956738"
},
{
"type": "hygf_02",
"pageType": "",
"name": "经销商确认",
"url": "/mixuap?appId=1677158789557547009&id=1677158800043307009"
},
{
"type": "hygf_03",
"pageType": "",
"name": "设计审核",
"url": "/mixuap?appId=1677158789557547009&id=1680021027779801090"
},
{
"type": "hygf_05",
"pageType": "",
"name": "投融审核",
"url": "/mixuap?appId=1677158789557547009&id=1680021027779801090"
},
{
"type": "hygf_07",
"pageType": "",
"name": "法务审核",
"url": "/mixuap?appId=1677158789557547009&id=1680021027779801090"
},
{
"type": "hygf_09",
"pageType": "",
"name": "设计上传典型图库",
"url": "/mixuap?appId=1677158789557547009&id=1680021027779801090"
},
{
"type": "hygf_10",
"pageType": "",
"name": "经销商设计人员上传设计图",
"url": "/mixuap?appId=1677158789557547009&id=1680021027779801090"
},
{
"type": "hygf_11",
"pageType": "",
"name": "设计图纸审核",
"url": "/mixuap?appId=1677158789557547009&id=1680021027779801090"
},
{
"type": "hygf_bw1",
"pageType": "",
"name": "并网登记提交",
"url": "/mixuap?appId=1677158789557547009&id=1747156510238076929"
},
{
"type": "hygf_bw2",
"pageType": "",
"name": "并网管理端工程审核",
"url": "/mixuap?appId=1678340647909617665&id=1747528027618701313"
},
{
"type": "hygf_ys1",
"pageType": "",
"name": "经销商工程提交验收",
"url": "/mixuap?appId=1677158789557547009&id=1747168313215053826"
},
{
"type": "hygf_ys2",
"pageType": "",
"name": "管理端投融审核",
"url": ""
},
{
"type": "hygf_zg_tr",
"pageType": "",
"name": "整改单",
"url": ""
},
{
"type": "hygf_ys3",
"pageType": "",
"name": "管理端法务审核",
"url": ""
},
{
"type": "hygf_zg_fw",
"pageType": "",
"name": "整改单",
"url": ""
},
{
"type": "hygf_ys4",
"pageType": "",
"name": "管理端工程审核",
"url": ""
},
{
"type": "hygf_zg_gc",
"pageType": "",
"name": "整改单",
"url": ""
},
{
"type": "hygf_ys5",
"pageType": "",
"name": "管理端工程是否线下",
"url": ""
},
{
"type": "hygf_ys6",
"pageType": "",
"name": "管理端工程线下验",
"url": ""
},
{
"type": "hygf_zg_xx",
"pageType": "",
"name": "整改单",
"url": ""
}
]
\ No newline at end of file
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