Пример #1
0
        public ActionResult ViewElectronicInvoiceReportCheck(int ID)
        {
            ViewData["ID"] = ID;
            T_ElectronicInvoice        Model        = db.T_ElectronicInvoice.SingleOrDefault(a => a.ID == ID);
            T_ElectronicInvoiceAppRove modelApprove = db.T_ElectronicInvoiceAppRove.SingleOrDefault(a => a.Oid == ID && a.ApproveTime == null);
            T_ElectronicInvoice        MajorInvoice = new T_ElectronicInvoice();

            MajorInvoice = db.T_ElectronicInvoice.Single(a => a.ID == ID);
            List <T_ElectronicInvoiceAppRove> approve = db.T_ElectronicInvoiceAppRove.Where(a => a.Oid == ID).ToList();
            string table = "<table class=\"fromEditTable setTextWidth300\"> <tbody><tr><td>审核人</td><td>审核结果</td><td>审核时间</td><td>备注</td></tr>";
            string tr    = "";

            foreach (var item in approve)
            {
                string s = "";
                if (item.Status == -1)
                {
                    s = "<font color=#d02e2e>未审核</font>";
                }
                if (item.Status == 1)
                {
                    s = "<font color=#1fc73a>已同意</font>";
                }
                if (item.Status == 2)
                {
                    s = "<font color=#d02e2e>不同意</font>";
                }
                tr += string.Format("<tr><td><label>{0}</label></td><td>{1}</td><td>{2}</td><td>{3}</td></tr>", item.ApproveName, s, item.ApproveTime, item.Memo);
            }
            ViewData["history"]   = table + tr + "</tbody></table>";
            ViewData["approveid"] = ID;
            //  ViewData["Approve"] = modelApprove.ApproveDName;
            return(View(Model));
        }
Пример #2
0
        public ActionResult ViewElectronicInvoiceDetail(int ID)
        {
            T_ElectronicInvoice Model = db.T_ElectronicInvoice.SingleOrDefault(a => a.ID == ID);

            if (ID == 0)
            {
                return(HttpNotFound());
            }
            ViewData["ID"] = ID;
            var    history = db.T_ElectronicInvoiceAppRove.Where(a => a.Oid == ID);
            string table   = "<table class=\"fromEditTable setTextWidth300\"> <tbody><tr><td>审核人</td><td>审核结果</td><td>审核时间</td><td>备注</td></tr>";
            string tr      = "";

            foreach (var item in history)
            {
                string s = "";
                if (item.Status == -1)
                {
                    s = "<font color=blue>未审核</font>";
                }
                if (item.Status == 1)
                {
                    s = "<font color=green>已同意</font>";
                }
                if (item.Status == 2)
                {
                    s = "<font color=red>不同意</font>";
                }
                tr += string.Format("<tr><td><label>{0}</label></td><td>{1}</td><td>{2}</td><td>{3}</td></tr>", item.ApproveName, s, item.ApproveTime, item.Memo);
            }
            ViewData["history"] = table + tr + "</tbody></table>";
            return(View(Model));
        }
Пример #3
0
        public JsonResult DeleteInvoiceFinance(int ID)
        {
            T_ElectronicInvoice model = db.T_ElectronicInvoice.Find(ID);

            model.Isdelete = "1";
            db.Entry <T_ElectronicInvoice>(model).State = System.Data.Entity.EntityState.Modified;
            int i = db.SaveChanges();

            return(Json(i, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public ContentResult GetElectronicInvoiceChecken(Lib.GridPager pager, string queryStr, string txtShop)
        {
            string name     = Server.UrlDecode(Request.Cookies["Name"].Value);
            string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);


            List <T_ElectronicInvoiceAppRove> ApproveMod = db.T_ElectronicInvoiceAppRove.Where(a => (a.ApproveName == name || a.ApproveName == Nickname) && (a.Status == 1 || a.Status == 2)).ToList();

            int[] Arry = new int[ApproveMod.Count];
            for (int i = 0; i < ApproveMod.Count; i++)
            {
                Arry[i] = int.Parse(ApproveMod[i].Oid.ToString());
            }
            IQueryable <T_ElectronicInvoice> queryData = from r in db.T_ElectronicInvoice
                                                         where Arry.Contains(r.ID) && r.Isdelete == "0"
                                                         select r;

            if (!string.IsNullOrEmpty(queryStr))
            {
                queryData = queryData.Where(a => (a.OrderNumber != null && a.OrderNumber.Contains(queryStr)));
            }
            if (!string.IsNullOrEmpty(txtShop))
            {
                queryData = queryData.Where(a => (a.ShopName != null && a.ShopName.Contains(txtShop)));
            }
            pager.totalRows = queryData.Count();
            //分页
            queryData = queryData.OrderByDescending(c => c.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows);
            List <T_ElectronicInvoice> list = new List <T_ElectronicInvoice>();

            foreach (var item in queryData)
            {
                T_ElectronicInvoice i = new T_ElectronicInvoice();
                i = item;

                list.Add(i);
            }
            string json = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat()) + "}";

            return(Content(json));
        }
Пример #5
0
        //审核
        public JsonResult ElectronicInvoiceCheck(T_MajorInvoice model, string status, string Memo, string Memos)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                int ID = model.ID;
                T_ElectronicInvoice Invoicemodel = db.T_ElectronicInvoice.SingleOrDefault(a => a.ID == ID && a.Isdelete == "0");
                if (Invoicemodel == null)
                {
                    return(Json("数据可能被删除", JsonRequestBehavior.AllowGet));
                }
                string curName  = Server.UrlDecode(Request.Cookies["Name"].Value);
                string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);

                List <T_ElectronicInvoiceGroup> RetreatGroupList = db.Database.SqlQuery <T_ElectronicInvoiceGroup>("select  * from T_ElectronicInvoiceGroup where Crew like '%" + Nickname + "%'").ToList();
                string GroupName = "";
                for (int i = 0; i < RetreatGroupList.Count; i++)
                {
                    if (i == 0)
                    {
                        GroupName += "'" + RetreatGroupList[i].GroupName + "'";
                    }
                    else
                    {
                        GroupName += "," + "'" + RetreatGroupList[i].GroupName + "'";
                    }
                }

                string sql = "select * from T_ElectronicInvoiceAppRove where Oid='" + ID + "' and ApproveTime is null ";
                if (GroupName != "" && GroupName != null)
                {
                    sql += "  and (ApproveName='" + Nickname + "' or ApproveName  in (" + GroupName + ")) ";
                }
                else
                {
                    sql += "    and ApproveName='" + Nickname + "'  ";
                }
                List <T_ElectronicInvoiceAppRove> AppRoveListModel = db.Database.SqlQuery <T_ElectronicInvoiceAppRove>(sql).ToList();
                if (AppRoveListModel.Count == 0)
                {
                    return(Json("该数据已审核,请勿重复审核", JsonRequestBehavior.AllowGet));
                }


                T_ElectronicInvoiceAppRove modelApprove = db.T_ElectronicInvoiceAppRove.FirstOrDefault(a => a.Oid == ID && a.ApproveTime == null);



                string result = "";
                modelApprove.ApproveName = Nickname;
                modelApprove.Memo        = Memo;
                modelApprove.ApproveTime = DateTime.Now;
                modelApprove.Status      = int.Parse(status);
                db.Entry <T_ElectronicInvoiceAppRove>(modelApprove).State = System.Data.Entity.EntityState.Modified;
                int z = db.SaveChanges();
                if (z > 0)
                {
                    if (status == "1")
                    {
                        T_ElectronicInvoiceAppRove newApprove = new T_ElectronicInvoiceAppRove();
                        int step = int.Parse(Invoicemodel.Step.ToString());
                        step++;

                        T_ElectronicInvoiceReason Reason = db.T_ElectronicInvoiceReason.SingleOrDefault(a => a.InvoiceReason == Invoicemodel.Invoicetype);
                        string Reasontype = "";
                        if (Reason == null)
                        {
                            Reasontype = "1";
                        }
                        else
                        {
                            Reasontype = Reason.Type;
                        }
                        List <T_ElectronicInvoiceConfig> config = db.T_ElectronicInvoiceConfig.Where(a => a.Reason == Reasontype).ToList();

                        int stepLength = config.Count();//总共步骤
                        if (step < stepLength)
                        {
                            Invoicemodel.Status = 0;
                            T_ElectronicInvoiceConfig stepMod = db.T_ElectronicInvoiceConfig.SingleOrDefault(a => a.Step == step);
                            string nextName = stepMod.Name;
                            newApprove.Memo   = "";
                            newApprove.Oid    = ID;
                            newApprove.Status = -1;
                            newApprove.Step   = step.ToString();
                            if (nextName != null)
                            {
                                newApprove.ApproveName  = nextName;
                                newApprove.ApproveDName = stepMod.Type;
                            }
                            else
                            {
                                newApprove.ApproveName  = stepMod.Type;
                                newApprove.ApproveDName = stepMod.Type;
                            }
                            db.T_ElectronicInvoiceAppRove.Add(newApprove);
                            db.SaveChanges();
                        }
                        else
                        {
                            Invoicemodel.Status = int.Parse(status);
                        }
                        Invoicemodel.invoiceNum = Memos;
                        Invoicemodel.Step       = step;
                        db.Entry <T_ElectronicInvoice>(Invoicemodel).State = System.Data.Entity.EntityState.Modified;
                        int j = db.SaveChanges();
                        if (j > 0)
                        {
                            result += "保存成功";
                        }
                        else
                        {
                            result += "保存失败";
                        }
                    }
                    else
                    {
                        //不同意
                        Invoicemodel.Step   = 0;
                        Invoicemodel.Status = 2;
                        db.Entry <T_ElectronicInvoice>(Invoicemodel).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                        //审核流程结束 申请人编辑后插入下一条记录
                        result = "保存成功";
                    }
                }
                else
                {
                    result = "保存失败";
                }

                sc.Complete();
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Пример #6
0
        public JsonResult ElectronicInvoiceAdd(T_ElectronicInvoice model, string picUrls, string jsonStr)
        {
            string orderNumBer = model.OrderNumber;

            List <T_MajorInvoice> Nmodel = db.T_MajorInvoice.Where(a => a.OrderNumber == orderNumBer && a.Isdelete == "0").ToList();

            if (Nmodel.Count > 0)
            {
                return(Json(-1, JsonRequestBehavior.AllowGet));
            }
            string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);

            model.PostUser    = Nickname;
            model.PostDate    = DateTime.Now;
            model.Status      = -1;
            model.Step        = 0;
            model.Isdelete    = "0";
            model.Invoicetype = model.ShopName;
            db.T_ElectronicInvoice.Add(model);

            int i = db.SaveChanges();

            if (i > 0)
            {
                List <T_ElectronicInvoiceDetails> details = App_Code.Com.Deserialize <T_ElectronicInvoiceDetails>(jsonStr);
                foreach (var item in details)
                {
                    if (item.specname == "undefined")
                    {
                        item.specname = "/";
                    }
                    item.Oid = model.ID;
                    db.T_ElectronicInvoiceDetails.Add(item);
                }
                db.SaveChanges();
                string InvoiceReason = model.Invoicetype;

                //先查看是选择的什么
                T_ElectronicInvoiceReason modelReason = db.T_ElectronicInvoiceReason.SingleOrDefault(a => a.InvoiceReason == InvoiceReason);

                string modelReasontype = "";
                if (modelReason == null)
                {
                    modelReasontype = "1";
                }
                else
                {
                    modelReasontype = modelReason.Type;
                }
                T_ElectronicInvoiceConfig  modelconfig  = db.T_ElectronicInvoiceConfig.SingleOrDefault(a => a.Step == 0 && a.Reason == modelReasontype);
                T_ElectronicInvoiceAppRove AppRoveModel = new T_ElectronicInvoiceAppRove();
                AppRoveModel.Status = -1;
                AppRoveModel.Step   = "0";
                if (modelconfig.Name == null || modelconfig.Name == "")
                {
                    AppRoveModel.ApproveName = modelconfig.Type;
                }
                else
                {
                    AppRoveModel.ApproveName = modelconfig.Name;
                }
                AppRoveModel.ApproveDName = modelconfig.Type;
                AppRoveModel.Oid          = model.ID;
                db.T_ElectronicInvoiceAppRove.Add(AppRoveModel);
                db.SaveChanges();
                if (picUrls.Length > 0)
                {
                    string[] picArr = picUrls.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (string Purl in picArr)
                    {
                        T_ElectronicInvoiceEnclosure IndemnityPic = new T_ElectronicInvoiceEnclosure();
                        IndemnityPic.oid        = model.ID;
                        IndemnityPic.URL        = Purl;
                        IndemnityPic.uploadDate = DateTime.Now;
                        IndemnityPic.uploadName = Nickname;
                        db.T_ElectronicInvoiceEnclosure.Add(IndemnityPic);
                    }
                    db.SaveChanges();
                }

                return(Json(i, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(i, JsonRequestBehavior.AllowGet));
            }
        }
Пример #7
0
        public JsonResult QuyerRetreatDetailBYcode(string code = "")
        {
            string [] codes = code.Split(',');
            List <T_ElectronicInvoice>        ElectronicModel = new List <T_ElectronicInvoice>();
            List <T_ElectronicInvoiceDetails> DetailsList     = new List <T_ElectronicInvoiceDetails>();

            for (int x = 0; x < codes.Length; x++)
            {
                string      codez  = codes[x];
                App_Code.GY gy     = new App_Code.GY();
                string      cmd    = "";
                string      repeat = "";


                dic.Clear();

                dic.Add("src_tid", codez);
                //dic.Add("trade_no", code);

                dic.Add("sid", "hhs2");
                dic.Add("appkey", "hhs2-ot");
                dic.Add("timestamp", GetTimeStamp());
                cmd = CreateParam(dic, true);

                string   ret      = gy.DoPostnew("http://api.wangdian.cn/openapi2/trade_query.php", cmd, Encoding.UTF8);
                string   ssx      = Regex.Unescape(ret);
                JsonData jsonData = null;
                jsonData = JsonMapper.ToObject(ret);
                string iscode = jsonData["total_count"].ToString();
                if (iscode != "0")
                {
                    JsonData jsontrades = jsonData["trades"];

                    if (jsontrades.Count != 0)
                    {
                        JsonData trades = jsontrades[0];
                        //店铺名称
                        string shop_name = trades["shop_name"].ToString();
                        //仓库编码
                        string warehouse_no = trades["warehouse_no"].ToString();
                        //原始订单编号
                        string src_tids = trades["src_tids"].ToString();
                        //下单时间
                        string trade_time = trades["trade_time"].ToString();
                        //付款时间
                        string pay_time = trades["pay_time"].ToString();
                        //旺旺号
                        string customer_name = trades["buyer_nick"].ToString();
                        //收件人姓名
                        string receiver_name = trades["receiver_name"].ToString();
                        //省
                        string receiver_province = trades["receiver_province"].ToString();
                        //市
                        string receiver_city = trades["receiver_city"].ToString();
                        //区
                        string receiver_district = trades["receiver_district"].ToString();
                        //详细地址
                        string receiver_address = trades["receiver_address"].ToString();
                        //电话号码
                        string receiver_mobile = trades["receiver_mobile"].ToString();
                        //邮政编码
                        string receiver_zip = trades["receiver_zip"].ToString();
                        //省市县
                        string receiver_area = trades["receiver_area"].ToString();
                        //快递公司编号
                        string logistics_code = trades["logistics_code"].ToString();
                        //快递单号
                        string logistics_no = trades["logistics_no"].ToString();
                        //买家留言
                        string buyer_message = trades["buyer_message"].ToString();
                        //客服备注
                        string cs_remark = trades["cs_remark"].ToString();
                        //实付金额
                        string paid = trades["paid"].ToString();
                        //商品详情
                        JsonData goods_list = trades["goods_list"];
                        //查询3次。对应到具体的省市区


                        //查询一次..
                        string shop_Code = "";


                        T_ElectronicInvoice model = new T_ElectronicInvoice();
                        model.OrderNumber      = codez;
                        model.ShopName         = shop_name;
                        model.TheInvoiceAmount = decimal.Parse(paid.ToString());
                        ElectronicModel.Add(model);



                        for (int i = 0; i < goods_list.Count; i++)
                        {
                            T_ElectronicInvoiceDetails DetailsModel = new T_ElectronicInvoiceDetails();


                            DetailsModel.Code     = goods_list[i]["goods_no"] == null ? "" : goods_list[i]["goods_no"].ToString();
                            DetailsModel.Name     = goods_list[i]["goods_name"] == null ? "" : goods_list[i]["goods_name"].ToString();
                            DetailsModel.specname = goods_list[i]["spec_name"] == null ? "" : goods_list[i]["spec_name"].ToString();

                            DetailsModel.UnitPrice = decimal.Parse(goods_list[i]["order_price"].ToString());

                            decimal qyt = decimal.Parse(goods_list[i]["actual_num"].ToString());
                            DetailsModel.qty = int.Parse(Math.Round(qyt).ToString());
                            DetailsList.Add(DetailsModel);
                        }
                    }
                }
            }
            var json = new
            {
                rows = (from r in DetailsList
                        select new T_ElectronicInvoiceDetails
                {
                    Code = r.Code,
                    Name = r.Name,
                    specname = r.specname,
                    UnitPrice = r.UnitPrice,
                    qty = r.qty,
                }).ToArray()
            };

            if (ElectronicModel.Count > 0)
            {
                string  ShopName         = ElectronicModel[0].ShopName;
                decimal TheInvoiceAmount = 0.00m;
                for (int d = 0; d < ElectronicModel.Count; d++)
                {
                    if (ShopName != ElectronicModel[d].ShopName)
                    {
                        return(Json("-1", JsonRequestBehavior.AllowGet));
                    }
                    TheInvoiceAmount += decimal.Parse(ElectronicModel[d].TheInvoiceAmount.ToString());
                }
                T_ElectronicInvoice model = new T_ElectronicInvoice();
                model.OrderNumber      = code;
                model.ShopName         = ShopName;
                model.TheInvoiceAmount = TheInvoiceAmount;
                return(Json(new { ModelList = model, Json = json }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("", JsonRequestBehavior.AllowGet));
            }
        }