Browse Source

金蝶 采购退料单

master
yxt_djz 3 years ago
parent
commit
40e2314c76
  1. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  2. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  3. 214
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java
  4. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  5. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java
  6. 64
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbCastToKingDeeBillFields.java
  7. 79
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java
  8. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data.json
  9. 35
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json
  10. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_data.json
  11. 53
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json
  12. 242
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/remarks.txt
  13. 0
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/testParams.txt
  14. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/webapi测试的数据.txt
  15. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/采购退料单的参数必填备注.xlsx
  16. 13
      anrui-fin/anrui-fin-biz/src/test/java/com/yxt/anrui/fin/AnruiFinAppTests.java

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -3,6 +3,7 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
@ -42,10 +43,15 @@ public interface FinKingDeeFeign {
@ApiOperation("保存付款单的接口")
@PostMapping("/draftApPayBill")
@ResponseBody
public ResultBean draftApPayBill(ApPayBill apPayBill) ;
public ResultBean draftApPayBill(@RequestBody ApPayBill apPayBill) ;
@ApiOperation("保存采购入库单的接口")
@PostMapping("/draftStkInStock")
@ResponseBody
public ResultBean draftStkInStock(StkInStock stkInStock) ;
public ResultBean draftStkInStock(@RequestBody StkInStock stkInStock) ;
@ApiOperation("保存采购退料单的接口")
@PostMapping("/draftPurMrb")
@ResponseBody
public ResultBean draftPurMrb(@RequestBody PurMrb purMrb) ;
}

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -3,6 +3,7 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.common.core.result.ResultBean;
@ -27,4 +28,9 @@ implements FinKingDeeFeign{
public ResultBean draftStkInStock(StkInStock stkInStock) {
return null;
}
@Override
public ResultBean draftPurMrb(PurMrb purMrb) {
return null;
}
}

214
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java

@ -0,0 +1,214 @@
package com.yxt.anrui.fin.api.kingdee.purmrb;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 采购退料单
*/
@Data
public class PurMrb {
/**
* 退料日期:FDate (必填项)
*/
@NotBlank
private String FDate;
/**
* 退料组织:FStockOrgId (必填项)
*/@NotBlank
private String FStockOrgId;
/**
* 需求组织:FRequireOrgId (必填项)
*/@NotBlank
private String FRequireOrgId;
/**
* 采购组织:FPurchaseOrgId (必填项)
*/@NotBlank
private String FPurchaseOrgId;
/**
* 供应商:FSupplierID (必填项)
*/@NotBlank
private String FSupplierID;
/**
* 接收方:FACCEPTORID
*/@NotBlank
private String FACCEPTORID;
/**
* 结算方:FSettleId
*/@NotBlank
private String FSettleId;
/**
* 收款方:FCHARGEID
*/@NotBlank
private String FCHARGEID;
/**
* 货主:FOwnerIdHead (必填项)
*/@NotBlank
private String FOwnerIdHead;
/**
* 结算组织:FSettleOrgId (必填项)
*/@NotBlank
private String FSettleOrgId;
/**
* 物料列表
*/@NotBlank
private List<FPURMRBENTRY> FPURMRBENTRY=new ArrayList<>();
@Data
public static class FPURMRBENTRY{
/**
* 物料编码:FMATERIALID (必填项)
*/@NotBlank
private String FMATERIALID;
/**
* 物料说明:FMaterialDesc
*/@NotBlank
private String FMaterialDesc;
/**
* 库存单位:FUnitID (必填项)
*/@NotBlank
private String FUnitID;
/**
* 批号:FLot
*/@NotBlank
private String FLot;
/**
* 实退数量:FRMREALQTY
*/@NotBlank
private double FRMREALQTY;
/**
* 补料数量:FREPLENISHQTY
*/@NotBlank
private double FREPLENISHQTY;
/**
* 扣款数量:FKEAPAMTQTY
*/@NotBlank
private double FKEAPAMTQTY;
/**
* 计价单位:FPRICEUNITID (必填项)
*/@NotBlank
private String FPRICEUNITID;
/**
* 仓库:FSTOCKID
*/@NotBlank
private String FSTOCKID;
/**
* 库存状态:FStockStatusId
*/@NotBlank
private String FStockStatusId;
/**
* 计价基本数量:FPriceBaseQty
*/@NotBlank
private double FPriceBaseQty;
/**
* 采购单位:FCarryUnitId (必填项)
*/@NotBlank
private String FCarryUnitId;
/**
* 采购数量:FCarryQty
*/@NotBlank
private double FCarryQty;
/**
* 采购基本数量:FCarryBaseQty
*/@NotBlank
private double FCarryBaseQty;
}
private final static PurMrb purMrb = new PurMrb();
static {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date();
/**
* 退料日期:FDate (必填项)
*/
purMrb.setFDate(sdf.format(date));
/**
* 退料组织:FStockOrgId (必填项)
*/purMrb.setFStockOrgId("101");
/**
* 需求组织:FRequireOrgId (必填项)
*/purMrb.setFRequireOrgId( "101");
/**
* 采购组织:FPurchaseOrgId (必填项)
*/purMrb.setFPurchaseOrgId("101");
/**
* 供应商:FSupplierID (必填项)
*/purMrb.setFSupplierID("010001");
/**
* 接收方:FACCEPTORID
*/purMrb.setFACCEPTORID("010001");
/**
* 结算方:FSettleId
*/purMrb.setFSettleId("010001");
/**
* 收款方:FCHARGEID
*/purMrb.setFCHARGEID("010001");
/**
* 货主:FOwnerIdHead (必填项)
*/purMrb.setFOwnerIdHead("101");
/**
* 结算组织:FSettleOrgId (必填项)
*/purMrb.setFSettleOrgId("101");
List<FPURMRBENTRY> FPURMRBENTRY=new ArrayList<>();
FPURMRBENTRY fp=new FPURMRBENTRY();
/**
* 物料编码:FMATERIALID (必填项)
*/fp.setFMATERIALID(" JX091054");
/**
* 物料说明:FMaterialDesc
*/fp.setFMaterialDesc("X牵引6*4-550超");
/**
* 库存单位:FUnitID (必填项)
*/fp.setFUnitID("liang");
/**
* 批号:FLot
*/fp.setFLot("liang");
/**
* 实退数量:FRMREALQTY
*/fp.setFRMREALQTY(1.0);
/**
* 补料数量:FREPLENISHQTY
*/fp.setFREPLENISHQTY(1.0);
/**
* 扣款数量:FKEAPAMTQTY
*/fp.setFKEAPAMTQTY(1.0);
/**
* 计价单位:FPRICEUNITID (必填项)
*/fp.setFPRICEUNITID("liang");
/**
* 仓库:FSTOCKID
*/fp.setFSTOCKID("CK001");
/**
* 库存状态:FStockStatusId
*/fp.setFStockStatusId("KCZT01_SYS");
/**
* 计价基本数量:FPriceBaseQty
*/fp.setFPriceBaseQty(1.0);
/**
* 采购单位:FCarryUnitId (必填项)
*/fp.setFCarryUnitId("liang");
/**
* 采购数量:FCarryQty
*/fp.setFCarryQty(1.0);
/**
* 采购基本数量:FCarryBaseQty
*/fp.setFCarryBaseQty(1.0);
FPURMRBENTRY.add(fp);
/**
* 物料列表
*/purMrb.setFPURMRBENTRY(FPURMRBENTRY);
}
public static PurMrb createPurMrb() {
return purMrb;
}
}

25
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -4,19 +4,18 @@ import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.fin.biz.kingdee.entrybill.EntryBillService;
import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService;
import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService;
import com.yxt.anrui.fin.biz.kingdee.stkinstock.STKInStockService;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@Api(tags = "单据调用金蝶的保存接口")
@RestController("com.yxt.anrui.fin.biz.kingdee.FinKingDeeFeignRest")
@ -42,25 +41,28 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
*/
@Autowired
private STKInStockService stkInStockService;
@Autowired
private PurMrbService purMrbService;
@ApiOperation("入账保存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
@Override
public ResultBean draftEntryBill(APPayable APPayable) {
public ResultBean draftEntryBill(@RequestBody APPayable APPayable) {
return entryBillService.draftEntryBill(APPayable);
}
@ApiOperation("保存应收单的接口")
@PostMapping("/draftReceivableBill")
@ResponseBody
@Override
public ResultBean draftReceivableBill(ARReceivable aRReceivable) {
public ResultBean draftReceivableBill(@RequestBody ARReceivable aRReceivable) {
return receivableBillService.draftReceivableBill(aRReceivable);
}
@ApiOperation("保存付款单的接口")
@PostMapping("/draftApPayBill")
@ResponseBody
@Override
public ResultBean draftApPayBill(ApPayBill apPayBill) {
public ResultBean draftApPayBill(@RequestBody ApPayBill apPayBill) {
return apPayBillService.draftApPayBill(apPayBill);
}
@ -68,8 +70,15 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
@PostMapping("/draftStkInStock")
@ResponseBody
@Override
public ResultBean draftStkInStock(StkInStock stkInStock) {
public ResultBean draftStkInStock(@RequestBody StkInStock stkInStock) {
return stkInStockService.draftStkInStock(stkInStock);
}
@ApiOperation("保存采购退料单的接口")
@PostMapping("/draftPurMrb")
@ResponseBody
@Override
public ResultBean draftPurMrb(@RequestBody PurMrb purMrb) {
return purMrbService.draftPurMrb(purMrb);
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java

@ -88,10 +88,12 @@ public class KingDeeSaveSKD {
log.info(jsonParam.getData());
/*String ss="{\"formId\":\"AR_receivable\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"YSD01_SYS\\\"},\\\"FDATE\\\":\\\"2022-08-02 00:00:00\\\",\\\"FISINIT\\\":false,\\\"FENDDATE_H\\\":\\\"2022-08-02 00:00:00\\\",\\\"FCUSTOMERID\\\":{\\\"FNumber\\\":\\\" JXYXB\\\"},\\\"FCURRENCYID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FISPRICEEXCLUDETAX\\\":true,\\\"FSETTLEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPAYORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSALEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FISTAX\\\":true,\\\"FCancelStatus\\\":\\\"A\\\",\\\"FBUSINESSTYPE\\\":\\\"BZ\\\",\\\"FSetAccountType\\\":\\\"1\\\",\\\"FISHookMatch\\\":false,\\\"FISINVOICEARLIER\\\":false,\\\"F_PMZC_Assistant2\\\":{\\\"FNumber\\\":\\\"01\\\"},\\\"FsubHeadSuppiler\\\":{\\\"FORDERID\\\":{\\\"FNumber\\\":\\\" JXYXB\\\"},\\\"FTRANSFERID\\\":{\\\"FNumber\\\":\\\" JXYXB\\\"},\\\"FChargeId\\\":{\\\"FNumber\\\":\\\" JXYXB\\\"}},\\\"FsubHeadFinc\\\":{\\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-08-02 00:00:00\\\",\\\"FMAINBOOKSTDCURRID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGETYPE\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0,\\\"FTaxAmountFor\\\":121.01,\\\"FNoTaxAmountFor\\\":12100.99},\\\"FEntityDetail\\\":[{\\\"FMATERIALID\\\":{\\\"FNumber\\\":\\\" JX091054\\\"},\\\"FMaterialDesc\\\":\\\"X牵引6*4-550超\\\",\\\"FPRICEUNITID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FPriceQty\\\":1.0,\\\"FTaxPrice\\\":12222.0,\\\"FPrice\\\":12100.99,\\\"FEntryTaxRate\\\":1.0,\\\"FNoTaxAmountFor_D\\\":12100.99,\\\"FTAXAMOUNTFOR_D\\\":121.01,\\\"FALLAMOUNTFOR_D\\\":12222.0,\\\"FDeliveryControl\\\":false,\\\"FStockUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FStockQty\\\":1.0,\\\"FIsFree\\\":false,\\\"FStockBaseQty\\\":1.0,\\\"FSalUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FSalQty\\\":1.0,\\\"FSalBaseQty\\\":1.0,\\\"FPriceBaseDen\\\":1.0,\\\"FSalBaseNum\\\":1.0,\\\"FStockBaseNum\\\":1.0}],\\\"FEntityPlan\\\":[{\\\"FENDDATE\\\":\\\"2022-08-02 00:00:00\\\",\\\"FPAYRATE\\\":100.0,\\\"FPAYAMOUNTFOR\\\":12222.0}]}}\"}";
log.info("ss-:{}",ss);*/
/* String ss="{\"formId\":\"AP_PAYBILL\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"FKDLX01_SYS\\\"},\\\"FDATE\\\":\\\"2022-08-10 00:00:00\\\",\\\"FCONTACTUNITTYPE\\\":\\\"BD_Supplier\\\",\\\"FCONTACTUNIT\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FRECTUNITTYPE\\\":\\\"BD_Supplier\\\",\\\"FRECTUNIT\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FISINIT\\\":false,\\\"FCURRENCYID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGERATE\\\":1.0,\\\"FSETTLERATE\\\":1.0,\\\"FSETTLEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPURCHASEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPURCHASEDEPTID\\\":{\\\"FNumber\\\":\\\"05.04\\\"},\\\"FDOCUMENTSTATUS\\\":\\\"Z\\\",\\\"FCancelStatus\\\":\\\"A\\\",\\\"FPAYORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FISSAMEORG\\\":true,\\\"FIsCredit\\\":false,\\\"FSETTLECUR\\\":{\\\"FNUMBER\\\":\\\"PRE001\\\"},\\\"FIsWriteOff\\\":false,\\\"FREALPAY\\\":false,\\\"F_PAEZ_Assistant\\\":{\\\"FNumber\\\":\\\"001\\\"},\\\"FPAYBILLENTRY\\\":[{\\\"FSETTLETYPEID\\\":{\\\"FNumber\\\":\\\"02\\\"},\\\"FPURPOSEID\\\":{\\\"FNumber\\\":\\\"SFKYT08_SYS\\\"},\\\"FPAYTOTALAMOUNTFOR\\\":1000.0,\\\"FPAYAMOUNTFOR_E\\\":1000.0,\\\"FSETTLEPAYAMOUNTFOR\\\":1000.0,\\\"FREALPAYAMOUNTFOR_D\\\":1000.0,\\\"FPAYAMOUNT_E\\\":1000.0,\\\"FACCOUNTID\\\":{\\\"FNumber\\\":\\\"100473861600010002\\\"},\\\"FPOSTDATE\\\":\\\"2022-08-10 00:00:00\\\",\\\"FRuZhangType\\\":\\\"1\\\",\\\"FPayType\\\":\\\"A\\\"}]}}\"}";
/* String ss="{\"formId\":\"AP_PAYBILL\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"FKDLX01_SYS\\\"},\\\"FDATE\\\":\\\"2022-08-10 00:00:00\\\",\\\"FCONTACTUNITTYPE\\\":\\\"BD_Supplier\\\",\\\"FCONTACTUNIT\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FRECTUNITTYPE\\\":\\\"BD_Supplier\\\",\\\"FRECTUNIT\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FISINIT\\\":false,\\\"FCURRENCYID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGERATE\\\":1.0,\\\"FSETTLERATE\\\":1.0,\\\"FSETTLEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPURCHASEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPURCHASEDEPTID\\\":{\\\"FNumber\\\":\\\"05.04\\\"},\\\"FDOCUMENTSTATUS\\\":\\\"Z\\\",\\\"FCancelStatus\\\":\\\"A\\\",\\\"FPAYORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FISSAMEORG\\\":true,\\\"FIsCredit\\\":false,\\\"FSETTLECUR\\\":{\\\"FNUMBER\\\":\\\"PRE001\\\"},\\\"FIsWriteOff\\\":false,\\\"FREALPAY\\\":false,\\\"F_PAEZ_Assistant\\\":{\\\"FNumber\\\":\\\"001\\\"},\\\"FPAYBILLENTRY\\\":[{\\\"FSETTLETYPEID\\\":{\\\"FNumber\\\":\\\"02\\\"},\\\"FPURPOSEID\\\":{\\\"FNumber\\\":\\\"SFKYT08_SYS\\\"},\\\"FPAYTOTALAMOUNTFOR\\\":1000.0,\\\"FPAYAMOUNTFOR_E\\\":1000.0,\\\"FSETTLEPAYAMOUNTFOR\\\":1000.0,\\\"FREALPAYAMOUNTFOR_D\\\":1000.0,\\\"FPAYAMOUNT_E\\\":1000.0,\\\"FACCOUNTID\\\":{\\\"FNumber\\\":\\\"100473861600010002\\\"},\\\"FPOSTDATE\\\":\\\"2022-08-10 00:00:00\\\",\\\"FRuZhangType\\\":\\\"1\\\",\\\"FPayType\\\":\\\"A\\\"}]}}\"}";
log.info("ss-:{}",ss);*/
/*String ss="{\"formId\":\"STK_InStock\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"RKD01_SYS\\\"},\\\"FDate\\\":\\\"2022-08-12 00:00:00\\\",\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FDemandOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPurchaseOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPurchaseDeptId\\\":{\\\"FNumber\\\":\\\"05.04\\\"},\\\"FSupplierId\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FSupplyId\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FSettleId\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FChargeId\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FOwnerIdHead\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FInStockFin\\\":{\\\"FSettleOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSettleCurrId\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FIsIncludedTax\\\":true,\\\"FPriceTimePoint\\\":\\\"1\\\",\\\"FLocalCurrId\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FExchangeTypeId\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0,\\\"FISPRICEEXCLUDETAX\\\":true},\\\"FInStockEntry\\\":[{\\\"FRowType\\\":\\\"Standard\\\",\\\"FMaterialId\\\":{\\\"FNumber\\\":\\\" JX091054\\\"},\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FRealQty\\\":1.0,\\\"FPriceUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FLot\\\": {\\\"FNumber\\\": \\\"1234567890\\\"},\\\"FStockId\\\":{\\\"FNumber\\\":\\\"CK001\\\"},\\\"FTaxPrice\\\":1000.0,\\\"FPrice\\\":1000.0,\\\"FStockStatusId\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FGiveAway\\\":false,\\\"FCheckInComing\\\":false,\\\"FIsReceiveUpdateStock\\\":false,\\\"FPriceBaseQty\\\":1.0,\\\"FRemainInStockUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FBILLINGCLOSE\\\":false,\\\"FRemainInStockQty\\\":1.0,\\\"FAPNotJoinQty\\\":1.0,\\\"FRemainInStockBaseQty\\\":1.0}]}}\"}";
log.info("ss-:{}",ss);*/
/*String ss="{\"formId\":\"PUR_MRB\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"TLD01_SYS\\\"},\\\"FDate\\\":\\\"2022-08-12 00:00:00\\\",\\\"FMRTYPE\\\":\\\"B\\\",\\\"FMRMODE\\\":\\\"A\\\",\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FRequireOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPurchaseOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSupplierID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FACCEPTORID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FSettleId\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FCHARGEID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FOwnerIdHead\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPURMRBFIN\\\":{\\\"FSettleOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSettleCurrId\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FIsIncludedTax\\\":true,\\\"FPRICETIMEPOINT\\\":\\\"1\\\",\\\"FLOCALCURRID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGETYPEID\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FEXCHANGERATE\\\":1.0,\\\"FISPRICEEXCLUDETAX\\\":true},\\\"FPURMRBENTRY\\\":[{\\\"FRowType\\\":\\\"Standard\\\",\\\"FMATERIALID\\\":{\\\"FNumber\\\":\\\" JX091054\\\"},\\\"FMaterialDesc\\\":\\\"X牵引6*4-550超\\\",\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"Flot\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FRMREALQTY\\\":1.0,\\\"FREPLENISHQTY\\\":1.0,\\\"FKEAPAMTQTY\\\":1.0,\\\"FPRICEUNITID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FSTOCKID\\\":{\\\"FNumber\\\":\\\"CK001\\\"},\\\"FStockStatusId\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FIsReceiveUpdateStock\\\":false,\\\"FGiveAway\\\":false,\\\"FPriceBaseQty\\\":1.0,\\\"FCarryUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FCarryQty\\\":1.0,\\\"FCarryBaseQty\\\":1.0,\\\"FBILLINGCLOSE\\\":false,\\\"FIsStock\\\":false}]}}\"}";
log.info("ss-:{}",ss);*/
StringEntity entity = new StringEntity(jsonParam.getData(), "utf-8");
log.info(JSON.toJSONString(entity));
entity.setContentEncoding("UTF-8");

64
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbCastToKingDeeBillFields.java

@ -0,0 +1,64 @@
package com.yxt.anrui.fin.biz.kingdee.purmrb;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 封装转换的类
*/
public class PurMrbCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(PurMrbCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @param vehicleList
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_,List<Map<String,String>> vehicleList){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/purmrb/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/purmrb/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json");
String fPURMRBENTRY_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json");
log.info("readJsonFile:{}",readJsonFile);
log.info("fEntityData_:{}",fEntityData_);
log.info("fEntityModel_:{}",fEntityModel_);
log.info("fPURMRBENTRY_:{}",fPURMRBENTRY_);
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
List<JSONObject> list_fEntityDetail_=new ArrayList<>();
//对模板字段赋值 根据传递进来的map数据的集合进行赋值
for(int i=0;i<vehicleList.size();i++){
Map<String,String> params=vehicleList.get(i);
Map<String,String> map_fEntityDetail_=new HashMap<>();
for (Map.Entry<String, String> entry : params.entrySet()) {
map_fEntityDetail_.put(entry.getKey(),entry.getValue());
}
fPURMRBENTRY_ =KingDeeUtils.replaceTemplateParams(fPURMRBENTRY_, map_fEntityDetail_);
list_fEntityDetail_.add(JSONObject.parseObject(fPURMRBENTRY_,Feature.OrderedField));
}
jsonFEntityModel_.put("FPURMRBENTRY", JSONArray.parseArray(JSON.toJSONString(list_fEntityDetail_)));
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();
}
}

79
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java

@ -0,0 +1,79 @@
package com.yxt.anrui.fin.biz.kingdee.purmrb;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class PurMrbService extends FinKingDeeService {
/**
* 保存采购入库单
* @param purMrb
* @return
*/
public ResultBean draftPurMrb(PurMrb purMrb) {
// purMrb=PurMrb.createPurMrb();
ResultBean rb=ResultBean.fireFail();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(purMrb);
List<PurMrb.FPURMRBENTRY> fpurmrbentry = purMrb.getFPURMRBENTRY();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
//准备 物料列表的数据 ForEntryBill
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForPurMrb(fpurmrbentry);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = PurMrbCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
return saveBill(KingDeeBillId.PUR_MRB.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 StkInStock
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsForPurMrb( List<PurMrb.FPURMRBENTRY> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
PurMrb.FPURMRBENTRY f= vehicleList.get(i);
Map<String,String> m=new HashMap<>();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
m.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
m.put(entry.getKey(), entry.getValue().toString());
}
}
vehicleListMap.add(m);
}
return rb.success().setData(vehicleListMap);
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data.json

@ -0,0 +1,4 @@
{
"formId": "PUR_MRB",
"data": "@KD_data"
}

35
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json

@ -0,0 +1,35 @@
{
"FRowType": "Standard",
"FMATERIALID": {
"FNumber": "@KD_FMATERIALID"
},
"FMaterialDesc": "@KD_FMaterialDesc",
"FUnitID": {
"FNumber": "@KD_FUnitID"
},
"FLot": {
"FNumber": "@KD_Flot"
},
"FRMREALQTY": @KD_FRMREALQTY,
"FREPLENISHQTY": @KD_FREPLENISHQTY,
"FKEAPAMTQTY": @KD_FKEAPAMTQTY,
"FPRICEUNITID": {
"FNumber": "@KD_FPRICEUNITID"
},
"FSTOCKID": {
"FNumber": "@KD_FSTOCKID"
},
"FStockStatusId": {
"FNumber": "@KD_FStockStatusId"
},
"FIsReceiveUpdateStock": false,
"FGiveAway": false,
"FPriceBaseQty": @KD_FPriceBaseQty,
"FCarryUnitId": {
"FNumber": "@KD_FCarryUnitId"
},
"FCarryQty": @KD_FCarryQty,
"FCarryBaseQty": @KD_FCarryBaseQty,
"FBILLINGCLOSE": false,
"FIsStock": false
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

53
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json

@ -0,0 +1,53 @@
{
"FID": 0,
"FBillTypeID": {
"FNUMBER": "TLD01_SYS"
},
"FDate": "@KD_FDate",
"FMRTYPE": "B",
"FMRMODE": "A",
"FStockOrgId": {
"FNumber": "@KD_FStockOrgId"
},
"FRequireOrgId": {
"FNumber": "@KD_FRequireOrgId"
},
"FPurchaseOrgId": {
"FNumber": "@KD_FPurchaseOrgId"
},
"FSupplierID": {
"FNumber": "@KD_FSupplierID"
},
"FACCEPTORID": {
"FNumber": "@KD_FACCEPTORID"
},
"FSettleId": {
"FNumber": "@KD_FSettleId"
},
"FCHARGEID": {
"FNumber": "@KD_FCHARGEID"
},
"FOwnerTypeIdHead": "BD_OwnerOrg",
"FOwnerIdHead": {
"FNumber": "@KD_FOwnerIdHead"
},
"FPURMRBFIN": {
"FSettleOrgId": {
"FNumber": "@KD_FSettleOrgId"
},
"FSettleCurrId": {
"FNumber": "PRE001"
},
"FIsIncludedTax": true,
"FPRICETIMEPOINT": "1",
"FLOCALCURRID": {
"FNumber": "PRE001"
},
"FEXCHANGETYPEID": {
"FNumber": "HLTX01_SYS"
},
"FEXCHANGERATE": 1.0,
"FISPRICEEXCLUDETAX": true
},
"FPURMRBENTRY": []
}

242
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/remarks.txt

@ -0,0 +1,242 @@
一、请求参数说明:
1.formid:业务对象表单Id,字符串类型(必录)
2.data:Json格式数据(详情参考Json格式数据)(必录)
2.1.Creator:创建者内码(非必录)
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key)
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key)
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录)
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录)
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录)
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录)
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录)
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录)
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult)
2.11.Model:表单数据包,Json类型(必录)
五、字段说明:
关联数量(基本单位):FBASEJOINQTY
辅助属性:FAuxPropID
库存辅单位:FAUXUNITID
基本单位:FBASEUNITID
基本补料数量:FBaseReplayQty
源单类型:FSRCBillTypeId
源单编号:FSRCBillNo
仓位:FSTOCKLOCID
基本单位单价:FBaseUnitPrice
库存辅单位数量:FAUXUNITQTY
库存基本数量:FBASEUNITQTY
保管者:FKEEPERID
库存更新标识:FSTOCKFLAG
关联数量:FJOINQTY
计价单位:FPRICEUNITID (必填项)
库存单位:FUnitID (必填项)
实退数量:FRMREALQTY
应退数量:FRMMUSTQTY
采购数量(基本单位):FBasePOQty
保质期单位:FExpUnit
材料成本:FMaterialCosts
批号:FLot
保质期:FExpPeriod
单价:FPrice
金额:FAmount
在架寿命期:FSHELFLIFE
供应商批号:FSupplierLot
已钩稽数量:FJOINEDQTY
未钩稽数量:FUNJOINQTY
采购费用:FPurCost
已开票数量:FINVOICEDQTY
已钩稽金额:FJOINEDAMOUNT
钩稽状态:FJOINSTATUS
加工费:FProcessFee
未钩稽金额:FUNJOINAMOUNT
完全钩稽:FFULLYJOINED
需求跟踪号:FREQTRACENO
订单单号:FORDERNO
到期日:FEXPIRYDATE
合同单号:FCONTRACTNO
计价数量:FPRICEUNITQTY
系统定价:FSYSPRICE
价格系数:FPRICECOEFFICIENT
成本价:FCostPrice
含税单价:FTAXPRICE
补料数量:FREPLENISHQTY
扣款数量:FKEAPAMTQTY
规格型号:FMateriaModel
物料类别:FMateriaType
仓库:FSTOCKID
BOM版本:FBOMID
生产日期:FProduceDate
库存状态:FStockStatusId
备注:FNOTE
不含税扣款金额:FKEAPEXCLTAXAMT
总成本(本位币):FCOSTAMOUNT_LC
不含税补料金额:FREPLENISHEXCLTAXAMT
含税扣款金额:FKEAPINCLTAXAMT
税额(本位币):FTAXAMOUNT_LC
货主:FOWNERID
保管者类型:FKEEPERTYPEID
价税合计(本位币):FALLAMOUNT_LC
货主类型:FOWNERTYPEID
折扣率(%):FDISCOUNTRATE
净价:FTAXNETPRICE
价格上限:FUPPRICE
价格下限:FDOWNPRICE
总成本:FENTRYCOSTAMOUNT
价税合计:FALLAMOUNT
含税补料金额:FREPLENISHINCLTAXAMT
税率:FENTRYTAXRATE
税额:FENTRYTAXAMOUNT
应付关闭日期:FPAYABLECLOSEDATE
应付关闭状态:FPayableCloseStatus
未关联应付数量(计价单位):FAPNOTJOINQTY
关联应付金额:FAPJOINAMOUNT
收料辅序子单据体内码:FRECSUBENTRYID
行标识:FRowId
父行标识:FParentRowId
产品类型:FRowType
父项产品:FParentMatId
库存基本分母:FSTOCKBASEDEN
携带的主业务单位:FSRCBIZUNITID
立账关闭:FBILLINGCLOSE
采购基本分子:FPURBASENUM
关联应付数量(库存基本):FStockBaseAPJoinQty
采购订单分录内码:FPOORDERENTRYID
分录价目表:FPriceListEntry
关联数量(采购基本):FBASEPURJOINQTY
成本价(本位币):FCOSTPRICE_LC
计入成本金额:FTaxCostAmount
增值税:FVAT
税额:FTaxAmount
计入成本比例%:FCostPercent
卖方代扣代缴:FSellerWithholding
序列号:FSerialId
备注:FSerialNote
买方代扣代缴:FBuyerWithholding
序列号:FSerialNo
材料成本(本位币):FMaterialCosts_LC
费用代码:FCostId
第三方单据分录ID:FTHIRDENTRYID
加工费(本位币):FProcessFee_LC
费用名称:FCostName
税率名称:FTaxRateId
税率%:FTaxRate
金额:FCostAmount
备注:FCostNOTE
收料批号:FReceiveLot
订单需求组织:FPoRequireOrgId
收料仓位:FReceiveStockLocId
收料库存更新标志:FReceiveStockFlag
收料辅助属性:FReceiveAuxPropId
项目编号:FProjectNo
销售退货关联数量:FJoinSalReturnQty
源单行号:FSRCSeq
计划跟踪号:FMtoNo
税组合:FTaxCombination
物料说明:FMaterialDesc
金额(本位币):FAmount_LC
折扣额:FDiscount
关联应付数量(计价基本):FBaseAPJoinQty
收料仓库:FReceiveStockId
收料库存状态:FReceiveStockStatusId
业务流程:FBFLowId
扣款数量(基本单位):FBaseKeapamtQty
收料计划跟踪号:FReceiveMtoNo
是否赠品:FGiveAway
辅单位:FExtAuxUnitId
实退数量(辅单位):FExtAuxUnitQty
计价基本数量:FPriceBaseQty
采购数量:FCarryQty
采购基本数量:FCarryBaseQty
定价单位:FSetPriceUnitID
采购单位:FCarryUnitId (必填项)
序列号单位:FSNUnitID
序列号单位数量:FSNQty
基本单位关联销售退货数量:FBaseJoinSalReturnQty
费用项目:FChargeProjectID
关联退货数量(辅单位):FSECJOINSALRETURNQTY
开票结束状态:FInvoicedStatus
已开票关联数量:FInvoicedJoinQty
是否可库存:FIsStock
收料更新库存:FIsReceiveUpdateStock
接收方联系人(旧):FACCEPTCONTACTID
接收方:FACCEPTORID
作废状态:FCancelStatus
结算方:FSettleId
业务类型:FBusinessType
跨组织业务类型:FTransferBizType
对应组织:FCorrespondOrgId
接收方地址:FAcceptAddress
应付状态:FAPSTATUS
需求组织:FRequireOrgId (必填项)
收款方:FCHARGEID
采购组:FPURCHASERGROUPID
退料部门:FMRDeptId
供应商:FSupplierID (必填项)
采购员:FPURCHASERID
采购部门:FPURCHASEDEPTID
送货单号:FDELIVERYNO
采购组织:FPurchaseOrgId (必填项)
备注:FDESCRIPTION
承运商:FCarrierID
退料组织:FStockOrgId (必填项)
退料日期:FDate (必填项)
单据编号:FBillNo
单据状态:FDocumentStatus
单据类型:FBillTypeID (必填项)
提货单号:FTAKEDELIVERYNO
库存组:FSTOCKERGROUPID
货主类型:FOwnerTypeIdHead (必填项)
货主:FOwnerIdHead (必填项)
作废人:FCancelerId
作废日期:FCancelDate
创建人:FCreatorId
审核人:FApproverId
运输单号:FCARRYNO
退料方式:FMRMODE (必填项)
退料原因:FMRREASON
仓管员:FSTOCKERID
退料类型:FMRTYPE (必填项)
补料方式:FREPLENISHMODE
最后修改人:FModifierId
审核日期:FApproveDate
创建日期:FCreateDate
最后修改日期:FModifyDate
税额:FBILLTAXAMOUNT
总成本:FBILLCOSTAMOUNT
付款条件:FPAYCONDITIONID
结算币别:FSettleCurrId (必填项)
价税合计:FBILLALLAMOUNT
折扣表:FDISCOUNTLISTID
汇率:FEXCHANGERATE
汇率类型:FEXCHANGETYPEID
价目表:FPRICELISTID
接收方联系人:FAcceptorContactID
扫描点:FScanPoint
确认状态:FConfirmStatus
结算组织:FSettleOrgId (必填项)
结算方式:FSETTLETYPEID
付款组织:FPayOrgId
价外税:FISPRICEEXCLUDETAX
先到票后入库:FISINVOICEARLIER
货主客户:FOwnerCustomerID
结算组织供应商:FSettleSupplierID
第三方来源:FTHIRDSRCTYPE
物料编码:FMATERIALID (必填项)
物料名称:FMaterialName
第三方单据ID:FTHIRDBILLID
第三方单据编号:FTHIRDBILLNO
价税合计(本位币):FBILLALLAMOUNT_LC
税额(本位币):FBILLTAXAMOUNT_LC
定价时点:FPRICETIMEPOINT (必填项)
本位币:FLOCALCURRID
总成本(本位币):FBILLCOSTAMOUNT_LC
金额(本位币):FBillAmount_LC
跨组织结算生成:FISGENFORIOS
含税:FIsIncludedTax
金额:FBillAmount
组织间结算跨法人标识:FIsInterLegalPerson
创建日期偏移单位:FCDateOffsetUnit
序列号上传:FScanBox
创建日期偏移量:FCDateOffsetValue
确认人:FConfirmerId
确认日期:FConfirmDate

0
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/testParams.txt

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/webapi测试的数据.txt

@ -0,0 +1 @@
"{\"formId\":\"PUR_MRB\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"TLD01_SYS\\\"},\\\"FDate\\\":\\\"2022-08-12 00:00:00\\\",\\\"FMRTYPE\\\":\\\"B\\\",\\\"FMRMODE\\\":\\\"A\\\",\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FRequireOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPurchaseOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSupplierID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FACCEPTORID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FSettleId\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FCHARGEID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FOwnerIdHead\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPURMRBFIN\\\":{\\\"FSettleOrgId\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSettleCurrId\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FIsIncludedTax\\\":true,\\\"FPRICETIMEPOINT\\\":\\\"1\\\",\\\"FLOCALCURRID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGETYPEID\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FEXCHANGERATE\\\":1.0,\\\"FISPRICEEXCLUDETAX\\\":true},\\\"FPURMRBENTRY\\\":[{\\\"FRowType\\\":\\\"Standard\\\",\\\"FMATERIALID\\\":{\\\"FNumber\\\":\\\" JX091054\\\"},\\\"FMaterialDesc\\\":\\\"X牵引6*4-550超\\\",\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"Flot\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FRMREALQTY\\\":1.0,\\\"FREPLENISHQTY\\\":1.0,\\\"FKEAPAMTQTY\\\":1.0,\\\"FPRICEUNITID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FSTOCKID\\\":{\\\"FNumber\\\":\\\"CK001\\\"},\\\"FStockStatusId\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FIsReceiveUpdateStock\\\":false,\\\"FGiveAway\\\":false,\\\"FPriceBaseQty\\\":1.0,\\\"FCarryUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FCarryQty\\\":1.0,\\\"FCarryBaseQty\\\":1.0,\\\"FBILLINGCLOSE\\\":false,\\\"FIsStock\\\":false}]}}\"}";

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/采购退料单的参数必填备注.xlsx

Binary file not shown.

13
anrui-fin/anrui-fin-biz/src/test/java/com/yxt/anrui/fin/AnruiFinAppTests.java

@ -7,15 +7,14 @@ import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.*;
@RunWith(SpringRunner.class)
@SpringBootTest
public class AnruiFinAppTests {
Logger log= LoggerFactory.getLogger(AnruiFinAppTests.class);
//Logger log= LoggerFactory.getLogger(AnruiFinAppTests.class);
@Test
public void contextLoads() {
String jsonStr = "";
/*String jsonStr = "";
try {
File jsonFile = new File("src/test/java/com/yxt/anrui/fin/ss/1211231.txt");
FileReader fileReader = new FileReader(jsonFile);
@ -31,7 +30,13 @@ public class AnruiFinAppTests {
log.info(jsonStr);
} catch (IOException e) {
e.printStackTrace();
}
}*/
String s="123456778";
String ss=s.toString();
ss=ss.replace("7","");
System.out.println(s);
System.out.println(ss);
}
}
Loading…
Cancel
Save