¶Ô±ÈÐÂÎļþ |
| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using Masuit.Tools; |
| | | using Masuit.Tools.Hardware; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using SqlSugar; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | | |
| | | /// <summary> |
| | | /// åºä½åæ´ç®¡çç±»ï¼ç»§æ¿èªéç¨ä»å¨ç±»Repositoryï¼æä½éè´éè´§ç³è¯·è¡¨ï¼MesCgthSqï¼ |
| | | /// </summary> |
| | | public class KwbgManager : Repository<MesCgthSq> |
| | | { |
| | | /// <summary> |
| | | /// æ ¹æ®ä¼ å
¥çWarehouseQuery对象ï¼å
嫿¡ç ä¿¡æ¯ï¼ï¼æ¥è¯¢ç©æåºå表MES_INV_ITEM_STOCKSï¼è·å对åºçåºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="unity">WarehouseQuery对象ï¼å
嫿¡ç ç¼å·çæ¥è¯¢æ¡ä»¶</param> |
| | | /// <returns> |
| | | /// è¿åMES_INV_ITEM_STOCKS表ä¸ä¸æ¡ç å¹é
çç¬¬ä¸æ¡åºåä¿¡æ¯ï¼MesInvItemStocksç±»åï¼ã |
| | | /// å¦ææªæ¾å°ï¼åæåºå¼å¸¸æç¤ºâ该æ¡ç åºåä¸åå¨ï¼â |
| | | /// resultInfos.tbBillList = m.GetBarInfo(unity); |
| | | /// </returns> |
| | | ///public MesInvItemStocks GetBarInfo(WarehouseQuery unity) |
| | | public dynamic GetBarInfo(dynamic query) |
| | | { |
| | | if (query == null) |
| | | throw new ArgumentNullException(nameof(query), "åæ°å¯¹è±¡ä¸è½ä¸ºnull"); |
| | | |
| | | if (string.IsNullOrEmpty(query.barcode?.ToString())) |
| | | throw new ArgumentException("ç©ææ¡ç ä¸è½ä¸ºç©º", nameof(query.barcode)); |
| | | |
| | | var parameters = new[] |
| | | { |
| | | new SugarParameter("@pi_barcode", query.barcode), |
| | | new SugarParameter("@inP1", null), |
| | | new SugarParameter("@inP2", null), |
| | | new SugarParameter("@inP3", null), |
| | | new SugarParameter("@inP4", null) |
| | | }; |
| | | |
| | | try |
| | | { |
| | | List<dynamic>? ZsBarInfo = Db.Ado.SqlQuery<dynamic>( |
| | | "EXEC prc_pda_kwbg_selKwInfoByBarcode @pi_barcode,@inP1,@inP2,@inP3,@inP4", parameters); |
| | | |
| | | return ZsBarInfo; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // ä¿çåæå¼å¸¸å¤çé»è¾ |
| | | throw new Exception($"{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®ç©æIDæ¥è¯¢ç©æè¡¨MES_ITEMSï¼è·åç©æè¯¦ç»ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="strItemId">ç©æIDï¼decimalç±»åï¼</param> |
| | | /// <returns> |
| | | /// è¿åMES_ITEMS表ä¸ä¸IDå¹é
䏿ªç¦ç¨ï¼Fforbidstatus为"A"ï¼çç¬¬ä¸æ¡ç©æä¿¡æ¯ï¼MesItemsç±»åï¼ã |
| | | /// å¦ææªæ¾å°ï¼åæåºå¼å¸¸æç¤ºâ该æ¡ç 对åºç©æä¿¡æ¯ä¸å卿已ç¦ç¨ï¼â |
| | | /// resultInfos.tbMesItems = m.GetItemNo(resultInfos.tbBillList.ItemId); |
| | | /// </returns> |
| | | public MesItems GetItemNo(decimal strItemId) |
| | | { |
| | | // 使ç¨SqlSugarçQueryableæ¹æ³ï¼æ¥è¯¢MES_ITEMS表 |
| | | // æ¡ä»¶ï¼Idåæ®µçäºstrItemIdï¼ä¸Fforbidstatusåæ®µä¸º"A"ï¼è¡¨ç¤ºæªç¦ç¨ï¼ |
| | | var itemInfo = Db.Queryable<MesItems>() |
| | | .Where(s => s.Id == strItemId && s.Fforbidstatus == "A") |
| | | .First(); // è·åç¬¬ä¸æ¡å¹é
è®°å½ |
| | | |
| | | // å¦ææªæ¥è¯¢å°ç»æï¼itemInfo为nullï¼ï¼åæåºå¼å¸¸ï¼æç¤ºç©æä¿¡æ¯ä¸å卿已ç¦ç¨ |
| | | if (itemInfo is null) throw new Exception("该æ¡ç 对åºç©æä¿¡æ¯ä¸å卿已ç¦ç¨ï¼"); |
| | | |
| | | // è¿åæ¥è¯¢å°çç©æä¿¡æ¯å¯¹è±¡ |
| | | return itemInfo; |
| | | } |
| | | /// <summary> |
| | | /// ä»åºä¿¡æ¯è¡¨ |
| | | /// </summary> |
| | | /// <param name="depot_id"></param> |
| | | /// <returns></returns> |
| | | public MesDepots GetDepot(decimal depot_id) |
| | | { |
| | | var depotInfo = Db.Queryable< MesDepots >() |
| | | .Where(s => s.DepotId == depot_id) |
| | | .First(); // è·åç¬¬ä¸æ¡å¹é
è®°å½ |
| | | // å¦ææªæ¥è¯¢å°ç»æï¼itemInfo为nullï¼ï¼åæåºå¼å¸¸ï¼æç¤ºç©æä¿¡æ¯ä¸å卿已ç¦ç¨ |
| | | if (depotInfo is null) throw new Exception("该æ¡ç åºåä¸åå¨ä»åºï¼"); |
| | | return depotInfo; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// åæ´åºä½ |
| | | /// </summary> |
| | | /// <param name="unity"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public dynamic ChangeDepotSection(dynamic unity) |
| | | { |
| | | // åå¨è¿ç¨è¾åºä¿¡æ¯ |
| | | var _strMsg = ""; |
| | | // åå¨è¿ç¨è¾åºçæ°éï¼ç¨äºå¤æåæ´æ¯å¦æåï¼ |
| | | var _intSum = ""; |
| | | // åå¨è¿ç¨è¾åºçæ°åºä½ä»£ç |
| | | var _NewDepotSectionCode = ""; // æ°åºä½ä»£ç |
| | | |
| | | // å建SQLè¿æ¥ï¼ä½¿ç¨é
ç½®çè¿æ¥å符串 |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | //if (string.IsNullOrEmpty(query.barcode?.ToString())) |
| | | //throw new ArgumentException("ç©ææ¡ç ä¸è½ä¸ºç©º", nameof(query.barcode)); |
| | | |
| | | if (string.IsNullOrEmpty(unity.userName?.ToString())) |
| | | throw new ArgumentException("ç¨æ·åä¸å
许为空", nameof(unity.userName)); |
| | | if (string.IsNullOrEmpty(unity.OldDepotSectionCode?.ToString())) |
| | | throw new ArgumentException("ååºä½ä¸å
许为空", nameof(unity.OldDepotSectionCode)); |
| | | if (string.IsNullOrEmpty(unity.NewDepotSectionCode?.ToString())) |
| | | throw new ArgumentException("æ°åºä½ä¸å
许为空", nameof(unity.NewDepotSectionCode)); |
| | | if (string.IsNullOrEmpty(unity.barcode?.ToString())) |
| | | throw new ArgumentException("ç©ææ¡ç ä¸å
许为空", nameof(unity.barcode)); |
| | | |
| | | //if (unity.userName.IsNullOrEmpty()) throw new Exception("ç¨æ·åä¸å
许为空"); |
| | | //if (unity.OldDepotSectionCode.IsNullOrEmpty()) throw new Exception("ååºä½ä¸å
许为空"); |
| | | //if (unity.NewDepotSectionCode.IsNullOrEmpty()) throw new Exception("æ°åºä½ä¸å
许为空"); |
| | | //if (unity.barcode.IsNullOrEmpty()) throw new Exception("ç©ææ¡ç ä¸å
许为空"); |
| | | |
| | | // å建SQLå½ä»¤ï¼æå®è¦æ§è¡çåå¨è¿ç¨ |
| | | using (var cmd = new SqlCommand("[prc_pda_change_depot]", conn)) |
| | | { |
| | | try |
| | | { |
| | | // æå¼æ°æ®åºè¿æ¥ |
| | | conn.Open(); |
| | | // 设置å½ä»¤ç±»å为åå¨è¿ç¨ |
| | | cmd.CommandType = CommandType.StoredProcedure; |
| | | |
| | | // æé åå¨è¿ç¨åæ°æ°ç» |
| | | SqlParameter[] parameters = |
| | | { |
| | | // è¾åºåæ°ï¼è¿åä¿¡æ¯ |
| | | new("@outMsg", SqlDbType.NVarChar, 2000), |
| | | // è¾åºåæ°ï¼è¿åæ°é |
| | | new("@outSum", SqlDbType.Int), |
| | | // è¾åºåæ°ï¼è¿åæ°åºä½ä»£ç |
| | | new("@new_depotSectionsCode", SqlDbType.NVarChar, 300), |
| | | // è¾å
¥åæ°ï¼æä½ç¨æ· |
| | | new SqlParameter("@c_user", unity.userName?.ToString() ?? ""), |
| | | // è¾å
¥åæ°ï¼åæ¡ç |
| | | new SqlParameter("@p_barcode", unity.barcode?.ToString() ?? ""), |
| | | // è¾å
¥åæ°ï¼ååºä½ä»£ç |
| | | new("@old_depotSectionsCode", unity.OldDepotSectionCode?.ToString() ??""), |
| | | // è¾å
¥åæ°ï¼æ°åºä½ä»£ç |
| | | new("@new_depotSectionsCode_input", unity.NewDepotSectionCode?.ToString() ??""), |
| | | // è¾å
¥åæ°ï¼ä»åºä»£ç |
| | | new("@DepotCode", unity.DepotCode) { Value = unity.DepotCode ?? "" }, |
| | | // è¾å
¥åæ°ï¼ä»åºid |
| | | new SqlParameter("@DepotId", (int?)unity.DepotId ?? (object)DBNull.Value) |
| | | }; |
| | | // 设置è¾åºåæ°æ¹å |
| | | parameters[0].Direction = ParameterDirection.Output; |
| | | parameters[1].Direction = ParameterDirection.Output; |
| | | parameters[2].Direction = ParameterDirection.Output; |
| | | |
| | | // æ·»å ææåæ°å°å½ä»¤å¯¹è±¡ |
| | | foreach (var parameter in parameters) |
| | | cmd.Parameters.Add(parameter); |
| | | |
| | | // æ§è¡åå¨è¿ç¨ |
| | | cmd.ExecuteNonQuery(); |
| | | |
| | | // è·ååå¨è¿ç¨è¾åºåæ°çå¼ |
| | | _strMsg = parameters[0].Value.ToString(); // è¿åä¿¡æ¯ |
| | | _intSum = parameters[1].Value.ToString(); // è¿åæ°é |
| | | _NewDepotSectionCode = parameters[2].Value.ToString(); // æ°åºä½ä»£ç |
| | | |
| | | // å¤æåæ´ç»æï¼å¦ææ°éå°äºçäº0ï¼åè¡¨ç¤ºåæ´å¤±è´¥ï¼æåºå¼å¸¸å¹¶è¿åéè¯¯ä¿¡æ¯ |
| | | var result = Convert.ToInt32(_intSum); |
| | | if (result <= 0) throw new Exception(_strMsg); |
| | | |
| | | // 使ç¨å¿å对象è䏿¯ dynamic? æ´åé |
| | | var dto = new |
| | | { |
| | | barcode = unity.barcode, |
| | | OldDepotSectionCode = unity.OldDepotSectionCode, |
| | | NewDepotSectionCode = _NewDepotSectionCode |
| | | }; |
| | | |
| | | return dto; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // æè·å¼å¸¸å¹¶æåºï¼ä¿çåå§å¼å¸¸ä¿¡æ¯ |
| | | throw new Exception(ex.Message); |
| | | } |
| | | finally |
| | | { |
| | | // å
³éæ°æ®åºè¿æ¥ |
| | | conn.Close(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | /*ProductionPickDtoãWarehouseQueryæè¿æ·»å |
| | | public string? OldDepotSectionCode { get; set; } //æ§åºä½ç¼ç |
| | | public string? NewDepotSectionCode { get; set; } //æ°åºä½ç¼ç |
| | | |
| | | ProductionPickDtoæè¿æ·»å |
| | | public int? DepotId { get; set; } //ä»åºid |
| | | */ |
| | | |
| | | |
| | | } |