// POST: api/DeliveryorderCreate public DeliveryorderCreateResponseModel Post([FromBody] DeliveryorderCreateRequestModel model, string customerId) { DeliveryorderCreateResponseModel response = new DeliveryorderCreateResponseModel(); if (customerId == "CH1") { customerId = "CH"; } 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 = "DeliveryorderCreate"; 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<SHIPMENT_HEADER> dbSet0 = dbContext.Set<SHIPMENT_HEADER>(); //DbSet<SHIPMENT_DETAIL> dbSet1 = dbContext.Set<SHIPMENT_DETAIL>(); DbSet <ITEM> dbSetItem = dbContext.Set <ITEM>(); if (dbContext.SHIPMENT_HEADER.Where(h => h.SHIPMENT_ID == model.DeliveryOrder.DeliveryOrderCode && h.COMPANY == customerId).Any()) { response.Flag = "success"; response.Code = "0"; response.Message = model.DeliveryOrder.DeliveryOrderCode + ":单号重复"; response.DeliveryOrderId = ""; return(response); } SHIPMENT_HEADER header = new SHIPMENT_HEADER(); header.WAREHOUSE = "LK01"; header.COMPANY = customerId; header.USER_DEF2 = model.DeliveryOrder.ShopNick; header.SHIPMENT_NOTE = model.DeliveryOrder.SellerMessage; header.SHIPMENT_TYPE = model.DeliveryOrder.OrderType; header.SHIPMENT_ID = model.DeliveryOrder.DeliveryOrderCode; DateTime time; if (DateTime.TryParse(model.DeliveryOrder.CreateTime, out time)) { header.CREATE_DATE_TIME = time; } header.LEADING_STS = 100; header.TRAILING_STS = 100; header.SHIP_TO_NAME = model.DeliveryOrder.ReceiverInfo.Name; header.SHIP_TO_MOBILE = model.DeliveryOrder.ReceiverInfo.Mobile; header.SHIP_TO_DISTRICT = model.DeliveryOrder.ReceiverInfo.Area; header.SHIP_TO_CITY = model.DeliveryOrder.ReceiverInfo.City; header.SHIP_TO_STATE = model.DeliveryOrder.ReceiverInfo.Province; //header.SHIPMENT_NOTE = model.DeliveryOrder.ReceiverInfo.Remark; header.SHIP_TO_ADDRESS1 = model.DeliveryOrder.ReceiverInfo.DetailAddress; header.PROCESS_TYPE = "NORMAL"; header.CARRIER = model.DeliveryOrder.LogisticsCode; header.CREATE_USER = "******"; header.TOTAL_LINES = model.OrderLines.Count(); int totalQty = 0; foreach (var item in model.OrderLines) { SHIPMENT_DETAIL detail = new SHIPMENT_DETAIL(); detail.WAREHOUSE = "LK01"; detail.COMPANY = item.OwnerCode; detail.SHIPMENT_ID = model.DeliveryOrder.DeliveryOrderCode; detail.ITEM = item.ItemCode; ITEM sItem = dbSetItem.Where(t => t.ITEM1 == item.ItemCode).FirstOrDefault(); if (sItem != null) { detail.ITEM_DESC = sItem.ITEM_DESC; } //detail.ITEM_DESC = item.ItemName; detail.REQUEST_QTY = Convert.ToInt32(item.PlanQty); detail.QUANTITY_UM = "EA"; detail.DATE_TIME_STAMP = time; if (item.InventoryType == null) { detail.INVENTORY_STS = "合格"; } else { if (string.Equals("ZP", item.InventoryType, StringComparison.CurrentCultureIgnoreCase)) { detail.INVENTORY_STS = "合格"; } else { detail.INVENTORY_STS = "不合格"; } } //detail.INVENTORY_STS = item.InventoryType; detail.STATUS = 100; totalQty += Convert.ToInt32(item.PlanQty); header.SHIPMENT_DETAIL.Add(detail); } header.TOTAL_QTY = totalQty; dbContext.SHIPMENT_HEADER.Add(header); if (dbContext.SaveChanges() > 0) { response.Flag = "success"; response.Code = "1"; response.Message = model.DeliveryOrder.DeliveryOrderCode + ":创建成功"; response.DeliveryOrderId = header.INTERNAL_SHIPMENT_NUM.ToString(); } else { response.Flag = "failure"; response.Code = "-1"; response.Message = model.DeliveryOrder.DeliveryOrderCode + ":创建失败"; response.DeliveryOrderId = ""; } } 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); }