Пример #1
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));
            }
        }
Пример #2
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));
            }
        }