其他入库

This commit is contained in:
2024-07-15 17:32:34 +08:00
parent 71b3cfba94
commit 3d07942f32
2 changed files with 86 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ using JNPF.Common.Extension;
using JNPF.Common.Manager; using JNPF.Common.Manager;
using JNPF.Common.Security; using JNPF.Common.Security;
using JNPF.FriendlyException; using JNPF.FriendlyException;
using JNPF.Systems.Entitys.System;
using JNPF.Systems.Interfaces.System; using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev.Entitys; using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces; using JNPF.VisualDev.Interfaces;
@@ -40,6 +41,7 @@ using Tnb.Common.Extension;
using Tnb.Common.Redis; using Tnb.Common.Redis;
using Tnb.Common.Utils; using Tnb.Common.Utils;
using Tnb.ProductionMgr.Entities; using Tnb.ProductionMgr.Entities;
using Tnb.ProductionMgr.Entities.Entity;
using Tnb.QcMgr.Entities; using Tnb.QcMgr.Entities;
using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Configs; using Tnb.WarehouseMgr.Entities.Configs;
@@ -52,6 +54,7 @@ using Tnb.WarehouseMgr.Entities.Entity;
using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Entities.Enums;
using Tnb.WarehouseMgr.Interfaces; using Tnb.WarehouseMgr.Interfaces;
using static NPOI.HSSF.Util.HSSFColor; using static NPOI.HSSF.Util.HSSFColor;
using Tnb.BasicData;
namespace Tnb.WarehouseMgr namespace Tnb.WarehouseMgr
{ {
@@ -2342,6 +2345,86 @@ namespace Tnb.WarehouseMgr
// require_code是任务单 // require_code是任务单
//string mo_task_code = dt.require_code; //string mo_task_code = dt.require_code;
} }
else if (dt.biz_type == "erp_qtrk")
{
WmsMaterialTransfer wmsMaterialTransfer = await _db.Queryable<WmsMaterialTransfer>().SingleAsync(x=>x.id==dt.source_id);
List<WmsMaterialTransferD> wmsMaterialTransferDs = await _db.Queryable<WmsMaterialTransferD>().Where(x=>x.bill_id==dt.source_id).ToListAsync();
List<String> materialIds = wmsMaterialTransferDs.Select(x=>x.material_id).Distinct().ToList();
List<String> unitCodes = wmsMaterialTransferDs.Select(x => x.unit_id).Distinct().ToList();
List<DictionaryDataEntity> unitDatas = await _db.Queryable<DictionaryTypeEntity>()
.LeftJoin<DictionaryDataEntity>((x, y) => x.Id == y.DictionaryTypeId)
.Where((x, y) => x.EnCode == DictConst.MeasurementUnit && unitCodes.Contains(y.EnCode))
.Select((x,y)=>y)
.ToListAsync();
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(unitDatas.Select(x=>x.Id).ToList());
List<ErpExtendField> erpExtendFields = await _db.Queryable<ErpExtendField>().Where(x=>ids.Contains(x.table_id)).ToListAsync();
string erpCreateId = erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.create_id)?.user_id ?? "";
ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (wmsMaterialTransfer.org_id ?? WmsWareHouseConst.AdministratorOrgId));
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
erpRequestData.Add("approver",erpCreateId);
erpRequestData.Add("billmaker",erpCreateId);
erpRequestData.Add("corpoid",erpOrg.corpoid);
erpRequestData.Add("corpvid",erpOrg.corpvid);
erpRequestData.Add("creationtime",DateTime.Now);
erpRequestData.Add("creator",erpCreateId);
erpRequestData.Add("ctrantypeid","0001H11000000000D30Z");
erpRequestData.Add("cwarehouseid",erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.warehouse_instock)?.cotherwhid ?? "");
erpRequestData.Add("cwhsmanagerid","");
erpRequestData.Add("dbilldate",DateTime.Now);
erpRequestData.Add("dmakedate",DateTime.Now);
erpRequestData.Add("ntotalnum",wmsMaterialTransferDs.Sum(x=>x.qty));
erpRequestData.Add("pk_group",erpOrg.pk_group);
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");
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();
foreach(WmsMaterialTransferD item in wmsMaterialTransferDs)
{
erpRequestDataDetails.Add(new Dictionary<string, object>()
{
["cbodytranstypecode"] = "4A-01",
["cbodywarehouseid"] = erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.warehouse_instock)?.cotherwhid ?? "",
["cgeneralbid"] = erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.warehouse_instock)?.cotherwhid ?? "",
["cgeneralbid"] = item.id,
["cgeneralhid"] = item.bill_id,
["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,
["cunitid"] = erpExtendFields.Find(x=>x.table_id==(unitDatas.Find(x=>x.EnCode==item.unit_id)?.Id ?? ""))?.cunitid ?? "",
["cvendorid"] = "",
["cvendorvid"] = "",
["dbizdate"] = DateTime.Now,
["nnum"] = item.qty,
["pk_group"] = erpOrg.pk_group,
["pk_org"] = erpOrg.pk_org,
["pk_org_v"] = erpOrg.pk_org_v,
["vbatchcode"] = item.code_batch,
});
}
erpRequestData.Add("dtls",erpRequestDataDetails);
ThirdWebapiRecord thirdWebapiRecord = new ThirdWebapiRecord();
thirdWebapiRecord.id = SnowflakeIdHelper.NextId();
thirdWebapiRecord.third_name = WmsWareHouseConst.BIP;
thirdWebapiRecord.name = "其它入库";
thirdWebapiRecord.method = "POST";
thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN+"uapws/rest/generalin/save";
thirdWebapiRecord.request_data = JsonConvert.SerializeObject(erpRequestData);
thirdWebapiRecord.create_time = DateTime.Now;
await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync();
}
#endregion #endregion
List<WmsDistaskCode> disTaskCodes = await _db.Queryable<WmsDistaskCode>().Where(it => it.bill_id == dt.id).ToListAsync(); List<WmsDistaskCode> disTaskCodes = await _db.Queryable<WmsDistaskCode>().Where(it => it.bill_id == dt.id).ToListAsync();

View File

@@ -644,9 +644,7 @@ namespace Tnb.WarehouseMgr
List<ErpExtendField> erpExtendFields = await _db.Queryable<ErpExtendField>().Where(x=>ids.Contains(x.table_id)).ToListAsync(); List<ErpExtendField> erpExtendFields = await _db.Queryable<ErpExtendField>().Where(x=>ids.Contains(x.table_id)).ToListAsync();
ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == wmsMaterialTransfer.org_id); ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (wmsMaterialTransfer.org_id ?? WmsWareHouseConst.AdministratorOrgId));
if (erpOrg == null)
throw Oops.Bah("未配置erp组织");
string erpCreateId = erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.create_id)?.user_id ?? ""; string erpCreateId = erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.create_id)?.user_id ?? "";
Dictionary<string, object> erpRequestData = new Dictionary<string, object>(); Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
@@ -692,13 +690,14 @@ namespace Tnb.WarehouseMgr
["pk_org_v"] = erpOrg.pk_org_v, ["pk_org_v"] = erpOrg.pk_org_v,
["vbatchcode"] = wmsMaterialTransferd.code_batch, ["vbatchcode"] = wmsMaterialTransferd.code_batch,
}); });
erpRequestData.Add("dtls",erpRequestDataDetails);
ThirdWebapiRecord thirdWebapiRecord = new ThirdWebapiRecord(); ThirdWebapiRecord thirdWebapiRecord = new ThirdWebapiRecord();
thirdWebapiRecord.id = SnowflakeIdHelper.NextId(); thirdWebapiRecord.id = SnowflakeIdHelper.NextId();
thirdWebapiRecord.third_name = WmsWareHouseConst.BIP; thirdWebapiRecord.third_name = WmsWareHouseConst.BIP;
thirdWebapiRecord.name = "其它出库"; thirdWebapiRecord.name = "其它出库";
thirdWebapiRecord.method = "POST"; thirdWebapiRecord.method = "POST";
thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN+"uapws/rest/purarrvial/save"; thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN+"uapws/rest/generalout/save";
thirdWebapiRecord.request_data = JsonConvert.SerializeObject(erpRequestData); thirdWebapiRecord.request_data = JsonConvert.SerializeObject(erpRequestData);
thirdWebapiRecord.create_time = DateTime.Now; thirdWebapiRecord.create_time = DateTime.Now;