From d661158240d806deedaa711c88daf3e9edd83780 Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Fri, 20 Sep 2024 14:23:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=B7=BB=E5=8A=A0=E5=85=B3?= =?UTF-8?q?=E4=BA=8E=E5=AD=97=E7=AC=A6=E4=B8=B2=E3=80=81=E5=AD=97=E8=8A=82?= =?UTF-8?q?=E5=92=8Cvoid=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在NumPy文档中,常规介绍部分现在包含了关于字符串、字节和void数据类型的信息,以及现有的数值类型。 --- .../plugin/lets/constant/OverallConstant.java | 2 + .../frame/plugin/lets/dao/IBdCostsubjDao.java | 14 + .../lets/dao/impl/BdCostsubjDaoImpl.java | 16 + .../plugin/lets/entity/BdCostsubjEntity.java | 331 ++++++++++++++++++ .../plugin/lets/entity/BdCostsubjEntity.xml | 266 ++++++++++++++ .../plugin/purchase/ProxyPurchaseReturn.java | 4 +- .../ProxyPurchaseWarehousWarehouse.java | 2 +- .../sales/SoSaleOutPluginInitializerToB.java | 17 +- .../sales/SoSaleOutPluginInitializerToC.java | 16 + .../SoSaleReturnPluginInitializerToB.java | 18 +- .../SoSaleReturnPluginInitializerToC.java | 13 + .../lets/u8cdto/SalesInvoiceBodyDto.java | 2 + .../plugin/lets/util/QueryU8CEntityUtil.java | 100 +++++- .../util/TocOrderBasicArchivesCacheUtil.java | 2 +- .../util/TocReturnBasicArchivesCacheUtil.java | 2 +- .../plugin/lets/spring/spring-lets-dao.xml | 2 + .../lets/util/QueryU8CEntityUtilTest.java | 62 ++++ 17 files changed, 849 insertions(+), 20 deletions(-) create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/IBdCostsubjDao.java create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/impl/BdCostsubjDaoImpl.java create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.java create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.xml create mode 100644 buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java index 07ed8cc7..5ed82eac 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java @@ -91,6 +91,7 @@ public class OverallConstant { devOverAll.put("u8c自定义项档案-店铺主键", "0001A110000000000EBX"); devOverAll.put("u8c自定义项档案-平台主键", "0001A110000000000EEU"); + devOverAll.put("u8c自定义项档案-存货分类对应收支项目主键", "0001A210000000008FBN"); //中台地址 devOverAll.put("u8c_url", "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"); @@ -117,6 +118,7 @@ public class OverallConstant { prodOverAll.put("u8c自定义项档案-店铺主键", "0001A110000000000EBX"); prodOverAll.put("u8c自定义项档案-平台主键", "0001A110000000000EEU"); + prodOverAll.put("u8c自定义项档案-存货分类对应收支项目主键", "0001A210000000008FBN"); //中台地址 prodOverAll.put("u8c_url", "http://127.0.0.1:8081/kangarooDataCenterV3/entranceController/externalCallInterface"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/IBdCostsubjDao.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/IBdCostsubjDao.java new file mode 100644 index 00000000..bda127bf --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/IBdCostsubjDao.java @@ -0,0 +1,14 @@ +package com.hzya.frame.plugin.lets.dao; + +import com.hzya.frame.plugin.lets.entity.BdCostsubjEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * (BD_COSTSUBJ: table)表数据库访问层 + * + * @author makejava + * @since 2024-09-20 13:39:58 + */ +public interface IBdCostsubjDao extends IBaseDao { + +} \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/impl/BdCostsubjDaoImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/impl/BdCostsubjDaoImpl.java new file mode 100644 index 00000000..0246ebfc --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dao/impl/BdCostsubjDaoImpl.java @@ -0,0 +1,16 @@ +package com.hzya.frame.plugin.lets.dao.impl; + +import com.hzya.frame.plugin.lets.entity.BdCostsubjEntity; +import com.hzya.frame.plugin.lets.dao.IBdCostsubjDao; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +/** + * (BdCostsubj)表数据库访问层 + * + * @author makejava + * @since 2024-09-20 13:39:58 + */ +public class BdCostsubjDaoImpl extends MybatisGenericDao implements IBdCostsubjDao{ + +} + diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.java new file mode 100644 index 00000000..f49152f7 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.java @@ -0,0 +1,331 @@ +package com.hzya.frame.plugin.lets.entity; + +import com.hzya.frame.web.entity.BaseEntity; + +/** + * (BdCostsubj)实体类 + * + * @author makejava + * @since 2024-09-20 13:39:58 + */ +public class BdCostsubjEntity extends BaseEntity { + + private String costcode; + private String costname; + private String creatorcorp; + private String def1; + private String def2; + private String def3; + private String def4; + private String def5; + private String dr; + private String free1; + private String free10; + private String free2; + private String free3; + private String free4; + private String free5; + private String free6; + private String free7; + private String free8; + private String free9; + private String incomeflag; + private String ioflag; + private String isactiveappr; + private String isbalancesubj; + private String isexpensepro; + private String memo; + private String mnecode; + private String outflag; + private String pkBalancesubj; + private String pkCashflow; + private String pkCorp; + private String pkCostsubj; + private String pkParent; + private String pkSource; + private String sealflag; + private String ts; + + + public String getCostcode() { + return costcode; + } + + public void setCostcode(String costcode) { + this.costcode = costcode; + } + + public String getCostname() { + return costname; + } + + public void setCostname(String costname) { + this.costname = costname; + } + + public String getCreatorcorp() { + return creatorcorp; + } + + public void setCreatorcorp(String creatorcorp) { + this.creatorcorp = creatorcorp; + } + + public String getDef1() { + return def1; + } + + public void setDef1(String def1) { + this.def1 = def1; + } + + public String getDef2() { + return def2; + } + + public void setDef2(String def2) { + this.def2 = def2; + } + + public String getDef3() { + return def3; + } + + public void setDef3(String def3) { + this.def3 = def3; + } + + public String getDef4() { + return def4; + } + + public void setDef4(String def4) { + this.def4 = def4; + } + + public String getDef5() { + return def5; + } + + public void setDef5(String def5) { + this.def5 = def5; + } + + public String getDr() { + return dr; + } + + public void setDr(String dr) { + this.dr = dr; + } + + public String getFree1() { + return free1; + } + + public void setFree1(String free1) { + this.free1 = free1; + } + + public String getFree10() { + return free10; + } + + public void setFree10(String free10) { + this.free10 = free10; + } + + public String getFree2() { + return free2; + } + + public void setFree2(String free2) { + this.free2 = free2; + } + + public String getFree3() { + return free3; + } + + public void setFree3(String free3) { + this.free3 = free3; + } + + public String getFree4() { + return free4; + } + + public void setFree4(String free4) { + this.free4 = free4; + } + + public String getFree5() { + return free5; + } + + public void setFree5(String free5) { + this.free5 = free5; + } + + public String getFree6() { + return free6; + } + + public void setFree6(String free6) { + this.free6 = free6; + } + + public String getFree7() { + return free7; + } + + public void setFree7(String free7) { + this.free7 = free7; + } + + public String getFree8() { + return free8; + } + + public void setFree8(String free8) { + this.free8 = free8; + } + + public String getFree9() { + return free9; + } + + public void setFree9(String free9) { + this.free9 = free9; + } + + public String getIncomeflag() { + return incomeflag; + } + + public void setIncomeflag(String incomeflag) { + this.incomeflag = incomeflag; + } + + public String getIoflag() { + return ioflag; + } + + public void setIoflag(String ioflag) { + this.ioflag = ioflag; + } + + public String getIsactiveappr() { + return isactiveappr; + } + + public void setIsactiveappr(String isactiveappr) { + this.isactiveappr = isactiveappr; + } + + public String getIsbalancesubj() { + return isbalancesubj; + } + + public void setIsbalancesubj(String isbalancesubj) { + this.isbalancesubj = isbalancesubj; + } + + public String getIsexpensepro() { + return isexpensepro; + } + + public void setIsexpensepro(String isexpensepro) { + this.isexpensepro = isexpensepro; + } + + public String getMemo() { + return memo; + } + + public void setMemo(String memo) { + this.memo = memo; + } + + public String getMnecode() { + return mnecode; + } + + public void setMnecode(String mnecode) { + this.mnecode = mnecode; + } + + public String getOutflag() { + return outflag; + } + + public void setOutflag(String outflag) { + this.outflag = outflag; + } + + public String getPkBalancesubj() { + return pkBalancesubj; + } + + public void setPkBalancesubj(String pkBalancesubj) { + this.pkBalancesubj = pkBalancesubj; + } + + public String getPkCashflow() { + return pkCashflow; + } + + public void setPkCashflow(String pkCashflow) { + this.pkCashflow = pkCashflow; + } + + public String getPkCorp() { + return pkCorp; + } + + public void setPkCorp(String pkCorp) { + this.pkCorp = pkCorp; + } + + public String getPkCostsubj() { + return pkCostsubj; + } + + public void setPkCostsubj(String pkCostsubj) { + this.pkCostsubj = pkCostsubj; + } + + public String getPkParent() { + return pkParent; + } + + public void setPkParent(String pkParent) { + this.pkParent = pkParent; + } + + public String getPkSource() { + return pkSource; + } + + public void setPkSource(String pkSource) { + this.pkSource = pkSource; + } + + public String getSealflag() { + return sealflag; + } + + public void setSealflag(String sealflag) { + this.sealflag = sealflag; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + +} + diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.xml new file mode 100644 index 00000000..52899004 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdCostsubjEntity.xml @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + COSTCODE + ,COSTNAME + ,CREATORCORP + ,DEF1 + ,DEF2 + ,DEF3 + ,DEF4 + ,DEF5 + ,DR + ,FREE1 + ,FREE10 + ,FREE2 + ,FREE3 + ,FREE4 + ,FREE5 + ,FREE6 + ,FREE7 + ,FREE8 + ,FREE9 + ,INCOMEFLAG + ,IOFLAG + ,ISACTIVEAPPR + ,ISBALANCESUBJ + ,ISEXPENSEPRO + ,MEMO + ,MNECODE + ,OUTFLAG + ,PK_BALANCESUBJ + ,PK_CASHFLOW + ,PK_CORP + ,PK_COSTSUBJ + ,PK_PARENT + ,PK_SOURCE + ,SEALFLAG + ,TS + + + + + + + + + + + + + + diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java index e0390b15..5266e332 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java @@ -579,8 +579,8 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size()); } - //采购部门:其他 - String deptName = "其他部门"; + //采购部门:业务部门 + String deptName = "业务部门"; BdDeptdocEntity bdDeptdocEntity = new BdDeptdocEntity(); bdDeptdocEntity.setDataSourceCode("lets_u8c"); bdDeptdocEntity.setDr(0); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java index d98e336a..d4a201ee 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java @@ -589,7 +589,7 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size()); } - //采购部门:其他 + //采购部门:业务部门 String deptName = "业务部门"; BdDeptdocEntity bdDeptdocEntity = new BdDeptdocEntity(); bdDeptdocEntity.setDataSourceCode("lets_u8c"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java index be9fa17c..739fa228 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java @@ -102,6 +102,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { private static final String PROD_FILED = "prod"; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { long startMillis = System.currentTimeMillis(); @@ -779,6 +782,10 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { isblargessflag = true; } + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); + SaleorderRequestChildrenDto saleorderRequestChildrenDto = new SaleorderRequestChildrenDto(); saleorderRequestChildrenDto.setBlargessflag(isblargessflag);//是否赠品 saleorderRequestChildrenDto.setCadvisecalbodyid(bdCalbodyEntity.getPkCalbody());//发货库存组织 @@ -807,6 +814,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { //TODO 先不传,抛出长度异常,后续再改 // saleorderRequestChildrenDto.setVdef19(header.getCode());//原单单号 saleorderRequestChildrenDto.setVdef20(detailsDto.getId());//原单明细主键 + + saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto); } //记录成功 @@ -1022,7 +1032,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { //业务部门 //2024年8月14日 10:38:37 已经和佳妮确认 - String deptName = "其他部门"; + String deptName = "业务部门"; BdDeptdocEntity bdDeptdocEntity = new BdDeptdocEntity(); bdDeptdocEntity.setDataSourceCode("lets_u8c"); bdDeptdocEntity.setDr(0); @@ -1778,6 +1788,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { IcGeneralBEntity sourceDocuments = findSourceDocuments(header, detailsDto, soSaleorderBEntityList, icGeneralBEntityList, extIntegrationTaskLivingDetailsQueryVos); //查找来源销售订单明细行 SoSaleorderBEntity sourceDocumentsV2 = findSourceDocumentsV2(header, detailsDto, soSaleorderBEntityList, extIntegrationTaskLivingDetailsQueryVos); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); BigDecimal noriginalcurtaxprice = null;//含税单价 try { @@ -1817,6 +1830,8 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { // salesInvoiceBodyDto.setCsaleid("1009A2100000000004WK");//销售主表id // salesInvoiceBodyDto.setCunitid("0001A210000000000EYM");//主计量单位 // salesInvoiceBodyDto.setCupsourcebillbodyid("1009A2100000000004R3");//上层来源单据行 + salesInvoiceBodyDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + salesInvoiceBodyDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); salesInvoiceBodyDtoList.add(salesInvoiceBodyDto); } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index eb6c5d8a..12064c06 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -98,6 +98,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { private static final String TRAN = "tran"; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { long startMillis = System.currentTimeMillis(); @@ -812,6 +815,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { // BdTaxitemsEntity bdTaxitemsEntity1 = queryBdTaxitems(bdInvbasdocEntity.getInvcode()); BdTaxitemsEntity bdTaxitemsEntity1 = sonDetailsDto.getBdTaxitemsEntity(); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); + String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString(); BigDecimal noriginalcurprice = null;//无税单价 BigDecimal noriginalcurmny = null;//无税金额 @@ -861,6 +868,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率 // saleorderRequestChildrenDto.setCreccalbodyid(bdCalbodyEntity1.getPkCalbody());//收货库存组织:2024年8月7日 16:21:48 和佳妮、道品一起测试,收货库存组织、收货仓库 是不需要传递的 // saleorderRequestChildrenDto.setCrecwareid(bdStordocEntity1.getPkStordoc());//收货仓库 + saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto); //销售订单单据推送到u8c @@ -1575,6 +1584,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { List saleorderRequestChildrenDtoList = new ArrayList<>(); saleorderRequestDto.setChildrenvo(saleorderRequestChildrenDtoList); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); + String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString(); BigDecimal noriginalcurprice = null;//无税单价 BigDecimal noriginalcurmny = null;//无税金额 @@ -1623,6 +1636,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率 // saleorderRequestChildrenDto.setCreccalbodyid(bdCalbodyEntity1.getPkCalbody());//收货库存组织:2024年8月7日 16:21:48 和佳妮、道品一起测试,收货库存组织、收货仓库 是不需要传递的 // saleorderRequestChildrenDto.setCrecwareid(bdStordocEntity1.getPkStordoc());//收货仓库 + + saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto); //销售订单单据推送到u8c diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index ab66a1cd..faa9dd7b 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -64,6 +64,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { @Autowired private IBdInvbasdocDao iBdInvbasdocDao; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -748,6 +751,10 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString(); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); + // 如果是海外的店铺,则税率为零 String exportVaue = ExportConstant.exportConstant.get(header.getStoreCode()); if (exportVaue != null) { @@ -802,6 +809,8 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价 saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率 saleorderRequestChildrenDto.setVdef20(stockinB.getId());//原单明细主键 + saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto); } //记录成功 @@ -979,7 +988,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { //业务部门 //2024年8月14日 10:38:37 已经和佳妮确认 - String deptName = "其他部门"; + String deptName = "业务部门"; BdDeptdocEntity bdDeptdocEntity = new BdDeptdocEntity(); bdDeptdocEntity.setDataSourceCode("lets_u8c"); bdDeptdocEntity.setDr(0); @@ -1733,6 +1742,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { IcGeneralBEntity sourceDocuments = findSourceDocuments(header, stockinB, soSaleorderBEntityList, icGeneralBEntityList, extIntegrationTaskLivingDetailsQueryVos); //查找来源销售订单明细行 SoSaleorderBEntity sourceDocumentsV2 = findSourceDocumentsV2(header, stockinB, soSaleorderBEntityList, extIntegrationTaskLivingDetailsQueryVos); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); BigDecimal noriginalcurtaxprice = null;//含税单价 try { @@ -1761,12 +1773,14 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { salesInvoiceBodyDto.setCupsourcebillbodyid(sourceDocuments.getCgeneralbid());//上层来源明细行主键 salesInvoiceBodyDto.setCupsourcebillcode(icGeneralHEntity.getVbillcode());//直接来源单据号 salesInvoiceBodyDto.setCupsourcebillid(icGeneralHEntity.getCgeneralhid());//来源主表主键 + salesInvoiceBodyDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + salesInvoiceBodyDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); salesInvoiceBodyDtoList.add(salesInvoiceBodyDto); } SalesInvoiceDto salesInvoiceDto = new SalesInvoiceDto(); salesInvoiceDto.setParentvo(salesInvoiceHeadDto); salesInvoiceDto.setChildrenvo(salesInvoiceBodyDtoList); - + List salesInvoiceDtoList = new ArrayList<>(); salesInvoiceDtoList.add(salesInvoiceDto); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index 021780a8..1724d9fb 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -64,6 +64,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { private static final String PROD_FILED = "prod"; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -656,6 +659,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { BdInvbasdocEntity bdInvbasdocEntity = oldValue.get(0).getBdInvbasdocEntity(); //根据存货基础档案编码,查询当前存货的税率 BdTaxitemsEntity bdTaxitemsEntity1 = oldValue.get(0).getBdTaxitemsEntity(); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString(); BigDecimal noriginalcurprice = null;//无税单价 @@ -702,6 +708,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价 saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价 saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率 + saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto); //销售订单单据推送到u8c @@ -833,6 +841,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { BdInvbasdocEntity bdInvbasdocEntity = oldValue.get(0).getBdInvbasdocEntity(); //根据存货基础档案编码,查询当前存货的税率 BdTaxitemsEntity bdTaxitemsEntity1 = oldValue.get(0).getBdTaxitemsEntity(); + //查询收支项目 + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString(); BigDecimal noriginalcurprice = null;//无税单价 @@ -879,6 +890,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价 saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价 saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率 + saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目 + saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj()); saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto); //销售订单单据推送到u8c diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/SalesInvoiceBodyDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/SalesInvoiceBodyDto.java index f82ea894..46ea1725 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/SalesInvoiceBodyDto.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/SalesInvoiceBodyDto.java @@ -49,4 +49,6 @@ public class SalesInvoiceBodyDto { private String creceipttype; private String csaleid; private String cunitid; + private String vdef2; + private String pk_defdoc2; } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java index a37e8329..9b007d7a 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java @@ -1,14 +1,10 @@ package com.hzya.frame.plugin.lets.util; +import cn.hutool.core.lang.Assert; +import com.hzya.frame.plugin.lets.constant.OverallConstant; import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; -import com.hzya.frame.plugin.lets.dao.IBdCorpDao; -import com.hzya.frame.plugin.lets.dao.IBdInvbasdocDao; -import com.hzya.frame.plugin.lets.dao.IBdInvmandocDao; -import com.hzya.frame.plugin.lets.dao.IBdStordocDao; -import com.hzya.frame.plugin.lets.entity.BdCorpEntity; -import com.hzya.frame.plugin.lets.entity.BdInvbasdocEntity; -import com.hzya.frame.plugin.lets.entity.BdInvmandocEntity; -import com.hzya.frame.plugin.lets.entity.BdStordocEntity; +import com.hzya.frame.plugin.lets.dao.*; +import com.hzya.frame.plugin.lets.entity.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -74,10 +70,11 @@ public class QueryU8CEntityUtil { /** * 根据仓库编码查询仓库 + * * @param storCode * @return */ - public BdStordocEntity queryBdStordocByCode(String storCode){ + public BdStordocEntity queryBdStordocByCode(String storCode) { BdStordocEntity entity = new BdStordocEntity(); entity.setDr(0L); entity.setStorcode(storCode); @@ -89,12 +86,14 @@ public class QueryU8CEntityUtil { return null; } } + /** * 根据仓库主键查询仓库 + * * @param pkStordoc * @return */ - public BdStordocEntity queryBdStordocByPk(String pkStordoc){ + public BdStordocEntity queryBdStordocByPk(String pkStordoc) { BdStordocEntity entity = new BdStordocEntity(); entity.setDr(0L); entity.setPkStordoc(pkStordoc); @@ -106,12 +105,14 @@ public class QueryU8CEntityUtil { return null; } } + /** * 根据仓库名称查询仓库 + * * @param StorName * @return */ - public BdStordocEntity queryBdStordocByNamek(String StorName){ + public BdStordocEntity queryBdStordocByNamek(String StorName) { BdStordocEntity entity = new BdStordocEntity(); entity.setDr(0L); entity.setStorname(StorName); @@ -123,13 +124,15 @@ public class QueryU8CEntityUtil { return null; } } + /** * 根据仓库编码+公司编码查询仓库 + * * @param storCode * @param pkCorp * @return */ - public BdStordocEntity queryBdStordocByCodeAndPkCorp(String storCode,String pkCorp){ + public BdStordocEntity queryBdStordocByCodeAndPkCorp(String storCode, String pkCorp) { BdStordocEntity entity = new BdStordocEntity(); entity.setDr(0L); entity.setStorcode(storCode); @@ -204,4 +207,77 @@ public class QueryU8CEntityUtil { ////////////////////////////////////////////////////////////////////////////////////////存货管理档案 + + ////////////////////////////////////////////////////////////////////////////////////////存货分类开始 + @Autowired + private IBdInvclDao iBdInvclDao; + + /** + * 根据存货,查询对应的存货分类 + * + * @author liuyang + */ + public BdInvclEntity queryBdInvbasdocByBdInvcl(BdInvbasdocEntity bdInvbasdocEntity) throws Exception { + Assert.notNull(bdInvbasdocEntity, "bdInvbasdocEntity不能为空"); + String pkInvcl = bdInvbasdocEntity.getPkInvcl(); + Assert.notNull(pkInvcl, "存货:{},对应的存货分类主键不能为空!", bdInvbasdocEntity.getInvcode()); + Assert.state(!"".equals(pkInvcl), "存货:{},对应的存货分类主键不能为空!", bdInvbasdocEntity.getInvcode()); + + BdInvclEntity bdInvclEntity = new BdInvclEntity(); + bdInvclEntity.setPkInvcl(pkInvcl); + bdInvclEntity.setDr(0); + bdInvclEntity.setDataSourceCode("lets_u8c"); + List bdInvclEntityList = iBdInvclDao.query(bdInvclEntity); + if (bdInvclEntityList == null || bdInvclEntityList.size() == 0) { + Assert.state(false, "根据存货分类主键,无法查询到对应的U8C存货分类档案!主键:{}", pkInvcl); + } + return bdInvclEntityList.get(0); + } + ////////////////////////////////////////////////////////////////////////////////////////存货分类结束 + + + ////////////////////////////////////////////////////////////////////////////////////////存货分类-收支项目开始 + @Autowired + private IBdDefdocDao iBdDefdocDao; + + @Autowired + private IBdCostsubjDao iBdCostsubjDao; + + /** + * 根据,存货分类,查询对应的收支项目 + * + * @author liuyang + */ + public BdCostsubjEntity queryBdCostsubj(BdInvclEntity bdInvclEntity) { + Assert.notNull(bdInvclEntity, "bdInvclEntity不能为空!"); + + String platformZdyId2 = OverallConstant.getOverAllValue("u8c自定义项档案-存货分类对应收支项目主键"); + BdDefdocEntity bdDefdocEntity = new BdDefdocEntity(); + bdDefdocEntity.setDoccode(bdInvclEntity.getInvclasscode()); + bdDefdocEntity.setPkDefdoclist(platformZdyId2); + bdDefdocEntity.setDr(0); + bdDefdocEntity.setDataSourceCode("lets_u8c"); + List bdDefdocEntityList = iBdDefdocDao.query(bdDefdocEntity); + if (bdDefdocEntityList == null || bdDefdocEntityList.size() == 0) { + Assert.state(false, "在「存货分类对应收支项目」档案中无法匹配到自定义档案!存货分类编码:{} 自定义项档案编码:{}", bdInvclEntity.getInvclasscode(), platformZdyId2); + } else if (bdDefdocEntityList.size() >= 2) { + Assert.state(false, "在「存货分类对应收支项目」档案中匹配到{}个自定义档案!存在歧义! 存货分类编码:{} 自定义项档案编码:{}", bdDefdocEntityList.size(), bdInvclEntity.getInvclasscode(), platformZdyId2); + } + BdDefdocEntity bdDefdocEntity1 = bdDefdocEntityList.get(0); + String memo = bdDefdocEntity1.getMemo(); + Assert.notNull(memo, "在档案:「存货分类对应收支项目」,档案编码:{} 档案名称:{},对应的备注字段(记录收支项目编码)不能为空!", bdDefdocEntity1.getDoccode(), bdDefdocEntity1.getDocname()); + Assert.state(!"".equals(memo), "在档案:「存货分类对应收支项目」,档案编码:{} 档案名称:{},对应的备注字段(记录收支项目编码)不能为空!", bdDefdocEntity1.getDoccode(), bdDefdocEntity1.getDocname()); + + //查询对应的收知项目档案 + BdCostsubjEntity bdCostsubjEntity = new BdCostsubjEntity(); + bdCostsubjEntity.setDr("0"); + bdCostsubjEntity.setCostcode(memo); + bdCostsubjEntity.setDataSourceCode("lets_u8c"); + List bdCostsubjEntityList = iBdCostsubjDao.query(bdCostsubjEntity); + if (bdCostsubjEntityList == null || bdCostsubjEntityList.size() == 0) { + Assert.state(false, "无法匹配到U8C收支项目 编码:{}", memo); + } + return bdCostsubjEntityList.get(0); + } + ////////////////////////////////////////////////////////////////////////////////////////存货分类-收支项目结束 } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocOrderBasicArchivesCacheUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocOrderBasicArchivesCacheUtil.java index c46194cc..7ece065d 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocOrderBasicArchivesCacheUtil.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocOrderBasicArchivesCacheUtil.java @@ -167,7 +167,7 @@ public class TocOrderBasicArchivesCacheUtil { BdDeptdocEntity bdDeptdocEntity = new BdDeptdocEntity(); bdDeptdocEntity.setDataSourceCode("lets_u8c"); bdDeptdocEntity.setDr(0); - bdDeptdocEntity.setDeptname("其他部门"); + bdDeptdocEntity.setDeptname("业务部门"); List bdDeptdocEntityList = iBdDeptdocDao.query(bdDeptdocEntity); if (bdDeptdocEntityList != null && bdDeptdocEntityList.size() > 0) { for (int i = 0; i < bdDeptdocEntityList.size(); i++) { diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocReturnBasicArchivesCacheUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocReturnBasicArchivesCacheUtil.java index 20fa0535..7ddec782 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocReturnBasicArchivesCacheUtil.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/TocReturnBasicArchivesCacheUtil.java @@ -160,7 +160,7 @@ public class TocReturnBasicArchivesCacheUtil { BdDeptdocEntity bdDeptdocEntity = new BdDeptdocEntity(); bdDeptdocEntity.setDataSourceCode("lets_u8c"); bdDeptdocEntity.setDr(0); - bdDeptdocEntity.setDeptname("其他部门"); + bdDeptdocEntity.setDeptname("业务部门"); List bdDeptdocEntityList = iBdDeptdocDao.query(bdDeptdocEntity); if (bdDeptdocEntityList != null && bdDeptdocEntityList.size() > 0) { for (int i = 0; i < bdDeptdocEntityList.size(); i++) { diff --git a/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-dao.xml b/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-dao.xml index e3874f3b..e755ce59 100644 --- a/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-dao.xml +++ b/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-dao.xml @@ -59,4 +59,6 @@ + + \ No newline at end of file diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java new file mode 100644 index 00000000..0dc87e1c --- /dev/null +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java @@ -0,0 +1,62 @@ +package com.hzya.frame.plugin.lets.util; + +import com.alibaba.fastjson2.JSON; +import com.hzya.frame.WebappApplication; +import com.hzya.frame.plugin.lets.dao.IBdInvbasdocDao; +import com.hzya.frame.plugin.lets.dao.IBdInvclDao; +import com.hzya.frame.plugin.lets.entity.BdCostsubjEntity; +import com.hzya.frame.plugin.lets.entity.BdInvbasdocEntity; +import com.hzya.frame.plugin.lets.entity.BdInvclEntity; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.List; + +import static org.junit.Assert.*; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.util + * @Project:kangarooDataCenterV3 + * @name:QueryU8CEntityUtilTest + * @Date:2024/9/20 13:43 + * @Filename:QueryU8CEntityUtilTest + */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = WebappApplication.class) +public class QueryU8CEntityUtilTest { + + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + + @Autowired + private IBdInvclDao iBdInvclDao; + + @Autowired + private IBdInvbasdocDao iBdInvbasdocDao; + + @Test + public void queryBdInvbasdocByBdInvcl() throws Exception { +// BdInvclEntity bdInvclEntity = new BdInvclEntity(); +// bdInvclEntity.setInvclasscode("DL002"); +// bdInvclEntity.setDr(0); +// bdInvclEntity.setDataSourceCode("lets_u8c"); +// List query = iBdInvclDao.query(bdInvclEntity); + + //存货基本档案 +// String s = "6973391730792"; + BdInvbasdocEntity bdInvbasdocEntity = new BdInvbasdocEntity(); + bdInvbasdocEntity.setInvcodes("'6973391730792'"); + List bdInvbasdocEntities = iBdInvbasdocDao.queryBdInvbasdocByPkInvmandocV3(bdInvbasdocEntity); + BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntities.get(0)); + BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); + System.out.println(JSON.toJSONString(bdCostsubjEntity)); + } + +// @Test +// public void queryBdCostsubj() { +// } +} \ No newline at end of file