111
tjx
6 天以前 f34f0751ef0c6305c94ff342ca7fbe24aa09844e
StandardPda/MES.Service/service/Warehouse/WomdaaManager.cs
@@ -47,7 +47,15 @@
            //    "                        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 ,PRD.PRD_ID PRDID\r\nfrom  WOMDAA C\r\n         " +
                "left join mes_items s on s.id = C.daa002\r\n" +
                 "left join MES_PRD_ID PRD on PRD.ITEM_NO=s.ITEM_NO /*查询产品id*/\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);
        }
@@ -222,17 +230,32 @@
            try
            {
                // 1. 主表插入
                //    var sql1 = @"
                //INSERT INTO MES_SN_STATUS_DETAILS
                //   (ID, TICKET_NO, SN_NO, WORKSTATION_NO, SN_STATE, LOGIN_ID, TURNOVER_CODE,LINE_NO)
                //   VALUES (SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL,
                //           :ticketNo,
                //           :snNo,
                //           :workstationNo,
                //           :snState,
                //           :loginId,
                //           :turnoverCode,select nvl(DAA015,'') from WOMDAA where DAA001 = ':ticketNo' and ROWNUM=1)";
                // 1. 主表插入
                var sql1 = @"
            INSERT INTO MES_SN_STATUS_DETAILS
               (ID, TICKET_NO, SN_NO, WORKSTATION_NO, SN_STATE, LOGIN_ID, TURNOVER_CODE)
               VALUES (SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL,
                       :ticketNo,
                       :snNo,
                       :workstationNo,
                       :snState,
                       :loginId,
                       :turnoverCode)";
                   (ID, TICKET_NO, SN_NO, WORKSTATION_NO, SN_STATE, LOGIN_ID, TURNOVER_CODE, LINE_NO)
            SELECT SEQ_MES_SN_STATUS_DETAILS_ID.NEXTVAL,
                   :ticketNo,
                   :snNo,
                   :workstationNo,
                   :snState,
                   :loginId,
                   :turnoverCode,
                   NVL(DAA015, '')
              FROM WOMDAA
             WHERE DAA001 = :ticketNo
               AND ROWNUM = 1";
                var parameters1 = new[]
                {
            new OracleParameter("ticketNo", asnInfo.tickeNo ?? (object)DBNull.Value),
@@ -727,5 +750,32 @@
            return result;
        }
        /// <summary>
        /// 查询栈板码状态
        /// </summary>
        /// <param name="stackCode">栈板码</param>
        /// <returns>0-允许解绑,1-不允许解绑(已入库)</returns>
        public int GetStackCodeState(string stackCode)
        {
            var sqlHelper = new OracleSQLHelper();
            try
            {
                // 查询该栈板码是否已入库 (IS_INBOUND = 1)
                var sql = @"SELECT COUNT(*) FROM MES_PALLET_BINDING
                           WHERE STACKCODE = :stackCode AND IS_INBOUND = 1";
                var parameters = new[] { new OracleParameter(":stackCode", stackCode ?? (object)DBNull.Value) };
                var count = Convert.ToInt32(sqlHelper.ExecuteScalar(sql, CommandType.Text, parameters));
                // 如果count > 0,说明已入库,返回1(不允许解绑)
                // 否则返回0(允许解绑)
                return count > 0 ? 1 : 0;
            }
            catch (Exception ex)
            {
                throw new Exception($"查询栈板码状态失败: {ex.Message}", ex);
            }
        }
    }
}