From 98183ea01cd04da025266f613992c4e6491fb4d9 Mon Sep 17 00:00:00 2001 From: zhou keda <1315948824@qq.com> Date: Wed, 21 Aug 2024 14:58:53 +0800 Subject: [PATCH] 1 --- .../Tnb.WarehouseMgr/WmsInStockService.cs | 240 +++++++++--------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs index c946bf5c..df8c3a18 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs @@ -319,126 +319,126 @@ namespace Tnb.WarehouseMgr - WmsTempCode wmsTempCode = await _db.Queryable() - .LeftJoin((a, b) => a.barcode == b.barcode) - .Where((a, b) => a.carry_id == input.wmsDistaskH.carry_id) - .Select((a, b) => b) - .FirstAsync(); - - string purchaseDId = wmsTempCode?.require_id ?? ""; - WmsPurchaseD wmsPurchaseD = await _db.Queryable().SingleAsync(x => x.id == purchaseDId); - string purchaseHId = wmsPurchaseD?.bill_id ?? ""; - WmsPurchaseH wmsPurchaseH = await _db.Queryable().SingleAsync(x => x.id == purchaseHId); - string wmsPurchaseOrderHId = wmsPurchaseH?.erp_bill_code ?? ""; - WmsPurchaseOrderH wmsPurchaseOrderH = await _db.Queryable().SingleAsync(x => x.id == wmsPurchaseOrderHId); - WmsPurchaseOrderD wmsPurchaseOrderDs = await _db.Queryable().FirstAsync(x => x.fk_wms_purchase_order_id == wmsPurchaseOrderHId); - BasWarehouse basWarehouse = await _db.Queryable().SingleAsync(x=>x.id==instock.warehouse_id); - - List materialIds = allInstockDetails.Select(x => x.material_id).Distinct().ToList(); - List unitCodes = allInstockDetails.Select(x => x.unit_id).Distinct().ToList(); - List unitDatas = await _db.Queryable() - .LeftJoin((x, y) => x.Id == y.DictionaryTypeId) - .Where((x, y) => x.EnCode == DictConst.MeasurementUnit && unitCodes.Contains(y.EnCode)) - .Select((x, y) => y) - .ToListAsync(); - List erpWarehouserelaHs = await _db.Queryable().Where(x=>x.id!=null).ToListAsync(); - - DictionaryDataEntity tranType = await _db.Queryable().Where(x=>x.DictionaryTypeId=="25043925951909" && x.EnCode==wmsPurchaseH.transaction_type).FirstAsync(); - string tranTypeId = tranType?.Id ?? ""; - string supplierId = wmsPurchaseOrderH?.supplier_id ?? ""; - List tableIds = new List(); - tableIds.Add(_userManager.UserId); - tableIds.Add(WmsWareHouseConst.AdministratorOrgId); - tableIds.Add(instock.warehouse_id); - tableIds.AddRange(materialIds); - tableIds.Add(supplierId); - tableIds.Add(tranTypeId); - tableIds.AddRange(unitDatas.Select(x => x.Id).ToList()); - - List erpExtendFields = await _db.Queryable().Where(x => tableIds.Contains(x.table_id)).ToListAsync(); - string erpCreateId = erpExtendFields.Find(x => x.table_id == instock.create_id)?.user_id ?? ""; - ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (WmsWareHouseConst.AdministratorOrgId)); - string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - - List> requestData = new List>(); - Dictionary erpRequestData = new Dictionary(); - erpRequestData.Add("approver", erpCreateId); - erpRequestData.Add("billmaker", erpCreateId); - erpRequestData.Add("bitinbill", false); - erpRequestData.Add("cgeneralhid", null); - erpRequestData.Add("corpoid", erpOrg.corpoid); - erpRequestData.Add("corpvid", erpOrg.corpvid); - erpRequestData.Add("creationtime", nowStr); - erpRequestData.Add("creator", erpCreateId); - erpRequestData.Add("ctrantypeid", erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? ""); - erpRequestData.Add("cvendorid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? ""); - erpRequestData.Add("cvendorvid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? ""); - // erpRequestData.Add("cwarehouseid", erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "");//类型视图里取 - erpRequestData.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsPurchaseD.erp_wh_type)?.erp_warehouseid ?? "");//类型视图里取 - 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); - erpRequestData.Add("pk_org_v", erpOrg.pk_org_v); - erpRequestData.Add("pk_group", erpOrg.pk_group); - erpRequestData.Add("vbillcode", instock.bill_code); - erpRequestData.Add("vtrantypecode", tranType?.EnCode ?? ""); - - List> erpRequestDataDetails = new List>(); - foreach (WmsInstockD item in allInstockDetails) - { - erpRequestDataDetails.Add(new Dictionary() - { - ["castunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? "", - ["cbodytranstypecode"] = erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? "", - ["cbodywarehouseid"] = erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "", - ["cgeneralbid"] = "", - ["cgeneralhid"] = "", - ["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"] = (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 ?? "", - ["cvendorid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? "", - ["cvendorvid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? "", - ["dbizdate"] = instock.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"] = erpWarehouserelaHs.Find(x => x.erp_warehousecode == basWarehouse.whcode)?.erp_warehouseid ?? "", - ["pk_group"] = erpOrg.pk_group, - ["pk_org"] = erpOrg.pk_org, - ["pk_org_v"] = erpOrg.pk_org_v, - ["pseudocolumn"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10, - ["vbatchcode"] = item.code_batch, - ["csourcebillhid"] = wmsPurchaseH?.erp_arriveorder_pk ?? "", - ["csourcebillbid"] = wmsPurchaseD?.erp_arriveorder_b_pk ?? "", - ["vsourcebillcode"] = wmsPurchaseH?.bill_code ?? "", - ["lineno"] = wmsPurchaseOrderDs?.lineno ?? "", - ["vfree1"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? "", - ["bpresent"] = wmsPurchaseD.gift==1, - ["ntaxprice"] = wmsPurchaseD.price, - - }); - } - erpRequestData.Add("dtls", erpRequestDataDetails); - requestData.Add(erpRequestData); - BasFactoryConfig config = await _db.Queryable().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.BIPURL); - - ThirdWebapiRecord thirdWebapiRecord = new ThirdWebapiRecord(); - thirdWebapiRecord.id = SnowflakeIdHelper.NextId(); - thirdWebapiRecord.third_name = WmsWareHouseConst.BIP; - thirdWebapiRecord.name = "采购入库"; - thirdWebapiRecord.method = "POST"; - // thirdWebapiRecord.url = config.value + "uapws/rest/purchaseIn/save"; - thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN + "uapws/rest/purchaseIn/save"; - thirdWebapiRecord.request_data = JsonConvert.SerializeObject(requestData); - thirdWebapiRecord.create_time = DateTime.Now; - thirdWebapiRecord.remark = "采购收货单号:" + (wmsPurchaseH?.bill_code ?? ""); - await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync(); + // WmsTempCode wmsTempCode = await _db.Queryable() + // .LeftJoin((a, b) => a.barcode == b.barcode) + // .Where((a, b) => a.carry_id == input.wmsDistaskH.carry_id) + // .Select((a, b) => b) + // .FirstAsync(); + // + // string purchaseDId = wmsTempCode?.require_id ?? ""; + // WmsPurchaseD wmsPurchaseD = await _db.Queryable().SingleAsync(x => x.id == purchaseDId); + // string purchaseHId = wmsPurchaseD?.bill_id ?? ""; + // WmsPurchaseH wmsPurchaseH = await _db.Queryable().SingleAsync(x => x.id == purchaseHId); + // string wmsPurchaseOrderHId = wmsPurchaseH?.erp_bill_code ?? ""; + // WmsPurchaseOrderH wmsPurchaseOrderH = await _db.Queryable().SingleAsync(x => x.id == wmsPurchaseOrderHId); + // WmsPurchaseOrderD wmsPurchaseOrderDs = await _db.Queryable().FirstAsync(x => x.fk_wms_purchase_order_id == wmsPurchaseOrderHId); + // BasWarehouse basWarehouse = await _db.Queryable().SingleAsync(x=>x.id==instock.warehouse_id); + // + // List materialIds = allInstockDetails.Select(x => x.material_id).Distinct().ToList(); + // List unitCodes = allInstockDetails.Select(x => x.unit_id).Distinct().ToList(); + // List unitDatas = await _db.Queryable() + // .LeftJoin((x, y) => x.Id == y.DictionaryTypeId) + // .Where((x, y) => x.EnCode == DictConst.MeasurementUnit && unitCodes.Contains(y.EnCode)) + // .Select((x, y) => y) + // .ToListAsync(); + // List erpWarehouserelaHs = await _db.Queryable().Where(x=>x.id!=null).ToListAsync(); + // + // DictionaryDataEntity tranType = await _db.Queryable().Where(x=>x.DictionaryTypeId=="25043925951909" && x.EnCode==wmsPurchaseH.transaction_type).FirstAsync(); + // string tranTypeId = tranType?.Id ?? ""; + // string supplierId = wmsPurchaseOrderH?.supplier_id ?? ""; + // List tableIds = new List(); + // tableIds.Add(_userManager.UserId); + // tableIds.Add(WmsWareHouseConst.AdministratorOrgId); + // tableIds.Add(instock.warehouse_id); + // tableIds.AddRange(materialIds); + // tableIds.Add(supplierId); + // tableIds.Add(tranTypeId); + // tableIds.AddRange(unitDatas.Select(x => x.Id).ToList()); + // + // List erpExtendFields = await _db.Queryable().Where(x => tableIds.Contains(x.table_id)).ToListAsync(); + // string erpCreateId = erpExtendFields.Find(x => x.table_id == instock.create_id)?.user_id ?? ""; + // ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (WmsWareHouseConst.AdministratorOrgId)); + // string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + // + // List> requestData = new List>(); + // Dictionary erpRequestData = new Dictionary(); + // erpRequestData.Add("approver", erpCreateId); + // erpRequestData.Add("billmaker", erpCreateId); + // erpRequestData.Add("bitinbill", false); + // erpRequestData.Add("cgeneralhid", null); + // erpRequestData.Add("corpoid", erpOrg.corpoid); + // erpRequestData.Add("corpvid", erpOrg.corpvid); + // erpRequestData.Add("creationtime", nowStr); + // erpRequestData.Add("creator", erpCreateId); + // erpRequestData.Add("ctrantypeid", erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? ""); + // erpRequestData.Add("cvendorid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? ""); + // erpRequestData.Add("cvendorvid", erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? ""); + // // erpRequestData.Add("cwarehouseid", erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "");//类型视图里取 + // erpRequestData.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsPurchaseD.erp_wh_type)?.erp_warehouseid ?? "");//类型视图里取 + // 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); + // erpRequestData.Add("pk_org_v", erpOrg.pk_org_v); + // erpRequestData.Add("pk_group", erpOrg.pk_group); + // erpRequestData.Add("vbillcode", instock.bill_code); + // erpRequestData.Add("vtrantypecode", tranType?.EnCode ?? ""); + // + // List> erpRequestDataDetails = new List>(); + // foreach (WmsInstockD item in allInstockDetails) + // { + // erpRequestDataDetails.Add(new Dictionary() + // { + // ["castunitid"] = erpExtendFields.Find(x => x.table_id == (unitDatas.Find(x => x.EnCode == item.unit_id)?.Id ?? ""))?.cunitid ?? "", + // ["cbodytranstypecode"] = erpExtendFields.Find(x => x.table_id == tranTypeId)?.transaction_type_id ?? "", + // ["cbodywarehouseid"] = erpExtendFields.Find(x => x.table_id == instock.warehouse_id)?.cotherwhid ?? "", + // ["cgeneralbid"] = "", + // ["cgeneralhid"] = "", + // ["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"] = (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 ?? "", + // ["cvendorid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? "", + // ["cvendorvid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? "", + // ["dbizdate"] = instock.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"] = erpWarehouserelaHs.Find(x => x.erp_warehousecode == basWarehouse.whcode)?.erp_warehouseid ?? "", + // ["pk_group"] = erpOrg.pk_group, + // ["pk_org"] = erpOrg.pk_org, + // ["pk_org_v"] = erpOrg.pk_org_v, + // ["pseudocolumn"] = (allInstockDetails.FindIndex(x => x.id == item.id) + 1) * 10, + // ["vbatchcode"] = item.code_batch, + // ["csourcebillhid"] = wmsPurchaseH?.erp_arriveorder_pk ?? "", + // ["csourcebillbid"] = wmsPurchaseD?.erp_arriveorder_b_pk ?? "", + // ["vsourcebillcode"] = wmsPurchaseH?.bill_code ?? "", + // ["lineno"] = wmsPurchaseOrderDs?.lineno ?? "", + // ["vfree1"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? "", + // ["bpresent"] = wmsPurchaseD.gift==1, + // ["ntaxprice"] = wmsPurchaseD.price, + // + // }); + // } + // erpRequestData.Add("dtls", erpRequestDataDetails); + // requestData.Add(erpRequestData); + // BasFactoryConfig config = await _db.Queryable().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.BIPURL); + // + // ThirdWebapiRecord thirdWebapiRecord = new ThirdWebapiRecord(); + // thirdWebapiRecord.id = SnowflakeIdHelper.NextId(); + // thirdWebapiRecord.third_name = WmsWareHouseConst.BIP; + // thirdWebapiRecord.name = "采购入库"; + // thirdWebapiRecord.method = "POST"; + // // thirdWebapiRecord.url = config.value + "uapws/rest/purchaseIn/save"; + // thirdWebapiRecord.url = WmsWareHouseConst.BIP_DOMAIN + "uapws/rest/purchaseIn/save"; + // thirdWebapiRecord.request_data = JsonConvert.SerializeObject(requestData); + // thirdWebapiRecord.create_time = DateTime.Now; + // thirdWebapiRecord.remark = "采购收货单号:" + (wmsPurchaseH?.bill_code ?? ""); + // await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync(); } // 委外入库 else if (instock.bill_type == WmsWareHouseConst.BILLTYPE_OUTSOURCEINSTOCK_ID)