Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -596,10 +596,11 @@ func GetProductionHasCostDetailHeaderHandler(w http.ResponseWriter, r *http.Requ
|
||||
|
||||
logger.Info("request done", "n_urt_recete_id", item.NUrtReceteID, "urun_kodu", item.UrunKodu)
|
||||
if mssqlDB != nil {
|
||||
ana, alt, err := queries.GetProductAnaAltGrupByUrunKodu(ctx, mssqlDB, item.UrunKodu)
|
||||
ilk, ana, alt, err := queries.GetProductIlkAnaAltGrupByUrunKodu(ctx, mssqlDB, item.UrunKodu)
|
||||
if err != nil {
|
||||
logger.Warn("product group query error", "err", err)
|
||||
} else {
|
||||
item.UrunIlkGrubu = ilk
|
||||
item.UrunAnaGrubu = ana
|
||||
item.UrunAltGrubu = alt
|
||||
}
|
||||
@@ -659,10 +660,11 @@ func GetProductionHasCostDetailHeaderHandler(w http.ResponseWriter, r *http.Requ
|
||||
|
||||
logger.Info("request done", "n_onml_no", item.NOnMLNo, "urun_kodu", item.UrunKodu, "n_urt_recete_id", item.NUrtReceteID)
|
||||
if mssqlDB != nil {
|
||||
ana, alt, err := queries.GetProductAnaAltGrupByUrunKodu(ctx, mssqlDB, item.UrunKodu)
|
||||
ilk, ana, alt, err := queries.GetProductIlkAnaAltGrupByUrunKodu(ctx, mssqlDB, item.UrunKodu)
|
||||
if err != nil {
|
||||
logger.Warn("product group query error", "err", err)
|
||||
} else {
|
||||
item.UrunIlkGrubu = ilk
|
||||
item.UrunAnaGrubu = ana
|
||||
item.UrunAltGrubu = alt
|
||||
}
|
||||
@@ -761,7 +763,7 @@ func GetProductionHasCostDetailEditorOptionsHandler(w http.ResponseWriter, r *ht
|
||||
list := make([]models.ProductionHasCostDetailEditorOption, 0, limit)
|
||||
for rows.Next() {
|
||||
var item models.ProductionHasCostDetailEditorOption
|
||||
if err := rows.Scan(&item.NHammaddeTuruNo, &item.SHammaddeTuruAdi, &item.SAciklama3); err != nil {
|
||||
if err := rows.Scan(&item.NHammaddeTuruNo, &item.SHammaddeTuruAdi, &item.SAciklama3, &item.MTUrtMTBolumID, &item.SParcaAdi); err != nil {
|
||||
logger.Warn("hammadde scan error", "err", err)
|
||||
log.Printf("⚠️ [ProductionHasCostDetailEditorOptions] hammadde scan error: %v", err)
|
||||
continue
|
||||
@@ -769,7 +771,6 @@ func GetProductionHasCostDetailEditorOptionsHandler(w http.ResponseWriter, r *ht
|
||||
item.Kind = "hammadde"
|
||||
item.Value = item.NHammaddeTuruNo
|
||||
item.Label = strings.TrimSpace(item.NHammaddeTuruNo + " - " + item.SHammaddeTuruAdi)
|
||||
item.SParcaAdi = item.SAciklama3
|
||||
list = append(list, item)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
@@ -1958,7 +1959,18 @@ func PostProductionProductCostingParcaMappingUpsertHandler(w http.ResponseWriter
|
||||
return
|
||||
}
|
||||
|
||||
id, err := queries.UpsertProductionProductCostingParcaMapping(ctx, uretimDB, req.UrunIlkGrubu, req.UrunAnaGrubu, req.UrunAltGrubu, req.NUrtMTBolumID, req.NHammaddeTurleri, req.BAktif, user)
|
||||
allowed, invalid, ferr := queries.FilterHammaddeTurleriForPart(ctx, uretimDB, req.NUrtMTBolumID, req.NHammaddeTurleri)
|
||||
if ferr != nil {
|
||||
logger.Error("hammadde validation error", "err", ferr)
|
||||
http.Error(w, "Veritabani hatasi", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
// Soft-enforce: drop invalid types instead of hard failing. This prevents a "multi-part save" from failing
|
||||
// when the UI reuses the same hammadde list across multiple MT bolum selections.
|
||||
// We still return the ignored list so UI/logs can surface it.
|
||||
ignored := invalid
|
||||
|
||||
id, err := queries.UpsertProductionProductCostingParcaMapping(ctx, uretimDB, req.UrunIlkGrubu, req.UrunAnaGrubu, req.UrunAltGrubu, req.NUrtMTBolumID, allowed, req.BAktif, user)
|
||||
if err != nil {
|
||||
logger.Error("exec error", "err", err)
|
||||
http.Error(w, "Veritabani hatasi", http.StatusInternalServerError)
|
||||
@@ -1966,7 +1978,10 @@ func PostProductionProductCostingParcaMappingUpsertHandler(w http.ResponseWriter
|
||||
}
|
||||
|
||||
logger.Info("request done", "id", id, "user", user, "bAktif", req.BAktif)
|
||||
_ = json.NewEncoder(w).Encode(map[string]any{"ok": true, "id": id})
|
||||
if len(ignored) > 0 {
|
||||
logger.Warn("hammadde types ignored due to MT bolum mismatch", "nUrtMTBolumID", req.NUrtMTBolumID, "ignored_count", len(ignored))
|
||||
}
|
||||
_ = json.NewEncoder(w).Encode(map[string]any{"ok": true, "id": id, "ignored": ignored})
|
||||
}
|
||||
|
||||
type productionProductCostingSetActiveRequest struct {
|
||||
|
||||
Reference in New Issue
Block a user