From 1c5addd1d2a760d9445934a79e6a6dc987c45401 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 02 七月 2024 16:39:37 +0800
Subject: [PATCH] 修改问题
---
Wms/Wms/Controllers/UpApiController.cs | 62 ++++++++
Wms/WMS.BLL/BllTransServer/RcsServer.cs | 227 ++++++++++++++++++++++----------
Wms/WMS.BLL/BllTransServer/NoticeServer.cs | 65 ++++++++
Wms/Model/InterFaceModel/RCSModel.cs | 3
Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs | 17 ++
5 files changed, 294 insertions(+), 80 deletions(-)
diff --git a/Wms/Model/InterFaceModel/RCSModel.cs b/Wms/Model/InterFaceModel/RCSModel.cs
index c486968..af9f8eb 100644
--- a/Wms/Model/InterFaceModel/RCSModel.cs
+++ b/Wms/Model/InterFaceModel/RCSModel.cs
@@ -120,7 +120,7 @@
public string Location { get; set; }
public string Type { get; set; }
public string LotNo { get; set; }
- public string Palletno { get; set; }
+ public string PalletNo { get; set; }
}
@@ -154,6 +154,7 @@
/// 浠诲姟绫诲瀷
/// 0锛氬叆搴�
/// 1锛氬嚭搴�
+ /// 2锛氱Щ搴�
/// </summary>
public string Crtype { get; set; }
/// <summary>
diff --git a/Wms/WMS.BLL/BllTransServer/NoticeServer.cs b/Wms/WMS.BLL/BllTransServer/NoticeServer.cs
index bf77fa2..adf90cd 100644
--- a/Wms/WMS.BLL/BllTransServer/NoticeServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/NoticeServer.cs
@@ -163,6 +163,10 @@
resultModel.Success = 0;
resultModel.Message = "鎴愬姛";
+
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+
return resultModel;
}
switch (taskInfo.OrderType)
@@ -486,19 +490,19 @@
sd3.RoadwayNo = endLocatInfo2.RoadwayNo;//鎵�灞炲贩閬�
sd3.AreaNo = endLocatInfo2.AreaNo;//鎵�灞炲尯鍩�
sd3.LocatNo = endLocatInfo2.LocatNo;//鍌ㄤ綅鍦板潃
- if (endLocatInfo2.AreaNo == "A01")//娲佸噣鍖�
+ if (endLocatInfo2.AreaNo.Contains("01"))//娲佸噣鍖�
{
sd3.PalletStatus = "0";
}
- else if (endLocatInfo2.AreaNo == "A02")//棰勬贩鍖�
+ else if (endLocatInfo2.AreaNo.Contains("02"))//棰勬贩鍖�
{
sd3.PalletStatus = "1";
}
- else if (endLocatInfo2.AreaNo == "A03")//鍗婃垚鍝佸尯
+ else if (endLocatInfo2.AreaNo.Contains("03"))//鍗婃垚鍝佸尯
{
sd3.PalletStatus = "2";
}
- else if (endLocatInfo2.AreaNo == "A04")//鑴忔《鍖�
+ else if (endLocatInfo2.AreaNo.Contains("04"))//鑴忔《鍖�
{
sd3.PalletStatus = "3";
sd3.LotNo = "";//鎵规
@@ -507,7 +511,7 @@
sd3.InspectStatus = "0";//寰呮楠�
}
}
- if (taskInfo.Type == "1")//鍑哄簱浠诲姟
+ else if (taskInfo.Type == "1")//鍑哄簱浠诲姟
{
//璧峰鍌ㄤ綅淇℃伅
var startLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == taskInfo.StartLocat && w.IsDel == "0");
@@ -525,6 +529,57 @@
sd3.AreaNo = "";//鎵�灞炲尯鍩�
sd3.LocatNo = "";//鍌ㄤ綅鍦板潃
}
+ else if (taskInfo.Type == "2")//绉诲簱浠诲姟
+ {
+ //璧峰鍌ㄤ綅淇℃伅
+ var startLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == taskInfo.StartLocat && w.IsDel == "0");
+ if (startLocatInfo2 == null)
+ {
+ resultModel.Message = "璧峰鍌ㄤ綅淇℃伅涓嶅瓨鍦�!";
+ return resultModel;
+ }
+ startLocatInfo2.Status = "0";//绌哄偍浣�
+ //淇敼璧峰鍌ㄤ綅鐘舵��
+ Db.Updateable(startLocatInfo2).ExecuteCommand();
+
+ //鐩爣鍌ㄤ綅淇℃伅
+ var endLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == taskInfo.EndLocat && w.IsDel == "0");
+ if (endLocatInfo2 == null)
+ {
+ resultModel.Message = "鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�!";
+ return resultModel;
+ }
+ endLocatInfo2.Status = "1";//鏈夌墿鍝�
+ //淇敼鐩爣鍌ㄤ綅鐘舵��
+ Db.Updateable(endLocatInfo2).ExecuteCommand();
+
+ sd3.WareHouseNo = endLocatInfo2.WareHouseNo;//鎵�灞炰粨搴�
+ sd3.RoadwayNo = endLocatInfo2.RoadwayNo;//鎵�灞炲贩閬�
+ sd3.AreaNo = endLocatInfo2.AreaNo;//鎵�灞炲尯鍩�
+ sd3.LocatNo = endLocatInfo2.LocatNo;//鍌ㄤ綅鍦板潃
+ sd3.Status = "0";
+ if (endLocatInfo2.AreaNo.Contains("01"))//娲佸噣鍖�
+ {
+ sd3.PalletStatus = "0";
+ sd3.Status = "0";
+ }
+ else if (endLocatInfo2.AreaNo.Contains("02"))//棰勬贩鍖�
+ {
+ sd3.PalletStatus = "1";
+ }
+ else if (endLocatInfo2.AreaNo.Contains("03"))//鍗婃垚鍝佸尯
+ {
+ sd3.PalletStatus = "2";
+ }
+ else if (endLocatInfo2.AreaNo.Contains("04"))//鑴忔《鍖�
+ {
+ sd3.PalletStatus = "3";
+ sd3.LotNo = "";//鎵规
+ sd3.SkuNo = "";
+ sd3.SkuName = "";
+ sd3.InspectStatus = "0";//寰呮楠�
+ }
+ }
//淇敼搴撳瓨鏄庣粏
Db.Updateable(sd3).ExecuteCommand();
diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index 672a451..eff7a95 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -1,5 +1,4 @@
-锘縰sing Microsoft.IdentityModel.Protocols;
-using Newtonsoft.Json;
+锘縰sing Newtonsoft.Json;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -30,7 +29,6 @@
public void GetPalletNo(Pallnetmsg pallnetmsg)
{
DataStockDetail pallet = new DataStockDetail();
- SysStorageLocat locat = new SysStorageLocat();
try
{
var house = "W01";//鍙《浣嶇疆锛屽悗缁牴鎹綅缃叧鑱旀垨瀹氫箟锛屾潵鍒ゆ柇鍙《浣嶇疆鎵�灞炶溅闂�
@@ -40,66 +38,13 @@
switch (pallnetmsg.Type)
{
case "0"://鍙噣妗�
- List<DataStockDetail> jtpallet = new List<DataStockDetail>();
- sql += $"and WareHouseNo = '{house}' and AreaNo like '%01' order by CreateTime desc";
- jtpallet = Db.Ado.SqlQuery<DataStockDetail>(sql).ToList();
- if (jtpallet.Count == 0)
+ sql += $"and WareHouseNo = '{house}' and AreaNo like '%01' and PalletStatus = '0' order by CreateTime desc";
+ pallet = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
+ if (pallet == null)
{
throw new Exception("鏆傛棤鍑�妗跺彲鍒嗛厤");
}
- //閬嶅巻搴撳瓨鍑�妗讹紝杩斿洖MES楠岃瘉
- foreach (var item in jtpallet)
- {
- string jsonReq = JsonConvert.SerializeObject(item.PalletNo);
- var response = HttpHelper.DoPost(url, jsonReq, "鍥炰紶MES鍑�妗剁紪鍙�", "RCS").ToString();
- var obj = JsonConvert.DeserializeObject<ReMes>(response);//瑙f瀽杩斿洖鏁版嵁
- if (obj.Success == "0")
- {
- if (obj.Result != "0")//鍙敤锛岀敓鎴愬皬杞︽媺鍑�妗朵换鍔�
- {
- //鏌ユ壘鏄惁鏈夌┖浣欒剰妗朵綅
- sql = $"select LocatNo from SysStorageLocat where AreaNo like '%04' and WareHouseNo = '{house}' and Status = 0";
- locat = Db.Ado.SqlQuery<SysStorageLocat>(sql).FirstOrDefault();
- if (locat == null)
- {
- Db.Ado.BeginTran();
- //鑴忔《鍖烘棤绌轰綑搴撲綅锛屽垯閿佸畾姝ゅ噣妗跺簱瀛�,骞堕噸鏂伴亶鍘�
- sql = $"UPDATE DataStockDetail Set Status = '5' Where locat ='{locat.LocatNo}'";
- Db.Ado.ExecuteCommand(sql);
- Db.Ado.CommitTran();
- break;
- }
- //鐢熸垚璋冨害灏忚溅鍑�妗跺幓鑴忔《鍖轰换鍔�
- var ztask = new TaskDetial
- {
- Startport = item.LocatNo,
- Endport = locat.LocatNo,
- Pallno = item.PalletNo,
- Type = "3",
- Crtype = "0",
- Noticedetailno = int.Parse(noticeno),
- };
- CreateLotTask(ztask);
- continue;
- }
- //涓嬪彂灏忚溅浠诲姟
- var task2 = new TaskDetial
- {
- Startport = item.LocatNo,
- Endport = pallnetmsg.Location,
- Pallno = item.PalletNo,
- Type = pallnetmsg.Type,
- Crtype = "1",
- Noticedetailno = int.Parse(noticeno),
- };
- CreateLotTask(task2);
- return;
- }
- else
- {
- throw new Exception("鍥炰紶MES鍑�妗剁紪鍙峰け璐ワ紒");
- }
- }
+
break;
case "1"://鍙枡妗讹紙娣锋枡锛�
//鍒ゆ柇鏄惁鏈夋壒娆″彿
@@ -117,8 +62,8 @@
}
noticeno = ArriveMes.Id.ToString();*/
//鏌ユ壘搴撳瓨涓槸鍚︽湁鍙敤鐨勬鎵规鐨勬贩鏂欐《
- sql= $"select PalletNo,LocatNo from DataStockDetail where LotNo = '{pallnetmsg.LotNo}'and AreaNo like '%02' " +
- $"and WareHouseNo = '{house}' and status = '0' order by CompleteTime desc";
+ sql= $@"select PalletNo,LocatNo from DataStockDetail where LotNo = '{pallnetmsg.LotNo}'and AreaNo like '%02'
+ and WareHouseNo = '{house}' and status = '0' and PalletStatus = '1' order by CompleteTime desc";
pallet = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
if (pallet == null)
{
@@ -142,8 +87,8 @@
}
noticeno = bllSo.Id.ToString();
//鏌ユ壘搴撳瓨涓槸鍚︽湁姝ゆ壒娆$殑涓嬫枡妗�
- sql = $"select PalletNo,LocatNo from DataStockDetail where LotNo = '{pallnetmsg.LotNo}'and AreaNo like '%03' " +
- $"and WareHouseNo = '{house}' and status = '0' order by CompleteTime desc";
+ sql = $@"select PalletNo,LocatNo from DataStockDetail where LotNo = '{pallnetmsg.LotNo}'and AreaNo like '%03'
+ and WareHouseNo = '{house}' and status = '0' and PalletStatus = '2' order by CompleteTime desc";
pallet = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
if (pallet == null)
{
@@ -152,13 +97,46 @@
break;
case "3"://鍙剰妗�
- sql += $"and WareHouseNo = '{house}' and AreaNo like '%04' order by CreateTime desc";
- pallet = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
- if (pallet == null)
+ sql += $"and WareHouseNo = '{house}' and AreaNo like '%04' and PalletStatus='3' order by CreateTime desc";
+ List<DataStockDetail> palletList = Db.Ado.SqlQuery<DataStockDetail>(sql).ToList();
+ if (palletList.Count <= 0)
{
throw new Exception("鏆傛棤鑴忔《鍙垎閰�");
}
+ //閬嶅巻搴撳瓨鑴忔《锛岃繑鍥濵ES楠岃瘉
+ foreach (var item in palletList)
+ {
+ string jsonReq = JsonConvert.SerializeObject(item.PalletNo);
+ var response = HttpHelper.DoPost(url, jsonReq, "鍥炰紶MES鑴忔《缂栧彿", "RCS").ToString();
+ var obj = JsonConvert.DeserializeObject<ReMes>(response);//瑙f瀽杩斿洖鏁版嵁
+ if (obj.Success == "0")
+ {
+ if (obj.Result != "1")//涓嶅彲娓呮礂锛屽皢鑴忔《鍐荤粨
+ {
+ item.Status = "5";//寮傚父鍐荤粨
+ //淇敼璇ユ《搴撳瓨鐘舵��
+ Db.Updateable(item).ExecuteCommand();
+ continue;
+ }
+ //涓嬪彂灏忚溅浠诲姟
+ var task2 = new TaskDetial
+ {
+ Startport = item.LocatNo,
+ Endport = pallnetmsg.Location,
+ Pallno = item.PalletNo,
+ Type = pallnetmsg.Type,
+ Crtype = "1",
+ Noticedetailno = int.Parse(noticeno),
+ };
+ CreateLotTask(task2);
+ return;
+ }
+ else
+ {
+ throw new Exception("鍥炰紶MES鍑�妗剁紪鍙峰け璐ワ紒");
+ }
+ }
break;
}
//涓嬪彂灏忚溅浠诲姟
@@ -178,6 +156,102 @@
catch (Exception ex)
{
Db.Ado.RollbackTran();
+ throw ex;
+ }
+ }
+
+ /// <summary>
+ /// MES涓嬪彂灏嗗噣妗舵敼涓鸿剰妗跺苟鎷夊埌鑴忔《鍖�
+ /// </summary>
+ /// <param name="PalletNo"></param>
+ /// <returns></returns>
+ public void ChangePalletStatus(string PalletNo)
+ {
+ try
+ {
+ var detail = Db.Queryable<DataStockDetail>().First(w => w.PalletNo == PalletNo && w.PalletStatus == "0");
+ if (detail == null)
+ {
+ throw new Exception($"搴撳瓨涓笉瀛樺湪妗跺彿涓猴細{PalletNo}鐨勫簱瀛�!");
+ }
+ //璧峰鐩爣鍌ㄤ綅淇℃伅
+ var statrtLocat = Db.Queryable<SysStorageLocat>().First(w => w.WareHouseNo == detail.WareHouseNo && w.AreaNo == detail.AreaNo && w.LocatNo == detail.LocatNo);
+ if (statrtLocat == null)
+ {
+ throw new Exception($"璇ユ《鎵�鍦ㄧ殑鍌ㄤ綅淇℃伅涓嶅瓨鍦�!");
+ }
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+
+ //鏌ユ壘鏄惁鏈夌┖浣欒剰妗朵綅
+ var endLocat = Db.Queryable<SysStorageLocat>().First(w => w.WareHouseNo == detail.WareHouseNo && w.AreaNo.Contains("04") && w.Status == "0" && w.Flag=="0");
+ if (endLocat == null)
+ {
+ detail.Status = "5";//寮傚父閿佸畾
+ detail.PalletStatus = "3";//鑴忔《
+ //淇敼搴撳瓨鐘舵��
+ Db.Updateable(detail).ExecuteCommand();
+ }
+ else
+ {
+ //鐢熸垚璋冨害灏忚溅鍑�妗跺幓鑴忔《鍖轰换鍔�
+ var ztask = new TaskDetial
+ {
+ Startport = detail.LocatNo,
+ Endport = endLocat.LocatNo,
+ Pallno = PalletNo,
+ Type = "3",
+ Crtype = "2",
+ Noticedetailno = 0,
+ };
+ CreateLotTask(ztask);
+
+ statrtLocat.Status = "3";//鍑哄簱涓�
+ //淇敼璧峰鍌ㄤ綅鐘舵��
+ Db.Updateable(statrtLocat).ExecuteCommand();
+
+ detail.Status = "5";//寮傚父閿佸畾
+ detail.PalletStatus = "3";//鑴忔《
+ //淇敼搴撳瓨鐘舵��
+ Db.Updateable(detail).ExecuteCommand();
+ }
+ Db.CommitTran();
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw ex;
+ }
+ }
+
+ /// <summary>
+ /// MES涓嬪彂娓呮礂閿佸畾鑴忔《
+ /// </summary>
+ /// <param name="pallnetmsg"></param>
+ public void CleanPallet(Pallnetmsg pallnetmsg)
+ {
+ try
+ {
+ var detail = Db.Queryable<DataStockDetail>().First(w => w.PalletNo == pallnetmsg.PalletNo && w.PalletStatus == "3");
+ if (detail == null)
+ {
+ throw new Exception($"搴撳瓨涓笉瀛樺湪妗跺彿涓猴細{pallnetmsg.PalletNo}鐨勫簱瀛�!");
+ }
+ //涓嬪彂灏忚溅浠诲姟
+ var task = new TaskDetial
+ {
+ Startport = detail.LocatNo,
+ Endport = pallnetmsg.Location,
+ Pallno = detail.PalletNo,
+ Type = "3",
+ Crtype = "1",
+ Noticedetailno = 0,
+ LotNo = "",
+ };
+ CreateLotTask(task);
+ }
+ catch (Exception ex)
+ {
throw ex;
}
}
@@ -262,7 +336,7 @@
{
Startport = pallnetmsg.Location,
Endport = loction.LocatNo,
- Pallno = pallnetmsg.Palletno,
+ Pallno = pallnetmsg.PalletNo,
Type = pallnetmsg.Type,
Crtype = "0",
Noticedetailno = int.Parse(noticeno),
@@ -371,7 +445,19 @@
{
//寮�鍚簨鍔�
Db.BeginTran();
- var na = taskDetial.Crtype == "0"?"鍏ュ簱":"鍑哄簱";
+ var na = "";
+ switch (taskDetial.Crtype)
+ {
+ case "0":
+ na = "鍏ュ簱";
+ break;
+ case "1":
+ na = "鍑哄簱";
+ break;
+ case "2":
+ na = "绉诲簱";
+ break;
+ }
var bz = "";
switch (taskDetial.Type)
{
@@ -459,7 +545,7 @@
logTaskEntry.IsSuccess = 1;
logTaskEntry.BackDate = DateTime.Now;
logTaskEntry.Status = "1";
- if (taskDetial.Crtype == "0")
+ if (taskDetial.Crtype == "0" || taskDetial.Crtype == "2")
{
sql = $"UPDATE SysStorageLocat SET Status = '2' where LocatNo = '{taskDetial.Endport}'";
if (taskDetial.Type == "2")
@@ -483,7 +569,6 @@
Db.RollbackTran();
throw ex;
}
-
}
}
}
diff --git a/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs b/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs
index f413095..e465c28 100644
--- a/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs
+++ b/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing Model.InterFaceModel;
+using System;
using System.Collections.Generic;
using System.Text;
using static Model.InterFaceModel.RCSModel;
@@ -15,7 +16,19 @@
/// <returns></returns>
public void GetPalletNo(Pallnetmsg pallnetmsg);
-
+ /// <summary>
+ /// 灏嗗噣妗舵敼涓鸿剰妗跺苟鎷夊埌鑴忔《鍖�
+ /// </summary>
+ /// <param name="PalletNo"></param>
+ /// <returns></returns>
+ public void ChangePalletStatus(string PalletNo);
+
+ /// <summary>
+ /// MES涓嬪彂娓呮礂閿佸畾鑴忔《
+ /// </summary>
+ /// <param name="pallnetmsg"></param>
+ public void CleanPallet(Pallnetmsg pallnetmsg);
+
/// <summary>
/// 鐢宠鍌ㄤ綅
/// </summary>
diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index e602b17..d187930 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -437,6 +437,66 @@
return Ok(result);
}
}
+ /// <summary>
+ /// 灏嗗噣妗舵敼涓鸿剰妗跺苟鎷夊埌鑴忔《鍖�
+ /// </summary>
+ /// <param name="pallmsg"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult ChangePalletStatus(Pallnetmsg pallmsg)
+ {
+ var result = new ErpModel { Success = -1, Message = "", };
+ try
+ {
+ if (string.IsNullOrWhiteSpace(pallmsg.PalletNo))
+ {
+ result.Message = "妗剁紪鍙蜂笉鑳戒负绌猴紒";
+ return Ok(result);
+ }
+ _rcsserver.ChangePalletStatus(pallmsg.PalletNo);
+ result.Success = 0;
+ result.Message = "鎿嶄綔鎴愬姛锛�";
+ return Ok(result);
+ }
+ catch (Exception e)
+ {
+ result.Message = e.Message;
+ return Ok(result);
+ }
+ }
+
+ /// <summary>
+ /// MES涓嬪彂娓呮礂閿佸畾鑴忔《
+ /// </summary>
+ /// <param name="pallmsg"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult CleanPallet(Pallnetmsg pallmsg)
+ {
+ var result = new ErpModel { Success = -1, Message = "", };
+ try
+ {
+ if (string.IsNullOrWhiteSpace(pallmsg.Location))
+ {
+ result.Message = "鍙枡浣嶇疆涓虹┖锛�";
+ return Ok(result);
+ }
+ if (string.IsNullOrWhiteSpace(pallmsg.PalletNo))
+ {
+ result.Message = "妗跺彿涓虹┖锛�";
+ return Ok(result);
+ }
+ _rcsserver.CleanPallet(pallmsg);
+ result.Success = 0;
+ result.Message = "鍙《鎴愬姛锛�";
+ return Ok(result);
+ }
+ catch (Exception e)
+ {
+ result.Message = e.Message;
+ return Ok(result);
+ }
+ }
/// <summary>
/// RCS鐢宠鍌ㄤ綅
@@ -459,7 +519,7 @@
result.Message = "浠诲姟绫诲瀷涓虹┖锛�";
return Ok(result);
}
- if (string.IsNullOrWhiteSpace(pallmsg.Palletno))
+ if (string.IsNullOrWhiteSpace(pallmsg.PalletNo))
{
result.Message = "鐢宠鎵樼洏鍙蜂负绌猴紒";
return Ok(result);
--
Gitblit v1.8.0