public void setDb(Context.AdminUangJalan dbitem) { List <string> listBor = new List <string>(); foreach (var item in ModelListBorongan.Where(d => d.IsDelete == false)) { listBor.Add(item.IdDataBorongan.Value.ToString()); } dbitem.IdDataBorongan = string.Join(",", listBor); dbitem.NilaiBorongan = NilaiBorongan; dbitem.Kawalan = Kawalan; dbitem.Timbangan = Timbangan; dbitem.Karantina = Karantina; dbitem.SPSI = SPSI; dbitem.Multidrop = Multidrop; dbitem.TotalBorongan = TotalBorongan; dbitem.KeteranganAdmin = KeteranganAdmin; dbitem.IdDriver1 = IdDriver1; dbitem.IdDriver2 = IdDriver2; dbitem.IdDriverOld1 = IdDriverOld1; dbitem.IdDriverOld2 = IdDriverOld2; dbitem.KeteranganGanti1 = KeteranganGanti1; dbitem.KeteranganGanti2 = KeteranganGanti2; dbitem.KasbonDriver1 = KasbonDriver1; dbitem.KasbonDriver2 = KasbonDriver2; dbitem.TotalKasbon = TotalKasbon; dbitem.KlaimDriver1 = KlaimDriver1; dbitem.KlaimDriver2 = KlaimDriver2; dbitem.TotalKlaim = TotalKlaim; dbitem.TotalPotonganDriver = TotalPotonganDriver; dbitem.PotonganB = PotonganB; dbitem.PotonganP = PotonganP; dbitem.PotonganK = PotonganK; dbitem.PotonganT = PotonganT; decimal?p = dbitem.PotonganT; decimal?u = p; dbitem.AdminUangJalanTambahanRute.Clear(); foreach (AdminUangJalanTambahanRute item in ModelListTambahanRute.Where(d => d.IsDelete == false)) { dbitem.AdminUangJalanTambahanRute.Add(item.setDb(new Context.AdminUangJalanTambahanRute())); } dbitem.AdminUangJalanTambahanLain.Clear(); foreach (AdminUangJalanTambahanLain item in ModelListTambahanLain.Where(d => d.IsDelete == false)) { dbitem.AdminUangJalanTambahanLain.Add(item.setDb(new Context.AdminUangJalanTambahanLain())); } dbitem.AdminUangJalanPotonganDriver.Clear(); foreach (AdminUangJalanPotonganLain item in ModelListPotonganLain.Where(d => d.IsDelete == false)) { dbitem.AdminUangJalanPotonganDriver.Add(item.setDb(new Context.AdminUangJalanPotonganDriver())); } dbitem.AdminUangJalanVoucherSpbu.Clear(); foreach (AdminUangJalanVoucherSpbu item in ModelListSpbu) { dbitem.AdminUangJalanVoucherSpbu.Add(item.setDb(new Context.AdminUangJalanVoucherSpbu())); } dbitem.AdminUangJalanVoucherKapal.Clear(); foreach (AdminUangJalanVoucherKapal item in ModelListKapal) { dbitem.AdminUangJalanVoucherKapal.Add(item.setDb(new Context.AdminUangJalanVoucherKapal())); } dbitem.AdminUangJalanUangTf.Clear(); foreach (AdminUangJalanUangTf item in ModelListTf) { dbitem.AdminUangJalanUangTf.Add(item.setDb(new Context.AdminUangJalanUangTf())); } dbitem.TotalAlokasi = TotalAlokasi; }
public ActionResult Edit(SettlementBatal model) { if (ModelState.IsValid) { Context.SettlementBatal dbitem = RepoSettlementBatal.FindByPK(model.Id); if (dbitem.IdSoKontrak == "" || dbitem.IdSoKontrak == null) { Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.AdminUangJalan db = RepoAdminUangJalan.FindByPK(dbso.AdminUangJalanId.Value); Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); dbitem.Code = "SB-" + (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber); model.SetDb(dbitem); //Jurnal Pengembalian Uang Jalan //(uang, dll dikembalikan utuh), mau utuh mau ngga, nominal cash yg dikembalikan mah ambil dari form :p decimal nominalHutangUangJalanDriver = (model.KasAktual == null ? 0 : model.KasAktual.Value) + (model.TransferAktual == null ? 0 : model.TransferAktual.Value); decimal nomDiakui = (model.KasDiakui == null ? 0 : model.KasDiakui.Value) + (model.TransferDiakui == null ? 0 : model.TransferDiakui.Value) + (model.SolarDiakui == null ? 0 : model.SolarDiakui.Value) + (model.KapalDiakui == null ? 0 : model.KapalDiakui.Value); decimal nomSelisih = (dbitem.KasSelisih == null ? 0 : dbitem.KasSelisih.Value) + (dbitem.TransferSelisih == null ? 0 : dbitem.TransferSelisih.Value) + (dbitem.KapalSelisih == null ? 0 : dbitem.KapalSelisih.Value); nominalHutangUangJalanDriver += decimal.Parse(db.AdminUangJalanVoucherSpbu.Select(d => d.Value).Sum().ToString()); nominalHutangUangJalanDriver += decimal.Parse(db.AdminUangJalanVoucherKapal.Select(d => d.Value).Sum().ToString()); nominalHutangUangJalanDriver += db.KasbonDriver1 == null ? 0 : db.KasbonDriver1.Value; nominalHutangUangJalanDriver += db.KlaimDriver1 == null ? 0 : db.KlaimDriver1.Value; nominalHutangUangJalanDriver += decimal.Parse(db.AdminUangJalanPotonganDriver.Select(d => d.Value).Sum().ToString()); decimal?TotalBiaya = nomDiakui; int idx = 2; if (nomDiakui > 0) { Repoglt_det.saveFromAc(2, "SB-" + dbso.SalesOrderOncall.SONumber, nomDiakui, 0, Repoac_mstr.FindByPk(erpConfig.IdBiayaBatalJalan));//BIAYA BATAL JALAN } foreach (Context.AdminUangJalanVoucherSpbu aujvs in db.AdminUangJalanVoucherSpbu) { idx++; if (model.SPBUKembali != null && model.SPBUKembali.Contains(aujvs.Keterangan)) //jurnal balik, ga jadi hutangnya { Repoglt_det.saveFromAc(idx, "SB-" + dbso.SalesOrderOncall.SONumber, aujvs.Value, 0, Repoac_mstr.FindByPk(RepoLookup.FindByName(aujvs.Keterangan).ac_id)); //HUTANG SPBU 34.171.04 Pangkalan 2 dan atau TotalBiaya += aujvs.Value; } else //jadi hutang SPBU, masuk ke AP Inv { string a = aujvs.Keterangan; string username = UserPrincipal.username; int? vend = RepoLookup.FindByName(aujvs.Keterangan).VendorId; int vendorId = RepoLookup.FindByName(aujvs.Keterangan).VendorId.Value; Context.Customer cust = RepoCustomer.FindByPK(RepoLookup.FindByName(aujvs.Keterangan).VendorId.Value); Repogr_mstr.save(aujvs.Value, cust, username, dbitem.Code); } } Repoglt_det.saveFromAc(idx, "SB-" + dbso.SalesOrderOncall.SONumber, dbitem.SolarSelisih, 0, Repoac_mstr.FindByPk(erpConfig.IdPiutangDriverBatalJalanSementaraSolar)); TotalBiaya += dbitem.SolarSelisih; if (dbitem.KapalAktual > 0) { foreach (Context.AdminUangJalanVoucherKapal aujvs in db.AdminUangJalanVoucherKapal) { idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbso.SalesOrderOncall.SONumber, aujvs.Value, 0, Repoac_mstr.FindByPk(RepoLookup.FindByName(aujvs.Keterangan).ac_id));//HUTANG SPBU 34.171.04 Pangkalan 2 dan atau TotalBiaya += aujvs.Value; } } // if (nomSelisih > 0){ idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbso.SalesOrderOncall.SONumber, nomSelisih, 0, Repoac_mstr.FindByPk(erpConfig.IdPiutangDriverBatalJalan), "Selisih Kas/Transfer/Kapal");//PIUTANG DRIVER BATAL JALAN TotalBiaya += nomSelisih; // } //mau utuh mau ngga, nominal cash yg dikembalikan mah ambil dari form :p Repoglt_det.saveFromAc(2, "SB-" + dbso.SalesOrderOncall.SONumber, model.KasAktual, 0, Repoac_mstr.FindByPk(RepoMasterPool.FindByIPAddress().IdCreditCash)); //BCA Audy 386-7957777 atau Repoglt_det.saveFromAc(2, "SB-" + dbso.SalesOrderOncall.SONumber, model.TransferAktual, 0, Repoac_mstr.FindByPk(dbitem.IdCreditTf)); //BCA Audy 386-7957777 atau TotalBiaya += (model.KasAktual + model.TransferAktual); Repoglt_det.saveFromAc(1, "SB-" + dbso.SalesOrderOncall.SONumber, 0, TotalBiaya, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit)); //Hutang Uang Jalan Driver RepoSettlementBatal.save(dbitem, UserPrincipal.id, "Settlement Batal"); try {//masuklah ke saldo piutang driver, save to pby_mstr&det var glt_oid = Guid.NewGuid().ToString(); Repopbyd_det.saveMstr(glt_oid, dbitem.Code, erpConfig.IdAUJCredit.Value, "Settlement Batal " + dbitem.Code, db.IdDriver1.Value + 7000000); Repopbyd_det.save( glt_oid, dbitem.Code, erpConfig.IdAUJCredit.Value, "Settlement Batal " + dbitem.Code, db.IdDriver1.Value + 7000000, erpConfig.IdAUJCredit.Value, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit).ac_name, 0 ); } catch (Exception e) {} } else { Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.SalesOrderKontrakListSo dbKontrak = dbso.SalesOrderKontrak.SalesOrderKontrakListSo.Where(d => d.Id == int.Parse(dbitem.IdSoKontrak)).FirstOrDefault(); Context.AdminUangJalan db = RepoAdminUangJalan.FindByPK(dbKontrak.IdAdminUangJalan.Value); Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); dbitem.Code = "SB-" + (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber); model.SetDb(dbitem); //Jurnal Pengembalian Uang Jalan //(uang, dll dikembalikan utuh), mau utuh mau ngga, nominal cash yg dikembalikan mah ambil dari form :p decimal nominalHutangUangJalanDriver = model.KasAktual ?? model.KasAktual.Value + model.TransferAktual ?? model.TransferAktual.Value; decimal nomDiakui = model.KasDiakui ?? model.KasDiakui.Value + model.TransferDiakui ?? model.TransferDiakui.Value + model.SolarDiakui ?? model.SolarDiakui.Value + model.KapalDiakui ?? model.KapalDiakui.Value; decimal nomSelisih = dbitem.KasSelisih.Value + dbitem.TransferSelisih.Value + dbitem.KapalSelisih.Value; nominalHutangUangJalanDriver += decimal.Parse(db.AdminUangJalanVoucherSpbu.Select(d => d.Value).Sum().ToString()); nominalHutangUangJalanDriver += decimal.Parse(db.AdminUangJalanVoucherKapal.Select(d => d.Value).Sum().ToString()); nominalHutangUangJalanDriver += db.KasbonDriver1 == null ? 0 : db.KasbonDriver1.Value; nominalHutangUangJalanDriver += db.KlaimDriver1 == null ? 0 : db.KlaimDriver1.Value; nominalHutangUangJalanDriver += decimal.Parse(db.AdminUangJalanPotonganDriver.Select(d => d.Value).Sum().ToString()); int idx = 2; Repoglt_det.saveFromAc(1, "SB-" + dbKontrak.NoSo, 0, nominalHutangUangJalanDriver, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit));//Hutang Uang Jalan Driver if (nomDiakui > 0) { Repoglt_det.saveFromAc(2, "SB-" + dbKontrak.NoSo, nomDiakui, 0, Repoac_mstr.FindByPk(erpConfig.IdBiayaBatalJalan));//BIAYA BATAL JALAN } foreach (Context.AdminUangJalanVoucherSpbu aujvs in db.AdminUangJalanVoucherSpbu) { idx++; if (model.SPBUKembali.Contains(aujvs.Keterangan)) { Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, aujvs.Value, 0, Repoac_mstr.FindByPk(RepoLookup.FindByName(aujvs.Keterangan).ac_id));//HUTANG SPBU 34.171.04 Pangkalan 2 dan atau } else { Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, aujvs.Value, 0, Repoac_mstr.FindByPk(erpConfig.IdPiutangDriverBatalJalanSementaraSolar), "Voucher SPBU " + aujvs.Keterangan); } } foreach (Context.AdminUangJalanVoucherKapal aujvs in db.AdminUangJalanVoucherKapal) { idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, aujvs.Value, 0, Repoac_mstr.FindByPk(RepoLookup.FindByName(aujvs.Keterangan).ac_id));//HUTANG SPBU 34.171.04 Pangkalan 2 dan atau } // if (nomSelisih > 0){ idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, nomSelisih, 0, Repoac_mstr.FindByPk(erpConfig.IdPiutangDriverBatalJalan), "Selisih Kas/Transfer/Kapal");//PIUTANG DRIVER BATAL JALAN // } if (db.PotonganB > 0) { idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, db.PotonganB, 0, Repoac_mstr.FindByPk(erpConfig.IdPiutangDriverBatalJalan));//PIUTANG DRIVER BATAL JALAN } if (db.PotonganP > 0) { idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, db.PotonganP, 0, Repoac_mstr.FindByPk(erpConfig.IdPiutangDriverPribadi));//PIUTANG DRIVER BATAL JALAN / SEMENTARA TUNAI } if (db.PotonganK > 0) { idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, db.PotonganK, 0, Repoac_mstr.FindByPk(erpConfig.IdPendapatanPengembalianPiutangDriver)); } if (db.PotonganT > 0) { idx++; Repoglt_det.saveFromAc(idx, "SB-" + dbKontrak.NoSo, db.PotonganT, 0, Repoac_mstr.FindByPk(erpConfig.IdTabunganDriver)); } //mau utuh mau ngga, nominal cash yg dikembalikan mah ambil dari form :p Repoglt_det.saveFromAc(2, "SB-" + dbKontrak.NoSo, model.KasAktual, 0, Repoac_mstr.FindByPk(RepoMasterPool.FindByIPAddress().IdCreditCash)); //BCA Audy 386-7957777 atau Repoglt_det.saveFromAc(2, "SB-" + dbKontrak.NoSo, model.TransferAktual, 0, Repoac_mstr.FindByPk(db.AdminUangJalanUangTf.FirstOrDefault().IdCreditTf)); //BCA Audy 386-7957777 atau RepoSettlementBatal.save(dbitem, UserPrincipal.id, "Settlement Batal"); try {//masuklah ke saldo piutang driver, save to pby_mstr&det var glt_oid = Guid.NewGuid().ToString(); Repopbyd_det.saveMstr(glt_oid, dbitem.Code, erpConfig.IdAUJCredit.Value, "Settlement Batal " + dbitem.Code, db.IdDriver1.Value + 7000000); Repopbyd_det.save( glt_oid, dbitem.Code, erpConfig.IdAUJCredit.Value, "Settlement Batal " + dbitem.Code, db.IdDriver1.Value + 7000000, erpConfig.IdAUJCredit.Value, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit).ac_name, 0 ); } catch (Exception e) {} } return(RedirectToAction("Index")); } return(View("Form", model)); }
public ActionResult Edit(RevisiTanggal model) { Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.RevisiTanggal revisiTgl = new Context.RevisiTanggal(); if (ModelState.IsValid) { if (dbso.Status == "dispatched") { //batalkeun so na Context.SettlementBatal dbsettlement = new Context.SettlementBatal(); Context.AdminUangJalan dummyAdminUangJalan = dbso.AdminUangJalan; Context.BatalOrder batalOrder = new Context.BatalOrder(); //batal dbso.Status = "batal order"; batalOrder.IdSalesOrder = dbso.Id; batalOrder.Keterangan = "Revisi Tanggal"; batalOrder.ModifiedDate = DateTime.Now; dbso.KeteranganBatal = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi; RepoSalesOrder.save(dbso); RepoBatalOrder.save(batalOrder, UserPrincipal.id); //settlement batal dbsettlement.IdDriver = dummyAdminUangJalan.IdDriver1; dbsettlement.IdSalesOrder = dbso.Id; if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai")) { dbsettlement.KasDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer; } if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer"))) { dbsettlement.TransferDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer); } dbsettlement.SolarDiterima = dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value); dbsettlement.KapalDiterima = dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value); dbsettlement.JenisBatal = "Batal Order"; RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Revisi Tanggal"); //create so baru Context.SalesOrder dummySo = new Context.SalesOrder(); dummySo.isReturn = true; dummySo.DateRevised = true; dummySo.Status = "Draft"; dummySo.AdminUangJalanId = null; dummySo.AdminUangJalan = null; dummySo.DateStatus = DateTime.Now; if (dbso.SalesOrderOncallId.HasValue) { //urus anak na Context.SalesOrderOncall dboncall = new Context.SalesOrderOncall(); SalesOrderOncall modelOncall = new SalesOrderOncall(dbso); modelOncall.setDb(dboncall); dboncall.SalesOrderOnCallId = 0; dboncall.TanggalMuat = model.TanggalBaru; dboncall.JamMuat = model.JamBaru.Value; dboncall.Urutan = RepoSalesOrder.getUrutanOnCAll(modelOncall.TanggalMuat.Value) + 1; dboncall.SONumber = RepoSalesOrder.generateCodeOnCall(modelOncall.TanggalMuat.Value, dboncall.Urutan); dboncall.DN = "DN" + dboncall.SONumber; dboncall.Keterangan = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi + " - " + dbso.SalesOrderOncall.Keterangan; dummySo.SalesOrderOncall = dboncall; RepoAuditrail.SetAuditTrail("INSERT INTO dbo.\"SalesOrderOncall\" (\"SONumber\", \"Urutan\", \"TanggalOrder\", \"JamOrder\", \"CustomerId\", \"PrioritasId\", \"JenisTruckId\", \"ProductId\", " + "\"TanggalMuat\", \"JamMuat\", \"Keterangan\", \"KeteranganLoading\", \"KeteranganUnloading\", \"IdDaftarHargaItem\", \"StrDaftarHargaItem\", \"StrMultidrop\", \"IdDataTruck\", \"Driver1Id\", " + "\"KeteranganDriver1\", \"Driver2Id\", \"KeteranganDriver2\", \"IsCash\", \"KeteranganRek\", \"IdDriverTitip\", \"DN\", \"KeteranganDataTruck\", \"AtmId\") VALUES (" + dboncall.SONumber + ", " + dboncall.Urutan + ", " + dboncall.TanggalOrder + ", " + dboncall.JamOrder + ", " + dboncall.CustomerId + ", " + dboncall.PrioritasId + ", " + dboncall.JenisTruckId + ", " + dboncall.ProductId + ", " + dboncall.TanggalMuat + ", " + dboncall.JamMuat + ", " + dboncall.Keterangan + ", " + dboncall.KeteranganLoading + ", " + dboncall.KeteranganUnloading + ", " + dboncall.IdDaftarHargaItem + "," + dboncall.StrDaftarHargaItem + ", " + dboncall.StrMultidrop + ", " + dboncall.IdDataTruck + ", " + dboncall.Driver1Id + ", " + dboncall.KeteranganDriver1 + ", " + dboncall.Driver2Id + ", " + dboncall.KeteranganDriver2 + ", " + dboncall.IsCash + ", " + dboncall.KeteranganRek + ", " + dboncall.IdDriverTitip + ", " + dboncall.DN + ", " + dboncall.KeteranganDataTruck + ", " + dboncall.AtmId + ");", "List Order", "Revisi Jenis Truk", UserPrincipal.id); } else if (dbso.SalesOrderPickupId.HasValue) { Context.SalesOrderPickup dbpickup = new Context.SalesOrderPickup(); SalesOrderPickup modelPickup = new SalesOrderPickup(dbso); modelPickup.setDb(dbpickup); dbpickup.SalesOrderPickupId = 0; dbpickup.TanggalPickup = model.TanggalBaru.Value; dbpickup.JamPickup = model.JamBaru.Value; dbpickup.Urutan = RepoSalesOrder.getUrutanPickup(modelPickup.TanggalPickup.Value) + 1; dbpickup.SONumber = RepoSalesOrder.generatePickup(modelPickup.TanggalPickup.Value, dbpickup.Urutan); dbpickup.Keterangan = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi + " - " + dbso.SalesOrderPickup.Keterangan; dummySo.SalesOrderPickup = dbpickup; } else if (dbso.SalesOrderProsesKonsolidasiId.HasValue) { Context.SalesOrderProsesKonsolidasi dbkonsolidasi = new Context.SalesOrderProsesKonsolidasi(); SalesOrderProsesKonsolidasi modelKonsolidasi = new SalesOrderProsesKonsolidasi(dbso); modelKonsolidasi.setDb(dbkonsolidasi); dbkonsolidasi.SalesOrderProsesKonsolidasiId = 0; dbkonsolidasi.TanggalMuat = model.TanggalBaru.Value; dbkonsolidasi.JamMuat = model.JamBaru.Value; dbkonsolidasi.Urutan = RepoSalesOrder.getUrutanProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value) + 1; dbkonsolidasi.SONumber = RepoSalesOrder.generateProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value, dbkonsolidasi.Urutan); dbkonsolidasi.DN = "DN" + dbkonsolidasi.SONumber; dbkonsolidasi.Keterangan = "Revisi tanggal dari " + (dbso.SalesOrderOncallId.HasValue ? (dbso.SalesOrderOncall.TanggalMuat.ToString()).Split(' ')[0] : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.TanggalPickup.ToString().Split(' ')[0] : dbso.SalesOrderProsesKonsolidasi.TanggalMuat.ToString().Split(' ')[0]) + " ke " + model.TanggalBaru.ToString().Split(' ')[0] + " - " + model.KeteranganRevisi + " - " + dbso.SalesOrderProsesKonsolidasi.Keterangan; dummySo.SalesOrderProsesKonsolidasi = dbkonsolidasi; RepoAuditrail.saveSalesOrderProsesKonsolidasiQuery(dummySo.SalesOrderProsesKonsolidasi, UserPrincipal.id); } dummySo.Id = 0; string sod_guid = Guid.NewGuid().ToString(); dummySo.oidErp = sod_guid; RepoSalesOrder.save(dummySo); SyncToERP(dummySo, sod_guid); } else { if (dbso.SalesOrderOncallId.HasValue) { dbso.SalesOrderOncall.TanggalMuat = model.TanggalBaru; dbso.SalesOrderOncall.JamMuat = model.JamBaru.Value; RepoAuditrail.SetAuditTrail( "UPDATE dbo.\"SalesOrderOncall\" SET \"TanggalMuat\" = " + model.TanggalBaru + ", \"JamMuat\" = " + model.JamBaru.Value + " WHERE \"SalesOrderOnCallId\" = " + dbso.SalesOrderOncallId + ";", "List Order", "Revisi Rute", UserPrincipal.id ); } else if (dbso.SalesOrderPickupId.HasValue) { dbso.SalesOrderPickup.TanggalPickup = model.TanggalBaru.Value; dbso.SalesOrderPickup.JamPickup = model.JamBaru.Value; } else if (dbso.SalesOrderProsesKonsolidasiId.HasValue) { dbso.SalesOrderProsesKonsolidasi.TanggalMuat = model.TanggalBaru.Value; dbso.SalesOrderProsesKonsolidasi.JamMuat = model.JamBaru.Value; RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbso.SalesOrderProsesKonsolidasi, UserPrincipal.id); } revisiTgl.IdSalesOrder = model.IdSalesOrder.Value; dbso.DateRevised = true; RepoSalesOrder.save(dbso); RepoRevisiTanggal.save(revisiTgl); } return(RedirectToAction("Index", "ListOrder")); } return(View("Form", model)); }
public AdminUangJalan(Context.AdminUangJalan dbitem, List <Context.Atm> listAtm, List <Context.DataBorongan> listBorongan) { Id = dbitem.Id; ModelListTambahanRute = new List <AdminUangJalanTambahanRute>(); foreach (var item in dbitem.AdminUangJalanTambahanRute) { ModelListTambahanRute.Add(new AdminUangJalanTambahanRute(item)); } ModelListTambahanLain = new List <AdminUangJalanTambahanLain>(); foreach (var item in dbitem.AdminUangJalanTambahanLain) { ModelListTambahanLain.Add(new AdminUangJalanTambahanLain(item)); } ModelListPotonganLain = new List <AdminUangJalanPotonganLain>(); foreach (var item in dbitem.AdminUangJalanPotonganDriver) { ModelListPotonganLain.Add(new AdminUangJalanPotonganLain(item)); } ModelListBorongan = new List <AdminUangBorongan>(); foreach (var item in dbitem.IdDataBorongan.Split(',')) { try{ ModelListBorongan.Add(new AdminUangBorongan() { IdDataBorongan = int.Parse(item), NamaDataBorongan = listBorongan.Where(d => d.Id == int.Parse(item)).FirstOrDefault().NamaBorongan }); } catch (Exception e) { ModelListBorongan.Add(new AdminUangBorongan() { IdDataBorongan = int.Parse(item), NamaDataBorongan = "" }); } } NilaiBorongan = dbitem.NilaiBorongan; Kawalan = dbitem.Kawalan; Timbangan = dbitem.Timbangan; Karantina = dbitem.Karantina; SPSI = dbitem.SPSI; Multidrop = dbitem.Multidrop; TotalBorongan = dbitem.TotalBorongan; KeteranganAdmin = dbitem.KeteranganAdmin; IdDriverOld1 = dbitem.IdDriverOld1; NamaDriverOld1 = dbitem.IdDriverOld1.HasValue ? dbitem.DriverOld1.KodeDriver + " - " + dbitem.DriverOld1.NamaDriver : ""; IdDriverOld2 = dbitem.IdDriverOld2; NamaDriverOld2 = dbitem.IdDriverOld2.HasValue ? dbitem.DriverOld2.KodeDriver + " - " + dbitem.DriverOld2.NamaDriver : ""; IdDriver1 = dbitem.IdDriver1; NamaDriver1 = dbitem.IdDriver1.HasValue ? dbitem.Driver1.KodeDriver + " - " + dbitem.Driver1.NamaDriver : ""; KeteranganGanti1 = dbitem.KeteranganGanti1; IdDriver2 = dbitem.IdDriver2; NamaDriver2 = dbitem.IdDriver2.HasValue ? dbitem.Driver2.KodeDriver + " - " + dbitem.Driver2.NamaDriver : ""; KeteranganGanti2 = dbitem.KeteranganGanti2; TotalKasbon = dbitem.TotalKasbon; KasbonDriver1 = dbitem.KasbonDriver1; KasbonDriver2 = dbitem.KasbonDriver2; TotalKlaim = dbitem.TotalKlaim; KlaimDriver1 = dbitem.KlaimDriver1; KlaimDriver2 = dbitem.KlaimDriver2; TotalPotonganDriver = dbitem.TotalPotonganDriver; ModelListSpbu = new List <AdminUangJalanVoucherSpbu>(); foreach (var item in dbitem.AdminUangJalanVoucherSpbu) { ModelListSpbu.Add(new AdminUangJalanVoucherSpbu(item)); } ModelListKapal = new List <AdminUangJalanVoucherKapal>(); foreach (var item in dbitem.AdminUangJalanVoucherKapal) { ModelListKapal.Add(new AdminUangJalanVoucherKapal(item)); } ModelListTf = new List <AdminUangJalanUangTf>(); foreach (var item in dbitem.AdminUangJalanUangTf) { if (item.Value >= 0) { ModelListTf.Add(new AdminUangJalanUangTf(item, listAtm)); } } TotalAlokasi = dbitem.TotalAlokasi; if (listAtm.Any(d => d.IdDriver == IdDriver1)) { DummyAtm = new Atm(listAtm.Where(d => d.IdDriver == IdDriver1).FirstOrDefault()); } ModelListRemoval = new List <RemovalAUJ>(); foreach (Context.Removal item in dbitem.Removal) { ModelListRemoval.Add(new RemovalAUJ(item, listAtm, listBorongan)); } }
public ActionResult Add(SettlementReg model) { SettlementRegTambahanBiaya[] res = JsonConvert.DeserializeObject <SettlementRegTambahanBiaya[]>(model.StrBiayaTambahan); model.ListBiayaTambahan = res.ToList(); Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); string sod_oid = Guid.NewGuid().ToString(); if (ModelState.IsValid) { if (model.listIdSoKontrak != "" && model.listIdSoKontrak != null) { List <int> ListIdDumy = model.listIdSoKontrak.Split(new string[] { "." }, StringSplitOptions.None).ToList().Select(int.Parse).ToList(); List <Context.SalesOrderKontrakListSo> dbsoDummy = dbso.SalesOrderKontrak.SalesOrderKontrakListSo.Where(d => ListIdDumy.Contains(d.Id)).ToList(); //dbso.SalesOrderKontrak.SalesOrderKontrakListSo = dbsoDummy; foreach (var item in dbsoDummy) { item.Status = "settlement"; } Context.SettlementReguler dbitem = new Context.SettlementReguler(); model.SetDb(dbitem); RepoSalesOrder.save(dbso); RepoSettlementReg.save(dbitem, UserPrincipal.id); foreach (Context.SettlementRegulerTambahanBiaya srtb in dbitem.SettlementRegulerTambahanBiaya) { RepoAuditrail.saveSettlementRegulerBiayaTambahanQuery(srtb, UserPrincipal.id); } } else { Context.SettlementReguler dbitem = new Context.SettlementReguler(); string code = (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber); dbitem.Code = "SR-" + code; string unyu = dbitem.Code; model.SetDb(dbitem); Context.AdminUangJalan db = RepoAdminUangJalan.FindByPK(dbso.AdminUangJalanId.Value); dbso.Status = "settlement"; dbso.UpdatedBy = UserPrincipal.id; if (dbso.oidErp == null) { dbso.oidErp = sod_oid; } RepoSalesOrder.save(dbso); RepoSettlementReg.save(dbitem, UserPrincipal.id); RepoAuditrail.saveSettRegHistory(dbso); foreach (Context.SettlementRegulerTambahanBiaya srtb in dbitem.SettlementRegulerTambahanBiaya) { RepoAuditrail.saveSettlementRegulerBiayaTambahanQuery(srtb, UserPrincipal.id); } //lebah dieu sync ERPna //klo ada revisi rute //D Repoglt_det.saveFromAc(1, dbitem.Code, dbitem.KasSelisih + dbitem.TransferSelisih + dbitem.SolarSelisih + (dbitem.KapalSelisih == null ? 0 : dbitem.KapalSelisih), 0, Repoac_mstr.FindByPk(erpConfig.IdKasbonDriver)); //Kasbon Driver (Piutang) Repoglt_det.saveFromBk(2, dbitem.Code, dbitem.KasAktual + dbitem.TransferAktual + dbitem.SolarAktual + (dbitem.KapalAktual == null ? 0 : dbitem.KapalAktual), 0, Repobk_mstr.FindByPk(erpConfig.IdCashCredit)); //Cash Repoglt_det.saveFromAc(3, dbitem.Code, dbitem.KasDiakui + dbitem.TransferDiakui + dbitem.SolarDiakui + (dbitem.KapalDiakui == null ? 0 : dbitem.KapalDiakui), 0, Repoac_mstr.FindByPk(erpConfig.IdBiayaPerjalanan)); //Biaya //K decimal?tambahanRute = db.AdminUangJalanTambahanRute.Sum(s => s.values); decimal?boronganDasar = db.TotalBorongan - db.Kawalan - db.Timbangan - db.Karantina - db.SPSI - db.Multidrop - tambahanRute - db.AdminUangJalanTambahanLain.Sum(s => s.Values); Repoglt_det.saveFromAc(1, dbitem.Code, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.saveFromAc(2, dbitem.Code, 0, db.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.saveFromAc(3, dbitem.Code, 0, db.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.saveFromAc(4, dbitem.Code, 0, db.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.saveFromAc(5, dbitem.Code, 0, db.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.saveFromAc(6, dbitem.Code, 0, db.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.saveFromAc(7, dbitem.Code, 0, tambahanRute, Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); Repoglt_det.saveFromAc(8, dbitem.Code, 0, db.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteLain)); Repoglt_det.saveFromAc(4, dbitem.Code, 0, db.TotalPotonganDriver, Repoac_mstr.FindByPk(erpConfig.IdKasbonAuj)); //Hutang ke Driver, jurnal balik dr auj //Cash&Transfer pada biaya tambahan Repoglt_det.saveFromAc(3, dbitem.Code, dbitem.SettlementRegulerTambahanBiaya.Sum(d => d.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdBiayaPerjalanan)); //D, Biaya Tambahan Repoglt_det.saveFromAc(2, dbitem.Code, 0, dbitem.TotalCash, Repoac_mstr.FindByPk(erpConfig.IdCashCredit)); //K, Cash Repoglt_det.saveFromAc(2, dbitem.Code, 0, dbitem.TotalTf, Repoac_mstr.FindByPk(erpConfig.IdTfCredit)); //K, Transfer } return(RedirectToAction("Index")); } return(View("Form", model)); }
public ActionResult EditOncall(SalesOrderOncall model, string btnsave) { //validasi manual bool palid = true; if (btnsave != "draft planning") { if (!model.IdDataTruck.HasValue) { ModelState.AddModelError("IdDataTruck", "Truk harus diisi."); palid = false; } if (!model.Driver1Id.HasValue) { ModelState.AddModelError("Driver1Id", "Driver harus diisi."); palid = false; } } if (!model.AtmId.HasValue || model.AtmId.Value == 0) { ModelState.AddModelError("AtmId", "Rekening harus diisi."); palid = false; } if (palid) { Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value); string act = ""; if (btnsave != null && btnsave != "") { act = "Draft"; dbitem.Status = btnsave; } else { if (model.Status.ToLower() == "save") { act = "Return"; dbitem.isReturn = true; } else { act = "Submit"; dbitem.isReturn = false; } dbitem.Status = model.Status; } model.setDbOperasional(dbitem.SalesOrderOncall, act, "Operational"); dbitem.UpdatedBy = UserPrincipal.id; RepoSalesOrder.save(dbitem); RepoAuditrail.saveKonfirmasiHistory(dbitem); if (dbitem.AdminUangJalanId.HasValue) { Context.AdminUangJalan dbauj = RepoAdminUangJalan.FindByPK(dbitem.AdminUangJalanId.Value); dbauj.IdDriver1 = dbitem.SalesOrderOncall.Driver1Id; RepoAdminUangJalan.save(dbauj); } return(RedirectToAction("Index")); } else { ViewBag.kondisi = "konfirmasi"; ViewBag.name = model.SONumber; ViewBag.Title = "Konfirmsai Sales Order Oncall " + model.SONumber; ViewBag.PostData = "EditOncall"; return(View("SalesOrderOncall/FormReadOnly", model)); } }
public ActionResult Edit(RevisiRute model) { Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.RevisiRute revisiRute = new Context.RevisiRute(); revisiRute.Code = "RR" + (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber); Context.SalesOrder dummySo = new Context.SalesOrder(); if (ModelState.IsValid) { if (dbso.Status == "dispatched" || dbso.Status == "admin uang jalan") { Context.AdminUangJalan dummyAdminUangJalan = dbso.AdminUangJalan; Context.BatalOrder batalOrder = new Context.BatalOrder(); //batal dbso.Status = "batal order"; dbso.KeteranganBatal = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru;//"Revisi RUte" dari <rute sebelumnya> ke <rute yang dipilih > [isi dari keterangan revisi rute ] batalOrder.IdSalesOrder = dbso.Id; batalOrder.Keterangan = "Revisi Rute"; batalOrder.ModifiedDate = DateTime.Now; RepoSalesOrder.save(dbso); RepoBatalOrder.save(batalOrder, UserPrincipal.id); if (dbso.Status == "dispatched") { //batalkeun so na Context.SettlementBatal dbsettlement = new Context.SettlementBatal(); //settlement batal dbsettlement.IdDriver = dummyAdminUangJalan.IdDriver1; dbsettlement.IdSalesOrder = dbso.Id; if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai")) { dbsettlement.KasDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer; } if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer"))) { dbsettlement.TransferDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer); } dbsettlement.SolarDiterima = dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value); dbsettlement.KapalDiterima = dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value); dbsettlement.JenisBatal = "Batal Order"; RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Batal Order"); } else { //jurnal balik cynt Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); decimal? tambahanRute = dummyAdminUangJalan.AdminUangJalanTambahanRute.Sum(s => s.values); decimal? boronganDasar = dummyAdminUangJalan.TotalAlokasi - dummyAdminUangJalan.Kawalan - dummyAdminUangJalan.Timbangan - dummyAdminUangJalan.Karantina - dummyAdminUangJalan.SPSI - dummyAdminUangJalan.Multidrop - tambahanRute - dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values); Repoglt_det.saveFromAc(1, revisiRute.Code, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.saveFromAc(2, revisiRute.Code, 0, dummyAdminUangJalan.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.saveFromAc(3, revisiRute.Code, 0, dummyAdminUangJalan.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.saveFromAc(4, revisiRute.Code, 0, dummyAdminUangJalan.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.saveFromAc(5, revisiRute.Code, 0, dummyAdminUangJalan.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.saveFromAc(6, revisiRute.Code, 0, dummyAdminUangJalan.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.saveFromAc(7, revisiRute.Code, 0, tambahanRute, Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); Repoglt_det.saveFromAc(8, revisiRute.Code, 0, dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteLain)); Repoglt_det.saveFromAc(9, revisiRute.Code, dummyAdminUangJalan.KasbonDriver1, 0, Repoac_mstr.FindByPk(erpConfig.IdKasbonAuj)); Repoglt_det.saveFromAc(10, revisiRute.Code, dummyAdminUangJalan.KlaimDriver1, 0, Repoac_mstr.FindByPk(erpConfig.IdKlaimAuj)); Repoglt_det.saveFromAc(11, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanPotonganDriver.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdPotonganLainAuj)); Repoglt_det.saveFromAc(12, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdVoucherKapal)); Repoglt_det.saveFromAc(13, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdVoucherSolar)); Repoglt_det.saveFromAc(14, revisiRute.Code, dummyAdminUangJalan.AdminUangJalanUangTf.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit)); } //create so baru dummySo.isReturn = true; dummySo.Status = "Draft"; dummySo.AdminUangJalanId = null; dummySo.AdminUangJalan = null; dummySo.DateStatus = DateTime.Now; try{ SalesOrderLoadUnload[] resultLoad = JsonConvert.DeserializeObject <SalesOrderLoadUnload[]>(model.StrLoad); model.ListLoad = resultLoad.ToList(); SalesOrderLoadUnload[] resultUnload = JsonConvert.DeserializeObject <SalesOrderLoadUnload[]>(model.StrUnload); model.ListUnload = resultUnload.ToList(); } catch (Exception e) { } if (dbso.SalesOrderOncallId.HasValue) { //urus anak na Context.SalesOrderOncall dboncall = new Context.SalesOrderOncall(); SalesOrderOncall modelOncall = new SalesOrderOncall(dbso); modelOncall.setDb(dboncall); dboncall.SalesOrderOnCallId = 0; dboncall.Urutan = RepoSalesOrder.getUrutanOnCAll(modelOncall.TanggalMuat.Value) + 1; dboncall.SONumber = RepoSalesOrder.generateCodeOnCall(modelOncall.TanggalMuat.Value, dboncall.Urutan); dboncall.DN = "DN" + dboncall.SONumber; dboncall.IdDaftarHargaItem = model.IdRute; dboncall.StrDaftarHargaItem = model.RuteBaru; dboncall.StrMultidrop = model.MultidropBaru; dboncall.SalesOrderOnCallLoadingAdd.Clear(); dboncall.Keterangan = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru + " - " + dbso.SalesOrderOncall.Keterangan; foreach (SalesOrderLoadUnload item in model.ListLoad) { dboncall.SalesOrderOnCallLoadingAdd.Add(new Context.SalesOrderOnCallLoadingAdd() { CustomerId = dboncall.CustomerId, CustomerLoadingAddressId = item.Id, urutan = item.urutan, IsSelect = item.IsSelect }); } dboncall.SalesOrderOnCallUnLoadingAdd.Clear(); foreach (SalesOrderLoadUnload item in model.ListUnload) { dboncall.SalesOrderOnCallUnLoadingAdd.Add(new Context.SalesOrderOnCallUnLoadingAdd() { CustomerId = dboncall.CustomerId, CustomerUnloadingAddressId = item.Id, urutan = item.urutan, IsSelect = item.IsSelect }); } dummySo.SalesOrderOncall = dboncall; RepoAuditrail.SetAuditTrail("INSERT INTO dbo.\"SalesOrderOncall\" (\"SONumber\", \"Urutan\", \"TanggalOrder\", \"JamOrder\", \"CustomerId\", \"PrioritasId\", \"JenisTruckId\", \"ProductId\", " + "\"TanggalMuat\", \"JamMuat\", \"Keterangan\", \"KeteranganLoading\", \"KeteranganUnloading\", \"IdDaftarHargaItem\", \"StrDaftarHargaItem\", \"StrMultidrop\", \"IdDataTruck\", \"Driver1Id\", " + "\"KeteranganDriver1\", \"Driver2Id\", \"KeteranganDriver2\", \"IsCash\", \"KeteranganRek\", \"IdDriverTitip\", \"DN\", \"KeteranganDataTruck\", \"AtmId\") VALUES (" + dboncall.SONumber + ", " + dboncall.Urutan + ", " + dboncall.TanggalOrder + ", " + dboncall.JamOrder + ", " + dboncall.CustomerId + ", " + dboncall.PrioritasId + ", " + dboncall.JenisTruckId + ", " + dboncall.ProductId + ", " + dboncall.TanggalMuat + ", " + dboncall.JamMuat + ", " + dboncall.Keterangan + ", " + dboncall.KeteranganLoading + ", " + dboncall.KeteranganUnloading + ", " + dboncall.IdDaftarHargaItem + "," + dboncall.StrDaftarHargaItem + ", " + dboncall.StrMultidrop + ", " + dboncall.IdDataTruck + ", " + dboncall.Driver1Id + ", " + dboncall.KeteranganDriver1 + ", " + dboncall.Driver2Id + ", " + dboncall.KeteranganDriver2 + ", " + dboncall.IsCash + ", " + dboncall.KeteranganRek + ", " + dboncall.IdDriverTitip + ", " + dboncall.DN + ", " + dboncall.KeteranganDataTruck + ", " + dboncall.AtmId + ");", "List Order", "Revisi Jenis Truk", UserPrincipal.id); } else if (dbso.SalesOrderPickupId.HasValue) { Context.SalesOrderPickup dbpickup = new Context.SalesOrderPickup(); SalesOrderPickup modelPickup = new SalesOrderPickup(dbso); modelPickup.setDb(dbpickup); dbpickup.SalesOrderPickupId = 0; dbpickup.Urutan = RepoSalesOrder.getUrutanPickup(modelPickup.TanggalPickup.Value) + 1; dbpickup.SONumber = RepoSalesOrder.generatePickup(modelPickup.TanggalPickup.Value, dbpickup.Urutan); dbpickup.Keterangan = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru + " - " + dbso.SalesOrderPickup.Keterangan; dbpickup.SalesOrderPickupLoadingAdd.Clear(); foreach (SalesOrderLoadUnload item in model.ListLoad) { dbpickup.SalesOrderPickupLoadingAdd.Add(new Context.SalesOrderPickupLoadingAdd() { CustomerId = dbpickup.CustomerId, CustomerLoadingAddressId = item.Id, urutan = item.urutan, IsSelect = item.IsSelect }); } dbpickup.SalesOrderPickupUnLoadingAdd.Clear(); RepoAuditrail.saveDelAllSalesOrderPickupUnLoadingAddQuery(dbpickup, UserPrincipal.id); foreach (SalesOrderLoadUnload item in model.ListUnload) { dbpickup.SalesOrderPickupUnLoadingAdd.Add(new Context.SalesOrderPickupUnLoadingAdd() { CustomerId = dbpickup.CustomerId, CustomerUnloadingAddressId = item.Id, urutan = item.urutan, IsSelect = item.IsSelect }); } dummySo.SalesOrderPickup = dbpickup; } else if (dbso.SalesOrderProsesKonsolidasiId.HasValue) { Context.SalesOrderProsesKonsolidasi dbkonsolidasi = new Context.SalesOrderProsesKonsolidasi(); SalesOrderProsesKonsolidasi modelKonsolidasi = new SalesOrderProsesKonsolidasi(dbso); modelKonsolidasi.setDb(dbkonsolidasi); dbkonsolidasi.SalesOrderProsesKonsolidasiId = 0; try{ dbkonsolidasi.Urutan = RepoSalesOrder.getUrutanProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value) + 1; } catch (Exception e) { dbkonsolidasi.Urutan = 0; } dbkonsolidasi.SONumber = RepoSalesOrder.generateProsesKonsolidasi(modelKonsolidasi.TanggalMuat.Value, dbkonsolidasi.Urutan); dbkonsolidasi.DN = "DN" + dbkonsolidasi.SONumber; dbkonsolidasi.IdDaftarHargaItem = model.IdRute; dbkonsolidasi.StrDaftarHargaItem = model.RuteBaru; dbkonsolidasi.Multidrop = model.MultidropBaru; dbkonsolidasi.Keterangan = "Revisi rute dari " + model.RuteLama + " ke " + model.RuteBaru + " - " + dbso.SalesOrderProsesKonsolidasi.Keterangan; dummySo.SalesOrderProsesKonsolidasi = dbkonsolidasi; RepoAuditrail.saveSalesOrderProsesKonsolidasiQuery(dummySo.SalesOrderProsesKonsolidasi, UserPrincipal.id); } dummySo.Id = 0; RepoSalesOrder.save(dummySo); if (dbso.SalesOrderPickupId.HasValue) { foreach (Context.SalesOrderPickupUnLoadingAdd sopula in dbso.SalesOrderPickup.SalesOrderPickupUnLoadingAdd) { RepoAuditrail.saveSalesOrderPickupUnLoadingAddQuery(sopula, UserPrincipal.id); } } } else { if (dbso.SalesOrderOncallId.HasValue) { dbso.SalesOrderOncall.IdDaftarHargaItem = model.IdRute; dbso.SalesOrderOncall.StrDaftarHargaItem = model.RuteBaru; dbso.SalesOrderOncall.StrMultidrop = model.MultidropBaru; RepoAuditrail.SetAuditTrail( "UPDATE dbo.\"SalesOrderOncall\" SET \"IdDaftarHargaItem\" = " + model.IdRute + ", \"StrDaftarHargaItem\" = " + model.RuteBaru + ", \"StrMultidrop\" = " + model.MultidropBaru + " WHERE \"SalesOrderOnCallId\" = " + dbso.SalesOrderOncallId + ";", "List Order", "Revisi Rute", UserPrincipal.id ); } else if (dbso.SalesOrderPickupId.HasValue) { dbso.SalesOrderPickup.RuteId = model.IdRute; } else if (dbso.SalesOrderProsesKonsolidasiId.HasValue) { dbso.SalesOrderProsesKonsolidasi.IdDaftarHargaItem = model.IdRute; dbso.SalesOrderProsesKonsolidasi.StrDaftarHargaItem = model.RuteBaru; dbso.SalesOrderProsesKonsolidasi.Multidrop = model.MultidropBaru; RepoAuditrail.saveUpdSalesOrderProsesKonsolidasiQuery(dbso.SalesOrderProsesKonsolidasi, UserPrincipal.id); } revisiRute.IdSalesOrder = model.IdSalesOrder.Value; dbso.RuteRevised = true; dbso.AdminUangJalanId = null; dbso.AdminUangJalan = null; RepoSalesOrder.save(dbso); string sod_guid = Guid.NewGuid().ToString(); SyncToERP(dummySo, sod_guid); dbso.oidErp = sod_guid; RepoRevisiRute.save(revisiRute); } return(RedirectToAction("Index", "ListOrder")); } model = new RevisiRute(dbso); if (dbso.SalesOrderOncallId.HasValue) { return(View("FormOncall", model)); } else if (dbso.SalesOrderPickupId.HasValue) { return(View("FormPickup", model)); } else if (dbso.SalesOrderProsesKonsolidasiId.HasValue) { return(View("FormKonsolidasi", model)); } return(View("")); }
public ActionResult EditKontrak(AdminUangJalan model, string Keterangan) { Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.SalesOrderKontrakListSo sokontrak = dbitem.SalesOrderKontrak.SalesOrderKontrakListSo.Where(d => d.Id == int.Parse(model.ListIdSo)).FirstOrDefault(); int jumSo = dbitem.SalesOrderKontrak.SalesOrderKontrakListSo.Where(d => d.IdAdminUangJalan == sokontrak.IdAdminUangJalan && d.IsBatalTruck != true).Count(); Context.BatalOrder batalOrder = new Context.BatalOrder(); Context.AdminUangJalan dbauj = sokontrak.AdminUangJalan; //cek status na if (sokontrak.Status == "dispatched") { Context.SettlementBatal dbsettlement = new Context.SettlementBatal(); //ambil data dbsettlement.IdSalesOrder = model.IdSalesOrder; dbsettlement.IdSoKontrak = model.ListIdSo; if (dbauj.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai")) { dbsettlement.KasDiterima = dbauj.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer / jumSo; } if (dbauj.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer"))) { dbsettlement.TransferDiterima = dbauj.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer) / jumSo; } dbsettlement.SolarDiterima = dbauj.AdminUangJalanVoucherSpbu.Sum(s => s.Value) / jumSo; dbsettlement.KapalDiterima = dbauj.AdminUangJalanVoucherKapal.Sum(s => s.Value) / jumSo; dbsettlement.JenisBatal = "Batal Truk"; dbsettlement.IdDriver = sokontrak.Driver1Id; RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Batal Truk"); } else if (sokontrak.Status == "admin uang jalan") { foreach (Context.AdminUangJalanUangTf dbUang in dbauj.AdminUangJalanUangTf) { dbUang.Value = dbUang.Value / jumSo * (jumSo - 1); RepoSalesOrder.saveUangTf(dbUang); } } foreach (var trukItem in dbitem.SalesOrderKontrak.SalesOrderKontrakTruck.Where(d => d.DataTruckId == sokontrak.IdDataTruck).ToList()) { trukItem.DataTruckId = null; trukItem.IdDriver1 = null; trukItem.IdDriver2 = null; } sokontrak.IsProses = false; sokontrak.Urutan = 0; sokontrak.IsBatalTruck = true; sokontrak.IdDataTruck = null; sokontrak.Driver1Id = null; sokontrak.Driver2Id = null; sokontrak.Status = "draft planning"; batalOrder.IdSalesOrder = dbitem.Id; batalOrder.IdSoKontrak = model.ListIdSo; batalOrder.Keterangan = Keterangan; batalOrder.ModifiedDate = DateTime.Now; batalOrder.IsBatalTruk = true; RepoSalesOrder.save(dbitem); RepoBatalOrder.save(batalOrder, UserPrincipal.id); ViewBag.status = "batal order"; return(RedirectToAction("index", "ListOrder")); }
public ActionResult Edit(AdminUangJalan model, string Keterangan, string IsTransfer) { Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.AdminUangJalan dummyAdminUangJalan = dbitem.AdminUangJalan; Context.BatalOrder batalOrder = new Context.BatalOrder(); string code = "BT-" + (dbitem.SalesOrderOncallId.HasValue ? dbitem.SalesOrderOncall.SONumber : dbitem.SalesOrderProsesKonsolidasiId.HasValue ? dbitem.SalesOrderProsesKonsolidasi.SONumber : dbitem.SalesOrderPickup.SONumber); int? urutanBatal = RepoBatalOrder.FindAll().Where(d => d.Code == code).Count() == 0 ? 1 : RepoBatalOrder.FindAll().Where(d => d.Code == code).Max(d => d.UrutanBatal) + 1; //cek status na Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); if (dbitem.Status == "dispatched") { Context.SettlementBatal dbsettlement = new Context.SettlementBatal(); decimal?tambahanRute = dummyAdminUangJalan.AdminUangJalanTambahanRute.Sum(s => s.values); decimal?boronganDasar = dummyAdminUangJalan.TotalAlokasi - dummyAdminUangJalan.Kawalan - dummyAdminUangJalan.Timbangan - dummyAdminUangJalan.Karantina - dummyAdminUangJalan.SPSI - dummyAdminUangJalan.Multidrop - tambahanRute - dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values); //ambil data dbsettlement.IdSalesOrder = model.IdSalesOrder; if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai")) { dbsettlement.KasDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer; } if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer"))) { dbsettlement.TransferDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer); } dbsettlement.SolarDiterima = dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value); dbsettlement.KapalDiterima = dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value); dbsettlement.JenisBatal = "Batal Truk"; dbsettlement.IdDriver = dbitem.SalesOrderOncallId.HasValue ? dbitem.SalesOrderOncall.Driver1Id : dbitem.SalesOrderProsesKonsolidasiId.HasValue ? dbitem.SalesOrderProsesKonsolidasi.Driver1Id : dbitem.SalesOrderPickup.Driver1Id; dbsettlement.IdDataTruck = dbitem.SalesOrderOncallId.HasValue ? dbitem.SalesOrderOncall.IdDataTruck : dbitem.SalesOrderProsesKonsolidasiId.HasValue ? dbitem.SalesOrderProsesKonsolidasi.IdDataTruck : dbitem.SalesOrderPickup.IdDataTruck; RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Batal Truk"); decimal?TotalBiaya = (dummyAdminUangJalan.KasbonDriver1 ?? 0) + (dummyAdminUangJalan.KlaimDriver1 ?? 0) + dummyAdminUangJalan.AdminUangJalanPotonganDriver.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanVoucherKapal.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanUangTf.Select(d => d.Value).Sum(); decimal TotalUtangDriver = (dbsettlement.SolarDiterima == null ? 0 : dbsettlement.SolarDiterima.Value) + (dbsettlement.KapalDiterima == null ? 0 : dbsettlement.KapalDiterima.Value) + (dbsettlement.TransferDiterima == null ? 0 : dbsettlement.TransferDiterima.Value) + (dbsettlement.KasDiterima == null ? 0 : dbsettlement.KasDiterima.Value); Repoglt_det.saveFromAc(1, code + "-" + urutanBatal, TotalBiaya, 0, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit)); Repoglt_det.saveFromAc(2, code + "-" + urutanBatal, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.saveFromAc(3, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.saveFromAc(4, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.saveFromAc(5, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.saveFromAc(6, code + "-" + urutanBatal, 0, dummyAdminUangJalan.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.saveFromAc(7, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.saveFromAc(8, code + "-" + urutanBatal, 0, tambahanRute + dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); Repoglt_det.saveFromAc(9, code + "-" + urutanBatal, RepoSalesOrder.Harga(dbitem), 0, Repoac_mstr.FindByPk(erpConfig.IdPendapatanUsahaBlmInv)); Repoglt_det.saveFromAc(10, code + "-" + urutanBatal, 0, RepoSalesOrder.Harga(dbitem), Repoac_mstr.FindByPk(erpConfig.IdPiutangDagang)); // try {//masuklah ke saldo piutang driver, save to pby_mstr&det var glt_oid = Guid.NewGuid().ToString(); Repopbyd_det.saveMstr(glt_oid, code + "-" + urutanBatal, erpConfig.IdAUJCredit.Value, "Batal Order " + code, dbsettlement.IdDriver.Value + 7000000); Repopbyd_det.save( glt_oid, code + "-" + urutanBatal, erpConfig.IdAUJCredit.Value, "Batal Order " + code, dbsettlement.IdDriver.Value + 7000000, erpConfig.IdAUJCredit.Value, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit).ac_name, TotalUtangDriver ); // } // catch (Exception e) {} } else if (dbitem.Status == "admin uang jalan") { //lebah dieu sync ERPna decimal?tambahanRute = dummyAdminUangJalan.AdminUangJalanTambahanRute.Sum(s => s.values); decimal?boronganDasar = dummyAdminUangJalan.TotalAlokasi - dummyAdminUangJalan.Kawalan - dummyAdminUangJalan.Timbangan - dummyAdminUangJalan.Karantina - dummyAdminUangJalan.SPSI - dummyAdminUangJalan.Multidrop - tambahanRute - dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values); Repoglt_det.save(1, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.save(2, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.save(3, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.save(4, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.save(5, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, dummyAdminUangJalan.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.save(6, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, dummyAdminUangJalan.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.save(7, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, tambahanRute, Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); Repoglt_det.save(8, new Context.glt_det(), dbitem, code + "-" + urutanBatal, 0, dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteLain)); Repoglt_det.save(9, new Context.glt_det(), dbitem, code + "-" + urutanBatal, dummyAdminUangJalan.KasbonDriver1, 0, Repoac_mstr.FindByPk(erpConfig.IdKasbonAuj)); Repoglt_det.save(10, new Context.glt_det(), dbitem, code + "-" + urutanBatal, dummyAdminUangJalan.KlaimDriver1, 0, Repoac_mstr.FindByPk(erpConfig.IdKlaimAuj)); Repoglt_det.save(11, new Context.glt_det(), dbitem, code + "-" + urutanBatal, dummyAdminUangJalan.AdminUangJalanPotonganDriver.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdPotonganLainAuj)); Repoglt_det.save(12, new Context.glt_det(), dbitem, code + "-" + urutanBatal, dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdVoucherKapal)); Repoglt_det.save(13, new Context.glt_det(), dbitem, code + "-" + urutanBatal, dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdVoucherSolar)); Repoglt_det.save(14, new Context.glt_det(), dbitem, code + "-" + urutanBatal, dummyAdminUangJalan.AdminUangJalanUangTf.Sum(s => s.Value), 0, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit)); } if (dbitem.Status != "batal order") { dbitem.Status = "save"; dbitem.IsBatalTruk = true; if (dbitem.SalesOrderOncallId.HasValue) { dbitem.KeteranganBatal = "Ganti truck dari " + dbitem.SalesOrderOncall.DataTruck.VehicleNo + " " + Keterangan; //Ganti truck dari <nopol sebelumnya > ke <nopol yang dipilih> [isi dari keterangan batal truck ] dbitem.SalesOrderOncall.Keterangan = "Ganti truck dari " + dbitem.SalesOrderOncall.DataTruck.VehicleNo + " " + Keterangan; //Ganti truck dari <nopol sebelumnya > ke <nopol yang dipilih> [isi dari keterangan batal truck ] dbitem.SalesOrderOncall.Driver1Id = null; dbitem.SalesOrderOncall.Driver2Id = null; dbitem.SalesOrderOncall.IdDataTruck = null; RepoAuditrail.SetAuditTrail( "UPDATE dbo.\"SalesOrderOncall\" SET \"Driver1Id\" = NULL , Driver2Id = NULL, IdDataTruck = NULL WHERE \"SalesOrderOnCallId\" = " + dbitem.SalesOrderOncallId, "List Order", "Batal Truk", UserPrincipal.id ); } else if (dbitem.SalesOrderPickupId.HasValue) { dbitem.KeteranganBatal = "Ganti truck dari " + dbitem.SalesOrderPickup.DataTruck.VehicleNo + " " + Keterangan; //Ganti truck dari <nopol sebelumnya > ke <nopol yang dipilih> [isi dari keterangan batal truck ] dbitem.SalesOrderPickup.Keterangan = "Ganti truck dari " + dbitem.SalesOrderPickup.DataTruck.VehicleNo + " " + Keterangan; //Ganti truck dari <nopol sebelumnya > ke <nopol yang dipilih> [isi dari keterangan batal truck ] dbitem.SalesOrderPickup.Driver1Id = null; dbitem.SalesOrderPickup.Driver2Id = null; dbitem.SalesOrderPickup.IdDataTruck = null; } else if (dbitem.SalesOrderProsesKonsolidasiId.HasValue) { dbitem.KeteranganBatal = "Ganti truck dari " + dbitem.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo + " " + Keterangan; //Ganti truck dari <nopol sebelumnya > ke <nopol yang dipilih> [isi dari keterangan batal truck ] dbitem.SalesOrderProsesKonsolidasi.Keterangan = "Ganti truck dari " + dbitem.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo + " " + Keterangan; //Ganti truck dari <nopol sebelumnya > ke <nopol yang dipilih> [isi dari keterangan batal truck ] dbitem.SalesOrderProsesKonsolidasi.Driver1Id = null; dbitem.SalesOrderProsesKonsolidasi.Driver2Id = null; dbitem.SalesOrderProsesKonsolidasi.IdDataTruck = null; } batalOrder.IdSalesOrder = dbitem.Id; batalOrder.Keterangan = Keterangan; batalOrder.ModifiedDate = DateTime.Now; batalOrder.IsBatalTruk = true; batalOrder.Code = code; batalOrder.UrutanBatal = urutanBatal; batalOrder.IsTransfer = IsTransfer == "1"; RepoSalesOrder.save(dbitem); RepoBatalOrder.save(batalOrder, UserPrincipal.id); return(RedirectToAction("index", "ListOrder")); } ViewBag.status = "batal order"; return(View("Form", model)); }
public AdminUangJalanIndex(Context.SalesOrder dbitem) { IdSalesOrder = dbitem.Id; Status = dbitem.Status == "dispatched" || dbitem.Status == "settlement" || dbitem.Status == "admin uang jalan" ? "Sudah" : "Belum"; Context.AdminUangJalan dbauj = dbitem.AdminUangJalan; if (dbitem.AdminUangJalanId.HasValue) { if (dbitem.AdminUangJalan.Removal.Count > 0) { Status = "Removal"; } } ModifiedDate = dbitem.DateStatus; RuteRevised = dbitem.RuteRevised; KeteranganAdmin = dbauj == null ? "" : dbauj.KeteranganAdmin; if (dbitem.SalesOrderOncallId.HasValue) { JenisOrder = "Oncall"; IdChild = dbitem.SalesOrderOncallId.Value; NoSo = dbitem.SalesOrderOncall.SONumber; KodeNama = dbitem.SalesOrderOncall.Customer.CustomerCodeOld; Customer = dbitem.SalesOrderOncall.Customer.CustomerNama; VehicleNo = dbitem.SalesOrderOncall.DataTruck == null ? "" : dbitem.SalesOrderOncall.DataTruck.VehicleNo; JenisTruk = dbitem.SalesOrderOncall.DataTruck == null ? "" : dbitem.SalesOrderOncall.DataTruck.JenisTrucks.StrJenisTruck; IDDriver = dbitem.SalesOrderOncall.Driver1 == null ? "" : dbitem.SalesOrderOncall.Driver1.KodeDriver; IDDriverOld = dbitem.SalesOrderOncall.Driver1 == null ? "" : dbitem.SalesOrderOncall.Driver1.KodeDriverOld; Driver = dbitem.SalesOrderOncall.Driver1 == null ? "" : dbitem.SalesOrderOncall.Driver1.NamaDriver; Rute = dbitem.SalesOrderOncall.StrDaftarHargaItem; TanggalMuat = dbitem.SalesOrderOncall.TanggalMuat; JamMuat = dbitem.SalesOrderOncall.JamMuat; JumlahRit = 0; KeteranganPenggatian = dbitem.SalesOrderOncall.KeteranganDriver1; Keterangan = dbitem.SalesOrderOncall.Keterangan; } else if (dbitem.SalesOrderPickupId.HasValue) { JenisOrder = "Pickup"; IdChild = dbitem.SalesOrderPickupId.Value; NoSo = dbitem.SalesOrderPickup.SONumber; KodeNama = dbitem.SalesOrderPickup.Customer.CustomerCodeOld; Customer = dbitem.SalesOrderPickup.Customer.CustomerNama; VehicleNo = dbitem.SalesOrderPickup.DataTruck.VehicleNo; JenisTruk = dbitem.SalesOrderPickup.DataTruck.JenisTrucks.StrJenisTruck; IDDriver = dbitem.SalesOrderPickup.Driver1.KodeDriver; IDDriverOld = dbitem.SalesOrderPickup.Driver1.KodeDriverOld; Driver = dbitem.SalesOrderPickup.Driver1.NamaDriver; Rute = dbitem.SalesOrderPickup.Rute.Nama; TanggalMuat = dbitem.SalesOrderPickup.TanggalPickup; JamMuat = dbitem.SalesOrderPickup.JamPickup; Keterangan = dbitem.SalesOrderPickup.Keterangan; JumlahRit = 0; KeteranganPenggatian = dbitem.SalesOrderPickup.KeteranganDriver1; } else if (dbitem.SalesOrderProsesKonsolidasiId.HasValue) { JenisOrder = "Konsolidasi"; IdChild = dbitem.SalesOrderProsesKonsolidasiId.Value; NoSo = dbitem.SalesOrderProsesKonsolidasi.SONumber; Customer = ""; VehicleNo = dbitem.SalesOrderProsesKonsolidasi.DataTruck.VehicleNo; JenisTruk = dbitem.SalesOrderProsesKonsolidasi.DataTruck.JenisTrucks.StrJenisTruck; IDDriver = dbitem.SalesOrderProsesKonsolidasi.Driver1.KodeDriver; IDDriverOld = dbitem.SalesOrderProsesKonsolidasi.Driver1.KodeDriverOld; Driver = dbitem.SalesOrderProsesKonsolidasi.Driver1.NamaDriver; Rute = dbitem.SalesOrderProsesKonsolidasi.StrDaftarHargaItem; TanggalMuat = dbitem.SalesOrderProsesKonsolidasi.TanggalMuat; JamMuat = dbitem.SalesOrderProsesKonsolidasi.JamMuat; Keterangan = dbitem.SalesOrderProsesKonsolidasi.Keterangan; JumlahRit = 0; KeteranganPenggatian = dbitem.SalesOrderProsesKonsolidasi.KeteranganDriver1; } }
public ActionResult Edit(AdminUangJalan model, string Keterangan, string KeteranganBatal) { Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.IdSalesOrder.Value); Context.AdminUangJalan dummyAdminUangJalan = dbitem.AdminUangJalan; Context.BatalOrder batalOrder = new Context.BatalOrder(); string code = "BO-" + ( dbitem.SalesOrderOncallId.HasValue ? dbitem.SalesOrderOncall.SONumber : dbitem.SalesOrderProsesKonsolidasiId.HasValue ? dbitem.SalesOrderProsesKonsolidasi.SONumber : dbitem.SalesOrderPickupId.HasValue ? dbitem.SalesOrderPickup.SONumber : dbitem.SalesOrderKontrak.SONumber ); //lebah dieu sync ERPna Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); //cek status na if (dbitem.Status == "dispatched") { decimal?tambahanRute = dummyAdminUangJalan.AdminUangJalanTambahanRute.Sum(s => s.values); decimal?boronganDasar = dummyAdminUangJalan.TotalAlokasi - dummyAdminUangJalan.Kawalan - dummyAdminUangJalan.Timbangan - dummyAdminUangJalan.Karantina - dummyAdminUangJalan.SPSI - dummyAdminUangJalan.Multidrop - tambahanRute - dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values); Context.SettlementBatal dbsettlement = new Context.SettlementBatal(); //ambil data dbsettlement.IdSalesOrder = model.IdSalesOrder; if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan == "Tunai")) { dbsettlement.KasDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan == "Tunai").FirstOrDefault().JumlahTransfer; } if (dummyAdminUangJalan.AdminUangJalanUangTf.Any(d => d.Keterangan.Contains("Transfer"))) { dbsettlement.TransferDiterima = dummyAdminUangJalan.AdminUangJalanUangTf.Where(d => d.Keterangan.Contains("Transfer")).Sum(t => t.JumlahTransfer); } dbsettlement.SolarDiterima = dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Sum(s => s.Value); dbsettlement.KapalDiterima = dummyAdminUangJalan.AdminUangJalanVoucherKapal.Sum(s => s.Value); dbsettlement.JenisBatal = "Batal Order"; dbsettlement.IdDriver = dbitem.SalesOrderOncallId.HasValue ? dbitem.SalesOrderOncall.Driver1Id : dbitem.SalesOrderProsesKonsolidasiId.HasValue ? dbitem.SalesOrderProsesKonsolidasi.Driver1Id : dbitem.SalesOrderPickup.Driver1Id; RepoSettBatal.save(dbsettlement, UserPrincipal.id, "Batal Order"); decimal?TotalBiaya = (dummyAdminUangJalan.KasbonDriver1 ?? 0) + (dummyAdminUangJalan.KlaimDriver1 ?? 0) + dummyAdminUangJalan.AdminUangJalanPotonganDriver.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanVoucherKapal.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanUangTf.Select(d => d.Value).Sum(); decimal TotalUtangDriver = (dbsettlement.SolarDiterima == null ? 0 : dbsettlement.SolarDiterima.Value) + (dbsettlement.KapalDiterima == null ? 0 : dbsettlement.KapalDiterima.Value) + (dbsettlement.TransferDiterima == null ? 0 : dbsettlement.TransferDiterima.Value) + (dbsettlement.KasDiterima == null ? 0 : dbsettlement.KasDiterima.Value); Repoglt_det.saveFromAc(1, code, TotalBiaya, 0, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit)); Repoglt_det.saveFromAc(2, code, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.saveFromAc(3, code, 0, dummyAdminUangJalan.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.saveFromAc(4, code, 0, dummyAdminUangJalan.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.saveFromAc(5, code, 0, dummyAdminUangJalan.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.saveFromAc(6, code, 0, dummyAdminUangJalan.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.saveFromAc(7, code, 0, dummyAdminUangJalan.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.saveFromAc(8, code, 0, tambahanRute + dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); Repoglt_det.saveFromAc(9, code, RepoSalesOrder.Harga(dbitem), 0, Repoac_mstr.FindByPk(erpConfig.IdPendapatanUsahaBlmInv)); Repoglt_det.saveFromAc(10, code, 0, RepoSalesOrder.Harga(dbitem), Repoac_mstr.FindByPk(erpConfig.IdPiutangDagang)); // try {//masuklah ke saldo piutang driver, save to pby_mstr&det var glt_oid = Guid.NewGuid().ToString(); Repopbyd_det.saveMstr(glt_oid, code, erpConfig.IdAUJCredit.Value, "Batal Order " + code, dbsettlement.IdDriver.Value + 7000000); Repopbyd_det.save( glt_oid, code, erpConfig.IdAUJCredit.Value, "Batal Order " + code, dbsettlement.IdDriver.Value + 7000000, erpConfig.IdAUJCredit.Value, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit).ac_name, TotalUtangDriver ); // } // catch (Exception e) {} } else if (dbitem.Status == "admin uang jalan") { decimal?tambahanRute = dummyAdminUangJalan.AdminUangJalanTambahanRute.Sum(s => s.values); decimal?boronganDasar = dummyAdminUangJalan.TotalAlokasi - dummyAdminUangJalan.Kawalan - dummyAdminUangJalan.Timbangan - dummyAdminUangJalan.Karantina - dummyAdminUangJalan.SPSI - dummyAdminUangJalan.Multidrop - tambahanRute - dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values); Repoglt_det.saveFromAc( 1, code, (dummyAdminUangJalan.KasbonDriver1 ?? 0) + (dummyAdminUangJalan.KlaimDriver1 ?? 0) + dummyAdminUangJalan.AdminUangJalanPotonganDriver.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanVoucherKapal.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanVoucherSpbu.Select(d => d.Value).Sum() + dummyAdminUangJalan.AdminUangJalanUangTf.Select(d => d.Value).Sum(), 0, Repoac_mstr.FindByPk(erpConfig.IdAUJCredit) ); Repoglt_det.saveFromAc(2, code, 0, boronganDasar, Repoac_mstr.FindByPk(erpConfig.IdBoronganDasar)); Repoglt_det.saveFromAc(3, code, 0, dummyAdminUangJalan.Kawalan, Repoac_mstr.FindByPk(erpConfig.IdKawalan)); Repoglt_det.saveFromAc(4, code, 0, dummyAdminUangJalan.Timbangan, Repoac_mstr.FindByPk(erpConfig.IdTimbangan)); Repoglt_det.saveFromAc(5, code, 0, dummyAdminUangJalan.Karantina, Repoac_mstr.FindByPk(erpConfig.IdKarantina)); Repoglt_det.saveFromAc(6, code, 0, dummyAdminUangJalan.SPSI, Repoac_mstr.FindByPk(erpConfig.IdSPSI)); Repoglt_det.saveFromAc(7, code, 0, dummyAdminUangJalan.Multidrop, Repoac_mstr.FindByPk(erpConfig.IdMultidrop)); Repoglt_det.saveFromAc(8, code, 0, tambahanRute + dummyAdminUangJalan.AdminUangJalanTambahanLain.Sum(s => s.Values), Repoac_mstr.FindByPk(erpConfig.IdTambahanRuteMuat)); } dbitem.Status = "batal order"; dbitem.UpdatedBy = UserPrincipal.id; batalOrder.IdSalesOrder = dbitem.Id; batalOrder.Keterangan = Keterangan; dbitem.KeteranganBatal = KeteranganBatal; batalOrder.ModifiedDate = DateTime.Now; batalOrder.Code = code; RepoSalesOrder.save(dbitem); RepoAuditrail.saveBOHistory(dbitem); return(RedirectToAction("index", "ListOrder")); }