コード例 #1
0
        public string BindingDataPendingin(int id)
        {
            Context.DataTruck dbtruck = RepoDataTruck.FindByPK(id);

            List <DataPendingin> ListModel = new List <DataPendingin>();

            foreach (Context.DataTruckPendinginHistory item in dbtruck.DataTruckPendinginHistory.OrderByDescending(d => d.Id))
            {
                if (ListModel.Count == 0)
                {
                    ListModel.Add(new DataPendingin(item));
                }
                else
                {
                    if (ListModel.Last().NoPendingin == item.NoPendingin)
                    {
                        var data = ListModel.Last();
                        data = new DataPendingin(item);
                    }
                    else
                    {
                        ListModel.Add(new DataPendingin(item));
                    }
                }
            }

            return(new JavaScriptSerializer().Serialize(new { data = ListModel }));
        }
コード例 #2
0
        public ActionResult Add(DataBox model)
        {
            if (ModelState.IsValid)
            {
                if (RepoDataBox.IsBoxExist(model.IdDataTruck.Value))
                {
                    ModelState.AddModelError("IdDataTruck", "Truck sudah tepasang box, harap ganti dengan truck yang lain");
                    return(View("Form", model));
                }
                Context.DataBox dbitem = new Context.DataBox();
                model.SetDb(dbitem);
                //generate code
                dbitem.Urutan = RepoDataBox.getUrutan() + 1;
                dbitem.NoBox  = RepoDataBox.generateCode(dbitem.Urutan);

                Context.DataBoxHistory dbitemHistory = new Context.DataBoxHistory();
                model.SetDbHistory(dbitemHistory, UserPrincipal.firstname + " " + UserPrincipal.lastname);
                dbitemHistory.Vehicle     = RepoDataTruck.FindByPK(model.IdDataTruck.Value).VehicleNo;
                dbitemHistory.NoBox       = dbitem.NoBox;
                dbitemHistory.strKategori = model.IdKategori.HasValue ? RepoLookup.FindByPK(model.IdKategori.Value).Nama : "";
                dbitemHistory.strType     = model.IdType.HasValue ? RepoLookup.FindByPK(model.IdType.Value).Nama : "";
                dbitem.DataBoxHistory.Add(dbitemHistory);
                Context.DataTruckBoxHistory dbtruckHistory = new Context.DataTruckBoxHistory();
                model.SetDbTruckHistory(dbtruckHistory, UserPrincipal.firstname + " " + UserPrincipal.lastname);
                RepoDataBox.save(dbitem, UserPrincipal.id, dbitemHistory, dbtruckHistory);

                Context.DataTruck dbtruck = RepoDataTruck.FindByPK(model.IdDataTruck.Value);
                dbtruckHistory.Vehicle     = dbtruck.VehicleNo;
                dbtruckHistory.NoBox       = dbitem.NoBox;
                dbtruckHistory.strKategori = model.IdKategori.HasValue ? RepoLookup.FindByPK(model.IdKategori.Value).Nama : "";
                dbtruckHistory.strType     = model.IdType.HasValue ? RepoLookup.FindByPK(model.IdType.Value).Nama : "";
                dbtruck.DataTruckBoxHistory.Add(dbtruckHistory);
                RepoDataTruck.save(dbtruck, UserPrincipal.id);


                return(RedirectToAction("Index"));
            }
            return(View("Form", model));
        }
コード例 #3
0
        public ActionResult Edit(int id)
        {
            Context.DataTruck dbitem = RepoDataTruck.FindByPK(id);
            DataTruck         model  = new DataTruck(dbitem);

            ViewBag.name = model.NoTruck;
            return(View("Form", model));
        }
コード例 #4
0
        public ActionResult Add(DataPendingin model)
        {
            if (ModelState.IsValid)
            {
                if (RepoPendingin.IsBoxExist(model.IdDataTruk.Value))
                {
                    ModelState.AddModelError("IdDataTruk", "Truck sudah tepasang pendingin, harap ganti dengan truck yang lain");
                    return(View("Form", model));
                }
                Context.DataPendingin dbitem = new Context.DataPendingin();
                model.setDb(dbitem);

                //generate code
                dbitem.Urutan      = RepoPendingin.getUrutan() + 1;
                dbitem.NoPendingin = RepoPendingin.generateCode(dbitem.Urutan);

                Context.DataPendinginHistory dbitemhistory = new Context.DataPendinginHistory();
                model.setDbHistory(dbitemhistory, UserPrincipal.firstname + ' ' + UserPrincipal.lastname);
                dbitemhistory.NoPendingin       = dbitem.NoPendingin;
                dbitemhistory.strDataTruk       = RepoDataTruck.FindByPK(dbitem.IdDataTruk).VehicleNo;
                dbitemhistory.strJenisPendingin = dbitem.IdJenisPendingin.HasValue ? RepoLookup.FindByPK(dbitem.IdJenisPendingin).Nama : "";
                dbitem.ListHistoryPendingin.Add(dbitemhistory);
                Context.DataTruckPendinginHistory dbtruckhistory = new Context.DataTruckPendinginHistory();
                model.setDbTruckHistory(dbtruckhistory, UserPrincipal.firstname + ' ' + UserPrincipal.lastname);
                RepoPendingin.save(dbitem, UserPrincipal.id, dbitemhistory, dbtruckhistory);

                Context.DataTruck dbtruck = RepoDataTruck.FindByPK(model.IdDataTruk.Value);
                dbtruckhistory.NoPendingin       = dbitem.NoPendingin;
                dbtruckhistory.strDataTruk       = RepoDataTruck.FindByPK(dbitem.IdDataTruk).VehicleNo;
                dbtruckhistory.strJenisPendingin = dbitem.IdJenisPendingin.HasValue ? RepoLookup.FindByPK(dbitem.IdJenisPendingin).Nama : "";
                dbtruck.DataTruckPendinginHistory.Add(dbtruckhistory);
                RepoDataTruck.save(dbtruck, UserPrincipal.id);

                return(RedirectToAction("Index"));
            }
            return(View("Form", model));
        }
コード例 #5
0
        public ActionResult Add(DataGPS model)
        {
            if (ModelState.IsValid)
            {
                if (RepoDataGps.IsBoxExist(model.IdDataTruck.Value))
                {
                    ModelState.AddModelError("IdDataTruck", "Truck sudah tepasang gps, harap ganti dengan truck yang lain");
                    return(View("Form", model));
                }
                Context.DataGPS dbitem = new Context.DataGPS();
                model.SetDb(dbitem);
                //generate code
                dbitem.urutan = RepoDataGps.getUrutan() + 1;
                dbitem.NoGPS  = RepoDataGps.generateCode(dbitem.urutan);

                Context.DataGPSHistory dbitemHistory = new Context.DataGPSHistory();
                model.SetDbHistory(dbitemHistory, UserPrincipal.firstname + " " + UserPrincipal.lastname);
                dbitemHistory.Vehicle   = RepoDataTruck.FindByPK(dbitem.IdDataTruck.Value).VehicleNo;
                dbitemHistory.NoGPS     = dbitem.NoGPS;
                dbitemHistory.strVendor = dbitem.IdVendor.HasValue ? RepoVendorGPS.FindByPK(dbitem.IdVendor.Value).Nama : "";
                dbitem.DataGPSHistory.Add(dbitemHistory);
                Context.DataTruckGPSHistory dbtruckHistory = new Context.DataTruckGPSHistory();
                model.SetDbTruckHistory(dbtruckHistory, UserPrincipal.firstname + " " + UserPrincipal.lastname);
                RepoDataGps.save(dbitem, UserPrincipal.id, dbitemHistory);

                Context.DataTruck dbtruck = RepoDataTruck.FindByPK(model.IdDataTruck.Value);
                dbtruckHistory.Vehicle   = dbtruck.VehicleNo;
                dbtruckHistory.NoGPS     = dbitem.NoGPS;
                dbtruckHistory.strVendor = dbitem.IdVendor.HasValue ? RepoVendorGPS.FindByPK(dbitem.IdVendor.Value).Nama : "";
                dbtruck.DataTruckGPSHistory.Add(dbtruckHistory);
                RepoDataTruck.save(dbtruck, UserPrincipal.id);

                return(RedirectToAction("Index"));
            }
            return(View("Form", model));
        }
コード例 #6
0
        public ActionResult EditOncall(SalesOrderOncall model, string btnsave)
        {
            //validasi manual
            bool palid  = true;
            int  urutan = 1;

            if (btnsave != "draft" && model.Status != "draft")
            {
                if (!model.IdDataTruck.HasValue)
                {
                    ModelState.AddModelError("IdDataTruck", "Truk harus diisi.");
                    palid = false;
                }
                if (!model.Driver1Id.HasValue || model.Driver1Id.Value == 0)
                {
                    ModelState.AddModelError("Driver1Id", "Driver harus diisi.");
                    palid = false;
                }
                if (model.Driver1Id != null)
                {
                    Context.Driver                 item = RepoDriver.FindAll().Where(d => d.Id == model.Driver1Id.Value).FirstOrDefault();
                    List <Context.SalesOrder>      dbso = RepoSalesOrder.FindAll().ToList();
                    List <Context.SettlementBatal> dbsb = RepoSettlementBatal.FindAll().Where(s => s.IsProses == false).ToList();
                    Driver             driver           = new Driver(item, dbso, dbsb);
                    Context.SalesOrder dbsoDriver       = RepoSalesOrder.FindAll().Where(d =>
                                                                                         (d.Status == "save" || d.Status == "draft planning" || d.Status == "draft konfirmasi" || d.Status == "save konfirmasi" || d.Status == "dispatched") && (
                                                                                             (d.SalesOrderOncallId.HasValue && (d.SalesOrderOncall.Driver1Id == model.Driver1Id || d.SalesOrderOncall.Driver2Id == model.Driver1Id)) ||
                                                                                             (d.SalesOrderPickupId.HasValue && (d.SalesOrderPickup.Driver1Id == model.Driver1Id || d.SalesOrderPickup.Driver2Id == model.Driver1Id)) ||
                                                                                             (d.SalesOrderProsesKonsolidasiId.HasValue && (d.SalesOrderProsesKonsolidasi.Driver1Id == model.Driver1Id || d.SalesOrderProsesKonsolidasi.Driver2Id == model.Driver1Id))
                                                                                             )
                                                                                         ).FirstOrDefault();
                    if (driver.StatusSo != "Available" && dbsoDriver != null && RepoSalesOrder.FindArea(dbsoDriver.SalesOrderOncall.IdDaftarHargaItem.Value) != "YES")
                    {
                        List <Context.SalesOrder> dbsoDriverList = RepoSalesOrder.FindAll().Where(d =>
                                                                                                  (d.Status == "save" || d.Status == "draft planning" || d.Status == "draft konfirmasi" || d.Status == "save konfirmasi" || d.Status == "dispatched") && (
                                                                                                      (d.SalesOrderOncallId.HasValue && (d.SalesOrderOncall.Driver1Id == model.Driver1Id || d.SalesOrderOncall.Driver2Id == model.Driver1Id)) ||
                                                                                                      (d.SalesOrderPickupId.HasValue && (d.SalesOrderPickup.Driver1Id == model.Driver1Id || d.SalesOrderPickup.Driver2Id == model.Driver1Id)) ||
                                                                                                      (d.SalesOrderProsesKonsolidasiId.HasValue && (d.SalesOrderProsesKonsolidasi.Driver1Id == model.Driver1Id || d.SalesOrderProsesKonsolidasi.Driver2Id == model.Driver1Id))
                                                                                                      )
                                                                                                  ).ToList();
                        urutan = dbsoDriver.urutan + 1;

                        //SO yg sdh jalan
                        Context.Rute rute       = RepoSalesOrder.FindRute(dbsoDriver.SalesOrderOncall.IdDaftarHargaItem.Value);
                        int          waktuKerja = int.Parse(rute.WaktuKerja.ToString());

                        //SO yg sedang diplanning
                        Context.SalesOrder so           = RepoSalesOrder.FindByOnCall(model.SalesOrderId.Value);
                        Context.Rute       rutePlanning = null;
                        if (so != null && so.SalesOrderOncall != null && so.SalesOrderOncall.IdDaftarHargaItem != null)
                        {
                            rutePlanning = RepoSalesOrder.FindRute(so.SalesOrderOncall.IdDaftarHargaItem.Value);
                            int  waktuKerjaPlanning = int.Parse(rutePlanning.WaktuKerja.ToString());
                            bool used_at_that_date  = dbsoDriverList.Any(d =>
                                                                         DateTime.Parse(d.SalesOrderOncall.TanggalMuat.ToString()).AddDays(waktuKerja) >= model.TanggalMuat ||
                                                                         DateTime.Parse(d.SalesOrderOncall.TanggalMuat.ToString()) <= DateTime.Parse(model.TanggalMuat.ToString()).AddDays(waktuKerja)
                                                                         );
                            if (used_at_that_date)
                            {
                                ModelState.AddModelError("Driver1Id", "Driver tidak tersedia, harap pilih driver lain.");
                                palid = false;
                            }
                            else if (urutan > 2 && rutePlanning.IsAreaPulang != true)
                            {
                                ModelState.AddModelError("Driver1Id", "Driver tidak tersedia, harap pilih driver lain.");
                                palid = false;
                            }
                        }
                    }
                }
            }
            if (model.Status == "draft")
            {
                if (model.CommentUser == "" || model.CommentUser == null)
                {
                    ModelState.AddModelError("CommentUser", "Comment harus diisi.");
                    palid = false;
                }
            }
            if (palid)
            {
                Context.SalesOrder dbitem = RepoSalesOrder.FindByPK(model.SalesOrderId.Value);
                dbitem.isReturn  = false;
                dbitem.UpdatedBy = UserPrincipal.id;
                dbitem.urutan    = urutan;
                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");
                RepoSalesOrder.save(dbitem);
                RepoAuditrail.savePlanningHistory(dbitem);
                Context.so_mstr   dbptnr = Reposo_mstr.FindByPK(dbitem.SalesOrderOncall.SONumber);
                Context.DataTruck truck  = RepoDataTruck.FindByPK(model.IdDataTruck);
                try
                {
                    dbptnr.so_vehicle = Repocode_mstr.FindByCodeName(truck.VehicleNo).id;
                    Reposo_mstr.UpdateSoMstrVehicle(dbptnr);
                }
                catch (Exception)
                {
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.kondisi  = "planning";
                ViewBag.name     = model.SONumber;
                ViewBag.Title    = "Planning Sales Order Oncall " + model.SONumber;
                ViewBag.PostData = "EditOncall";
                return(View("SalesOrderOncall/FormReadOnly", model));
            }
        }
コード例 #7
0
        public ActionResult Add(PenetapanDriver model)
        {
            if (ModelState.IsValid)
            {
                bool isPalid = true;
                if (RepoPenetapanDriver.IsExist(model.IdDataTruck.Value))
                {
                    isPalid = false;
                    ModelState.AddModelError("IdDataTruck", "Data truck sudah digunakan.");
                }

                if (RepoPenetapanDriver.isExistDriver(model.IdDriver1.Value, 0))
                {
                    isPalid = false;
                    ModelState.AddModelError("idDriver1", "Driver sudah digunakan.");
                }

                if (model.IdDriver2.HasValue)
                {
                    if (RepoPenetapanDriver.isExistDriver(model.IdDriver2.Value, 0))
                    {
                        isPalid = false;
                        ModelState.AddModelError("IdDriver2", "Driver sudah digunakan.");
                    }
                    if (model.IdDriver1 == model.IdDriver2)
                    {
                        isPalid = false;
                        ModelState.AddModelError("IdDriver1", "Driver tidak boleh sama.");
                        ModelState.AddModelError("IdDriver2", "Driver tidak boleh sama.");
                    }
                    if (model.IdDitetapkanOleh2 == null)
                    {
                        isPalid = false;
                        ModelState.AddModelError("IdDitetapkanOleh2", "Penetap Driver 2 Belum Ditentukan.");
                    }
                }

                if (model.IdDitetapkanOleh1 == null)
                {
                    isPalid = false;
                    ModelState.AddModelError("IdDitetapkanOleh1", "Penetap Driver 1 Belum Ditentukan.");
                }

                if (!isPalid)
                {
                    return(View("Form", model));
                }

                Context.PenetapanDriver        dbitem        = new Context.PenetapanDriver();
                Context.PenetapanDriverHistory dbitemHistory = new Context.PenetapanDriverHistory();
                //history
                model.SetDb(dbitem, UserPrincipal.firstname + ' ' + UserPrincipal.lastname);
                model.SetDbHistory(dbitemHistory, UserPrincipal.firstname + " " + UserPrincipal.lastname);
                dbitemHistory.CreatedBy   = UserPrincipal.firstname + " " + UserPrincipal.lastname;
                dbitemHistory.CreatedDate = DateTime.Now;
                dbitem.PenetapanDriverHistory.Add(dbitemHistory);
                //history driver
                Context.DataTruck dbtruck = RepoTruck.FindByPK(model.IdDataTruck.Value);

                Context.Driver             dbdriver1        = RepoDriver.FindByPK(model.IdDriver1.Value);
                Context.DriverTruckHistory dbdriverHistory1 = new Context.DriverTruckHistory();
                dbdriver1.NoHp1          = model.NoHp1Driver1;
                dbdriver1.NoHp2          = model.NoHp2Driver1;
                dbdriverHistory1.Tanggal = DateTime.Now;
                dbdriverHistory1.Nopol   = dbtruck.VehicleNo;
                dbdriverHistory1.Type    = model.JenisTruck;
                dbdriver1.DriverTruckHistory.Add(dbdriverHistory1);
                RepoDriver.save(dbdriver1);
                string query = "UPDATE dbo.\"Driver\" SET \"NoHp1\" = " + dbdriver1.NoHp1 + ", \"NoHp2\" = " + dbdriver1.NoHp2 + " WHERE \"Id\" = " + dbdriver1.Id + ";INSERT INTO dbo.\"DriverTruckHistory\" (\"IdDriver\", " +
                               "\"Tanggal\", \"Type\", \"Nopol\") VALUES (" + dbdriverHistory1.IdDriver + ", " + dbdriverHistory1.Tanggal + ", " + dbdriverHistory1.Type + ", " + dbdriverHistory1.Nopol + ");";
                RepoAuditrail.SetAuditTrail(query, "Penetapan Driver", "Add", UserPrincipal.id);

                if (model.IdDriver2.HasValue)
                {
                    Context.Driver             dbdriver2        = RepoDriver.FindByPK(model.IdDriver2.Value);
                    Context.DriverTruckHistory dbdriverHistory2 = new Context.DriverTruckHistory();
                    dbdriver2.NoHp1          = model.NoHp1Driver2;
                    dbdriver2.NoHp2          = model.NoHp2Driver2;
                    dbdriverHistory2.Tanggal = DateTime.Now;
                    dbdriverHistory2.Nopol   = dbtruck.VehicleNo;
                    dbdriverHistory2.Type    = model.JenisTruck;
                    dbdriver2.DriverTruckHistory.Add(dbdriverHistory2);
                    RepoDriver.save(dbdriver2);
                    query = "UPDATE dbo.\"Driver\" SET \"NoHp1\" = " + dbdriver2.NoHp1 + ", \"NoHp2\" = " + dbdriver2.NoHp2 + " WHERE \"Id\" = " + dbdriver2.Id + ";INSERT INTO dbo.\"DriverTruckHistory\" ( " +
                            "\"IdDriver\", \"Tanggal\", \"Type\", \"Nopol\") VALUES (" + dbdriverHistory2.IdDriver + ", " + dbdriverHistory2.Tanggal + ", " + dbdriverHistory2.Type + ", " + dbdriverHistory2.Nopol + ");";
                    RepoAuditrail.SetAuditTrail(query, "Penetapan Driver", "Add", UserPrincipal.id);
                }


                RepoPenetapanDriver.save(dbitem);

                return(RedirectToAction("Index"));
            }
            return(View("Form", model));
        }