using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Const; using WIDESEA_Core.Helper; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; using WIDESEA_Model.Models; namespace WIDESEA_BasicService.Base { public partial class PalletTypeInfoService : ServiceBase, IPalletTypeInfoService { public PalletTypeInfoService(IPalletTypeInfoRepository BaseDal) : base(BaseDal) { } /// /// 打印托盘码 /// /// /// public WebResponseContent PrintPalletCode(int num, string palletCodeType) { WebResponseContent content = new WebResponseContent(); try { List PalletCodes = new List(); for (int i = 0; i < num; i++) { PalletCodes.Add(GetOrderPintCode($"PalletCodes",palletCodeType)); } content= PrintPallet(PalletCodes); foreach (var PalletCode in PalletCodes) { Console.WriteLine(PalletCode); } return content.OK(); } catch (Exception ex) { return content.Error("未知错误,请联系管理员"); } } /// /// 获取订单编号 /// /// /// public string GetOrderPintCode(string printCode,string palletCodeType) { string PrintCode = ""; var PrintSetting = Db.Queryable().Where(x => x.PrintCode == printCode).ToList().FirstOrDefault(); if (PrintSetting.Spare1 == DateTime.Now.ToString("yyyyMMdd")) { PrintCode = palletCodeType+PrintSetting.Spare1 + PrintSetting.PrintNo.ToString().PadLeft(PrintSetting.Spare2, '0'); PrintSetting.PrintNo = PrintSetting.PrintNo + 1; } else { PrintSetting.Spare1 = DateTime.Now.ToString("yyyyMMdd"); PrintSetting.PrintNo = 2; PrintCode = palletCodeType+PrintSetting.Spare1 + 1.ToString().PadLeft(PrintSetting.Spare2, '0'); } Db.Updateable(PrintSetting).ExecuteCommand(); return PrintCode; } /// /// 调用打印托盘码接口 /// /// /// /// public WebResponseContent PrintPallet(List palletCodes) { string url = "http://127.0.0.1:8098/Print/PrintPalletCode"; HttpHelper.Post(url, palletCodes.Serialize()); return WebResponseContent.Instance.OK(); } /// /// 获取托盘标识 /// /// /// public WebResponseContent GetPalletTypeInfos(int WarehouseId) { WebResponseContent content = new WebResponseContent(); try { List dt_PalletTypeInfos = BaseDal.QueryData(x => x.WarehouseId == WarehouseId); return content.OK(data: dt_PalletTypeInfos); } catch(Exception ex) { return content.Error(); } } public WebResponseContent GetWarehouses() { WebResponseContent content = new WebResponseContent(); try { List dt_PalletTypeInfos = BaseDal.QueryData(x => x); List dt_Warehouses = new List(); foreach (var item in dt_PalletTypeInfos) { Dt_Warehouse dt_Warehouse = Db.Queryable().First(x => x.WarehouseId == item.WarehouseId); dt_Warehouses.Add(dt_Warehouse); } List NewDt_Warehouses = new List(); NewDt_Warehouses.AddRange(dt_Warehouses.DistinctBy(x => x.WarehouseId)); return content.OK(data: NewDt_Warehouses); } catch(Exception ex) { return content.Error(); } } public override WebResponseContent UpdateData(SaveModel saveModel) { var id = saveModel.MainData["id"].ObjToInt(); var palletType = saveModel.MainData["palletType"].ObjToInt(); var typeName = saveModel.MainData["typeName"].ToString(); var length = saveModel.MainData["length"].ObjToInt(); var width = saveModel.MainData["width"].ObjToInt(); var height = saveModel.MainData["height"].ObjToInt(); var locationCount = saveModel.MainData["locaitonCount"].ObjToInt(); Dt_PalletTypeInfo palletTypeInfo = BaseDal.QueryFirst(x => x.Id == id); palletTypeInfo.PalletType = palletType; palletTypeInfo.TypeName = typeName; palletTypeInfo.Length = length; palletTypeInfo.Width = width; palletTypeInfo.Height = height; palletTypeInfo.LocaitonCount = locationCount; return base.UpdateData(palletTypeInfo); } } }