Пример #1
0
        public JsonResult SaveDangKyXe(FormCollection collection)
        {
            qlDangKyXeBusiness    = Get <QL_DANGKY_XEBusiness>();
            dmNhomDanhMucBusiness = Get <DM_NHOMDANHMUCBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            JsonResultBO result = new JsonResultBO(true);

            try
            {
                AssignUserInfo();
                long         id     = collection["ID"].ToLongOrZero();
                QL_DANGKY_XE entity = new QL_DANGKY_XE();
                entity.NGAY_XUATPHAT = collection["NGAY_XUATPHAT"].ToDateTime();
                //kiểm tra ngày xuất phát <= ngày hiện tại
                if (entity.ID == 0 && entity.NGAY_XUATPHAT.HasValue && entity.NGAY_XUATPHAT.Value < DateTime.Now.ToVietnameseDateFormat().ToStartDay())
                {
                    result.Status  = false;
                    result.Message = "Thời gian xuất phát không thể nhỏ hơn ngày hiện tại";
                    return(Json(result));
                }

                entity.PHONGBAN_ID       = currentUser.DM_PHONGBAN_ID;
                entity.SONGUOI           = collection["SONGUOI"].ToIntOrZero();
                entity.MUCDICH           = collection["MUCDICH"].Trim();
                entity.NOIDUNG           = collection["NOIDUNG"].Trim();
                entity.GIO_XUATPHAT      = collection["GIO_XUATPHAT"].ToIntOrZero();
                entity.PHUT_XUATPHAT     = collection["PHUT_XUATPHAT"].ToIntOrZero();
                entity.DIEM_XUATPHAT     = collection["DIEM_XUATPHAT"].Trim();
                entity.DIEM_KETTHUC      = collection["DIEM_KETTHUC"].Trim();
                entity.GHICHU            = collection["GHICHU"].Trim();
                entity.TRANGTHAI         = TRANGTHAI_DANGKY_XE_CONSTANT.MOITAO_ID;
                entity.LICHCONGTAC_ID    = collection["LICHCONGTAC_ID"].ToIntOrNULL();
                entity.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault();
                //if (!string.IsNullOrEmpty(collection["TEN_BENHNHAN"]))
                //{
                //    entity.TEN_BENHNHAN = collection["TEN_BENHNHAN"].Trim();
                //}
                if (!string.IsNullOrEmpty(collection["CANBO_ID"]))
                {
                    entity.CANBO_ID = collection["CANBO_ID"].ToIntOrNULL();
                }
                //if (!string.IsNullOrEmpty(collection["IS_BHYT"]))
                //{
                //    entity.IS_BHYT = collection["IS_BHYT"].ToIntOrNULL() > 0;
                //}

                //if (!string.IsNullOrEmpty(collection["LOAI_CHUYEN_ID"]))
                //{
                //    entity.LOAI_CHUYEN_ID = collection["LOAI_CHUYEN_ID"].ToIntOrZero();
                //}

                entity.DIEM_XUATPHAT = collection["DIEM_XUATPHAT"].Trim();
                entity.DIEM_KETTHUC  = collection["DIEM_KETTHUC"].Trim();

                DM_DANHMUC_DATA dataStartPointItem = dmDanhMucDataBusiness.GetItemByCodeAndText(DMLOAI_CONSTANT.DIEM_XUATPHAT, entity.DIEM_XUATPHAT);
                if (dataStartPointItem == null)
                {
                    DM_NHOMDANHMUC  groupCategory    = dmNhomDanhMucBusiness.GetByCode(DMLOAI_CONSTANT.DIEM_XUATPHAT) ?? new DM_NHOMDANHMUC();
                    DM_DANHMUC_DATA startPointEntity = new DM_DANHMUC_DATA();
                    startPointEntity.DM_NHOM_ID = groupCategory.ID;
                    startPointEntity.TEXT       = entity.DIEM_XUATPHAT;
                    dmDanhMucDataBusiness.Save(startPointEntity);
                }

                DM_DANHMUC_DATA dataDestinationItem = dmDanhMucDataBusiness.GetItemByCodeAndText(DMLOAI_CONSTANT.DIEM_DEN, entity.DIEM_KETTHUC);
                if (dataDestinationItem == null)
                {
                    DM_NHOMDANHMUC  groupCategory     = dmNhomDanhMucBusiness.GetByCode(DMLOAI_CONSTANT.DIEM_DEN) ?? new DM_NHOMDANHMUC();
                    DM_DANHMUC_DATA destinationEntity = new DM_DANHMUC_DATA();
                    destinationEntity.DM_NHOM_ID = groupCategory.ID;
                    destinationEntity.TEXT       = entity.DIEM_KETTHUC;
                    dmDanhMucDataBusiness.Save(destinationEntity);
                }
                entity.NGAYSUA  = DateTime.Now;
                entity.NGAYTAO  = DateTime.Now;
                entity.NGUOITAO = currentUser.ID;
                entity.NGUOISUA = currentUser.ID;
                if (id > 0)
                {
                    QL_DANGKY_XE dbEntity = qlDangKyXeBusiness.Find(id);
                    if (dbEntity != null)
                    {
                        dbEntity.PHONGBAN_ID       = entity.PHONGBAN_ID;
                        dbEntity.SONGUOI           = entity.SONGUOI;
                        dbEntity.MUCDICH           = entity.MUCDICH;
                        dbEntity.NOIDUNG           = entity.NOIDUNG;
                        dbEntity.NGAY_XUATPHAT     = entity.NGAY_XUATPHAT;
                        dbEntity.GIO_XUATPHAT      = entity.GIO_XUATPHAT;
                        dbEntity.PHUT_XUATPHAT     = entity.PHUT_XUATPHAT;
                        dbEntity.DIEM_XUATPHAT     = entity.DIEM_XUATPHAT;
                        dbEntity.DIEM_KETTHUC      = entity.DIEM_KETTHUC;
                        dbEntity.CCTC_THANHPHAN_ID = entity.CCTC_THANHPHAN_ID;
                        dbEntity.GHICHU            = entity.GHICHU;
                        dbEntity.NGAYSUA           = DateTime.Now;
                        dbEntity.NGUOISUA          = currentUser.ID;
                        qlDangKyXeBusiness.Save(dbEntity);
                        result.Message = "Cập nhật đăng ký xe thành công";
                    }
                }
                else
                {
                    qlDangKyXeBusiness.Save(entity);
                    result.Message = "Thêm mới đăng ký xe thành công";
                }
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.ToString();
            }
            return(Json(result));
        }
Пример #2
0
        public JsonResult SaveLichCongTac(LICHCONGTAC entity, FormCollection fc)
        {
            AssignUserInfo();
            qlDangKyXeBusiness    = Get <QL_DANGKY_XEBusiness>();
            lichCongTacBusiness   = Get <LICHCONGTACBusiness>();
            dmNhomDanhMucBusiness = Get <DM_NHOMDANHMUCBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            JsonResultBO editResult = new JsonResultBO(true);

            entity.NGAY_CONGTAC = fc["NGAY_CONGTAC"].ToDateTimeNotNull();

            bool isObsolete = entity.NGAY_CONGTAC.IsOldWeek();

            if (isObsolete)
            {
                editResult.Status  = false;
                editResult.Message = "Thời gian công tác đã quá hạn để thêm mới";
                return(Json(editResult));
            }

            entity.TIEUDE       = fc["TIEUDE"].Trim();
            entity.GIO_CONGTAC  = fc["GIO_CONGTAC"].ToIntOrZero();
            entity.PHUT_CONGTAC = fc["PHUT_CONGTAC"].ToIntOrZero();
            //entity.NGUOICHUTRI_ID = fc["NGUOICHUTRI_ID"].ToIntOrNULL();
            entity.LANHDAO_ID = fc["LANHDAO_ID"].ToIntOrNULL();
            entity.DIADIEM    = fc["DIADIEM"].Trim();
            entity.GHICHU     = fc["GHICHU"].Trim();
            entity.NGUOITAO   = currentUser.ID;
            entity.NGUOISUA   = currentUser.ID;
            entity.NGAYTAO    = DateTime.Now;
            entity.NGAYSUA    = DateTime.Now;
            entity.IS_LATTEST = true;
            entity.IS_DELETE  = false;
            string destination = fc["DIADIEM"].Trim();

            //kiểm tra trùng lịch của cán bộ trong ngày
            bool existed = lichCongTacBusiness.CheckIsDuplicate(entity.ID, entity.LANHDAO_ID.GetValueOrDefault(), entity.NGAY_CONGTAC, entity.GIO_CONGTAC, entity.PHUT_CONGTAC);

            if (existed == true)
            {
                editResult.Status  = false;
                editResult.Message = "Lịch công tác của cán bộ đã tồn tại";
                return(Json(editResult));
            }

            DM_DANHMUC_DATA dataItem = dmDanhMucDataBusiness.GetItemByCodeAndText(DMLOAI_CONSTANT.DIEM_DEN, destination);

            if (dataItem == null)
            {
                DM_NHOMDANHMUC  groupCategory     = dmNhomDanhMucBusiness.GetByCode(DMLOAI_CONSTANT.DIEM_DEN) ?? new DM_NHOMDANHMUC();
                DM_DANHMUC_DATA destinationEntity = new DM_DANHMUC_DATA();
                destinationEntity.DM_NHOM_ID = groupCategory.ID;
                destinationEntity.TEXT       = destination;
                dmDanhMucDataBusiness.Save(destinationEntity);
            }

            if (entity.ID <= 0)
            {
                lichCongTacBusiness.Save(entity);
                editResult.Message = "Thêm mới lịch công tác thành công";
            }
            else
            {
                LICHCONGTAC dbEntity = lichCongTacBusiness.Find(entity.ID);
                if (dbEntity != null && dbEntity.IS_DELETE != true)
                {
                    if (dbEntity.NGAY_CONGTAC.IsOldWeek())
                    {
                        editResult.Status  = false;
                        editResult.Message = "Thời gian công tác đã quá hạn cập nhật";
                        return(Json(editResult));
                    }

                    //so sánh 2 phiên bản nếu khác => tạo phiên bản mới có ROOT_LICH = 0;
                    bool hasChanged = CheckHasChanged(arrProperties, dbEntity, entity);
                    if (hasChanged)
                    {
                        entity.ID           = 0;
                        entity.LICH_GOC_ID  = dbEntity.ID;
                        dbEntity.IS_LATTEST = false; //cập nhật phiên bản trước đã cũ
                        lichCongTacBusiness.Save(entity);

                        //kiểm tra xem lịch công tác này đã được đăng ký xe hay chưa
                        //nếu có thì cập nhật đăng ký xe
                        QL_DANGKY_XE register = qlDangKyXeBusiness.GetAvailableRegistrationByCalendarId(dbEntity.ID);
                        if (register != null)
                        {
                            register.LICHCONGTAC_ID = entity.ID;
                            qlDangKyXeBusiness.Save(register);
                        }
                    }
                    lichCongTacBusiness.Save(dbEntity);
                    editResult.Message = "Cập nhật lịch công tác thành công";
                }
                else
                {
                    editResult.Status  = false;
                    editResult.Message = "Lịch công tác không tồn tại";
                    return(Json(editResult));
                }
            }

            return(Json(editResult));
        }