|
@@ -1,17 +1,22 @@
|
|
|
package com.huyi.service.common.flowable.service.impl;
|
|
package com.huyi.service.common.flowable.service.impl;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.huyi.service.base.entity.ZcFinanceInf;
|
|
|
|
|
-import com.huyi.service.base.service.IZcFinanceInfService;
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.huyi.service.base.entity.*;
|
|
|
|
|
+import com.huyi.service.base.service.*;
|
|
|
import com.huyi.service.common.flowable.service.ApprovalService;
|
|
import com.huyi.service.common.flowable.service.ApprovalService;
|
|
|
import com.huyi.service.util.FlowableService;
|
|
import com.huyi.service.util.FlowableService;
|
|
|
import com.tianhu.common.core.utils.CommonUtil;
|
|
import com.tianhu.common.core.utils.CommonUtil;
|
|
|
import com.tianhu.common.core.utils.DateUtils;
|
|
import com.tianhu.common.core.utils.DateUtils;
|
|
|
|
|
+import com.tianhu.system.api.model.LoginUser;
|
|
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@@ -22,6 +27,18 @@ public class ApprovalServiceImpl implements ApprovalService {
|
|
|
public final static String STRART_FLOW = "flow/strartFlow";
|
|
public final static String STRART_FLOW = "flow/strartFlow";
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IZcFinanceInfService zcFinanceInfService;
|
|
private IZcFinanceInfService zcFinanceInfService;
|
|
|
|
|
+ //自动生成融资服务类
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IZcFinanceRecordService zcFinanceRecordService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ISysCompanyService iSysCompanyService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ISysUserCompanyRelService iSysUserCompanyRelService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ISysUserService iSysUserService;
|
|
|
/**
|
|
/**
|
|
|
* 平台审批
|
|
* 平台审批
|
|
|
* @param map
|
|
* @param map
|
|
@@ -78,4 +95,182 @@ public class ApprovalServiceImpl implements ApprovalService {
|
|
|
throw new Exception(resMap.get("message").toString());
|
|
throw new Exception(resMap.get("message").toString());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 核心企业确权审批
|
|
|
|
|
+ * @param map
|
|
|
|
|
+ * @return
|
|
|
|
|
+ * @throws Exception
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void coreConfirmationApproval(@RequestBody Map map) throws Exception {
|
|
|
|
|
+ Map<String, Object> flowParam = new HashMap<String, Object>();
|
|
|
|
|
+ //核心企业Id
|
|
|
|
|
+ String zfiCoreId = CommonUtil.objToString(map.get("zfiCoreId"));
|
|
|
|
|
+ //根据企业id获取用户id
|
|
|
|
|
+ LambdaQueryWrapper<SysUserCompanyRel> userQuery = new LambdaQueryWrapper<>();
|
|
|
|
|
+ userQuery.eq(SysUserCompanyRel::getSucrCompanyId,zfiCoreId);
|
|
|
|
|
+ userQuery.eq(SysUserCompanyRel::getSucrHandler,"1");
|
|
|
|
|
+ List<SysUserCompanyRel> userList = iSysUserCompanyRelService.findSysUserCompanyRels(userQuery);
|
|
|
|
|
+ String userId = String.valueOf(userList.get(0).getSucrUserId());
|
|
|
|
|
+ SysUser sysUser = iSysUserService.getById(userId);
|
|
|
|
|
+ String userName = sysUser.getUserName();
|
|
|
|
|
+ //查询当前操作员
|
|
|
|
|
+ flowParam.put("menuId", "1000000007");
|
|
|
|
|
+ flowParam.put("companyId", zfiCoreId);
|
|
|
|
|
+ //双主键
|
|
|
|
|
+ flowParam.put("businessKey", CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //员工编号
|
|
|
|
|
+ flowParam.put("sessionUserId", userId);
|
|
|
|
|
+ flowParam.put("name", userName + "在" + DateUtils.getDate() + "发起确权审批");
|
|
|
|
|
+ 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"))){
|
|
|
|
|
+ }else
|
|
|
|
|
+ //未开启流程实例
|
|
|
|
|
+ if("300".equals(resMap.get("code")) || "350".equals(resMap.get("code"))){
|
|
|
|
|
+ ZcFinanceInf zcFinanceInf = zcFinanceInfService.getById(CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ String type = zcFinanceInf.getZfiCreateType();
|
|
|
|
|
+ if("0".equals(type)){
|
|
|
|
|
+ addSignApproval(map);
|
|
|
|
|
+ }else if("2".equals(type)){
|
|
|
|
|
+ addFinancingApproval(map);
|
|
|
|
|
+ }
|
|
|
|
|
+ }else if ("450".equals(resMap.get("code"))) {
|
|
|
|
|
+ throw new Exception("未配置审批流程");
|
|
|
|
|
+ }else if (!"200".equals(resMap.get("code"))) {
|
|
|
|
|
+ throw new Exception(resMap.get("message").toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 融资企业签收审批
|
|
|
|
|
+ * @param map
|
|
|
|
|
+ * @throws Exception
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void addSignApproval(@RequestBody Map map) throws Exception {
|
|
|
|
|
+ Map<String, Object> flowParam = new HashMap<String, Object>();
|
|
|
|
|
+ String companyId = CommonUtil.objToString(map.get("zfiSupplierId"));
|
|
|
|
|
+ LambdaQueryWrapper<SysUserCompanyRel> userQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ userQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,companyId);
|
|
|
|
|
+ userQueryWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
|
|
|
|
|
+ List<SysUserCompanyRel> userList = iSysUserCompanyRelService.findSysUserCompanyRels(userQueryWrapper);
|
|
|
|
|
+ String userId= String.valueOf(userList.get(0).getSucrUserId());
|
|
|
|
|
+ //查询用户名称
|
|
|
|
|
+ SysUser sysUser = iSysUserService.getById(userId);
|
|
|
|
|
+ String userName = sysUser.getUserName();
|
|
|
|
|
+ //查询当前操作员
|
|
|
|
|
+ flowParam.put("menuId", "1000000005");
|
|
|
|
|
+ flowParam.put("companyId", companyId);
|
|
|
|
|
+ //双主键
|
|
|
|
|
+ flowParam.put("businessKey", CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //员工id
|
|
|
|
|
+ flowParam.put("sessionUserId", userId);
|
|
|
|
|
+ //融信编号
|
|
|
|
|
+ String zfiNumber = CommonUtil.objToString(map.get("zfiNumber"));
|
|
|
|
|
+ if(CommonUtil.isNotEmpty(zfiNumber)) {
|
|
|
|
|
+ flowParam.put("name",userName + DateUtils.getTime() + "发起审批,融信编号为:" + CommonUtil.objToString(map.get("zfiNumber"))+"的融资企业签收审批");
|
|
|
|
|
+ }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(CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
|
|
|
|
|
+ zfi.setZfiStatus("00");
|
|
|
|
|
+ zcFinanceInfService.updateById(zfi);
|
|
|
|
|
+ }
|
|
|
|
|
+ //未开启流程实例
|
|
|
|
|
+ if("300".equals(resMap.get("code"))){
|
|
|
|
|
+ //修改平台审批状态为通过/融信状态为已签收
|
|
|
|
|
+ ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
|
|
|
|
|
+ //融信id
|
|
|
|
|
+ zcFinanceInf.setZfiId(CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //平台审批状态(00:审批中, 01:审批通过, 02:审批拒绝, 03:暂存)
|
|
|
|
|
+ zcFinanceInf.setZfiPlatformStatus("01");
|
|
|
|
|
+ //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
|
|
|
|
|
+ zcFinanceInf.setZfiStatus("02");
|
|
|
|
|
+ zcFinanceInfService.updateById(zcFinanceInf);
|
|
|
|
|
+ }else if (!"200".equals(resMap.get("code"))) {
|
|
|
|
|
+ throw new Exception(resMap.get("message").toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 融资审批
|
|
|
|
|
+ * @param map
|
|
|
|
|
+ * @throws Exception
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void addFinancingApproval(@RequestBody Map map) throws Exception {
|
|
|
|
|
+ Map<String, Object> flowParam = new HashMap<String, Object>();
|
|
|
|
|
+ String companyId = CommonUtil.objToString(map.get("zfiSupplierId"));
|
|
|
|
|
+ LambdaQueryWrapper<SysUserCompanyRel> userQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ userQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,companyId);
|
|
|
|
|
+ userQueryWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
|
|
|
|
|
+ List<SysUserCompanyRel> userList = iSysUserCompanyRelService.findSysUserCompanyRels(userQueryWrapper);
|
|
|
|
|
+ String userId = "";
|
|
|
|
|
+ if(userList.size() > 0){
|
|
|
|
|
+ userId = String.valueOf(userList.get(0).getSucrUserId());
|
|
|
|
|
+ }
|
|
|
|
|
+ //查询用户名称
|
|
|
|
|
+ SysUser sysUser = iSysUserService.getById(userId);
|
|
|
|
|
+ String userName = sysUser.getUserName();
|
|
|
|
|
+ //查询当前操作员
|
|
|
|
|
+ flowParam.put("menuId", "1000000006");
|
|
|
|
|
+ flowParam.put("companyId", companyId);
|
|
|
|
|
+ //双主键
|
|
|
|
|
+ flowParam.put("businessKey", CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //员工id
|
|
|
|
|
+ flowParam.put("sessionUserId", userId);
|
|
|
|
|
+ //融信编号
|
|
|
|
|
+ String zfiNumber = CommonUtil.objToString(map.get("zfiNumber"));
|
|
|
|
|
+ if(CommonUtil.isNotEmpty(zfiNumber)) {
|
|
|
|
|
+ flowParam.put("name",userName + DateUtils.getTime() + "发起审批,融信编号为:" + CommonUtil.objToString(map.get("zfiNumber"))+"的融资审批");
|
|
|
|
|
+ }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(CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //状态(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();
|
|
|
|
|
+ //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
|
|
|
|
|
+ zcFinanceRecord.setZfrStatus("01");
|
|
|
|
|
+ //审批状态(00:审核中 01:审批通过, 2:审批拒绝)
|
|
|
|
|
+ zcFinanceRecord.setZfrApproveStt("00");
|
|
|
|
|
+ zcFinanceRecordService.update(zcFinanceRecord,zcFinanceRecordLambdaQueryWrapper);
|
|
|
|
|
+ }
|
|
|
|
|
+ //未开启流程实例
|
|
|
|
|
+ if("300".equals(resMap.get("code"))){
|
|
|
|
|
+ ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
|
|
|
|
|
+ //融信id
|
|
|
|
|
+ zcFinanceInf.setZfiId(CommonUtil.objToString(map.get("zfiId")));
|
|
|
|
|
+ //融信状态(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("zfiId")));
|
|
|
|
|
+ ZcFinanceRecord zcFinanceRecord = new ZcFinanceRecord();
|
|
|
|
|
+ //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
|
|
|
|
|
+ zcFinanceRecord.setZfrStatus("00");
|
|
|
|
|
+ //审批状态(00:审核中 01:审批通过, 2:审批拒绝)
|
|
|
|
|
+ zcFinanceRecord.setZfrApproveStt("01");
|
|
|
|
|
+ zcFinanceRecordService.update(zcFinanceRecord,zcFinanceRecordLambdaQueryWrapper);
|
|
|
|
|
+ }else if (!"200".equals(resMap.get("code"))) {
|
|
|
|
|
+ throw new Exception(resMap.get("message").toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|