diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/controller/ClaimSKController.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/controller/ClaimSKController.java index 01f2cf70..a8bb85f0 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/controller/ClaimSKController.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/controller/ClaimSKController.java @@ -7,6 +7,7 @@ import com.hzya.frame.finance.claim.service.IClaimSKService; import com.hzya.frame.finance.claim.service.IClaimService; import com.hzya.frame.finance.conf.fileeigen.entity.FeConfFileEigenEntity; import com.hzya.frame.mdm.entity.MdmViewVo; +import com.hzya.frame.plugin.coco.AutoClaimPlugin; import com.hzya.frame.voucher.ae.comf.bd.entity.vo.MdmDBQueryVO; import com.hzya.frame.web.action.DefaultController; import com.hzya.frame.web.entity.JsonResultEntity; @@ -153,4 +154,18 @@ public class ClaimSKController extends DefaultController { } + @Autowired + private AutoClaimPlugin autoClaimPlugin; + @RequestMapping(value = "/autoClaimPlugin", method = RequestMethod.POST) + public JsonResultEntity autoClaimPlugin(@RequestBody MdmDBQueryVO entity){ + try { + autoClaimPlugin.start(entity.getStartTime(),entity.getEndTime()); + return getSuccessMessageEntity("请求成功",null); + }catch (Exception e){ + return getFailureMessageEntity(e.getMessage()); + } + } + + + } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.java index 6d3ab764..8616ce45 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.java @@ -44,6 +44,7 @@ public class FeClaimBillBEntity extends BaseEntity { * 表述说明 */ private String explain; + private String bssm; /** * 汇率 */ @@ -60,6 +61,7 @@ public class FeClaimBillBEntity extends BaseEntity { * 款项性质 */ private String character; + private String kxxz; /** * 关联银行流水id */ diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.xml index 68fad2ad..3584ef43 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillBEntity.xml @@ -12,11 +12,11 @@ - + - + @@ -46,11 +46,11 @@ ,currency_code ,currency_name ,money - ,explain + ,bssm ,rate ,wldx ,business_type - ,character + ,kxxz ,source_flow_bank_id ,remark ,def1 @@ -85,11 +85,11 @@ and currency_code = #{currencyCode} and currency_name = #{currencyName} and money = #{money} - and explain = #{explain} + and bssm = #{bssm} and rate = #{rate} and wldx = #{wldx} and business_type = #{businessType} - and character = #{character} + and kxxz = #{kxxz} and source_flow_bank_id = #{sourceFlowBankId} @@ -127,11 +127,11 @@ and currency_code = #{currencyCode} and currency_name = #{currencyName} and money = #{money} - and explain = #{explain} + and bssm = #{bssm} and rate = #{rate} and wldx = #{wldx} and business_type = #{businessType} - and character = #{character} + and kxxz = #{kxxz} and source_flow_bank_id = #{sourceFlowBankId} @@ -175,13 +175,13 @@ concat('%',#{currencyName},'%') and money like concat('%',#{money},'%') - and explain like concat('%',#{explain},'%') + and bssm like concat('%',#{bssm},'%') and rate like concat('%',#{rate},'%') and wldx like concat('%',#{wldx},'%') and business_type like concat('%',#{businessType},'%') - and character like concat('%',#{character},'%') + and kxxz like concat('%',#{kxxz},'%') and source_flow_bank_id like concat('%',#{sourceFlowBankId},'%') @@ -221,11 +221,11 @@ or currency_code = #{currencyCode} or currency_name = #{currencyName} or money = #{money} - or explain = #{explain} + or bssm = #{bssm} or rate = #{rate} or wldx = #{wldx} or business_type = #{businessType} - or character = #{character} + or kxxz = #{kxxz} or source_flow_bank_id = #{sourceFlowBankId} @@ -263,11 +263,11 @@ currency_code , currency_name , money , - explain , + bssm , rate , wldx , business_type , - character , + kxxz , source_flow_bank_id , remark , def1 , @@ -300,11 +300,11 @@ #{currencyCode} , #{currencyName} , #{money} , - #{explain} , + #{bssm} , #{rate} , #{wldx} , #{businessType} , - #{character} , + #{kxxz} , #{sourceFlowBankId} , #{remark} , #{def1} , @@ -330,23 +330,23 @@ - insert into fe_claim_bill_b(h_id, zy, nature, type, currency_id, currency_code, currency_name, money, explain, - rate, wldx, business_type, character, source_flow_bank_id, remark, def1, def2, def3, def4, def5, def6, def7, + insert into fe_claim_bill_b(h_id, zy, nature, type, currency_id, currency_code, currency_name, money, bssm, + rate, wldx, business_type, kxxz, source_flow_bank_id, remark, def1, def2, def3, def4, def5, def6, def7, def8, def9, def10, create_time, create_user, modify_time, modify_user, sts, sts) values - (#{entity.hId},#{entity.zy},#{entity.nature},#{entity.type},#{entity.currencyId},#{entity.currencyCode},#{entity.currencyName},#{entity.money},#{entity.explain},#{entity.rate},#{entity.wldx},#{entity.businessType},#{entity.character},#{entity.sourceFlowBankId},#{entity.remark},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7},#{entity.def8},#{entity.def9},#{entity.def10},#{entity.create_time},#{entity.createUser},#{entity.modify_time},#{entity.modifyUser},#{entity.sts}, + (#{entity.hId},#{entity.zy},#{entity.nature},#{entity.type},#{entity.currencyId},#{entity.currencyCode},#{entity.currencyName},#{entity.money},#{entity.bssm},#{entity.rate},#{entity.wldx},#{entity.businessType},#{entity.kxxz},#{entity.sourceFlowBankId},#{entity.remark},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7},#{entity.def8},#{entity.def9},#{entity.def10},#{entity.create_time},#{entity.createUser},#{entity.modify_time},#{entity.modifyUser},#{entity.sts}, 'Y') - insert into fe_claim_bill_b(h_id, zy, nature, type, currency_id, currency_code, currency_name, money, explain, - rate, wldx, business_type, character, source_flow_bank_id, remark, def1, def2, def3, def4, def5, def6, def7, + insert into fe_claim_bill_b(h_id, zy, nature, type, currency_id, currency_code, currency_name, money, bssm, + rate, wldx, business_type, kxxz, source_flow_bank_id, remark, def1, def2, def3, def4, def5, def6, def7, def8, def9, def10, create_time, create_user, modify_time, modify_user, sts) values - (#{entity.hId},#{entity.zy},#{entity.nature},#{entity.type},#{entity.currencyId},#{entity.currencyCode},#{entity.currencyName},#{entity.money},#{entity.explain},#{entity.rate},#{entity.wldx},#{entity.businessType},#{entity.character},#{entity.sourceFlowBankId},#{entity.remark},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7},#{entity.def8},#{entity.def9},#{entity.def10},#{entity.create_time},#{entity.createUser},#{entity.modify_time},#{entity.modifyUser},#{entity.sts}) + (#{entity.hId},#{entity.zy},#{entity.nature},#{entity.type},#{entity.currencyId},#{entity.currencyCode},#{entity.currencyName},#{entity.money},#{entity.bssm},#{entity.rate},#{entity.wldx},#{entity.businessType},#{entity.kxxz},#{entity.sourceFlowBankId},#{entity.remark},#{entity.def1},#{entity.def2},#{entity.def3},#{entity.def4},#{entity.def5},#{entity.def6},#{entity.def7},#{entity.def8},#{entity.def9},#{entity.def10},#{entity.create_time},#{entity.createUser},#{entity.modify_time},#{entity.modifyUser},#{entity.sts}) on duplicate key update h_id = values(h_id), @@ -357,11 +357,11 @@ currency_code = values(currency_code), currency_name = values(currency_name), money = values(money), - explain = values(explain), + bssm = values(bssm), rate = values(rate), wldx = values(wldx), business_type = values(business_type), - character = values(character), + kxxz = values(kxxz), source_flow_bank_id = values(source_flow_bank_id), remark = values(remark), def1 = values(def1), @@ -392,11 +392,11 @@ currency_code = #{currencyCode}, currency_name = #{currencyName}, money = #{money}, - explain = #{explain}, + bssm = #{bssm}, rate = #{rate}, wldx = #{wldx}, business_type = #{businessType}, - character = #{character}, + kxxz = #{kxxz}, source_flow_bank_id = #{sourceFlowBankId}, remark = #{remark}, @@ -440,11 +440,11 @@ and currency_code = #{currencyCode} and currency_name = #{currencyName} and money = #{money} - and explain = #{explain} + and bssm = #{bssm} and rate = #{rate} and wldx = #{wldx} and business_type = #{businessType} - and character = #{character} + and kxxz = #{kxxz} and source_flow_bank_id = #{sourceFlowBankId} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillHEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillHEntity.java index 74794694..6d2c6168 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillHEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/entity/FeClaimBillHEntity.java @@ -2,6 +2,7 @@ package com.hzya.frame.finance.claim.entity; import java.util.Date; import java.util.List; +import java.util.Map; import com.hzya.frame.web.entity.BaseEntity; import lombok.Data; @@ -24,6 +25,7 @@ public class FeClaimBillHEntity extends FeClaimBillBEntity { * 认领类型,SK/FK */ private String claimType; + private String claimTypeName; /** * 交易类型,区分收款/资金收款/资金付款 */ @@ -70,6 +72,7 @@ public class FeClaimBillHEntity extends FeClaimBillBEntity { * 是否自动认领 */ private String isAutoClaim; + private String isAutoClaimName; /** * 认领人id */ @@ -150,5 +153,7 @@ public class FeClaimBillHEntity extends FeClaimBillBEntity { private String downstreamSystemBillCode; private String ids; + private List> detailList; + } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/IClaimSKService.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/IClaimSKService.java index f071d75a..9434d4cb 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/IClaimSKService.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/IClaimSKService.java @@ -21,4 +21,6 @@ public interface IClaimSKService { List> queryFlowDateIds(MdmDBQueryVO entity); FeClaimBillHEntity autoCollection(MdmDBQueryVO entity); + + List> queryFlowDataByDate(MdmDBQueryVO mdmDBQueryVO); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimSKServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimSKServiceImpl.java index 495a4208..d789a437 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimSKServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimSKServiceImpl.java @@ -26,6 +26,8 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -250,23 +252,37 @@ public class IClaimSKServiceImpl implements IClaimSKService { //认领金额 feClaimBillHEntity.setClaimSum(kkBankflow.getTranamt()); + List> dateList=new ArrayList<>(); + Map map=new HashMap<>(); + dateList.add(map); + feClaimBillHEntity.setDetailList(dateList); + + + //摘要 feClaimBillHEntity.setZy(kkBankflow.getZy()); + map.put("zy",kkBankflow.getZy()); //款项性质 + map.put("nature",null); + //款项类别 - + map.put("type",null); //币种 feClaimBillHEntity.setCurrencyName(kkBankflow.getCcy()); + map.put("currencyName",kkBankflow.getCcy()); + //金额 feClaimBillHEntity.setMoney(kkBankflow.getTranamt()); + map.put("money",kkBankflow.getTranamt()); //描述说明 + map.put("explain",null); //认领类型 SK/FK D-借;C-贷 转入/转出标志 @@ -289,6 +305,9 @@ public class IClaimSKServiceImpl implements IClaimSKService { //自动认领 feClaimBillHEntity.setIsAutoClaim("N"); + if("N".equals(feClaimBillHEntity.getIsAutoClaim())){ + feClaimBillHEntity.setIsAutoClaimName("否"); + } }catch (Exception e){ @@ -298,4 +317,11 @@ public class IClaimSKServiceImpl implements IClaimSKService { return feClaimBillHEntity; } + + @Override + public List> queryFlowDataByDate(MdmDBQueryVO vo) { + vo.setTablename("mdm_kk_bankflow_gts"); + List> maps= mdmDBQueryVODAO.queryFlowDataByDate(vo); + return maps; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimServiceImpl.java index 332f21d2..77be60b5 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/claim/service/impl/IClaimServiceImpl.java @@ -22,9 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.util.*; /** * Created by zydd on 2025-08-25 14:32 @@ -77,14 +75,48 @@ public class IClaimServiceImpl implements IClaimService { if (claimBillHEntityList.size() == 0) { Assert.state(false, "根据id:[{}],未查询到认领单信息。", vo.getId()); } + FeClaimBillHEntity feClaimBillH = claimBillHEntityList.get(0); - return claimBillHEntityList.get(0); + //明细 + String Hid = feClaimBillH.getId(); + FeClaimBillBEntity feClaimBillBEntity = new FeClaimBillBEntity(); + feClaimBillBEntity.setHId(Long.valueOf(Hid)); + List feClaimBillBEntityList = claimBillBDao.query(feClaimBillBEntity); + if (feClaimBillBEntityList.size() == 0) { + return feClaimBillH; + } + FeClaimBillBEntity feClaimBillB = feClaimBillBEntityList.get(0); + + + List> dateList = new ArrayList<>(); + Map map = new HashMap<>(); + dateList.add(map); + feClaimBillH.setDetailList(dateList); + + + //摘要 + map.put("zy", feClaimBillB.getZy()); + //款项性质 + map.put("nature", feClaimBillB.getNature()); + map.put("kxxz", feClaimBillB.getKxxz()); + //款项类别 + map.put("type", feClaimBillB.getType()); + //币种 + map.put("currencyName", feClaimBillB.getCurrencyName()); + //金额 + map.put("money", feClaimBillB.getMoney()); + //描述说明 + map.put("explain", feClaimBillB.getExplain()); + map.put("bssm", feClaimBillB.getBssm()); + + + return feClaimBillH; } @Override public PageInfo queryPaged(ClaimVO vo) { try { - Assert.notNull(vo.getClaimType(), "查询全部认领单时:请传入单据类型。"); +// Assert.notNull(vo.getClaimType(), "查询全部认领单时:请传入单据类型。"); // String billType = vo.getBillType(); String claimType = vo.getClaimType(); FeClaimBillHEntity feClaimBillHEntity = new FeClaimBillHEntity(); @@ -102,12 +134,18 @@ public class IClaimServiceImpl implements IClaimService { PageHelper.startPage(feClaimBillHEntity.getPageNum(), feClaimBillHEntity.getPageSize()); List claimBillHEntityList = claimBillHDao.query(feClaimBillHEntity); for (FeClaimBillHEntity claimBillHEntity : claimBillHEntityList) { - if("Y".equals(claimBillHEntity.getPushStatus())){ + if (1 == claimBillHEntity.getPushStatus()) { claimBillHEntity.setPushStatusName("已推送"); } - if("N".equals(claimBillHEntity.getPushStatus())){ + if (0 == claimBillHEntity.getPushStatus()) { claimBillHEntity.setPushStatusName("未推送"); } + if ("SK".equals(claimBillHEntity.getClaimType())) { + claimBillHEntity.setClaimTypeName("收款"); + } + if ("FK".equals(claimBillHEntity.getClaimType())) { + claimBillHEntity.setClaimTypeName("付款"); + } } PageInfo pageInfo = new PageInfo(claimBillHEntityList); @@ -150,8 +188,54 @@ public class IClaimServiceImpl implements IClaimService { feClaimBillHEntity.setIsAutoClaim("N"); + + //解析dataList + List> detailList = feClaimBillHEntity.getDetailList(); + Map map = detailList.get(0); + + String zy = map.get("zy"); + feClaimBillHEntity.setZy(zy); + String kxxz = map.get("kxxz"); + feClaimBillHEntity.setKxxz(kxxz); + String type = map.get("type"); + feClaimBillHEntity.setType(type); + String currencyName = map.get("currencyName"); + feClaimBillHEntity.setCurrencyName(currencyName); + String money = map.get("money"); + feClaimBillHEntity.setMoney(money); + String bssm = map.get("bssm"); + feClaimBillHEntity.setBssm(bssm); + + +// //摘要 +// map.put("zy",kkBankflow.getZy()); +// //款项性质 +// map.put("nature",null); +// //款项类别 +// map.put("type",null); +// //币种 +// map.put("currencyName",kkBankflow.getCcy()); +// //金额 +// map.put("money",kkBankflow.getTranamt()); +// //描述说明 +// map.put("explain",null); + + //保存认领单 - claimBillHDao.save(feClaimBillHEntity); + FeClaimBillHEntity saveH = claimBillHDao.save(feClaimBillHEntity); + String Hid = saveH.getId(); + + //保存子表 + FeClaimBillBEntity feClaimBillBEntity = new FeClaimBillBEntity(); + feClaimBillBEntity.setHId(Long.valueOf(Hid)); + feClaimBillBEntity.setZy(zy); + feClaimBillBEntity.setKxxz(kxxz); + feClaimBillBEntity.setType(type); + feClaimBillBEntity.setCurrencyName(currencyName); + feClaimBillBEntity.setMoney(money); + feClaimBillBEntity.setBssm(bssm); + claimBillBDao.save(feClaimBillBEntity); + //更新流水认领单号以及认领状态 mdmKkBankflowGtsEntity.setClaimbillcode(claimBillCode); mdmKkBankflowGtsEntity.setClaimstatus("Y"); @@ -179,9 +263,9 @@ public class IClaimServiceImpl implements IClaimService { Assert.state(false, "根据id:{},查询认领单失败"); } FeClaimBillHEntity feClaimBillH = query.get(0); - claim_bill_code=feClaimBillH.getBillCode(); + claim_bill_code = feClaimBillH.getBillCode(); - if(feClaimBillH.getBipBillId()!=null){ + if (feClaimBillH.getBipBillId() != null) { Assert.state(false, "该认领单已推送,请先收回后再取消认领"); } @@ -195,7 +279,7 @@ public class IClaimServiceImpl implements IClaimService { kkBankflowGtsDao.updateStatus(mdmKkBankflowGtsEntity); - }catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); Assert.state(false, "[{}]失败原因:{}", claim_bill_code, e.getMessage()); @@ -220,7 +304,7 @@ public class IClaimServiceImpl implements IClaimService { if (feClaimBillH.getBipBillId() != null && !"".equals(feClaimBillH.getBipBillId())) { Assert.state(false, "已确认认领,请勿重复确认认领"); } - claim_bill_code=feClaimBillH.getBillCode(); + claim_bill_code = feClaimBillH.getBillCode(); //推送BIP String uuid = UUID.randomUUID().toString(); @@ -252,7 +336,7 @@ public class IClaimServiceImpl implements IClaimService { FeClaimBillHEntity feClaimBillHEntity = new FeClaimBillHEntity(); feClaimBillHEntity.setId(id); List query = claimBillHDao.query(feClaimBillHEntity); - try{ + try { if (query.size() == 0) { claim_bill_code = id; Assert.state(false, "根据id:{},查询认领单失败"); @@ -272,7 +356,7 @@ public class IClaimServiceImpl implements IClaimService { //1、[认领单号]-->《下游系统单号]》 str = "[" + feClaimBillH.getBillCode() + "]-->《" + uuid + "》"; - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); //1、[认领单号]失败原因:; Assert.state(false, "[{}]失败原因:{}", claim_bill_code, e.getMessage()); diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.java index e7620ab7..4bd1b4c8 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.java @@ -11,7 +11,7 @@ import lombok.Data; * @author zydd * @since 2025-08-29 17:44:59 */ -@Data + public class FeConfBillTemplateEntity extends BaseEntity { private String name; @@ -19,42 +19,52 @@ public class FeConfBillTemplateEntity extends BaseEntity { * 财务组织取值 */ private String hOrgStr; + private String hOrgName; /** * 单据日期 */ private String hBillDateStr; + private String hBillDateName; /** * 往来对象标识 */ private String hWldxStr; + private String hWldxName; /** * 客户 */ private String hUserStr; + private String hUserName; /** * 供应商 */ private String hSupplierStr; + private String hSupplierName; /** * 部门 */ private String hDeptStr; + private String hDeptName; /** * 客户 */ private String hCustomerStr; + private String hCustomerName; /** * 币种 */ private String hCurrenvyStr; + private String hCurrenvyName; /** * 备注 */ private String hRemarkStr; + private String hRemarkName; /** * 结算方式 */ private String hClearingFormStr; + private String hClearingFormName; private String hDef1; private String hDef2; private String hDef3; @@ -69,42 +79,54 @@ public class FeConfBillTemplateEntity extends BaseEntity { * 款项性质 */ private String bKxxzStr; + private String bKxxzName; /** * 业务类型 */ private String bYwlxStr; + private String bYwlxName; /** * 币种 */ private String bCurrencyStr; + private String bCurrencyName; /** * 税率 */ private String bRateStr; + private String bRateName; /** * 原币金额 */ private String bYbjeStr; + private String bYbjeName; /** * 本币金额 */ private String bBbjeStr; + private String bBbjeName; /** * 收支项目 */ private String bZsxmStr; + private String bZsxmName; /** * 摘要 */ private String bZyStr; + private String bZyName; /** * 汇率 */ + private String bExchangeStr; private String bExchangeRate; + private String bExchangeName; /** * 银行账号 */ + private String bBankStr; private String bBankNum; + private String bBankName; private String bDef1; private String bDef2; private String bDef3; @@ -125,5 +147,524 @@ public class FeConfBillTemplateEntity extends BaseEntity { private String modifyUser; + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String gethOrgStr() { + return hOrgStr; + } + + public void sethOrgStr(String hOrgStr) { + this.hOrgStr = hOrgStr; + } + + public String gethOrgName() { + return hOrgName; + } + + public void sethOrgName(String hOrgName) { + this.hOrgName = hOrgName; + } + + public String gethBillDateStr() { + return hBillDateStr; + } + + public void sethBillDateStr(String hBillDateStr) { + this.hBillDateStr = hBillDateStr; + } + + public String gethBillDateName() { + return hBillDateName; + } + + public void sethBillDateName(String hBillDateName) { + this.hBillDateName = hBillDateName; + } + + public String gethWldxStr() { + return hWldxStr; + } + + public void sethWldxStr(String hWldxStr) { + this.hWldxStr = hWldxStr; + } + + public String gethWldxName() { + return hWldxName; + } + + public void sethWldxName(String hWldxName) { + this.hWldxName = hWldxName; + } + + public String gethUserStr() { + return hUserStr; + } + + public void sethUserStr(String hUserStr) { + this.hUserStr = hUserStr; + } + + public String gethUserName() { + return hUserName; + } + + public void sethUserName(String hUserName) { + this.hUserName = hUserName; + } + + public String gethSupplierStr() { + return hSupplierStr; + } + + public void sethSupplierStr(String hSupplierStr) { + this.hSupplierStr = hSupplierStr; + } + + public String gethSupplierName() { + return hSupplierName; + } + + public void sethSupplierName(String hSupplierName) { + this.hSupplierName = hSupplierName; + } + + public String gethDeptStr() { + return hDeptStr; + } + + public void sethDeptStr(String hDeptStr) { + this.hDeptStr = hDeptStr; + } + + public String gethDeptName() { + return hDeptName; + } + + public void sethDeptName(String hDeptName) { + this.hDeptName = hDeptName; + } + + public String gethCustomerStr() { + return hCustomerStr; + } + + public void sethCustomerStr(String hCustomerStr) { + this.hCustomerStr = hCustomerStr; + } + + public String gethCustomerName() { + return hCustomerName; + } + + public void sethCustomerName(String hCustomerName) { + this.hCustomerName = hCustomerName; + } + + public String gethCurrenvyStr() { + return hCurrenvyStr; + } + + public void sethCurrenvyStr(String hCurrenvyStr) { + this.hCurrenvyStr = hCurrenvyStr; + } + + public String gethCurrenvyName() { + return hCurrenvyName; + } + + public void sethCurrenvyName(String hCurrenvyName) { + this.hCurrenvyName = hCurrenvyName; + } + + public String gethRemarkStr() { + return hRemarkStr; + } + + public void sethRemarkStr(String hRemarkStr) { + this.hRemarkStr = hRemarkStr; + } + + public String gethRemarkName() { + return hRemarkName; + } + + public void sethRemarkName(String hRemarkName) { + this.hRemarkName = hRemarkName; + } + + public String gethClearingFormStr() { + return hClearingFormStr; + } + + public void sethClearingFormStr(String hClearingFormStr) { + this.hClearingFormStr = hClearingFormStr; + } + + public String gethClearingFormName() { + return hClearingFormName; + } + + public void sethClearingFormName(String hClearingFormName) { + this.hClearingFormName = hClearingFormName; + } + + public String gethDef1() { + return hDef1; + } + + public void sethDef1(String hDef1) { + this.hDef1 = hDef1; + } + + public String gethDef2() { + return hDef2; + } + + public void sethDef2(String hDef2) { + this.hDef2 = hDef2; + } + + public String gethDef3() { + return hDef3; + } + + public void sethDef3(String hDef3) { + this.hDef3 = hDef3; + } + + public String gethDef4() { + return hDef4; + } + + public void sethDef4(String hDef4) { + this.hDef4 = hDef4; + } + + public String gethDef5() { + return hDef5; + } + + public void sethDef5(String hDef5) { + this.hDef5 = hDef5; + } + + public String gethDef6() { + return hDef6; + } + + public void sethDef6(String hDef6) { + this.hDef6 = hDef6; + } + + public String gethDef7() { + return hDef7; + } + + public void sethDef7(String hDef7) { + this.hDef7 = hDef7; + } + + public String gethDef8() { + return hDef8; + } + + public void sethDef8(String hDef8) { + this.hDef8 = hDef8; + } + + public String gethDef9() { + return hDef9; + } + + public void sethDef9(String hDef9) { + this.hDef9 = hDef9; + } + + public String gethDef10() { + return hDef10; + } + + public void sethDef10(String hDef10) { + this.hDef10 = hDef10; + } + + public String getbKxxzStr() { + return bKxxzStr; + } + + public void setbKxxzStr(String bKxxzStr) { + this.bKxxzStr = bKxxzStr; + } + + public String getbKxxzName() { + return bKxxzName; + } + + public void setbKxxzName(String bKxxzName) { + this.bKxxzName = bKxxzName; + } + + public String getbYwlxStr() { + return bYwlxStr; + } + + public void setbYwlxStr(String bYwlxStr) { + this.bYwlxStr = bYwlxStr; + } + + public String getbYwlxName() { + return bYwlxName; + } + + public void setbYwlxName(String bYwlxName) { + this.bYwlxName = bYwlxName; + } + + public String getbCurrencyStr() { + return bCurrencyStr; + } + + public void setbCurrencyStr(String bCurrencyStr) { + this.bCurrencyStr = bCurrencyStr; + } + + public String getbCurrencyName() { + return bCurrencyName; + } + + public void setbCurrencyName(String bCurrencyName) { + this.bCurrencyName = bCurrencyName; + } + + public String getbRateStr() { + return bRateStr; + } + + public void setbRateStr(String bRateStr) { + this.bRateStr = bRateStr; + } + + public String getbRateName() { + return bRateName; + } + + public void setbRateName(String bRateName) { + this.bRateName = bRateName; + } + + public String getbYbjeStr() { + return bYbjeStr; + } + + public void setbYbjeStr(String bYbjeStr) { + this.bYbjeStr = bYbjeStr; + } + + public String getbYbjeName() { + return bYbjeName; + } + + public void setbYbjeName(String bYbjeName) { + this.bYbjeName = bYbjeName; + } + + public String getbBbjeStr() { + return bBbjeStr; + } + + public void setbBbjeStr(String bBbjeStr) { + this.bBbjeStr = bBbjeStr; + } + + public String getbBbjeName() { + return bBbjeName; + } + + public void setbBbjeName(String bBbjeName) { + this.bBbjeName = bBbjeName; + } + + public String getbZsxmStr() { + return bZsxmStr; + } + + public void setbZsxmStr(String bZsxmStr) { + this.bZsxmStr = bZsxmStr; + } + + public String getbZsxmName() { + return bZsxmName; + } + + public void setbZsxmName(String bZsxmName) { + this.bZsxmName = bZsxmName; + } + + public String getbZyStr() { + return bZyStr; + } + + public void setbZyStr(String bZyStr) { + this.bZyStr = bZyStr; + } + + public String getbZyName() { + return bZyName; + } + + public void setbZyName(String bZyName) { + this.bZyName = bZyName; + } + + public String getbExchangeStr() { + return bExchangeStr; + } + + public void setbExchangeStr(String bExchangeStr) { + this.bExchangeStr = bExchangeStr; + } + + public String getbExchangeRate() { + return bExchangeRate; + } + + public void setbExchangeRate(String bExchangeRate) { + this.bExchangeRate = bExchangeRate; + } + + public String getbExchangeName() { + return bExchangeName; + } + + public void setbExchangeName(String bExchangeName) { + this.bExchangeName = bExchangeName; + } + + public String getbBankStr() { + return bBankStr; + } + + public void setbBankStr(String bBankStr) { + this.bBankStr = bBankStr; + } + + public String getbBankNum() { + return bBankNum; + } + + public void setbBankNum(String bBankNum) { + this.bBankNum = bBankNum; + } + + public String getbBankName() { + return bBankName; + } + + public void setbBankName(String bBankName) { + this.bBankName = bBankName; + } + + public String getbDef1() { + return bDef1; + } + + public void setbDef1(String bDef1) { + this.bDef1 = bDef1; + } + + public String getbDef2() { + return bDef2; + } + + public void setbDef2(String bDef2) { + this.bDef2 = bDef2; + } + + public String getbDef3() { + return bDef3; + } + + public void setbDef3(String bDef3) { + this.bDef3 = bDef3; + } + + public String getbDef4() { + return bDef4; + } + + public void setbDef4(String bDef4) { + this.bDef4 = bDef4; + } + + public String getbDef5() { + return bDef5; + } + + public void setbDef5(String bDef5) { + this.bDef5 = bDef5; + } + + public String getbDef6() { + return bDef6; + } + + public void setbDef6(String bDef6) { + this.bDef6 = bDef6; + } + + public String getbDef7() { + return bDef7; + } + + public void setbDef7(String bDef7) { + this.bDef7 = bDef7; + } + + public String getbDef8() { + return bDef8; + } + + public void setbDef8(String bDef8) { + this.bDef8 = bDef8; + } + + public String getbDef9() { + return bDef9; + } + + public void setbDef9(String bDef9) { + this.bDef9 = bDef9; + } + + public String getbDef10() { + return bDef10; + } + + public void setbDef10(String bDef10) { + this.bDef10 = bDef10; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getModifyUser() { + return modifyUser; + } + + public void setModifyUser(String modifyUser) { + this.modifyUser = modifyUser; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.xml index 2e0b4747..f333af58 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/entity/FeConfBillTemplateEntity.xml @@ -456,7 +456,7 @@ now() , #{createUser} , #{modify_time} , - now() , + now() , #{modifyUser} , #{sts} , 'Y', diff --git a/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/service/impl/FeConfBillTemplateServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/service/impl/FeConfBillTemplateServiceImpl.java index 4d3b9037..c9b5ca39 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/service/impl/FeConfBillTemplateServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/finance/conf/billtemplate/service/impl/FeConfBillTemplateServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.lang.Assert; import com.hzya.frame.finance.conf.billtemplate.entity.FeConfBillTemplateEntity; import com.hzya.frame.finance.conf.billtemplate.dao.IFeConfBillTemplateDao; import com.hzya.frame.finance.conf.billtemplate.service.IFeConfBillTemplateService; +import com.hzya.frame.voucher.ae.comf.subject.entity.AeConfSubjectClassificationEntity; +import com.hzya.frame.voucher.ae.comf.subject.service.IAeConfSubjectClassificationService; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; @@ -11,7 +13,9 @@ import javax.annotation.Resource; import com.hzya.frame.basedao.service.impl.BaseService; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * (FeConfBillTemplate)表服务实现类 @@ -30,9 +34,66 @@ public class FeConfBillTemplateServiceImpl extends BaseService queryAll(FeConfBillTemplateEntity billTemplateEntity) { + //查询认领方案 + AeConfSubjectClassificationEntity aeConfSubjectClassificationEntity = new AeConfSubjectClassificationEntity(); + List classificationEntities = classificationService.queryAll(aeConfSubjectClassificationEntity); + Map classificationMap =new HashMap<>(); +// for (AeConfSubjectClassificationEntity classificationEntity : classificationEntities) { +// classificationMap.put(classificationEntity.getId(),classificationEntity.getName()); +// } + classificationEntities.forEach(index->{ + classificationMap.put(index.getId(),index.getName()); + }); + + List all = feConfBillTemplateDao.query(billTemplateEntity); + for (FeConfBillTemplateEntity feConfBillTemplateEntity : all) { + //hOrgName 财务组织取值 + feConfBillTemplateEntity.sethOrgName(classificationMap.get(feConfBillTemplateEntity.gethOrgStr())); + //hBillDateName 单据日期 + feConfBillTemplateEntity.sethBillDateName(classificationMap.get(feConfBillTemplateEntity.gethBillDateStr())); + // hWldxName 往来对象标识 + feConfBillTemplateEntity.sethWldxName(classificationMap.get(feConfBillTemplateEntity.gethWldxStr())); + // hUserName 人员 + feConfBillTemplateEntity.sethUserName(classificationMap.get(feConfBillTemplateEntity.gethUserStr())); + // hSupplierName 供应商 + feConfBillTemplateEntity.sethSupplierName(classificationMap.get(feConfBillTemplateEntity.gethSupplierStr())); + // hDeptName 部门 + feConfBillTemplateEntity.sethDeptName(classificationMap.get(feConfBillTemplateEntity.gethDeptStr())); + // hCustomerName 客户 + feConfBillTemplateEntity.sethCustomerName(classificationMap.get(feConfBillTemplateEntity.gethCustomerStr())); + // hCurrenvyName 币种 + feConfBillTemplateEntity.sethCurrenvyName(classificationMap.get(feConfBillTemplateEntity.gethCurrenvyStr())); + // hRemarkName 备注 + feConfBillTemplateEntity.sethRemarkName(classificationMap.get(feConfBillTemplateEntity.gethRemarkStr())); + // hClearingFormName 结算方式 + feConfBillTemplateEntity.sethClearingFormName(classificationMap.get(feConfBillTemplateEntity.gethClearingFormStr())); + // bKxxzName 款项性质 + feConfBillTemplateEntity.setbKxxzName(classificationMap.get(feConfBillTemplateEntity.getbKxxzStr())); + // bYwlxName 业务类型 + feConfBillTemplateEntity.setbYwlxName(classificationMap.get(feConfBillTemplateEntity.getbYwlxStr())); + // bCurrencyName 币种(明细行) + feConfBillTemplateEntity.setbCurrencyName(classificationMap.get(feConfBillTemplateEntity.getbCurrencyStr())); + // bRateName 税率 + feConfBillTemplateEntity.setbRateName(classificationMap.get(feConfBillTemplateEntity.getbRateStr())); + // bYbjeName 原币金额 + feConfBillTemplateEntity.setbYbjeName(classificationMap.get(feConfBillTemplateEntity.getbYbjeStr())); + // bBbjeName 本币金额 + feConfBillTemplateEntity.setbBbjeName(classificationMap.get(feConfBillTemplateEntity.getbBbjeStr())); + // bZsxmName 收支项目 + feConfBillTemplateEntity.setbZsxmName(classificationMap.get(feConfBillTemplateEntity.getbZsxmStr())); + // bZyName 摘要 + feConfBillTemplateEntity.setbZyName(classificationMap.get(feConfBillTemplateEntity.getbZyStr())); + // bExchangeName 汇率 + feConfBillTemplateEntity.setbExchangeName(classificationMap.get(feConfBillTemplateEntity.getbExchangeStr())); + // bBankName 银行账号 + feConfBillTemplateEntity.setbBankName(classificationMap.get(feConfBillTemplateEntity.getbBankStr())); + } return all; } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/coco/AutoClaimPlugin.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/coco/AutoClaimPlugin.java new file mode 100644 index 00000000..29e565f7 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/coco/AutoClaimPlugin.java @@ -0,0 +1,231 @@ +package com.hzya.frame.plugin.coco; + +import cn.hutool.core.lang.Assert; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.finance.claim.entity.FeClaimBillHEntity; +import com.hzya.frame.finance.claim.service.IClaimSKService; +import com.hzya.frame.finance.claim.service.IClaimService; +import com.hzya.frame.plugin.gm.SubjectAssBalancePlugin; +import com.hzya.frame.plugin.gm.constant.ProfilesActiveConstant; +import com.hzya.frame.plugin.gm.utils.SaveOrUpdateBusinessLogUtil; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; +import com.hzya.frame.voucher.ae.comf.bd.entity.vo.MdmDBQueryVO; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.locks.ReentrantLock; + +/** + * Created by zydd on 2025-09-04 08:51 + * 可靠自动认领插件 + * 1、自动查询流水 + * 2、自动认领 + * 3、记录成功,失败日志。 + */ +public class AutoClaimPlugin extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(AutoClaimPlugin.class); + + private static final ReentrantLock LOCK = new ReentrantLock(true); + + public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + + @Override + public void initialize() { + logger.info(getPluginLabel() + "执行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "执行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "coco.AutoClaimPlugin"; + } + + @Override + public String getPluginName() { + return "可靠:可靠自动认领插件"; + } + + @Override + public String getPluginLabel() { + return "可靠:可靠自动认领插件"; + } + + @Override + public String getPluginType() { + return "1"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + try { + logger.info("调用:" + getPluginName() + "-插件"); + String prod = "prod"; + String param = String.valueOf(requestJson.get("param")); + if (requestJson != null && ProfilesActiveConstant.TYPE_DATE.equals(requestJson.get("type"))) { + //按日期 + if (param != null && !"".equals(param)) { + String[] split = param.split("/"); + if (!(split.length == 2)) { + Assert.state(false, "时间格式传递不正确"); + } + Assert.notNull(split[0], "开始时间不能为空"); + Assert.notNull(split[1], "结束时间不能为空"); + start(split[0], split[1]); + } + } else if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(prod)) { + //默认 + start(); + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("executeBusiness方法抛出异常", e); + } + return BaseResult.getSuccessMessageEntity("插件执行成功"); + } + + + @Autowired + private IIntegrationTaskLivingDetailsDao iIntegrationTaskLivingDetailsDao; + @Autowired + private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private IClaimSKService claimSKService; + @Autowired + private IClaimService claimService; + + + public void start() { + // 获取当前日期和时间,时间偏移10分钟 + LocalDateTime now = LocalDateTime.now(); + String end = now.format(formatter); + String start = now.minusMinutes(5L).format(formatter); + logger.info("自动执行==> 可靠自动认领插件 时间区间:[{}]-[{}]", start, end); + try { + //查询流水数据 + MdmDBQueryVO mdmDBQueryVO = new MdmDBQueryVO(); + mdmDBQueryVO.setStartTime(start); + mdmDBQueryVO.setEndTime(end); + List> dataAll = claimSKService.queryFlowDataByDate(mdmDBQueryVO); + + //过滤日志 + List> filterMaps = filterData(dataAll); + + //认领 + implement(filterMaps); + + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + public void start(String startTime, String endTime) { + startTime += " 00:00:00"; + endTime += " 23:59:59"; + logger.info("自动执行 ==> 可靠自动认领插件 时间区间:[{}]-[{}]", startTime, endTime); + try { + //查询流水数据 + MdmDBQueryVO mdmDBQueryVO = new MdmDBQueryVO(); + mdmDBQueryVO.setStartTime(startTime); + mdmDBQueryVO.setEndTime(endTime); + List> dataAll = claimSKService.queryFlowDataByDate(mdmDBQueryVO); + + //过滤日志 + List> filterMaps = filterData(dataAll); + + //认领 + implement(filterMaps); + + + } catch (Exception e) { + e.printStackTrace(); + } + } + + + + /** + * 1、已经生成认领单的过滤 + * 2、 + */ + private List> filterData(List> dataAll) { + List> filterMaps = new ArrayList<>(); + + for (Map stringObjectMap : dataAll) { + try { + //流水唯一id + Object transeqno1 = stringObjectMap.get("transeqno1"); + if (transeqno1 == null) { + Assert.state(false,"流水id:{},未查询到流水数据,请检查流水唯一id",stringObjectMap.get("id")); + } + Object claimstatus = stringObjectMap.get("claimstatus").toString(); + if("Y".equals(claimstatus)){ + continue; + } + filterMaps.add(stringObjectMap); + }catch (Exception e){ + e.printStackTrace(); + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setId(UUID.randomUUID().toString()); + integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_N); + integrationTaskLivingDetailsEntity.setRootAppNewData(stringObjectMap.get("id").toString()); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(e.getMessage()); + integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); + integrationTaskLivingDetailsEntity.setBusinessDate(stringObjectMap.get("create_time").toString()); + integrationTaskLivingDetailsEntity.setRootAppPk(stringObjectMap.get("id").toString()); + integrationTaskLivingDetailsEntity.setRootAppBill(stringObjectMap.get("id").toString()); + integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); + iIntegrationTaskLivingDetailsDao.save(integrationTaskLivingDetailsEntity); + } + } + return filterMaps; + } + + /** + * 1、自动归集。 + * 2、自动认领 + */ + private void implement(List> filterMaps) { + for (Map flowMap : filterMaps) { + try{ + System.out.println(flowMap); + //自动归集 + MdmDBQueryVO mdmDBQueryVO = new MdmDBQueryVO(); + mdmDBQueryVO.setIds(flowMap.get("id").toString()); + FeClaimBillHEntity feClaimBillHEntity = claimSKService.autoCollection(mdmDBQueryVO); + + //自动认领 + claimService.generate(feClaimBillHEntity); + + }catch (Exception e){ + e.printStackTrace(); + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setId(UUID.randomUUID().toString()); + integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_N); + integrationTaskLivingDetailsEntity.setRootAppNewData(flowMap.get("id").toString()); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(e.getMessage()); + integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); + integrationTaskLivingDetailsEntity.setBusinessDate(flowMap.get("create_time").toString()); + integrationTaskLivingDetailsEntity.setRootAppPk(flowMap.get("transeqno1").toString()); + integrationTaskLivingDetailsEntity.setRootAppBill(flowMap.get("transeqno1").toString()); + integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); + iIntegrationTaskLivingDetailsDao.save(integrationTaskLivingDetailsEntity); + } + } + } + +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/coco/PufaFlowGTSPlugin.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/coco/PufaFlowGTSPlugin.java new file mode 100644 index 00000000..07c0a206 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/coco/PufaFlowGTSPlugin.java @@ -0,0 +1,140 @@ +package com.hzya.frame.plugin.coco; + +import cn.hutool.core.lang.Assert; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.finance.flow.entity.MdmKkBankflowGtsEntity; +import com.hzya.frame.finance.flow.entity.PuFaBankFlowGtsRequestVO; +import com.hzya.frame.finance.flow.entity.PuFaBankFlowGtsResponseVO; +import com.hzya.frame.finance.flow.service.IMdmKkBankflowGtsService; +import com.hzya.frame.plugin.gm.constant.ProfilesActiveConstant; +import com.hzya.frame.plugin.gm.utils.SaveOrUpdateBusinessLogUtil; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.concurrent.locks.ReentrantLock; + +/** + * Created by zydd on 2025-09-04 10:43 + * 账户明细查询(GTS) + * 接口统一识别码:OPC103100201000800005600 + */ +public class PufaFlowGTSPlugin extends PluginBaseEntity { + + Logger logger = LoggerFactory.getLogger(PufaFlowGTSPlugin.class); + + private static final ReentrantLock LOCK = new ReentrantLock(true); + + public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @Override + public void initialize() { + logger.info(getPluginLabel() + "执行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "执行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "coco.PufaFlowGTSPlugin"; + } + + @Override + public String getPluginName() { + return "可靠:浦发-账户明细查询插件"; + } + + @Override + public String getPluginLabel() { + return "可靠:浦发-账户明细查询插件"; + } + + @Override + public String getPluginType() { + return "1"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + try { + logger.info("调用:" + getPluginName() + "-插件"); + String prod = "prod"; + String param = String.valueOf(requestJson.get("param")); + if (requestJson != null && ProfilesActiveConstant.TYPE_DATE.equals(requestJson.get("type"))) { + //按日期 + if (param != null && !"".equals(param)) { + String[] split = param.split("/"); + if (!(split.length == 2)) { + Assert.state(false, "时间格式传递不正确"); + } + Assert.notNull(split[0], "开始时间不能为空"); + Assert.notNull(split[1], "结束时间不能为空"); + start(split[0], split[1]); + } + } else if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(prod)) { + //默认 + start(); + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("executeBusiness方法抛出异常", e); + } + return BaseResult.getSuccessMessageEntity("插件执行成功"); + } + + @Autowired + private IIntegrationTaskLivingDetailsDao iIntegrationTaskLivingDetailsDao; + @Autowired + private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private IMdmKkBankflowGtsService bankflowGtsService; + + public void start() { + // 获取当前日期和时间,时间偏移10分钟 + LocalDateTime now = LocalDateTime.now(); + String end = now.format(formatter); + String start = now.minusMinutes(5L).format(formatter); + logger.info("自动执行==> 浦发-账户明细查询插件 时间区间:[{}]-[{}]", start, end); + try { + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 日期格式:20250801 + */ + public void start(String startTime, String endTime) { + try { + + PuFaBankFlowGtsRequestVO puFaBankFlowGtsRequestVO = new PuFaBankFlowGtsRequestVO(); + puFaBankFlowGtsRequestVO.setClientNo("2678987519"); + puFaBankFlowGtsRequestVO.setPyAcctNo("88010078801000025122"); + puFaBankFlowGtsRequestVO.setStartDate(startTime); + puFaBankFlowGtsRequestVO.setEndDate(endTime); + puFaBankFlowGtsRequestVO.setAcptNum("1"); + puFaBankFlowGtsRequestVO.setQueryNum("20"); + PuFaBankFlowGtsResponseVO responseVO = bankflowGtsService.queryGts(puFaBankFlowGtsRequestVO); + + //全部明细 + List AllAcctDtlInfo = responseVO.getAcctDtlInfo(); + + //过滤日志 + + + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/IMdmDBQueryVODAO.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/IMdmDBQueryVODAO.java index 3d32f5e1..ac4066f9 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/IMdmDBQueryVODAO.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/IMdmDBQueryVODAO.java @@ -27,4 +27,5 @@ public interface IMdmDBQueryVODAO extends IBaseDao { List queryBdCurrtype(BdCurrtypeVO entity); List> queryMdmDateBySK(MdmDBQueryVO entity); + List> queryFlowDataByDate(MdmDBQueryVO entity); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/impl/MdmDBQueryVODAOImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/impl/MdmDBQueryVODAOImpl.java index 294a7242..145db274 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/impl/MdmDBQueryVODAOImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/dao/impl/MdmDBQueryVODAOImpl.java @@ -82,4 +82,10 @@ public class MdmDBQueryVODAOImpl extends MybatisGenericDao List> maps = (List>) selectList("com.hzya.frame.voucher.ae.comf.bd.dao.impl.MdmDBQueryVODAOImpl.queryMdmDateBySK", entity); return maps; } + + @Override + public List> queryFlowDataByDate(MdmDBQueryVO entity) { + List> maps = (List>) selectList("com.hzya.frame.voucher.ae.comf.bd.dao.impl.MdmDBQueryVODAOImpl.queryFlowDataByDate", entity); + return maps; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/entity/vo/MdmDBQueryVO.xml b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/entity/vo/MdmDBQueryVO.xml index c30e0977..db58bd1e 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/entity/vo/MdmDBQueryVO.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/entity/vo/MdmDBQueryVO.xml @@ -275,5 +275,30 @@ + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/subject/service/impl/AeConfSubjectClassificationServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/subject/service/impl/AeConfSubjectClassificationServiceImpl.java index d6e1e40d..3b1e83f1 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/subject/service/impl/AeConfSubjectClassificationServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/subject/service/impl/AeConfSubjectClassificationServiceImpl.java @@ -43,7 +43,7 @@ public class AeConfSubjectClassificationServiceImpl extends BaseService queryAll(AeConfSubjectClassificationEntity entity) { - Assert.notNull(entity.getAeConfModuleId(), "查询科目认领方案时,业务模块id不允许为空。"); +// Assert.notNull(entity.getAeConfModuleId(), "查询科目认领方案时,业务模块id不允许为空。"); List query = aeConfSubjectClassificationDao.query(entity); for (AeConfSubjectClassificationEntity aeConfSubjectClassificationEntity : query) { //查询科目对照子表 diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/coco/pluginCfg.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/pluginCfg.xml new file mode 100644 index 00000000..ba493415 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/pluginCfg.xml @@ -0,0 +1,6 @@ + + +CocoPlugin +CocoPlugin插件 +20250901 + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-dao.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-dao.xml new file mode 100644 index 00000000..2ff37102 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-dao.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-plugin.xml new file mode 100644 index 00000000..e740643b --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-plugin.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-service.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-service.xml new file mode 100644 index 00000000..2ff37102 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/coco/spring/spring-buildpackage-service.xml @@ -0,0 +1,5 @@ + + + + +