Example #1
0
        public IHttpActionResult Puttiqclog(long id, tiqclog tiqclog)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tiqclog.id)
            {
                return(BadRequest());
            }

            db.Entry(tiqclog).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!tiqclogExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #2
0
        public IHttpActionResult Gettiqclog(long id)
        {
            tiqclog tiqclog = db.tiqclog.Find(id);

            if (tiqclog == null)
            {
                return(NotFound());
            }

            return(Ok(tiqclog));
        }
Example #3
0
        public IHttpActionResult Posttiqclog(tiqclog tiqclog)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.tiqclog.Add(tiqclog);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = tiqclog.id }, tiqclog));
        }
Example #4
0
        public IHttpActionResult Deletetiqclog(long id)
        {
            tiqclog tiqclog = db.tiqclog.Find(id);

            if (tiqclog == null)
            {
                return(NotFound());
            }

            db.tiqclog.Remove(tiqclog);
            db.SaveChanges();

            return(Ok(tiqclog));
        }
Example #5
0
        public IHttpActionResult SaveIQC(dynamic para)
        {
            //处理submaindata
            //dynamic[] submainAry = new List<dynamic>().ToArray();
            List <dynamic> submainList = new List <dynamic>();

            for (int i = 0; i < para.subform.Count; i++)
            {
                submainList.Add(JarrayToDynamic(para.subform[i]));
            }
            //处理mainformdata
            dynamic mainformdata = JarrayToDynamic(para.mainform);

            //var d = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(mainformdata);
            //tiqclog iqclogdata =(tiqclog)mainformdata;

            using (var context = new DBModel())
            {
                using (var dbContextTransaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        //insert mianformdata
                        var iqclog = new tiqclog
                        {
                            incomingno     = (string)mainformdata.txtIncomingNo,
                            inspectiontime = Convert.ToDateTime(mainformdata.txtInspectionTime),
                            supplycompany  = (string)mainformdata.ddlSupply,
                            materialtype   = (string)mainformdata.ddlMaterialType,
                            pinmin         = (string)mainformdata.txtPinmin,
                            thinkness      = Convert.ToInt32(mainformdata.txtThinkness),
                            width          = Convert.ToInt32(mainformdata.txtWidth),
                            length         = Convert.ToInt32(mainformdata.txtLength),
                            incomingqty    = Convert.ToInt32(mainformdata.txtDeliveryQty),
                            createuser     = para.userid.ToString(),
                            result         = Convert.ToInt16(para.result) == 1 ? true : false
                        };
                        context.tiqclogs.Add(iqclog);
                        context.SaveChanges();

                        long   detailtableid = iqclog.id;
                        long   tempid;
                        string templot;
                        tempid  = detailtableid;
                        templot = (string)mainformdata.txtIncomingNo;
                        //insert subformdata
                        foreach (var item in submainList)
                        {
                            //var iqcdetaillog = new tiqcdetaillog();
                            foreach (KeyValuePair <string, object> kvp in item)
                            {
                                string tempsublot;
                                int    tempno;
                                string result;
                                //tempsublot = kvp.Value.ToString();
                                tempno = Convert.ToInt32(Regex.Replace(kvp.Key.ToString(), @"[^\d.\d]", ""));
                                //var detailresult = db.tiqcdetailresultlogs.SingleOrDefault(e => e.id == tempid && e.lot == templot && e.no == tempno);
                                var a = kvp;
                                if (kvp.Key.ToString().Contains("Result"))
                                {
                                    //var resultresult = db.tiqcdetailresultlogs.SingleOrDefault(e => e.id == tempid && e.lot == templot && e.no == tempno);
                                    //if (detailresult != null)
                                    //{
                                    //    detailresult.result = kvp.Value.ToString();
                                    //}
                                    //else
                                    {
                                        var iqcdetailresultlog = new tiqcdetailresultlog
                                        {
                                            id     = tempid,
                                            lot    = templot,              //进料单号
                                            paraid = kvp.Key.ToString(),   //检验类型
                                            result = kvp.Value.ToString(), //检验结果
                                            no     = tempno                //第几个批次
                                        };
                                        context.tiqcdetailresultlogs.Add(iqcdetailresultlog);
                                    }
                                    //context.SaveChanges();
                                }
                                //保存抽检子批次号
                                else if (kvp.Key.ToString().Contains("txtLot"))
                                {
                                    ////===================批次已经记录============================
                                    //if (detailresult != null)
                                    //{
                                    //    detailresult.sublot = tempsublot;
                                    //}
                                    //else //===============批次还没记录============================
                                    //{
                                    //    var iqcdetailresultlog = new tiqcdetailresultlog
                                    //    {
                                    //        id = tempid,
                                    //        lot = templot,
                                    //        //paraid = kvp.Key.ToString(),
                                    //        sublot = kvp.Value.ToString(),
                                    //        no = tempno
                                    //    };
                                    //    context.tiqcdetailresultlogs.Add(iqcdetailresultlog);
                                    //}
                                    //context.SaveChanges();
                                }
                                //保存检验内容
                                else
                                {
                                    var iqcdetaillog = new tiqcdetaillog
                                    {
                                        id          = detailtableid,
                                        lot         = (string)mainformdata.txtIncomingNo,
                                        paratype    = kvp.Key.ToString(),
                                        paraid      = kvp.Value.ToString(),
                                        parasubtype = Regex.Replace(kvp.Key.ToString(), @"[^\d.\d]", ""),
                                    };
                                    context.tiqcdetaillogs.Add(iqcdetaillog);
                                }
                            }
                            context.SaveChanges();

                            // insert sublot into db
                            foreach (KeyValuePair <string, object> kvp in item)
                            {
                                //保存抽检子批次号
                                if (kvp.Key.ToString().Contains("txtLot"))
                                {
                                    int tempno = Convert.ToInt32(Regex.Replace(kvp.Key.ToString(), @"[^\d.\d]", ""));
                                    var res    = context.tiqcdetaillogs.Where(a => a.id == tempid && a.parasubtype == tempno.ToString() && a.lot == templot).ToList();
                                    res.ForEach(a => a.sublot = kvp.Value.ToString());

                                    var detailres = context.tiqcdetailresultlogs.Where(a => a.id == tempid && a.lot == templot && a.no == tempno).ToList();
                                    detailres.ForEach(a => a.sublot = kvp.Value.ToString());
                                }
                                context.SaveChanges();
                            }
                        }

                        dbContextTransaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();
                        return(Json(new { result = "fail", msg = "" }));
                    }
                }
            }
            //dynamic formdata = new ExpandoObject();
            //var dic = (IDictionary<string, object>)formdata;
            ////遍历json数组
            //foreach (var item in para)
            //{
            //   string name= item.name.ToString();
            //    //formdata.add()
            //    dic.Add(item.name.ToString(), item.value.ToString());
            //}


            //formdata.txtInspectionTime = "2018-9-23";
            //var res = para[0]["value"];

            //bool boolres= TestWithReflection(formdata, "txtInspectionTime");

            return(Json(new { result = "success", msg = "" }));
        }