其他入库
This commit is contained in:
@@ -18,6 +18,7 @@ using JNPF.Common.Extension;
|
||||
using JNPF.Common.Manager;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.FriendlyException;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using JNPF.VisualDev.Entitys;
|
||||
using JNPF.VisualDev.Interfaces;
|
||||
@@ -40,6 +41,7 @@ using Tnb.Common.Extension;
|
||||
using Tnb.Common.Redis;
|
||||
using Tnb.Common.Utils;
|
||||
using Tnb.ProductionMgr.Entities;
|
||||
using Tnb.ProductionMgr.Entities.Entity;
|
||||
using Tnb.QcMgr.Entities;
|
||||
using Tnb.WarehouseMgr.Entities;
|
||||
using Tnb.WarehouseMgr.Entities.Configs;
|
||||
@@ -52,6 +54,7 @@ using Tnb.WarehouseMgr.Entities.Entity;
|
||||
using Tnb.WarehouseMgr.Entities.Enums;
|
||||
using Tnb.WarehouseMgr.Interfaces;
|
||||
using static NPOI.HSSF.Util.HSSFColor;
|
||||
using Tnb.BasicData;
|
||||
|
||||
namespace Tnb.WarehouseMgr
|
||||
{
|
||||
@@ -2342,6 +2345,86 @@ namespace Tnb.WarehouseMgr
|
||||
// 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
|
||||
|
||||
List<WmsDistaskCode> disTaskCodes = await _db.Queryable<WmsDistaskCode>().Where(it => it.bill_id == dt.id).ToListAsync();
|
||||
|
||||
@@ -644,9 +644,7 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
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);
|
||||
if (erpOrg == null)
|
||||
throw Oops.Bah("未配置erp组织");
|
||||
ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (wmsMaterialTransfer.org_id ?? WmsWareHouseConst.AdministratorOrgId));
|
||||
string erpCreateId = erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.create_id)?.user_id ?? "";
|
||||
|
||||
Dictionary<string, object> erpRequestData = new Dictionary<string, object>();
|
||||
@@ -692,13 +690,14 @@ namespace Tnb.WarehouseMgr
|
||||
["pk_org_v"] = erpOrg.pk_org_v,
|
||||
["vbatchcode"] = wmsMaterialTransferd.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/purarrvial/save";
|
||||
thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN+"uapws/rest/generalout/save";
|
||||
thirdWebapiRecord.request_data = JsonConvert.SerializeObject(erpRequestData);
|
||||
thirdWebapiRecord.create_time = DateTime.Now;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user