This commit is contained in:
2024-09-19 15:28:12 +08:00
parent 9c098c0a6f
commit b6494a4cd8
8 changed files with 53 additions and 29 deletions

View File

@@ -102,6 +102,12 @@ namespace Tnb.ProductionMgr
throw Oops.Bah("计划数量不能为空");
}
if (string.IsNullOrEmpty(item.dept_id))
{
Log.Error("【SavePrdMo】生产部门id不能为空");
throw Oops.Bah("生产部门id不能为空");
}
if (item.ebom_version == null || item.ebom_version.IsEmpty())
{
Log.Error("【SavePrdMo】物料清单版本不能为空");
@@ -153,6 +159,7 @@ namespace Tnb.ProductionMgr
item.erp_line_pk = item.erp_line_pk;
item.erp_lineno = item.erp_lineno;
item.unit_id = unitDic?.EnCode ?? item.unit_id;
item.dept_id = item.dept_id;
moList.Add(item);
}

View File

@@ -2503,6 +2503,8 @@ namespace Tnb.ProductionMgr
// erpExtendIds.Add(report.create_id);
erpExtendIds.Add(WmsWareHouseConst.AdministratorOrgId);
erpExtendIds.Add(report.material_id);
erpExtendIds.Add(prdMo.dept_id);
// erpExtendIds.Add(report.unit_id);
erpExtendIds.AddRange(unitDatas.Select(x => x.Id).ToList());
@@ -2512,14 +2514,14 @@ namespace Tnb.ProductionMgr
string erpCreateId = erpExtendFields.Find(x => x.table_id == userId)?.user_id ?? WmsWareHouseConst.ERPUSERID;
ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (WmsWareHouseConst.AdministratorOrgId));
string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
List<Dictionary<string, object>> requestData = new List<Dictionary<string, object>>();
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
erpRequestData.Add("auditer", erpCreateId);
erpRequestData.Add("billmaker", erpCreateId);
erpRequestData.Add("cdeptid", "1001A1100000001JFOPQ"); //部门先写死
erpRequestData.Add("cdeptvid", "0001A1100000000AOMIQ"); //部门先写死
erpRequestData.Add("cdeptid", prdMo.dept_id); //部门先写死1001A1100000001JFOPQ
erpRequestData.Add("cdeptvid", erpExtendFields.Find(x=>x.cdptid==prdMo.dept_id)?.cdptvid ?? ""); //部门先写死
erpRequestData.Add("taudittime", nowStr);
erpRequestData.Add("creationtime", nowStr);
erpRequestData.Add("creator", erpCreateId);
@@ -2537,8 +2539,8 @@ namespace Tnb.ProductionMgr
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["cbdeptid"] = "1001A1100000001JFOPQ", //部门先写死
["cbdeptvid"] = "0001A1100000000AOMIQ", //部门先写死
["cbdeptid"] = prdMo.dept_id,
["cbdeptvid"] = erpExtendFields.Find(x=>x.cdptid==prdMo.dept_id)?.cdptvid ?? "", //部门先写死
["cbmainmaterialid"] = erpExtendFields.Find(x => x.table_id == report.material_id)?.cmaterialoid ?? "",
["cbmainmaterialvid"] = erpExtendFields.Find(x => x.table_id == report.material_id)?.cmaterialvid ?? "",
["cbmaterialid"] = erpExtendFields.Find(x => x.table_id == report.material_id)?.cmaterialvid ?? "",
@@ -2557,6 +2559,7 @@ namespace Tnb.ProductionMgr
["vbmobillcode"] = prdMo.mo_code,
["vbmorowno"] = prdMo.erp_lineno,
["vbrowno"] = prdMo.erp_lineno,
["vbdef2"] = null,//todo 工时后续要改
});
erpRequestData.Add("AggWrDtl", erpRequestDataDetails);

View File

@@ -1617,7 +1617,7 @@ namespace Tnb.ProductionMgr
await _db.Ado.CommitTranAsync();
msg = $"新增供应商{insertDepts.Count}条,修改供应商{editCount}条";
msg = $"新增部门{insertDepts.Count}条,修改部门{editCount}条";
}
catch (Exception e)
{

View File

@@ -3232,11 +3232,18 @@ namespace Tnb.WarehouseMgr
.Select((x, y) => y)
.ToListAsync();
List<WmsCarryCode> wmsCarryCodes = await db.Queryable<WmsCarryCode>()
.Where(a => a.carry_id == dt.carry_id)
.ToListAsync();
List<string> supplierIds = wmsCarryCodes.Select(x => x.auxprop_gys).Distinct().ToList();
List<string> ids = new List<string>();
//ids.Add(wmsMaterialTransfer.create_id);
ids.Add(WmsWareHouseConst.AdministratorOrgId);
ids.Add(wmsMaterialTransfer.warehouse_instock);
ids.AddRange(materialIds);
ids.AddRange(supplierIds);
ids.AddRange(unitDatas.Select(x => x.Id).ToList());
string userId = wmsMaterialTransfer.create_id ?? WmsWareHouseConst.AdministratorUserId;
@@ -3257,7 +3264,7 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("corpvid", erpOrg.corpvid);
erpRequestData.Add("creationtime", nowStr);
erpRequestData.Add("creator", erpCreateId);
erpRequestData.Add("ctrantypeid", "0001H11000000000D30Z");
erpRequestData.Add("ctrantypeid", "0001H11000000000D310");
// erpRequestData.Add("cwarehouseid",erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.warehouse_instock)?.cotherwhid ?? "");
// erpRequestData.Add("cwarehouseid", wmsMaterialTransfer.erp_warehouse_instock);
erpRequestData.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsMaterialTransfer.erp_warehouse_instock)?.erp_warehouseid ?? "");
@@ -3269,22 +3276,23 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("pk_org", erpOrg.pk_org);
erpRequestData.Add("pk_org_v", erpOrg.pk_org_v);
erpRequestData.Add("vbillcode", wmsMaterialTransfer.bill_code);
erpRequestData.Add("vtrantypecode", "4A-01");
erpRequestData.Add("vtrantypecode", "4A-02");
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
foreach (WmsMaterialTransferD item in wmsMaterialTransferDs)
{
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["cbodytranstypecode"] = "4A-01",
["cbodytranstypecode"] = "4A-02",
["cbodywarehouseid"] = erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsMaterialTransfer.erp_warehouse_instock)?.erp_warehouseid ?? "",
["cgeneralbid"] = erpWarehouserelaHs.Find(x => x.wms_warehousecode == whcode)?.erp_warehouseid ?? "",
//["cgeneralbid"] = erpWarehouserelaHs.Find(x => x.wms_warehousecode == whcode)?.erp_warehouseid ?? "",
["cgeneralbid"] = null,
["cgeneralhid"] = null,
["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialoid ?? "",
["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == item.material_id)?.cmaterialvid ?? "",
["corpoid"] = erpOrg.corpoid,
["corpvid"] = erpOrg.corpvid,
["crowno"] = (wmsMaterialTransferDs.FindIndex(x => x.id == item.id) + 1) * 10,
// ["crowno"] = (wmsMaterialTransferDs.FindIndex(x => x.id == item.id) + 1) * 10,
["crowno"] = item.lineno,
["cunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? "",
["cvendorid"] = "",
["cvendorvid"] = "",
@@ -3296,6 +3304,7 @@ namespace Tnb.WarehouseMgr
["csourcebillbid"] = item.erp_line_pk,
["csourcebillhid"] = wmsMaterialTransfer.erp_pk,
["vbatchcode"] = item.code_batch,
["vfree1"] = wmsCarryCodes[0].auxprop_xph,
});
}
erpRequestData.Add("dtls", erpRequestDataDetails);

View File

@@ -328,8 +328,8 @@ namespace Tnb.WarehouseMgr
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
erpRequestData.Add("billmaker", erpCreateId);
// erpRequestData.Add("cbiztype", "");
erpRequestData.Add("cdptid","1001A1100000001JFOPQ");//部门先写死
erpRequestData.Add("cdptvid","0001A1100000000AOMIQ");//部门先写死
erpRequestData.Add("cdptid",null);//部门先写死
erpRequestData.Add("cdptvid",null);//部门先写死
erpRequestData.Add("corpoid", erpOrg.corpoid);
erpRequestData.Add("corpvid", erpOrg.corpvid);
erpRequestData.Add("cotherwhid", wmsRawmatTransferoutstockD.warehouse_instock_code);
@@ -420,6 +420,7 @@ namespace Tnb.WarehouseMgr
ids.Add(wmsMaterialTransfer.warehouse_outstock);
ids.Add(wmsMaterialTransfer.warehouse_instock);
ids.Add(wmsMaterialTransferd.material_id);
ids.Add(wmsCarryCodes[0].auxprop_gys);
ids.Add(unitId);
string userId = wmsMaterialTransfer.create_id ?? WmsWareHouseConst.AdministratorUserId;
ids.Add(userId);
@@ -438,8 +439,8 @@ namespace Tnb.WarehouseMgr
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
erpRequestData.Add("billmaker", erpCreateId);
erpRequestData.Add("cdptid", "1001A1100000001JFOPQ");// 先写死
erpRequestData.Add("cdptvid", "0001A1100000000AOMIQ");// 先写死
erpRequestData.Add("cdptid", null);// 先写死
erpRequestData.Add("cdptvid", null);// 先写死
erpRequestData.Add("corpoid", erpOrg.corpoid);
erpRequestData.Add("corpvid", erpOrg.corpoid);
erpRequestData.Add("cothercalbodyoid", erpOrg.pk_org);
@@ -447,7 +448,7 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("cotherwhid", erpWarehouserelaHs.Find(x => x.wms_warehousecode == inwhcode)?.erp_warehouseid ?? "");
erpRequestData.Add("creationtime", nowStr);
erpRequestData.Add("creator", erpCreateId);
erpRequestData.Add("ctrantypeid", "0001H11000000000D31W");
erpRequestData.Add("ctrantypeid", "0001H11000000000D31X");
erpRequestData.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.wms_warehousecode == outwhcode)?.erp_warehouseid ?? "");
erpRequestData.Add("dbilldate", nowStr);
erpRequestData.Add("dmakedate", nowStr);
@@ -456,12 +457,12 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("pk_org", erpOrg.pk_org);
erpRequestData.Add("pk_org_v", erpOrg.pk_org_v);
erpRequestData.Add("vbillcode", wmsMaterialTransfer.bill_code);
erpRequestData.Add("vtrantypecode", "4I-01");//其他出库 先写死
erpRequestData.Add("vtrantypecode", "4I-02");//其他出库 先写死
erpRequestData.Add("csourcebillhid", wmsMaterialTransfer.erp_pk);//其他出库 先写死
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["cbodytranstypecode"] = "4I-01",
["cbodytranstypecode"] = "4I-02",
["cbodywarehouseid"] = erpWarehouserelaHs.Find(x => x.wms_warehousecode == outwhcode)?.erp_warehouseid ?? "",
["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == wmsMaterialTransferd.material_id)?.cmaterialoid ?? "",
["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == wmsMaterialTransferd.material_id)?.cmaterialvid ?? "",
@@ -471,8 +472,8 @@ namespace Tnb.WarehouseMgr
["csourcebillbid"] = wmsMaterialTransferd.erp_line_pk,
["csourcebillhid"] = wmsMaterialTransfer.erp_pk,
["cunitid"] = erpExtendFields.Find(x => x.table_id == unitId)?.cunitid ?? "",
["cvendorid"] = "",
["cvendorvid"] = "",
["cvendorid"] = erpExtendFields.Find((x=>x.table_id==wmsCarryCodes[0].auxprop_gys))?.supplier_id ?? "",
["cvendorvid"] = erpExtendFields.Find((x=>x.table_id==wmsCarryCodes[0].auxprop_gys))?.supplier_vid ?? "",
["dbizdate"] = nowStr,
["nnum"] = wmsMaterialSignDs.Sum(r => r.sign_qty),
["nshouldnum"] = wmsMaterialTransferd.qty,
@@ -480,6 +481,7 @@ namespace Tnb.WarehouseMgr
["pk_org"] = erpOrg.pk_org,
["pk_org_v"] = erpOrg.pk_org_v,
["vbatchcode"] = wmsMaterialTransferd.code_batch,
["vfree1"] = wmsCarryCodes[0].auxprop_xph,
});
erpRequestData.Add("dtls", erpRequestDataDetails);
requestData.Add(erpRequestData);

View File

@@ -1053,6 +1053,7 @@ namespace Tnb.WarehouseMgr
ids.Add(wmsMaterialTransfer.warehouse_outstock);
ids.Add(wmsMaterialTransfer.warehouse_instock);
ids.Add(wmsMaterialTransferd.material_id);
ids.Add(wmsCarryCodes[0].auxprop_gys);
ids.Add(unitId);
string userId = wmsMaterialTransfer.create_id ?? WmsWareHouseConst.AdministratorUserId;
ids.Add(userId);
@@ -1071,8 +1072,8 @@ namespace Tnb.WarehouseMgr
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
erpRequestData.Add("billmaker", erpCreateId);
erpRequestData.Add("cdptid", "1001A1100000001JFOPQ");// 先写死
erpRequestData.Add("cdptvid", "0001A1100000000AOMIQ");// 先写死
erpRequestData.Add("cdptid", null);// 先写死
erpRequestData.Add("cdptvid", null);// 先写死
erpRequestData.Add("corpoid", erpOrg.corpoid);
erpRequestData.Add("corpvid", erpOrg.corpoid);
erpRequestData.Add("cothercalbodyoid", erpOrg.pk_org);
@@ -1080,7 +1081,7 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("cotherwhid", erpWarehouserelaHs.Find(x => x.wms_warehousecode == inwhcode)?.erp_warehouseid ?? "");
erpRequestData.Add("creationtime", nowStr);
erpRequestData.Add("creator", erpCreateId);
erpRequestData.Add("ctrantypeid", "0001H11000000000D31W");
erpRequestData.Add("ctrantypeid", "0001H11000000000D31X");
erpRequestData.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.wms_warehousecode == outwhcode)?.erp_warehouseid ?? "");
erpRequestData.Add("dbilldate", nowStr);
erpRequestData.Add("dmakedate", nowStr);
@@ -1089,12 +1090,12 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("pk_org", erpOrg.pk_org);
erpRequestData.Add("pk_org_v", erpOrg.pk_org_v);
erpRequestData.Add("vbillcode", wmsMaterialTransfer.bill_code);
erpRequestData.Add("vtrantypecode", "4I-01");//其他出库 先写死
erpRequestData.Add("vtrantypecode", "4I-02");//其他出库 先写死
erpRequestData.Add("csourcebillhid", wmsMaterialTransfer.erp_pk);
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["cbodytranstypecode"] = "4I-01",
["cbodytranstypecode"] = "4I-02",
["cbodywarehouseid"] = erpWarehouserelaHs.Find(x => x.wms_warehousecode == outwhcode)?.erp_warehouseid ?? "",
["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == wmsMaterialTransferd.material_id)?.cmaterialoid ?? "",
["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == wmsMaterialTransferd.material_id)?.cmaterialvid ?? "",
@@ -1104,8 +1105,8 @@ namespace Tnb.WarehouseMgr
["csourcebillbid"] = wmsMaterialTransferd.erp_line_pk,
["csourcebillhid"] = wmsMaterialTransfer.erp_pk,
["cunitid"] = erpExtendFields.Find(x => x.table_id == unitId)?.cunitid ?? "",
["cvendorid"] = "",
["cvendorvid"] = "",
["cvendorid"] = erpExtendFields.Find((x=>x.table_id==wmsCarryCodes[0].auxprop_gys))?.supplier_id ?? "",
["cvendorvid"] = erpExtendFields.Find((x=>x.table_id==wmsCarryCodes[0].auxprop_gys))?.supplier_vid ?? "",
["dbizdate"] = nowStr,
["nnum"] = wmsCarryCodes.Sum(r => r.codeqty),
["nshouldnum"] = wmsMaterialTransferd.qty,
@@ -1113,6 +1114,7 @@ namespace Tnb.WarehouseMgr
["pk_org"] = erpOrg.pk_org,
["pk_org_v"] = erpOrg.pk_org_v,
["vbatchcode"] = wmsMaterialTransferd.code_batch,
["vfree1"] = wmsCarryCodes[0].auxprop_xph,
});
erpRequestData.Add("dtls", erpRequestDataDetails);
requestData.Add(erpRequestData);

View File

@@ -443,6 +443,7 @@ namespace Tnb.WarehouseMgr
["pk_org"] = erpOrg.pk_org,
["pk_org_v"] = erpOrg.pk_org_v,
["vbatchcode"] = item.code_batch,
["vproductbatch"] = prdMo.mo_code.Split("-")[0],
});
}
erpRequestData.Add("dtls", erpRequestDataDetails);

View File

@@ -228,9 +228,9 @@ namespace Tnb.WarehouseMgr
["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"),
["fbuysellflag"] = 2,
// ["fbuysellflag"] = 2,
["fproductclass"] = 1,
["naccumchecknum"] = 0,
// ["naccumchecknum"] = 0,
// ["nastnum"] = item.purchase_arriveqty,
["nnum"] = item.purchase_arriveqty,
// ["nplanastnum"] = 0,