From 3f9d7eb876f6d60d92e7f8a71240097b6ac50eb6 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期五, 23 五月 2025 18:16:42 +0800
Subject: [PATCH] 修改测试问题
---
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 412 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 374 insertions(+), 38 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index b0f88b6..ad302b4 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -22,6 +22,9 @@
using System.Xml.Schema;
using ZXing.OneD;
using System.Threading.Tasks;
+using System.Security.Policy;
+using Newtonsoft.Json;
+using Utility.Tools;
namespace WMS.BLL.BllPdaServer
{
@@ -1720,7 +1723,7 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model)
+ public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model,string url)
{
try
{
@@ -1728,27 +1731,307 @@
{
throw new Exception("璇锋壂鎻忓绠辨潯鐮�!");
}
- string sqlString = $@"SELECT
- ASNNo,
- BoxNo,
- SkuNo,
- SkuName,
- LotNo,
- BitBoxMark,
- SUM(Qty) as Qty
- FROM BllBoxInfo
- WHERE IsDel = '0'
- AND Status='0'
- AND BoxNo = '{model.BoxNo}'
- GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
- var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
-
- if (models.Count == 0)
+ if (string.IsNullOrWhiteSpace(model.ASNNo))
{
- throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
+ throw new Exception("璇烽�夋嫨鍏ュ簱鍗曞彿!");
}
+ var noticeList = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && m.ASNNo == model.ASNNo).ToList();
+ if (noticeList.Count != 1)
+ {
+ throw new Exception("鍏ュ簱鍗曞彿閲嶅!");
+ }
+ var notice = noticeList.First();
+ if (notice.Type == "0") //鎴愬搧鍏ュ簱
+ {
+ string sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
- return models;
+ if (models.Count != 0)
+ {
+ return models;
+ }
+ else
+ {
+ var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo).ToList();
+
+ if (boxInfo.Count == 0)
+ {
+ models = GetFMBindBoxInfos(model.BoxNo, url);
+ return models;
+ }
+ else
+ {
+ if (boxInfo.Count(m => m.Status != "0") > 0)
+ {
+ throw new Exception("绠辩爜淇℃伅鐘舵�佷笉鏄瓑寰呮墽琛�");
+ }
+ return models;
+ }
+
+
+
+ }
+ }
+ else if (notice.Type == "1" || notice.Type == "4") //閲囪喘鍏ュ簱
+ {
+ string sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+
+ if (models.Count != 0)
+ {
+ return models;
+ }
+ else
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒扮鐮佷俊鎭�");
+ }
+ }
+ else if (notice.Type == "3") //閫�璐у叆搴�
+ {
+ string sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+
+ if (models.Count != 0)
+ {
+ return models;
+ }
+ else
+ {
+ sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo2 = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+ if (models.Count != 0)
+ {
+ return models;
+ }
+ else
+ {
+ sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo3 = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+ if (models.Count != 0)
+ {
+ return models;
+ }
+ }
+ }
+
+ #region 鑾峰彇鏈�鍚庝竴娆″嚭搴撴嫞璐т腑鐨勭鐮佷俊鎭�
+
+ var comBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo).GroupBy(m => m.ExportAllotId).Select(m => m.ExportAllotId).ToList();
+ if (comBox.Count == 0)
+ {
+ comBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo2 == model.BoxNo).GroupBy(m => m.ExportAllotId).Select(m => m.ExportAllotId).ToList();
+ if (comBox.Count == 0)
+ {
+ comBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo3 == model.BoxNo).GroupBy(m => m.ExportAllotId).Select(m => m.ExportAllotId).ToList();
+ }
+ }
+ var i = 0;//寰幆娆℃暟
+ DateTime time = DateTime.Now;
+ var allotId = 0;
+ foreach (var item in comBox)
+ {
+ var comBoxList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == item).OrderByDescending(m => m.CreateTime).First();
+ if (i == 0)
+ {
+ time = comBoxList.CreateTime;
+ allotId = comBoxList.ExportAllotId;
+ }
+ else if (comBoxList.CreateTime > time)
+ {
+ time = comBoxList.CreateTime;
+ allotId = comBoxList.ExportAllotId;
+ }
+ i++;
+ }
+ if (allotId != 0)
+ {
+ var addComBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotId).ToList();
+ var addComList = addComBox.GroupBy(m => m.BoxNo).ToList();
+ var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == addComBox.First().SkuNo);
+ var pNum = 0;
+ var bNum = 0;
+ new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
+ var boxList = new List<BllBoxInfo>();
+ foreach (var com in addComList)
+ {
+ //绠卞唴鎬绘暟鍜�
+ var qtySum = addComBox.Where(m => m.BoxNo == com.Key).Sum(m => m.CompleteQty);
+ var bitBox = "1";
+ if (qtySum == bNum)
+ {
+ bitBox = "0";
+ }
+ foreach (var item in com)
+ {
+ if (item.BoxNo != model.BoxNo)
+ {
+ if (item.BoxNo2 != model.BoxNo)
+ {
+ if (item.BoxNo3 != model.BoxNo)
+ {
+ continue;
+ }
+ }
+ }
+ var boxInfo = new BllBoxInfo()
+ {
+ BoxNo = item.BoxNo,
+ BoxNo2 = item.BoxNo2,
+ BoxNo3 = item.BoxNo3,
+ SkuNo = item.SkuNo,
+ SkuName = item.SkuName,
+ LotNo = item.LotNo,
+ LotText = item.LotText,
+ Qty = (decimal)item.CompleteQty,
+ FullQty = bNum,
+ //ProductionTime = ,
+ //ExpirationTime = ,
+ InspectMark = "0",
+ InspectStatus = "0",
+ BitBoxMark = bitBox,
+ Origin = "WMS",
+ Status = "0",
+ CreateUser = 0
+ };
+ boxList.Add(boxInfo);
+ }
+
+ }
+ Db.Insertable(boxList).ExecuteCommand();
+
+ string sqlString2 = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ var models2 = Db.Ado.SqlQuery<BoxInfoDto>(sqlString2);
+
+ if (models2.Count != 0)
+ {
+ return models2;
+ }
+ else
+ {
+ sqlString2 = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo2 = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ models2 = Db.Ado.SqlQuery<BoxInfoDto>(sqlString2);
+ if (models2.Count != 0)
+ {
+ return models2;
+ }
+ else
+ {
+ sqlString2 = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo3 = '{model.BoxNo}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ models2 = Db.Ado.SqlQuery<BoxInfoDto>(sqlString2);
+ if (models2.Count != 0)
+ {
+ return models2;
+ }
+ }
+ }
+
+
+ }
+
+ throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
+ #endregion
+
+ }
+ else
+ {
+ throw new Exception("鍗曟嵁绫诲瀷閿欒");
+ }
}
catch (Exception ex)
{
@@ -1761,21 +2044,83 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public List<BoxInfoDto> GetFMBindBoxInfos(string boxno)
+ public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url)
{
try
{
#region 绠辩爜璇锋眰鎺ュ彛锛屾寮忕郴缁熸斁寮�
- /*var jsonData = JsonConvert.SerializeObject(boxno);
+ var data = new
+ {
+ BoxCode = boxno
+ };
+ var jsonData = JsonConvert.SerializeObject(data);
var response = HttpHelper.DoPost(url, jsonData, "绠辩爜淇℃伅璇锋眰", "FM");
- var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
- if (obj.Success != 0)
+ var obj = JsonConvert.DeserializeObject<FumaGetBoxModel>(response);//瑙f瀽杩斿洖鏁版嵁
+ if (obj.Success != "0")
{
throw new Exception("璇锋眰澶辫触" + obj.Message);
- }*/
+ }
#endregion
+ var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == obj.Product.SkuNo);
+ var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ if (sku == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌鐗╂枡{obj.Product.SkuNo}淇℃伅");
+ }
+ 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.Product.BoxInfoList)
+ {
+ foreach (var box2 in box.BoxInfo2List)
+ {
+ foreach (var box3 in box2.BoxInfo3List)
+ {
+ var boxInfo = new BllBoxInfo()
+ {
+ BoxNo = box.BoxNo,
+ BoxNo2 = box2.BoxNo2,
+ BoxNo3 = box3.BoxNo3,
+ Qty = box3.Qty,
+ BitBoxMark = box.BitBoxMark,
+
+ ASNNo = "",
+ //ASNDetailNo = noticeDetail.Id,
+ OrderCode = "",//notice.OrderCode
+ //BindNo = bindId,
+ //PalletNo = model.PallNo,
+ FullQty = bNum,
+ Status = "2",
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ LotNo = obj.Product.LotNo,
+ LotText = obj.Product.LotText,
+ ProductionTime = DateTime.Parse(obj.Product.ProductionTime),
+ ExpirationTime = DateTime.Parse(obj.Product.ExpirationTime),
+ //CompleteTime = "",
+ InspectMark = "0",
+ InspectStatus = "0",
+ Origin = "璧嬬爜",
+ CreateTime = comTime,
+ CreateUser = 0
+ };
+ boxList.Add(boxInfo);
+ }
+
+ }
+ }
+ Db.Fastest<BllBoxInfo>().BulkCopy(boxList);
+
+
string sqlString = $@"SELECT
ASNNo,
BoxNo,
@@ -5606,16 +5951,7 @@
//淇敼搴撳瓨鏄庣粏淇℃伅
Db.Updateable(item).ExecuteCommand();
}
- //鑾峰彇鎷h揣淇℃伅
- var alotr = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.PalletNo == model.PalletNo && a.Status == "4");
- if (alotr != null)
- {
- alotr.Status = "5"; //5 宸插畬鎴�
- alotr.UpdateUser = model.CreateUser; //淇敼浜�
- alotr.UpdateTime = serverTime; //淇敼鏃堕棿
- //淇敼鎷h揣淇℃伅
- Db.Updateable(alotr).ExecuteCommand();
- }
+
#region 浠诲姟鍙婄粍鎵樹俊鎭�
//鍒涘缓浠诲姟淇℃伅
var taskNo = new Common().GetMaxNo("TK");
@@ -5660,15 +5996,15 @@
var upShelf = new BllPalletUpShelf()
{
TaskNo = exTask.TaskNo,
- TraceNo = bindInfo.ASNNo,
- PalletNo = bindInfo.PalletNo,
+ TraceNo = bindInfo== null? "": bindInfo.ASNNo,
+ PalletNo = model.PalletNo,
SkuNo = palletupinfo.SkuNo,
SkuName = palletupinfo.SkuName,
LotNo = palletupinfo.LotNo,
Status = "2",
LocatNo = model.LocatNo,
- WareHouseNo = bindInfo.WareHouseNo,
- RoadwayNo = bindInfo.RoadwayNo,
+ WareHouseNo = storageLocat.WareHouseNo,
+ RoadwayNo = storageLocat.RoadwayNo,
AreaNo = storageLocat.AreaNo,
CreateUser = 0,
--
Gitblit v1.8.0