BIP采购入库对接修改;BIP委外加工入库修改

This commit is contained in:
2024-10-24 14:33:13 +08:00
parent dc2cf67ee6
commit ccf9941e64
2 changed files with 159 additions and 78 deletions

View File

@@ -170,77 +170,158 @@ namespace Tnb.WarehouseMgr
string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
erpRequestData.Add("approver", erpCreateId);
erpRequestData.Add("billmaker", erpCreateId);
erpRequestData.Add("cbiztype", wmsOutsourceH?.transaction_type ?? null);
erpRequestData.Add("bitinbill", false);
erpRequestData.Add("cgeneralhid", null);
erpRequestData.Add("corpoid", erpOrg?.corpoid ?? null);
erpRequestData.Add("corpvid", erpOrg?.corpvid ?? null);
erpRequestData.Add("creationtime", nowStr);
erpRequestData.Add("creator", erpCreateId);
erpRequestData.Add("ctrantypeid", erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null);
erpRequestData.Add("cvendorid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null);
erpRequestData.Add("cvendorvid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? null);
// erpRequestData.Add("cwarehouseid", erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "");//类型视图里取
// erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsPurchaseD.erp_wh_type)?.erp_warehouseid ?? ""
// erpRequestData.Add("cwarehouseid", "1001A11000000002OOGU");
erpRequestData.Add("cwarehouseid", wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU");
erpRequestData.Add("dbilldate", nowStr);
erpRequestData.Add("dmakedate", nowStr);
erpRequestData.Add("fbillflag", 2);
erpRequestData.Add("fbuysellflag", 2);
erpRequestData.Add("ntotalnum", allInstockDetails.Sum(x => x.qty));
erpRequestData.Add("pk_org", erpOrg?.pk_org ?? null);
erpRequestData.Add("pk_org_v", erpOrg?.pk_org_v ?? null);
erpRequestData.Add("pk_group", erpOrg?.pk_group ?? null);
erpRequestData.Add("vbillcode", wmsOutsourceH?.outsource_order ?? null);
erpRequestData.Add("vtrantypecode", tranType?.EnCode ?? null);
erpRequestData.Add("csourcebillhid", wmsOutsourceH?.erp_arriveorder_pk ?? null);
erpRequestData.Add("vdef3", wmsOutsourceH?.service_num ?? null);
#region
//erpRequestData.Add("approver", erpCreateId);
//erpRequestData.Add("billmaker", erpCreateId);
//erpRequestData.Add("cbiztype", wmsOutsourceH?.transaction_type ?? null);
//erpRequestData.Add("bitinbill", false);
//erpRequestData.Add("cgeneralhid", null);
//erpRequestData.Add("corpoid", erpOrg?.corpoid ?? null);
//erpRequestData.Add("corpvid", erpOrg?.corpvid ?? null);
//erpRequestData.Add("creationtime", nowStr);
//erpRequestData.Add("creator", erpCreateId);
//erpRequestData.Add("ctrantypeid", erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null);
//erpRequestData.Add("cvendorid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null);
//erpRequestData.Add("cvendorvid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? null);
//// erpRequestData.Add("cwarehouseid", erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "");//类型视图里取
//// erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsPurchaseD.erp_wh_type)?.erp_warehouseid ?? ""
//// erpRequestData.Add("cwarehouseid", "1001A11000000002OOGU");
//erpRequestData.Add("cwarehouseid", wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU");
//erpRequestData.Add("dbilldate", nowStr);
//erpRequestData.Add("dmakedate", nowStr);
//erpRequestData.Add("fbillflag", 2);
//erpRequestData.Add("fbuysellflag", 2);
//erpRequestData.Add("ntotalnum", allInstockDetails.Sum(x => x.qty));
//erpRequestData.Add("pk_org", erpOrg?.pk_org ?? null);
//erpRequestData.Add("pk_org_v", erpOrg?.pk_org_v ?? null);
//erpRequestData.Add("pk_group", erpOrg?.pk_group ?? null);
//erpRequestData.Add("vbillcode", wmsOutsourceH?.outsource_order ?? null);
//erpRequestData.Add("vtrantypecode", tranType?.EnCode ?? null);
//erpRequestData.Add("csourcebillhid", wmsOutsourceH?.erp_arriveorder_pk ?? null);
//erpRequestData.Add("vdef3", wmsOutsourceH?.service_num ?? null);
//List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
//foreach (WmsInstockD item in allInstockDetails)
//{
// erpRequestDataDetails.Add(new Dictionary<string, object>()
// {
// ["castunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? null,
// ["cbodytranstypecode"] = erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null,
// // ["cbodywarehouseid"] = erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "",
// //["cbodywarehouseid"] = erpWarehouserelaHs.Find(x => x.erp_warehousecode == basWarehouse.whcode)?.erp_warehouseid ?? "",
// // ["cbodywarehouseid"] = "1001A11000000002OOGU",
// ["cbodywarehouseid"] = wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU",
// ["cgeneralbid"] = null,
// ["cgeneralhid"] = null,
// ["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialoid ?? null,
// ["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialvid ?? null,
// ["corpoid"] = erpOrg?.corpoid ?? null,
// ["corpvid"] = erpOrg?.corpvid ?? null,
// ["crowno"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10,
// ["cunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? null,
// ["cvendorid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null,
// ["cvendorvid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? null,
// ["dbizdate"] = wmsOutsourceH.create_time.ToString("yyyy-MM-dd HH:mm:ss"),
// ["nnum"] = item.qty,
// ["nshouldnum"] = item.pr_qty,
// // ["pk_creqwareid"] = erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "",
// // ["pk_creqwareid"] = "1001A11000000002OOGU",
// ["pk_creqwareid"] = wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU",
// ["pk_group"] = erpOrg?.pk_group ?? null,
// ["pk_org"] = erpOrg?.pk_org ?? null,
// ["pk_org_v"] = erpOrg?.pk_org_v ?? null,
// ["pseudocolumn"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10,
// ["vbatchcode"] = item.code_batch,
// ["csourcebillhid"] = wmsOutsourceH?.erp_arriveorder_pk ?? null,
// ["csourcebillbid"] = wmsOutsourceD?.erp_arriveorder_b_pk ?? null,
// ["vsourcebillcode"] = wmsOutsourceH?.outsource_order ?? null,
// ["lineno"] = wmsPurchaseOrderDs?.lineno ?? null,
// ["vfree1"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null,
// //["flargess"] = wmsOutsourceD.gift==1,
// ["ntaxprice"] = wmsOutsourceD.price ?? null,
// });
//}
#endregion
#region
#region
erpRequestData.Add("billmaker", erpCreateId);//制单人
erpRequestData.Add("cbizid", erpOrg?.person_id ?? null);//业务员
erpRequestData.Add("cbiztype", wmsOutsourceH?.transaction_type ?? null);//业务流程
erpRequestData.Add("cdptid", erpOrg?.cdptid ?? null);//部门id
erpRequestData.Add("cdptvid", erpOrg?.cdptvid ?? null);//部门vid
erpRequestData.Add("corpoid", erpOrg?.corpoid ?? null);//公司id
erpRequestData.Add("corpvid", erpOrg?.corpvid ?? null);//公司vid
erpRequestData.Add("creationtime", nowStr);//创建时间
erpRequestData.Add("creator", erpCreateId);//创建人
erpRequestData.Add("cscwarehouseid", null);//委外仓
erpRequestData.Add("ctrantypeid", erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null);//出入库类型
erpRequestData.Add("cvendorid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null);//供应商
erpRequestData.Add("cvendorvid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? null);//供应商vid
erpRequestData.Add("cwarehouseid", wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU");//仓库id
erpRequestData.Add("dbilldate", nowStr);//单据日期
erpRequestData.Add("dmakedate", nowStr);//制单日期
erpRequestData.Add("fbillflag", 2);//单据状态
erpRequestData.Add("fbuysellflag", 2);//购销类型
erpRequestData.Add("ntotalnum", allInstockDetails.Sum(x => x.qty));//总数量
erpRequestData.Add("pk_group", erpOrg?.pk_group ?? null);//集体
erpRequestData.Add("pk_org", erpOrg?.pk_org ?? null);//组织
erpRequestData.Add("pk_org_v", erpOrg?.pk_org_v ?? null);//组织vid
erpRequestData.Add("vbillcode", wmsOutsourceH?.outsource_order ?? null);//单据号
erpRequestData.Add("vtrantypecode", tranType?.EnCode ?? null);//出入库类型编码
erpRequestData.Add("csourcebillhid", wmsOutsourceH?.erp_arriveorder_pk ?? null);//来源单据主表id
#endregion
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
foreach (WmsInstockD item in allInstockDetails)
{
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["castunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? null,
["cbodytranstypecode"] = erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null,
// ["cbodywarehouseid"] = erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "",
//["cbodywarehouseid"] = erpWarehouserelaHs.Find(x => x.erp_warehousecode == basWarehouse.whcode)?.erp_warehouseid ?? "",
// ["cbodywarehouseid"] = "1001A11000000002OOGU",
["cbodywarehouseid"] = wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU",
["cgeneralbid"] = null,
["cgeneralhid"] = null,
["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialoid ?? null,
["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialvid ?? null,
["corpoid"] = erpOrg?.corpoid ?? null,
["corpvid"] = erpOrg?.corpvid ?? null,
["crowno"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10,
["cunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? null,
["cvendorid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null,
["cvendorvid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? null,
["dbizdate"] = wmsOutsourceH.create_time.ToString("yyyy-MM-dd HH:mm:ss"),
["nnum"] = item.qty,
["nshouldnum"] = item.pr_qty,
// ["pk_creqwareid"] = erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "",
// ["pk_creqwareid"] = "1001A11000000002OOGU",
["pk_creqwareid"] = wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU",
["pk_group"] = erpOrg?.pk_group ?? null,
["pk_org"] = erpOrg?.pk_org ?? null,
["pk_org_v"] = erpOrg?.pk_org_v ?? null,
["pseudocolumn"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10,
["vbatchcode"] = item.code_batch,
["csourcebillhid"] = wmsOutsourceH?.erp_arriveorder_pk ?? null,
["csourcebillbid"] = wmsOutsourceD?.erp_arriveorder_b_pk ?? null,
["vsourcebillcode"] = wmsOutsourceH?.outsource_order ?? null,
["lineno"] = wmsPurchaseOrderDs?.lineno ?? null,
["vfree1"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null,
//["flargess"] = wmsOutsourceD.gift==1,
["ntaxprice"] = wmsOutsourceD.price ?? null,
["cbodytranstypecode"] = erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null, //出入库类型
["cbodywarehouseid"] = wmsOutsourceD?.erp_wh_type ?? "1001A11000000002OOGU", //库存仓库
["ccurrencyid"] = null, //本位币
["cmainmaterialoid"] = null, //主产品id
["cmainvendorid"] = null, //主产品供应商id
["cmainvendorvid"] = null, //主产品供应商vid
});
["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialoid ?? null, //物料
["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialvid ?? null, //物料vid
["corigcurrencyid"] = null, //币种
["corpoid"] = erpOrg?.corpoid ?? null, //公司
["corpvid"] = erpOrg?.corpvid ?? null, //公司vid
["cqtunitid"] = null, //报价单位
["crowno"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10, //行号
["cunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? null, //主单位
["cvendorid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null, //供应商
["cvendorvid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? null, //供应商vid
["dbizdate"] = wmsOutsourceH.create_time.ToString("yyyy-MM-dd HH:mm:ss"), //入库日期
["csourcebillhid"] = wmsOutsourceH?.erp_arriveorder_pk ?? null, //来源单主表id
["csourcebillbid"] = wmsOutsourceD?.erp_arriveorder_b_pk ?? null, //来源单子表id
["csourcetype"] = item.source_type ?? null, //来源单据类型
["csourcetranstype"] = erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? null, //来源单据交易类型
["vsourcebillcode"] = wmsOutsourceH?.outsource_order ?? null, //来源单据号
["vsourcerowno"] = null, //来源单据行号
["nnum"] = item.qty, //实收主数量
["nshouldnum"] = item.pr_qty, //应收主数量
["pk_batchcode"] = null, //批次主键
["pk_group"] = erpOrg?.pk_group ?? null, //集团
["pk_org"] = erpOrg?.pk_org ?? null, //组织
["pk_org_v"] = erpOrg?.pk_org_v ?? null, //组织vid
["vbatchcode"] = item.code_batch, //批次号
["vfree1"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? null, //自由辅助属性1
});
}
#endregion
erpRequestData.Add("dtls", erpRequestDataDetails);
requestData.Add(erpRequestData);
}
@@ -276,10 +357,10 @@ namespace Tnb.WarehouseMgr
ThirdWebapiRecord thirdWebapiRecord = new ThirdWebapiRecord();
thirdWebapiRecord.id = SnowflakeIdHelper.NextId();
thirdWebapiRecord.third_name = WmsWareHouseConst.BIP;
thirdWebapiRecord.name = "委外入库";
thirdWebapiRecord.name = "委外加工入库";
thirdWebapiRecord.method = "POST";
thirdWebapiRecord.url = config.value + "uapws/rest/purchaseIn/save";
//thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN + "uapws/rest/purchaseIn/save";
//thirdWebapiRecord.url = config.value + "uapws/rest/subcontIn/save";
thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN + "uapws/rest/subcontIn/save";
thirdWebapiRecord.request_data = JsonConvert.SerializeObject(requestData);
thirdWebapiRecord.create_time = DateTime.Now;
thirdWebapiRecord.remark = "【WmsOutsourceDService SaveCheckResult】委外收货单号:" + (wmsOutsourceH?.outsource_order ?? "")+ ",erp委外订单号:" + (wmsPurchaseOrderH?.erp_bill_code ?? "");

View File

@@ -298,7 +298,7 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("pk_org",erpOrg.pk_org);
erpRequestData.Add("pk_org_v",erpOrg.pk_org_v);
erpRequestData.Add("pk_group",erpOrg.pk_group);
erpRequestData.Add("pk_pupsndoc","");
erpRequestData.Add("pk_pupsndoc",null);
erpRequestData.Add("csourceid", wmsPurchaseOrderH?.erp_pk ?? "");
erpRequestData.Add("pk_purchaseorg",erpOrg.pk_org);
erpRequestData.Add("pk_purchaseorg_v",erpOrg.pk_org_v);
@@ -306,23 +306,23 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("pk_supplier_v",erpExtendFields.Find(x=>x.table_id==purchase.supplier_id)?.supplier_vid ?? "");//先写死
erpRequestData.Add("vbillcode",purchase.bill_code);
erpRequestData.Add("vmemo",purchase.remark);
erpRequestData.Add("vtrantypecode","");
erpRequestData.Add("vtrantypecode","23-01");
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
foreach(WmsPurchaseD item in dList)
{
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["castunitid"] = erpExtendFields.Find(x=>x.table_id==(unitDatas.Find(x=>x.EnCode==item.unit_id || x.Id==item.unit_id)?.Id ?? ""))?.cunitid ?? "",
["cfirstbid"] = wmsPurchaseOrderH?.erp_pk ?? "",
["castunitid"] = erpExtendFields.Find(x=>x.table_id==(unitDatas.Find(x=>x.EnCode==item.unit_id || x.Id==item.unit_id)?.Id ?? ""))?.cunitid ?? null,
["cfirstbid"] = wmsPurchaseOrderH?.erp_pk ?? null,
["cfirstid"] = item.erp_purchase_order_d_pk,
["cfirsttypecode"] = "",
["cfirsttypecode"] = null,
["crececountryid"] = "0001Z010000000079UJJ",
["crowno"] = item.erp_purchase_order_d_lineno,
["csendcountryid"] = "0001Z010000000079UJJ",
["csourcetypecode"] = "",
["csourcetypecode"] = null,
["ctaxcountryid"] = "0001Z010000000079UJJ",
["cunitid"] = erpExtendFields.Find(x=>x.table_id==(unitDatas.Find(x=>x.EnCode==item.unit_id || x.Id==item.unit_id)?.Id ?? ""))?.cunitid ?? "",
["cunitid"] = erpExtendFields.Find(x=>x.table_id==(unitDatas.Find(x=>x.EnCode==item.unit_id || x.Id==item.unit_id)?.Id ?? ""))?.cunitid ?? null,
["dbilldate"] = purchase.create_time.ToString("yyyy-MM-dd HH:mm:ss"),
["dplanreceivedate"] = purchase.create_time.ToString("yyyy-MM-dd HH:mm:ss"),
["dproducedate"] = purchase.create_time.ToString("yyyy-MM-dd HH:mm:ss"),
@@ -338,8 +338,8 @@ namespace Tnb.WarehouseMgr
["pk_arriveorder"] = null,
["pk_arriveorder_b"] = null,
["pk_group"] = erpOrg.pk_group,
["pk_material"] = erpExtendFields.Find(x=>x.table_id==item.material_id)?.cmaterialoid ?? "",
["pk_order"] = wmsPurchaseOrderH?.erp_pk ?? "",
["pk_material"] = erpExtendFields.Find(x=>x.table_id==item.material_id)?.cmaterialoid ?? null,
["pk_order"] = wmsPurchaseOrderH?.erp_pk ?? null,
["pk_order_b"] = item.erp_purchase_order_d_pk,
["pk_org"] = erpOrg.pk_org,
["pk_org_v"] = erpOrg.pk_org_v,
@@ -350,15 +350,15 @@ namespace Tnb.WarehouseMgr
["pk_receivestore"] = item.erp_wh_type,
["pk_reqstoorg"] = erpOrg.pk_org,
["pk_reqstoorg_v"] = erpOrg.pk_org_v,
["pk_srcmaterial"] = erpExtendFields.Find(x=>x.table_id==item.material_id)?.cmaterialoid ?? "",
["pk_srcmaterial"] = erpExtendFields.Find(x=>x.table_id==item.material_id)?.cmaterialoid ?? null,
["vbatchcode"] = item.code_batch,
["Vfree1"] = item.code_batch,
["mes_detail_id"] = item.id,
["bpresent"] = item.gift==1,
["csourceid"] = wmsPurchaseOrderH?.erp_pk ?? "",
["csourceid"] = wmsPurchaseOrderH?.erp_pk ?? null,
["vsourcecode"] = wmsPurchaseOrderH.erp_bill_code,
["csourcebid"] = item.erp_purchase_order_d_pk,
["IsType"] = 0,
["isType"] = 0,
["csourcetypecode"] = null,
["vsourcerowno"] = null,
["vsourcetrantype"] = null,