| | |
| | | // var reslut = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | // var orders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "æ°å»º" && x.Warehouse_no == reslut).ToList(); |
| | | // if (orders.Count < 1) return WebResponseContent.Instance.OK(); |
| | | // string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn"; |
| | | // //string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn"; |
| | | // var cabinOrderDetails = _cabinDetailServices.Repository.QueryData(x => orders.Select(x => x.Id).ToList().Contains(x.OrderId)).ToList(); |
| | | // var materielInfos = _materielInfoService.Repository.QueryData(x => cabinOrderDetails.Select(x => x.Goods_no).Contains(x.MaterielCode)).ToList(); |
| | | // foreach (var order in orders) |
| | |
| | | #region ä¸åç«åºå
¥åºå |
| | | public WebResponseContent EdiIn() |
| | | { |
| | | try |
| | | // å建ç¬ç«ç SqlSugarClient |
| | | using (var db = new SqlSugarClient(new ConnectionConfig |
| | | { |
| | | var reslut = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | var orders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "æ°å»º" && x.Warehouse_no == reslut).ToList(); |
| | | if (orders.Count < 1) return WebResponseContent.Instance.OK(); |
| | | |
| | | string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn"; |
| | | var orderIds = orders.Select(x => x.Id).ToList(); |
| | | |
| | | var cabinOrderDetails = _cabinDetailServices.Repository.QueryData(x => orderIds.Contains(x.OrderId)).ToList(); |
| | | |
| | | var goodsCodes = cabinOrderDetails.Select(x => x.Goods_no).Distinct().ToList(); |
| | | var materielInfos = _materielInfoService.Repository.QueryData(x => goodsCodes.Contains(x.MaterielCode)).ToList(); |
| | | |
| | | foreach (var order in orders) |
| | | ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | DbType = DbType.SqlServer, |
| | | IsAutoCloseConnection = true, // å
³é®é
ç½®ï¼èªå¨å
³éè¿æ¥ |
| | | MoreSettings = new ConnMoreSettings() |
| | | { |
| | | order.Details = cabinOrderDetails.Where(x => x.OrderId == order.Id).ToList(); |
| | | IsAutoRemoveDataCache = true |
| | | } |
| | | })) |
| | | { |
| | | try |
| | | { |
| | | var reslut = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | |
| | | // å
³é®ä¿®æ¹ï¼ä¸è®¾ç½®å¯¼èªå±æ§ï¼é¿å
触åå»¶è¿å è½½ |
| | | // foreach (var item in order.Details) |
| | | // { |
| | | // item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First(); |
| | | // } |
| | | // ä½¿ç¨æ°ç db å®ä¾æ§è¡æææ¥è¯¢ |
| | | var orders = db.Queryable<Dt_CabinOrder>() |
| | | .Where(x => x.OdrderStatus == "æ°å»º" && x.Warehouse_no == reslut) |
| | | .ToList(); |
| | | |
| | | #region ä¸åWCS |
| | | // ç´æ¥ä» materielInfos æ¥è¯¢ï¼ä¸éè¿å¯¼èªå±æ§ |
| | | var firstDetail = order.Details.FirstOrDefault(); |
| | | var firstMedicine = firstDetail != null ? |
| | | materielInfos.FirstOrDefault(x => x.MaterielCode == firstDetail.Goods_no) : null; |
| | | if (orders.Count < 1) return WebResponseContent.Instance.OK(); |
| | | string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn"; |
| | | var orderIds = orders.Select(x => x.Id).ToList(); |
| | | |
| | | string materialCode = firstMedicine?.MaterielErpType ?? "YY"; |
| | | |
| | | var ediDto = new ToediInInfo |
| | | var cabinOrderDetails = db.Queryable<Dt_CabinOrderDetail>() |
| | | .Where(x => orderIds.Contains(x.OrderId)) |
| | | .ToList(); |
| | | |
| | | |
| | | var goodsCodes = cabinOrderDetails.Select(x => x.Goods_no).Distinct().ToList(); |
| | | |
| | | var materielInfos = db.Queryable<Dt_MaterielInfo>() |
| | | .Where(x => goodsCodes.Contains(x.MaterielCode)) |
| | | .ToList(); |
| | | |
| | | |
| | | foreach (var order in orders) |
| | | { |
| | | customerCode = "905", |
| | | materialCode = materialCode, |
| | | externalOrderNo = order.Order_no, |
| | | inOrderType = order.Order_type == "5" ? "20" : "10", |
| | | priority = 0, |
| | | Is_cancel = 0, |
| | | details = order.Details.Select(d => |
| | | order.Details = cabinOrderDetails.Where(x => x.OrderId == order.Id).ToList(); |
| | | foreach (var item in order.Details) //æå¨å建ä¸ç©æè¡¨çè¿æ¥ |
| | | { |
| | | var medicine = materielInfos.FirstOrDefault(x => x.MaterielCode == d.Goods_no); |
| | | return new ToediInDetail |
| | | item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First(); |
| | | } |
| | | #region ä¸åWCS |
| | | string materialCode = order.Details.FirstOrDefault()?.MedicineGoods?.MaterielErpType ?? "YY"; |
| | | var ediDto = new ToediInInfo |
| | | { |
| | | customerCode = "905", |
| | | materialCode = materialCode, |
| | | externalOrderNo = order.Order_no, |
| | | inOrderType = order.Order_type == "5" ? "20" : "10", |
| | | priority = 0, |
| | | Is_cancel = 0, |
| | | details = order.Details.Select(d => new ToediInDetail |
| | | { |
| | | batchNo = d.Batch_num, |
| | | productCode = d.Goods_no, |
| | | productName = medicine?.MaterielName ?? string.Empty, |
| | | productSpecifications = medicine?.MaterielSpec ?? string.Empty, |
| | | productName = d.MedicineGoods.MaterielName, |
| | | productSpecifications = d.MedicineGoods.MaterielSpec, |
| | | quantity = (int)d.Order_qty, |
| | | validityPeriod = d.Exp_date, |
| | | manufacturer = medicine?.Factory ?? string.Empty, |
| | | manufacturer = d.MedicineGoods.Factory, |
| | | libraryNo = order.Warehouse_no, |
| | | }; |
| | | }).ToList() |
| | | }; |
| | | |
| | | var result = HttpHelper.Post(url, ediDto.ToJsonString()); |
| | | var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result); |
| | | if (resp != null && resp.code == "0") |
| | | { |
| | | order.OdrderStatus = "å¼å§"; |
| | | foreach (var item in order.Details) |
| | | }).ToList() |
| | | }; |
| | | var result = HttpHelper.Post(url, ediDto.ToJsonString()); |
| | | var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result); |
| | | if (resp != null && resp.code == "0") |
| | | { |
| | | item.Status = 1; |
| | | item.OrderDetailStatus = "å¼å§"; |
| | | order.OdrderStatus = "å¼å§"; |
| | | foreach (var item in cabinOrderDetails.Where(x => x.OrderId == order.Id)) |
| | | { |
| | | item.Status = 1; |
| | | item.OrderDetailStatus = "å¼å§"; |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | #endregion |
| | | |
| | | // 使ç¨åä¸ä¸ª db å®ä¾æ§è¡æ´æ° |
| | | db.Updateable(orders).ExecuteCommand(); |
| | | db.Updateable(cabinOrderDetails).ExecuteCommand(); |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | |
| | | _cabinOrderServices.UpdateData(orders); |
| | | _cabinDetailServices.UpdateData(cabinOrderDetails); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("ä¸åWCSå
¥åºåå¼å¸¸ï¼" + ex.Message); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("ä¸åWCSå
¥åºåå¼å¸¸ï¼" + ex.Message); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } // è¿éä¼èªå¨å
³éè¿æ¥ï¼ä¸éè¦æå¨ç®¡ç |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ä¸åç«åºåºåºå |
| | | public WebResponseContent EdiOut() |
| | | { |
| | | try |
| | | using (var db = new SqlSugarClient(new ConnectionConfig |
| | | { |
| | | var reslut = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | var orders = _deliveryOrderServices.Repository.QueryData(x => x.OutStatus == "æ°å»º" && x.Warehouse_no == reslut).ToList(); |
| | | if (orders.Count < 1) return WebResponseContent.Instance.OK(); |
| | | |
| | | string url = "http://172.16.1.2:9357/file-admin/api/out/ediOut"; |
| | | var orderIds = orders.Select(x => x.Id).ToList(); |
| | | |
| | | var deliveryOrderDetails = _deliveryOrderDetailServices.Repository.QueryData(x => orderIds.Contains(x.DeliveryOrderId)).ToList(); |
| | | |
| | | var goodsCodes = deliveryOrderDetails.Select(x => x.Goods_no).Distinct().ToList(); |
| | | var materielInfos = _materielInfoService.Repository.QueryData(x => goodsCodes.Contains(x.MaterielCode)).ToList(); |
| | | |
| | | foreach (var order in orders) |
| | | ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | DbType = DbType.SqlServer, |
| | | IsAutoCloseConnection = true, // å
³é®é
ç½®ï¼èªå¨å
³éè¿æ¥ |
| | | MoreSettings = new ConnMoreSettings() |
| | | { |
| | | order.Details = deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id).ToList(); |
| | | |
| | | // å
³é®ä¿®æ¹ï¼ä¸è®¾ç½®å¯¼èªå±æ§ï¼é¿å
触åå»¶è¿å è½½ |
| | | // foreach (var item in order.Details) |
| | | // { |
| | | // item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First(); |
| | | // } |
| | | |
| | | #region ä¸åWCS |
| | | // ç´æ¥ä» materielInfos æ¥è¯¢ï¼ä¸éè¿å¯¼èªå±æ§ |
| | | var firstDetail = order.Details.FirstOrDefault(); |
| | | var firstMedicine = firstDetail != null ? |
| | | materielInfos.FirstOrDefault(x => x.MaterielCode == firstDetail.Goods_no) : null; |
| | | |
| | | string materialCode = firstMedicine?.MaterielErpType ?? "YY"; |
| | | |
| | | var ediDto = new ToediOutInfo |
| | | IsAutoRemoveDataCache = true |
| | | } |
| | | })) |
| | | { |
| | | try |
| | | { |
| | | var reslut = WarehouseEnum.ç«åº.ObjToInt().ToString("000"); |
| | | var orders = db.Queryable<Dt_DeliveryOrder>().Where(x => x.OutStatus == "æ°å»º" && x.Warehouse_no == reslut).ToList(); |
| | | if (orders.Count < 1) |
| | | { |
| | | customerCode = "905", |
| | | materialCode = materialCode, |
| | | externalOrderNo = order.Out_no, |
| | | outOrderType = order.Out_type, |
| | | priority = 1, |
| | | Is_cancel = 0, |
| | | details = order.Details.Select(d => |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | string url = "http://172.16.1.2:9357/file-admin/api/out/ediOut"; |
| | | var deliveryOrderDetails = db.Queryable<Dt_DeliveryOrderDetail>().Where(x => orders.Select(x => x.Id).ToList().Contains(x.DeliveryOrderId)).ToList(); |
| | | var materielInfos = db.Queryable<Dt_MaterielInfo>().Where(x => deliveryOrderDetails.Select(x => x.Goods_no).Contains(x.MaterielCode)).ToList(); |
| | | foreach (var order in orders) |
| | | { |
| | | order.Details = deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id).ToList(); |
| | | #region ä¸åWCS |
| | | foreach (var item in order.Details) //æå¨å建ä¸ç©æè¡¨çè¿æ¥ |
| | | { |
| | | var medicine = materielInfos.FirstOrDefault(x => x.MaterielCode == d.Goods_no); |
| | | return new ToeOutdiInDetail |
| | | item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First(); |
| | | } |
| | | string materialCode = order.Details.FirstOrDefault()?.MedicineGoods?.MaterielErpType ?? "YY"; |
| | | var ediDto = new ToediOutInfo |
| | | { |
| | | //客æ·ä»£ç |
| | | customerCode = "905", |
| | | //ç©æç±»å |
| | | materialCode = materialCode, |
| | | externalOrderNo = order.Out_no, |
| | | outOrderType = order.Out_type, |
| | | priority = 1, |
| | | Is_cancel = 0, |
| | | details = order.Details.Select(d => new ToeOutdiInDetail |
| | | { |
| | | batchNo = d.Batch_num, |
| | | productCode = d.Goods_no, |
| | | productName = medicine.MaterielName, |
| | | productSpecifications = medicine.MaterielModel, |
| | | productName = d.MedicineGoods.MaterielName, |
| | | productSpecifications = d.MedicineGoods.MaterielModel, |
| | | quantity = (int)d.Order_qty, |
| | | }; |
| | | }).ToList() |
| | | }; |
| | | |
| | | switch (order.Out_type) |
| | | { |
| | | case "1"://æ£å¸¸åºåº |
| | | case "3"://å
¥åºéè´§ |
| | | ediDto.outOrderType = "10";//ä¸è¬äº¤æåºåºå |
| | | break; |
| | | case "6"://çäºåºåº |
| | | ediDto.outOrderType = "30";//çäºåºåºå |
| | | break; |
| | | } |
| | | |
| | | var result = HttpHelper.Post(url, ediDto.ToJsonString()); |
| | | var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result); |
| | | if (resp != null && resp.code == "0") |
| | | { |
| | | order.OutStatus = "å¼å§"; |
| | | foreach (var item in order.Details) |
| | | }).ToList() |
| | | }; |
| | | switch (order.Out_type) |
| | | { |
| | | item.Status = 1; |
| | | item.OotDetailStatus = "å¼å§"; |
| | | case "1"://æ£å¸¸åºåº |
| | | case "3"://å
¥åºéè´§ |
| | | ediDto.outOrderType = "10";//ä¸è¬äº¤æåºåºå |
| | | break; |
| | | case "6"://çäºåºåº |
| | | ediDto.outOrderType = "30";//çäºåºåºå |
| | | break; |
| | | } |
| | | var result = HttpHelper.Post(url, ediDto.ToJsonString()); |
| | | var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result); |
| | | if (resp != null && resp.code == "0") |
| | | { |
| | | order.OutStatus = "å¼å§"; |
| | | foreach (var item in deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id)) |
| | | { |
| | | item.Status = 1; |
| | | item.OotDetailStatus = "å¼å§"; |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | #endregion |
| | | } |
| | | db.Updateable(orders).ExecuteCommand(); |
| | | db.Updateable(deliveryOrderDetails).ExecuteCommand(); |
| | | |
| | | _deliveryOrderServices.UpdateData(orders); |
| | | _deliveryOrderDetailServices.UpdateData(deliveryOrderDetails); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("ä¸åWCSåºåºåå¼å¸¸ï¼" + ex.Message); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("ä¸åWCSåºåºåå¼å¸¸ï¼" + ex.Message); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | } |
| | | #endregion |