|
|
|
|
@@ -4,17 +4,20 @@ import com.alibaba.fastjson2.JSONArray;
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
import com.sdm.common.common.SdmResponse;
|
|
|
|
|
import com.sdm.common.common.ThreadLocalContext;
|
|
|
|
|
import com.sdm.common.entity.bo.DataPageInfo;
|
|
|
|
|
import com.sdm.common.entity.constants.NumberConstants;
|
|
|
|
|
import com.sdm.common.entity.enums.ApproveTypeEnum;
|
|
|
|
|
import com.sdm.common.entity.enums.MessageTemplateEnum;
|
|
|
|
|
import com.sdm.common.entity.req.system.FlowStatusParam;
|
|
|
|
|
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
|
|
|
|
import com.sdm.common.entity.req.system.SendMsgReq;
|
|
|
|
|
import com.sdm.common.entity.resp.PageDataResp;
|
|
|
|
|
import com.sdm.common.feign.inter.system.IMessageFeignClient;
|
|
|
|
|
import com.sdm.common.log.CoreLogger;
|
|
|
|
|
import com.sdm.common.utils.HttpClientUtil;
|
|
|
|
|
import com.sdm.outbridge.service.lyric.IFreeLinkService;
|
|
|
|
|
import com.sdm.system.dao.SimulationApproveMapper;
|
|
|
|
|
import com.sdm.system.model.entity.ApproveFlowBean;
|
|
|
|
|
import com.sdm.system.model.entity.ApproveTemplateBean;
|
|
|
|
|
import com.sdm.system.model.entity.SimulationApproveFlowMapBean;
|
|
|
|
|
import com.sdm.system.service.ISimulatinoApprovalService;
|
|
|
|
|
@@ -29,7 +32,10 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
|
@@ -539,22 +545,38 @@ public class SimulationApproveServiceImpl implements ISimulatinoApprovalService
|
|
|
|
|
{
|
|
|
|
|
SdmResponse response = SdmResponse.success();
|
|
|
|
|
String moduleCode = mapBean.moduleCode;
|
|
|
|
|
String flowCode = mapBean.flowCode;
|
|
|
|
|
//String flowCode = mapBean.flowCode;
|
|
|
|
|
long tenantId = ThreadLocalContext.getTenantId();
|
|
|
|
|
long creator = ThreadLocalContext.getUserId();
|
|
|
|
|
List<SimulationApproveFlowMapBean> mapBeans = approveMapper.queryModuleApproveFlowMap(moduleCode,flowCode,tenantId);
|
|
|
|
|
if(!mapBeans.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
response = SdmResponse.success("模块审批流程已存在");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
mapBean.creator = creator;
|
|
|
|
|
mapBean.tenantId = tenantId;
|
|
|
|
|
if(approveMapper.addModuleApproveFlowMap(mapBean) <= 0)
|
|
|
|
|
String existFlowCode = "";
|
|
|
|
|
for(ApproveFlowBean flowBean : mapBean.flowList) {
|
|
|
|
|
String flowCode = flowBean.flowCode;
|
|
|
|
|
List<SimulationApproveFlowMapBean> mapBeans = approveMapper.queryModuleApproveFlowMap(moduleCode, flowCode, tenantId);
|
|
|
|
|
if (!mapBeans.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
response = SdmResponse.failed("添加模块审批流程失败");
|
|
|
|
|
if(!existFlowCode.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
existFlowCode += ",";
|
|
|
|
|
}
|
|
|
|
|
existFlowCode += flowBean.flowName;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SimulationApproveFlowMapBean flowMapBean = new SimulationApproveFlowMapBean();
|
|
|
|
|
flowMapBean.flowCode = flowCode;
|
|
|
|
|
flowMapBean.flowName = flowBean.flowName;
|
|
|
|
|
flowMapBean.moduleCode = mapBean.moduleCode;
|
|
|
|
|
flowMapBean.moduleName = mapBean.moduleName;
|
|
|
|
|
flowMapBean.creator = creator;
|
|
|
|
|
flowMapBean.tenantId = tenantId;
|
|
|
|
|
if (approveMapper.addModuleApproveFlowMap(flowMapBean) <= 0) {
|
|
|
|
|
response = SdmResponse.failed("添加模块审批流程失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!existFlowCode.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
response = SdmResponse.success("模块审批流程["+existFlowCode+"]已存在");
|
|
|
|
|
}
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
@@ -615,12 +637,46 @@ public class SimulationApproveServiceImpl implements ISimulatinoApprovalService
|
|
|
|
|
* 获取所有审批流程映射
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public SdmResponse queryAllApproveFlowMap()
|
|
|
|
|
public SdmResponse queryAllApproveFlowMap(int current, int size)
|
|
|
|
|
{
|
|
|
|
|
SdmResponse sdmResponse = SdmResponse.success();
|
|
|
|
|
long tenantId = ThreadLocalContext.getTenantId();
|
|
|
|
|
List<SimulationApproveFlowMapBean> flowMapBeans = approveMapper.queryAllModuleApproveFlowMap(tenantId);
|
|
|
|
|
sdmResponse.setData(flowMapBeans);
|
|
|
|
|
Map<String,SimulationApproveFlowMapBean> flowMapBeanMap = new HashMap<>();
|
|
|
|
|
for(SimulationApproveFlowMapBean mapBean : flowMapBeans)
|
|
|
|
|
{
|
|
|
|
|
SimulationApproveFlowMapBean flowMapBean = flowMapBeanMap.get(mapBean.moduleCode);
|
|
|
|
|
if(flowMapBean == null)
|
|
|
|
|
{
|
|
|
|
|
flowMapBean = mapBean;
|
|
|
|
|
flowMapBeanMap.put(mapBean.moduleCode, flowMapBean);
|
|
|
|
|
}
|
|
|
|
|
ApproveFlowBean approveFlowBean = new ApproveFlowBean();
|
|
|
|
|
approveFlowBean.flowName = mapBean.flowName;
|
|
|
|
|
approveFlowBean.flowCode = mapBean.flowCode;
|
|
|
|
|
approveFlowBean.id = mapBean.id;
|
|
|
|
|
flowMapBean.flowList.add(approveFlowBean);
|
|
|
|
|
}
|
|
|
|
|
DataPageInfo<List<SimulationApproveFlowMapBean>> pageInfo = new DataPageInfo<>();
|
|
|
|
|
List<SimulationApproveFlowMapBean> flowMapBeanList = flowMapBeanMap.values().stream().toList();
|
|
|
|
|
int total = flowMapBeanList.size();
|
|
|
|
|
int beginPos = (current-1)*size;
|
|
|
|
|
int endPos = beginPos + size;
|
|
|
|
|
List<SimulationApproveFlowMapBean> queryTemplate = new ArrayList<>();
|
|
|
|
|
if(flowMapBeanList.size() > beginPos)
|
|
|
|
|
{
|
|
|
|
|
if(flowMapBeanList.size() > endPos)
|
|
|
|
|
{
|
|
|
|
|
queryTemplate = flowMapBeanList.subList(beginPos,endPos);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
queryTemplate = flowMapBeanList.subList(beginPos,flowMapBeanList.size());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
pageInfo.data = queryTemplate;
|
|
|
|
|
pageInfo.total = total;
|
|
|
|
|
sdmResponse.setData(pageInfo);
|
|
|
|
|
return sdmResponse;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|