Exemplo n.º 1
0
 public static void ModularRejectCount(string PendingAuditName, string ModularName, int Qty = 0)
 {
     try {
         EBMSEntities        db    = new EBMSEntities();
         T_ModularNotaudited model = db.T_ModularNotaudited.FirstOrDefault(a => a.ModularName == ModularName && a.PendingAuditName == PendingAuditName);
         model.ToupdateDate = DateTime.Now;
         model.RejectNumber = model.RejectNumber + Qty;
         db.Entry <T_ModularNotaudited>(model).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception e)
     {
     }
 }
Exemplo n.º 2
0
        public void ModularByZP()
        {
            List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "招聘").ToList();

            if (ModularNotaudited.Count > 0)
            {
                foreach (var item in ModularNotaudited)
                {
                    db.T_ModularNotaudited.Remove(item);
                }
                db.SaveChanges();
            }
            string         RetreatAppRoveSql   = "select Interviewer as PendingAuditName,COUNT(*) as NotauditedNumber from T_PersonnelInterviewRecord where PID in (select ID from T_PersonnelFile where  Isdelete='0'  and (InterviewState = -1 or InterviewState = 0) )  and  State=0 and Date is null GROUP BY Interviewer";
            List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();

            // string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);
            for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
            {
                string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "招聘" && a.PendingAuditName == PendingAuditName);
                if (NotauditedModel != null)
                {
                    NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                    db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                    ModularNotauditedModel.ModularName      = "招聘";
                    ModularNotauditedModel.RejectNumber     = 0;
                    ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                    ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                    ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                    ModularNotauditedModel.ToupdateName     = "admin";
                    db.T_ModularNotaudited.Add(ModularNotauditedModel);
                }
                db.SaveChanges();
            }
            //招聘部分没有
        }
Exemplo n.º 3
0
        public void ModularByZP()
        {
            List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "发票").ToList();

            if (ModularNotaudited.Count > 0)
            {
                foreach (var item in ModularNotaudited)
                {
                    db.T_ModularNotaudited.Remove(item);
                }
                db.SaveChanges();
            }

            string         RetreatAppRoveSql   = "select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_InvoiceApplyAppRove where Oid in (select ID from T_InvoiceApply where  Isdelete='0'  and (Status = -1 or Status = 0 ) )  and  Status=-1 and ApproveTime is null GROUP BY ApproveName";
            List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
            string         Nickname            = Server.UrlDecode(Request.Cookies["Nickname"].Value);

            for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
            {
                string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "发票" && a.PendingAuditName == PendingAuditName);
                if (NotauditedModel != null)
                {
                    NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                    db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                    ModularNotauditedModel.ModularName      = "发票";
                    ModularNotauditedModel.RejectNumber     = 0;
                    ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                    ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                    ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                    ModularNotauditedModel.ToupdateName     = Nickname;
                    db.T_ModularNotaudited.Add(ModularNotauditedModel);
                }
                db.SaveChanges();
            }
        }
Exemplo n.º 4
0
        public JsonResult Check(string CurUser, int approveId, int status, string memo, decimal usedMoney = 0)
        {
            var Approve         = db.T_FreezeApprove.Find(approveId);
            var model           = db.T_Freeze.FirstOrDefault(s => s.ID == Approve.freezeID);
            int step            = model.Step;
            var configNextModel = db.T_FreezeConfig.FirstOrDefault(s => s.Step > step);

            Approve.ApproveTime = DateTime.Now;
            Approve.Memo        = memo;
            try
            {
                //同意
                if (status == 3)
                {
                    Approve.ApproveStatus = 3;
                    //是否存在下一级
                    if (configNextModel != null)
                    {
                        model.Step  = configNextModel.Step;
                        model.state = 1;
                        var approveModel = new T_FreezeApprove();
                        approveModel.ApproveName   = configNextModel.ApproveUser;
                        approveModel.ApproveStatus = -1;
                        approveModel.freezeID      = model.ID;
                        db.T_FreezeApprove.Add(approveModel);
                    }
                    else
                    {
                        if (usedMoney > model.freezeMoney)
                        {
                            return(Json(new { State = "Faile", Message = "使用金额不能大于冻结金额" }, JsonRequestBehavior.AllowGet));
                        }
                        model.state        = 2;
                        model.usedMoney    = usedMoney;
                        model.surplusMoney = model.freezeMoney - model.usedMoney;
                    }
                }
                //不同意
                else
                {
                    Approve.ApproveStatus = 4;
                    model.state           = 4;
                    model.Step            = db.T_FreezeConfig.OrderBy(s => s.Step).First().Step;
                }
                var i = db.SaveChanges();


                if (i > 0)
                {
                    string         RetreatAppRoveSql   = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_FreezeApprove where  freezeID in ( select ID from T_Freeze where isDelete=0 ) and  ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName ";
                    List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                    string         Nickname            = CurUser;
                    for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                    {
                        string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                        T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资金冻结未审核" && a.PendingAuditName == PendingAuditName);
                        if (NotauditedModel != null)
                        {
                            NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                            db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                        }
                        else
                        {
                            T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                            ModularNotauditedModel.ModularName      = "资金冻结未审核";
                            ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                            ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                            ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                            db.T_ModularNotaudited.Add(ModularNotauditedModel);
                        }
                        db.SaveChanges();
                    }

                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { State = "Faile", Message = "操作失败" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 5
0
        public JsonResult Check(int id, int status, string memo, string checkMan, string CurUser)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                T_LossReportApprove modelApprove = db.T_LossReportApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null);
                T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == CurUser);
                //真名
                string curName = MOD_User.Name;
                T_LossReportApproveConfig financeMod = db.T_LossReportApproveConfig.SingleOrDefault(a => a.Type == "财务主管");//审核财务主管一步
                string financeAdmin = financeMod.Name;
                string result       = "";
                if (modelApprove == null)
                {
                    return(Json("数据可能被删除", JsonRequestBehavior.AllowGet));
                }
                modelApprove.Memo        = memo;
                modelApprove.ApproveTime = DateTime.Now;
                modelApprove.Status      = status;
                db.Entry <T_LossReportApprove>(modelApprove).State = System.Data.EntityState.Modified;
                int i = db.SaveChanges();
                if (i > 0)
                {
                    T_LossReport        model      = db.T_LossReport.Find(id);
                    T_LossReportApprove newApprove = new T_LossReportApprove();
                    if (model == null)
                    {
                        return(Json("数据可能被删除", JsonRequestBehavior.AllowGet));
                    }
                    if (status == 1)
                    {
                        //同意
                        int step = int.Parse(model.Step.ToString());
                        step++;
                        IQueryable <T_LossReportApproveConfig> config = db.T_LossReportApproveConfig.AsQueryable();
                        int stepLength = config.Count();//总共步骤
                        if (step < stepLength)
                        {
                            //不是最后一步,主表状态为0 =>审核中
                            model.Status = 0;
                            T_LossReportApproveConfig stepMod = db.T_LossReportApproveConfig.SingleOrDefault(a => a.Step == step);
                            string nextName = stepMod.Name;
                            //下一步审核人不是null  审核记录插入一条新纪录
                            newApprove.Memo   = "";
                            newApprove.Oid    = id;
                            newApprove.Status = -1;
                            if (nextName != null)
                            {
                                newApprove.ApproveName = nextName;
                            }
                            if (curName == financeAdmin && model.Step > 0) //如果是以财务主管来审核
                            {
                                newApprove.ApproveName = checkMan;
                            }
                            db.T_LossReportApprove.Add(newApprove);
                            db.SaveChanges();
                        }
                        else
                        {
                            //最后一步,主表状态改为 1 => 同意
                            model.Status = status;
                        }
                        model.Step = step;
                        db.Entry <T_LossReport>(model).State = System.Data.EntityState.Modified;
                        int j = db.SaveChanges();
                        if (j > 0)
                        {
                            result = "保存成功";
                        }
                        else
                        {
                            result = "保存失败";
                        }
                    }
                    else
                    {
                        //不同意
                        model.Step   = 0;
                        model.Status = 2;
                        db.Entry <T_LossReport>(model).State = System.Data.EntityState.Modified;
                        db.SaveChanges();
                        //审核流程结束 申请人编辑后插入下一条记录
                        result = "保存成功";
                    }
                }
                else
                {
                    result = "保存失败";
                }
                string         RetreatAppRoveSql   = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_LossReportApprove where  Oid in ( select ID from T_LossReport where Status!=3 and IsDelete=0 ) and  Status=-1 and ApproveTime is null GROUP BY ApproveName ";
                List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                string         Nickname            = CurUser;
                for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                {
                    string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "报损" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "报损";
                        ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }


                sc.Complete();
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 6
0
        public JsonResult Check(int id, int approveId, int status, string memo, string companyOut, string paymentBank, string paymentNumber, string CurUser)
        {
            T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == CurUser);
            //真名
            string name    = MOD_User.Name;
            var    Approve = db.T_FundApprove.Find(approveId);
            var    fund    = db.T_FundAllot.FirstOrDefault(s => s.ID == Approve.ItemId);
            int    step    = fund.Step;

            var configNextModel = db.T_FundConfig.FirstOrDefault(s => s.Step > step);


            Approve.ApproveTime = DateTime.Now;
            Approve.Memo        = memo;
            try
            {
                //同意
                if (status == 1)
                {
                    Approve.Status = 1;
                    //是否存在下一级
                    if (configNextModel != null)
                    {
                        fund.Step   = configNextModel.Step;
                        fund.Status = 0;
                        var approveModel = new T_FundApprove();
                        approveModel.ApproveName = configNextModel.ApproveUser;
                        approveModel.Status      = -1;
                        approveModel.ItemId      = fund.ID;
                        db.T_FundApprove.Add(approveModel);
                    }
                    else
                    {
                        fund.Status         = 1;
                        fund.CompanyOut     = companyOut;
                        fund.ThePaymentBank = paymentBank;
                        fund.PaymentNumber  = paymentNumber;
                        var time = DateTime.Now;
                        //调入记录
                        T_FundRecord modelIn = new T_FundRecord
                        {
                            Type     = "资金调入",
                            Number   = fund.FundAllotCode,
                            ShopName = fund.CompanyIn,
                            Account  = fund.AccountNumber,
                            Cost     = Convert.ToDecimal(fund.theMoney),
                            Time     = time
                        };
                        db.T_FundRecord.Add(modelIn);
                        //调出记录
                        T_FundRecord modelOut = new T_FundRecord
                        {
                            Type     = "资金调出",
                            Number   = fund.FundAllotCode,
                            ShopName = fund.CompanyOut,
                            Account  = fund.PaymentNumber,
                            Cost     = Convert.ToDecimal("-" + fund.theMoney),
                            Time     = time
                        };
                        db.T_FundRecord.Add(modelOut);
                    }
                }
                //不同意
                else
                {
                    Approve.Status = 2;
                    fund.Status    = 2;
                    fund.Step      = db.T_FundConfig.OrderBy(s => s.Step).First().Step;
                }


                var i = db.SaveChanges();


                string         RetreatAppRoveSql   = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_FundApprove where  ItemId in ( select id from T_FundAllot where IsDelete=0) and  Status=-1 and ApproveTime is null GROUP BY ApproveName ";
                List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                string         Nickname            = CurUser;
                for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                {
                    string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资金调拨未审核" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "资金调拨未审核";
                        ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }

                if (i > 0)
                {
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { State = "Faile", Message = "操作失败" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 7
0
        public JsonResult Check(string UserName, int approveID, int status, string memo)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    int TotalStep            = db.T_ReissueConfig.ToList().Count;
                    T_ReissueApprove approve = db.T_ReissueApprove.Find(approveID);
                    string           name    = approve.ApproveName;
                    T_Reissue        model   = db.T_Reissue.Find(approve.Pid);
                    approve.ApproveName   = UserName;
                    approve.ApproveStatus = status;
                    approve.ApproveTime   = DateTime.Now;
                    approve.Memo          = memo;
                    model.Status          = status;
                    db.SaveChanges();
                    if (status == 2)//不同意
                    {
                        model.Step = model.Step + 1;
                        db.SaveChanges();
                    }
                    else//同意
                    {
                        int type     = db.T_ReissueReson.SingleOrDefault(s => s.Reson.Equals(model.ReissueReson)).Type;
                        int LastStep = db.T_ReissueConfig.OrderByDescending(s => s.Step).FirstOrDefault(s => s.Reson == type).Step;
                        if (LastStep > model.Step)//判断是否存在下一级
                        {
                            //获得下一级审核部门
                            string           nextapproveType = db.T_ReissueConfig.OrderBy(s => s.Step).FirstOrDefault(s => s.Reson == type && s.Step > model.Step).ApproveType;
                            T_ReissueApprove newApprove      = new T_ReissueApprove();
                            newApprove.ApproveStatus = -1;
                            newApprove.ApproveName   = nextapproveType;
                            newApprove.ApproveTime   = null;
                            newApprove.Pid           = approve.Pid;
                            db.T_ReissueApprove.Add(newApprove);
                            db.SaveChanges();
                            model.Status = 0;
                            model.Step   = model.Step + 1;
                            db.SaveChanges();
                        }
                        if (name.Equals("售后主管") || name.Equals("呼吸机主管"))//售后主管审核后直接加入补发货
                        {
                            //T_OrderList order = db.T_OrderList.Find(model.OrderId);

                            //List<T_Reissue> reissue = db.T_Reissue.Where(s => s.OrderCode.Equals(model.OrderCode) && s.IsDelete == 0).ToList();
                            ////判断是否为第一次补发
                            //if (reissue.Count() == 1)
                            //{
                            //    order.ReissueStatus = 2;
                            //}
                            //List<T_ReissueDetail> reiDetails = db.T_ReissueDetail.Where(s => s.ReissueId == model.ID).ToList();
                            //foreach (var item in reiDetails)
                            //{
                            //    T_OrderDetail Orderdetail = db.T_OrderDetail.FirstOrDefault(s => s.oid.Equals(order.code) && s.item_code.Equals(item.ProductCode));
                            //    if (Orderdetail != null)
                            //    {
                            //        Orderdetail.ReissueStatus = 1;
                            //        Orderdetail.ReissueQty += item.Num;
                            //    }
                            //}
                            db.SaveChanges();
                            #region 加入快递赔付

                            if (model.ReissueReson.Equals("快递破损"))
                            {
                                GY     gy  = new GY();
                                string cmd = "";

                                cmd = "{" +
                                      "\"appkey\":\"171736\"," +
                                      "\"method\":\"gy.erp.trade.get\"," +
                                      "\"page_no\":1," +
                                      "\"page_size\":10," +
                                      "\"platform_code\":\"" + model.OrderCode + "\"," +
                                      "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" +
                                      "}";

                                string sign = gy.Sign(cmd);
                                cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}");
                                string   ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd);
                                JsonData jsonData = null;
                                jsonData = JsonMapper.ToObject(ret);

                                if (jsonData.Count == 6 || jsonData["orders"].Count == 0)
                                {
                                    cmd = "{" +
                                          "\"appkey\":\"171736\"," +
                                          "\"method\":\"gy.erp.trade.history.get\"," +
                                          "\"page_no\":1," +
                                          "\"page_size\":10," +
                                          "\"platform_code\":\"" + model.OrderCode + "\"," +
                                          "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" +
                                          "}";
                                    sign     = gy.Sign(cmd);
                                    cmd      = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}");
                                    ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd);
                                    jsonData = null;
                                    jsonData = JsonMapper.ToObject(ret);
                                    if (jsonData.Count == 6 || jsonData["orders"].Count == 0)
                                    {
                                        return(Json(new { State = "Faile", Message = "订单号不存在" }));
                                    }
                                }
                                JsonData jsonOrders = jsonData["orders"][0];
                                var      deliver    = jsonOrders["deliverys"][0];
                                //快递单号
                                string mail_no = isNULL(deliver["mail_no"]).ToString();
                                //订单金额
                                string amount = isNULL(jsonOrders["amount"]).ToString();
                                //快递名称
                                string             express_name = isNULL(jsonOrders["express_name"]).ToString();
                                T_ExpressIndemnity Inde         = new T_ExpressIndemnity
                                {
                                    PostUserName       = model.PostUser,
                                    Date               = DateTime.Now,
                                    OrderNum           = model.OrderCode,
                                    wangwang           = model.VipCode,
                                    ShopName           = model.StoreName,
                                    RetreatExpressNum  = mail_no,
                                    State              = "0",
                                    OrderMoney         = Convert.ToDouble(amount),
                                    Type               = "破损",
                                    Second             = "0",
                                    CurrentApproveName = "快递组",
                                    IsDelete           = 0,
                                    ExpressName        = express_name,
                                    IndemnityMoney     = 0
                                };
                                db.T_ExpressIndemnity.Add(Inde);
                                db.SaveChanges();
                                List <T_ReissuePic> picList = db.T_ReissuePic.Where(s => s.ReissueId == model.ID).ToList();
                                foreach (var item in picList)
                                {
                                    T_ExpressIndemnityPic expressPic = new T_ExpressIndemnityPic
                                    {
                                        EID    = Inde.ID,
                                        PicURL = item.Url
                                    };
                                    db.T_ExpressIndemnityPic.Add(expressPic);
                                }
                                db.SaveChanges();
                            }
                            else if (model.ReissueReson.Equals("丢件"))
                            {
                                GY     gy  = new GY();
                                string cmd = "";

                                cmd = "{" +
                                      "\"appkey\":\"171736\"," +
                                      "\"method\":\"gy.erp.trade.get\"," +
                                      "\"page_no\":1," +
                                      "\"page_size\":10," +
                                      "\"platform_code\":\"" + model.OrderCode + "\"," +
                                      "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" +
                                      "}";

                                string sign = gy.Sign(cmd);
                                cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}");
                                string   ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd);
                                JsonData jsonData = null;
                                jsonData = JsonMapper.ToObject(ret);

                                if (jsonData.Count == 6 || jsonData["orders"].Count == 0)
                                {
                                    cmd = "{" +
                                          "\"appkey\":\"171736\"," +
                                          "\"method\":\"gy.erp.trade.history.get\"," +
                                          "\"page_no\":1," +
                                          "\"page_size\":10," +
                                          "\"platform_code\":\"" + model.OrderCode + "\"," +
                                          "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" +
                                          "}";
                                    sign     = gy.Sign(cmd);
                                    cmd      = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}");
                                    ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd);
                                    jsonData = null;
                                    jsonData = JsonMapper.ToObject(ret);
                                    if (jsonData.Count == 6 || jsonData["orders"].Count == 0)
                                    {
                                        return(Json(new { State = "Faile", Message = "订单号不存在" }));
                                    }
                                }
                                JsonData jsonOrders = jsonData["orders"][0];
                                var      deliver    = jsonOrders["deliverys"][0];
                                //快递单号
                                string mail_no = isNULL(deliver["mail_no"]).ToString();
                                //订单金额
                                string amount = isNULL(jsonOrders["amount"]).ToString();
                                //快递名称
                                string             express_name = isNULL(jsonOrders["express_name"]).ToString();
                                T_ExpressIndemnity Inde         = new T_ExpressIndemnity
                                {
                                    PostUserName       = model.PostUser,
                                    Date               = DateTime.Now,
                                    OrderNum           = model.OrderCode,
                                    wangwang           = model.VipCode,
                                    ShopName           = model.StoreName,
                                    RetreatExpressNum  = mail_no,
                                    State              = "0",
                                    OrderMoney         = Convert.ToDouble(amount),
                                    Type               = "丢件",
                                    Second             = "0",
                                    CurrentApproveName = "快递组",
                                    IsDelete           = 0,
                                    ExpressName        = express_name,
                                    IndemnityMoney     = 0
                                };
                                db.T_ExpressIndemnity.Add(Inde);
                                db.SaveChanges();
                            }

                            #endregion

                            if (PostGy(model) != "True")
                            {
                                return(Json(new { State = "Faile", Message = "上传管易错误,请联系管理员" }, JsonRequestBehavior.AllowGet));
                            }
                        }
                    }

                    db.SaveChanges();
                    List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "补发货未审核").ToList();
                    if (ModularNotaudited.Count > 0)
                    {
                        foreach (var item in ModularNotaudited)
                        {
                            db.T_ModularNotaudited.Remove(item);
                        }
                        db.SaveChanges();
                    }
                    string         RetreatAppRoveSql   = "select isnull(ApproveUser,ApproveName) as PendingAuditName,COUNT(*) as NotauditedNumber from T_ReissueApprove where  Pid in ( select ID from T_Reissue where IsDelete=0 ) and  ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName,ApproveUser  ";
                    List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                    string         Nickname            = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                    {
                        string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                        T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "补发货未审核" && a.PendingAuditName == PendingAuditName);
                        if (NotauditedModel != null)
                        {
                            NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                            db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                        }
                        else
                        {
                            T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                            ModularNotauditedModel.ModularName      = "补发货未审核";
                            ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                            ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                            ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                            db.T_ModularNotaudited.Add(ModularNotauditedModel);
                        }
                        db.SaveChanges();
                    }
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Exemplo n.º 8
0
        //审核
        public JsonResult Check(int id, int status, string memo, string method, int cashier, string backfrom, string CurUser)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                //当前用户
                string curUser = CurUser;
                //审核主记录
                T_CashBack MOD_Cash = db.T_CashBack.Find(id);
                if (MOD_Cash == null)
                {
                    return(Json("找不到该记录", JsonRequestBehavior.AllowGet));
                }
                int _Method = int.Parse(MOD_Cash.Method.ToString());       //当前审核方法
                int _Step   = int.Parse(MOD_Cash.Step.ToString());         //当前审核步骤
                T_CashBackApprove cur_Approve = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null);
                if (cur_Approve == null)
                {
                    return(Json("该记录已审核", JsonRequestBehavior.AllowGet));
                }
                if (cur_Approve.ApproveName != curUser)
                {
                    return(Json("当前不是你审核,或者你的帐号在别处登录了", JsonRequestBehavior.AllowGet));
                }
                List <T_CashbackMethod> MOD_Method = db.T_CashbackMethod.Where(a => a.Method == _Method).ToList();
                int methodLength = MOD_Method.Count();  //该方法总步骤数
                //修改审核记录
                T_CashBackApprove MOD_Approve = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null);
                MOD_Approve.Status      = status;
                MOD_Approve.Note        = memo;
                MOD_Approve.ApproveTime = DateTime.Now;
                db.Entry <T_CashBackApprove>(MOD_Approve).State = System.Data.EntityState.Modified;
                db.SaveChanges();
                //同意
                if (status == 1)
                {
                    //不是最后一步
                    if (_Step < methodLength - 1)
                    {
                        _Step++;                                                                                                            //步骤加1
                        T_CashbackMethod MOD_Nextapprove = db.T_CashbackMethod.FirstOrDefault(a => a.Method == _Method && a.Step == _Step); //当前流程的步骤
                        //审核同意而且,插入新的审核记录
                        T_CashBackApprove CashApprove = new T_CashBackApprove();
                        CashApprove.Oid         = id;
                        CashApprove.Note        = "";
                        CashApprove.Status      = -1;
                        CashApprove.ApproveName = MOD_Nextapprove.Name;
                        db.T_CashBackApprove.Add(CashApprove);
                        db.SaveChanges();
                        //主表状态为0 =>审核中
                        MOD_Cash.Status = 0;
                    }
                    else
                    {
                        //最后一步 修改主表的状态
                        MOD_Cash.Status = status;
                    }
                    //判断是否是出纳,出纳返现资金
                    if (cashier == 1)
                    {
                        //主表支出帐号
                        MOD_Cash.BackFrom = backfrom;
                        //修改订单
                        //查询是否还有该订单返现数据
                        //修改订单字段
                        //T_OrderList MOD_Order = db.T_OrderList.Find(MOD_Cash.OrderId);
                        //if (MOD_Order.Status_CashBack != 2)
                        //{
                        //    MOD_Order.Status_CashBack = 2;
                        //    db.Entry<T_OrderList>(MOD_Order).State = System.Data.EntityState.Modified;
                        //    int o = db.SaveChanges();
                        //    if (o == 0)
                        //    {
                        //        return Json("审核失败", JsonRequestBehavior.AllowGet);
                        //    }
                        //}
                    }
                }
                if (status == 2)
                {
                    //不同意
                    MOD_Cash.Status = status;
                    _Step           = 0;
                    //审核流程结束 申请人编辑后插入下一条记录
                    //驳回 发短信
                    T_User user = db.T_User.FirstOrDefault(a => a.Nickname == MOD_Cash.PostUser);
                    if (user != null)
                    {
                        if (!string.IsNullOrEmpty(user.Tel))
                        {
                            string[] msg = new string[] { "返现", "不同意" };
                            string   res = Lib.SendSMS.Send(msg, user.Tel);
                        }
                    }
                }

                MOD_Cash.Step = _Step;
                db.Entry <T_CashBack>(MOD_Cash).State = System.Data.EntityState.Modified;   //修改主表
                int    i      = db.SaveChanges();
                string result = "审核失败";
                if (i > 0)
                {
                    result = "审核成功";
                }
                List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "返现").ToList();
                if (ModularNotaudited.Count > 0)
                {
                    foreach (var item in ModularNotaudited)
                    {
                        db.T_ModularNotaudited.Remove(item);
                    }
                    db.SaveChanges();
                }
                string         RetreatAppRoveSql   = "  select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_CashBackApprove where  Oid in ( select ID from T_CashBack where For_Delete=0 and Status!=3 ) and  Status=-1 and ApproveTime is null GROUP BY ApproveName  ";
                List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                string         Nickname            = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                {
                    string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "返现" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "返现";
                        ModularNotauditedModel.RejectNumber     = 0;
                        ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }

                //增加驳回数据
                string         RejectNumberSql   = "select PostUser as PendingAuditName,COUNT(*) as NotauditedNumber from T_CashBack where Status='2' GROUP BY PostUser";
                List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList();

                for (int e = 0; e < RejectNumberQuery.Count; e++)
                {
                    //   string Name = RejectNumberQuery[e].PendingAuditName;
                    string PendingAuditName = RejectNumberQuery[e].PendingAuditName;


                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "返现" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "返现";
                        ModularNotauditedModel.NotauditedNumber = 0;
                        ModularNotauditedModel.RejectNumber     = RejectNumberQuery[e].NotauditedNumber;
                        // string Name = RejectNumberQuery[e].PendingAuditName;
                        ModularNotauditedModel.PendingAuditName = PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                        ModularNotauditedModel.ToupdateName     = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }


                sc.Complete();
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 9
0
        public JsonResult Check(T_AssetsApprove model, string CurUser)//资产审核保存
        {
            T_AssetsApprove       editApprove = db.T_AssetsApprove.Find(model.ID);
            T_AssetsTransferApply editApply   = db.T_AssetsTransferApply.Find(model.ApplyID);
            T_Assets editAssets = db.T_Assets.Find(editApply.Code);
            int      i          = 0;

            if (editApprove != null)//修改审核记录
            {
                editApprove.State       = model.State;
                editApprove.Memo        = model.Memo;
                editApprove.ApproveDate = DateTime.Now;
                db.Entry <T_AssetsApprove>(editApprove).State = System.Data.EntityState.Modified;
            }
            if (editApply != null)
            {
                if (model.State == 1)//同意
                {
                    #region 转移流程
                    #region 第一步和第二步审核
                    if (editApply.TransferType == "转移")                                                   //转移
                    {
                        if (editApply.Step == 1)                                                          //第一步,当前责任人同意转出后
                        {
                            string approvename = db.T_AssetsConfig.FirstOrDefault(a => a.Step == 2).Name; //添加第二步审核人(资产管理员)
                            editApply.Step  = 2;
                            editApply.State = 0;                                                          //审核中
                            editApply.CurrentApproveName = approvename;
                            db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;

                            T_AssetsApprove newApprove = new T_AssetsApprove();
                            newApprove.ApplyID     = editApprove.ApplyID;
                            newApprove.ApproveName = approvename;
                            newApprove.Code        = editApprove.Code;
                            newApprove.State       = 0;
                            newApprove.Step        = "2";
                            db.T_AssetsApprove.Add(newApprove);
                        }
                        else if (editApply.Step == 2)                       //第二步,资产管理员同意转移发生
                        {
                            string approvename = editApply.LastApproveName; //添加第三步审核人(转移后责任人)
                            editApply.Step  = 3;
                            editApply.State = 0;                            //审核中
                            editApply.CurrentApproveName = approvename;
                            db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;
                            if (editApply.LastApproveName.Contains(","))
                            {
                                string[] approveArr = approvename.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                                foreach (var approve in approveArr)
                                {
                                    T_AssetsApprove newApprove = new T_AssetsApprove();
                                    newApprove.ApplyID     = editApprove.ApplyID;
                                    newApprove.ApproveName = approve;
                                    newApprove.Code        = editApprove.Code;
                                    newApprove.State       = 0;
                                    newApprove.Step        = "3";
                                    db.T_AssetsApprove.Add(newApprove);
                                }
                            }
                            else
                            {
                                T_AssetsApprove newApprove = new T_AssetsApprove();
                                newApprove.ApplyID     = editApprove.ApplyID;
                                newApprove.ApproveName = approvename;
                                newApprove.Code        = editApprove.Code;
                                newApprove.State       = 0;
                                newApprove.Step        = "3";
                                db.T_AssetsApprove.Add(newApprove);
                            }
                        }
                        #endregion
                        #region 第三步审核
                        else if (editApply.Step == 3)                                                                                                                  //第三步,接收责任人同意即确认接收到该资产,流程结束,
                        {
                            List <T_AssetsApprove> ReceivedList = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 1).ToList(); //接收过的数据
                            List <T_AssetsApprove> ApproveList  = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 0).ToList(); //待接收的数据
                            List <T_AssetsApprove> ApproveALl   = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3").ToList();
                            if (ApproveALl.Count > 1)                                                                                                                  //这条数据的接收人有多个
                            {
                                if (ApproveList.Count > 1)                                                                                                             //还有多个人要审核
                                {
                                    editApply.CurrentApproveName = editApply.CurrentApproveName.Replace(editApprove.ApproveName, "");
                                    if (ReceivedList.Count == 0)//没有人接收过
                                    {
                                        //修改资产的使用人等信息
                                        editAssets.Department  = editApply.TransferDepartment;
                                        editAssets.Owner       = editAssets.Owner.Replace(editApply.PostUserName, editApprove.ApproveName);
                                        editAssets.Place       = editApply.TransferPlace;
                                        editAssets.Responsible = editAssets.Responsible.Replace(editApply.PostUserName, editApprove.ApproveName);
                                        db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                                        T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录
                                        TransferRecord.Code                = editApply.Code;
                                        TransferRecord.Department          = editApply.Department;
                                        TransferRecord.Memo                = editApply.Memo;
                                        TransferRecord.Name                = editApply.Name;
                                        TransferRecord.Owner               = editApply.Owner;
                                        TransferRecord.Place               = editApply.Place;
                                        TransferRecord.Responsible         = editApply.Responsible;
                                        TransferRecord.TransferDate        = DateTime.Now;
                                        TransferRecord.TransferDepartment  = editApply.TransferDepartment;
                                        TransferRecord.TransferOwner       = editApply.Owner.Replace(editApply.PostUserName, editApprove.ApproveName);
                                        TransferRecord.TransferPlace       = editApply.TransferPlace;
                                        TransferRecord.TransferResponsible = editApply.Responsible.Replace(editApply.PostUserName, editApprove.ApproveName);
                                        TransferRecord.PostUserName        = editApply.PostUserName;
                                        TransferRecord.Receiver            = editApprove.ApproveName;//第一个人接收时 则接收人是这个人
                                        TransferRecord.ApplyID             = editApply.ID;
                                        TransferRecord.TransferType        = editApply.TransferType;
                                        db.T_AssetsTransferRecord.Add(TransferRecord);
                                    }
                                    else
                                    {
                                        //修改资产的使用人等信息
                                        editAssets.Department  = editApply.TransferDepartment;
                                        editAssets.Owner       = editAssets.Owner + "," + editApprove.ApproveName;
                                        editAssets.Place       = editApply.TransferPlace;
                                        editAssets.Responsible = editAssets.Responsible + "," + editApprove.ApproveName;
                                        db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                                        T_AssetsTransferRecord EditRecord = db.T_AssetsTransferRecord.FirstOrDefault(a => a.ApplyID == editApply.ID);
                                        EditRecord.Receiver            = EditRecord.Receiver + "," + editApprove.ApproveName;//第二个开始来接收的人开始则加上这个人的名字
                                        EditRecord.TransferOwner       = EditRecord.TransferOwner + "," + editApprove.ApproveName;
                                        EditRecord.TransferResponsible = EditRecord.TransferResponsible + "," + editApprove.ApproveName;
                                        db.Entry <T_AssetsTransferRecord>(EditRecord).State = System.Data.EntityState.Modified;
                                    }
                                }
                                else//最后一个接收人审核
                                {
                                    editApply.Step  = 9;
                                    editApply.State = 1;//已同意
                                    editApply.CurrentApproveName = "流程结束";
                                    db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;

                                    //修改资产的使用人等信息
                                    editAssets.Department  = editApply.TransferDepartment;
                                    editAssets.Owner       = editAssets.Owner + "," + editApprove.ApproveName;
                                    editAssets.Place       = editApply.TransferPlace;
                                    editAssets.Responsible = editAssets.Responsible + "," + editApprove.ApproveName;
                                    db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                                    T_AssetsTransferRecord EditRecord = db.T_AssetsTransferRecord.FirstOrDefault(a => a.ApplyID == editApply.ID);
                                    EditRecord.Receiver            = EditRecord.Receiver + "," + editApprove.ApproveName;//最后来接收的人则加上这个人的名字
                                    EditRecord.TransferOwner       = EditRecord.TransferOwner + "," + editApprove.ApproveName;
                                    EditRecord.TransferResponsible = EditRecord.TransferResponsible + "," + editApprove.ApproveName;
                                    db.Entry <T_AssetsTransferRecord>(EditRecord).State = System.Data.EntityState.Modified;
                                }
                            }
                            else//这条数据只有一个人接收
                            {
                                editApply.Step  = 9;
                                editApply.State = 1;//已同意
                                editApply.CurrentApproveName = "流程结束";
                                db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;

                                //修改资产的使用人等信息
                                editAssets.Department  = editApply.TransferDepartment;
                                editAssets.Owner       = editAssets.Owner.Replace(editApply.PostUserName, editApply.LastApproveName);
                                editAssets.Place       = editApply.TransferPlace;
                                editAssets.Responsible = editApply.TransferResponsible;
                                db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                                T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录
                                TransferRecord.Code                = editApply.Code;
                                TransferRecord.Department          = editApply.Department;
                                TransferRecord.Memo                = editApply.Memo;
                                TransferRecord.Name                = editApply.Name;
                                TransferRecord.Owner               = editApply.Owner;
                                TransferRecord.Place               = editApply.Place;
                                TransferRecord.Responsible         = editApply.Responsible;
                                TransferRecord.TransferDate        = DateTime.Now;
                                TransferRecord.TransferDepartment  = editApply.TransferDepartment;
                                TransferRecord.TransferOwner       = editApply.TransferOwner;
                                TransferRecord.TransferPlace       = editApply.TransferPlace;
                                TransferRecord.TransferResponsible = editApply.TransferResponsible;
                                TransferRecord.PostUserName        = editApply.PostUserName;
                                TransferRecord.Receiver            = editApply.LastApproveName;
                                TransferRecord.ApplyID             = editApply.ID;
                                TransferRecord.TransferType        = editApply.TransferType;
                                db.T_AssetsTransferRecord.Add(TransferRecord);
                            }
                            IQueryable <T_AssetsTransferApply> TransferApplyList = db.T_AssetsTransferApply.Where(a => (a.State == -1 || a.State == 0) && a.Code == editApply.Code && a.ID != editApply.ID);
                            if (TransferApplyList.Count() > 0)
                            {
                                foreach (T_AssetsTransferApply item in TransferApplyList)//一个资产同时发生多条变更记录的时候,同意了其中一个的转移,就将其他未审核完成的记录的接收人和接收责任人等修改
                                {
                                    item.TransferOwner       = item.TransferOwner.Replace(editApply.PostUserName, editApply.LastApproveName);
                                    item.TransferResponsible = item.TransferResponsible.Replace(editApply.PostUserName, editApply.LastApproveName);
                                    item.Owner       = item.Owner.Replace(editApply.PostUserName, editApply.LastApproveName);
                                    item.Responsible = item.Responsible.Replace(editApply.PostUserName, editApply.LastApproveName);
                                }
                            }
                        }
                        #endregion
                    }
                    #endregion
                    #region  交
                    else if (editApply.TransferType == "上交")
                    {
                        if (editApply.Step == 1)//第一步,资产管理员确认资产已上交,流程结束,添加一条资产变更记录
                        {
                            editApply.Step  = 9;
                            editApply.State = 1;//已同意
                            editApply.CurrentApproveName = "流程结束";
                            db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;

                            //修改资产的使用人等信息
                            editAssets.Department  = editApply.TransferDepartment;;
                            editAssets.Owner       = editApply.TransferOwner;
                            editAssets.Place       = editApply.TransferPlace;
                            editAssets.Responsible = editApply.TransferResponsible;//资产管理员负责待分配的资产
                            db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                            T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录
                            TransferRecord.Code                = editApply.Code;
                            TransferRecord.Department          = editApply.Department;
                            TransferRecord.Memo                = editApply.Memo;
                            TransferRecord.Name                = editApply.Name;
                            TransferRecord.Owner               = editApply.Owner;
                            TransferRecord.Place               = editApply.Place;
                            TransferRecord.Responsible         = editApply.Responsible;
                            TransferRecord.TransferDate        = DateTime.Now;
                            TransferRecord.TransferDepartment  = editApply.TransferDepartment;
                            TransferRecord.TransferOwner       = editApply.TransferOwner;
                            TransferRecord.TransferPlace       = editApply.TransferPlace;
                            TransferRecord.TransferResponsible = editApply.TransferResponsible;
                            TransferRecord.PostUserName        = editApply.PostUserName;
                            TransferRecord.Receiver            = "";
                            TransferRecord.ApplyID             = editApply.ID;
                            TransferRecord.TransferType        = editApply.TransferType;
                            db.T_AssetsTransferRecord.Add(TransferRecord);

                            IQueryable <T_AssetsTransferApply> TransferApplyList = db.T_AssetsTransferApply.Where(a => (a.State == -1 || a.State == 0) && a.Code == editApply.Code);
                            if (TransferApplyList.Count() > 0)
                            {
                                foreach (T_AssetsTransferApply item in TransferApplyList)
                                {
                                    int Oindex = item.TransferOwner.IndexOf(editApply.PostUserName);
                                    if (Oindex == 0)//如果名字在第一个,则删去名字及名字后面的逗号,否则删去名字及名字前面的一个逗号
                                    {
                                        item.TransferOwner = item.TransferOwner.Replace(editApply.PostUserName + ",", "");
                                    }
                                    else
                                    {
                                        item.TransferOwner = item.TransferOwner.Replace("," + editApply.PostUserName, "");
                                    }
                                    int Rindex = item.TransferResponsible.IndexOf(editApply.PostUserName);
                                    if (Rindex == 0)
                                    {
                                        item.TransferResponsible = item.TransferResponsible.Replace(editApply.PostUserName + ",", "");
                                    }
                                    else
                                    {
                                        item.TransferResponsible = item.TransferResponsible.Replace("," + editApply.PostUserName, "");
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                    #region 领用
                    else if (editApply.TransferType == "领用")
                    {
                        if (editApply.Step == 1)//第一步,资产管理员确认资产已上交,流程结束,添加一条资产变更记录
                        {
                            editApply.Step  = 9;
                            editApply.State = 1;//已同意
                            editApply.CurrentApproveName = "流程结束";
                            db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;


                            editAssets.Department  = editApply.TransferDepartment;;
                            editAssets.Owner       = editApply.TransferOwner;
                            editAssets.Place       = editApply.TransferPlace;
                            editAssets.Responsible = editApply.TransferResponsible;//资产管理员负责待分配的资产
                            db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                            T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录
                            TransferRecord.Code                = editApply.Code;
                            TransferRecord.Department          = editApply.Department;
                            TransferRecord.Memo                = editApply.Memo;
                            TransferRecord.Name                = editApply.Name;
                            TransferRecord.Owner               = editApply.Owner;
                            TransferRecord.Place               = editApply.Place;
                            TransferRecord.Responsible         = editApply.Responsible;
                            TransferRecord.TransferDate        = DateTime.Now;
                            TransferRecord.TransferDepartment  = editApply.TransferDepartment;
                            TransferRecord.TransferOwner       = editApply.TransferOwner;
                            TransferRecord.TransferPlace       = editApply.TransferPlace;
                            TransferRecord.TransferResponsible = editApply.TransferResponsible;
                            TransferRecord.PostUserName        = editApply.PostUserName;
                            TransferRecord.Receiver            = TransferRecord.TransferOwner;
                            TransferRecord.ApplyID             = editApply.ID;
                            TransferRecord.TransferType        = editApply.TransferType;
                            db.T_AssetsTransferRecord.Add(TransferRecord);
                        }
                    }
                    #endregion
                    #region 报废
                    else if (editApply.TransferType == "报废")
                    {
                        if (editApply.Step == 1)//第一步,资产管理员确认资产报废,流程结束,添加一条资产变更记录
                        {
                            editApply.Step  = 9;
                            editApply.State = 1;//已同意
                            editApply.CurrentApproveName = "流程结束";
                            db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;


                            editAssets.Department  = "无";
                            editAssets.Owner       = "报废";
                            editAssets.Place       = "无";
                            editAssets.Responsible = "无";
                            editAssets.isScrap     = "1";
                            db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified;

                            T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录
                            TransferRecord.Code                = editApply.Code;
                            TransferRecord.Department          = editApply.Department;
                            TransferRecord.Memo                = editApply.Memo;
                            TransferRecord.Name                = editApply.Name;
                            TransferRecord.Owner               = editApply.Owner;
                            TransferRecord.Place               = editApply.Place;
                            TransferRecord.Responsible         = editApply.Responsible;
                            TransferRecord.TransferDate        = DateTime.Now;
                            TransferRecord.TransferDepartment  = editApply.TransferDepartment;
                            TransferRecord.TransferOwner       = editApply.TransferOwner;
                            TransferRecord.TransferPlace       = editApply.TransferPlace;
                            TransferRecord.TransferResponsible = editApply.TransferResponsible;
                            TransferRecord.PostUserName        = editApply.PostUserName;
                            TransferRecord.Receiver            = "";
                            TransferRecord.ApplyID             = editApply.ID;
                            TransferRecord.TransferType        = editApply.TransferType;
                            db.T_AssetsTransferRecord.Add(TransferRecord);
                        }
                    }
                    #endregion
                }

                else//不同意
                {
                    #region 转移
                    if (editApply.TransferType == "转移" && editApply.Step == 3)                                                                                     //转移的第三步有可能有多个人接收就会有多个人审核
                    {
                        List <T_AssetsApprove> ReceivedList = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 1).ToList(); //接收过的数据
                        List <T_AssetsApprove> ApproveList  = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 0).ToList(); //待接收的数据
                        List <T_AssetsApprove> ApproveALl   = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3").ToList();
                        if (ApproveALl.Count > 1)                                                                                                                  //这条数据的接收人有多个
                        {
                            if (ApproveList.Count > 1)                                                                                                             //还有多个人要审核
                            {
                                editApply.CurrentApproveName = editApply.CurrentApproveName.Replace(editApprove.ApproveName, "");
                                db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;
                            }
                            else//最后一个接收人审核
                            {
                                editApply.Step = 9;
                                if (ReceivedList.Count > 0)
                                {
                                    editApply.State = 1;//有人接收表示已同意
                                }
                                else
                                {
                                    editApply.State = 2;//没有任何一个人接收则为不同意
                                }
                                editApply.CurrentApproveName = "流程结束";
                                db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;
                            }
                        }
                        else//一人接收
                        {
                            editApply.Step  = 9;
                            editApply.State = 2;//不同意
                            editApply.CurrentApproveName = "流程结束";
                            db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;
                        }
                    }
                    #endregion
                    #region 其他
                    else
                    {
                        editApply.Step  = 9;
                        editApply.State = 2;//不同意
                        editApply.CurrentApproveName = "流程结束";
                        db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified;
                    }
                    #endregion
                }
            }
            i = db.SaveChanges();
            try
            {
                List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "资产变更").ToList();
                if (ModularNotaudited.Count > 0)
                {
                    foreach (var item in ModularNotaudited)
                    {
                        db.T_ModularNotaudited.Remove(item);
                    }
                    db.SaveChanges();
                }
                string         RetreatAppRoveSql   = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_AssetsApprove where  ApplyID in ( select ID from T_AssetsTransferApply where isDelete=0 ) and  State=0 and ApproveDate is null GROUP BY ApproveName  ";
                List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                string         Nickname            = CurUser;
                for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                {
                    string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资产变更" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "资产变更";
                        ModularNotauditedModel.RejectNumber     = 0;
                        ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }

                //增加驳回数据
                string         RejectNumberSql   = " select PostUserName as PendingAuditName,COUNT(*) as  NotauditedNumber  from T_AssetsTransferApply where State='2'  GROUP BY PostUserName ";
                List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList();

                for (int e = 0; e < RejectNumberQuery.Count; e++)
                {
                    string PendingAuditName = RejectNumberQuery[e].PendingAuditName;

                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资产变更" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "资产变更";
                        ModularNotauditedModel.NotauditedNumber = 0;
                        ModularNotauditedModel.RejectNumber     = RejectNumberQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RejectNumberQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                        ModularNotauditedModel.ToupdateName     = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }
            }
            catch (DbUpdateException e)
            {
            }
            return(Json(i));
        }
Exemplo n.º 10
0
        public JsonResult Check(string UserName, int approveID, int status, string memo)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    int TotalStep = db.T_ExchangeCenterConfig.ToList().Count;
                    T_ExchangeCenterApprove approve = db.T_ExchangeCenterApprove.Find(approveID);
                    string           name           = approve.ApproveName;
                    T_ExchangeCenter model          = db.T_ExchangeCenter.Find(approve.Pid);
                    approve.ApproveName   = UserName;
                    approve.ApproveStatus = status;
                    approve.ApproveTime   = DateTime.Now;
                    approve.Memo          = memo;
                    db.SaveChanges();
                    if (status == 2)//不同意
                    {
                        model.Status = status;
                        model.Step   = model.Step + 1;
                        db.SaveChanges();
                    }
                    else//同意
                    {
                        int type     = db.T_ExchangeReson.SingleOrDefault(s => s.Reson.Equals(model.ExchangeReson)).Type;
                        int LastStep = db.T_ExchangeCenterConfig.OrderByDescending(s => s.Step).FirstOrDefault(s => s.Reson == type).Step;
                        if (LastStep > model.Step)//判断是否存在下一级
                        {
                            //获得下一级审核部门
                            string nextapproveType             = db.T_ExchangeCenterConfig.OrderBy(s => s.Step).FirstOrDefault(s => s.Reson == type && s.Step > model.Step).ApproveType;
                            T_ExchangeCenterApprove newApprove = new T_ExchangeCenterApprove();
                            newApprove.ApproveStatus = -1;
                            newApprove.ApproveName   = nextapproveType;
                            newApprove.ApproveTime   = null;
                            newApprove.Pid           = approve.Pid;
                            db.T_ExchangeCenterApprove.Add(newApprove);
                            db.SaveChanges();
                            model.Status = 0;
                            model.Step   = model.Step + 1;
                            db.SaveChanges();
                        }
                        if (name.Equals("售后主管") || name.Equals("呼吸机主管"))//售后主管审核后直接加入补发货
                        {
                            //T_OrderList order = db.T_OrderList.Find(model.OrderId);
                            List <T_ExchangeDetail> exchangedetail = db.T_ExchangeDetail.Where(s => s.ExchangeCenterId == model.ID).ToList();

                            #region 加入快递赔付

                            if (model.ExchangeReson.Equals("快递破损"))
                            {
                                GY     gy  = new GY();
                                string cmd = "";

                                cmd = "{" +
                                      "\"appkey\":\"171736\"," +
                                      "\"method\":\"gy.erp.trade.get\"," +
                                      "\"page_no\":1," +
                                      "\"page_size\":10," +
                                      "\"platform_code\":\"" + model.OrderCode + "\"," +
                                      "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" +
                                      "}";

                                string sign = gy.Sign(cmd);
                                cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}");
                                string   ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd);
                                JsonData jsonData = null;
                                jsonData = JsonMapper.ToObject(ret);

                                if (jsonData.Count == 6 || jsonData["orders"].Count == 0)
                                {
                                    cmd = "{" +
                                          "\"appkey\":\"171736\"," +
                                          "\"method\":\"gy.erp.trade.history.get\"," +
                                          "\"page_no\":1," +
                                          "\"page_size\":10," +
                                          "\"platform_code\":\"" + model.OrderCode + "\"," +
                                          "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" +
                                          "}";
                                    sign     = gy.Sign(cmd);
                                    cmd      = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}");
                                    ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd);
                                    jsonData = null;
                                    jsonData = JsonMapper.ToObject(ret);
                                    if (jsonData.Count == 6 || jsonData["orders"].Count == 0)
                                    {
                                        return(Json(new { State = "Faile", Message = "订单号不存在" }));
                                    }
                                }
                                JsonData jsonOrders = jsonData["orders"][0];
                                var      deliver    = jsonOrders["deliverys"][0];
                                //快递单号
                                string mail_no = isNULL(deliver["mail_no"]).ToString();
                                //订单金额
                                string amount = isNULL(jsonOrders["amount"]).ToString();
                                //快递名称
                                string             express_name = isNULL(jsonOrders["express_name"]).ToString();
                                T_ExpressIndemnity Inde         = new T_ExpressIndemnity
                                {
                                    PostUserName       = model.PostUser,
                                    Date               = DateTime.Now,
                                    OrderNum           = model.OrderCode,
                                    wangwang           = model.VipCode,
                                    ShopName           = model.StoreName,
                                    RetreatExpressNum  = mail_no,
                                    State              = "0",
                                    OrderMoney         = Convert.ToDouble(amount),
                                    Type               = "破损",
                                    Second             = "0",
                                    CurrentApproveName = "快递组",
                                    IsDelete           = 0,
                                    ExpressName        = express_name,
                                    IndemnityMoney     = 0
                                };
                                db.T_ExpressIndemnity.Add(Inde);
                                db.SaveChanges();
                                List <T_ExchangePic> picList = db.T_ExchangePic.Where(s => s.ExchangeId == model.ID).ToList();
                                foreach (var item in picList)
                                {
                                    T_ExpressIndemnityPic expressPic = new T_ExpressIndemnityPic
                                    {
                                        EID    = Inde.ID,
                                        PicURL = item.Url
                                    };
                                    db.T_ExpressIndemnityPic.Add(expressPic);
                                }
                                db.SaveChanges();
                            }

                            #endregion

                            //#region 新增订单数据

                            //string newOrderCode = "";
                            //string newCode = "";
                            //string usedOrderCode = model.OrderCode;
                            //string userCode = order.code;
                            //List<T_OrderList> HEmodel = db.T_OrderList.Where(a => a.platform_code.Contains(usedOrderCode)).ToList();
                            //List<T_OrderList> orderList = db.T_OrderList.Where(a => a.code.Contains(userCode)).ToList();
                            //if (HEmodel.Count > 1)
                            //{
                            //    string HEmodelCount = HEmodel.Count.ToString();
                            //    newOrderCode = usedOrderCode + HEmodelCount;
                            //}
                            //else
                            //    newOrderCode = usedOrderCode + "1";
                            //if (orderList.Count > 1)
                            //{
                            //    string listCount = orderList.Count.ToString();
                            //    newCode = userCode + listCount;
                            //}
                            //else
                            //    newCode = userCode + "1";
                            //model.NewOrderCode = newOrderCode;
                            //db.SaveChanges();
                            //T_OrderList newOrder = new T_OrderList
                            //{
                            //    code = newCode,
                            //    order_type_name = "换货订单",
                            //    platform_code = newOrderCode,
                            //    createtime = DateTime.Now,
                            //    dealtime = model.SingleTime.ToString(),
                            //    cod = order.cod,
                            //    approve = order.approve,
                            //    delivery_state = order.delivery_state,
                            //    warehouse_code = model.ReturnWarhouse,
                            //    warehouse_name = db.T_Warehouses.SingleOrDefault(s => s.code.Equals(model.ReturnWarhouse)).name,
                            //    shop_code = model.StoreCode,
                            //    shop_name = model.StoreName,
                            //    express_code = model.ReturnExpressName,
                            //    express_name = db.T_Express.SingleOrDefault(s => s.Code.Equals(model.ReturnExpressName)).Name,
                            //    buyer_memo = model.BuyRemark,
                            //    seller_memo = model.SalesRemark,
                            //    vip_code = model.VipCode,
                            //    vip_name = model.VipName,
                            //    receiver_name = model.ReceivingName,
                            //    receiver_mobile = model.ReceivingTelPhone,
                            //    receiver_phone = model.ReceivingPhone,
                            //    receiver_zip = model.NeedPostalCode,
                            //    receiver_area = model.AddressMessage,
                            //    receiver_address = model.ReceivingAddress,
                            //    payCode = order.payCode,
                            //    vipIdCard = order.vipIdCard,
                            //    vipRealName = order.vipRealName,
                            //    vipEmail = order.vipEmail,
                            //    amount = 0,
                            //    payment_amount = 0,
                            //    post_fee = 0,
                            //    discount_fee = 0,
                            //    payment = 0,
                            //    qty = "1",
                            //    weight_origin = "0",
                            //    post_cost = 0,
                            //    mail_no = model.ReturnExpressCode,
                            //    platform_flag = "0",
                            //    IsGeneralize = 0,
                            //    Status_CashBack = 0,
                            //    Status_Retreat = 0,
                            //    Status_ExpressIndemnity = 0,
                            //    ExchangeStatus = 0,
                            //    ReissueStatus = 0
                            //};
                            //db.T_OrderList.Add(newOrder);
                            //db.SaveChanges();
                            //foreach (var item in exchangedetail)
                            //{
                            //    T_OrderDetail Orderdetail = db.T_OrderDetail.FirstOrDefault(s => s.oid.Equals(order.code) && s.item_code.Equals(item.SendProductCode));
                            //    if (Orderdetail != null)//修改原订单详情换货状态与换货数量
                            //    {
                            //        Orderdetail.ExchangeStatus = 1;
                            //        Orderdetail.ExchangeQty += item.SendProductNum;
                            //        db.SaveChanges();
                            //    }
                            //    T_OrderDetail t = new T_OrderDetail
                            //    {
                            //        oid = newCode,
                            //        refund = 0,
                            //        item_code = item.NeedProductCode,
                            //        item_name = item.NeedProductName,
                            //        item_simple_name = "",
                            //        sku_code = "",
                            //        sku_name = "",
                            //        qty = 0,
                            //        price = 0,
                            //        amount = 0,
                            //        discount_fee = 0,
                            //        amount_after = 0,
                            //        post_fee = 0,
                            //        platform_item_name = "",
                            //        platform_sku_name = "",
                            //        note = "",
                            //        ExchangeStatus = 0,
                            //        ExchangeQty = 0,
                            //        ReissueStatus = 0,
                            //        ReissueQty = 0,
                            //        RetreatQty = 0,
                            //        RetreatStatus = 0
                            //    };
                            //    db.T_OrderDetail.Add(t);
                            //    db.SaveChanges();
                            //}

                            //#endregion

                            #region 加入补发货

                            string    remark = "";
                            T_Reissue re     = db.T_Reissue.FirstOrDefault(s => s.OrderCode.Equals(model.OrderCode) && s.IsDelete == 0);
                            if (re != null)
                            {
                                var date      = Convert.ToDateTime(DateTime.Now).ToString("yyyyMMdd");
                                var modeldate = Convert.ToDateTime(re.CreatDate).ToString("yyyyMMdd");

                                if (re != null && int.Parse(date) - int.Parse(modeldate) <= 3)
                                {
                                    remark = model.SystemRemark + "3天内补发货重复";
                                }
                            }
                            //更改订单主表补发货状态
                            //else
                            //{
                            //    order.ReissueStatus = 1;
                            //    db.SaveChanges();
                            //}
                            T_Reissue reissue = new T_Reissue
                            {
                                OrderCode      = model.OrderCode,
                                NewOrderCode   = "8" + DateTime.Now.ToString("yyyyMMddHHmmss"),
                                VipName        = model.VipName,
                                StoreName      = model.StoreName,
                                WarhouseName   = model.NeedWarhouse,
                                ExpressName    = model.NeedExpress,
                                OrderType      = "Return",
                                SingleTime     = model.SingleTime,
                                ReceivingName  = model.ReceivingName,
                                PostalCode     = model.NeedPostalCode,
                                Phone          = model.ReceivingPhone,
                                TelPhone       = model.ReceivingTelPhone,
                                VipCode        = model.VipCode,
                                Address        = model.ReceivingAddress,
                                AddressMessage = model.AddressMessage,
                                SalesRemark    = model.SalesRemark,
                                BuyRemark      = model.BuyRemark,
                                StoreCode      = model.StoreCode,
                                Step           = 0,
                                Status         = -2,
                                BusinessName   = Com.GetReissueName(model.StoreCode, model.ExchangeReson),
                                PostUser       = model.PostUser,
                                DraftName      = Com.GetReissueName(model.StoreCode, model.ExchangeReson),
                                CreatDate      = DateTime.Now,
                                IsDelete       = 0,
                                ReissueReson   = model.ExchangeReson,
                                SystemRemark   = remark
                            };
                            db.T_Reissue.Add(reissue);
                            db.SaveChanges();
                            IQueryable <T_ExchangeDetail> detail = db.T_ExchangeDetail.Where(s => s.ExchangeCenterId == model.ID);
                            foreach (var item in detail)
                            {
                                T_ReissueDetail items = new T_ReissueDetail
                                {
                                    ProductCode = item.NeedProductCode,
                                    ProductName = item.NeedProductName,
                                    Num         = item.NeedProductNum,
                                    ReissueId   = reissue.ID
                                };
                                db.T_ReissueDetail.Add(items);
                            }
                            db.SaveChanges();

                            #endregion

                            #region 判断仓库是否收货

                            T_ReturnToStorage storge = db.T_ReturnToStorage.SingleOrDefault(s => s.Retreat_expressNumber.Equals(model.ReturnExpressCode));
                            if (storge != null)
                            {
                                //List<T_ExchangeCenter> exchange = db.T_ExchangeCenter.Where(s => s.OrderCode.Equals(model.OrderCode) && s.IsDelete == 0).ToList();

                                model.WarhouseStatus = 1;
                                model.Status         = 1;
                                T_ExchangeCenterApprove approve1 = db.T_ExchangeCenterApprove.SingleOrDefault(s => s.ApproveName.Equals("仓库") && !s.ApproveTime.HasValue && s.Pid == model.ID);
                                approve1.ApproveName   = "仓库";
                                approve1.ApproveStatus = 1;
                                approve1.ApproveTime   = DateTime.Now;
                                //判断是否第一次换货,如果是则修改订单状态为已收货
                                //if (exchange.Count() == 1)
                                //{
                                //    order.ExchangeStatus = 2;
                                //}
                            }


                            #endregion
                        }
                    }
                    List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "换货未审核").ToList();
                    if (ModularNotaudited.Count > 0)
                    {
                        foreach (var item in ModularNotaudited)
                        {
                            db.T_ModularNotaudited.Remove(item);
                        }
                        db.SaveChanges();
                    }
                    string         RetreatAppRoveSql   = "  select isnull(ApproveUser,ApproveName) as PendingAuditName,COUNT(*) as NotauditedNumber from T_ExchangeCenterApprove where  Pid in ( select ID from T_ExchangeCenter where IsDelete=0 ) and  ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName,ApproveUser";
                    List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                    string         Nickname            = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                    {
                        string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                        T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "换货未审核" && a.PendingAuditName == PendingAuditName);
                        if (NotauditedModel != null)
                        {
                            NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                            db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                        }
                        else
                        {
                            T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                            ModularNotauditedModel.ModularName      = "换货未审核";
                            ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                            ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                            ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                            db.T_ModularNotaudited.Add(ModularNotauditedModel);
                        }
                        db.SaveChanges();
                    }
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Exemplo n.º 11
0
        public void ModularByZP()
        {
            List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "请假调休").ToList();

            if (ModularNotaudited.Count > 0)
            {
                foreach (var item in ModularNotaudited)
                {
                    db.T_ModularNotaudited.Remove(item);
                }
                db.SaveChanges();
            }
            string         RetreatAppRoveSql   = "select CurrentApprove as PendingAuditName,COUNT(*) as NotauditedNumber from T_CheckAttendace  where  (Status = -1 or Status = 0 ) and IsDelete='0' GROUP BY CurrentApprove ";
            List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
            string         Nickname            = Server.UrlDecode(Request.Cookies["Nickname"].Value);

            for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
            {
                string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "请假调休" && a.PendingAuditName == PendingAuditName);
                if (NotauditedModel != null)
                {
                    NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                    db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                    ModularNotauditedModel.ModularName      = "请假调休";
                    ModularNotauditedModel.RejectNumber     = 0;
                    ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                    ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                    ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                    ModularNotauditedModel.ToupdateName     = Nickname;
                    db.T_ModularNotaudited.Add(ModularNotauditedModel);
                }
                db.SaveChanges();
            }

            //增加驳回数据
            string         RejectNumberSql   = "select PostName as PendingAuditName,COUNT(*) as NotauditedNumber from T_CheckAttendace where Status='2' and IsDelete=0  GROUP BY PostName ";
            List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList();

            for (int e = 0; e < RejectNumberQuery.Count; e++)
            {
                string PendingAuditName = RejectNumberQuery[e].PendingAuditName;

                T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "请假调休" && a.PendingAuditName == PendingAuditName);
                if (NotauditedModel != null)
                {
                    NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber;
                    db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                    ModularNotauditedModel.ModularName      = "请假调休";
                    ModularNotauditedModel.NotauditedNumber = 0;
                    ModularNotauditedModel.RejectNumber     = RejectNumberQuery[e].NotauditedNumber;
                    ModularNotauditedModel.PendingAuditName = RejectNumberQuery[e].PendingAuditName;
                    ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                    ModularNotauditedModel.ToupdateName     = Nickname;
                    db.T_ModularNotaudited.Add(ModularNotauditedModel);
                }
                db.SaveChanges();
            }
        }