1、新增自动归集、根据id认领提交。

This commit is contained in:
zhengyf 2025-08-29 17:42:07 +08:00
parent b742852031
commit 55c9d339dc
6 changed files with 196 additions and 49 deletions

View File

@ -2,6 +2,7 @@ package com.hzya.frame.finance.claim.controller;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.hzya.frame.finance.claim.entity.ClaimVO; import com.hzya.frame.finance.claim.entity.ClaimVO;
import com.hzya.frame.finance.claim.entity.FeClaimBillHEntity;
import com.hzya.frame.finance.claim.service.IClaimSKService; import com.hzya.frame.finance.claim.service.IClaimSKService;
import com.hzya.frame.finance.claim.service.IClaimService; import com.hzya.frame.finance.claim.service.IClaimService;
import com.hzya.frame.finance.conf.fileeigen.entity.FeConfFileEigenEntity; import com.hzya.frame.finance.conf.fileeigen.entity.FeConfFileEigenEntity;
@ -80,13 +81,13 @@ public class ClaimSKController extends DefaultController {
* 流水生成认领单 * 流水生成认领单
*/ */
@RequestMapping(value = "/generate", method = RequestMethod.POST) @RequestMapping(value = "/generate", method = RequestMethod.POST)
public JsonResultEntity generate(@RequestBody MdmDBQueryVO vo) throws Exception { public JsonResultEntity generate(@RequestBody FeClaimBillHEntity vo) throws Exception {
int i=0; int i=0;
int j=0; int j=0;
StringBuffer cgsb = new StringBuffer(); StringBuffer cgsb = new StringBuffer();
StringBuffer sbsb = new StringBuffer(); StringBuffer sbsb = new StringBuffer();
try { try {
String ids = vo.getIds(); String ids = vo.getId();
String[] split = ids.split(","); String[] split = ids.split(",");
for (String s : split) { for (String s : split) {
try { try {
@ -114,6 +115,42 @@ public class ClaimSKController extends DefaultController {
} }
@RequestMapping(value = "/generateById", method = RequestMethod.POST)
public JsonResultEntity generateById(@RequestBody FeClaimBillHEntity vo) throws Exception {
try {
claimService.generate(vo);
return getSuccessMessageEntity("生成成功");
} catch (Exception e) {
e.printStackTrace();
return getFailureMessageEntity(e.getMessage());
}
}
/**
* 查询对应客户
*/
@RequestMapping(value = "/queryCustomer", method = RequestMethod.POST)
public JsonResultEntity queryCustomer(@RequestBody MdmDBQueryVO vo) throws Exception {
try {
return getSuccessMessageEntity("请求成功");
}catch (Exception e){
return getFailureMessageEntity(e.getMessage());
}
}
/**
* 自动带出信息
*/
@RequestMapping(value = "/autoCollection", method = RequestMethod.POST)
public JsonResultEntity autoCollection(@RequestBody MdmDBQueryVO entity){
try {
FeClaimBillHEntity claimBillHEntity = claimSKService.autoCollection(entity);
return getSuccessMessageEntity("请求成功",claimBillHEntity);
}catch (Exception e){
return getFailureMessageEntity(e.getMessage());
}
}
} }

View File

@ -74,6 +74,8 @@ public class FeClaimBillHEntity extends FeClaimBillBEntity {
* 认领人id * 认领人id
*/ */
private String claimUserId; private String claimUserId;
private String claimUserCode;
private String claimUserName;
/** /**
* 银行id * 银行id
*/ */
@ -146,6 +148,7 @@ public class FeClaimBillHEntity extends FeClaimBillBEntity {
private String pushStatusName; private String pushStatusName;
private String sourceId; private String sourceId;
private String downstreamSystemBillCode; private String downstreamSystemBillCode;
private String ids;
} }

View File

@ -1,6 +1,7 @@
package com.hzya.frame.finance.claim.service; package com.hzya.frame.finance.claim.service;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.hzya.frame.finance.claim.entity.FeClaimBillHEntity;
import com.hzya.frame.mdm.entity.MdmViewVo; import com.hzya.frame.mdm.entity.MdmViewVo;
import com.hzya.frame.voucher.ae.comf.bd.entity.vo.MdmDBQueryVO; import com.hzya.frame.voucher.ae.comf.bd.entity.vo.MdmDBQueryVO;
@ -18,4 +19,6 @@ public interface IClaimSKService {
PageInfo queryFlowDatePaged(MdmDBQueryVO entity); PageInfo queryFlowDatePaged(MdmDBQueryVO entity);
List<Map<String, Object>> queryFlowDateIds(MdmDBQueryVO entity); List<Map<String, Object>> queryFlowDateIds(MdmDBQueryVO entity);
FeClaimBillHEntity autoCollection(MdmDBQueryVO entity);
} }

View File

@ -16,7 +16,7 @@ public interface IClaimService {
PageInfo queryPaged(ClaimVO vo); PageInfo queryPaged(ClaimVO vo);
String generate(MdmDBQueryVO vo); FeClaimBillHEntity generate(FeClaimBillHEntity vo);
String back(String id); String back(String id);

View File

@ -1,11 +1,21 @@
package com.hzya.frame.finance.claim.service.impl; package com.hzya.frame.finance.claim.service.impl;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.lang.Assert;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.hzya.frame.finance.claim.entity.FeClaimBillHEntity;
import com.hzya.frame.finance.claim.service.IClaimSKService; import com.hzya.frame.finance.claim.service.IClaimSKService;
import com.hzya.frame.finance.flow.dao.IMdmKkBankflowGtsDao;
import com.hzya.frame.finance.flow.entity.MdmKkBankflowGtsEntity;
import com.hzya.frame.mdm.entity.MdmViewVo; import com.hzya.frame.mdm.entity.MdmViewVo;
import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao; import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao;
import com.hzya.frame.mdm.mdmModuleDb.dao.IMdmModuleDbDao; import com.hzya.frame.mdm.mdmModuleDb.dao.IMdmModuleDbDao;
import com.hzya.frame.sysnew.person.dao.ISysPersonDao;
import com.hzya.frame.sysnew.person.entity.SysPersonEntity;
import com.hzya.frame.sysnew.user.dao.ISysUserDao;
import com.hzya.frame.sysnew.user.entity.SysUserEntity;
import com.hzya.frame.voucher.ae.comf.bd.dao.IMdmDBQueryVODAO; import com.hzya.frame.voucher.ae.comf.bd.dao.IMdmDBQueryVODAO;
import com.hzya.frame.voucher.ae.comf.bd.dao.IMdmDbFiledVODAO; import com.hzya.frame.voucher.ae.comf.bd.dao.IMdmDbFiledVODAO;
import com.hzya.frame.voucher.ae.comf.bd.entity.vo.MdmDBQueryVO; import com.hzya.frame.voucher.ae.comf.bd.entity.vo.MdmDBQueryVO;
@ -14,6 +24,8 @@ import com.hzya.frame.voucher.ae.push.service.IAePushVoucherLogService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -22,6 +34,9 @@ import java.util.Map;
*/ */
@Service @Service
public class IClaimSKServiceImpl implements IClaimSKService { public class IClaimSKServiceImpl implements IClaimSKService {
public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@Autowired @Autowired
private IMdmModuleDao mdmModuleDao; private IMdmModuleDao mdmModuleDao;
@Autowired @Autowired
@ -34,6 +49,13 @@ public class IClaimSKServiceImpl implements IClaimSKService {
@Autowired @Autowired
private IAePushVoucherLogService aePushVoucherLogService; private IAePushVoucherLogService aePushVoucherLogService;
@Autowired
private IMdmKkBankflowGtsDao kkBankflowGtsDao;
@Autowired
private ISysUserDao sysUserDao;
@Autowired
private ISysPersonDao sysPersonDao;
/** /**
@ -154,4 +176,123 @@ public class IClaimSKServiceImpl implements IClaimSKService {
return maps; return maps;
} }
/**
* 自动归集
* 1
*/
@Override
public FeClaimBillHEntity autoCollection(MdmDBQueryVO vo) {
FeClaimBillHEntity feClaimBillHEntity = new FeClaimBillHEntity();
try {
//查询流水
String id = vo.getIds();
MdmKkBankflowGtsEntity mdmKkBankflowGtsEntity = new MdmKkBankflowGtsEntity();
mdmKkBankflowGtsEntity.setId(id);
List<MdmKkBankflowGtsEntity> bankflowGtsList = kkBankflowGtsDao.query(mdmKkBankflowGtsEntity);
if (bankflowGtsList.size() == 0) {
Assert.state(false, "根据流水id[{}],未查询到流水信息。", id);
}
MdmKkBankflowGtsEntity kkBankflow = bankflowGtsList.get(0);
System.out.println(kkBankflow);
if ("Y".equals(kkBankflow.getClaimstatus())) {
Assert.state(false, "自动归集失败流水已认领流水id{}。", id);
}
//认领日期
LocalDateTime now = LocalDateTime.now();
String billDate = now.format(formatter);
feClaimBillHEntity.setBillData(billDate);
//客户
String cnteracctname = kkBankflow.getCnteracctname();
feClaimBillHEntity.setCustomerName(cnteracctname);
//认领人
// SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
// String token = tokenInfo.getTokenValue();
// Object loginIdByToken = StpUtil.getLoginIdByToken(token);
// System.out.println(loginIdByToken);
// SysUserEntity sysUserEntity = new SysUserEntity();
// sysUserEntity.setId(String.valueOf(loginIdByToken));
// List<SysUserEntity> userEntityList = sysUserDao.query(sysUserEntity);
// if(userEntityList.size()==0){
// Assert.state(false,"登录过期,请重新登录");
// }
// String personId = userEntityList.get(0).getPersonId();
// SysPersonEntity sysPersonEntity = new SysPersonEntity();
// sysPersonEntity.setId(personId);
// List<SysPersonEntity> personEntityList = sysPersonDao.query(sysPersonEntity);
// System.out.println(personEntityList.get(0).getMobilePhone());
// feClaimBillHEntity.setClaimUserId(personId);
// feClaimBillHEntity.setClaimUserCode(personEntityList.get(0).getPersonCode());
// feClaimBillHEntity.setClaimUserName(personEntityList.get(0).getPersonName());
feClaimBillHEntity.setClaimUserId("1");
feClaimBillHEntity.setClaimUserCode("admin");
feClaimBillHEntity.setClaimUserName("系统管理员");
//收款银行
feClaimBillHEntity.setBankName(kkBankflow.getOpnbnkinfo());
//收款银行账号
feClaimBillHEntity.setBankNum(kkBankflow.getCnteracctno());
//财务组织
//往来对象--
feClaimBillHEntity.setWldxName("客商");
//认领金额
feClaimBillHEntity.setClaimSum(kkBankflow.getTranamt());
//摘要
feClaimBillHEntity.setZy(kkBankflow.getZy());
//款项性质
//款项类别
//币种
feClaimBillHEntity.setCurrencyName(kkBankflow.getCcy());
//金额
feClaimBillHEntity.setMoney(kkBankflow.getTranamt());
//描述说明
//认领类型 SK/FK D-C- 转入/转出标志
String outflag = kkBankflow.getOutflag();
if ("D".equals(outflag)) {
feClaimBillHEntity.setClaimType("SK");
} else if ("C".equals(outflag)) {
feClaimBillHEntity.setClaimType("FK");
}
//来源单据号
String transeqno1 = kkBankflow.getTranseqno1();
feClaimBillHEntity.setSourceFlowBankId(transeqno1);
feClaimBillHEntity.setSourceId(kkBankflow.getId());
//流水交易时间
String trandate = kkBankflow.getTrandate();
String trantimep = kkBankflow.getTrantimep();
feClaimBillHEntity.setDef1(trandate + " " + trantimep);
}catch (Exception e){
e.printStackTrace();
Assert.state(false,"自动归集失败,失败原因:{}",e.getMessage());
}
return feClaimBillHEntity;
}
} }

View File

@ -125,67 +125,30 @@ public class IClaimServiceImpl implements IClaimService {
* 3保存认领单 * 3保存认领单
*/ */
@Override @Override
public String generate(MdmDBQueryVO vo) { public FeClaimBillHEntity generate(FeClaimBillHEntity feClaimBillHEntity) {
try { try {
String id = vo.getId(); System.out.println(feClaimBillHEntity);
// String id = vo.getId();
MdmKkBankflowGtsEntity mdmKkBankflowGtsEntity = new MdmKkBankflowGtsEntity(); MdmKkBankflowGtsEntity mdmKkBankflowGtsEntity = new MdmKkBankflowGtsEntity();
mdmKkBankflowGtsEntity.setId(id); mdmKkBankflowGtsEntity.setId(feClaimBillHEntity.getSourceId());
List<MdmKkBankflowGtsEntity> bankflowGtsList = kkBankflowGtsDao.query(mdmKkBankflowGtsEntity); List<MdmKkBankflowGtsEntity> bankflowGtsList = kkBankflowGtsDao.query(mdmKkBankflowGtsEntity);
if (bankflowGtsList.size() == 0) { if (bankflowGtsList.size() == 0) {
Assert.state(false, "根据流水id[{}],未查询到流水信息。", id); Assert.state(false, "根据流水id[{}],未查询到流水信息。", feClaimBillHEntity.getSourceId());
} }
MdmKkBankflowGtsEntity kkBankflow = bankflowGtsList.get(0); MdmKkBankflowGtsEntity kkBankflow = bankflowGtsList.get(0);
System.out.println(kkBankflow); System.out.println(kkBankflow);
//
if ("Y".equals(kkBankflow.getClaimstatus())) { if ("Y".equals(kkBankflow.getClaimstatus())) {
Assert.state(false, "流水已认领流水id{}。", id); Assert.state(false, "流水已认领流水id{}。", feClaimBillHEntity.getSourceId());
}
FeClaimBillHEntity feClaimBillHEntity = new FeClaimBillHEntity();
//认领类型 SK/FK D-C- 转入/转出标志
String outflag = kkBankflow.getOutflag();
if ("D".equals(outflag)) {
feClaimBillHEntity.setClaimType("SK");
} else if ("C".equals(outflag)) {
feClaimBillHEntity.setClaimType("FK");
} }
//获取认领单单号 //获取认领单单号
String claimBillCode = claimBillCodeUtil.saveBillCodeByTypeAndSourceCode(feClaimBillHEntity.getClaimType(), kkBankflow.getTranseqno1()); String claimBillCode = claimBillCodeUtil.saveBillCodeByTypeAndSourceCode(feClaimBillHEntity.getClaimType(), feClaimBillHEntity.getSourceId());
feClaimBillHEntity.setBillCode(claimBillCode); feClaimBillHEntity.setBillCode(claimBillCode);
//认领时间默认流水交易时间
String trandate = kkBankflow.getTrandate();
String trantimep = kkBankflow.getTrantimep();
feClaimBillHEntity.setBillData(trandate + " " + trantimep);
//对方户名cnterAcctName
String cnteracctname = kkBankflow.getCnteracctname();
feClaimBillHEntity.setCustomerName(cnteracctname);
//收付交易账号
String cnteracctno = kkBankflow.getCnteracctno();
feClaimBillHEntity.setBankNum(cnteracctno);
//往来对象
feClaimBillHEntity.setWldxName("客商");
feClaimBillHEntity.setIsAutoClaim("N"); feClaimBillHEntity.setIsAutoClaim("N");
//认领人 当前登陆人
// Object loginId = StpUtil.getLoginId();
// feClaimBillHEntity.setClaimUserId(loginId.toString());
feClaimBillHEntity.setClaimUserId("1");
//认领金额
String tranamt = kkBankflow.getTranamt();
feClaimBillHEntity.setClaimSum(tranamt);
feClaimBillHEntity.setSourceId(id);
//保存认领单 //保存认领单
claimBillHDao.save(feClaimBillHEntity); claimBillHDao.save(feClaimBillHEntity);
//更新流水认领单号以及认领状态 //更新流水认领单号以及认领状态
@ -198,7 +161,7 @@ public class IClaimServiceImpl implements IClaimService {
e.printStackTrace(); e.printStackTrace();
Assert.state(false, "生成认领单失败,失败原因:{}", e.getMessage()); Assert.state(false, "生成认领单失败,失败原因:{}", e.getMessage());
} }
return null; return feClaimBillHEntity;
} }