| | |
| | | using System.Security.Cryptography.X509Certificates; |
| | | using AutoMapper.Configuration.Annotations; |
| | | using Utility; |
| | | using System.Diagnostics.Metrics; |
| | | |
| | | namespace WMS.BLL.BllPdaServer |
| | | { |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url) |
| | | /*public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | 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> |