| | |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.entity.Base; |
| | | using NewPdaSqlServer.util; |
| | | using SqlSugar; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | | |
| | | public class MesCgthSqManager : Repository<MesCgthSq> |
| | | { |
| | | public List<MesCgthSq> GetMesCgthSq() |
| | | public dynamic GetMesCgthSq(dynamic RequestInfo) |
| | | { |
| | | return Db.Queryable<MesCgthSq>() |
| | | .Where(s => s.Status == true) |
| | | .OrderByDescending(s => s.CreateDate) |
| | | .ToList(); |
| | | var orgId = RequestInfo.OrgId; |
| | | |
| | | if (orgId == null) |
| | | throw new Exception("组织不存在!"); |
| | | |
| | | // 获取未完成的退料单号列表 |
| | | var parameters = new[] |
| | | { |
| | | new SugarParameter("@pi_orgId", orgId), |
| | | new SugarParameter("@inP1", null), |
| | | new SugarParameter("@inP2", null), |
| | | new SugarParameter("@inP3", null), |
| | | new SugarParameter("@inP4", null) |
| | | }; |
| | | try |
| | | { |
| | | // 返回单号字符串列表 |
| | | var blDetails = Db.Ado.SqlQuery<string>( |
| | | "EXEC prc_pda_cgth_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); |
| | | return blDetails; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception($"{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | public ProductionPickDto GetSumItem(WarehouseQuery query) |
| | | public dynamic GetSumItem(WarehouseQuery query, dynamic RequestInfo) |
| | | { |
| | | if (string.IsNullOrEmpty(query.billNo)) throw new Exception("申请单号为空"); |
| | | if (string.IsNullOrEmpty(query.billNo)) |
| | | throw new Exception("请选单据号!"); |
| | | |
| | | var mesInvItemOuts = base.GetSingle(it => |
| | | it.BillNo == query.billNo && it.Status == true); |
| | | if (mesInvItemOuts == null) throw new Exception("采购退货申请单不存在或未审核"); |
| | | if (query == null) |
| | | throw new ArgumentNullException(nameof(query), "参数对象不能为null"); |
| | | |
| | | var sql = string.Format( |
| | | @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty, |
| | | dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,A.depot_id,'','') as RecoKw |
| | | fROM MES_CGTH_SQ_DETAIL A |
| | | LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID |
| | | LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id |
| | | WHERE B.BILL_NO = '{0}'", query.billNo); |
| | | if (string.IsNullOrEmpty(query.billNo?.ToString())) |
| | | throw new ArgumentException("单据号不能为空", nameof(query.billNo)); |
| | | |
| | | var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); |
| | | var orgId = RequestInfo.OrgId; |
| | | |
| | | if (womdabs.Count < 1) throw new Exception("该采购退货申请单明细不存在"); |
| | | if (orgId == null) |
| | | throw new Exception("组织不存在!"); |
| | | |
| | | |
| | | var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); |
| | | |
| | | var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); |
| | | |
| | | var dto = new ProductionPickDto |
| | | // 获取未完成的发货通知单明细 |
| | | var parameters = new[] |
| | | { |
| | | //daa001 = womdaa.Daa001, |
| | | //PlanNo = womcaa.Caa020, |
| | | items = DS_list, |
| | | Ysitems = YS_list |
| | | new SugarParameter("@billNo", query.billNo), |
| | | new SugarParameter("@pi_orgId",orgId), |
| | | new SugarParameter("@inP1", null), |
| | | new SugarParameter("@inP2", null), |
| | | new SugarParameter("@inP3", null), |
| | | new SugarParameter("@inP4", null) |
| | | }; |
| | | |
| | | return dto; |
| | | try |
| | | { |
| | | List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>( |
| | | "EXEC prc_pda_cgth_detailList @billNo,@pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); |
| | | var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 待扫物料 |
| | | var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 已扫物料 |
| | | return new |
| | | { |
| | | items = items, |
| | | ysitems = ysitems, |
| | | allList = blDetails |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // 保留原有异常处理逻辑 |
| | | throw new Exception($"{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | public List<MesCgthSqDetail> GetItems(WarehouseQuery query) |
| | |
| | | throw new ApplicationException("GUID转换错误"); // 如果转换失败,则抛出异常 |
| | | |
| | | // 使用SqlSugar框架查询MesInvItemOutItems和MesItems表,根据ItemId进行内连接 |
| | | var mesInvItemOutItemsList = Db |
| | | .Queryable<MesCgthSqDetail, MesItems>((c, s) => new object[] |
| | | var mesInvItemOutItemsList = Db.Queryable<MesCgthSqDetail, MesItems>( |
| | | (c, s) => new object[] |
| | | { |
| | | JoinType.Inner, c.ItemId == s.Id // 内连接条件 |
| | | }).Where((c, s) => c.Mid == parsedGuid) // 根据ItemOutId过滤 |
| | |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | if (query.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空"); |
| | | if (query.billNo.IsNullOrEmpty()) throw new Exception("申请单号不允许为空"); |
| | | if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空"); |
| | | if (query.billNo.IsNullOrEmpty()) throw new Exception("申请单号不允许为空"); if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空"); |
| | | |
| | | using (var cmd = new SqlCommand("[prc_pda_CGTH]", conn)) |
| | | { |
| | |
| | | /// <exception cref="Exception"></exception> |
| | | public dynamic ScanCgyt(dynamic query) |
| | | { |
| | | if (query == null) |
| | | throw new ArgumentNullException(nameof(query), "参数对象不能为 null"); |
| | | if (query == null) throw new ArgumentNullException(nameof(query), "参数对象不能为 null"); |
| | | |
| | | // 2. 使用 string.IsNullOrEmpty 直接判断字符串属性(避免 NullReferenceException) |
| | | if (string.IsNullOrEmpty(query.userName?.ToString())) |
| | |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | var parameters = new SqlParameter[] |
| | | { |
| | | new("@pi_user", SqlDbType.NVarChar, 100) |
| | | { Value = query.userName }, |
| | | new("@pi_barcode", SqlDbType.NVarChar, 100) |
| | | { Value = query.barcode }, |
| | | new("@po_outMsg", SqlDbType.NVarChar, 2000) |
| | | { Direction = ParameterDirection.Output }, |
| | | new("@po_outSum", SqlDbType.Int) |
| | | { Direction = ParameterDirection.Output }, |
| | | new("@po_ygdh", SqlDbType.NVarChar, 200) |
| | | { Direction = ParameterDirection.Output } |
| | | new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, |
| | | new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = query.barcode }, |
| | | new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, |
| | | new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }, |
| | | new("@po_ygdh", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output } |
| | | }; |
| | | |
| | | cmd.Parameters.AddRange(parameters); |
| | |
| | | var result = new |
| | | { |
| | | result = parameters[3].Value.ToString(), |
| | | query.barcode, |
| | | barcode = query.barcode, |
| | | ytdh = parameters[4].Value.ToString(), |
| | | msg = parameters[2].Value.ToString() |
| | | }; |
| | |
| | | /// <exception cref="Exception"></exception> |
| | | public dynamic deleteCgyt(dynamic query) |
| | | { |
| | | if (query == null) |
| | | throw new ArgumentNullException(nameof(query), "参数对象不能为 null"); |
| | | if (query == null) throw new ArgumentNullException(nameof(query), "参数对象不能为 null"); |
| | | |
| | | // 2. 使用 string.IsNullOrEmpty 直接判断字符串属性(避免 NullReferenceException) |
| | | if (string.IsNullOrEmpty(query.userName?.ToString())) |
| | |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | var parameters = new SqlParameter[] |
| | | { |
| | | new("@pi_user", SqlDbType.NVarChar, 100) |
| | | { Value = query.userName }, |
| | | new("@pi_ytdh", SqlDbType.NVarChar, 100) |
| | | { Value = query.ytdh }, |
| | | new("@po_outMsg", SqlDbType.NVarChar, 2000) |
| | | { Direction = ParameterDirection.Output }, |
| | | new("@po_outSum", SqlDbType.Int) |
| | | { Direction = ParameterDirection.Output } |
| | | new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, |
| | | new("@pi_ytdh", SqlDbType.NVarChar, 100) { Value = query.ytdh }, |
| | | new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, |
| | | new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output } |
| | | }; |
| | | |
| | | cmd.Parameters.AddRange(parameters); |
| | |
| | | var result = new |
| | | { |
| | | result = parameters[3].Value.ToString(), |
| | | msg = parameters[2].Value.ToString() |
| | | msg = parameters[2].Value.ToString(), |
| | | }; |
| | | |
| | | if (result.result == "-1") |
| | |
| | | /// <returns></returns> |
| | | public dynamic getYtItem(string ytdh) |
| | | { |
| | | if (string.IsNullOrEmpty(ytdh)) |
| | | if (string.IsNullOrEmpty(ytdh?.ToString())) |
| | | throw new ArgumentException("验退单号不允许为空", nameof(ytdh)); |
| | | |
| | | var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) }; |
| | | |
| | | var sql1 = |
| | | @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity |
| | | var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity |
| | | FROM MES_INV_ITEM_CGYT_ITEMS A |
| | | LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID |
| | | LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id |
| | |
| | | /// <returns></returns> |
| | | public dynamic getYtBarInfo(string ytdh) |
| | | { |
| | | if (string.IsNullOrEmpty(ytdh)) |
| | | if (string.IsNullOrEmpty(ytdh?.ToString())) |
| | | throw new ArgumentException("验退单号不允许为空", nameof(ytdh)); |
| | | |
| | | var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) }; |
| | | |
| | | var sql1 = |
| | | @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE |
| | | var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE |
| | | FROM MES_INV_ITEM_CGYT_C_DETAILS A |
| | | LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID |
| | | LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id |