diff --git a/BasicData/Tnb.BasicData/ThirdApiRecordService.cs b/BasicData/Tnb.BasicData/ThirdApiRecordService.cs index d6bfbd27..f9f0a5f7 100644 --- a/BasicData/Tnb.BasicData/ThirdApiRecordService.cs +++ b/BasicData/Tnb.BasicData/ThirdApiRecordService.cs @@ -1,5 +1,6 @@ using System.Diagnostics; using JNPF.Common.Core.Manager; +using JNPF.Common.Extension; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.Extras.CollectiveOAuth.Utils; @@ -53,7 +54,14 @@ namespace Tnb.BasicData ThirdResult thirdResult = new ThirdResult(); try { - thirdResult = JsonConvert.DeserializeObject(response); + if (response != null && !response.IsEmpty()) + { + thirdResult = JsonConvert.DeserializeObject(response); + } + else + { + thirdResult.Code = 500; + } } catch (Exception e) { diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRule.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRule.cs index 2a3a79ca..f79a5958 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRule.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldMaintainRule.cs @@ -14,6 +14,11 @@ public partial class ToolMoldMaintainRule : BaseEntity { id = SnowflakeIdHelper.NextId(); } + + /// + /// 名称 + /// + public string name { get; set; } /// /// 保养方式 /// diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs index 639fcd84..05d9e15e 100644 --- a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs @@ -18,6 +18,11 @@ public partial class ToolMolds : BaseEntity /// 模具编号 /// public string? mold_code { get; set; } + + /// + /// 组织id + /// + public string org_id {get;set; } /// /// 模具名称 @@ -55,7 +60,7 @@ public partial class ToolMolds : BaseEntity public string? mold_status { get; set; } /// - /// 日定额 + /// 班定额 /// public decimal? daily_rate { get; set; } @@ -65,7 +70,7 @@ public partial class ToolMolds : BaseEntity public decimal? hour_norm { get; set; } /// - /// 成长周期 + /// 成长周期 秒 /// public decimal? growth_cycle { get; set; } @@ -75,7 +80,7 @@ public partial class ToolMolds : BaseEntity public int? cavity_qty { get; set; } /// - /// 模具寿命 + /// 模具寿命 模 /// public int? mold_life { get; set; } @@ -125,9 +130,14 @@ public partial class ToolMolds : BaseEntity public string? extras { get; set; } /// - /// 模穴数 + /// 有效模穴数 /// public int? mold_cavity { get; set; } + + /// + /// 出厂模穴数 + /// + public int? ex_factory_mold_cavity { get; set; } /// /// 模具型号 @@ -139,5 +149,38 @@ public partial class ToolMolds : BaseEntity public string item_json { get; set; } public string qrcode { get; set; } - + + /// + /// 供应商id + /// + public string supplier_id { get; set; } + + /// + /// 验收时间 + /// + public DateTime? check_time { get; set; } + /// + /// 质保期开始 + /// + public DateTime? warranty_period_start_time { get; set; } + /// + /// 质保期结束 + /// + public DateTime? warranty_period_end_time { get; set; } + /// + /// 开模时间 + /// + public DateTime? open_time { get; set; } + /// + /// 模具地点 + /// + public string address { get; set; } + /// + /// 模具规格 + /// + public string mold_specification {get;set; } + /// + /// 图纸图号 + /// + public string url { get; set; } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs index 3c3d5172..71331ebd 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsInStockService.cs @@ -5,10 +5,12 @@ using JNPF.Common.Filter; using JNPF.Common.Security; using JNPF.EventBus; using JNPF.FriendlyException; +using JNPF.Systems.Entitys.System; using JNPF.Systems.Interfaces.System; using Mapster; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; using SqlSugar; using Tnb.BasicData.Entities; using Tnb.Common.Utils; @@ -22,6 +24,8 @@ using Tnb.WarehouseMgr.Entities.Dto.Outputs; using Tnb.WarehouseMgr.Entities.Dto.Queries; using Tnb.WarehouseMgr.Entities.Enums; using Tnb.WarehouseMgr.Interfaces; +using Tnb.ProductionMgr.Entities.Entity; +using Tnb.BasicData; namespace Tnb.WarehouseMgr { @@ -307,6 +311,99 @@ namespace Tnb.WarehouseMgr instock.status = WmsWareHouseConst.BILLSTATUS_ON_ID; } _ = await _db.Updateable(instock).UpdateColumns(it => it.status).ExecuteCommandAsync(); + + + 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 tableIds = new List(); + tableIds.Add(_userManager.UserId); + tableIds.Add(WmsWareHouseConst.AdministratorOrgId); + tableIds.Add(instock.warehouse_id); + tableIds.AddRange(materialIds); + tableIds.Add(instock.supplier_id); + 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",""); + erpRequestData.Add("cvendorid",erpExtendFields.Find(x=>x.table_id==instock.supplier_id)?.supplier_id ?? ""); + erpRequestData.Add("cvendorvid",erpExtendFields.Find(x=>x.table_id==instock.supplier_id)?.supplier_vid ?? ""); + erpRequestData.Add("cwarehouseid",erpExtendFields.Find(x=>x.table_id==instock.warehouse_id)?.cotherwhid ?? "");//类型视图里取 + 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",null); + erpRequestData.Add("vtrantypecode",null); + + 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"] = "", + ["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==instock.supplier_id)?.supplier_id ?? "", + ["cvendorvid"] = erpExtendFields.Find(x=>x.table_id==instock.supplier_id)?.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_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, + ["vfree1"] = erpExtendFields.Find(x=>x.table_id==instock.supplier_id)?.supplier_id ?? "", + + }); + } + erpRequestData.Add("PurchaseInBodyVODtl",erpRequestDataDetails); + requestData.Add(erpRequestData); + + 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.request_data = JsonConvert.SerializeObject(erpRequestData); + thirdWebapiRecord.create_time = DateTime.Now; + + await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync(); + } await _db.Ado.CommitTranAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs index 4073681f..b7f429ac 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseService.cs @@ -141,9 +141,9 @@ namespace Tnb.WarehouseMgr erpRequestData.Add("billmaker",erpCreateId); erpRequestData.Add("creationtime",nowStr); erpRequestData.Add("creator",erpCreateId); - erpRequestData.Add("dbilldate",purchase.delivery_date.ToString("yyyy-MM-dd HH:mm:ss")); + erpRequestData.Add("dbilldate",purchase.create_time.ToString("yyyy-MM-dd HH:mm:ss")); erpRequestData.Add("dmakedate",nowStr); - //erpRequestData.Add("ntotalastnum",purchaseDs.Sum(x=>x.purchase_arriveqty)); + erpRequestData.Add("ntotalastnum",purchaseDs.Sum(x=>x.purchase_arriveqty)); erpRequestData.Add("pk_arriveorder",""); // erpRequestData.Add("pk_dept","1001A1100000000JRLI1"); // erpRequestData.Add("pk_dept_v","0001A11000000007GGO8"); @@ -174,21 +174,23 @@ namespace Tnb.WarehouseMgr ["csourcetypecode"] = "", ["ctaxcountryid"] = "0001Z010000000079UJJ", ["cunitid"] = erpExtendFields.Find(x=>x.table_id==(unitDatas.Find(x=>x.EnCode==item.unit_id)?.Id ?? ""))?.cunitid ?? "", - ["dbilldate"] = "", - ["dplanreceivedate"] = "", - ["dproducedate"] = "", + ["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"] = 1, ["fproductclass"] = 1, ["naccumchecknum"] = 0, - ["nastnum"] = item.purchase_arriveqty, - ["nnum"] = null, + // ["nastnum"] = item.purchase_arriveqty, + ["nnum"] = item.purchase_arriveqty, // ["nplanastnum"] = 0, - // ["nplannum"] = item.purchase_qty, + ["nplannum"] = item.purchase_qty, ["apfinanceorg"] = erpOrg.pk_org, ["pk_apfinanceorg_v"] = erpOrg.pk_org_v, ["pk_arriveorder"] = "", ["pk_arriveorder_b"] = "", ["pk_group"] = "", + ["csourcebid"] = wmsPurchaseOrderDs.erp_line_pk, + ["csourceid"] = wmsPurchaseOrderH?.erp_pk ?? "", ["pk_material"] = erpExtendFields.Find(x=>x.table_id==item.material_id)?.cmaterialoid ?? "", ["pk_order"] = wmsPurchaseOrderH?.erp_pk ?? "", ["pk_order_b"] = wmsPurchaseOrderDs.erp_line_pk,