| service/QC/LljService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/Warehouse/MesItemBlManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/Warehouse/MesItemQtManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/Warehouse/MesItemQtrkManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/Wom/WomdaaManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/Wom/WwGdManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/base/LoginService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/base/WmsBaseMangeer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
service/QC/LljService.cs
@@ -342,8 +342,16 @@ //合格的检验结果等于总检验数视为合格 FcheckResu = "合格"; var sysUser = Db.Queryable<SysUser>() .Where(s => s.Account == detail.CreateBy).First(); SysUser sysUser; try { sysUser = Db.Queryable<SysUser>() .Where(s => s.Account == detail.CreateBy).First(); } catch { throw new Exception($"用户账号 {detail.CreateBy} 不存在,无法完成检验操作!"); } UseTransaction(db => { service/Warehouse/MesItemBlManager.cs
@@ -286,7 +286,17 @@ // Get output parameters var outMsg = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_MSG")?.Value?.ToString(); var outSum = Convert.ToInt32(parameters.FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value ?? -1); int outSum; if (int.TryParse(parameters.FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value?.ToString(), out outSum)) { // 成功转换 } else { outSum = -1; } var outCfBar = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_CF_BAR")?.Value?.ToString(); // Handle the result service/Warehouse/MesItemQtManager.cs
@@ -117,23 +117,33 @@ if (existingBarcode) throw new Exception("此条码已经扫码出库,勿重复扫描!"); // 获取条码信息 var barcode = Db.Queryable<MesInvItemBarcodes>() .Where(it => it.ItemBarcode == p_item_barcode) .First(); if (barcode == null) throw new Exception($"mes中不存在此条码,请核对!{p_item_barcode}"); MesInvItemBarcodes barcode; try { barcode = Db.Queryable<MesInvItemBarcodes>() .Where(it => it.ItemBarcode == p_item_barcode) .First(); } catch { throw new Exception($"MES中不存在此条码,条码号:{p_item_barcode},请核对!"); } // 获取库存信息 var stock = Db.Queryable<MesInvItemStocks>() .Where(it => it.ItemBarcode == p_item_barcode && it.Quantity > 0) .First(); if (stock == null) throw new Exception($"库存中无此条码,请检查条码是否未入库或已出库!{p_item_barcode}"); MesInvItemStocks stock; try { stock = Db.Queryable<MesInvItemStocks>() .Where(it => it.ItemBarcode == p_item_barcode && it.Quantity > 0) .First(); } catch { throw new Exception($"库存中无此条码,条码号:{p_item_barcode},请检查条码是否未入库或已出库!"); } if (string.IsNullOrEmpty(stock.DepotsCode)) service/Warehouse/MesItemQtrkManager.cs
@@ -93,10 +93,15 @@ MES_DEPOTS b ON a.depot_guid = b.Guid WHERE a.depot_section_code = @sectionCode;"; var depotInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); if (depotInfo is null) dynamic depotInfo; try { depotInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); } catch { throw new Exception($"库位编码 {sectionCode} 不存在,请确认!"); } // 5. 返回成功信息 return depotInfo; @@ -118,18 +123,23 @@ throw new Exception("请扫库位条码!"); // 2. 查询库位对应的仓库编码和仓库ID var depotInfo = Db.Queryable<MesDepotSections, MesDepots>( (a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => new { b.DepotCode, b.DepotId }) .First(); if (depotInfo == null) var depotInfo2 = new { DepotCode = "", DepotId = (int?)0 }; // 匹配数据库返回的可空类型 try { depotInfo2 = Db.Queryable<MesDepotSections, MesDepots>( (a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => new { b.DepotCode, b.DepotId }) .First(); } catch { throw new Exception($"库位编码 {p_section_code} 不存在,请确认!"); } var c_depot_code = depotInfo.DepotCode; var c_depot_id = depotInfo.DepotId; var c_depot_code = depotInfo2.DepotCode; var c_depot_id = depotInfo2.DepotId; var sqlParams = new List<SugarParameter> { new("@barcode", p_item_barcode), new("@billNo", p_bill_no) }; @@ -145,8 +155,16 @@ var mesDepost = Db.Queryable<MesDepots>() MesDepots mesDepost; try { mesDepost = Db.Queryable<MesDepots>() .Where(s => s.DepotId == c_depot_id).First(); } catch { throw new Exception($"仓库ID {c_depot_id} 对应的仓库信息不存在,请确认!"); } service/Wom/WomdaaManager.cs
@@ -764,10 +764,13 @@ cmd.Parameters.Add(parameter); cmd.ExecuteNonQuery(); _strMsg = parameters[2].Value?.ToString() ?? ""; _status = Convert.ToInt32(parameters[3].Value ?? -1); if (int.TryParse(parameters[3].Value?.ToString(), out int status)) _status = status; else _status = -1; if (_status <= 0) throw new Exception(_strMsg); return new { @@ -909,7 +912,10 @@ cmd.ExecuteNonQuery(); _strMsg = parameters[3].Value?.ToString() ?? ""; _status = Convert.ToInt32(parameters[4].Value ?? -1); if (int.TryParse(parameters[4].Value?.ToString(), out int status)) _status = status; else _status = -1; if (_status <= 0) throw new Exception(_strMsg); @@ -971,7 +977,10 @@ cmd.ExecuteNonQuery(); _strMsg = parameters[2].Value?.ToString() ?? ""; _status = Convert.ToInt32(parameters[3].Value ?? -1); if (int.TryParse(parameters[3].Value?.ToString(), out int status)) _status = status; else _status = -1; _weight = parameters[4].Value?.ToString() ?? "0"; if (_status <= 0) throw new Exception(_strMsg); @@ -1178,7 +1187,10 @@ cmd.ExecuteNonQuery(); _strMsg = parameters[3].Value?.ToString() ?? ""; _status = Convert.ToInt32(parameters[4].Value ?? -1); if (int.TryParse(parameters[4].Value?.ToString(), out int status)) _status = status; else _status = -1; if (_status <= 0) throw new Exception(_strMsg); service/Wom/WwGdManager.cs
@@ -267,27 +267,40 @@ if (p_section_code.IsNullOrEmpty()) throw new Exception("请扫库位条码!"); // 获取库位信息 var c_depot_code = Db.Queryable<MesDepotSections, MesDepots>((a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => b.DepotId).First(); int? c_depot_code; try { c_depot_code = Db.Queryable<MesDepotSections, MesDepots>((a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => b.DepotId).First(); } catch { throw new Exception($"库位编码 {p_section_code} 不存在,请确认!"); } if (!c_depot_code.HasValue) throw new Exception("库位编码" + p_section_code + " 不存在,请确认!"); MesDepotSections mesDepotSections; try { mesDepotSections = Db.Queryable<MesDepotSections>() .Where(a => a.DepotSectionCode == p_section_code).First(); } catch { throw new Exception($"库位编码 {p_section_code} 不存在,请确认!"); } // 获取库位分区信息 var mesDepotSections = Db.Queryable<MesDepotSections>() .Where(a => a.DepotSectionCode == p_section_code).First(); if (mesDepotSections == null) throw new Exception("库位编码" + p_section_code + " 不存在,请确认!"); // 获取库位基础信息 var c_mes_depots = Db.Queryable<MesDepots>() .Where(b => b.Guid == mesDepotSections.DepotGuid).First(); if (c_mes_depots == null) throw new Exception("库位编码" + p_section_code + " 不存在,请确认!"); MesDepots c_mes_depots; try { c_mes_depots = Db.Queryable<MesDepots>() .Where(b => b.Guid == mesDepotSections.DepotGuid).First(); } catch { throw new Exception($"库位编码 {p_section_code} 对应的仓库不存在,请确认!"); } // 检查条码是否已入库 var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) => @@ -305,11 +318,16 @@ if (c_num > 0) throw new Exception("此条码已扫入库,勿重复扫描!"); // 获取条码信息 var c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>() .Where(t => t.ItemBarcode == p_item_barcode).First(); if (c_mes_inv_item_barcodes == null) throw new Exception("此条码不属于该退料单,请核对!"); MesInvItemBarcodes c_mes_inv_item_barcodes; try { c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>() .Where(t => t.ItemBarcode == p_item_barcode).First(); } catch { throw new Exception($"条码 {p_item_barcode} 不属于该退料单,请核对!"); } @@ -317,41 +335,90 @@ // throw new Exception("此条码不是生产退料条码,不可使用生产退料模块!"); // 获取退料单信息 var C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>() .Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo && (a.Tbl013 ?? 0) == 1).First(); if (C_MES_ITEM_TBL == null) throw new Exception("申请单已撤回,无法扫码!"); MesItemTbl C_MES_ITEM_TBL; try { C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>() .Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo && (a.Tbl013 ?? 0) == 1).First(); } catch { throw new Exception($"申请单 {c_mes_inv_item_barcodes.BillNo} 已撤回或不存在,无法扫码!"); } if (C_MES_ITEM_TBL.Tbl020 == 1) throw new Exception("扫码完成,申请单已完结!"); // 检查工单信息 var wwgd = Db.Queryable<WwGd>() .Where(a => a.Id.ToString() == C_MES_ITEM_TBL.Tbl002) .First(); WwGd wwgd; try { wwgd = Db.Queryable<WwGd>() .Where(a => a.Id.ToString() == C_MES_ITEM_TBL.Tbl002) .First(); } catch { throw new Exception($"申请单对应的工单不存在或已删除,单据号:{C_MES_ITEM_TBL.Tbl002},无法扫码!"); } if (wwgd == null) throw new Exception("申请单对应的工单不存在或已删除,无法扫码!"); // 检查工单信息 var WWRWD = Db.Queryable<ProductionOrder>() .Where(a => a.OrderNo == wwgd.Daa014) .First(); // 检查生产订单信息 ProductionOrder WWRWD; try { WWRWD = Db.Queryable<ProductionOrder>() .Where(a => a.OrderNo == wwgd.Daa014) .First(); } catch { throw new Exception($"工单 {wwgd.Daa014} 对应的生产订单不存在,请确认!"); } // 获取退料单明细 var C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>() .Where(a => a.Tlid == c_mes_inv_item_barcodes.AboutGuid) .First(); if (C_MES_ITEM_TBL_DETAIL == null) throw new Exception("条码不属于该申请单明细,无法扫码!"); MesItemTblDetail C_MES_ITEM_TBL_DETAIL; try { C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>() .Where(a => a.Tlid == c_mes_inv_item_barcodes.AboutGuid) .First(); } catch { throw new Exception($"条码 {p_item_barcode} 不属于该申请单明细,无法扫码!"); } //判断货主信息 var CABerpid = Db.Queryable<WwGdDetail>().Where(womdab => womdab.Id.ToString() == C_MES_ITEM_TBL_DETAIL.Tld013).Select(womdab => womdab.Erpid).First(); int? CABerpid; try { CABerpid = Db.Queryable<WwGdDetail>() .Where(womdab => womdab.Id.ToString() == C_MES_ITEM_TBL_DETAIL.Tld013) .Select(womdab => womdab.Erpid) .First(); } catch { throw new Exception($"用料清单明细不存在,明细ID:{C_MES_ITEM_TBL_DETAIL.Tld013},请联系管理员!"); } var WWCAB = Db.Queryable<ProductionOrderSub>().Where(womcab => womcab.ErpId == CABerpid.Value.ToString()).First(); if (!CABerpid.HasValue) throw new Exception("用料清单ERP ID为空,请联系管理员!"); ProductionOrderSub WWCAB; try { WWCAB = Db.Queryable<ProductionOrderSub>() .Where(womcab => womcab.ErpId == CABerpid.Value.ToString()) .First(); } catch { throw new Exception($"生产订单子项不存在,ERP ID:{CABerpid.Value},请联系管理员!"); } if ( String.IsNullOrEmpty(WWCAB.Owner)) throw new Exception("用料清单货主信息不存在,无法扫码,请联系管理员!"); if (string.IsNullOrEmpty(WWCAB.Owner)) throw new Exception($"用料清单货主信息不存在,生产订单子项 ERP ID:{CABerpid.Value},无法扫码,请联系管理员!"); //var owner_type = ""; //if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId)) service/base/LoginService.cs
@@ -96,7 +96,7 @@ var icoimg = ""; if (mesFile != null) icoimg = "http://192.168.1.145:81/upload/" + icoimg = "http://192.168.0.51:81/upload/" + mesFile.UrlPath; groupObj.child.Add(new MesSysPageview service/base/WmsBaseMangeer.cs
@@ -140,24 +140,28 @@ if (string.IsNullOrEmpty(ownerId)) return "BD_OwnerOrg"; // 默认为组织类型 // 优先检查系统组织 if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId)) { return "BD_OwnerOrg"; } else if (Db.Queryable<MesCustomer>().Any(x => x.Id == Convert.ToInt32(ownerId))) // 检查是否为客户或供应商(安全的数字转换) if (int.TryParse(ownerId, out int ownerIdInt)) { return "BD_Customer"; if (Db.Queryable<MesCustomer>().Any(x => x.Id == ownerIdInt)) { return "BD_Customer"; } if (Db.Queryable<MesSupplier>().Any(x => x.Id == ownerIdInt)) { return "BD_Supplier"; } } else if (Db.Queryable<MesSupplier>().Any(x => x.Id == Convert.ToInt32(ownerId))) { return "BD_Supplier"; } else if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId)) { return "BD_OwnerOrg"; } throw new Exception("无法确定货主类型,请检查货主ID是否正确!"); // 如果都无法匹配,返回默认组织类型而不是抛出异常 return "BD_OwnerOrg"; }