From 527f2222ec9b268e5429326417a37a81bdaf5037 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期四, 04 七月 2024 10:17:53 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.BLL/BllTransServer/RcsServer.cs | 450 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 370 insertions(+), 80 deletions(-)
diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index 930861c..eff7a95 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -1,14 +1,16 @@
-锘縰sing Microsoft.IdentityModel.Protocols;
-using Newtonsoft.Json;
+锘縰sing Newtonsoft.Json;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Utility.Tools;
+using WMS.DAL;
using WMS.Entity.BllAsnEntity;
+using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
+using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllTransServer;
using static Model.InterFaceModel.RCSModel;
@@ -24,99 +26,233 @@
/// <param name="warehouseno">搴撳尯</param>
/// <param name="type">鍙枡绫诲瀷</param>
/// <returns></returns>
- public void GetPalletNo(string warehouseno, string type, out string palletno, out string locatno)
+ public void GetPalletNo(Pallnetmsg pallnetmsg)
{
- var sql = "select LocatNo,palletno from SysStorageLocat where status = '1'";
- SysStorageLocat pallet = new SysStorageLocat();
+ DataStockDetail pallet = new DataStockDetail();
try
{
- switch (type)
+ var house = "W01";//鍙《浣嶇疆锛屽悗缁牴鎹綅缃叧鑱旀垨瀹氫箟锛屾潵鍒ゆ柇鍙《浣嶇疆鎵�灞炶溅闂�
+ var url = "";//鍥炰紶MES鐨勬帴鍙e湴鍧�
+ var noticeno = "0";//鍑哄叆搴撳崟鎹槑缁咺D
+ var sql = "select PalletNo,LocatNo from DataStockDetail where Status = '0'";
+ switch (pallnetmsg.Type)
{
case "0"://鍙噣妗�
- sql += $"and WareHouseNo = 'A01' and WareHouseNo = '{warehouseno}' order by updatetime desc";
- pallet = Db.Ado.SqlQuery<SysStorageLocat>(sql).FirstOrDefault();
+ 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("鏆傛棤鍑�妗跺彲鍒嗛厤");
}
- break;
- case "3"://鍙剰妗�
- sql += $"and WareHouseNo = 'A04' and WareHouseNo = '{warehouseno}' order by updatetime desc";
- pallet = Db.Ado.SqlQuery<SysStorageLocat>(sql).FirstOrDefault();
- if (pallet == null)
- {
- throw new Exception("鏆傛棤鑴忔《鍙垎閰�");
- }
- break;
- }
- palletno = pallet.PalletNo;
- locatno = pallet.LocatNo;
- }
- catch (Exception)
- {
- throw;
- }
- }
-
- /// <summary>
- /// RCS鍙《(娣锋枡妗跺拰涓嬫枡妗�)
- /// </summary>
- /// <param name="warehouseno">搴撳尯</param>
- /// <param name="type">鍙枡绫诲瀷</param>
- /// <param name="lotno">鍙枡鎵规</param>
- /// <returns></returns>
- public void GetPalletNo(string warehouseno, string type, string lotno, out string palletno, out string locatno)
- {
- var sql = "";
- var pallet = "";
- DataStockDetail SoMes = new DataStockDetail();
- try
- {
- switch (type)
- {
+ break;
case "1"://鍙枡妗讹紙娣锋枡锛�
- BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail();
+ //鍒ゆ柇鏄惁鏈夋壒娆″彿
+ if (string.IsNullOrWhiteSpace(pallnetmsg.LotNo))
+ {
+ throw new Exception("鎵规鍙蜂负绌猴紒");
+ }
+ /*BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail();
//鍒ゆ柇璇ユ壒娆℃槸鍚︽湁瀵瑰簲鍏ュ簱鍗�
- sql += $"select * from BllArrivalNoticeDetail where LotNo = '{lotno}' order by CreateTime desc";
+ sql = $"select * from BllArrivalNoticeDetail where LotNo = '{pallnetmsg.LotNo}' order by CreateTime desc";
ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault();
if (ArriveMes == null)
{
throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
}
+ noticeno = ArriveMes.Id.ToString();*/
//鏌ユ壘搴撳瓨涓槸鍚︽湁鍙敤鐨勬鎵规鐨勬贩鏂欐《
- sql = $"select LocatNo,palletno from DataStockDetail " +
- $"left join SysStorageLocat b on a.LocatNo = b.LocatNo " +
- $"where a.LotNo = '{lotno}'and a.WareHouseNo = '{warehouseno}' and b.status = '1' " +
- $"order by CompleteTime desc";
- SoMes = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
+ 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)
{
throw new Exception("鏆傛棤娣锋枡妗跺彲鍒嗛厤");
}
+
break;
case "2"://鍙枡妗讹紙涓嬫枡锛�
+ BllExportNoticeDetail bllSo = new BllExportNoticeDetail();
+ //鍒ゆ柇鏄惁鏈夋壒娆″彿
+ if (string.IsNullOrWhiteSpace(pallnetmsg.LotNo))
+ {
+ throw new Exception("鎵规鍙蜂负绌猴紒");
+ }
+ //鏌ユ壘鏄惁鏈夋鎵规鍑哄簱鍗�
+ sql = $"select * from BllExportNoticeDetail where LotNo = '{pallnetmsg.LotNo}' order by CreateTime desc";
+ bllSo = Db.Ado.SqlQuery<BllExportNoticeDetail>(sql).FirstOrDefault();
+ if (bllSo == null)
+ {
+ throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍑哄簱鍗�");
+ }
+ noticeno = bllSo.Id.ToString();
//鏌ユ壘搴撳瓨涓槸鍚︽湁姝ゆ壒娆$殑涓嬫枡妗�
- sql = $"select LocatNo,palletno from DataStockDetail" +
- $"left join SysStorageLocat b on a.LocatNo = b.LocatNo " +
- $"where a.LotNo = '{lotno}'and a.WareHouseNo = '{warehouseno}' and b.status = '1'" +
- $" order by CompleteTime desc";
- SoMes = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
+ 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)
{
throw new Exception("鏆傛棤涓嬫枡妗跺彲鍒嗛厤");
}
break;
+ case "3"://鍙剰妗�
+ 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;
}
- palletno = SoMes.PalletNo;
- locatno = SoMes.LocatNo;
-
+ //涓嬪彂灏忚溅浠诲姟
+ var task = new TaskDetial
+ {
+ Startport = pallet.LocatNo,
+ Endport = pallnetmsg.Location,
+ Pallno = pallet.PalletNo,
+ Type = pallnetmsg.Type,
+ Crtype = "1",
+ Noticedetailno = int.Parse(noticeno),
+ LotNo = pallnetmsg.LotNo,
+ };
+ CreateLotTask(task);
+ return;
}
- catch (Exception)
+ catch (Exception ex)
{
+ Db.Ado.RollbackTran();
+ throw ex;
+ }
+ }
- throw;
+ /// <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;
}
}
@@ -125,16 +261,20 @@
/// </summary>
/// <param name="PalletNo"></param>
/// <returns></returns>
- public void ApplyLocatNo(string palletno, string type, out string locatno)
+ public void ApplyLocatNo(Pallnetmsg pallnetmsg)
{
var sql = $"select LocatNo from SysStorageLocat where status = '0'";
+ var sql2 = "";
+ var house = "W01";//鈥︹�﹀彨妗朵綅缃紝鍚庣画鏍规嵁浣嶇疆鍏宠仈鎴栧畾涔夛紝鏉ュ垽鏂彨妗朵綅缃墍灞炶溅闂�
+ var noticeno = "0";//鍑哄叆搴撳崟鎹槑缁咺D
SysStorageLocat loction = new SysStorageLocat();
+ BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail();
try
{
- switch (type)
+ switch (pallnetmsg.Type)
{
case "0"://鍑�妗剁敵璇峰偍浣�
- sql += $"and WareHouseNo = 'A01'";
+ sql += $"and AreaNo like '%01' and WareHouseNo = '{house}'";
loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault();
if (loction == null)
{
@@ -142,7 +282,20 @@
}
break;
case "1"://娣锋枡妗剁敵璇峰偍浣�
- sql += $"and WareHouseNo = 'A02'";
+ //鍒ゆ柇鏄惁鏈夋壒娆″彿
+ if (string.IsNullOrWhiteSpace(pallnetmsg.LotNo))
+ {
+ throw new Exception("鎵规鍙蜂负绌猴紒");
+ }
+ //鏍¢獙姝ゆ壒娆℃槸鍚︽湁鍏ュ簱鍗�
+ /*sql2 = $"select * from BllArrivalNoticeDetail where LotNo = '{pallnetmsg.LotNo}' order by CreateTime desc";
+ ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault();
+ if (ArriveMes == null)
+ {
+ throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
+ }
+ noticeno = ArriveMes.Id.ToString();*/
+ sql += $"and AreaNo like '%02' and WareHouseNo = '{house}'";
loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault();
if (loction == null)
{
@@ -150,7 +303,20 @@
}
break;
case "2"://鍗婃垚鍝佹《鐢宠鍌ㄤ綅
- sql += $"and WareHouseNo = 'A03'";
+ //鍒ゆ柇鏄惁鏈夋壒娆″彿
+ if (string.IsNullOrWhiteSpace(pallnetmsg.LotNo))
+ {
+ throw new Exception("鎵规鍙蜂负绌猴紒");
+ }
+ //鏍¢獙姝ゆ壒娆℃槸鍚︽湁鍏ュ簱鍗�
+ sql2 = $"select * from BllArrivalNoticeDetail where LotNo = '{pallnetmsg.LotNo}' order by CreateTime desc";
+ ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql2).FirstOrDefault();
+ if (ArriveMes == null)
+ {
+ throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
+ }
+ noticeno = ArriveMes.Id.ToString();
+ sql += $"and AreaNo like '%03' and WareHouseNo = '{house}'";
loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault();
if (loction == null)
{
@@ -158,7 +324,7 @@
}
break;
case "3"://鑴忔《鐢宠鍌ㄤ綅
- sql += $"and WareHouseNo = 'A04'";
+ sql += $"and AreaNo like '%04' and WareHouseNo = '{house}'";
loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault();
if (loction == null)
{
@@ -166,7 +332,17 @@
}
break;
}
- locatno = loction.PalletNo;
+ var task = new TaskDetial
+ {
+ Startport = pallnetmsg.Location,
+ Endport = loction.LocatNo,
+ Pallno = pallnetmsg.PalletNo,
+ Type = pallnetmsg.Type,
+ Crtype = "0",
+ Noticedetailno = int.Parse(noticeno),
+ LotNo = pallnetmsg.LotNo,
+ };
+ CreateLotTask(task);
}
catch (Exception)
{
@@ -186,10 +362,11 @@
/// <param name="agvCode"></param>
/// <param name="url">RCS鍦板潃</param>
/// <returns></returns>
- public string genAgvSchedulingTask(AgvTask agv,string url, ref genAgvSchedulingTaskRep cbrep)
+ public genAgvSchedulingTaskRep genAgvSchedulingTask(AgvTask agv,string url)
{
try
{
+ genAgvSchedulingTaskRep cbrep = new genAgvSchedulingTaskRep();
PositionCodePath pcd1 = new PositionCodePath()
{
positionCode = agv.startPos.ToString(),
@@ -215,14 +392,10 @@
//ctnrCode="2",
};
- if (agv.startPos == "50")
- {
- cbreq.ctnrTyp = "4";
- }
cbrep = genAgvSchedulingTask(cbreq,url);
- return cbrep.code;
+ return cbrep;
}
catch (Exception ex) { throw ex; }
}
@@ -266,19 +439,136 @@
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
- public void CreateLotTask(string startport,string endport,string type,string tasktype)
+ public void CreateLotTask(TaskDetial taskDetial)
{
try
{
-
-
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ var na = "";
+ switch (taskDetial.Crtype)
+ {
+ case "0":
+ na = "鍏ュ簱";
+ break;
+ case "1":
+ na = "鍑哄簱";
+ break;
+ case "2":
+ na = "绉诲簱";
+ break;
+ }
+ var bz = "";
+ switch (taskDetial.Type)
+ {
+ case "0":
+ bz = "鍑�妗�"+na+"浠诲姟";
+ break;
+ case "1":
+ bz = "棰勬贩鏂欐《" + na + "浠诲姟";
+ break;
+ case "2":
+ bz = "鍗婃垚鍝佹枡妗�" + na + "浠诲姟";
+ break;
+ case "3":
+ bz = "鑴忔《" + na + "浠诲姟";
+ break;
+ }
+ var sql = "";
+ var sql2 = "";
+ var ordertype = "3";
+ //娑夊強鍑哄叆搴撳崟鎹殑鐘舵�佷俊鎭敼鍙�
+ if (taskDetial.Type == "2" && taskDetial.Crtype =="1")//鍗婃垚鍝佸嚭搴�
+ {
+ ordertype = "1";
+ sql = $"UPDATE BllExportNotice SET Status ='1' " +
+ $"where asnno = (select ASNNO from BllExportNoticeDetail where id = {taskDetial.Noticedetailno})";
+ Db.Ado.ExecuteCommand(sql);
+ }
+ else if(taskDetial.Type =="2" && taskDetial.Crtype == "0")//鍗婃垚鍝佸叆搴�
+ {
+ ordertype = "0";
+ var ArrivalMsg = Db.Queryable<BllArrivalNoticeDetail>().First(it => it.Id == taskDetial.Noticedetailno);
+ //淇敼鍏ュ簱鍗曟�昏〃涓崟鎹姸鎬佷负姝e湪鎵ц
+ sql = $"UPDATE BllArrivalNotice SET Status ='1' where asnno = '{ArrivalMsg.ASNNo}'";
+ Db.Ado.ExecuteCommand(sql);
+ //搴撳瓨涓坊鍔犳鎵樼洏鐗╂枡缂栫爜鍜岀紪鐮佸悕绉�
+ sql2 = $"UPDATE DataStockDetail SET SkuNo = '{ArrivalMsg.SkuNo}',SkuName = '{ArrivalMsg.SkuName}' " +
+ $"where PalletNo = '{taskDetial.Pallno}'and LotNo = '{taskDetial.LotNo}'";
+ Db.Ado.ExecuteCommand(sql2);
+ }
+
+ //鍒ゆ柇浠诲姟鏄惁涓烘柊浠诲姟
+ if (string.IsNullOrWhiteSpace(taskDetial.Taskno))
+ {
+ taskDetial.Taskno = new Common().GetMaxNo("TK");
+ }
+ var logTaskEntry = new LogTask
+ {
+ TaskNo = taskDetial.Taskno,
+ Sender = "WMS",
+ Receiver = "RCS",
+ //IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+ SendDate = DateTime.Now, //鍙戦�佹椂闂�
+ //BackDate = DateTime.Now, //杩斿洖鏃堕棿
+ StartLocat = taskDetial.Startport,//璧峰浣嶇疆
+ EndLocat = taskDetial.Endport,//鐩爣浣嶇疆
+ PalletNo = taskDetial.Pallno,//鎵樼洏鐮�
+ IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+ IsCancel = 1,//鏄惁鍙彇娑�
+ IsFinish = 1,//鏄惁鍙畬鎴�
+ Type = taskDetial.Crtype,//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ OrderType = ordertype,//鍗曟嵁绫诲瀷 0 鍏ュ簱 1 鍑哄簱 3鍏朵粬
+ Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+ NoticeDetailNo = int.Parse(taskDetial.Noticedetailno.ToString()),
+ Msg = bz, //鍏抽敭淇℃伅
+ };
+ var Agv = new AgvTask
+ {
+ taskCode = taskDetial.Taskno,
+ taskType = taskDetial.Type,
+ startPos = taskDetial.Startport,
+ endPos = taskDetial.Endport,
+ agvCode = "1",//鈥︹�﹂渶瑕佸拰AGV纭姝ゅ瓧娈靛��
+ };
+
+ //璇锋眰灏忚溅
+ genAgvSchedulingTaskRep chrep =genAgvSchedulingTask(Agv, "url");
+ if (chrep.code != "0")
+ {
+ logTaskEntry.IsSuccess = 0;
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+ Db.CommitTran();
+ throw new Exception("RCS浠诲姟涓嬪彂閿欒锛孯CS杩斿洖娑堟伅锛�" + chrep.message);
+ }
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";
+ if (taskDetial.Crtype == "0" || taskDetial.Crtype == "2")
+ {
+ sql = $"UPDATE SysStorageLocat SET Status = '2' where LocatNo = '{taskDetial.Endport}'";
+ if (taskDetial.Type == "2")
+ {
+ sql2 = $"UPDATE DataStockDetail SET PalletStatus = '{taskDetial.Type}',LotNo = '{taskDetial.LotNo}' " +
+ $"where PalletNo = '{taskDetial.Pallno}'";
+ Db.Ado.ExecuteCommand(sql2);
+ }
+ }
+ else
+ {
+ sql = $"UPDATE SysStorageLocat SET Status = '3' where LocatNo = '{taskDetial.Startport}' ";
+ }
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+ Db.Ado.ExecuteCommand(sql);
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
}
- catch (Exception)
+ catch (Exception ex)
{
-
- throw;
+ Db.RollbackTran();
+ throw ex;
}
-
}
}
}
--
Gitblit v1.8.0