| | |
| | | using System.Data; |
| | | using Masuit.Tools; |
| | | using MES.Service.DB; |
| | | 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; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace MES.Service.service.Warehouse; |
| | | |
| | | namespace MES.Service.service.Warehouse |
| | | { |
| | | public class WomdaaManager |
| | | { |
| | | /// <summary> |
| | |
| | | // " left join mes_items s on s.id = C.daa002" + |
| | | // " where WORKSNO='" + id + "' and DAA018='已开工' order by DAA016 asc"; |
| | | //var sql1 = "select DAA001 tickeNo, s.ITEM_NO itemNo, s.ITEM_NAME itemName, s.ITEM_MODEL itemModel, DAA008 plannedNum\r\nfrom WOMDAA C\r\n left join mes_items s on s.id = C.daa002\r\nleft join womcaa A on A.caa001=C.daa021\r\nwhere C.DAA015 = '" + LineId + "'\r\n and DAA018 = '已开工' and A.CAA023='2'\r\norder by DAA016 asc"; |
| | | var sql1 = |
| | | "select DAA001 tickeNo, s.ITEM_NO itemNo, s.ITEM_NAME itemName, s.ITEM_MODEL itemModel, DAA008 plannedNum\r\nfrom WOMDAA C\r\n left join mes_items s on s.id = C.daa002\r\nleft join womcaa A on A.caa001=C.daa021\r\nleft join MESPROJECT_LIKE_CCLOGIN pr1 on A.PROJECT=pr1.PROJECT_ID\r\nleft join MESLINE_LIKE_CCLOGIN_WORKS2 pr2 on pr1.id=pr2.LOGINID\r\nwhere C.DAA015 = '" + |
| | | LineId + "' and pr2.WORKSNO='" + LoginId + |
| | | "'\r\n and DAA018 = '已开工' and A.CAA023='2'\r\norder by DAA016 asc"; |
| | | var sql1 = "select DAA001 tickeNo, s.ITEM_NO itemNo, s.ITEM_NAME itemName, s.ITEM_MODEL itemModel, DAA008 plannedNum\r\nfrom WOMDAA C\r\n " + |
| | | "left join mes_items s on s.id = C.daa002\r\n" + |
| | | "left join womcaa A on A.caa001=C.daa021\r\n" + |
| | | "left join MESPROJECT_LIKE_CCLOGIN pr1 on A.PROJECT=pr1.PROJECT_ID\r\n" + |
| | | "left join MESLINE_LIKE_CCLOGIN_WORKS2 pr2 on pr1.id=pr2.LOGINID\r\n" + |
| | | "left join MES_LINE_ORDER lo on lo.order_no=c.daa001 " + |
| | | "where C.DAA015 = '" + LineId + "' and pr2.WORKSNO='" + LoginId + "'\r\n and DAA018 = '已开工' and A.CAA023='2' and lo.line_no='" + LineId + "'\r\n" + |
| | | "order by DAA016 asc"; |
| | | return SQLHelper.ExecuteQuery(sql1); |
| | | } |
| | | |
| | |
| | | // { |
| | | // result = true; |
| | | // } |
| | | |
| | | |
| | | // } else { result = false; } |
| | | |
| | |
| | | |
| | | // return result; |
| | | //} |
| | | |
| | | public bool AddAsnInfo(AsnInfo asnInfo) |
| | | { |
| | | var sqlHelper = new OracleSQLHelper(); |
| | | var result = true; |
| | | bool result = true; |
| | | |
| | | var (connection, transaction) = sqlHelper.BeginTransaction(); |
| | | |
| | |
| | | AND ROWNUM = 1"; |
| | | var parameters1 = new[] |
| | | { |
| | | new OracleParameter("ticketNo", |
| | | asnInfo.tickeNo ?? (object)DBNull.Value), |
| | | new OracleParameter("snNo", |
| | | asnInfo.snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("workstationNo", |
| | | asnInfo.workstationNo ?? (object)DBNull.Value), |
| | | new OracleParameter("snState", |
| | | asnInfo.snState ?? (object)DBNull.Value), |
| | | new OracleParameter("loginId", |
| | | asnInfo.loginId ?? (object)DBNull.Value), |
| | | new OracleParameter("turnoverCode", |
| | | asnInfo.turnoverCode ?? (object)DBNull.Value) |
| | | new OracleParameter("ticketNo", asnInfo.tickeNo ?? (object)DBNull.Value), |
| | | new OracleParameter("snNo", asnInfo.snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("workstationNo", asnInfo.workstationNo ?? (object)DBNull.Value), |
| | | new OracleParameter("snState", asnInfo.snState ?? (object)DBNull.Value), |
| | | new OracleParameter("loginId", asnInfo.loginId ?? (object)DBNull.Value), |
| | | new OracleParameter("turnoverCode", asnInfo.turnoverCode ?? (object)DBNull.Value) |
| | | }; |
| | | |
| | | var i = sqlHelper.ExecuteNonQueryWithTransaction(sql1, parameters1, |
| | | connection, transaction); |
| | | int i = sqlHelper.ExecuteNonQueryWithTransaction(sql1, parameters1, connection, transaction); |
| | | |
| | | // 2. 失败项插入 |
| | | if (i > 0 && asnInfo.failItems?.Count > 0) |
| | | { |
| | | foreach (var item in asnInfo.failItems) |
| | | { |
| | | var sql2 = @" |
| | |
| | | |
| | | var parameters2 = new[] |
| | | { |
| | | new OracleParameter("defectIssue", |
| | | item.DefectIssue ?? (object)DBNull.Value), |
| | | new OracleParameter("rootCause", |
| | | item.RootCause ?? (object)DBNull.Value), |
| | | new OracleParameter("repairMethod", |
| | | item.RepairMethod ?? (object)DBNull.Value), |
| | | new OracleParameter("materialHandling", |
| | | item.MaterialHandling ?? (object)DBNull.Value), |
| | | new OracleParameter("loginId", |
| | | asnInfo.loginId ?? (object)DBNull.Value) |
| | | new OracleParameter("defectIssue", item.DefectIssue ?? (object)DBNull.Value), |
| | | new OracleParameter("rootCause", item.RootCause ?? (object)DBNull.Value), |
| | | new OracleParameter("repairMethod", item.RepairMethod ?? (object)DBNull.Value), |
| | | new OracleParameter("materialHandling", item.MaterialHandling ?? (object)DBNull.Value), |
| | | new OracleParameter("loginId", asnInfo.loginId ?? (object)DBNull.Value) |
| | | }; |
| | | |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sql2, parameters2, |
| | | connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sql2, parameters2, connection, transaction); |
| | | } |
| | | } |
| | | |
| | | // 3. 配件绑定/解绑 & 日志记录 |
| | | if (asnInfo.accessoryList?.Count > 0) |
| | | { |
| | | foreach (var accessory in asnInfo.accessoryList) |
| | | { |
| | | var snNo = asnInfo.snNo; |
| | |
| | | if (accessory.bindingState == "0") // 绑定 |
| | | { |
| | | // 校验 |
| | | var checkSql = |
| | | "SELECT COUNT(1) FROM MES_SN_PART_BINDING WHERE PART_SN_NO = :partSn"; |
| | | var checkParams = new[] |
| | | { |
| | | new OracleParameter("partSn", |
| | | partSn ?? (object)DBNull.Value) |
| | | }; |
| | | var exists = Convert.ToInt32( |
| | | sqlHelper.ExecuteScalarWithTransaction(connection, |
| | | transaction, checkSql, checkParams)); |
| | | var checkSql = "SELECT COUNT(1) FROM MES_SN_PART_BINDING WHERE PART_SN_NO = :partSn"; |
| | | var checkParams = new[] { new OracleParameter("partSn", partSn ?? (object)DBNull.Value) }; |
| | | var exists = Convert.ToInt32(sqlHelper.ExecuteScalarWithTransaction(connection, transaction, checkSql, checkParams)); |
| | | |
| | | if (exists > 0) |
| | | { |
| | | throw new Exception($"配件SN[{partSn}]已绑定,请先解绑再绑定!"); |
| | | } |
| | | |
| | | // 插入绑定 |
| | | var sqlBind = @" |
| | |
| | | |
| | | var bindParams = new[] |
| | | { |
| | | new OracleParameter("snNo", |
| | | snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("partSn", |
| | | partSn ?? (object)DBNull.Value), |
| | | new OracleParameter("partName", |
| | | partName ?? (object)DBNull.Value), |
| | | new OracleParameter("createUser", |
| | | user ?? (object)DBNull.Value) |
| | | new OracleParameter("snNo", snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("partSn", partSn ?? (object)DBNull.Value), |
| | | new OracleParameter("partName", partName ?? (object)DBNull.Value), |
| | | new OracleParameter("createUser", user ?? (object)DBNull.Value) |
| | | }; |
| | | |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlBind, |
| | | bindParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlBind, bindParams, connection, transaction); |
| | | |
| | | |
| | | // 插入日志 |
| | |
| | | :createUser, |
| | | 0)"; |
| | | |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, |
| | | bindParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, bindParams, connection, transaction); |
| | | } |
| | | else if (accessory.bindingState == "1") // 解绑 |
| | | { |
| | |
| | | |
| | | var unbindParams = new[] |
| | | { |
| | | new OracleParameter("snNo", |
| | | snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("partSn", |
| | | partSn ?? (object)DBNull.Value) |
| | | new OracleParameter("snNo", snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("partSn", partSn ?? (object)DBNull.Value) |
| | | }; |
| | | |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlUnbind, |
| | | unbindParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlUnbind, unbindParams, connection, transaction); |
| | | |
| | | // 插入日志 |
| | | var sqlLog = @" |
| | |
| | | |
| | | var logParams = new[] |
| | | { |
| | | new OracleParameter("snNo", |
| | | snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("partSn", |
| | | partSn ?? (object)DBNull.Value), |
| | | new OracleParameter("partName", |
| | | partName ?? (object)DBNull.Value), |
| | | new OracleParameter("Puser", |
| | | user ?? (object)DBNull.Value) |
| | | new OracleParameter("snNo", snNo ?? (object)DBNull.Value), |
| | | new OracleParameter("partSn", partSn ?? (object)DBNull.Value), |
| | | new OracleParameter("partName", partName ?? (object)DBNull.Value), |
| | | new OracleParameter("Puser", user ?? (object)DBNull.Value) |
| | | }; |
| | | |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, |
| | | logParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, logParams, connection, transaction); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 设置中箱码(绑定/解绑 SN) |
| | | /// </summary> |
| | | public string[] SetMediumBoxCode(MesMiddleBox mesMiddleBox) |
| | | { |
| | | var sqlHelper = new OracleSQLHelper(); |
| | | var msg = new string[2]; |
| | | string[] msg = new string[2]; |
| | | msg[0] = "true"; |
| | | |
| | | var (connection, transaction) = sqlHelper.BeginTransaction(); |
| | |
| | | if (mesMiddleBox.SnList.Count > 0) |
| | | { |
| | | // 检查是否已存在 |
| | | var sqlCheck = |
| | | "SELECT COUNT(*) FROM MES_MIDDLE_BOX WHERE MEDIUMBOXCODE = :code"; |
| | | var checkParams = new[] |
| | | { |
| | | new OracleParameter(":code", mesMiddleBox.MediumBoxCode) |
| | | }; |
| | | var count = Convert.ToInt32( |
| | | sqlHelper.ExecuteScalarWithTransaction(connection, |
| | | transaction, sqlCheck, checkParams)); |
| | | var sqlCheck = "SELECT COUNT(*) FROM MES_MIDDLE_BOX WHERE MEDIUMBOXCODE = :code"; |
| | | var checkParams = new[] { new OracleParameter(":code", mesMiddleBox.MediumBoxCode) }; |
| | | var count = Convert.ToInt32(sqlHelper.ExecuteScalarWithTransaction(connection, transaction, sqlCheck, checkParams)); |
| | | |
| | | if (count > 0) |
| | | { |
| | | msg[0] = "false"; |
| | | msg[1] = |
| | | $"该中箱码已经绑定SN数据,如需再次绑定请先解绑!中箱码:{mesMiddleBox.MediumBoxCode}"; |
| | | msg[1] = $"该中箱码已经绑定SN数据,如需再次绑定请先解绑!中箱码:{mesMiddleBox.MediumBoxCode}"; |
| | | transaction.Rollback(); |
| | | return msg; |
| | | } |
| | |
| | | :code, :loginId, :snNo, :ticketNo, SYSDATE, :createdBy)"; |
| | | var insertParams = new[] |
| | | { |
| | | new OracleParameter(":code", |
| | | mesMiddleBox.MediumBoxCode), |
| | | new OracleParameter(":loginId", |
| | | mesMiddleBox.LoginId), |
| | | new OracleParameter(":code", mesMiddleBox.MediumBoxCode), |
| | | new OracleParameter(":loginId", mesMiddleBox.LoginId), |
| | | new OracleParameter(":snNo", item.SnNo), |
| | | new OracleParameter(":ticketNo", item.TicketNo), |
| | | new OracleParameter(":createdBy", |
| | | mesMiddleBox.LoginId) |
| | | new OracleParameter(":createdBy", mesMiddleBox.LoginId) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlInsert, |
| | | insertParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlInsert, insertParams, connection, transaction); |
| | | |
| | | // 插入日志 |
| | | var sqlLog = @" |
| | |
| | | :code, :loginId, :snNo, :ticketNo, SYSDATE, :createdBy, 0)"; |
| | | var logParams = new[] |
| | | { |
| | | new OracleParameter(":code", |
| | | mesMiddleBox.MediumBoxCode), |
| | | new OracleParameter(":loginId", |
| | | mesMiddleBox.LoginId), |
| | | new OracleParameter(":code", mesMiddleBox.MediumBoxCode), |
| | | new OracleParameter(":loginId", mesMiddleBox.LoginId), |
| | | new OracleParameter(":snNo", item.SnNo), |
| | | new OracleParameter(":ticketNo", item.TicketNo), |
| | | new OracleParameter(":createdBy", |
| | | mesMiddleBox.LoginId) |
| | | new OracleParameter(":createdBy", mesMiddleBox.LoginId) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, |
| | | logParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, logParams, connection, transaction); |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | else if (mesMiddleBox.type.ToUpper() == "F") // 解绑 |
| | | { |
| | | var sqlSelect = |
| | | "SELECT * FROM MES_MIDDLE_BOX WHERE MEDIUMBOXCODE = :code"; |
| | | var selectParams = new[] |
| | | { |
| | | new OracleParameter(":code", mesMiddleBox.MediumBoxCode) |
| | | }; |
| | | var dt = sqlHelper.ExecuteDataTable(sqlSelect, CommandType.Text, |
| | | selectParams); |
| | | var sqlSelect = "SELECT * FROM MES_MIDDLE_BOX WHERE MEDIUMBOXCODE = :code"; |
| | | var selectParams = new[] { new OracleParameter(":code", mesMiddleBox.MediumBoxCode) }; |
| | | var dt = sqlHelper.ExecuteDataTable(sqlSelect, CommandType.Text, selectParams); |
| | | |
| | | foreach (DataRow row in dt.Rows) |
| | | { |
| | |
| | | new OracleParameter(":ticketNo", row["TICKET_NO"]), |
| | | new OracleParameter(":createdBy", mesMiddleBox.LoginId) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, logParams, |
| | | connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, logParams, connection, transaction); |
| | | } |
| | | |
| | | var sqlDelete = |
| | | "DELETE FROM MES_MIDDLE_BOX WHERE MEDIUMBOXCODE = :code"; |
| | | var delParams = new[] |
| | | { |
| | | new OracleParameter(":code", mesMiddleBox.MediumBoxCode) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlDelete, delParams, |
| | | connection, transaction); |
| | | var sqlDelete = "DELETE FROM MES_MIDDLE_BOX WHERE MEDIUMBOXCODE = :code"; |
| | | var delParams = new[] { new OracleParameter(":code", mesMiddleBox.MediumBoxCode) }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlDelete, delParams, connection, transaction); |
| | | } |
| | | else |
| | | { |
| | |
| | | public string[] SetStackCode(MesPalletBinding mesPalletBinding) |
| | | { |
| | | var sqlHelper = new OracleSQLHelper(); |
| | | var msg = new string[2]; |
| | | string[] msg = new string[2]; |
| | | msg[0] = "true"; |
| | | |
| | | var (connection, transaction) = sqlHelper.BeginTransaction(); |
| | |
| | | { |
| | | if (mesPalletBinding.SnList.Count > 0) |
| | | { |
| | | var sqlCheck = |
| | | "SELECT COUNT(*) FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode"; |
| | | var checkParams = new[] |
| | | { |
| | | new OracleParameter(":stackCode", |
| | | mesPalletBinding.StackCode) |
| | | }; |
| | | var count = Convert.ToInt32( |
| | | sqlHelper.ExecuteScalarWithTransaction(connection, |
| | | transaction, sqlCheck, checkParams)); |
| | | var sqlCheck = "SELECT COUNT(*) FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode"; |
| | | var checkParams = new[] { new OracleParameter(":stackCode", mesPalletBinding.StackCode) }; |
| | | var count = Convert.ToInt32(sqlHelper.ExecuteScalarWithTransaction(connection, transaction, sqlCheck, checkParams)); |
| | | |
| | | if (count > 0) |
| | | { |
| | | msg[0] = "false"; |
| | | msg[1] = |
| | | $"该栈板码已经绑定SN数据,如需再次绑定请先解绑!栈板码:{mesPalletBinding.StackCode}"; |
| | | msg[1] = $"该栈板码已经绑定SN数据,如需再次绑定请先解绑!栈板码:{mesPalletBinding.StackCode}"; |
| | | transaction.Rollback(); |
| | | return msg; |
| | | } |
| | |
| | | :stackCode, :loginId, :snNo, :ticketNo, :mediumBoxCode, SYSDATE, :createdBy)"; |
| | | var insertParams = new[] |
| | | { |
| | | new OracleParameter(":stackCode", |
| | | mesPalletBinding.StackCode), |
| | | new OracleParameter(":loginId", |
| | | mesPalletBinding.LoginId), |
| | | new OracleParameter(":stackCode", mesPalletBinding.StackCode), |
| | | new OracleParameter(":loginId", mesPalletBinding.LoginId), |
| | | new OracleParameter(":snNo", item.SnNo), |
| | | new OracleParameter(":ticketNo", item.TicketNo), |
| | | new OracleParameter(":mediumBoxCode", |
| | | item.MediumBoxCode), |
| | | new OracleParameter(":createdBy", |
| | | mesPalletBinding.LoginId) |
| | | new OracleParameter(":mediumBoxCode", item.MediumBoxCode), |
| | | new OracleParameter(":createdBy", mesPalletBinding.LoginId) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlInsert, |
| | | insertParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlInsert, insertParams, connection, transaction); |
| | | |
| | | var sqlLog = @" |
| | | INSERT INTO MES_PALLET_BINDING_LOG ( |
| | |
| | | ) VALUES ( |
| | | MES_PALLET_BINDING_LOG_ID.NEXTVAL, |
| | | :stackCode, :loginId, :snNo, :ticketNo, :mediumBoxCode, SYSDATE, :createdBy, 0)"; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, |
| | | insertParams, connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, insertParams, connection, transaction); |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | else if (mesPalletBinding.Type.ToUpper() == "F") // 解绑 |
| | | { |
| | | var sqlCheck = |
| | | "SELECT COUNT(*) FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode AND IS_INBOUND = 1"; |
| | | var checkParams = new[] |
| | | { |
| | | new OracleParameter(":stackCode", |
| | | mesPalletBinding.StackCode) |
| | | }; |
| | | var count = Convert.ToInt32( |
| | | sqlHelper.ExecuteScalarWithTransaction(connection, |
| | | transaction, sqlCheck, checkParams)); |
| | | var sqlCheck = "SELECT COUNT(*) FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode AND IS_INBOUND = 1"; |
| | | var checkParams = new[] { new OracleParameter(":stackCode", mesPalletBinding.StackCode) }; |
| | | var count = Convert.ToInt32(sqlHelper.ExecuteScalarWithTransaction(connection, transaction, sqlCheck, checkParams)); |
| | | |
| | | if (count > 0) |
| | | { |
| | | msg[0] = "false"; |
| | | msg[1] = |
| | | $"该栈板码已经在MES入库,不允许解绑!栈板码:{mesPalletBinding.StackCode}"; |
| | | msg[1] = $"该栈板码已经在MES入库,不允许解绑!栈板码:{mesPalletBinding.StackCode}"; |
| | | transaction.Rollback(); |
| | | return msg; |
| | | } |
| | | |
| | | var sqlSelect = |
| | | "SELECT * FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode"; |
| | | var selectParams = new[] |
| | | { |
| | | new OracleParameter(":stackCode", |
| | | mesPalletBinding.StackCode) |
| | | }; |
| | | var dt = sqlHelper.ExecuteDataTable(sqlSelect, CommandType.Text, |
| | | selectParams); |
| | | var sqlSelect = "SELECT * FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode"; |
| | | var selectParams = new[] { new OracleParameter(":stackCode", mesPalletBinding.StackCode) }; |
| | | var dt = sqlHelper.ExecuteDataTable(sqlSelect, CommandType.Text, selectParams); |
| | | |
| | | foreach (DataRow row in dt.Rows) |
| | | { |
| | |
| | | new OracleParameter(":loginId", row["LOGIN_ID"]), |
| | | new OracleParameter(":snNo", row["SN_NO"]), |
| | | new OracleParameter(":ticketNo", row["TICKET_NO"]), |
| | | new OracleParameter(":mediumBoxCode", |
| | | row["MEDIUMBOXCODE"]), |
| | | new OracleParameter(":createdBy", |
| | | mesPalletBinding.LoginId) |
| | | new OracleParameter(":mediumBoxCode", row["MEDIUMBOXCODE"]), |
| | | new OracleParameter(":createdBy", mesPalletBinding.LoginId) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, logParams, |
| | | connection, transaction); |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlLog, logParams, connection, transaction); |
| | | } |
| | | |
| | | var sqlDelete = |
| | | "DELETE FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode"; |
| | | var delParams = new[] |
| | | { |
| | | new OracleParameter(":stackCode", |
| | | mesPalletBinding.StackCode) |
| | | }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlDelete, delParams, |
| | | connection, transaction); |
| | | var sqlDelete = "DELETE FROM MES_PALLET_BINDING WHERE STACKCODE = :stackCode"; |
| | | var delParams = new[] { new OracleParameter(":stackCode", mesPalletBinding.StackCode) }; |
| | | sqlHelper.ExecuteNonQueryWithTransaction(sqlDelete, delParams, connection, transaction); |
| | | } |
| | | |
| | | transaction.Commit(); |
| | |
| | | throw new ArgumentException("输入参数无效"); |
| | | |
| | | var sqlHelper = new OracleSQLHelper(); |
| | | var result = true; |
| | | bool result = true; |
| | | var (connection, transaction) = sqlHelper.BeginTransaction(); |
| | | |
| | | try |
| | | { |
| | | foreach (var sn in dto.snList) |
| | | { |
| | | if (dto.ActionType == 0) // 解绑 |
| | | { |
| | | var sql = @" |
| | | string sql = @" |
| | | UPDATE MES_SN_STATUS_DETAILS |
| | | SET IS_UNBIND = 1, |
| | | UNBIND_DATE = SYSDATE, |
| | |
| | | new OracleParameter(":SnNo", sn.snNo) |
| | | }; |
| | | |
| | | var rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, |
| | | parameters, connection, transaction); |
| | | int rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, parameters, connection, transaction); |
| | | if (rows == 0) |
| | | throw new Exception( |
| | | $"解绑失败: 工单[{sn.tickeNo}], SN[{sn.snNo}] 未找到可解绑记录或已解绑!"); |
| | | { |
| | | throw new Exception($"解绑失败: 工单[{sn.tickeNo}], SN[{sn.snNo}] 未找到可解绑记录或已解绑!"); |
| | | } |
| | | } |
| | | else if (dto.ActionType == 1) // 撤销解绑 |
| | | { |
| | | var sql = @" |
| | | string sql = @" |
| | | UPDATE MES_SN_STATUS_DETAILS |
| | | SET IS_UNBIND = 0, |
| | | UNBIND_DATE = NULL, |
| | |
| | | new OracleParameter(":SnNo", sn.snNo) |
| | | }; |
| | | |
| | | var rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, |
| | | parameters, connection, transaction); |
| | | int rows = sqlHelper.ExecuteNonQueryWithTransaction(sql, parameters, connection, transaction); |
| | | if (rows == 0) |
| | | throw new Exception( |
| | | $"撤销解绑失败: 工单[{sn.tickeNo}], SN[{sn.snNo}] 未找到已解绑记录!"); |
| | | { |
| | | throw new Exception($"撤销解绑失败: 工单[{sn.tickeNo}], SN[{sn.snNo}] 未找到已解绑记录!"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("无效的操作类型!只能是 0=解绑 或 1=撤销解绑"); |
| | | } |
| | | } |
| | | |
| | | transaction.Commit(); |
| | |
| | | |
| | | return result; |
| | | } |
| | | |
| | | } |
| | | } |