|
|
@ -70,6 +70,7 @@ import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flow2.FlowFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flowcomment.FlowComment; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; |
|
|
@ -173,6 +174,8 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private FlowFeign flowFeign; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private SysFormLinkFeign sysFormLinkFeign; |
|
|
@ -1209,27 +1212,44 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp |
|
|
|
return rb.setMsg("当前所在的组织机构不存在"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(sysOrganization.getManagerSid())) { |
|
|
|
return rb.setMsg("当前所在的组织机构未设置主管人员"); |
|
|
|
// return rb.setMsg("当前所在的组织机构未设置主管人员");
|
|
|
|
sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); |
|
|
|
} |
|
|
|
String nextNodeUserSids_ = sysOrganization.getManagerSid(); |
|
|
|
bv.setNextNodeUserSids(nextNodeUserSids_); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
//极光推送
|
|
|
|
busMainDeposit = fetchBySid(businessSid); |
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
ufVo.setProcInsId(busMainDeposit.getProcInsId()); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap(appMap); |
|
|
|
messageFlowableQuery.setBusinessSid(businessSid); |
|
|
|
messageFlowableQuery.setModuleName("简易订单-订金申请"); |
|
|
|
messageFlowableQuery.setMsgContent(busMainDeposit.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("简易订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
if ("Event_end".equals(ufVo.getTaskDefKey())) { |
|
|
|
pushFin(businessSid); |
|
|
|
}else{ |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusMainDeposit finalBusMainDeposit = busMainDeposit; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
ufVo.setProcInsId(finalBusMainDeposit.getProcInsId()); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap(appMap); |
|
|
|
messageFlowableQuery.setBusinessSid(businessSid); |
|
|
|
messageFlowableQuery.setModuleName("简易订单-订金申请"); |
|
|
|
messageFlowableQuery.setMsgContent(finalBusMainDeposit.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("简易订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
@ -1370,40 +1390,45 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
//更新已选择的车架号的状态为审批中
|
|
|
|
List<String> list = dto.getCarList().stream().map(AppBusDepositVehicleCarListDto::getCarSid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
}); |
|
|
|
Future future2 = pool.submit(() -> { |
|
|
|
//极光推送
|
|
|
|
busMainDeposit.set(fetchBySid(businessSid)); |
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
ufVo.setProcInsId(busMainDeposit.get().getProcInsId()); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap(appMap); |
|
|
|
messageFlowableQuery.setBusinessSid(businessSid); |
|
|
|
messageFlowableQuery.setModuleName("简易订单-订车申请"); |
|
|
|
messageFlowableQuery.setMsgContent(busMainDeposit.get().getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("简易订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
}); |
|
|
|
if ("Event_end".equals(ufVo.getTaskDefKey())) { |
|
|
|
pushFin(businessSid); |
|
|
|
}else{ |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
//更新已选择的车架号的状态为审批中
|
|
|
|
List<String> list = dto.getCarList().stream().map(AppBusDepositVehicleCarListDto::getCarSid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
}); |
|
|
|
Future future2 = pool.submit(() -> { |
|
|
|
//极光推送
|
|
|
|
busMainDeposit.set(fetchBySid(businessSid)); |
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
ufVo.setProcInsId(busMainDeposit.get().getProcInsId()); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap(appMap); |
|
|
|
messageFlowableQuery.setBusinessSid(businessSid); |
|
|
|
messageFlowableQuery.setModuleName("简易订单-订车申请"); |
|
|
|
messageFlowableQuery.setMsgContent(busMainDeposit.get().getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("简易订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
}); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
@ -1465,7 +1490,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp |
|
|
|
messageFlowableQuery.setMsgTitle("简易订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
} else { |
|
|
|
//更新修改时间
|
|
|
|
/*//更新修改时间
|
|
|
|
baseMapper.updateModify(new Date(), bv.getBusinessSid()); |
|
|
|
//如果类型为订金,推送款项确认
|
|
|
|
if (DictCommonEnum.DepositBillType.JYDD_DJ.getCode().equals(busMainDeposit.getDepositBillTypeKey())) { |
|
|
@ -1541,7 +1566,8 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
pushFin(bv.getBusinessSid()); |
|
|
|
|
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
@ -1550,6 +1576,87 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void pushFin(String businessSid){ |
|
|
|
BusMainDeposit busMainDeposit = fetchBySid(businessSid); |
|
|
|
//更新修改时间
|
|
|
|
baseMapper.updateModify(new Date(), businessSid); |
|
|
|
//如果类型为订金,推送款项确认
|
|
|
|
if (DictCommonEnum.DepositBillType.JYDD_DJ.getCode().equals(busMainDeposit.getDepositBillTypeKey())) { |
|
|
|
BusDeposit busDeposit = busDepositService.selectByBillSid(businessSid); |
|
|
|
//推送款项确认
|
|
|
|
FinConfirmDto finConfirmDto = new FinConfirmDto(); |
|
|
|
//收款日期
|
|
|
|
finConfirmDto.setCollectionDate(DateUtil.format(busDeposit.getPaymentDate(), "yyyy-MM-dd")); |
|
|
|
//收款银行key
|
|
|
|
finConfirmDto.setCollectionBankKey(busDeposit.getProBankKey()); |
|
|
|
//收款银行value
|
|
|
|
finConfirmDto.setCollectionBank(busDeposit.getProBankValue()); |
|
|
|
//收款银行账号key
|
|
|
|
finConfirmDto.setCollectionBankNumKey(busDeposit.getProBankAccKey()); |
|
|
|
//收款银行账号value
|
|
|
|
finConfirmDto.setCollectionBankNum(busDeposit.getProBankAccValue()); |
|
|
|
//收款方式key
|
|
|
|
finConfirmDto.setCollectionTypeKey(busDeposit.getPayTypeKey()); |
|
|
|
//收款银行value
|
|
|
|
finConfirmDto.setCollectionTypeValue(busDeposit.getPayType()); |
|
|
|
//付款方名称
|
|
|
|
finConfirmDto.setPayerName(busDeposit.getDraweeName()); |
|
|
|
//收款金额
|
|
|
|
finConfirmDto.setCollectionMoney(busDeposit.getDeposit().toString()); |
|
|
|
//分公司sid
|
|
|
|
finConfirmDto.setUseOrgSid(busDeposit.getOrgSid()); |
|
|
|
finConfirmDto.setPayerName(busDeposit.getDraweeName()); |
|
|
|
//余额
|
|
|
|
finConfirmDto.setBanlance(busDeposit.getDeposit().toString()); |
|
|
|
//创建人sid
|
|
|
|
finConfirmDto.setCreateBySid(busMainDeposit.getCreateBySid()); |
|
|
|
finConfirmDto.setPushMessgae(1); |
|
|
|
finConfirmDto.setBusSid(busMainDeposit.getSid()); |
|
|
|
finConfirmDto.setBusNo(busMainDeposit.getBillNo()); |
|
|
|
finConfirmDto.setAuditState(1); |
|
|
|
finConfirmDto.setCreateByName(busDeposit.getStaffName()); |
|
|
|
finConfirmDto.setRemarks(busDeposit.getRemarks()); |
|
|
|
//ToDo:赋值
|
|
|
|
//查询打款凭证
|
|
|
|
finConfirmDto.setPaymentVoucherUrl(busDeposit.getPaymentProof()); |
|
|
|
//申请部门
|
|
|
|
List<String> orgList = Arrays.asList(busMainDeposit.getOrgSidPath().split("/")); |
|
|
|
String deptSid = orgList.get(orgList.size() - 1); |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(deptSid); |
|
|
|
if (sysOrganizationVoResultBean.getData() != null) { |
|
|
|
finConfirmDto.setCreateDept(sysOrganizationVoResultBean.getData().getName()); |
|
|
|
finConfirmDto.setCreateDeptSid(deptSid); |
|
|
|
} |
|
|
|
//申请日期
|
|
|
|
finConfirmDto.setCreateDate(DateUtil.today()); |
|
|
|
//收款账户名称
|
|
|
|
finConfirmDto.setReceivingName(busDeposit.getCollectionAccountName()); |
|
|
|
//付款账号后4位
|
|
|
|
finConfirmDto.setPayAccount(busDeposit.getPayBankAcc()); |
|
|
|
//付款银行
|
|
|
|
finConfirmDto.setPayBank(busDeposit.getDepositBank()); |
|
|
|
finConfirmDto.setPurchaseSystemName(busDeposit.getPurchaseSystemName()); |
|
|
|
finConfirmDto.setPurchaseSystemSid(busDeposit.getPurchaseSystemSid()); |
|
|
|
ResultBean<String> codeString = finCollectionConfirmationFeign.getApplyCode(busMainDeposit.getOrgSid()); |
|
|
|
finConfirmDto.setBillNo(codeString.getData()); |
|
|
|
finConfirmDto.setStaffName(busDeposit.getStaffName()); |
|
|
|
finConfirmDto.setStaffUserSid(busMainDeposit.getCreateBySid()); |
|
|
|
finConfirmDto.setStaffDeptName(finConfirmDto.getCreateDept()); |
|
|
|
finConfirmDto.setStaffDeptSid(finConfirmDto.getCreateDeptSid()); |
|
|
|
finCollectionConfirmationFeign.saveFinConfirm(finConfirmDto); |
|
|
|
} |
|
|
|
if (DictCommonEnum.DepositBillType.JYDD_DC.getCode().equals(busMainDeposit.getDepositBillTypeKey())) { |
|
|
|
//更新已选择的车架号的状态为简易订单锁定
|
|
|
|
AppBusDepositVehicleDetailVo appBusDepositVehicleDetailVo = busDepositVehicleService.getReserveCarDetails(businessSid).getData(); |
|
|
|
List<String> list = appBusDepositVehicleDetailVo.getVehicleList().stream().map(AppBusDepositVehicleListVo::getCarSid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断提交的流程是否被允许 |
|
|
|
* |
|
|
|