public string Save(string buckle)
        {
            Generation_buckle generation_buckle = JsonConvert.DeserializeObject <Generation_buckle>(buckle);

            if (generation_buckle.id == 0)
            {
                generation_buckle.agency_code   = Request.Cookies["agency_code"].Value;
                generation_buckle.recorder_code = Request.Cookies["user_code"].Value;
                generation_buckle.record_date   = DateTime.Now;
                generation_buckle.review_state  = 0;
            }

            return(JsonConvert.SerializeObject(svr.Save(generation_buckle)));
        }
        public Result Import(List <Generation_buckle> list)
        {
            db = new Db();
            Generation_buckle        buckle = null;
            List <Generation_buckle> ignore = new List <Generation_buckle>();

            try
            {
                foreach (Generation_buckle _this in list)
                {
                    buckle =
                        db.Generation_buckle.SingleOrDefault(
                            t =>
                            t.salesman_card_id == _this.salesman_card_id &&
                            t.salesman_hiredate == _this.salesman_hiredate && t.is_deleted != 1);

                    if (buckle == null)
                    {
                        _this.record_date = DateTime.Now;
                        db.Generation_buckle.Add(_this);
                    }
                    else
                    {
                        ignore.Add(_this);
                    }
                }

                if (list.Count > ignore.Count)
                {
                    Entity.SaveChanges(db);
                }

                if (ignore.Count > 0)
                {
                    return(new Result(ResultType.success,
                                      "成功导入" + (list.Count - ignore.Count) + "条,部分人员信息已存在已被忽略导入,详见表格", ignore));
                }
                else
                {
                    return(new Result(ResultType.success, "成功导入" + list.Count + "条"));
                }
            }
            catch (Exception ex)
            {
                return(new Result(ResultType.error, new Message(ex).ErrorDetails));
            }
        }
        public Result ChangeReviewState(List <int> ids, int state)
        {
            db = new Db();

            try
            {
                var gives = db.Generation_gives.Where(t => ids.Contains(t.id)).ToList();

                Generation_buckle buckle_success = null;
                gives.ForEach(t =>
                {
                    t.review_state = state;

                    if (state == 2) //市级审核通过后,判断是否为上线后的数据,如果是则直接提交到省财务
                    {
                        t.remark = null;

                        buckle_success =
                            db.Generation_buckle.SingleOrDefault(b => b.salesman_card_id == t.salesman_card_id &&
                                                                 b.salesman_hiredate == t.salesman_hiredate &&
                                                                 b.review_state == 5);      //代扣成功的

                        if (buckle_success != null)
                        {
                            t.review_state = 4; //上线后的直接推送到省财务,等待财务推送
                        }
                    }
                    else if (state == 3 || state == 4)  //初审、复审通过
                    {
                        t.remark = null;
                    }
                });

                Entity.SaveChanges(db);

                if (state == 5) //省级推送
                {
                    Push(gives);
                }

                return(new Result(ResultType.success));
            }
            catch (Exception ex)
            {
                return(new Result(ResultType.error, new Message(ex).ErrorDetails));
            }
        }
        public Result Save(Generation_buckle buckle)
        {
            db = new Db();

            try
            {
                var old_buckle =
                    db.Generation_buckle.SingleOrDefault(
                        t =>
                        t.salesman_card_id == buckle.salesman_card_id &&
                        t.salesman_hiredate == buckle.salesman_hiredate);

                if (old_buckle == null || buckle.id > 0)
                {
                    if (buckle.id > 0)
                    {
                        Entity.Update(db, buckle);
                    }
                    else
                    {
                        db.Generation_buckle.Add(buckle);
                    }

                    Entity.SaveChanges(db);

                    return(new Result(ResultType.success, new { generation_buckle_id = buckle.id }));
                }
                else
                {
                    return(new Result(ResultType.no_changed, "该人员的代扣信息已被其它工作人员录入"));
                }
            }
            catch (Exception ex)
            {
                return(new Result(ResultType.error, new Message(ex).ErrorDetails));
            }
        }
Пример #5
0
        public void Execute(IJobExecutionContext context)
        {
            db_interface = db_interface ?? new DbInterface();
            batch_id     = batch_id ?? context.JobDetail.Key.Name;

            INTERFACE_MIO_BATCH_BZJ batch_interface =
                db_interface.INTERFACE_MIO_BATCH_BZJ.SingleOrDefault(t => t.FromBatchNo == batch_id);

            if (batch_interface != null && batch_interface.BatchStatus == 5) //处理完成
            {
                try
                {
                    db = new Db();

                    var batch = db.MioBatch.SingleOrDefault(t => t.batch_id == batch_id);
                    batch.done_date   = DateTime.Now;
                    batch.push_result = batch_interface.Remark;
                    db.Update(batch);

                    var batch_interface_list =
                        db_interface.INTERFACE_MIO_LIST_BZJ.Where(t => t.FromBatchNo == batch_id).ToList(); //获取清单表

                    Generation_buckle buckle = null;

                    var           batch_list = db.MioList.Where(t => t.batch_id == batch_id).ToList();
                    List <string> phones     = new List <string>();
                    batch_list.ForEach(t =>
                    {
                        var batch_detail =
                            batch_interface_list.SingleOrDefault(
                                s =>
                                s.FromBatchNo == batch_id && s.BankAcc == t.bank_account_no &&
                                s.BankAccName == t.bank_account_name);

                        t.status = batch_detail.MioStatus;
                        t.result = batch_detail.ErrMsg; //将清单表信息复制过来
                        db.Update(t);

                        buckle = db.Generation_buckle.SingleOrDefault(b => b.id == t.generation_id);
                        if (buckle != null)
                        {
                            if (t.status == 0) //0表示处理成功
                            {
                                buckle.review_state = 5;

                                int count      = 0;
                                int cur_num    = 1;
                                string max_num = db.Generation_buckle.Max(g => g.gather_serial_num);
                                /*--------------------生成流水号--------------------*/
                                if (max_num != null)
                                {
                                    cur_num = int.Parse(max_num.Substring(12));
                                    cur_num++;
                                }
                                max_num = cur_num.ToString();
                                count   = 8 - cur_num.ToString().Length;
                                for (int i = 0; i < count; i++)
                                {
                                    max_num = "0" + max_num;
                                }
                                buckle.gather_serial_num = DateTime.Now.Year + buckle.agency_code + "88" + max_num;
                                /*--------------------生成虚拟销售人员代码--------------------*/
                                cur_num = 1;
                                max_num = db.Generation_buckle.Max(g => g.salesman_code);
                                if (max_num != null)
                                {
                                    cur_num = int.Parse(max_num.Substring(6));
                                    cur_num++;
                                }
                                max_num = cur_num.ToString();
                                count   = 8 - cur_num.ToString().Length;
                                for (int i = 0; i < count; i++)
                                {
                                    max_num = "0" + max_num;
                                }
                                buckle.salesman_code = buckle.agency_code + max_num;

                                phones.Add(buckle.salesman_phone);
                            }
                            else
                            {
                                buckle.review_state = -5; //失败退回到市级未提交状态
                            }
                            buckle.process_result = batch_detail.ErrMsg;
                            buckle.finish_time    = batch_detail.FinishTime;
                            db.Update(buckle);
                        }
                    });

                    db.SaveChanges();

                    var client = new WebClient();
                    client.Encoding = Encoding.UTF8;
                    phones.ForEach(phone =>
                    {
                        client.DownloadString(
                            "http://10.20.147.103:8080/api/json/reply/sendmsg?username=43010271000014&password=170046&systemid=0&mobile=" +
                            phone + "&content=银行代扣成功&dept=信息技术部&clerk=李轩");
                    });
                }
                finally
                {
                    QuartzManager <QueryBuckleInfo> .RemoveJob(batch_id);
                }
            }
        }
        public string Import(HttpPostedFileBase file, string channel)
        {
            IWorkbook  workbook = null;
            ISheet     sheet    = null;
            FileStream fs       = null;
            string     filePath = null;

            try
            {
                if (file != null)
                {
                    filePath = Server.MapPath("~/Excel/") + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " +
                               file.FileName;
                    file.SaveAs(filePath);

                    fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                    if (filePath.IndexOf(".xlsx") > 0) // 2007版本
                    {
                        workbook = new XSSFWorkbook(fs);
                    }
                    else if (filePath.IndexOf(".xls") > 0) // 2003版本
                    {
                        workbook = new HSSFWorkbook(fs);
                    }

                    sheet = workbook.GetSheetAt(0); //获取第一个sheet

                    if (sheet != null)
                    {
                        IRow  row  = null;
                        ICell cell = sheet.GetRow(0).GetCell(0);
                        if (cell != null && cell.StringCellValue == "管理机构")
                        {
                            int startRow  = 2;
                            int rowCount  = sheet.PhysicalNumberOfRows;
                            int cellCount = sheet.GetRow(0).LastCellNum; //一行最后一个cell的编号 即总的列数

                            Dictionary <int, string> field  = GetFieldDic();
                            List <Generation_buckle> list   = new List <Generation_buckle>();
                            Generation_buckle        buckle = new Generation_buckle();
                            Type type = buckle.GetType();
                            System.Reflection.PropertyInfo property = null;

                            for (int r = startRow; r < rowCount; r++)
                            {
                                row = sheet.GetRow(r);
                                if (row != null)
                                {
                                    buckle = new Generation_buckle();
                                    for (int c = 0; c < cellCount; c++)
                                    {
                                        cell = row.GetCell(c);

                                        if (cell != null)
                                        {
                                            property = type.GetProperty(field[c]);

                                            if (cell.CellType == CellType.Numeric)
                                            {
                                                if (field[c] == "salesman_hiredate")
                                                {
                                                    property.SetValue(buckle, cell.DateCellValue, null);
                                                }
                                                else
                                                {
                                                    property.SetValue(buckle, Convert.ToDecimal(cell.NumericCellValue),
                                                                      null);
                                                }
                                            }
                                            else
                                            {
                                                property.SetValue(buckle, cell.StringCellValue, null);
                                            }
                                        }
                                    }
                                    buckle.agency_code   = Request.Cookies["agency_code"].Value;
                                    buckle.recorder_code = Request.Cookies["user_code"].Value;
                                    buckle.record_date   = DateTime.Now;
                                    buckle.channel       = channel;
                                    buckle.review_state  = 0;
                                    list.Add(buckle);
                                }
                            }

                            if (list.Any())
                            {
                                result = svr.Import(list);
                            }
                            else
                            {
                                result = new Result(ResultType.error, file.FileName + " 读取不到Excel中的数据!");
                            }
                        }
                        else
                        {
                            result = new Result(ResultType.error, file.FileName + "格式不正确!");
                        }
                    }
                    else
                    {
                        result = new Result(ResultType.error, file.FileName + " 第一个Sheet为空!");
                    }
                }
                else
                {
                    result = new Result(ResultType.error, "找不到上传的文件,name = file");
                }
            }
            catch (Exception ex)
            {
                result = new Result(ResultType.error, new Message(ex).ErrorDetails);
            }
            finally
            {
                if (System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }
            }

            return(JsonConvert.SerializeObject(result));
        }