| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Common; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Helper; |
| | | |
| | | using WIDESEA_IBasicService; |
| | | using WIDESEA_ISquareCabinServices; |
| | | using WIDESEA_Model.Models; |
| | | |
| | |
| | | { |
| | | public class CabinOrderServices : ServiceBase<Dt_CabinOrder, IRepository<Dt_CabinOrder>>, ICabinOrderServices |
| | | { |
| | | |
| | | static string SearchDate = ""; |
| | | |
| | | public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal) : base(BaseDal) |
| | | static string SearchDate = ""; |
| | | private readonly IBasicService _basicService; |
| | | |
| | | public CabinOrderServices(IRepository<Dt_CabinOrder> BaseDal, IBasicService basicService) : base(BaseDal) |
| | | { |
| | | _basicService = basicService; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | Supplier_no = order.supplier_no, |
| | | Account_tiem = order.account_time, |
| | | OdrderStatus = "æ°å»º", |
| | | Supplier_name=order.supplier_name, |
| | | Supplier_name = order.supplier_name, |
| | | Warehouse_no = order.warehouse_no, |
| | | Details = order.details.Select(d => new Dt_CabinOrderDetail |
| | | { |
| | | //OrderId è¦æ¿å°å
¥åºå表ä¸çidï¼å¦ä½æ¿ä¸å°å°±å°è¿ä¸ªå段æ¹äºï¼æ¹æå
¥åºåå· |
| | | // SqlSugar InsertNavå·¥ä½åçå
æå
¥ä¸»è¡¨ (Dt_CabinOrder)//è·åçæç主é®ID//èªå¨è®¾ç½®å表çå
³èåæ®µ (OrderId)//åæå
¥(Dt_CabinOrderDetail) |
| | | Goods_no = d.goods_no, |
| | | Order_qty = d.order_qty, |
| | | Batch_num = d.batch_num, |
| | | Exp_date = d.exp_date, |
| | | OrderDetailStatus="æ°å»º", |
| | | Status = order.warehouse_no== "001" ? 0 : 2, //妿æ¯001æ¿é£ä¹å°±æ¯æªåæ¥ç¶æï¼å¦æä¸æ¯001æ¿é£ä¹å°±æ¯æ éåæ¥ç¶æ |
| | | }).ToList() |
| | | Details = new List<Dt_CabinOrderDetail>() |
| | | //Details = order.details.Select(d => new Dt_CabinOrderDetail |
| | | //{ |
| | | // //OrderId è¦æ¿å°å
¥åºå表ä¸çidï¼å¦ä½æ¿ä¸å°å°±å°è¿ä¸ªå段æ¹äºï¼æ¹æå
¥åºåå· |
| | | // // SqlSugar InsertNavå·¥ä½åçå
æå
¥ä¸»è¡¨ (Dt_CabinOrder)//è·åçæç主é®ID//èªå¨è®¾ç½®å表çå
³èåæ®µ (OrderId)//åæå
¥(Dt_CabinOrderDetail) |
| | | // Goods_no = d.goods_no, |
| | | // Order_qty = d.order_qty, |
| | | // Batch_num = d.batch_num, |
| | | // Exp_date = d.exp_date, |
| | | // OrderDetailStatus = "æ°å»º", |
| | | // Status = order.warehouse_no == "001" ? 0 : 2, //妿æ¯001æ¿é£ä¹å°±æ¯æªåæ¥ç¶æï¼å¦æä¸æ¯001æ¿é£ä¹å°±æ¯æ éåæ¥ç¶æ |
| | | //}).ToList() |
| | | }; |
| | | foreach (var item in order.details) |
| | | { |
| | | #region æ ¹æ®ç©æç¼ç æ¥è¯¢ç©æä¿¡æ¯ |
| | | Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == item.goods_no); |
| | | ///æ ¹æ®ç©æä¿¡æ¯å¤§å°ä»¶å±æ§åºåæ¯å¦å
¥ç«åº |
| | | if (materielInfo.MaterielSourceType == MaterielSourceTypeEnum.PurchasePart) |
| | | { |
| | | Dt_CabinOrderDetail orderDetail = new Dt_CabinOrderDetail() |
| | | { |
| | | Reservoirarea= order.warehouse_no, |
| | | Goods_no = item.goods_no, |
| | | Order_qty = item.order_qty, |
| | | Batch_num = item.batch_num, |
| | | Exp_date = item.exp_date, |
| | | OrderDetailStatus = "æ°å»º", |
| | | Status = 2 |
| | | }; |
| | | entityOrder.Details.Add(orderDetail); |
| | | } |
| | | else |
| | | { |
| | | Dt_CabinOrderDetail orderDetail = null; |
| | | var ys = item.order_qty % materielInfo.BoxQty; |
| | | var xs = item.order_qty / materielInfo.BoxQty; |
| | | #region çæç«åºå
¥åºå |
| | | |
| | | #region 夿æ¯å¦ææ£ä»¶ |
| | | if (ys > 0) |
| | | { |
| | | orderDetail = new Dt_CabinOrderDetail() |
| | | { |
| | | Goods_no = item.goods_no, |
| | | Order_qty = ys, |
| | | Batch_num = item.batch_num, |
| | | Exp_date = item.exp_date, |
| | | OrderDetailStatus = "æ°å»º", |
| | | Status = 0 |
| | | }; |
| | | materielInfo.Business_qty += ys; |
| | | } |
| | | #endregion |
| | | |
| | | #region 夿ç«åºåºåæ¯å¦å¤§äºç«åºæä½åºåæ° |
| | | while (materielInfo.Business_qty < materielInfo.MinQty && xs > 0) |
| | | { |
| | | xs--; |
| | | if (orderDetail == null) |
| | | { |
| | | orderDetail = new Dt_CabinOrderDetail() |
| | | { |
| | | Goods_no = item.goods_no, |
| | | Order_qty = materielInfo.BoxQty, |
| | | Batch_num = item.batch_num, |
| | | Exp_date = item.exp_date, |
| | | OrderDetailStatus = "æ°å»º", |
| | | Status = 0 |
| | | }; |
| | | materielInfo.Business_qty += materielInfo.BoxQty; |
| | | } |
| | | else |
| | | { |
| | | orderDetail.Order_qty += materielInfo.BoxQty; |
| | | materielInfo.Business_qty += materielInfo.BoxQty; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | if (orderDetail != null) entityOrder.Details.Add(orderDetail); |
| | | #endregion |
| | | |
| | | #region å©ä½æ´ä»¶å
¥å¹³åº |
| | | if (xs > 0) |
| | | { |
| | | orderDetail = new Dt_CabinOrderDetail() |
| | | { |
| | | Goods_no = item.goods_no, |
| | | Order_qty = materielInfo.BoxQty * xs, |
| | | Batch_num = item.batch_num, |
| | | Exp_date = item.exp_date, |
| | | OrderDetailStatus = "æ°å»º", |
| | | Status = 2 |
| | | }; |
| | | entityOrder.Details.Add(orderDetail); |
| | | } |
| | | #endregion |
| | | } |
| | | _basicService.MaterielInfoService.Repository.UpdateData(materielInfo); |
| | | #endregion |
| | | } |
| | | _CabinOrders.Add(entityOrder); |
| | | orderNos.Add(order.order_no); |
| | | }; |
| | | BaseDal.Db.InsertNav(_CabinOrders).Include(x => x.Details).ExecuteCommand(); |
| | | |
| | | //å¨ä¸åç»wcs |
| | | //var reslut= EdiIn(); //åç»ä¸æ¸¸ |
| | | //妿è¿ä¸ªæ¹æ³æåäºï¼é£ä¹å°±è°ç¨CompleteOrderæ¥å£ï¼ç¶åæ¹å |
| | | //var reslut= EdiIn(); //åç»ä¸æ¸¸ |
| | | //妿è¿ä¸ªæ¹æ³æåäºï¼é£ä¹å°±è°ç¨CompleteOrderæ¥å£ï¼ç¶åæ¹å |
| | | Db.Ado.CommitTran(); |
| | | return responseContent.OK("忥å
¥åºåæå"); |
| | | } |
| | |
| | | Console.WriteLine("没æç¬¦åæ¡ä»¶ç订åéè¦æ¨é"); |
| | | return WebResponseContent.Instance.Error("没æç¬¦åæ¡ä»¶ç订åéè¦æ¨é"); |
| | | } |
| | | |
| | | |
| | | |
| | | // 4. éå订åï¼ç»è£
DTO å¹¶æ¨é |
| | | foreach (var order in orders) |
| | |
| | | if (resp != null && resp.code == "0") |
| | | { |
| | | // æ´æ°è¡¨å¤´ç¶æ |
| | | BaseDal.Db.Updateable<Dt_CabinOrder>() |
| | | .SetColumns(o => new Dt_CabinOrder { OdrderStatus = "å¼å§" }) |
| | | .Where(o => o.Id == order.Id) |
| | | .ExecuteCommand(); |
| | | BaseDal.Db.Updateable<Dt_CabinOrder>() |
| | | .SetColumns(o => new Dt_CabinOrder { OdrderStatus = "å¼å§" }) |
| | | .Where(o => o.Id == order.Id) |
| | | .ExecuteCommand(); |
| | | |
| | | // æ´æ°æç»ç¶æä¸ºå·²åæ¥ |
| | | BaseDal.Db.Updateable<Dt_CabinOrderDetail>() |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | |
| | | Console.WriteLine("EdiIn å¼å¸¸ï¼" + ex.Message); |
| | | return new WebResponseContent { Status = false, Message = ex.Message }; |
| | | } |
| | |
| | | Exp_date = d.Exp_date, |
| | | OrderDetailStatus = d.OrderDetailStatus, |
| | | Status = d.Status, |
| | | |
| | | |
| | | }).ToList(); |
| | | |
| | | BaseDal.Db.Insertable(detailsHistory).ExecuteCommand(); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |