// 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); }
// 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); }
// 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); }