Example #1
0
        public async Task <IActionResult> UpdateND([FromBody] request_import req)
        {
            try
            {
                using (var db = new TM.Core.Connection.Oracle())
                {
                    var nd = db.Connection.getUserFromToken(TM.Core.HttpContext.Header("Authorization"));
                    if (nd == null)
                    {
                        return(Json(new { msg = TM.Core.Common.Message.error_token.ToString() }));
                    }
                    var qry     = "";
                    var csv     = TM.Core.IO.ReadFile(req.file_upload, '\t');
                    var error   = new List <template_update_import>();
                    var success = 0;
                    var index   = 0;
                    for (index = 0; index < csv.Count; index++)
                    {
                        try
                        {
                            if (index < 1)
                            {
                                continue;
                            }
                            // Kiểm tra thuê bao
                            qry = $"select ma_tb from kehoach_tb where donvi_id={nd.donvi_id} and ma_tb='{csv[index][0]}'";
                            var tmp = await db.Connection.QueryFirstOrDefaultAsync <Models.Core.Kehoach_TB>(qry);

                            if (tmp == null)
                            {
                                var _tmp = new template_update_import();
                                _tmp.ma_tb  = csv[index][0].Trim();
                                _tmp.ma_nd  = csv[index][1].Trim();
                                _tmp.ct_loi = "Không tồn tại thuê bao";
                                error.Add(_tmp);
                                continue;
                            }
                            qry = $"update kehoach_tb set ma_nd='{csv[index][1].Trim()}' where ma_tb='{csv[index][0]}' and donvi_id={nd.donvi_id}";
                            await db.Connection.QueryAsync(qry);

                            success++;
                        }
                        catch (System.Exception)
                        {
                            var _tmp = new template_update_import();
                            _tmp.ma_tb  = csv[index][0].Trim();
                            _tmp.ma_nd  = csv[index][1].Trim();
                            _tmp.ct_loi = "Sai định dạng";
                            continue;
                        }
                    }
                    return(Json(new
                    {
                        total = index - 1,
                        success = success,
                        error = error,
                        msg = TM.Core.Common.Message.success.ToString()
                    }));
                }
            }
            catch (System.Exception) { return(Json(new { msg = TM.Core.Common.Message.danger.ToString() })); }
            finally { }
        }
Example #2
0
        public async Task <IActionResult> Post([FromBody] request_import req)
        {
            try
            {
                using (var db = new TM.Core.Connection.Oracle())
                {
                    var nd = db.Connection.getUserFromToken(TM.Core.HttpContext.Header("Authorization"));
                    if (nd == null)
                    {
                        return(Json(new { msg = TM.Core.Common.Message.error_token.ToString() }));
                    }
                    if (req.nhomkh_id < 1)
                    {
                        return(Json(new { msg = TM.Core.Common.Message.danger.ToString() }));
                    }
                    if (req.donvi_id < 1)
                    {
                        return(Json(new { msg = TM.Core.Common.Message.danger.ToString() }));
                    }
                    // Bỏ danh sách thuê bao cũ
                    // var qry = $@"update kehoach_tb set trang_thai=2,nguoi_huy='{nd.ma_nd}',
                    //         ip_huy='{TM.Core.HttpContext.Header("LocalIP")}',ngay_huy={DateTime.Now.ParseDateTime()}
                    //         where nhom_kh={req.nhomkh_id} and thang_bd={req.thang_bd} and donvi_id={req.donvi_id} and trang_thai=1";
                    // await db.Connection.QueryAsync(qry);
                    // Get kehoach_tb check
                    var qry        = $"select ma_tb from kehoach_tb where nhom_kh={req.nhomkh_id} and donvi_id={req.donvi_id} AND THANG_BD={req.thang_bd} AND THANG_KT={req.thang_kt}";
                    var kehoach_tb = await db.Connection.QueryAsync <Models.Core.Kehoach_TB>(qry);

                    var data    = new Models.Core.Kehoach_TB();
                    var csv     = TM.Core.IO.ReadFile(req.file_upload, '\t');
                    var error   = new List <template_import>();
                    var success = 0;
                    var index   = 0;
                    for (index = 0; index < csv.Count; index++)
                    {
                        try
                        {
                            if (index < 1)
                            {
                                continue;
                            }
                            // data.id = Guid.NewGuid().ToString("N");
                            data.nhom_kh    = req.nhomkh_id;
                            data.donvi_id   = req.donvi_id;
                            data.ma_tb      = csv[index][0].Trim();
                            data.ten_tb     = csv[index][1].Trim();
                            data.diachi_tb  = csv[index][2].Trim();
                            data.so_dt      = csv[index][3].Trim();
                            data.thang_bd   = req.thang_bd;
                            data.thang_kt   = req.thang_kt;
                            data.ma_nd      = csv[index][4].Trim().ToLower();
                            data.ghichu     = csv[index][5].Trim();
                            data.nguoi_nhap = nd.ma_nd;
                            data.ngay_nhap  = DateTime.Now;
                            data.ip_nhap    = TM.Core.HttpContext.Header("LocalIP");
                            data.trang_thai = 1;
                            // Nếu đã có thuê bao thì bỏ qua
                            //var tmp = kehoach_tb.Any(b => b.ma_tb==data.ma_tb);
                            if (kehoach_tb.Any(b => b.ma_tb == data.ma_tb))
                            {
                                ImportData(error, csv, index, "Trùng thuê bao");
                                continue;
                            }
                            // Chưa có thực hiện nhập vào csdl
                            await db.Connection.InsertOraAsync(data);

                            // qry = $"select ma_tb from kehoach_tb where nhom_kh={req.nhomkh_id} and donvi_id={req.donvi_id} and ma_tb='{data.ma_tb}' and id!='{data.id}'";
                            // var update = await db.Connection.QueryFirstOrDefaultAsync(qry);
                            // if (update != null)
                            // {
                            //     await db.Connection.QueryAsync(qry.Replace("select ma_tb from", "delete"));
                            //     ImportData(error, csv, index, "Cập nhật lại");
                            // }
                            success++;
                        }
                        catch (System.Exception ex)
                        {
                            ImportData(error, csv, index, ex.Message); //"Sai định dạng"
                                                                       // var tmp = new template_import();
                                                                       // tmp.ma_tb = csv[index][0];
                                                                       // tmp.ten_tb = csv[index][1];
                                                                       // tmp.diachi_tb = csv[index][2];
                                                                       // tmp.so_dt = csv[index][3];
                                                                       // tmp.ma_nd = csv[index][4];
                                                                       // tmp.ghichu = csv[index][5];
                                                                       // tmp.error = "Sai định dạng";
                                                                       // error.Add(tmp);
                            continue;
                        }
                    }
                    return(Json(new
                    {
                        total = index - 1,
                        success = success,
                        error = error,
                        msg = TM.Core.Common.Message.success.ToString()
                    }));
                }
            }
            catch (System.Exception) { return(Json(new { msg = TM.Core.Common.Message.danger.ToString() })); }
            finally { }
        }