|
|
@ -1,21 +1,29 @@ |
|
|
|
package com.yxt.anrui.fin.biz.kingdee.stkinstock; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.bdmaterial.BdMaterialService; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@Service |
|
|
|
@Slf4j |
|
|
|
public class STKInStockService extends FinKingDeeService { |
|
|
|
|
|
|
|
@Resource |
|
|
|
private BdMaterialService bdMaterialService; |
|
|
|
/** |
|
|
|
* 保存采购入库单 |
|
|
|
* @param stkInStock |
|
|
@ -23,6 +31,47 @@ public class STKInStockService extends FinKingDeeService { |
|
|
|
*/ |
|
|
|
public ResultBean draftStkInStock(StkInStock stkInStock) { |
|
|
|
// stkInStock=StkInStock.createStkInStock();
|
|
|
|
List<StkInStock.FInStockEntry> fInStockEntry1 = stkInStock.getFInStockEntry(); |
|
|
|
for (StkInStock.FInStockEntry f: fInStockEntry1){ |
|
|
|
ResultBean<String> kingDataInfoByNumber = getKingDataInfoByNumber(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId()); |
|
|
|
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData()); |
|
|
|
JSONObject result = (JSONObject)jsonObject.get("Result"); |
|
|
|
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus"); |
|
|
|
if(responseStatus!=null){ |
|
|
|
//不存在该物料
|
|
|
|
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); |
|
|
|
BdMaterial bdMaterial=new BdMaterial(); |
|
|
|
bdMaterial.setFName(f.getFMaterialId()); |
|
|
|
bdMaterial.setF_PAEZ_Base(f.getCllx()); |
|
|
|
bdMaterial.setFMaterialGroup(f.getWlfz()); |
|
|
|
bdMaterial.setTOrgIds(stkInStock.getTOrgId()); |
|
|
|
bdMaterialService.draftBdMaterial(bdMaterial); |
|
|
|
}else{ |
|
|
|
//存在该物料
|
|
|
|
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); |
|
|
|
JSONObject result2 = (JSONObject)result.get("Result"); |
|
|
|
Integer Id = (Integer)result2.get("Id"); |
|
|
|
log.info("Id:{}",Id); |
|
|
|
String jsonParam="{\\\"FormId\\\":\\\""+KingDeeBillId.BD_MATERIAL+"\\\"," + |
|
|
|
"\\\"FieldKeys\\\":\\\"FUseOrgId\\\",\\\"FilterString\\\":\\\"FNumber='"+f.getFMaterialId()+"'\\\",\\\"OrderString\\\":\\\"\\\"," + |
|
|
|
"\\\"TopRowCount\\\":\\\"0\\\",\\\"StartRow\\\":\\\"0\\\",\\\"Limit\\\":\\\"100\\\"}"; |
|
|
|
ResultBean<String> kingBillDataInfoList = getKingBillDataInfoList(KingDeeBillId.BD_MATERIAL.getID(), jsonParam); |
|
|
|
//if(kingBillDataInfoList.getData().indexOf(stkInStock.getTOrgId())<0){
|
|
|
|
String data="{\"formId\":\""+KingDeeBillId.BD_MATERIAL.getID()+"\"," + |
|
|
|
"\"data\":\"{\\\"PkIds\\\":\\\""+Id+"\\\",\\\"TOrgIds\\\":\\\""+stkInStock.getTOrgId()+"\\\"," + |
|
|
|
"\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}"; |
|
|
|
ResultBean<List<KingDeeResult>> resultBean3 =allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(),data);// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
|
|
|
|
if(!resultBean3.getSuccess()){ |
|
|
|
log.info("物料分配失败!"); |
|
|
|
// return resultBean3.setMsg("物料分配失败!");
|
|
|
|
} |
|
|
|
log.info("物料分配成功!"); |
|
|
|
log.info("resultBean3:{}",resultBean3); |
|
|
|
// }
|
|
|
|
} |
|
|
|
} |
|
|
|
// ResultBean<String> kingBillDataInfoList = bdMaterialService.getKingBillDataInfoList(KingDeeBillId.BD_MATERIAL, "");
|
|
|
|
ResultBean rb=ResultBean.fireFail(); |
|
|
|
try { |
|
|
|
//业务表的主表数据集合
|
|
|
|