StandardPda/MES.Service/DB/OracleSQLHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
StandardPda/MES.Service/Dto/service/UnbindAsnInfoDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardPda/MES.Service/DB/OracleSQLHelper.cs
@@ -65,6 +65,17 @@ return command.ExecuteNonQuery(); } } public int ExecuteNonQueryWithTransaction(string sql, OracleParameter[] parameters, OracleConnection connection, OracleTransaction transaction) { using (var cmd = new OracleCommand(sql, connection)) { cmd.Transaction = transaction; if (parameters != null) cmd.Parameters.AddRange(parameters); return cmd.ExecuteNonQuery(); } } public int ExecuteTransaction(string query1) { StandardPda/MES.Service/Dto/service/UnbindAsnInfoDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ namespace MES.Service.Dto.service { public class UnbindAsnInfoDto { /// <summary> /// ç»å½å· /// </summary> public string loginId { get; set; } /// <summary> /// æä½ç±»å: 0=è§£ç», 1=æ¤éè§£ç» /// </summary> public int? ActionType { get; set; }= 0; public List<SnList> snList { get; set; } public class SnList { /// <summary> /// å·¥ååå· /// </summary> public string tickeNo { get; set; } /// <summary> /// snå· /// </summary> public string snNo { get; set; } } } } StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
@@ -3,6 +3,7 @@ using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.service.BasicData; using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using System.Data; @@ -465,5 +466,91 @@ } /// <summary> /// å¤çè§£ç» / æ¤éè§£ç» /// </summary> public bool ProcessSn(UnbindAsnInfoDto dto) { if (dto == null || dto.snList == null || dto.snList.Count == 0) throw new ArgumentException("è¾å ¥åæ°æ æ"); var sqlHelper = new OracleSQLHelper(); bool result = true; var (connection, transaction) = sqlHelper.BeginTransaction(); try { foreach (var sn in dto.snList) { if (dto.ActionType == 0) // è§£ç» { string sql = @" UPDATE MES_SN_STATUS_DETAILS SET IS_UNBIND = 1, UNBIND_DATE = SYSDATE, UNBIND_USER = :LoginId WHERE TICKET_NO = :TicketNo AND SN_NO = :SnNo AND NVL(IS_UNBIND, 0) = 0"; var parameters = new[] { new OracleParameter(":LoginId", dto.loginId), new OracleParameter(":TicketNo", sn.tickeNo), new OracleParameter(":SnNo", sn.snNo) }; int rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, parameters, connection, transaction); if (rows == 0) { throw new Exception($"è§£ç»å¤±è´¥: å·¥å[{sn.tickeNo}], SN[{sn.snNo}] æªæ¾å°å¯è§£ç»è®°å½æå·²è§£ç»ï¼"); } } else if (dto.ActionType == 1) // æ¤éè§£ç» { string sql = @" UPDATE MES_SN_STATUS_DETAILS SET IS_UNBIND = 0, UNBIND_DATE = NULL, UNBIND_USER = NULL WHERE TICKET_NO = :TicketNo AND SN_NO = :SnNo AND NVL(IS_UNBIND, 0) = 1"; var parameters = new[] { new OracleParameter(":TicketNo", sn.tickeNo), new OracleParameter(":SnNo", sn.snNo) }; int rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, parameters, connection, transaction); if (rows == 0) { throw new Exception($"æ¤éè§£ç»å¤±è´¥: å·¥å[{sn.tickeNo}], SN[{sn.snNo}] æªæ¾å°å·²è§£ç»è®°å½ï¼"); } } else { throw new Exception("æ æçæä½ç±»åï¼åªè½æ¯ 0=è§£ç» æ 1=æ¤éè§£ç»"); } } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); result = false; // 建议è¿éåæ¥å¿ ex.Message throw; } finally { connection.Close(); } return result; } } } StandardPda/MESApplication/Controllers/Warehouse/womdaaController.cs
@@ -224,6 +224,59 @@ } } /// <summary> ///è§£ç»snç /// </summary> /// <returns></returns> [HttpPost("UnbindAsnInfo")] public ResponseResult UnbindAsnInfo(UnbindAsnInfoDto unbindAsnInfoDto) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "SetStackCode"; entity.Method = METHOD; entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(unbindAsnInfoDto); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); bool result = m.ProcessSn(unbindAsnInfoDto); resultInfos.tbBillList = result; entity.Result = 0; if (result) entity.Result = 1; entity.DealWith = 1; _manager.save(entity); if (result) { return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } else { return new ResponseResult { status = 1, message = result.ToString(), data = resultInfos }; } } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } } }