// ----- ADD  END  2020/11/10 E.KOSHIKAWA ----- //

        // マスターカートンシリアルのステータス更新処理
        public void UpdateStatus()
        {
            string[] SerialNOs = MasterCartonSerial.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

            StringBuilder stbWhere = new StringBuilder();

            stbWhere.Append("T_SERIAL_STATUS.SERIAL_NUMBER IN ( ");

            for (int i = 0; i < SerialNOs.Length; i++)
            {
                if (i + 1 != SerialNOs.Length)
                {
                    stbWhere.Append("'" + SerialNOs[i] + "', ");
                }
                else
                {
                    stbWhere.Append("'" + SerialNOs[i] + "') ");
                }
            }

            DSNLibrary    dsnLib = new DSNLibrary();
            StringBuilder stbSql = new StringBuilder();

            string strID = HttpContext.Current.Session["ID"].ToString();

            // シリアルステータス更新
            stbSql.Append("UPDATE T_SERIAL_STATUS ");
            stbSql.Append("SET ");
            stbSql.Append("    T_SERIAL_STATUS.SERIAL_STATUS_ID = '3010', ");
            stbSql.Append("    T_SERIAL_STATUS.STATUS_UPDATE_DATE = GETDATE(), ");
            stbSql.Append("    T_SERIAL_STATUS.UPDATE_DATE = GETDATE(), ");
            stbSql.Append("    T_SERIAL_STATUS.UPDATE_ID = '" + strID + "' ");
            stbSql.Append("WHERE ");
            stbSql.Append(stbWhere.ToString());

            dsnLib.ExecSQLUpdate(stbSql.ToString());

            stbSql.Clear();

            stbSql.Append("UPDATE T_SO_STATUS ");
            stbSql.Append("SET ");
            stbSql.Append("    T_SO_STATUS.SO_STATUS_ID = '3010', ");
            stbSql.Append("    T_SO_STATUS.ST_CHANGE_DATE = GETDATE(), ");
            stbSql.Append("    T_SO_STATUS.UPDATE_DATE = GETDATE(), ");
            stbSql.Append("    T_SO_STATUS.UPDATE_ID = '" + strID + "' ");
            stbSql.Append("WHERE EXISTS ( ");
            stbSql.Append("    SELECT * FROM T_SERIAL_STATUS ");
            stbSql.Append("    WHERE T_SO_STATUS.SO_NO = T_SERIAL_STATUS.SO_NO AND ");
            stbSql.Append(stbWhere.ToString() + ") ");

            dsnLib.ExecSQLUpdate(stbSql.ToString());

            stbSql.Clear();

            stbSql.Append("INSERT INTO T_SERIAL_STATUS_HISTORY ");
            stbSql.Append("SELECT ");
            stbSql.Append("    T_SERIAL_STATUS.ID, ");
            stbSql.Append("    T_SERIAL_STATUS.SERIAL_NUMBER, ");
            stbSql.Append("    '" + LineID + "', ");
            stbSql.Append("    T_SERIAL_STATUS.SO_NO, ");
            stbSql.Append("    T_SERIAL_STATUS.SERIAL_STATUS_ID, ");
            stbSql.Append("    GETDATE(), ");
            stbSql.Append("    '" + strID + "', ");
            stbSql.Append("    GETDATE(), ");
            stbSql.Append("    '" + strID + "' ");
            stbSql.Append("FROM T_SERIAL_STATUS ");
            stbSql.Append("WHERE ");
            stbSql.Append(stbWhere.ToString());

            dsnLib.ExecSQLUpdate(stbSql.ToString());

            stbSql.Clear();

            stbSql.Append("INSERT INTO T_SO_STATUS_HISTORY ");
            stbSql.Append("SELECT ");
            stbSql.Append("    T_SO_STATUS_HISTORY.SO_NO, ");
            stbSql.Append("    MAX(T_SO_STATUS_HISTORY.SEQ) + 1, ");
            stbSql.Append("    MAX(T_SO_STATUS_HISTORY.NOW_STATUS), ");
            stbSql.Append("    '3010', ");
            stbSql.Append("    GETDATE(), ");
            stbSql.Append("    '" + strID + "', ");
            stbSql.Append("    GETDATE(), ");
            stbSql.Append("    '" + strID + "' ");
            stbSql.Append("FROM T_SO_STATUS_HISTORY LEFT JOIN T_SERIAL_STATUS ON ");
            stbSql.Append("     T_SO_STATUS_HISTORY.SO_NO = T_SERIAL_STATUS.SO_NO ");
            stbSql.Append("WHERE ");
            stbSql.Append(stbWhere.ToString());
            stbSql.Append("GROUP BY  ");
            stbSql.Append("     T_SO_STATUS_HISTORY.SO_NO  ");

            dsnLib.ExecSQLUpdate(stbSql.ToString());

            dsnLib.DB_Close();
        }
Esempio n. 2
0
        // ----- ADD  END  2020/11/10 E.KOSHIKAWA ----- //

        // マスターカートンシリアルのステータス更新処理
        public void UpdateStatus()
        {
            string[] SerialNOs = MasterCartonSerial.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

            StringBuilder stbWhere = new StringBuilder();

            stbWhere.Append("T_SERIAL_STATUS.SERIAL_NUMBER IN ( ");

            for (int i = 0; i < SerialNOs.Length; i++)
            {
                if (i + 1 != SerialNOs.Length)
                {
                    stbWhere.Append("'" + SerialNOs[i] + "', ");
                }
                else
                {
                    stbWhere.Append("'" + SerialNOs[i] + "') ");
                }
            }

            DSNLibrary    dsnLib = new DSNLibrary();
            StringBuilder stbSql = new StringBuilder();

            string strID = HttpContext.Current.Session["ID"].ToString();

            // シリアルステータス更新
            stbSql.Append("UPDATE T_SERIAL_STATUS ");
            stbSql.Append("SET ");
            stbSql.Append("    T_SERIAL_STATUS.WORKDAY = GETDATE(), ");
            stbSql.Append("    T_SERIAL_STATUS.SERIAL_STATUS_ID = '4010', ");
            stbSql.Append("    T_SERIAL_STATUS.STATUS_UPDATE_DATE = GETDATE(), ");
            stbSql.Append("    T_SERIAL_STATUS.UPDATE_DATE = GETDATE(), ");
            stbSql.Append("    T_SERIAL_STATUS.UPDATE_ID = '" + strID + "' ");
            stbSql.Append("WHERE ");
            stbSql.Append(stbWhere.ToString());

            dsnLib.ExecSQLUpdate(stbSql.ToString());

            stbSql.Clear();

            // シリアルステータス履歴更新
            stbSql.Append("INSERT INTO T_SERIAL_STATUS_HISTORY ");
            stbSql.Append("SELECT ");
            stbSql.Append("    T_SERIAL_STATUS.ID, ");
            stbSql.Append("    T_SERIAL_STATUS.SERIAL_NUMBER, ");
            stbSql.Append("    '" + LineID + "', ");
            stbSql.Append("    T_SERIAL_STATUS.SO_NO, ");
            stbSql.Append("    T_SERIAL_STATUS.SERIAL_STATUS_ID, ");
            stbSql.Append("    GETDATE(), ");
            stbSql.Append("    '" + strID + "', ");
            stbSql.Append("    GETDATE(), ");
            stbSql.Append("    '" + strID + "' ");
            stbSql.Append("FROM T_SERIAL_STATUS ");
            stbSql.Append("WHERE ");
            stbSql.Append(stbWhere.ToString());

            dsnLib.ExecSQLUpdate(stbSql.ToString());

            stbSql.Clear();

            // SOに紐付くシリアルが全て検査完了していた場合はSOステータス更新
            // 検査完了していないシリアルがあるかをチェック
            stbSql.Append("SELECT ");
            stbSql.Append("    * ");
            stbSql.Append("FROM ");
            stbSql.Append("    T_SERIAL_STATUS TSE INNER JOIN ");
            stbSql.Append("    ( SELECT SO_NO FROM T_SERIAL_STATUS ");
            stbSql.Append("      WHERE " + stbWhere.ToString() + " ");
            stbSql.Append("      GROUP BY SO_NO ");
            stbSql.Append("    ) SO_NOS ON ");
            stbSql.Append("    TSE.SO_NO = SO_NOS.SO_NO ");
            stbSql.Append("WHERE TSE.SERIAL_STATUS_ID < '4010' ");

            SqlDataReader sqlRdr = dsnLib.ExecSQLRead(stbSql.ToString());

            if (!sqlRdr.HasRows)
            {
                stbSql.Clear();

                // SOステータスを更新
                stbSql.Append("UPDATE T_SO_STATUS ");
                stbSql.Append("SET ");
                stbSql.Append("    T_SO_STATUS.SO_STATUS_ID = '4010', ");
                stbSql.Append("    T_SO_STATUS.ST_CHANGE_DATE = GETDATE(), ");
                stbSql.Append("    T_SO_STATUS.UPDATE_DATE = GETDATE(), ");
                stbSql.Append("    T_SO_STATUS.UPDATE_ID = '" + strID + "' ");
                stbSql.Append("WHERE EXISTS ( ");
                stbSql.Append("    SELECT * FROM T_SERIAL_STATUS ");
                stbSql.Append("    WHERE T_SO_STATUS.SO_NO = T_SERIAL_STATUS.SO_NO AND ");
                stbSql.Append(stbWhere.ToString() + ") ");

                dsnLib.ExecSQLUpdate(stbSql.ToString());

                // SOステータス履歴を更新
                stbSql.Append("INSERT INTO T_SO_STATUS_HISTORY ");
                stbSql.Append("SELECT ");
                stbSql.Append("    T_SO_STATUS_HISTORY.SO_NO, ");
                stbSql.Append("    MAX(T_SO_STATUS_HISTORY.SEQ) + 1, ");
                stbSql.Append("    MAX(T_SO_STATUS_HISTORY.NOW_STATUS), ");
                stbSql.Append("    '4010', ");
                stbSql.Append("    GETDATE(), ");
                stbSql.Append("    '" + strID + "', ");
                stbSql.Append("    GETDATE(), ");
                stbSql.Append("    '" + strID + "' ");
                stbSql.Append("FROM T_SO_STATUS_HISTORY LEFT JOIN T_SERIAL_STATUS ON ");
                stbSql.Append("     T_SO_STATUS_HISTORY.SO_NO = T_SERIAL_STATUS.SO_NO ");
                stbSql.Append("WHERE ");
                stbSql.Append(stbWhere.ToString());
                stbSql.Append("GROUP BY  ");
                stbSql.Append("     T_SO_STATUS_HISTORY.SO_NO  ");

                dsnLib.ExecSQLUpdate(stbSql.ToString());
            }
            stbSql.Clear();
            sqlRdr.Close();
            dsnLib.DB_Close();
        }