public static string ConvertBracketSerial(string constructionCode, string baseSerial) { //プレート付きの場合があるのでバラしてチェック var serial = TextObject.GetCountedText(baseSerial)[0]; //初回のみDB取得 if (LightSerialConverter.checkedConstructionCode != constructionCode) { LightSerialConverter.Initialize(constructionCode); } //在庫テーブルにある場合はそのまま if (usableBracketSerials.Exists(p => p.LightSerial == serial)) { return(string.Empty); } switch (serial) { case (Bracket_PL_Kibiroi): return(baseSerial.Replace(serial, "L-PA(D1)-C")); case (Bracket_BL_Kibiroi): return(baseSerial.Replace(serial, "L-BL(P1)-C")); case (Bracket_BN_Kibiroi): return(baseSerial.Replace(serial, "L-BN(P1)-C")); case (Bracket_PL): return(baseSerial.Replace(serial, serial + "(D1)")); case (Bracket_BL): return(baseSerial.Replace(serial, serial + "(P1)")); case (Bracket_BN): return(baseSerial.Replace(serial, serial + "(P1)")); default: return(string.Empty); } }
//新商品が必要か public static bool NeedNewLightSerial(string constructionCode, string baseSerial) { //初回のみDB取得 if (LightSerialConverter.checkedConstructionCode != constructionCode) { LightSerialConverter.Initialize(constructionCode); } //プレート付きの場合があるのでバラしてチェック var serial = TextObject.GetCountedText(baseSerial)[0]; //変換テーブルにあったら終了 foreach (var convertSerial in convertionSerials) { if (serial == convertSerial.TargetLightSerial) { return(false); } else if (serial == "L-" + convertSerial.TargetLightSerial) { return(false); } else if (serial == "L-" + convertSerial.TargetLightSerial + "-C") { return(false); } } //数量チェックが行われているものに関しては、現行品となる。 //三段階のチェック foreach (var usableSerial in usableSerials) { if (serial == usableSerial.LightSerial) { return(false); } else if (serial == "L-" + usableSerial.LightSerial) { return(false); } else if (serial == "L-" + usableSerial.LightSerial + "-C") { return(false); } } //対象品番か if (!LightSerialConverter.switchLights.Exists(p => p.OldHinban == serial)) { return(false); } //加工ストップしている現場だったら新商品 if (isUsingIrisLight) { return(true); } //加工依頼前は全てやる if (Static.IsBeforeKakouIrai) { return(true); } //引渡し日が空ならやる。 //引渡し日で切り替え日以降はやる if (releaseDate == null || releaseDate >= LightSerialConverter.SwitchingDate) { return(true); } return(false); }