// POST: api/EntryorderQuery
        public EntryOrderQueryResponseModel Post([FromBody] EntryOrderQueryRequestModel model)
        {
            EntryOrderQueryResponseModel response = new EntryOrderQueryResponseModel();

            using (SCVDBContainer dbContext = new SCVDBContainer()) {
                DbSet <RECEIPT_HEADER> dbSet0 = dbContext.Set <RECEIPT_HEADER>();
                DbSet <RECEIPT_DETAIL> dbSet1 = dbContext.Set <RECEIPT_DETAIL>();

                RECEIPT_HEADER header = dbSet0.FirstOrDefault(h => h.RECEIPT_ID == model.EntryOrderCode && h.COMPANY == model.OwnerCode);
                if (header == null)
                {
                    response.Flag       = "failure";
                    response.Code       = "-1";
                    response.Message    = "无此入库单";
                    response.TotalLines = 0;
                    return(response);
                }

                EntryOrder entryOrder = new EntryOrder();
                entryOrder.EntryOrderCode = model.EntryOrderCode;
                entryOrder.OwnerCode      = header.COMPANY;
                entryOrder.WarehouseCode  = "LK01";
                entryOrder.EntryOrderId   = header.INTERNAL_RECEIPT_NUM.ToString();
                entryOrder.EntryOrderType = header.RECEIPT_TYPE;
                entryOrder.Status         = header.TRAILING_STS.ToString();

                List <OrderLine> orderLines = new List <OrderLine>();
                foreach (var item in header.RECEIPT_DETAIL)
                {
                    OrderLine orderLine = new OrderLine();
                    orderLine.OrderLineNo = item.INTERNAL_RECEIPT_LINE_NUM.ToString();
                    orderLine.ItemCode    = item.ITEM;
                    orderLine.ItemId      = item.INTERNAL_RECEIPT_NUM.ToString();
                    orderLine.ItemName    = item.ITEM_DESC;
                    orderLine.PlanQty     = Convert.ToInt32(item.TOTAL_QTY);
                    orderLine.ActualQty   = Convert.ToInt32(item.OPEN_QTY);
                    orderLines.Add(orderLine);
                }
                response.Flag       = "success";
                response.Code       = "1";
                response.Message    = "查询成功";
                response.TotalLines = header.RECEIPT_DETAIL.Count();
                response.EntryOrder = entryOrder;
                response.OrderLines = orderLines;
            }
            return(response);
        }
Example #2
0
        // POST: api/OrderCancel
        public OrderCancelResponseModel Post([FromBody] OrderCancelRequestModel model, string customerId)
        {
            if (customerId == "CH1")
            {
                customerId = "CH";
            }
            OrderCancelResponseModel response = new OrderCancelResponseModel();

            using (DBContainer context = new DBContainer())
            {
                QiMen_RequestLog log  = new QiMen_RequestLog();
                HttpContextBase  ctx  = (HttpContextBase)Request.Properties["MS_HttpContext"];
                string           body = ApiUtils.GetStreamAsString(ctx.Request.InputStream, new UTF8Encoding(false));
                string           ip   = ctx.Request.UserHostAddress;

                log.Interface   = "OrderCancel";
                log.Url         = Request.RequestUri.AbsoluteUri;
                log.Ip          = ip;
                log.CustomerId  = customerId;
                log.RequestBody = body;
                context.QiMen_RequestLog.Add(log);
                context.SaveChanges();
            }

            using (SCVDBContainer dbContext = new SCVDBContainer())
            {
                //DbSet<RECEIPT_HEADER> dbSet0 = dbContext.Set<RECEIPT_HEADER>();
                //DbSet<SHIPMENT_HEADER> dbSet1 = dbContext.Set<SHIPMENT_HEADER>();

                RECEIPT_HEADER  rHeader = dbContext.RECEIPT_HEADER.FirstOrDefault(r => r.RECEIPT_ID == model.OrderCode && r.COMPANY == customerId);
                SHIPMENT_HEADER sHeader = dbContext.SHIPMENT_HEADER.FirstOrDefault(r => r.SHIPMENT_ID == model.OrderCode && r.COMPANY == customerId);

                if (sHeader != null)
                {
                    if (sHeader.TRAILING_STS >= 750)
                    {
                        response.Flag    = "failure";
                        response.Code    = "-1";
                        response.Message = model.OrderCode + ":当前状态不允许取消";
                        return(response);
                    }

                    if (sHeader.PROCESS_TYPE.Equals("CANCEL", StringComparison.OrdinalIgnoreCase))
                    {
                        response.Flag    = "success";
                        response.Code    = "0";
                        response.Message = model.OrderCode + ":该订单已经取消";
                        return(response);
                    }
                    else
                    {
                        sHeader.PROCESS_TYPE       = "CANCEL";
                        sHeader.SHIPMENT_CATEGORY6 = "Cancel";
                    }
                }
                else if (rHeader != null)
                {
                    //response.Flag = "failure";
                    //response.Code = "-1";
                    //response.Message = model.OrderCode + ":入库单取消,请联系商务";
                    //return response;
                    if (rHeader.LEADING_STS == 100 && rHeader.TRAILING_STS == 100)
                    {
                        rHeader.LEADING_STS  = 900;
                        rHeader.TRAILING_STS = 900;
                        rHeader.USER_DEF8    = "Cancel";
                        //rHeader.CLOSE_DATE = DateTime.Now.AddHours(-4);
                    }
                    else
                    {
                        response.Flag    = "failure";
                        response.Code    = "-1";
                        response.Message = model.OrderCode + "已收货不允许取消";
                        return(response);
                    }
                }

                if (dbContext.SaveChanges() >= 0)
                {
                    response.Flag    = "success";
                    response.Code    = "0";
                    response.Message = model.OrderCode + ":取消成功";
                }
                else
                {
                    response.Flag    = "failure";
                    response.Code    = "-1";
                    response.Message = model.OrderCode + ":取消失败";
                }
            }

            return(response);
        }
Example #3
0
        // POST: api/ReturnorderCreate
        public ReturnorderCreateResponseModel Post([FromBody] ReturnorderCreateRequestModel model, [FromUri] string customerId)
        {
            if (customerId == "CH1")
            {
                customerId = "CH";
            }
            ReturnorderCreateResponseModel response = new ReturnorderCreateResponseModel();

            using (DBContainer context = new DBContainer())
            {
                QiMen_RequestLog log  = new QiMen_RequestLog();
                HttpContextBase  ctx  = (HttpContextBase)Request.Properties["MS_HttpContext"];
                string           body = ApiUtils.GetStreamAsString(ctx.Request.InputStream, new UTF8Encoding(false));
                string           ip   = ctx.Request.UserHostAddress;

                log.Interface   = "ReturnorderCreate";
                log.Url         = Request.RequestUri.AbsoluteUri;
                log.Ip          = ip;
                log.CustomerId  = customerId;
                log.RequestBody = body;
                context.QiMen_RequestLog.Add(log);
                context.SaveChanges();
            }

            using (SCVDBContainer dbContext = new SCVDBContainer())
            {
                //DbSet<RECEIPT_HEADER> dbSet0 = dbContext.Set<RECEIPT_HEADER>();
                //DbSet<RECEIPT_DETAIL> dbSet1 = dbContext.Set<RECEIPT_DETAIL>();
                DbSet <ITEM> dbSetItem = dbContext.Set <ITEM>();

                if (dbContext.RECEIPT_HEADER.Where(h => h.RECEIPT_ID == model.ReturnOrder.ReturnOrderCode && h.COMPANY == customerId).Any())
                {
                    response.Flag          = "success";
                    response.Code          = "0";
                    response.Message       = model.ReturnOrder.ReturnOrderCode + ":单号重复";
                    response.ReturnOrderId = "";
                    return(response);
                }

                RECEIPT_HEADER header = new RECEIPT_HEADER();
                header.COMPANY      = customerId;
                header.RECEIPT_ID   = model.ReturnOrder.ReturnOrderCode;
                header.WAREHOUSE    = "LK01";
                header.LEADING_STS  = 100;
                header.TRAILING_STS = 100;
                header.RECEIPT_TYPE = model.ReturnOrder.OrderType;
                header.CREATE_USER  = "******";

                if (!string.IsNullOrEmpty(model.ReturnOrder.ExpressCode))
                {
                    header.ERP_ORDER_ID = model.ReturnOrder.ExpressCode;
                }
                if (!string.IsNullOrEmpty(model.ReturnOrder.SenderInfo.DetailAddress))
                {
                    header.SHIP_FROM_ADDRESS1 = model.ReturnOrder.SenderInfo.DetailAddress;
                }
                if (!string.IsNullOrEmpty(model.ReturnOrder.SenderInfo.City))
                {
                    header.SHIP_FROM_CITY = model.ReturnOrder.SenderInfo.City;
                }
                if (!string.IsNullOrEmpty(model.ReturnOrder.SenderInfo.Province))
                {
                    header.SHIP_FROM_STATE = model.ReturnOrder.SenderInfo.Province;
                }
                if (!string.IsNullOrEmpty(model.ReturnOrder.SenderInfo.ZipCode))
                {
                    header.SHIP_FROM_POSTAL_CODE = model.ReturnOrder.SenderInfo.ZipCode;
                }
                if (!string.IsNullOrEmpty(model.ReturnOrder.SenderInfo.Name))
                {
                    header.SHIP_FROM              = model.ReturnOrder.SenderInfo.Name;
                    header.SHIP_FROM_NAME         = model.ReturnOrder.SenderInfo.Name;
                    header.SHIP_FROM_ATTENTION_TO = model.ReturnOrder.SenderInfo.Name;
                }

                if (!string.IsNullOrEmpty(model.ReturnOrder.SenderInfo.Mobile))
                {
                    header.SHIP_FROM_FAX_NUM = model.ReturnOrder.SenderInfo.Mobile;
                }
                header.USER_STAMP        = "Interface";
                header.SHIP_FROM_COUNTRY = "CN";

                //DateTime orderCreateTime;
                //if (DateTime.TryParse(model.ReturnOrder.OrderCreateTime, out orderCreateTime))
                //{
                header.CREATE_DATE = DateTime.Now;
                //}
                //int totalLines = Convert.ToInt32(model.EntryOrder.TotalOrderLines);

                int totalLines = model.OrderLines.Count();
                int totalQty   = 0;
                header.TOTAL_LINES = totalLines;

                foreach (var item in model.OrderLines)
                {
                    RECEIPT_DETAIL detail = new RECEIPT_DETAIL();
                    detail.RECEIPT_ID = model.ReturnOrder.ReturnOrderCode;
                    detail.WAREHOUSE  = "LK01";
                    detail.COMPANY    = item.OwnerCode;
                    detail.ITEM       = item.ItemCode;

                    ITEM sItem = dbSetItem.Where(t => t.ITEM1 == item.ItemCode).FirstOrDefault();
                    if (sItem != null)
                    {
                        detail.ITEM_DESC = sItem.ITEM_DESC;
                    }
                    detail.TOTAL_QTY   = item.PlanQty;
                    detail.OPEN_QTY    = item.PlanQty;
                    detail.QUANTITY_UM = "EA";
                    totalQty          += Convert.ToInt32(item.PlanQty);
                    header.RECEIPT_DETAIL.Add(detail);
                    //if (string.Equals("ZP", item.InventoryType, StringComparison.CurrentCultureIgnoreCase))
                    //{
                    //    detail.INVENTORY_STS = "合格";
                    //}
                    //else
                    //{
                    //    detail.INVENTORY_STS = "不合格";
                    //}

                    if (item.InventoryType == null)
                    {
                        detail.INVENTORY_STS = "合格";
                    }
                    else
                    {
                        if (string.Equals("ZP", item.InventoryType, StringComparison.CurrentCultureIgnoreCase))
                        {
                            detail.INVENTORY_STS = "合格";
                        }
                        else
                        {
                            detail.INVENTORY_STS = "不合格";
                        }
                    }
                }

                header.TOTAL_QTY = totalQty;
                dbContext.RECEIPT_HEADER.Add(header);

                if (dbContext.SaveChanges() > 0)
                {
                    response.Flag          = "success";
                    response.Code          = "1";
                    response.Message       = "入库单:" + model.ReturnOrder.ReturnOrderCode + ":创建成功";
                    response.ReturnOrderId = header.INTERNAL_RECEIPT_NUM.ToString();
                }
                else
                {
                    response.Flag          = "failure";
                    response.Code          = "-1";
                    response.Message       = "入库单:" + model.ReturnOrder.ReturnOrderCode + ":创建失败";
                    response.ReturnOrderId = "";
                }
            }
            return(response);
        }