From 225d1bcc777149a5cad91e1376473e00fec9ff4c Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期五, 23 五月 2025 14:23:17 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.BLL/HttpServer.cs | 552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 541 insertions(+), 11 deletions(-)
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 4175a56..b758081 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -1,13 +1,17 @@
锘縰sing Model.InterFaceModel;
+using Model.ModelVm;
+using Newtonsoft.Json;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using Utility.Tools;
using WMS.BLL.Logic;
using WMS.BLL.LogServer;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
+using WMS.Entity.BllQualityEntity;
using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
@@ -27,10 +31,10 @@
/// </summary>
/// <param name="palletNo"></param>
/// <param name="houseNo"></param>
- /// <param name="roadwayNo"></param>
+ /// <param name="ceng"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
- public OutCommandDto RequestLocation(string palletNo, string houseNo)
+ public OutCommandDto RequestLocation(string palletNo, string houseNo,string ceng)
{
try
{
@@ -80,7 +84,7 @@
}
}
var upShelfOldList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1")).ToList();
- if (upShelfOldList != null) //鏌ヨ鍒板叆搴撲俊鎭�
+ if (upShelfOldList.Count != 0) //鏌ヨ鍒板叆搴撲俊鎭�
{
var upShelfOld = upShelfOldList.First();
var beingTask = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == upShelfOld.TaskNo);
@@ -239,7 +243,7 @@
areaList.Add(item);
}
- locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "");
+ locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "",ceng);
#endregion
@@ -287,8 +291,8 @@
// 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl
foreach (DataStockDetail stockModel in stockDetail)
{
- var bindModel = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.Status == "2"
- && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo);
+ var bindModel = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2"
+ && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo).OrderByDescending(m=>m.CreateTime).First();
if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.TaskNo))
{
bindModel.TaskNo = taskNo;
@@ -590,8 +594,8 @@
foreach (DataStockDetail stockModel in stockDetail)
{
- var bindModel = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.Status == "2"
- && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo);
+ var bindModel = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2"
+ && m.PalletNo == stockModel.PalletNo && m.ASNNo == stockModel.ASNNo && m.ASNDetailNo == stockModel.ASNDetailNo).OrderByDescending(m=>m.CreateTime).First();
if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.TaskNo))
{
bindModel.TaskNo = taskNo;
@@ -1137,9 +1141,8 @@
}
}
-
/// <summary>
- /// 绉诲簱浠诲姟瀹屾垚JC34
+ /// 绉诲簱鍗曠殑 绉诲簱浠诲姟瀹屾垚JC34 鍏煎AGV灏忚溅绉诲簱
/// </summary>
/// <param name="taskNo"></param>
/// <param name="userId"></param>
@@ -1188,7 +1191,7 @@
if (userId != 0)
{
//娣诲姞鎿嶄綔鏃ュ織璁板綍
- var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
+ var k = new OperationASNServer().AddLogOperationAsn("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
}
foreach (var item in stockDetail)
@@ -1242,6 +1245,533 @@
}
}
+ /// <summary>
+ /// 鍑哄簱鍗曠殑绉诲簱浠诲姟锛孞C34 璐ф灦鎵樼洏涓嬫灦
+ /// </summary>
+ /// <param name="taskNo">浠诲姟鍙�</param>
+ /// <param name="userId">鎿嶄綔浜�</param>
+ /// <exception cref="Exception"></exception>
+ public void ExMoveSuccess(string taskNo, int userId)
+ {
+ try
+ {
+ //褰撳墠浠诲姟淇℃伅
+ var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
+ if (task == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
+ }
+ if (task.Status == "2")
+ {
+ throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+ }
+ Db.BeginTran();
+ //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+ //褰撳墠浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅
+ //褰撳墠浠诲姟涓殑鍘熷偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
+ if (locate == null)
+ {
+ throw new Exception($"WMS绯荤粺涓病鏈夎{task.StartLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+ }
+ var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
+ if (locate2 == null)
+ {
+ throw new Exception($"WMS绯荤粺涓病鏈夎{task.EndLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+ }
+ //骞冲簱涓偍浣嶉泦鍚�
+ var pingKuLocate = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == "W04" && m.IsDel == "0").ToList();
+ var pingKuList = pingKuLocate.Select(m => m.LocatNo).ToList();
+ try
+ {
+
+ //task.Status = "5";//浠诲姟鐘舵��
+ ////鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱
+ //if (pingKuList.Contains(task.StartLocat) && pingKuList.Contains(task.EndLocat))
+ //{
+ task.Status = "2";
+ //}
+
+ task.IsSend = 0;
+ task.IsCancel = 0;
+ task.IsFinish = 0;
+ task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+ Db.Updateable(task).ExecuteCommand();
+
+ #region 淇敼鍌ㄤ綅鐘舵��
+
+ if (!pingKuList.Contains(task.StartLocat))
+ {
+ //鍘熷偍浣嶆敼涓虹┖鍌ㄤ綅 0
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
+
+
+ //鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
+ locate2.Status = "1";
+ Db.Updateable(locate2).ExecuteCommand();
+
+ foreach (var item in stockDetail)
+ {
+ item.WareHouseNo = locate2.WareHouseNo;
+ item.AreaNo = locate2.AreaNo;
+ item.RoadwayNo = locate2.RoadwayNo;
+ item.LocatNo = locate2.LocatNo;
+ }
+ Db.Updateable(stockDetail).ExecuteCommand();
+
+
+
+ #endregion
+
+ Db.CommitTran();
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw new Exception(ex.Message);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
+ }
+ }
+
+
+
+ /// <summary>
+ /// PDA涓嬪彂鍑哄簱
+ /// </summary>
+ /// <param name="soNo"></param>
+ /// <param name="detailId"></param>
+ /// <param name="outMode"></param>
+ /// <param name="userId"></param>
+ /// <param name="url"></param>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public List<OutCommandDto> IssueOutHouseLk(string soNo, string detailId,string outMode, int userId, string url, out string str)
+ {
+ try
+ {
+ var outDto1 = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚堬紙娣卞害涓�1鐨勫偍浣嶏級
+ //璁板綍閿欒淇℃伅鐨勯泦鍚� //1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱
+
+
+ var com = new Common();
+ var notice = Db.Queryable<BllExportNotice>().First(m => m.SONo == soNo && m.IsDel == "0");
+ if (notice == null)
+ {
+ throw new Exception($"鏈壘鍒皗soNo}鍑哄簱鍗曚俊鎭�");
+ }
+ if (notice.WareHouseNo != "W02")
+ {
+ throw new Exception("浠撳簱鍙烽敊璇�");
+ }
+ var intDetailId = int.Parse(detailId);
+ if (intDetailId <=0)
+ {
+ throw new Exception("閫夋嫨鐨勫嚭搴撳崟鏄庣粏鍙傛暟閿欒");
+ }
+ //鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�)
+ var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.Status == "0" );
+ if (item == null) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按
+ {
+ throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
+ }
+
+ #region 闆嗗悎
+
+ //瑕佸嚭搴撶殑鏄庣粏闆嗗悎
+ var outStockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == item.PalletNo).ToList();
+ //鐗╂枡缂栫爜琛�
+ var skuList = Db.Queryable<SysMaterials>().Where(w => w.IsDel == "0");
+ //鍖呰琛�
+ var packagList = Db.Queryable<SysPackag>().Where(w => w.IsDel == "0");
+ Db.BeginTran();
+ try
+ {
+ List<LogTask> logTaskList = new List<LogTask>();//姝ゆ鍑哄簱浠诲姟闆嗗悎锛屼负搴斿鍚屾墭鐩樹笉鍚岀墿鏂欏嚭搴�
+ var i = 0;
+ str = string.Empty;
+ var outLocatelist1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B02" && m.Flag == "0").ToList();
+ var outLocatelist2 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B05" && m.Flag == "0").ToList();
+ //寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
+
+ var outModeLocate = outMode;
+
+ var taskNoStr = "";
+
+ // 鍌ㄤ綅鍙�
+ var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo).LocatNo;
+
+ #region 鍒ゆ柇
+
+ //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐�
+ if (string.IsNullOrWhiteSpace(locateNo)) //搴撳
+ {
+ //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑
+ var imBl = com.GetImTask(item.PalletNo);
+ if (imBl != null)
+ {
+ str = "瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱";
+ return outDto1;
+ }
+ //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴�
+ if (item.Status == "0")
+ {
+ //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鍒嗛厤淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚
+ item.Status = "2";//鐘舵��
+ item.OutMode = outModeLocate;//鍑哄簱鍙�
+ Db.Updateable(item).ExecuteCommand();
+ var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo);
+ if (noticeDetail != null) //鏇存柊鍑哄簱鍗曟嵁鐨勪笅鍙戞暟閲�
+ {
+ noticeDetail.FactQty += item.Qty;
+ Db.Updateable(noticeDetail).ExecuteCommand();
+ }
+
+ //var notice2 = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == item.SONo);
+ if (notice.Status == "0" || notice.Status == "1" || notice.Status == "2")
+ {
+ var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == item.SONo).ToList();
+ if (detailList.Count(m => m.Qty >= m.AllotQty) > 0)
+ {
+ notice.Status = "3"; //鍙樻洿鐘舵�佷负姝e湪鎵ц
+ Db.Updateable(notice).ExecuteCommand();
+ }
+ }
+ str = "瑕佸嚭搴撶殑鎵樼洏宸插湪搴撳";
+ return outDto1;
+ }
+ str = "瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱";
+ return outDto1;
+ }
+
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo && m.IsDel == "0");//褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
+ if (locate == null)
+ {
+ str = "鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)";
+ return outDto1;
+ }
+ //鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧�
+ if (locate.Flag == "2")
+ {
+ str = "鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱";
+ return outDto1;
+ }
+ if (locate.WareHouseNo != "W02")
+ {
+ str = "鎵樼洏涓嶅湪璐ф灦搴撲笂";
+ return outDto1;
+ }
+ var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
+ if (locate2 == null)
+ {
+ str = "鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)";
+ return outDto1;
+ }
+ else if (locate2.Status != "0")
+ {
+ str = "鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅";
+ return outDto1;
+ }
+ #endregion
+
+ if (locate.Status == "1") //鏈夌墿鍝�
+ {
+ #region 娣诲姞鍑哄簱浠诲姟
+
+ var taskNo = new Common().GetMaxNo("TK");
+ var exTask = new LogTask //鍑哄簱浠诲姟
+ {
+ TaskNo = taskNo,
+ Sender = "WMS",
+ Receiver = "WCS",
+ IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+
+ StartLocat = locate.LocatNo,//璧峰浣嶇疆
+ EndLocat = outModeLocate,//鐩爣浣嶇疆
+ PalletNo = item.PalletNo,//鎵樼洏鐮�
+ IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+ IsCancel = 1,//鏄惁鍙彇娑�
+ IsFinish = 1,//鏄惁鍙畬鎴�
+ Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+ OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
+ Msg = "浠�" + locate.LocatNo + "鍒�" + outModeLocate + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
+ };
+ Db.Insertable(exTask).ExecuteCommand();
+ logTaskList.Add(exTask);
+
+ outDto1.Add(new OutCommandDto()
+ {
+ TaskNo = exTask.TaskNo, // 浠诲姟鍙�
+ TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉�
+
+ PalletNo = item.PalletNo,//鎵樼洏鍙�
+ StartLocate = locate.LocatNo, // 璧峰浣嶇疆
+ StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
+ EndLocate = outModeLocate, // 鐩爣浣嶇疆
+
+ Order = 999,
+ Type = PLCTypeEnum.AGV
+
+ });
+ taskNoStr = exTask.TaskNo;
+
+ #endregion
+
+ #region 鏀瑰彉鏁版嵁
+ if (item.Status == "0")//鍒ゆ柇鎵樼洏鏄惁涓嬪彂杩�
+ {
+ var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo);
+ if (noticeDetail != null) //鏇存柊鍑哄簱鍗曟嵁鐨勪笅鍙戞暟閲�
+ {
+ noticeDetail.FactQty += item.Qty;
+ Db.Updateable(noticeDetail).ExecuteCommand();
+ }
+
+ //var notice2 = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == item.SONo);
+ if (notice.Status == "0" || notice.Status == "1" || notice.Status == "2")
+ {
+ var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == item.SONo).ToList();
+ if (detailList.Count(m => m.Qty >= m.AllotQty) > 0)
+ {
+ notice.Status = "3"; //鍙樻洿鐘舵�佷负姝e湪鎵ц
+ Db.Updateable(notice).ExecuteCommand();
+ }
+ }
+ }
+ locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
+ Db.Updateable(locate).ExecuteCommand();
+ var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
+ locate2.Status = "4";
+ Db.Updateable(locate2).ExecuteCommand();
+
+ item.TaskNo = taskNoStr; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
+ item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛�
+ //item.UnstackingMode = unstackingMode2;//鎷嗗灈鏂瑰紡
+ item.OutMode = outModeLocate;//鍑哄簱鍙�
+ //item.LoadingAddre = unstackingMode2 == "0" ? loadingAddre : "";//瑁呰溅鍙�
+ Db.Updateable(item).ExecuteCommand();
+
+ #endregion
+
+ }
+ else if (locate.Status == "3") //鍑哄簱涓�
+ {
+ #region 鏀瑰彉鏁版嵁
+ //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
+ if (item.Status == "0")
+ {
+ var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo);
+ if (noticeDetail != null) //鏇存柊鍑哄簱鍗曟嵁鐨勪笅鍙戞暟閲�
+ {
+ noticeDetail.FactQty += item.Qty;
+ Db.Updateable(noticeDetail).ExecuteCommand();
+ }
+
+ //var notice2 = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == item.SONo);
+ if (notice.Status == "0" || notice.Status == "1" || notice.Status == "2")
+ {
+ var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == item.SONo).ToList();
+ if (detailList.Count(m => m.Qty >= m.AllotQty) > 0)
+ {
+ notice.Status = "3"; //鍙樻洿鐘舵�佷负姝e湪鎵ц
+ Db.Updateable(notice).ExecuteCommand();
+ }
+ }
+ }
+ var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
+ if (taskNo == null)
+ {
+ taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
+ }
+ if (taskNo == null)
+ {
+ throw new Exception($"鎵樼洏鍙凤細{item.PalletNo},鍑哄簱寮傚父");
+ }
+ item.TaskNo = taskNo.TaskNo;
+ item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛�
+ item.OutMode = item.OutMode;//鍑哄簱鍙�
+ //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
+ Db.Updateable(item).ExecuteCommand();
+
+ #endregion
+ }
+ else if (locate.Status == "5") //绉诲嚭涓�
+ {
+ str = "褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭";
+ return outDto1;
+ }
+
+
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "涓嬪彂鍑哄簱", soNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鍑哄簱鍗曞彿涓猴細{soNo}鐨勫嚭搴撳崟", userId);
+ Db.CommitTran();
+
+ if (outDto1.Count > 0)
+ {
+ // 姝e紡杩愯绋嬪簭鏀惧紑
+ var list2 = outDto1.Select(m => m.TaskNo).ToList();
+ var jsonData = JsonConvert.SerializeObject(outDto1);
+ string response = "";
+
+ try
+ {
+ var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+ response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+ //瑙f瀽杩斿洖鏁版嵁
+ var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+ if (wcsModel.code == 200)
+ {
+ //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+ new TaskServer().EditTaskIssueOk(list2, time1, time2);
+ str = "涓嬪彂鎴愬姛";
+ }
+ else
+ {
+ new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message);
+ throw new Exception(wcsModel.message);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+
+ }
+
+ return outDto1;
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+
+
+ #endregion
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+
+ #region MyRegion
+
+
+ /// <summary>
+ /// 鍚慙imes鍙戦�佽楠屼俊鎭�
+ /// </summary>
+ /// <param name="model">model.Id:璇烽獙鍗曚富閿紱model.Code:鍑哄簱鍙� </param>
+ /// <param name="userId">鎿嶄綔鐢ㄦ埛</param>
+ /// <param name="url">Wcs鍦板潃</param>
+ /// <returns></returns>
+ public bool SendInspectionRequest(IdVm model, int userId, string url, string userName)
+ {
+ try
+ {
+ // 鍒ゆ柇璇烽獙鍗曠姸鎬�
+ var data = Db.Queryable<BllQualityInspectionRequest>()
+ .Where(m => m.QcNo == model.Code && m.IsDel == "0" && m.Status == "0").ToList().FirstOrDefault();
+ if (data == null)
+ {
+ throw new Exception("鎿嶄綔澶辫触!璇烽獙鍗曠姸鎬佸彉鏇�.");
+ }
+
+ // 璁板綍浠诲姟鏃ュ織
+ //var taskNo = new Common().GetMaxNo("TK");
+ //var exTask = new LogTask()
+ //{
+ // TaskNo = taskNo,
+ // Sender = "WMS",
+ // Receiver = "Limes",
+ // IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+ // StartLocat = "", //璧峰浣嶇疆
+ // PalletNo = "", //鎵樼洏鐮�
+ // IsSend = 1, //鏄惁鍙啀娆′笅鍙�
+ // IsCancel = 1, //鏄惁鍙彇娑�
+ // IsFinish = 1, //鏄惁鍙畬鎴�
+ // Status = "0", //浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+ // OrderType = "5", //0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗� 5 鍏朵粬
+ // EndLocat = "", //鐩爣浣嶇疆
+ // Type = "3", //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ // Msg = "璇烽獙浠诲姟"
+ //};
+
+ //// 鎻掑叆浠诲姟鏃ュ織
+ //Db.Insertable(exTask).ExecuteCommand();
+
+
+ // 璋冪敤Limes鎺ュ彛鍙戣捣璇烽獙
+ var sendModel = new SendLimesModel()
+ {
+ QcNo = data.QcNo,
+ SkuNo = data.SkuNo,
+ Qty = data.Qty.ToString(),
+ LotNo = data.LotNo,
+ SupplierLot = data.SupplierLot,
+ RequestUser = userName, // 璇烽獙浜�
+ };
+ var jsonData = JsonConvert.SerializeObject(sendModel);
+ string response = "";
+
+ try
+ {
+ var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+ //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Limes绯荤粺鍙戣捣璇烽獙", "Limes");
+ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+ ////瑙f瀽杩斿洖鏁版嵁
+ //var limesModel = JsonConvert.DeserializeObject<LimesModel>(response);
+ //if (limesModel.Success == 0)
+ //{
+
+
+ // 鏇存柊璇烽獙鍗曚俊鎭�
+ data.Status = "1";
+ data.SamplingQty = 10;//decimal.Parse(limesModel.SamplingQty);
+ data.RequestUser = userId;
+ data.RequestTime = DateTime.Now;
+ data.UpdateTime = DateTime.Now;
+ data.UpdateUser = userId;
+
+ Db.Updateable(data).ExecuteCommand();
+ //}
+ //if (limesModel.Success == -1)
+ //{
+
+ // throw new Exception(limesModel.Message);
+ //}
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationCrServer()
+ .AddLogOperationCr("璐ㄩ噺绠$悊", "璐ㄦ璇烽獙", model.Code, "璇烽獙", $"鍚戣川閲忛儴鍒嗗彂璧疯楠�!", userId);
+
+ return true;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ #endregion
+
}
}
--
Gitblit v1.8.0