peixh 3 gadi atpakaļ
vecāks
revīzija
f1b0176770

+ 110 - 8
sc-service/src/main/java/com/huyi/service/common/flowable/controller/FlowableController.java

@@ -320,6 +320,10 @@ public class  FlowableController extends BaseController
             ZcFinanceInf inf = zcFinanceInfService.getById(zfiId);
             //融资产品
             String zfiProductId = inf.getZfiProductId();
+            //融信编号
+            String zfiNumber = inf.getZfiNumber();
+            //供应商企业id
+            String zfiSupplierId = inf.getZfiSupplierId();
             //查询融资产品是否需要平台审批
             ZcFinanceProduct zcFinanceProduct = iZcFinanceProductService.getById(zfiProductId);
             //是否需平台审批(0:不需要,1:需要)
@@ -344,12 +348,36 @@ public class  FlowableController extends BaseController
                 //融资方审批状态(00:审批中, 01:审批通过, 02:审批拒绝, 03:暂存)
                 financeInf.setZfiSupplierStatus("01");
                 //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-                //TODo 不更改融信状态
-                financeInf.setZfiStatus("02");
+                //ToDo 不更改融信状态
+//                financeInf.setZfiStatus("02");
                 //签收日期
                 financeInf.setZfiSignDate(DateUtils.getNowDate());
                 zcFinanceInfService.updateById(financeInf);
                 //TODo 给融资企业经办人生成一条盖章待办
+                /*----------查询供应商企业经办人----------*/
+                //查询用户与企业关系表
+                LambdaQueryWrapper<SysUserCompanyRel>userCompanyWrapper = new LambdaQueryWrapper<>();
+                //企业id
+                userCompanyWrapper.eq(SysUserCompanyRel::getSucrCompanyId,zfiSupplierId);
+                //是否经办人 0:不是, 1:是
+                userCompanyWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+                List<SysUserCompanyRel> userCompanyList = iSysUserCompanyRelService.findSysUserCompanyRels(userCompanyWrapper);
+                //经办人
+                Long supplierUserId = null;
+                if (userCompanyList.size() > 0){
+                    supplierUserId = userCompanyList.get(0).getSucrUserId();
+                }
+                List supplierUserList = new ArrayList();
+                supplierUserList.add(supplierUserId);
+                /*--------查询供应商企业名称-----------*/
+                //查询企业表
+                SysCompany supplierCompany = sysCompanyService.getById(zfiSupplierId);
+                //企业名称
+                String supplierName = supplierCompany.getScyName();
+                //标题
+                String title = "【合同签署】由【"+supplierName+"】发起的融信【"+zfiNumber+"】资料待签署合同";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"00","","03","0",supplierUserList,"");
+
             }
         } //平台审批通过
         else if("1000000004".equals(menuId)){
@@ -359,9 +387,39 @@ public class  FlowableController extends BaseController
             String zfiId = arr[0];
             //融信id查询融信创建(0:供应商申请, 1:核心企业开立, 2:供应商开立)
             ZcFinanceInf inf = zcFinanceInfService.getById(zfiId);
+            //融信编号
+            String zfiNumber = inf.getZfiNumber();
+            //核心企业id
+            String zfiCoreId = inf.getZfiCoreId();
+            //供应商企业id
+            String zfiSupplierId = inf.getZfiSupplierId();
             //融信创建(0:供应商申请, 1:核心企业开立, 2:供应商开立)
             String zfiCreateType = inf.getZfiCreateType();
-            wrapper.eq(ZcFinanceInf::getZfiId,zfiId);
+            /*----------查询供应商企业经办人----------*/
+            //查询用户与企业关系表
+            LambdaQueryWrapper<SysUserCompanyRel>userCompanyWrapper = new LambdaQueryWrapper<>();
+            //企业id
+            userCompanyWrapper.eq(SysUserCompanyRel::getSucrCompanyId,zfiSupplierId);
+            //是否经办人 0:不是, 1:是
+            userCompanyWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+            List<SysUserCompanyRel> userCompanyList = iSysUserCompanyRelService.findSysUserCompanyRels(userCompanyWrapper);
+            //经办人
+            Long supplierUserId = null;
+            if (userCompanyList.size() > 0){
+                supplierUserId = userCompanyList.get(0).getSucrUserId();
+            }
+            List supplierUserList = new ArrayList();
+            supplierUserList.add(supplierUserId);
+            /*--------查询核心企业名称-----------*/
+            //查询企业表
+            SysCompany coreCompany = sysCompanyService.getById(zfiCoreId);
+            //企业名称
+            String coreName = coreCompany.getScyName();
+            /*--------查询供应商企业名称-----------*/
+            //查询企业表
+            SysCompany supplierCompany = sysCompanyService.getById(zfiSupplierId);
+            //企业名称
+            String supplierName = supplierCompany.getScyName();
             ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
             //平台审批状态(00:审批中, 01:审批通过, 02:审批拒绝, 03:暂存)
             zcFinanceInf.setZfiPlatformStatus("01");
@@ -373,14 +431,24 @@ public class  FlowableController extends BaseController
                 zcFinanceInf.setZfiStatus("02");
                 //签收日期
                 zcFinanceInf.setZfiSignDate(DateUtils.getNowDate());
-                //TODo 融资企业开立时不能更改融信状态
-            }else if ("0".equals(zfiCreateType) || "2".equals(zfiCreateType)){
+                //TODO 融资企业开立时不能更改融信状态
+            }else if ("0".equals(zfiCreateType)){
                 //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
                 zcFinanceInf.setZfiStatus("00");
             }
             //TODO 融资企业开立时, 给融资企业经办人生成盖章待办
-            // TODO 不管什么类型都给 融资企业经办人 最终结果【通过】消息通知
+            else if ("2".equals(zfiCreateType)){
+                //标题
+                String title = "【合同签署】由【"+supplierName+"】发起的融信【"+zfiNumber+"】资料待签署合同";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"00","","03","0",supplierUserList,"");
+            }
+            //更新融信表状态
+            wrapper.eq(ZcFinanceInf::getZfiId,zfiId);
             zcFinanceInfService.update(zcFinanceInf,wrapper);
+            // TODO 不管什么类型都给 融资企业经办人 最终结果【通过】消息通知
+            //标题
+            String title = "【审批通过】您提交于【"+coreName +"】的融信【"+zfiNumber+"】已审批通过,请进行下一步业务操作";
+            remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"01","02","","0",supplierUserList,"");
             if ("2".equals(zfiCreateType)){
                 Map map = new HashMap();
                 if (inf != null) {
@@ -564,7 +632,17 @@ public class  FlowableController extends BaseController
         else if("1000000004".equals(menuId)){
             LambdaQueryWrapper<ZcFinanceInf> wrapper = new LambdaQueryWrapper<>();
             String [] arr = id.split("\\|");
-            wrapper.eq(ZcFinanceInf::getZfiId,arr[0]);
+            //融信id
+            String zfiId = arr[0];
+            //融信id查询融信创建(0:供应商申请, 1:核心企业开立, 2:供应商开立)
+            ZcFinanceInf inf = zcFinanceInfService.getById(zfiId);
+            //融信编号
+            String zfiNumber = inf.getZfiNumber();
+            //核心企业id
+            String zfiCoreId = inf.getZfiCoreId();
+            //供应商企业id
+            String zfiSupplierId = inf.getZfiSupplierId();
+            wrapper.eq(ZcFinanceInf::getZfiId,zfiId);
             ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
             //审批拒绝
             if("delete".equals(state)){
@@ -575,8 +653,32 @@ public class  FlowableController extends BaseController
                 //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
                 zcFinanceInf.setZfiStatus("06");
             }
-            // TODO 不管什么类型都给 融资企业经办人 最终结果【拒绝】消息通知
+            //更新融信状态
             zcFinanceInfService.update(zcFinanceInf,wrapper);
+            // TODO 不管什么类型都给 融资企业经办人 最终结果【拒绝】消息通知
+            /*----------查询供应商企业经办人----------*/
+            //查询用户与企业关系表
+            LambdaQueryWrapper<SysUserCompanyRel>userCompanyWrapper = new LambdaQueryWrapper<>();
+            //企业id
+            userCompanyWrapper.eq(SysUserCompanyRel::getSucrCompanyId,zfiSupplierId);
+            //是否经办人 0:不是, 1:是
+            userCompanyWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+            List<SysUserCompanyRel> userCompanyList = iSysUserCompanyRelService.findSysUserCompanyRels(userCompanyWrapper);
+            //经办人
+            Long supplierUserId = null;
+            if (userCompanyList.size() > 0){
+                supplierUserId = userCompanyList.get(0).getSucrUserId();
+            }
+            List supplierUserList = new ArrayList();
+            supplierUserList.add(supplierUserId);
+            /*--------查询核心企业名称-----------*/
+            //查询企业表
+            SysCompany coreCompany = sysCompanyService.getById(zfiCoreId);
+            //企业名称
+            String coreName = coreCompany.getScyName();
+            //标题
+            String title = "【审批拒绝】您提交于【"+coreName +"】的融信【"+zfiNumber+"】审批被拒绝,拒绝的理由为:【审批意见】";
+            remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"01","02","","0",supplierUserList,"");
         }//融资企业签收审批
         else if("1000000005".equals(menuId)){
             LambdaQueryWrapper<ZcFinanceInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();

+ 97 - 13
sc-service/src/main/java/com/huyi/service/common/flowable/service/impl/ApprovalServiceImpl.java

@@ -3,6 +3,7 @@ package com.huyi.service.common.flowable.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.huyi.service.base.entity.*;
+import com.huyi.service.base.mapper.ZcFinanceProComRelMapper;
 import com.huyi.service.base.service.*;
 import com.huyi.service.common.flowable.service.ApprovalService;
 import com.huyi.service.util.FlowableService;
@@ -50,10 +51,13 @@ public class ApprovalServiceImpl implements ApprovalService {
     @Autowired
     private IZcFinanceProductService zcFinanceProductService;
     @Autowired
+    private IZcFinanceSupplierQuotaService iZcFinanceSupplierQuotaService;
+    @Autowired
+    private IZcFinanceProComRelService iZcFinanceProComRelService;
+    @Autowired
     private TokenService tokenService;
 
 
-
     /**
      * 核心企业融信开立审批
      * @param map
@@ -158,8 +162,12 @@ public class ApprovalServiceImpl implements ApprovalService {
         flowParam.put("businessKey", CommonUtil.objToString(map.get("zfiId")));
         //员工id
         flowParam.put("sessionUserId", "1");
+        //融信id
+        String zfiId =CommonUtil.objToString(map.get("zfiId"));
         //融信编号
         String zfiNumber = CommonUtil.objToString(map.get("zfiNumber"));
+        //融信金额
+        String zfiAmount = CommonUtil.objToString(map.get("zfiAmount"));
         if(CommonUtil.isNotEmpty(zfiNumber)) {
             flowParam.put("name","管理员在" + DateUtils.getTime() + "发起审批,融信编号为:" + CommonUtil.objToString(map.get("zfiNumber")));
         }else {
@@ -170,7 +178,7 @@ public class ApprovalServiceImpl implements ApprovalService {
         Map<String, Object> resMap = flowableService.apiPost(STRART_FLOW, flowParam);
         if ("200".equals(resMap.get("code"))){
             ZcFinanceInf zfi = new ZcFinanceInf();
-            zfi.setZfiId(CommonUtil.objToString(map.get("zfiId")));
+            zfi.setZfiId(zfiId);
             //平台审批状态(00:审批中, 01:审批通过, 02:审批拒绝, 03:暂存)
             zfi.setZfiPlatformStatus("00");
             zcFinanceInfService.updateById(zfi);
@@ -179,29 +187,81 @@ public class ApprovalServiceImpl implements ApprovalService {
         if("300".equals(resMap.get("code"))||"350".equals(resMap.get("code"))){
             //融信创建(0:供应商申请, 1:核心企业开立, 2:供应商开立)
             String zfiCreateType = CommonUtil.objToString(map.get("zfiCreateType"));
-            //修改平台审批状态为通过/融信状态为已签收
+            //核心企业id
+            String zfiCoreId = CommonUtil.objToString(map.get("zfiCoreId"));
+            //供应商企业id
+            String zfiSupplierId = CommonUtil.objToString(map.get("zfiSupplierId"));
+            /*----------查询核心企业经办人----------*/
+            //查询用户与企业关系表
+            LambdaQueryWrapper<SysUserCompanyRel>companyWrapper = new LambdaQueryWrapper<>();
+            //企业id
+            companyWrapper.eq(SysUserCompanyRel::getSucrCompanyId,zfiCoreId);
+            //是否经办人 0:不是, 1:是
+            companyWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+            List<SysUserCompanyRel> companyList = iSysUserCompanyRelService.findSysUserCompanyRels(companyWrapper);
+            //经办人
+            Long coreUserId = null;
+            if (companyList.size() > 0){
+                coreUserId = companyList.get(0).getSucrUserId();
+            }
+            List coreUserList = new ArrayList();
+            coreUserList.add(coreUserId);
+            /*----------查询供应商企业经办人----------*/
+            //查询用户与企业关系表
+            LambdaQueryWrapper<SysUserCompanyRel>userCompanyWrapper = new LambdaQueryWrapper<>();
+            //企业id
+            userCompanyWrapper.eq(SysUserCompanyRel::getSucrCompanyId,zfiSupplierId);
+            //是否经办人 0:不是, 1:是
+            userCompanyWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+            List<SysUserCompanyRel> userCompanyList = iSysUserCompanyRelService.findSysUserCompanyRels(userCompanyWrapper);
+            //经办人
+            Long supplierUserId = null;
+            if (userCompanyList.size() > 0){
+                supplierUserId = userCompanyList.get(0).getSucrUserId();
+            }
+            List supplierUserList = new ArrayList();
+            supplierUserList.add(supplierUserId);
+            /*--------查询核心企业名称-----------*/
+            //查询企业表
+            SysCompany coreCompany = iSysCompanyService.getById(zfiCoreId);
+            //企业名称
+            String coreName = coreCompany.getScyName();
+            /*--------查询供应商企业名称-----------*/
+            //查询企业表
+            SysCompany supplierCompany = iSysCompanyService.getById(zfiSupplierId);
+            //企业名称
+            String supplierName = supplierCompany.getScyName();
+            /*--------修改平台审批状态为通过/融信状态为已签收---------*/
             ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
-            //融信id
-            zcFinanceInf.setZfiId(CommonUtil.objToString(map.get("zfiId")));
+            zcFinanceInf.setZfiId(zfiId);
             //平台审批状态(00:审批中, 01:审批通过, 02:审批拒绝, 03:暂存)
             zcFinanceInf.setZfiPlatformStatus("01");
             if ("1".equals(zfiCreateType)) {
                 //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-                //TODo 不能更改融信状态
-                zcFinanceInf.setZfiStatus("02");
+                //TODO 不能更改融信状态
+//                zcFinanceInf.setZfiStatus("02");
                 //签收日期
                 zcFinanceInf.setZfiSignDate(DateUtils.getNowDate());
-                //TODo 给融资企业经办人盖章代办
-                //TODo 融资企业开立时不应该修改融信状态
-            }else if ("0".equals(zfiCreateType) || "2".equals(zfiCreateType)){
+                //TODO 融资企业经办人盖章代办
+                String title = "【合同签署】由【"+supplierName+"】发起的融信【"+zfiNumber+"】资料待签署合同";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"00","","03","0",supplierUserList,"");
+                //查询供应商授信额度表
+            }else if ("0".equals(zfiCreateType)){
                 //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
                 zcFinanceInf.setZfiStatus("00");
                 //TODO 融资企业经办人 最终结果【通过】消息通知
+                //标题
+                String title = "【审批通过】您提交于【"+coreName +"】的融信【"+zfiNumber+"】已审批通过,请进行下一步业务操作";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"01","02","","0",supplierUserList,"");
                 // TODO 给核心企业经办人确权待办
+                String coreTitle = "【融信确权】由【"+supplierName+"】发起的融信【融信编号:"+zfiNumber+"】【融信金额:"+zfiAmount+"元】资料待确权";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,coreTitle,"00","","02","0",coreUserList,"");
+            }else if ("2".equals(zfiCreateType)){
+                //TODO 融资企业开立时, 给融资企业经办人生成盖章待办
+                String title = "【合同签署】由【"+supplierName+"】发起的融信【"+zfiNumber+"】资料待签署合同";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"00","","03","0",supplierUserList,"");
             }
-            //TODO 融资企业开立时, 给融资企业经办人生成盖章待办
             zcFinanceInfService.updateById(zcFinanceInf);
-
         }else if (!"200".equals(resMap.get("code"))) {
             throw new Exception(resMap.get("message").toString());
         }
@@ -456,6 +516,28 @@ public class ApprovalServiceImpl implements ApprovalService {
         Map<String, Object> resMap = flowableService.apiPost(STRART_FLOW, flowParam);
         //融信id
         String zfiId = CommonUtil.objToString(map.get("zfiId"));
+        //供应商企业id
+        String zfiSupplierId = CommonUtil.objToString(map.get("zfiSupplierId"));
+        /*----------查询供应商企业经办人----------*/
+        //查询用户与企业关系表
+        LambdaQueryWrapper<SysUserCompanyRel>userCompanyWrapper = new LambdaQueryWrapper<>();
+        //企业id
+        userCompanyWrapper.eq(SysUserCompanyRel::getSucrCompanyId,zfiSupplierId);
+        //是否经办人 0:不是, 1:是
+        userCompanyWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+        List<SysUserCompanyRel> userCompanyList = iSysUserCompanyRelService.findSysUserCompanyRels(userCompanyWrapper);
+        //经办人
+        Long supplierUserId = null;
+        if (userCompanyList.size() > 0){
+            supplierUserId = userCompanyList.get(0).getSucrUserId();
+        }
+        List supplierUserList = new ArrayList();
+        supplierUserList.add(supplierUserId);
+        /*--------查询供应商企业名称-----------*/
+        //查询企业表
+        SysCompany supplierCompany = iSysCompanyService.getById(zfiSupplierId);
+        //企业名称
+        String supplierName = supplierCompany.getScyName();
         //发起审批成功
         if ("200".equals(resMap.get("code"))){
             ZcFinanceInf zfi = new ZcFinanceInf();
@@ -502,11 +584,13 @@ public class ApprovalServiceImpl implements ApprovalService {
                 financeInf.setZfiSupplierStatus("01");
                 //TODO 融信状态不更改
                 //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-                financeInf.setZfiStatus("02");
+//                financeInf.setZfiStatus("02");
                 //签收日期
                 financeInf.setZfiSignDate(DateUtils.getNowDate());
                 zcFinanceInfService.updateById(financeInf);
                 //TODO 给融资企业经办人生成一条盖章待办
+                String title = "【合同签署】由【"+supplierName+"】发起的融信【"+zfiNumber+"】资料待签署合同";
+                remoteSystemService.sendNotice(zfiSupplierId, zfiId,title,"00","","03","0",supplierUserList,"");
             }
         }else if ("450".equals(resMap.get("code"))){
             throw new Exception("未配置审批流程!");