Browse Source

款项结转问题优化

zhanglei
God 2 years ago
parent
commit
a26fcd7645
  1. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java
  2. 52
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java
  3. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data.json
  4. 254
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/remarks.txt
  5. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/其他应收单的参数必填备注.xlsx

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java

@ -3,7 +3,7 @@ package com.yxt.anrui.fin.api.kingdee;
public enum KingDeeBillId {
AP_PAYABLE("AP_Payable", "应付单"),
AR_RECEIVABLE("AR_receivable", "应收单"),
OTHER_RECEIVABLE("OTHER_RECEIVABLE", "其他应收单"),
AR_OTHERRECEIVABLE("AR_OTHERRECEIVABLE", "其他应收单"),
AP_PAYBILL("AP_PAYBILL", "付款单"),
AR_RECEIVEBILL("AR_RECEIVEBILL", "收款单"),
STK_INSTOCK("STK_InStock", "采购入库单"),

52
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java

@ -25,53 +25,45 @@ public class OtherReceivableBillService extends FinKingDeeService {
public ResultBean otherReceivableBillService(OtherReceivable otherReceivable) {
ResultBean rb=ResultBean.fireFail();
//业务表的主表数据集合
/*Map<String,String> map_fEntityModel_=new HashMap<>();
Map<String,String> map_fEntityModel_=new HashMap<>();
//物料的数组集合
if(aRReceivable.getApplicationDate()==null){
return rb.setMsg("业务日期 不能为空");
if(otherReceivable.getBussDate()==null){
return rb.setMsg("业务日期不能为空");
}
//业务日期
map_fEntityModel_.put("FDATE",aRReceivable.getApplicationDate());
map_fEntityModel_.put("FCUSTOMERID",aRReceivable.getFcustomerid());
//供应商:FSUPPLIERID (必填项)
if(aRReceivable.getApplicationDate()==null){
return rb.setMsg("供应商 不能为空");
}
// map_fEntityModel_.put("FSUPPLIERID","010001");
List<ARReceivable.ScmApplyInboundVehicleDto> vehicleList = aRReceivable.getVehicleList()==null?new ArrayList<>(): aRReceivable.getVehicleList();
map_fEntityModel_.put("FDATE",otherReceivable.getBussDate());
List<OtherReceivable.CollectionDetailDto> collectionDetails = otherReceivable.getCollectionDetails()==null?new ArrayList<>(): otherReceivable.getCollectionDetails();
//准备 物料列表的数据
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForReceivableBill(vehicleList);
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForReceivableBill(collectionDetails);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = OtherReceivableBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
return accessKingDeeInterface(KingDeeBillId.AP_PAYABLE.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}*/
}
return rb;
}
/**
* 准备 物料列表的数据 ForReceivableBill
*/
public ResultBean<List<Map<String, String>>> createVehicleListsForReceivableBill(List<ARReceivable.ScmApplyInboundVehicleDto> vehicleList) {
public ResultBean<List<Map<String, String>>> createVehicleListsForReceivableBill(List<OtherReceivable.CollectionDetailDto> collectionDetails) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
ARReceivable.ScmApplyInboundVehicleDto f= vehicleList.get(i);
List<Map<String,String>> collectionDetailMap=new ArrayList<>();
for(int i = 0; i< collectionDetails.size(); i++){
OtherReceivable.CollectionDetailDto c = collectionDetails.get(i);
Map<String,String> m=new HashMap<>();
if(StringUtils.isBlank(f.getVinNo())){
return rb.setMsg("物料编码 不能为空");
if(StringUtils.isBlank(c.getDearDept())){
return rb.setMsg("承担部门不能为空");
}
if(StringUtils.isBlank(f.getRemarks())){
return rb.setMsg("物料名称 不能为空");
if(StringUtils.isBlank(c.getExTaxMoney())){
return rb.setMsg("不含税金额不能为空");
}
m.put("FMATERIALID",f.getVinNo());
m.put("FMaterialDesc",f.getRemarks());
m.put("FPRICEUNITID","liang");
vehicleListMap.add(m);
m.put("FCOSTDEPARTMENTID",c.getDearDept());
m.put("FNOTAXAMOUNTFOR",c.getExTaxMoney());
collectionDetailMap.add(m);
}
return rb.success().setData(vehicleListMap);
return rb.success().setData(collectionDetailMap);
}
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data.json

@ -1,4 +1,4 @@
{
"formId": "AR_receivable",
"formId": "AR_OTHERRECEIVABLE",
"data": "@KD_data"
}

254
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/remarks.txt

@ -1,6 +1,6 @@
一、请求参数说明:
1.formid:业务对象表单Id,字符串类型(必录)
2.data:Json格式数据(详情参考Json格式数据)(必录)
请求参数说明:
formid:业务对象表单Id,字符串类型(必录)
data:Json格式数据(详情参考Json格式数据)(必录)
2.1.Creator:创建者内码(非必录)
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key)
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key)
@ -13,209 +13,75 @@
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult)
2.11.Model:表单数据包,Json类型(必录)
五、字段说明:
销售单位:FSalUnitId
库存基本数量:FStockBaseQty
库存数量:FStockQty
销售基本数量:FSalBaseQty
库存基本分子:FStockBaseNum
销售基本分子:FSalBaseNum
计价基本分母:FPriceBaseDen
库存单位:FStockUnitId
工序号:FOPERNUMBER
序列号:FSEQNUMBER
工序计划号:FOPNO
作业:FPROCESSID
是否赠品:FIsFree
源单行内码:FSRCROWID
生产车间:FFPRODEPARTMENTID
销售基本数量(财务):FSALFINBASEQTY
已下推负数财务应收数量:FPushRedQty
销售发票价税合计期初:FIVINIALLAMOUNTFOR
客户物料编码:FCustMatID
车辆类型:F_PAEZ_BaseProperty
优惠额:F_PAEZ_Decimal
客户物料名称:FCustMatName
销售发票数量(基本单位)期初:FBUYIVINIBASICQTY
销售订单行内码:FORDERENTRYID
成本金额:FCOSTAMTSUM
销售数量:FSalQty
源单单据类型:FSOURCEBILLTYPEID
销售发票数量期初:FBUYIVINIQTY
已收款金额:FRECEIVEAMOUNT
销售订单行号:FORDERENTRYSEQ
业务单据内码:FBizID
业务单据分录内码:FBizEntryId
特殊核销金额:FSpecialAmountFor
业务单据类型:FBizBillTypeId
物料说明:FMaterialDesc
业务单据名称:FBizFormId
业务单据编号:FBizBillNo
特殊核销数量:FSpecialQTY
已开票核销数量:FOPENQTY_D
销售发票数量:FBUYIVQTY
销售发票数量(基本单位):FBUYIVBASICQTY
卖家代扣增值税税率:FTEMPTAXRATE
结算清单调拨类型:FSettleTran
已开票金额(下推审核反写、核销反写):FHadMatchAmountFor
已核销不含税金额:FMatchNotTaxAmtFor
卡片编码:FASSETID
字段说明:
银行:F_PAEZ_Base
银行帐号:F_PAEZ_Base1
转出往来单位类型:FOUTCONTACTTYPE
转出往来单位:FOUTCONTACTID
项目类别:F_PMZC_Assistant1
备注:FCOMMENT
费用项目名称:FCOSTNAME
费用项目编码:FCOSTID
资产名称:FAssetName
生产订单行号:FMOENTRYSEQ
生产订单编号:FMONUMBER
费用承担部门:FCOSTDEPARTMENTID
库存组织:FSTOCKORGID
关联出库数量(基本单位):FBaseStockOutJoinQty
发货上限(基本单位):FBaseDeliveryMaxQty
销售订单内码(删除):FSaleOrderID
控制发货数量:FDeliveryControl
业务流程:FBFLowId
批号:FLot
辅助属性:FAUXPROPID
物料分组:F_PAEZ_BaseProperty1
增值税:FVAT
计入成本金额:FCostAmount
计入成本比例:FCostPercent
卖方代扣代缴:FSellerWithholding
物料名称:FMETRIALNAME
物料编码:FMETRIALID
买方代扣代缴:FBuyerWithholding
税额:FTaxAmount_T
物料名称:FMATERIALNAME_S
物料编码:FMATERIALID_S
订单收款计划明细内码:FRECEIVABLEENTRYID
订单行号:FMATERIALSEQ
税率(%):FTaxRate
税率名称:FTaxRateId
总金额:FAMOUNTFOR_D
备注:FAR_OtherRemarks
扫描点:FScanPoint
表头-付款申请关联金额:FAPPLYAMOUNT_H
销售组织:FSALEORGID
转销:FIsWriteOff
销售组:FSALEGROUPID
销售部门:FSALEDEPTID
收(退)款单关联金额本位币:FWRITTENOFFAMOUNT
成本金额:FCOSTAMT
成本价:FCOSTPrice
会计政策:FACCTPOLICY
基本单位数量:FBaseQty
基本单位:FBASICUNIT
明细内码:FDEntryID
源单行号:FSEQSRC
核算体系:FACCTSYS
计价单位:FPriceUnit
货物类别:FMETRIALTYPE
规格型号:FMetrialModel
计价数量:FPriceUnitQty
源单内码:FROWNOSRC
源单单号:FBILLNOSRC
源出库单类型:FOUTSTOCKTYPE
本位币:FMAINBOOKSTDCURRID (必填项)
结算方式:FSettleTypeID
订货方:FORDERID
税额:FTaxAmountFor
不含税金额本位币:FNoTaxAmount
税额本位币:FTaxAmount
不含税金额:FNoTaxAmountFor
付款方:FChargeId
赠送套餐:F_PAEZ_Decimal3
销售折让:F_PAEZ_Decimal2
返利金额:F_PAEZ_Decimal1
销售员:FSALEERID
税率(%):FEntryTaxRate
已开票金额:FIVAmountFor
发票类型:FINVOICETYPE (必填项)
已生成发票:FCREATEINVOICE
利息:F_PAEZ_Amount
物流车辆:F_PMZC_Base
收货方:FTRANSFERID
物流客户:F_PMZC_Assistant1
油卡号码:F_PMZC_Assistant2
用途:F_PAEZ_Assistant1 (必填项)
运输编号:F_PMZC_Assistant
应收比例(%):FPAYRATE
表头计划 - 收(退)款单关联金额:FRELATEHADPAYAMOUNT_P
表头计划 - 未核销金额(作废):FNOTWRITTENOFFAMOUNTFOR_P
已核销金额:FWRITTENOFFAMOUNTFOR_P
销售订单内码:FSALEORDERID_S
销售订单号:FORDERBILLNO
税额:FTAXAMOUNTFOR
不含税金额本位币:FNOTAXAMOUNT_D
总金额本位币:FAMOUNT_D
不含税金额:FNOTAXAMOUNTFOR
税额本位币:FTAXAMOUNT_D
源单类型:FSOURCETYPE
源单编号:FSourceBillNo
费用承担部门:FCOSTDEPARTMENTID (必填项)
付款申请关联金额:FAPPLYAMOUNT
表头计划 - 核销状态:FWRITTENOFFSTATUS_P
汇率:FExchangeRate
汇率类型:FEXCHANGETYPE (必填项)
价税合计本位币:FALLAMOUNT
到期日计算日期:FACCNTTIMEJUDGETIME
应收金额本位币:FPAYAMOUNT
应收金额:FPAYAMOUNTFOR
表头计划 - 到期日:FENDDATE
作废日期:FCancelDate
作废人:FCancellerId
按含税单价录入:FISTAX
作废状态:FCancelStatus (必填项)
销售组织:FSALEORGID
客户:FCUSTOMERID (必填项)
汇率:FExchangeRate
收款条件:FPayConditon
会计核算体系:FACCOUNTSYSTEM
价税合计:FALLAMOUNTFOR
创建人:FCreatorId
货主:FOWNERID
货主类型:FOWNERTYPE
到期日:FENDDATE_H
销售员:FSALEERID
销售组:FSALEGROUPID
销售部门:FSALEDEPTID
创建日期:FCreateDate
审核日期:FAPPROVEDATE
修改人:FModifierId
本位币:FMAINBOOKSTDCURRID (必填项)
作废日期:FCancelDate
修改日期:FModifyDate
表头基本 - 收款核销状态:FWRITTENOFFSTATUS
审核人:FAPPROVERID
创建日期:FCreateDate
作废状态:FCancelStatus (必填项)
单据类型:FBillTypeID (必填项)
表头基本 - 收(退)款单的关联金额:FRelateHadPayAmount
单据状态:FDocumentStatus
单据编号:FBillNo
业务日期:FDATE (必填项)
单据编号:FBillNo
单据状态:FDocumentStatus
到期日:FENDDATE_H
币别:FCURRENCYID (必填项)
表头基本 -未收款核销金额(作废):FNOTWRITTENOFFAMOUNTFOR
结算组织:FSETTLEORGID (必填项)
表头基本 - 开票核销状态:FOPENSTATUS
税率(%):FEntryTaxRate
不含税金额:FNoTaxAmountFor_D
折扣率(%):FEntryDiscountRate
税额:FTAXAMOUNTFOR_D
销售发票价税合计:FIVALLAMOUNTFOR
备注:FComment
价税合计:FALLAMOUNTFOR_D
折扣额:FDISCOUNTAMOUNTFOR
物料类别:FMaterialType
规格型号:FModel
物料名称:FMaterialName
单价:FPrice
计价数量:FPriceQty
价格系数:FPriceCoefficient
含税单价:FTaxPrice
含税净价:FPriceWithTax
计价基本数量:FBASICUNITQTY
基本单位:FBASICUNITID
基本单位关联数量:FBaseJoinQty
税组合:FTaxCombination
源单编号:FSourceBillNo
源单类型:FSOURCETYPE
计价单位:FPRICEUNITID
价税合计本位币:FALLAMOUNT_D
税额本位币:FTAXAMOUNT_D
折扣额本位币:FDISCOUNTAMOUNT
不含税金额本位币:FNOTAXAMOUNT_D
销售订单号:FORDERNUMBER
表体明细 - 已开票核销金额:FOPENAMOUNTFOR_D
表体明细 - 开票核销状态:FOPENSTATUS_D
业务类型:FBUSINESSTYPE
核销方式:FMatchMethodID
零售:FISRETAIL
现销 :FCASHSALE
信用检查结果:FCreditCheckResult
收款组织:FPAYORGID (必填项)
销售业务类型:FSALESBUSTYPE
往来单位:FCONTACTUNIT (必填项)
往来单位类型:FCONTACTUNITTYPE (必填项)
结算方式:FSettleTypeID
已收款核销金额:FWRITTENOFFAMOUNTFOR
来源系统:FSOURCESYSTEM
申请部门:FDEPARTMENTID
是否期初单据:FISINIT
转出客户:FOUTCUSTOMERID
扫描点:FScanPoint
生成方式:FByVerify
项目类别:F_PAEZ_Assistant1
物料编码:FMATERIALID
是否开票:F_PMZC_Assistant2
中介单位:F_PAEZ_Base
红蓝字:FRedBlue
备注:FAR_Remark
价外税:FISPRICEEXCLUDETAX
B2C业务:FISB2C
立账类型:FSetAccountType
先到票后出库:FISINVOICEARLIER
转销:FIsWriteOff
参与暂估应收核销:FISHookMatch
税额本位币:FTAXAMOUNT
收款组织:FPAYORGID (必填项)
到期日计算日期:FACCNTTIMEJUDGETIME
不含税金额本位币:FNOTAXAMOUNT
修改人:FModifierId
创建人:FCreatorId
审核日期:FAPPROVEDATE
作废人:FCancellerId
总金额:FAMOUNTFOR
总金额本位币:FAMOUNT
表头基本 - 收款核销状态:FWRITTENOFFSTATUS
表头基本 - 收(退)款单的关联金额:FRelateHadPayAmount

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/其他应收单的参数必填备注.xlsx

Binary file not shown.
Loading…
Cancel
Save