diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs index 340d83ca..4288e0eb 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialSignHService.cs @@ -613,6 +613,8 @@ namespace Tnb.WarehouseMgr thirdWebapiRecord2.request_data = JsonConvert.SerializeObject(requestData2); thirdWebapiRecord2.create_time = DateTime.Now; thirdWebapiRecord2.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}"; + + await _db.Insertable(thirdWebapiRecord2).ExecuteCommandAsync(); } break; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs index d8a6b8d7..bf95f39f 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs @@ -1069,7 +1069,97 @@ namespace Tnb.WarehouseMgr { Logger.LogInformation("【WmsMaterialTransferService ModifyAsync】同步其它入库单到erp..."); + List dList = await _db.Queryable().Where(x => x.bill_id == wmsMaterialTransferd.bill_id).OrderBy(x => x.id).ToListAsync(); + DictionaryDataEntity unitData = await _db.Queryable() + .LeftJoin((x, y) => x.Id == y.DictionaryTypeId) + .Where((x, y) => x.EnCode == DictConst.MeasurementUnit && (y.EnCode == wmsMaterialTransferd.unit_id || y.Id== wmsMaterialTransferd.unit_id)) + .Select((x, y) => y) + .FirstAsync(); + string unitId = unitData?.Id ?? ""; + List ids = new List(); + // ids.Add(wmsMaterialTransfer.create_id); + ids.Add(WmsWareHouseConst.AdministratorOrgId); + 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); + List erpExtendFields = await _db.Queryable().Where(x => ids.Contains(x.table_id)).ToListAsync(); + ErpExtendField erpOrg = erpExtendFields.Find(x => x.table_id == (wmsMaterialTransfer.org_id ?? WmsWareHouseConst.AdministratorOrgId)); + string erpCreateId = erpExtendFields.Find(x => x.table_id == userId)?.user_id ?? WmsWareHouseConst.ERPUSERID; + List erpWarehouserelaHs = await _db.Queryable().Where(x => x.id != null).ToListAsync(); + BasWarehouse outWarehouse = await _db.Queryable().SingleAsync(x => x.id == wmsMaterialTransfer.warehouse_outstock); + BasWarehouse inWarehouse = await _db.Queryable().SingleAsync(x => x.id == wmsMaterialTransfer.warehouse_instock); + string inwhcode = inWarehouse?.whcode ?? ""; + string outwhcode = outWarehouse?.whcode ?? ""; + string nowStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + List> requestData2 = new List>(); + Dictionary erpRequestData2 = new Dictionary(); + erpRequestData2.Add("approver", erpCreateId); + erpRequestData2.Add("billmaker", erpCreateId); + erpRequestData2.Add("corpoid", erpOrg.corpoid); + erpRequestData2.Add("corpvid", erpOrg.corpvid); + erpRequestData2.Add("creationtime", nowStr); + erpRequestData2.Add("creator", erpCreateId); + erpRequestData2.Add("ctrantypeid", "0001H11000000000D310"); + // erpRequestData2.Add("cwarehouseid",erpExtendFields.Find(x=>x.table_id==wmsMaterialTransfer.warehouse_instock)?.cotherwhid ?? ""); + // erpRequestData2.Add("cwarehouseid", wmsMaterialTransfer.erp_warehouse_instock); + erpRequestData2.Add("cwarehouseid", erpWarehouserelaHs.Find(x => x.erp_warehousecode == wmsMaterialTransfer.erp_warehouse_instock)?.erp_warehouseid ?? ""); + erpRequestData2.Add("cwhsmanagerid", ""); + erpRequestData2.Add("dbilldate", nowStr); + erpRequestData2.Add("dmakedate", nowStr); + erpRequestData2.Add("ntotalnum", wmsMaterialTransferd.qty); + erpRequestData2.Add("pk_group", erpOrg.pk_group); + erpRequestData2.Add("pk_org", erpOrg.pk_org); + erpRequestData2.Add("pk_org_v", erpOrg.pk_org_v); + erpRequestData2.Add("vbillcode", wmsMaterialTransfer.bill_code); + erpRequestData2.Add("vtrantypecode", "4A-02"); + List> erpRequestDataDetails2 = new List>(); + erpRequestDataDetails2.Add(new Dictionary() + { + ["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"] = null, + ["cgeneralhid"] = null, + ["cmaterialoid"] = erpExtendFields.Find(x => x.table_id == wmsMaterialTransferd.material_id)?.cmaterialoid ?? "", + ["cmaterialvid"] = erpExtendFields.Find(x => x.table_id == wmsMaterialTransferd.material_id)?.cmaterialvid ?? "", + ["corpoid"] = erpOrg.corpoid, + ["corpvid"] = erpOrg.corpvid, + // ["crowno"] = (wmsMaterialTransferDs.FindIndex(x => x.id == item.id) + 1) * 10, + ["crowno"] = wmsMaterialTransferd.lineno, + ["cunitid"] = erpExtendFields.Find(x => x.table_id == unitId)?.cunitid ?? "", + ["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"] = wmsMaterialTransferd.qty, + ["pk_group"] = erpOrg.pk_group, + ["pk_org"] = erpOrg.pk_org, + ["pk_org_v"] = erpOrg.pk_org_v, + ["csourcebillbid"] = wmsMaterialTransferd.erp_line_pk, + ["csourcebillhid"] = wmsMaterialTransfer.erp_pk, + ["vbatchcode"] = wmsMaterialTransferd.code_batch, + ["vfree1"] = wmsCarryCodes[0].auxprop_xph, + }); + erpRequestData2.Add("dtls", erpRequestDataDetails2); + requestData2.Add(erpRequestData2); + + ThirdWebapiRecord thirdWebapiRecord2 = new ThirdWebapiRecord(); + thirdWebapiRecord2.id = SnowflakeIdHelper.NextId(); + thirdWebapiRecord2.third_name = WmsWareHouseConst.BIP; + thirdWebapiRecord2.name = "其它入库"; + thirdWebapiRecord2.method = "POST"; + // thirdWebapiRecord.url = config.value + "uapws/rest/generalin/save"; + thirdWebapiRecord2.url = WmsWareHouseConst.BIP_DOMAIN + "uapws/rest/generalin/save"; + thirdWebapiRecord2.request_data = JsonConvert.SerializeObject(requestData2); + thirdWebapiRecord2.create_time = DateTime.Now; + thirdWebapiRecord2.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}"; + + await _db.Insertable(thirdWebapiRecord2).ExecuteCommandAsync(); } // 其它出库 else