Browse Source

融资审批,核心确权审批,融资附件关联表

peixh 3 năm trước cách đây
mục cha
commit
e5f9b67f23

+ 77 - 0
sc-service/src/main/java/com/huyi/service/base/entity/ZcFinanceRecordFileRel.java

@@ -0,0 +1,77 @@
+package com.huyi.service.base.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 融资审批盖章文件
+ * </p>
+ *
+ * @author xuefy
+ * @since 2021-09-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("zc_finance_record_file_rel")
+public class ZcFinanceRecordFileRel implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableId("zfrfr_id")
+    private String zfrfrId;
+
+    /**
+     * 融信id(zc_finance_record.zfi_id)
+     */
+    @TableField("zfrfr_finance_id")
+    private String zfrfrFinanceId;
+
+    /**
+     * 附件id(pub_file_inf.pfi_file_id)
+     */
+    @TableField("zfrfr_file_id")
+    private String zfrfrFileId;
+
+    /**
+     * CFCA合同编号
+     */
+    @TableField("zfrfr_cfca_number")
+    private String zfrfrCfcaNumber;
+
+    /**
+     * 原合同ID(zc_finance_contract.zfc_id)
+     */
+    @TableField("zfrfr_contract_id")
+    private String zfrfrContractId;
+
+    /**
+     * 融资企业ID
+     */
+    @TableField("zfrfr_supplier_id")
+    private String zfrfrSupplierId;
+
+    /**
+     * 融资企业用户ID
+     */
+    @TableField("zfrfr_supplier_user_id")
+    private Long zfrfrSupplierUserId;
+
+    /**
+     * 融资企业盖章时间
+     */
+    @TableField("zfrfr_supplier_time")
+    private Date zfrfrSupplierTime;
+
+
+}

+ 16 - 0
sc-service/src/main/java/com/huyi/service/base/mapper/ZcFinanceRecordFileRelMapper.java

@@ -0,0 +1,16 @@
+package com.huyi.service.base.mapper;
+
+import com.huyi.service.base.entity.ZcFinanceRecordFileRel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 融资审批盖章文件 Mapper 接口
+ * </p>
+ *
+ * @author xuefy
+ * @since 2021-09-14
+ */
+public interface ZcFinanceRecordFileRelMapper extends BaseMapper<ZcFinanceRecordFileRel> {
+
+}

+ 60 - 0
sc-service/src/main/java/com/huyi/service/base/service/IZcFinanceRecordFileRelService.java

@@ -0,0 +1,60 @@
+package com.huyi.service.base.service;
+
+import com.huyi.service.base.entity.ZcFinanceRecordFileRel;
+
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+
+
+import java.util.List;
+
+/**
+ * ClassName: IZcFinanceRecordFileRelService<br>
+ * Description: ZcFinanceRecordFileRelService接口 <br>
+ * Company: keao
+ *
+ * @author xuefy
+ * @version v1.0.0    2021-09-14  xuefy    由Generator自动创建
+ */
+public interface IZcFinanceRecordFileRelService extends IService<ZcFinanceRecordFileRel> {
+    /**
+     * 查询(分页)
+     *
+     * @param request QueryRequest
+     * @param wrapper LambdaQueryWrapper<ZcFinanceRecordFileRel>
+     * @return IPage<ZcFinanceRecordFileRel>
+     */
+    IPage<ZcFinanceRecordFileRel> findZcFinanceRecordFileRels(QueryRequest request, LambdaQueryWrapper<ZcFinanceRecordFileRel> wrapper);
+
+    /**
+     * 查询(所有)
+     *
+     * @param wrapper LambdaQueryWrapper<ZcFinanceRecordFileRel>
+     * @return List<ZcFinanceRecordFileRel>
+     */
+    List<ZcFinanceRecordFileRel> findZcFinanceRecordFileRels(LambdaQueryWrapper<ZcFinanceRecordFileRel> wrapper);
+
+    /**
+     * 新增
+     *
+     * @param zcFinanceRecordFileRel zcFinanceRecordFileRel
+     */
+    void createZcFinanceRecordFileRel(ZcFinanceRecordFileRel zcFinanceRecordFileRel);
+
+    /**
+     * 修改
+     *
+     * @param zcFinanceRecordFileRel zcFinanceRecordFileRel
+     */
+    void updateZcFinanceRecordFileRel(ZcFinanceRecordFileRel zcFinanceRecordFileRel);
+
+    /**
+     * 删除
+     *
+     * @param wrapper LambdaQueryWrapper<ZcFinanceRecordFileRel>
+     */
+    void deleteZcFinanceRecordFileRel(LambdaQueryWrapper<ZcFinanceRecordFileRel> wrapper);
+}

+ 64 - 0
sc-service/src/main/java/com/huyi/service/base/service/impl/ZcFinanceRecordFileRelServiceImpl.java

@@ -0,0 +1,64 @@
+package com.huyi.service.base.service.impl;
+
+import com.huyi.service.base.entity.ZcFinanceRecordFileRel;
+import com.huyi.service.base.mapper.ZcFinanceRecordFileRelMapper;
+import com.huyi.service.base.service.IZcFinanceRecordFileRelService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+
+
+import java.util.List;
+
+/**
+ * ClassName: ZcFinanceRecordFileRelServiceImpl<br>
+ * Description: IZcFinanceRecordFileRelService实现 <br>
+ * Company: keao
+ *
+ * @author xuefy
+ * @version v1.0.0    2021-09-14  xuefy    由Generator自动创建
+ */
+@Service
+@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
+public class ZcFinanceRecordFileRelServiceImpl extends ServiceImpl<ZcFinanceRecordFileRelMapper, ZcFinanceRecordFileRel> implements IZcFinanceRecordFileRelService {
+
+    @Autowired
+    private ZcFinanceRecordFileRelMapper zcFinanceRecordFileRelMapper;
+
+    @Override
+    public IPage<ZcFinanceRecordFileRel> findZcFinanceRecordFileRels(QueryRequest request, LambdaQueryWrapper<ZcFinanceRecordFileRel> wrapper) {
+        Page<ZcFinanceRecordFileRel> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return this.page(page, wrapper);
+    }
+
+    @Override
+    public List<ZcFinanceRecordFileRel> findZcFinanceRecordFileRels(LambdaQueryWrapper<ZcFinanceRecordFileRel> wrapper) {
+		return this.list(wrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void createZcFinanceRecordFileRel(ZcFinanceRecordFileRel zcFinanceRecordFileRel) {
+        this.save(zcFinanceRecordFileRel);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateZcFinanceRecordFileRel(ZcFinanceRecordFileRel zcFinanceRecordFileRel) {
+        this.saveOrUpdate(zcFinanceRecordFileRel);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteZcFinanceRecordFileRel(LambdaQueryWrapper<ZcFinanceRecordFileRel> wrapper) {
+	    this.remove(wrapper);
+	}
+}

+ 13 - 12
sc-service/src/main/java/com/huyi/service/common/flowable/controller/FlowableController.java

@@ -467,13 +467,13 @@ public class  FlowableController extends BaseController
             zcFinanceRecord.setZfrStatus("00");
             zcFinanceRecord.setZfrApproveStt("01");
             zcFinanceRecordService.update(zcFinanceRecord,zcFinanceRecordLambdaQueryWrapper);
-            List<ZcFinanceRecord> list = zcFinanceRecordService.findZcFinanceRecords(zcFinanceRecordLambdaQueryWrapper);
-            LambdaQueryWrapper<ZcFinanceInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-            lambdaQueryWrapper.eq(ZcFinanceInf::getZfiId,list.get(0).getZfrFinanceId());
-            ZcFinanceInf zcfInf = new ZcFinanceInf();
-            //审批通过
-            zcfInf.setZfiStatus("04");
-            zcFinanceInfService.update(zcfInf,lambdaQueryWrapper);
+//            List<ZcFinanceRecord> list = zcFinanceRecordService.findZcFinanceRecords(zcFinanceRecordLambdaQueryWrapper);
+//            LambdaQueryWrapper<ZcFinanceInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            lambdaQueryWrapper.eq(ZcFinanceInf::getZfiId,list.get(0).getZfrFinanceId());
+//            ZcFinanceInf zcfInf = new ZcFinanceInf();
+//            //审批通过
+//            zcfInf.setZfiStatus("04");
+//            zcFinanceInfService.update(zcfInf,lambdaQueryWrapper);
         }
 
         return AjaxResult.success();
@@ -516,12 +516,13 @@ public class  FlowableController extends BaseController
             if("delete".equals(state)){
                 //融信主键
                 zcFinanceInf.setZfiId(id);
-                //融信状态改为已失效
-                zcFinanceInf.setZfiStatus("03");
-            }else if("recall".equals(state)){
-                zcFinanceInf.setZfiId(id);
-                zcFinanceInf.setZfiStatus("03");
+                //核心企业审批状态改为拒绝
+                zcFinanceInf.setZfiCoreStatus("02");
             }
+//            else if("recall".equals(state)){
+//                zcFinanceInf.setZfiId(id);
+//                zcFinanceInf.setZfiStatus("03");
+//            }
             //TODO 核心企业经办人最终结果【拒绝】消息通知
             //TODO  核心企业经办人生成确权待办
             zcFinanceInfService.updateById(zcFinanceInf);

+ 22 - 18
sc-service/src/main/java/com/huyi/service/common/flowable/service/impl/ApprovalServiceImpl.java

@@ -399,7 +399,7 @@ public class ApprovalServiceImpl implements ApprovalService {
     @Override
     public void addFinancingApproval(@RequestBody Map map) throws Exception {
         Map<String, Object> flowParam = new HashMap<String, Object>();
-        String companyId = CommonUtil.objToString(map.get("zfiSupplierId"));
+        String companyId = CommonUtil.objToString(map.get("companyId"));
         LambdaQueryWrapper<SysUserCompanyRel> userQueryWrapper = new LambdaQueryWrapper<>();
         userQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,companyId);
         userQueryWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
@@ -429,36 +429,40 @@ public class ApprovalServiceImpl implements ApprovalService {
         flowParam.put("paras", jsonObj.toString());
         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("zfrId")));
-            //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-            zfi.setZfiStatus("04");
-            zcFinanceInfService.updateById(zfi);
-            LambdaQueryWrapper<ZcFinanceRecord> zcFinanceRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            zcFinanceRecordLambdaQueryWrapper.eq(ZcFinanceRecord::getZfrFinanceId,CommonUtil.objToString(map.get("zfiId")));
+//            ZcFinanceInf zfi = new ZcFinanceInf();
+//            zfi.setZfiId(CommonUtil.objToString(map.get("zfrId")));
+//            //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
+//            zfi.setZfiStatus("04");
+//            zcFinanceInfService.updateById(zfi);
+//            LambdaQueryWrapper<ZcFinanceRecord> zcFinanceRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            zcFinanceRecordLambdaQueryWrapper.eq(ZcFinanceRecord::getZfrFinanceId,CommonUtil.objToString(map.get("zfiId")));
             ZcFinanceRecord zcFinanceRecord = new ZcFinanceRecord();
+            //融资id
+            zcFinanceRecord.setZfrId(CommonUtil.objToString(map.get("zfrId")));
             //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
             zcFinanceRecord.setZfrStatus("00");
             //审批状态(00:审核中 01:审批通过, 2:审批拒绝)
             zcFinanceRecord.setZfrApproveStt("00");
-            zcFinanceRecordService.update(zcFinanceRecord,zcFinanceRecordLambdaQueryWrapper);
+            zcFinanceRecordService.updateById(zcFinanceRecord);
         }
         //未开启流程实例
         if("300".equals(resMap.get("code"))||"350".equals(resMap.get("code"))){
-            ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
-            //融信id
-            zcFinanceInf.setZfiId(CommonUtil.objToString(map.get("zfrId")));
-            //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-            zcFinanceInf.setZfiStatus("04");
-            zcFinanceInfService.updateById(zcFinanceInf);
-            LambdaQueryWrapper<ZcFinanceRecord> zcFinanceRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            zcFinanceRecordLambdaQueryWrapper.eq(ZcFinanceRecord::getZfrFinanceId,CommonUtil.objToString(map.get("zfrId")));
+//            ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
+//            //融信id
+//            zcFinanceInf.setZfiId(CommonUtil.objToString(map.get("zfrId")));
+//            //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
+//            zcFinanceInf.setZfiStatus("04");
+//            zcFinanceInfService.updateById(zcFinanceInf);
+//            LambdaQueryWrapper<ZcFinanceRecord> zcFinanceRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            zcFinanceRecordLambdaQueryWrapper.eq(ZcFinanceRecord::getZfrFinanceId,CommonUtil.objToString(map.get("zfrId")));
             ZcFinanceRecord zcFinanceRecord = new ZcFinanceRecord();
+            //融资id
+            zcFinanceRecord.setZfrId(CommonUtil.objToString(map.get("zfrId")));
             //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
             zcFinanceRecord.setZfrStatus("00");
             //审批状态(00:审核中 01:审批通过, 2:审批拒绝)
             zcFinanceRecord.setZfrApproveStt("01");
-            zcFinanceRecordService.update(zcFinanceRecord,zcFinanceRecordLambdaQueryWrapper);
+            zcFinanceRecordService.updateById(zcFinanceRecord);
             //TODO 发起人最终结果【通过】消息通知
         }else if ("450".equals(resMap.get("code"))) {
             throw new Exception("未配置审批流程");

+ 69 - 114
sc-service/src/main/java/com/huyi/service/financeRecord/controller/FinanceRecordController.java

@@ -96,16 +96,11 @@ public class FinanceRecordController extends BaseController {
     @Autowired
     private IZcFinanceFileRelService iZcFinanceFileRelService;
     @Autowired
-    private FlowableService flowableService;
-    @Autowired
     private IZcFinanceProComRelService iZcFinanceProComRelService;
     @Autowired
     private ApprovalService approvalService;
     @Autowired
     private IZcFinanceRecordFileRelService financeRecordFileRelService;
-    // 开始流程
-    public final static String STRART_FLOW = "flow/strartFlow";
-
     //正整数正则
     private static final String REGEX =  "^[0-9]*[1-9][0-9]*$";
 
@@ -224,14 +219,9 @@ public class FinanceRecordController extends BaseController {
         LambdaQueryWrapper<SysUserCompanyRel> companyRelWrapper = new LambdaQueryWrapper<>();
         companyRelWrapper.eq(SysUserCompanyRel::getSucrUserId,userId);
         companyRelWrapper.eq(SysUserCompanyRel::getSucrCompanyId,companyId);
+        companyRelWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
         List<SysUserCompanyRel> list = iSysUserCompanyRelService.findSysUserCompanyRels(companyRelWrapper);
-        if (list.size() > 0){
-            //是否经办人 0:不是, 1:是
-            String handler = list.get(0).getSucrHandler();
-            if (!"1".equals(handler)){
-                return AjaxResult.error("此操作需经办人权限,请确认您是否是经办人");
-            }
-        }else {
+        if (list.size() == 0) {
             return AjaxResult.error("此操作需经办人权限,请确认您是否是经办人");
         }
         //融信id
@@ -272,8 +262,6 @@ public class FinanceRecordController extends BaseController {
         String  zfrNumber = "MB";
         //查询融资产品编号
         ZcFinanceProduct zcFinanceProduct = iZcFinanceProductService.getById(zfiProductId);
-        //资方id
-        String zfpManagementId = zcFinanceProduct.getZfpManagementId();
         //融资产品编号
         String zfpNumber = zcFinanceProduct.getZfpNumber();
         zfpNumber = StringUtils.substring(zfpNumber,0,2);
@@ -289,22 +277,8 @@ public class FinanceRecordController extends BaseController {
                     return AjaxResult.error("请输入正确的融资收款账号");
                 }
             }
-        }else if ("0".equals(zfpcrLoanType)){
-            //通过资方id查询电子账户表
-            LambdaQueryWrapper<PayAccInf> accInfWrapper = new LambdaQueryWrapper<>();
-            //账户状态(0:未开通,1:冻结,2已开通3:待激活)
-            accInfWrapper.eq(PayAccInf::getPaiStatus,"2");
-            //TODO 账户类型(00基本账户01贷款账户02信用账户03手续费账户04待结算账户05提现账户06邢台银行虚拟账户)
-            accInfWrapper.eq(PayAccInf::getPaiAcctype,"00");
-            //资方id
-            accInfWrapper.eq(PayAccInf::getPaiCstno,zfpManagementId);
-            List<PayAccInf> accInfList = iPayAccInfService.findPayAccInfs(accInfWrapper);
-            if (accInfList.size() == 0){
-                return AjaxResult.error("暂无电子账户");
-            }else {
-                zfrCollectionAccount = accInfList.get(0).getPaiAccno();
-            }
-        }else if ("2".equals(zfpcrLoanType)){
+        }
+        else if ("2".equals(zfpcrLoanType)){
             if(CommonUtil.isNotEmpty(zfrCollectionAccount)) {
                 if(!pattern.matcher(zfrCollectionAccount).matches()) {
                     return AjaxResult.error("请输入正确的融资收款账号");
@@ -377,7 +351,10 @@ public class FinanceRecordController extends BaseController {
         iZcFinanceInfService.updateZcFinanceInf(zcFinanceInf);
         iZcFinanceRecordService.createZcFinanceRecord(zcFinanceRecord);
         //调用融资审批
+        //融信id
         map.put("zfrId",zfrId);
+        //企业id
+        map.put("companyId",companyId);
         approvalService.addFinancingApproval(map);
         return AjaxResult.success();
     }
@@ -466,97 +443,85 @@ public class FinanceRecordController extends BaseController {
      */
     @GetMapping("listBillInf/{zfiId}")
     public AjaxResult listBillInf(@PathVariable("zfiId") String zfiId) throws Exception {
-        //最终结果
-        Map result = new HashMap();
         //查询当前操作员
         LoginUser userInfo = tokenService.getLoginUser();
         SysUser user = userInfo.getSysUser();
-        //获取企业
-        String companyId = user.getCompanyId();
         LambdaQueryWrapper<ZcFinanceBillRel> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.in(ZcFinanceBillRel::getZfbrFinanceId,zfiId);
         List<ZcFinanceBillRel> relList = iZcFinanceBillRelService.findZcFinanceBillRels(queryWrapper);
         //查询往来账款
         Map map = new HashMap();
+        List<Map> list = new ArrayList<>();
         if (relList.size() > 0){
             //提取所有的
             List<String>  billIdList = CommonUtil.getIdFromList(relList,"zfbrBillId");
             map.put("billIdList",CommonUtil.listToStr4InSql(billIdList));
+            list = financeRecordService.selectBillInfList(map);
         }
-        List<Map> list = financeRecordService.selectBillInfList(map);
         return AjaxResult.success(list);
     }
 
     /**
-     * 提交审批
-     * @param map
+     * 查询资方电子账户
+     * @param zfiProductId 融资产品id
      * @return
      */
-    @PreAuthorize(hasPermi = "finance:record:approve")
-    @Log(title = "提交审批", businessType = BusinessType.UPDATE)
-    @PutMapping("/examineApprove")
-    public AjaxResult examineApprove(@RequestBody Map<String,Object> map) throws Exception {
-        //融信id
-        String zfrId = CommonUtil.objToString(map.get("zfrId"));
-        //查询当前操作员
-        LoginUser userInfo = tokenService.getLoginUser();
-        SysUser user = userInfo.getSysUser();
-        String companyId =user.getCompanyId();
-        Long userId = user.getUserId();
-        String userName =user.getUserName();
-        //查询融信id
-        ZcFinanceRecord zcFinanceRecord =  iZcFinanceRecordService.getById(zfrId);
-        String financeId = zcFinanceRecord.getZfrFinanceId();
-        Map<String, Object> flowParam = new HashMap<String, Object>();
-        //查询当前操作员
-        flowParam.put("menuId", "1000000006");
-        flowParam.put("companyId", companyId);
-        //双主键
-        flowParam.put("businessKey", zfrId);
-        //员工id
-        flowParam.put("sessionUserId",  userId);
-        //融资编号
-        String zfrNumber =zcFinanceRecord.getZfrNumber();
-        if(CommonUtil.isNotEmpty(zfrNumber)) {
-            flowParam.put("name",userName + DateUtils.getTime() + "发起审批,融信编号为:" + zfrNumber+"的融资审批");
-        }else {
-            flowParam.put("name",userName + DateUtils.getTime() + "发起融资审批");
-        }
-        JSONObject jsonObj=new JSONObject(map);
-        flowParam.put("paras", jsonObj.toString());
-        Map<String, Object> resMap = flowableService.apiPost(STRART_FLOW, flowParam);
-        if ("200".equals(resMap.get("code"))){
-            ZcFinanceInf zfi = new ZcFinanceInf();
-            zfi.setZfiId(financeId);
-            //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-            zfi.setZfiStatus("04");
-            iZcFinanceInfService.updateById(zfi);
-            //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
-            zcFinanceRecord.setZfrStatus("00");
-            //审批状态(00:审核中 01:审批通过, 2:审批拒绝)
-            zcFinanceRecord.setZfrApproveStt("00");
-            iZcFinanceRecordService.updateById(zcFinanceRecord);
-        }
-        //未开启流程实例
-        if("300".equals(resMap.get("code")) || "350".equals(resMap.get("code"))){
-            ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
-            //融信id
-            zcFinanceInf.setZfiId(financeId);
-            //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-            zcFinanceInf.setZfiStatus("04");
-            iZcFinanceInfService.updateById(zcFinanceInf);
-            //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
-            zcFinanceRecord.setZfrStatus("00");
-            //审批状态(00:审核中 01:审批通过, 2:审批拒绝)
-            zcFinanceRecord.setZfrApproveStt("01");
-            iZcFinanceRecordService.updateById(zcFinanceRecord);
-        }else if (!"200".equals(resMap.get("code"))) {
-            throw new Exception(resMap.get("message").toString());
+    @GetMapping("listAccInf/{zfiProductId}")
+    public AjaxResult listAccInf(@PathVariable("zfiProductId") String zfiProductId){
+        //查询融资产品编号
+        ZcFinanceProduct zcFinanceProduct = iZcFinanceProductService.getById(zfiProductId);
+        //资方id
+        String zfpManagementId = zcFinanceProduct.getZfpManagementId();
+        //通过资方id查询电子账户表
+        LambdaQueryWrapper<PayAccInf> accInfWrapper = new LambdaQueryWrapper<>();
+        //账户状态(0:未开通,1:冻结,2已开通3:待激活)
+        accInfWrapper.eq(PayAccInf::getPaiStatus,"2");
+        //TODO 账户类型(00基本账户01贷款账户02信用账户03手续费账户04待结算账户05提现账户06邢台银行虚拟账户)
+        accInfWrapper.eq(PayAccInf::getPaiAcctype,"00");
+        //资方id
+        accInfWrapper.eq(PayAccInf::getPaiCstno,zfpManagementId);
+        List<PayAccInf> accInfList = iPayAccInfService.findPayAccInfs(accInfWrapper);
+        String zfrCollectionAccount = "";
+        if (accInfList.size() > 0){
+            zfrCollectionAccount = accInfList.get(0).getPaiAccno();
         }
-        return AjaxResult.success();
+        return AjaxResult.success(zfrCollectionAccount);
     }
 
     /**
+     * 获取融信盖章文件
+     * @param map
+     * @return
+     * @throws Exception
+     */
+    @PutMapping("/getRecordSealFile")
+    public AjaxResult getRecordSealFile(@RequestBody Map<String,Object> map)throws Exception
+    {
+        //获取融信编号
+        String zfiId = CommonUtil.objToString(map.get("zfrFinanceId"));
+        //查询融信和文件的关系表
+        LambdaQueryWrapper<ZcFinanceRecordFileRel> relLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        relLambdaQueryWrapper.eq(ZcFinanceRecordFileRel::getZfrfrFinanceId,zfiId);
+        List<ZcFinanceRecordFileRel> recordFileRelList =  financeRecordFileRelService.findZcFinanceRecordFileRels(relLambdaQueryWrapper);
+        //文件信息
+        List<PubFileInf> list  = new ArrayList<>();
+        for(int i = 0 ;  i  < recordFileRelList.size();i ++){
+            ZcFinanceRecordFileRel rel = recordFileRelList.get(i);
+            //获取文件编号
+            String fileId = rel.getZfrfrFileId();
+            //获取文件信息
+            PubFileInf  fileInf =  fileInfService.getById(fileId);
+            if(fileInf == null){
+                throw new Exception("获取文件信息失败");
+            }
+            list.add(fileInf);
+        }
+        //返回
+        Map<String,Object> p = new HashMap<>();
+        p.put("list",list);
+        return AjaxResult.success(p);
+    }
+    /**
      * 导出附件
      * @return
      */
@@ -667,7 +632,6 @@ public class FinanceRecordController extends BaseController {
             fileInfLambdaQueryWrapper.eq(PubFileInf::getPfiIsDel,"00");
             recordFileList = fileInfService.findPubFileInfs(fileInfLambdaQueryWrapper);
         }
-
         for (int i = 0; i < otherFileList.size(); i++) {
             Map map = new HashMap();
             //文件路径
@@ -697,7 +661,6 @@ public class FinanceRecordController extends BaseController {
             map.put("pfiFileUrl",pfiFileUrl);
             map.put("pfiFileName",pfiFileName);
             list.add(map);
-
         }
         for (int x = 0; x < financeFileList.size(); x++) {
             Map map = new HashMap();
@@ -720,11 +683,6 @@ public class FinanceRecordController extends BaseController {
             list.add(map);
         }
         String directory = configService.selectConfigByKey("zc_record_file").getMsg();
-        for (int l = 0; l < list.size(); l++) {
-            String files = list.get(l).get("pfiFileUrl");
-            String names = list.get(l).get("pfiFileName");
-//            downloadFile(files, directory+ names,directory);
-        }
         //存放--服务器上zip文件的目录
         File directoryFile=new File(directory);
         if(!directoryFile.isDirectory() && !directoryFile.exists()){
@@ -741,11 +699,8 @@ public class FinanceRecordController extends BaseController {
             //构造最终压缩包的输出流
             zipStream = new ZipOutputStream(new FileOutputStream(zipFile));
             //TODO:未对文件不存在时进行操作,后期优化。
-
             for (Map crete : list) {
-//                File file = new File();
                 if(new UrlResource(CommonUtil.objToString(crete.get("pfiFileUrl"))).exists()) {
-//                    FileInputStream zipSource = new FileInputStream(crete.get("pfiFileUrl")+"");//将需要压缩的文件格式化为输入流
                     InputStream zipSource = getFileInputStream(crete.get("pfiFileUrl")+"");
                     /**
                      * 压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样这里的name就是文件名,
@@ -786,10 +741,6 @@ public class FinanceRecordController extends BaseController {
             }
         }
         /** 压缩方法 */
-//        generateFile(directory,"zip");
-//        FileOutputStream fos1= new FileOutputStream(new File(directory + "rzgl"+DateUtils.dateTimeNow()+ ".zip"));
-//        toZip(directory,fos1 ,true);
-//        File zipFile = new File(directory + "rzgl"+DateUtils.dateTimeNow()+ ".zip");
         if(zipFile.exists()) {
             down(response, zipFileName, directory);
             zipFile.delete();
@@ -846,8 +797,12 @@ public class FinanceRecordController extends BaseController {
         }
     }
 
-
-
+    /**
+     * 文件流转换
+     * @param path 路径
+     * @return
+     * @throws Exception
+     */
     public static InputStream getFileInputStream(String path) throws Exception {
             URL url = null;
             url = new URL(path);

+ 19 - 8
sc-service/src/main/java/com/huyi/service/financeRecord/controller/RecordSealController.java

@@ -96,6 +96,8 @@ public class RecordSealController extends BaseController {
     private IZcFinanceProComRelService iZcFinanceProComRelService;
     @Autowired
     private IZcFinanceRecordFileRelService financeRecordFileRelService;
+    @Autowired
+    private ISysUserCompanyRelService iSysUserCompanyRelService;
     /**
      * 获取合同文件
      * @param map
@@ -334,6 +336,20 @@ public class RecordSealController extends BaseController {
     @PostMapping("/contractSigning")
     public AjaxResult contractSigning(@RequestBody Map<String,Object> map) throws Exception {
 
+        //获取此操作员
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser user = userInfo.getSysUser();
+        String userId = user.getUserId() + "";
+        String companyId = user.getCompanyId();
+        //查询当前用户是否是经办人
+        LambdaQueryWrapper<SysUserCompanyRel> companyRelWrapper = new LambdaQueryWrapper<>();
+        companyRelWrapper.eq(SysUserCompanyRel::getSucrUserId,userId);
+        companyRelWrapper.eq(SysUserCompanyRel::getSucrCompanyId,companyId);
+        companyRelWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+        List<SysUserCompanyRel> list = iSysUserCompanyRelService.findSysUserCompanyRels(companyRelWrapper);
+        if (list.size() == 0) {
+            return AjaxResult.error("此操作需经办人权限,请确认您是否是经办人");
+        }
         //存放合同编号
         List<String> contractIdList = new ArrayList<>();
         //获取授信编号
@@ -588,14 +604,14 @@ public class RecordSealController extends BaseController {
             /**-------- CFCA盖章 开始--------**/
             //盖章
             //当前公司
-            String companyId = tokenService.getLoginUser().getSysUser().getCompanyId();
+//            String companyId = tokenService.getLoginUser().getSysUser().getCompanyId();
             //当前公司的cfca人员编号
             //查询当前企业信息
             SysCompany   currentCompany =   companyService.getById(companyId);
             if(currentCompany == null) {
                 throw  new Exception("获取当前企业信息失败");
             }
-            String userId = currentCompany.getScyCfcaUserId();
+            String userIds = currentCompany.getScyCfcaUserId();
             //项目编号
             String projectCode = DateUtils.dateTimeNow();
             //jks路径
@@ -606,7 +622,7 @@ public class RecordSealController extends BaseController {
             String channel = configService.selectConfigByKey("cfca_channel").getMsg();
             //platId
             String platId = configService.selectConfigByKey("cfca_platId").getMsg();
-            JSONObject jsonObject = AxqCommonUtil.contractSigning(userId,"MM",fileName,keyWords,"0","0","250","250",projectCode,filePath,new HttpConnector(jksPath,keyStorePassword, channel,platId));
+            JSONObject jsonObject = AxqCommonUtil.contractSigning(userIds,"MM",fileName,keyWords,"0","0","250","250",projectCode,filePath,new HttpConnector(jksPath,keyStorePassword, channel,platId));
             /**-------- CFCA盖章 结束--------**/
             /**-------- CFCA盖章文件下载 开始--------**/
             //获取错误码
@@ -668,11 +684,6 @@ public class RecordSealController extends BaseController {
             }
         }
         /**-------- 盖章完成修改融信状态和融资状态 开始--------**/
-        //获取此操作员
-        LoginUser userInfo = tokenService.getLoginUser();
-        SysUser user = userInfo.getSysUser();
-        //获取用户编号
-        String userId = user.getUserId()+"";
         //修改融信状态
         ZcFinanceInf finance = new ZcFinanceInf();
         finance.setZfiId(zfiId);

+ 17 - 0
sc-service/src/main/resources/mapper/base/ZcFinanceRecordFileRelMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huyi.service.base.mapper.ZcFinanceRecordFileRelMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huyi.service.base.entity.ZcFinanceRecordFileRel">
+        <id column="zfrfr_id" property="zfrfrId" />
+        <result column="zfrfr_finance_id" property="zfrfrFinanceId" />
+        <result column="zfrfr_file_id" property="zfrfrFileId" />
+        <result column="zfrfr_cfca_number" property="zfrfrCfcaNumber" />
+        <result column="zfrfr_contract_id" property="zfrfrContractId" />
+        <result column="zfrfr_supplier_id" property="zfrfrSupplierId" />
+        <result column="zfrfr_supplier_user_id" property="zfrfrSupplierUserId" />
+        <result column="zfrfr_supplier_time" property="zfrfrSupplierTime" />
+    </resultMap>
+
+</mapper>