Beispiel #1
0
        public IHttpActionResult GetChkNO()
        {
            try
            {
                int             seq      = 0;
                twhcheckrecords t        = new twhcheckrecords();
                DateTime        dtToday  = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));            //今天
                DateTime        dtNexDay = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); //明天
                var             listCus  = from c in db.twhcheckrecords
                                           where c.ChkDate >= dtToday && c.ChkDate < dtNexDay
                                           orderby c.ChkDate descending
                                           select c;

                if (listCus.ToList <twhcheckrecords>().Count > 0)
                {
                    t   = listCus.ToList <twhcheckrecords>()[0];
                    seq = int.Parse(t.ChkNO.Substring(t.ChkNO.Length - 3, 3));
                }
                return(Ok(seq));
            }
            catch (Exception ex)
            {
                return(new PageResult("error", Request));
            }
        }
Beispiel #2
0
        public IHttpActionResult PosttwhcheckrecordsDtl()
        {
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;

            JavaScriptSerializer js = new JavaScriptSerializer();

            string chkNO    = request.Params["chkNO"];
            string warId    = request.Params["warId"];
            string chkDate  = request.Params["chkDate"];
            string remark   = request.Params["remark"];
            string updateId = request.Params["updateId"];
            List <twhcheckrecorddtl> listTwhDtl = js.Deserialize <List <twhcheckrecorddtl> >(request.Params["listTwhDtl"]);

            using (var tran = db.Database.BeginTransaction())
            {
                try
                {
                    twhcheckrecords t = new twhcheckrecords();
                    t.ChkNO      = chkNO;
                    t.WHID       = warId;
                    t.ChkDate    = DateTime.Parse(chkDate);
                    t.Remark     = remark;
                    t.ChkStatus  = "N";
                    t.AreaID     = "1";
                    t.PosiID     = "1";
                    t.UpdateID   = updateId;
                    t.UpdateDate = DateTime.Parse(chkDate);

                    for (int i = 0; i < listTwhDtl.Count; i++)
                    {
                        string ChkNO   = listTwhDtl[i].ChkNO;
                        string PdtID   = listTwhDtl[i].PdtID;
                        float  InvNum  = listTwhDtl[i].InvNum;
                        float  RealNum = listTwhDtl[i].RealNum;
                        float  DifNum  = listTwhDtl[i].DifNum;

                        twhcheckrecorddtl tw = new twhcheckrecorddtl();
                        listTwhDtl[i].ChkNO      = chkNO;
                        listTwhDtl[i].AdjStatus  = "N";
                        listTwhDtl[i].UpdateID   = updateId;
                        listTwhDtl[i].UpdateDate = DateTime.Parse(chkDate);
                        tw = listTwhDtl[i];
                        db.twhcheckrecorddtl.Add(tw);
                    }
                    db.twhcheckrecords.Add(t);

                    db.SaveChanges();
                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    return(new PageResult("error", Request));
                }
            }
            return(Content <string>(HttpStatusCode.OK, "OK"));
        }
Beispiel #3
0
        public IHttpActionResult Posttwhcheckrecords()
        {
            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request = context.Request;

            JavaScriptSerializer js = new JavaScriptSerializer();

            string chkNO    = request.Params["chkNO"];
            string warId    = request.Params["warId"];
            string chkDate  = request.Params["chkDate"];
            string remark   = request.Params["remark"];
            string updateId = request.Params["updateId"];
            List <twhcheckrecorddtl> listTwhDtl = js.Deserialize <List <twhcheckrecorddtl> >(request.Params["listTwhDtl"]);
            List <twhstockrecords>   listStock  = new List <twhstockrecords>();

            using (var tran = db.Database.BeginTransaction())
            {
                try
                {
                    if (twhcheckrecordsExists(chkNO))
                    {
                        db.twhcheckrecords.Where(c => c.ChkNO == chkNO)
                        .Update(c => new twhcheckrecords
                        {
                            ChkStatus  = "F",
                            UpdateID   = updateId,
                            Remark     = remark,
                            UpdateDate = DateTime.Now
                        });
                    }
                    else
                    {
                        twhcheckrecords t = new twhcheckrecords();
                        t.ChkNO      = chkNO;
                        t.WHID       = warId;
                        t.ChkDate    = DateTime.Parse(chkDate);
                        t.Remark     = remark;
                        t.ChkStatus  = "F";
                        t.AreaID     = "1";
                        t.PosiID     = "1";
                        t.UpdateID   = updateId;
                        t.UpdateDate = DateTime.Parse(chkDate);
                        db.twhcheckrecords.Add(t);
                    }

                    for (int i = 0; i < listTwhDtl.Count; i++)
                    {
                        string ChkNO   = listTwhDtl[i].ChkNO = chkNO;
                        string PdtID   = listTwhDtl[i].PdtID;
                        float  InvNum  = listTwhDtl[i].InvNum;
                        float  RealNum = listTwhDtl[i].RealNum;
                        float  DifNum  = listTwhDtl[i].DifNum;

                        twhstockrecords stockrecords = new twhstockrecords();
                        stockrecords.WHID      = warId;
                        stockrecords.AreaID    = "1";
                        stockrecords.PosiID    = "1";
                        stockrecords.PdtID     = listTwhDtl[i].PdtID;
                        stockrecords.RefWHID   = warId;
                        stockrecords.RefAreaID = "1";
                        stockrecords.RefPosiID = "1";
                        stockrecords.UpdateID  = updateId;
                        var date = DateTime.Now;
                        stockrecords.UpdateDate = date;
                        stockrecords.CreateDate = date;

                        //调整库存前先锁住行
                        //string sqlQuery = "select * from twhinventory where whid ='" + warId + "' and pdtid='" + PdtID + "' for update";
                        //var inventory = db.twhinventory.SqlQuery(sqlQuery).FirstOrDefault();
                        var   inventory = db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == PdtID).FirstOrDefault();
                        float invNum    = (float)inventory.InvNum;

                        if (listTwhDtl[i].DifNum == 0)
                        {
                            break;
                        }
                        if (listTwhDtl[i].DifNum > 0)
                        {
                            stockrecords.Num     = listTwhDtl[i].DifNum;
                            stockrecords.OpeType = "Y";
                            db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == PdtID)
                            .Update(inv => new twhinventory {
                                InvNum = RealNum
                            });
                        }
                        else
                        {
                            stockrecords.Num     = Math.Abs(listTwhDtl[i].DifNum);
                            stockrecords.OpeType = "K";
                            db.twhinventory.Where(inv => inv.WHID == warId && inv.PdtID == PdtID)
                            .Update(inv => new twhinventory {
                                InvNum = RealNum
                            });
                        }

                        if (twhcheckrecorddtlExists(ChkNO, PdtID))
                        {
                            db.twhcheckrecorddtl.Where(c => c.ChkNO == ChkNO && c.PdtID == PdtID)
                            .Update(c => new twhcheckrecorddtl
                            {
                                InvNum     = InvNum,
                                RealNum    = RealNum,
                                DifNum     = DifNum,
                                UpdateID   = updateId,
                                UpdateDate = DateTime.Now,
                                AdjStatus  = "F"
                            });
                        }
                        else
                        {
                            twhcheckrecorddtl tw = new twhcheckrecorddtl();
                            listTwhDtl[i].ChkNO     = chkNO;
                            listTwhDtl[i].AdjStatus = "F";
                            listTwhDtl[i].UpdateID  = updateId;
                            tw = listTwhDtl[i];
                            db.twhcheckrecorddtl.Add(tw);
                        }
                        listStock.Add(stockrecords);
                    }
                    db.twhstockrecords.AddRange(listStock);

                    db.SaveChanges();
                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    return(new PageResult("error", Request));
                }
            }
            return(Content <string>(HttpStatusCode.OK, "OK"));
        }