Browse Source

金蝶 物料单新增保存

master
djz236 3 years ago
parent
commit
e95e11c5a5
  1. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  2. 52
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java
  3. 46
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java
  4. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  5. 73
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  6. 53
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java
  7. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  8. 53
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java
  9. 49
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java
  10. 51
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java

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

@ -64,4 +64,5 @@ public interface FinKingDeeFeign {
@PostMapping("/draftBdMaterial")
@ResponseBody
public ResultBean draftBdMaterial(@RequestBody BdMaterial bdMaterial) ;
}

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

@ -21,57 +21,57 @@ public class PurMrb {
*/
@NotBlank
@JsonProperty("FDate")
private String FDate;
public String FDate;
/**
* 退料组织:FStockOrgId (必填项)
*/@NotBlank
@JsonProperty("FStockOrgId")
private String FStockOrgId;
public String FStockOrgId;
/**
* 需求组织:FRequireOrgId (必填项)
*/@NotBlank
@JsonProperty("FRequireOrgId")
private String FRequireOrgId;
public String FRequireOrgId;
/**
* 采购组织:FPurchaseOrgId (必填项)
*/@NotBlank
@JsonProperty("FPurchaseOrgId")
private String FPurchaseOrgId;
public String FPurchaseOrgId;
/**
* 供应商:FSupplierID (必填项)
*/@NotBlank
@JsonProperty("FSupplierID")
private String FSupplierID;
public String FSupplierID;
/**
* 接收方:FACCEPTORID
*/@NotBlank
@JsonProperty("FACCEPTORID")
private String FACCEPTORID;
public String FACCEPTORID;
/**
* 结算方:FSettleId
*/@NotBlank
@JsonProperty("FSettleId")
private String FSettleId;
public String FSettleId;
/**
* 收款方:FCHARGEID
*/@NotBlank
@JsonProperty("FCHARGEID")
private String FCHARGEID;
public String FCHARGEID;
/**
* 货主:FOwnerIdHead (必填项)
*/@NotBlank
@JsonProperty("FOwnerIdHead")
private String FOwnerIdHead;
public String FOwnerIdHead;
/**
* 结算组织:FSettleOrgId (必填项)
*/@NotBlank
@JsonProperty("FSettleOrgId")
private String FSettleOrgId;
public String FSettleOrgId;
/**
* 物料列表
*/@NotBlank
@JsonProperty("FPURMRBENTRY")
private List<FPURMRBENTRY> FPURMRBENTRY=new ArrayList<>();
public List<FPURMRBENTRY> FPURMRBENTRY=new ArrayList<>();
@Data
@ -80,76 +80,76 @@ public class PurMrb {
* 物料编码:FMATERIALID (必填项)
*/@NotBlank
@JsonProperty("FMATERIALID")
private String FMATERIALID;
public String FMATERIALID;
/**
* 物料说明:FMaterialDesc
*/@NotBlank
@JsonProperty("FMaterialDesc")
private String FMaterialDesc;
public String FMaterialDesc;
/**
* 库存单位:FUnitID (必填项)
*/@NotBlank
@JsonProperty("FUnitID")
private String FUnitID;
public String FUnitID;
/**
* 批号:FLot
*/@NotBlank
@JsonProperty("FLot")
private String FLot;
public String FLot;
/**
* 实退数量:FRMREALQTY
*/@NotBlank
@JsonProperty("FRMREALQTY")
private double FRMREALQTY;
public double FRMREALQTY;
/**
* 补料数量:FREPLENISHQTY
*/@NotBlank
@JsonProperty("FREPLENISHQTY")
private double FREPLENISHQTY;
public double FREPLENISHQTY;
/**
* 扣款数量:FKEAPAMTQTY
*/@NotBlank
@JsonProperty("FKEAPAMTQTY")
private double FKEAPAMTQTY;
public double FKEAPAMTQTY;
/**
* 计价单位:FPRICEUNITID (必填项)
*/@NotBlank
@JsonProperty("FPRICEUNITID")
private String FPRICEUNITID;
public String FPRICEUNITID;
/**
* 仓库:FSTOCKID
*/@NotBlank
@JsonProperty("FSTOCKID")
private String FSTOCKID;
public String FSTOCKID;
/**
* 库存状态:FStockStatusId
*/@NotBlank
@JsonProperty("FStockStatusId")
private String FStockStatusId;
public String FStockStatusId;
/**
* 计价基本数量:FPriceBaseQty
*/@NotBlank
@JsonProperty("FPriceBaseQty")
private double FPriceBaseQty;
public double FPriceBaseQty;
/**
* 采购单位:FCarryUnitId (必填项)
*/@NotBlank
@JsonProperty("FCarryUnitId")
private String FCarryUnitId;
public String FCarryUnitId;
/**
* 采购数量:FCarryQty
*/@NotBlank
@JsonProperty("FCarryQty")
private double FCarryQty;
public double FCarryQty;
/**
* 采购基本数量:FCarryBaseQty
*/@NotBlank
@JsonProperty("FCarryBaseQty")
private double FCarryBaseQty;
public double FCarryBaseQty;
}
private final static PurMrb purMrb = new PurMrb();
public final static PurMrb purMrb = new PurMrb();
static {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

46
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java

@ -14,78 +14,78 @@ import java.util.List;
*/
@Data
public class StkInStock {
private String sid;
public String sid;
/**
* //采购组织:FPurchaseOrgId (必填项)
*/@JsonProperty("FPurchaseOrgId")
@NotBlank
private String FPurchaseOrgId;
public String FPurchaseOrgId;
/**
* // 收料组织:FStockOrgId (必填项)
*/@JsonProperty("FStockOrgId")
@NotBlank
private String FStockOrgId;
public String FStockOrgId;
/**
* // 采购部门:FPurchaseDeptId (必填项)
*/@JsonProperty("FPurchaseDeptId")
@NotBlank
private String FPurchaseDeptId;
public String FPurchaseDeptId;
/**
* // 供应商:FSupplierId (必填项)
*/@JsonProperty("FSupplierId")
@NotBlank
private String FSupplierId;
public String FSupplierId;
/**
* // 入库日期:FDate (必填项)
*/@JsonProperty("FDate")
@NotBlank
private String FDate;
public String FDate;
/**
* // 货主:FOwnerIdHead (必填项)
*/@JsonProperty("FOwnerIdHead")
@NotBlank
private String FOwnerIdHead;
public String FOwnerIdHead;
/**
* // 单据类型:FBillTypeID (必填项)
*/@JsonProperty("FBillTypeID")
@NotBlank
private String FBillTypeID="RKD01_SYS";
public String FBillTypeID="RKD01_SYS";
/**
* // 货主类型:FOwnerTypeIdHead (必填项)
*/@JsonProperty("FOwnerTypeIdHead")
@NotBlank
private String FOwnerTypeIdHead;
public String FOwnerTypeIdHead;
/**
* // 定价时点:FPriceTimePoint (必填项)
*/@JsonProperty("FPriceTimePoint")
@NotBlank
private String FPriceTimePoint;
public String FPriceTimePoint;
/**
* // 结算币别:FSettleCurrId (必填项)
*/@JsonProperty("FSettleCurrId")
@NotBlank
private String FSettleCurrId;
public String FSettleCurrId;
/**
* // 结算组织:FSettleOrgId (必填项)
*/@JsonProperty("FSettleOrgId")
@NotBlank
private String FSettleOrgId;
public String FSettleOrgId;
/**
* // 物料列表:FInStockEntry (必填项)
*/@JsonProperty("FInStockEntry")
@NotBlank
private List<FInStockEntry> FInStockEntry=new ArrayList<>();
public List<FInStockEntry> FInStockEntry=new ArrayList<>();
@Data
public static class FInStockEntry{
@ -94,58 +94,58 @@ public class StkInStock {
* // 物料编码:FMaterialId (必填项)
*/@JsonProperty("FMaterialId")
@NotBlank
private String FMaterialId;
public String FMaterialId;
/**
* // 库存单位:FUnitID (必填项)
*/@JsonProperty("FUnitID")
@NotBlank
private String FUnitID;
public String FUnitID;
/**
* // 实收数量:FRealQty
*/@JsonProperty("FRealQty")
@NotBlank
private double FRealQty;
public double FRealQty;
/**
* // 计价数量:FPriceUnitQty
*/@JsonProperty("FPriceUnitQty")
@NotBlank
private String FPriceUnitQty;
public String FPriceUnitQty;
/**
* // 采购数量:FRemainInStockQty
*/@JsonProperty("FRemainInStockQty")
@NotBlank
private double FRemainInStockQty;
public double FRemainInStockQty;
/**
* // 批号:FLot
*/@JsonProperty("FLot")
@NotBlank
private String FLot;
public String FLot;
/**
* // 仓库:FStockId
*/@JsonProperty("FStockId")
@NotBlank
private String FStockId;
public String FStockId;
/**
* // 计价单位:FPriceUnitID (必填项)
*/@JsonProperty("FPriceUnitID")
@NotBlank
private String FPriceUnitID;
public String FPriceUnitID;
/**
* // 采购单位:FRemainInStockUnitId (必填项)
*/@JsonProperty("FRemainInStockUnitId")
@NotBlank
private String FRemainInStockUnitId;
public String FRemainInStockUnitId;
}
private final static StkInStock stkInStock = new StkInStock();
public final static StkInStock stkInStock = new StkInStock();
static {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

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

@ -111,5 +111,4 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean draftBdMaterial(@RequestBody BdMaterial bdMaterial) {
return bdMaterialService.draftBdMaterial(bdMaterial);
}
}

73
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java

@ -7,7 +7,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 转换业务数据到金蝶的接口上
@ -16,14 +20,12 @@ import java.util.List;
public class FinKingDeeService {
public static final Logger log = LoggerFactory.getLogger(FinKingDeeService.class);
/**
* 调用金蝶的接口
* 调用金蝶的保存接口
* @param data
* @return
*/
public ResultBean<List<KingDeeResult>> saveBill(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.SavePurRKD(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
@ -35,10 +37,8 @@ public class FinKingDeeService {
* @param data
* @return
*/
public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,String data) {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.submitKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
@ -50,10 +50,8 @@ public class FinKingDeeService {
* @param data
* @return
*/
public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,String data) {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.auditKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
@ -66,14 +64,59 @@ public class FinKingDeeService {
* @return
*/
public ResultBean<List<KingDeeResult>> allocateKingDeeBillData(String formId, String data) {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.allocateKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
private KingDeeParams getKingDeeParams(String formId, String data) {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
return kdp;
}
/**
* 构造map参数
* @param stringObjectMap
*/
public static Map<String, String> createMapParams(Map<String, Object> stringObjectMap) {
Map<String, String> map_fEntityModel_=new HashMap<>();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
return map_fEntityModel_;
}
public static Map<String,String> object2Map(Object obj) throws IllegalAccessException {
Map<String,String> map = new HashMap<String, String>();
Field[] fields = obj.getClass().getDeclaredFields();
for(Field field:fields){
log.info("key:{},value:{}",field.getName(),field.get(obj));
field.setAccessible(true);
if (field.get(obj)!=null && field.get(obj) instanceof String) {
map.put(field.getName(), (String) field.get(obj));
}else if(field.get(obj)!=null && field.get(obj) instanceof Double ){
map.put(field.getName(), field.get(obj).toString());
}
}
return map;
}
public static <T> List<Map<String, String>> createVehicleLists(List<T> objectList) throws IllegalAccessException {
ArrayList<Map<String, String>> resultList = new ArrayList<>();
for (T t : objectList) {
resultList.add(object2Map(t));
}
return resultList;
}
/**
* 调用金蝶接口的数据格式
*/

53
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java

@ -7,6 +7,7 @@ import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -23,57 +24,17 @@ public class ApPayBillService extends FinKingDeeService {
public ResultBean draftApPayBill(ApPayBill apPayBill) {
// apPayBill=ApPayBill.createApPayBill();
ResultBean rb=ResultBean.fireFail();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(apPayBill);
List<ApPayBill.FPAYBILLENTRY> fpaybillentrYs = apPayBill.getFPAYBILLENTRY();
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 = createVehicleListsForApPayBill(fpaybillentrYs);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap);
//准备 物料列表的数据 ForEntryBill
List<ApPayBill.FPAYBILLENTRY> fpaybillentrYs = apPayBill.getFPAYBILLENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpaybillentrYs);
String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.AP_PAYBILL.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 ApPayBill
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsForApPayBill(List<ApPayBill.FPAYBILLENTRY> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
ApPayBill.FPAYBILLENTRY 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);
}
}

23
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java

@ -20,7 +20,7 @@ import java.util.Map;
*/
@Service
public class BdMaterialService extends FinKingDeeService {
private static Logger log= LoggerFactory.getLogger("BdMaterialService");
private static Logger log= LoggerFactory.getLogger(BdMaterialService.class);
/**
* 保存采购出库单
* @param bdMaterial
@ -29,17 +29,10 @@ public class BdMaterialService extends FinKingDeeService {
public ResultBean draftBdMaterial(BdMaterial bdMaterial) {
// bdMaterial=BdMaterial.createBdMaterial();
ResultBean rb=ResultBean.fireFail();
Map<String,String> map_fEntityModel_=new HashMap<>();
//物料信息转map参数
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(bdMaterial);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
//物料信息转map参数 需要按照不同的字段类型进行处理
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());
}
}
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=createMapParams(stringObjectMap);
String kingDeeData = BdMaterialCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
try {
ResultBean<List<KingDeeResult>> resultBean = saveBill(KingDeeBillId.BD_MATERIAL.getID(), kingDeeData);
@ -63,12 +56,6 @@ public class BdMaterialService extends FinKingDeeService {
return rb.setMsg("物料审核失败!");
}
log.info("物料审核成功!");
String tOrgIds = bdMaterial.getTOrgIds();
if(StringUtils.isBlank(tOrgIds)){
//没有分配目标的组织架构的内码 不再调用分配的接口
return resultBean2;
}
String allocate = getAllocate(resultBean1,bdMaterial.getTOrgIds());
ResultBean<List<KingDeeResult>> resultBean3 = allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
@ -101,7 +88,6 @@ public class BdMaterialService extends FinKingDeeService {
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
//
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
}
@ -143,7 +129,4 @@ public class BdMaterialService extends FinKingDeeService {
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}
}

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

@ -1,15 +1,11 @@
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;
@ -25,55 +21,16 @@ public class PurMrbService extends FinKingDeeService {
// 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 {
Map<String,String> map_fEntityModel_=object2Map(purMrb);
//准备 物料列表的数据 ForEntryBill
List<PurMrb.FPURMRBENTRY> fpurmrbentry = purMrb.getFPURMRBENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpurmrbentry);
String kingDeeData = PurMrbCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
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);
}
}

49
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java

@ -26,55 +26,18 @@ public class SalOutStockService extends FinKingDeeService {
public ResultBean draftSalOutStock(SalOutStock salOutStock) {
// salOutStock=SalOutStock.createSalOutStock();
ResultBean rb=ResultBean.fireFail();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(salOutStock);
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
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 = createVehicleListsFEntity(fEntity);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = SalOutStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(salOutStock);
//准备 物料列表的数据 ForEntryBill
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
List<Map<String, String>> vehicleListMap = createVehicleLists(fEntity);
String kingDeeData = SalOutStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.SAL_OUTSTOCK.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 StkInStock
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsFEntity(List<SalOutStock.FEntity> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
SalOutStock.FEntity 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);
}
}

51
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java

@ -24,56 +24,17 @@ public class STKInStockService extends FinKingDeeService {
public ResultBean draftStkInStock(StkInStock stkInStock) {
// stkInStock=StkInStock.createStkInStock();
ResultBean rb=ResultBean.fireFail();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(stkInStock);
List<StkInStock.FInStockEntry> fInStockEntry = stkInStock.getFInStockEntry();
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 = createVehicleListsForStkInStock(fInStockEntry);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(stkInStock);
List<StkInStock.FInStockEntry> fInStockEntry = stkInStock.getFInStockEntry();
//准备 物料列表的数据 ForEntryBill
List<Map<String, String>> vehicleListMap = createVehicleLists(fInStockEntry);
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.STK_INSTOCK.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 StkInStock
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsForStkInStock(List<StkInStock.FInStockEntry> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
StkInStock.FInStockEntry 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);
}
}

Loading…
Cancel
Save