Wms/Model/InterFaceModel/HttpModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Wms/Model/InterFaceModel/HttpModel.cs
@@ -484,6 +484,127 @@ #endregion #region 赋码实体类 public class FuMaPostModel { /// <summary> /// 操作是否成功 /// </summary> public bool Success { get; set; } /// <summary> /// 消息提示 /// </summary> public string Message { get; set; } /// <summary> /// 核心数据 /// </summary> public FuMaOneModel Data { get; set; } } public class FuMaOneModel { /// <summary> /// 物料编码 /// </summary> public string SkuNo { get; set; } /// <summary> /// 物料名称 /// </summary> public string SkuName { get; set; } /// <summary> /// 规格 /// </summary> public string Standard { get; set; } /// <summary> /// 箱码(一级箱码) /// </summary> public string BoxNo { get; set; } /// <summary> /// 数量 /// </summary> public decimal Qty { get; set; } /// <summary> /// 满箱数量 /// </summary> public string FullQty { get; set; } /// <summary> /// 结束批次号 /// </summary> public string EndLotNo { get; set; } /// <summary> /// 批次箱数 /// </summary> public string LotNoBoxNum { get; set; } /// <summary> /// 检验标识(0:未检验,1:已检验等) /// </summary> public string InsPectMark { get; set; } /// <summary> /// 箱码标识(0:正常,1:特殊等) /// </summary> public string BitBoxMark { get; set; } /// <summary> /// 检验状态 /// </summary> public string InspectStatus { get; set; } /// <summary> /// 来源 /// </summary> public string Origin { get; set; } /// <summary> /// 二级箱码列表 /// </summary> public List<FuMaTwoModel> DetailList { get; set; } } public class FuMaTwoModel { /// <summary> /// 二级箱码编号 /// </summary> public string BoxNo2 { get; set; } /// <summary> /// 三级箱码列表 /// </summary>zl public List<FuMaThreeModel> DetailList2 { get; set; } } public class FuMaThreeModel { /// <summary> /// 三级箱码编号 /// </summary> public string BoxNo3 { get; set; } /// <summary> /// 批次号 /// </summary> public string LotNo { get; set; } /// <summary> /// 生产日期 /// </summary> public string ProductionTime { get; set; } // 若需 DateTime 类型,可后续转换 /// <summary> /// 过期时间 /// </summary> public string ExpirationTime { get; set; } // 若需 DateTime 类型,可后续转换 } #endregion #region#SAP实体类 public class SapSkuInfoVm { Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -30,6 +30,7 @@ using System.Security.Cryptography.X509Certificates; using AutoMapper.Configuration.Annotations; using Utility; using System.Diagnostics.Metrics; namespace WMS.BLL.BllPdaServer { @@ -2081,7 +2082,7 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url) /*public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url) { try { @@ -2184,6 +2185,132 @@ { throw ex; } }*/ public List<BoxInfoDto> GetFMBindBoxInfos(string boxno, string url) { try { #region 箱码请求接口,正式系统放开 var data = new { BoxNo = boxno }; var jsonData = JsonConvert.SerializeObject(data); var response = HttpHelper.DoPost(url, jsonData, "箱码信息请求", "FM"); var obj = JsonConvert.DeserializeObject<FuMaPostModel>(response);//解析返回数据 if (obj.Success != true) { throw new Exception("请求失败" + obj.Message); } #endregion if (string.IsNullOrEmpty(obj.Data.SkuNo)) { //测试用,发布正式前删除此段代码 //obj.Data.SkuNo = "50004632"; throw new Exception($"物料编码不能为空"); } //查找物料信息 var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == obj.Data.SkuNo); if (sku == null) { throw new Exception($"未查询到物料{obj.Data.SkuNo}信息"); } var pNum = 0;//托盘物品数量 var bNum = 0;//箱码物品数量 //获取包装信息 new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); if (pNum == 0 || bNum == 0) { throw new Exception($"{sku.SkuNo}物品包装未找到!"); } var boxList = new List<BllBoxInfo>(); var comTime = DateTime.Now; //添加箱码信息 foreach (var box in obj.Data.DetailList) { foreach (var box2 in box.DetailList2) { var boxInfo = new BllBoxInfo() { BoxNo = obj.Data.BoxNo, BoxNo2 = box.BoxNo2, BoxNo3 = box2.BoxNo3, Qty = obj.Data.Qty, BitBoxMark = obj.Data.BitBoxMark, ASNNo = "", //ASNDetailNo = noticeDetail.Id, OrderCode = "",//notice.OrderCode //BindNo = bindId, //PalletNo = model.PallNo, FullQty = bNum, Status = "0", SkuNo = sku.SkuNo, SkuName = sku.SkuName, LotNo = box2.LotNo, LotText = obj.Data.LotNoBoxNum, ProductionTime = DateTime.Parse(box2.ProductionTime), ExpirationTime = DateTime.Parse(box2.ExpirationTime), //CompleteTime = "", InspectMark = "0", InspectStatus = "0", Origin = "赋码", CreateTime = comTime, CreateUser = 0 }; boxList.Add(boxInfo); }; } try { //开启事务 Db.BeginTran(); Db.Fastest<BllBoxInfo>().BulkCopy(boxList); //提交事务 Db.CommitTran(); } catch (Exception ex) { //回滚事务 Db.RollbackTran(); throw new Exception("插入箱码失败:" + ex.Message); } string sqlString = $@"SELECT ASNNo, BoxNo, SkuNo, SkuName, LotNo, BitBoxMark, SUM(Qty) as Qty FROM BllBoxInfo WHERE IsDel = '0' AND Status='0' AND BoxNo = '{boxno}' GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); if (models.Count == 0) { throw new Exception("箱码信息不存在!"); } return models; } catch (Exception ex) { throw ex; } } /// <summary> Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -216,10 +216,10 @@ throw Oops.Bah("该托盘上没有可拣货的箱子"); } var boxQty = await boxInfo.GroupBy(m => m.PalletNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync(); if (boxQty[0] > needQty) { throw Oops.Bah("拣货数量不能大于箱内剩余待拣数量"); } //if (boxQty[0] > needQty) //{ // throw Oops.Bah("拣货数量不能大于箱内剩余待拣数量"); //} var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync(); var comList = new List<BllCompleteDetail>(); @@ -337,10 +337,10 @@ throw Oops.Bah("该托盘与箱码没有绑定关系"); } var boxQty = await boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync(); if (boxQty[0] > needQty) { throw Oops.Bah("拣货数量不能大于箱内剩余待拣数量"); } //if (boxQty[0] > needQty) //{ // throw Oops.Bah("拣货数量不能大于箱内剩余待拣数量"); //} foreach (var item in boxInfos) {