diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java index 7ed7a9ee..76efa25c 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java @@ -118,4 +118,7 @@ public interface SeeYonRequestService { */ R checkAffairSummery(String templateCode,String targetId); + + R getTargetIdByFormId(String code,String formId); + } diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java b/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java index d472efc4..e8903e0d 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java @@ -255,4 +255,19 @@ public class SeeYonRequestServiceImpl implements SeeYonRequestService { } return R.ok("next",""); } + + @Override + public R getTargetIdByFormId(String code, String formId) { + String title = "【获取targetID】"; + String url = TbsSeeYonConst.API_GET_TARGET_ID+"?templateCode="+code +"&formid="+formId; + R result = seeYonRequestBaseService.getBase(url,title); + if(result.getStatus()==200){ + try { + return R.ok(result.getData(),""); + } catch (NumberFormatException e) { + log.error(title+" url==>{} \n ==> {}",url,JsonUtil.objectToJson(result)); + } + } + return R.ok(); + } } diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java index 1f50f84b..fb9a9d70 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java @@ -45,19 +45,21 @@ public interface TbsSeeYonConst { } } - /** 预算申请 */ + /** 协议条款申请 */ class CheckCostAgreeConf{ public static String Code(){ return DevEnvironmentConfig.isDev()?"CheckCostAgree_Test":"CheckCostAgree"; } } + /** 预算变更申请 */ class BudgetChangeConf{ public static String Code(){ return DevEnvironmentConfig.isDev()?"budgetAdjust2_Test":"budgetAdjust2"; } } + /** 预算批量变更申请 */ class BudgetBatchApplyConf{ public static String Code(){ return DevEnvironmentConfig.isDev()?"budgetBatch_Test":"budgetBatch"; @@ -80,6 +82,7 @@ public interface TbsSeeYonConst { String API_ADD_NODE = "/process/addNode"; String API_COUNT_NOT_OK = "/process/countUnfinished"; String API_CHECK_SUMMERY = "/process/checkAffairSummery"; + String API_GET_TARGET_ID = "/process/getTargetByFormId"; String OA_USER_LIST = "/process/getUsersByCode"; String OA_USER_INFO = "/process/getUserByCode"; diff --git a/src/main/java/com/qs/serve/modules/third/PortalFlowController.java b/src/main/java/com/qs/serve/modules/third/PortalFlowController.java new file mode 100644 index 00000000..bd2f78bd --- /dev/null +++ b/src/main/java/com/qs/serve/modules/third/PortalFlowController.java @@ -0,0 +1,86 @@ +package com.qs.serve.modules.third; + +import com.qs.serve.common.model.dto.R; +import com.qs.serve.modules.seeyon.service.SeeYonRequestService; +import com.qs.serve.modules.sys.entity.SysSyncLog; +import com.qs.serve.modules.sys.service.SysSyncLogService; +import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.service.impl.*; +import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl; +import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author YenHex + * @since 2024/5/20 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("thirty/flow") +public class PortalFlowController { + + private final TbsCostApplyOperationServiceImpl tbsCostApplyOperationService; + private final TbsCostTodoOperationServiceImpl tbsCostTodoOperationService; + private final VtbVerificationOperationServiceImpl verificationOperationService; + private final TzcPolicyOperationServiceImpl tzcPolicyOperationService; + private final TbsBudgetApplyOperationServiceImpl tbsBudgetApplyOperationService; + private final TbsBudgetChangeOperationServiceImpl tbsBudgetChangeOperationService; + private final TbsBudgetBatchOperationServiceImpl tbsBudgetBatchOperationService; + private final SysSyncLogService sysSyncLogService; + private final SeeYonRequestService seeYonRequestService; + + @GetMapping("/compenstate/{flowCode}/{formId}") + public R compenstate(@PathVariable("flowCode")String flowCode, + @PathVariable("formId") String formId ){ + SysSyncLog syncLog = new SysSyncLog(); + syncLog.setFromPlat("flow:"+flowCode); + syncLog.setUrl(formId); + //请求转换ID + String targetId = seeYonRequestService.getTargetIdByFormId(flowCode,formId).getData(); + if(targetId==null){ + syncLog.setFailReason("targetIdNull"); + } + syncLog.setRemark(targetId); + sysSyncLogService.save(syncLog); + + if(targetId==null){ + return R.error("formId无效"); + } + + if(TbsSeeYonConst.PolicyConf.Code().equals(flowCode)){ + //政策申请模板 + tzcPolicyOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.CostApplyConf.Code().equals(flowCode)){ + //费用申请 + tbsCostApplyOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.CostApplyContractConf.Code().equals(flowCode)){ + //费用申请2-协议类 + tbsCostApplyOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.CostCheckConf.Code().equals(flowCode)){ + //核销 + verificationOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.BudgetApplyConf.Code().equals(flowCode)){ + //预算申请 + tbsBudgetApplyOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.CheckCostAgreeConf.Code().equals(flowCode)){ + //协议条款申请 + tbsCostTodoOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.BudgetChangeConf.Code().equals(flowCode)){ + //预算变更申请 + tbsBudgetChangeOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.BudgetBatchApplyConf.Code().equals(flowCode)){ + //预算变更申请 + tbsBudgetBatchOperationService.runCompensate(targetId); + }else { + return R.error("业务["+flowCode+"]未被收录"); + } + return R.ok(flowCode); + } + +}