// ----- 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(); }
// ----- 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(); }