public ActionResult batalInap(SolarInap model) { if (ModelState.IsValid) { Context.SolarInap dbitem = RepoSolarInap.FindByPK(model.Id); Context.SalesOrder dbso = RepoSalesOrder.FindByPK(model.IdSO.Value); model.setDbSolarInap(dbitem); RepoSolarInap.save(dbitem, UserPrincipal.id); if (dbitem.Transfer > 0) { //#Jurnal Kasbon Driver pada Biaya string so_code = (dbso.SalesOrderOncallId.HasValue ? dbso.SalesOrderOncall.SONumber : dbso.SalesOrderProsesKonsolidasiId.HasValue ? dbso.SalesOrderProsesKonsolidasi.SONumber : dbso.SalesOrderPickupId.HasValue ? dbso.SalesOrderPickup.SONumber : dbso.SalesOrderKontrak.SONumber); string code = "SIBI-" + dbitem.TanggalDari.ToString() + so_code; Context.ERPConfig erpConfig = RepoERPConfig.FindByFrist(); Repoglt_det.saveFromAc(1, code, model.Transfer, 0, Repoac_mstr.FindByPk(erpConfig.IdKasbonDriver)); //D, Kasbon Driver Repoglt_det.saveFromAc(2, code, 0, model.Transfer, Repoac_mstr.FindByPk(erpConfig.IdBiayaInap)); //K, Biaya Inap //masuklah ke saldo piutang driver, save to pby_mstr&det try{ var glt_oid = Guid.NewGuid().ToString(); Repopbyd_det.saveMstr(glt_oid, dbitem.Code, erpConfig.IdTfCredit.Value, "Batal Inap " + code, dbitem.IdDriver.Value); Repopbyd_det.save(glt_oid, dbitem.Code, erpConfig.IdTfCredit.Value, "Batal Inap " + code, dbitem.IdDriver.Value, erpConfig.IdKasbonDriver.Value, Repoac_mstr.FindByPk(erpConfig.IdKasbonDriver).ac_name, model.Transfer); } catch (Exception e) { } } return(RedirectToAction("Index")); } return(View("batalInap", model)); }
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(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 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")); }