From 1d7d162b102320c08ca09eab8401ec2203b83e12 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 01 八月 2024 08:28:19 +0800
Subject: [PATCH] 盘点
---
HTML/js/public.js | 9
Wms/Wms/Controllers/PdaSoController.cs | 125 +-----
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 642 ++++++++++++++++-------------------
Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs | 25
Pda/js/public.js | 171 ++++++---
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 62 ++
Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs | 28 +
Wms/Wms/Controllers/DownApiController.cs | 1
8 files changed, 538 insertions(+), 525 deletions(-)
diff --git a/HTML/js/public.js b/HTML/js/public.js
index f209f46..59bbbe0 100644
--- a/HTML/js/public.js
+++ b/HTML/js/public.js
@@ -38,8 +38,15 @@
if (url!=IP+"/WeatherForecast/Login") {
if (!$.cookie('token')) {
callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+ try{
+ parent.window.location.href = '/views/Login.html';
+ }
+ catch(error){
+ window.location.href = '/views/Login.html';
+ }
+ return;
}
- if(isExpired = isTokenExpired($.cookie('token'))){
+ if(isTokenExpired($.cookie('token'))){
try{
parent.window.location.href = '/views/Login.html';
}
diff --git a/Pda/js/public.js b/Pda/js/public.js
index f5ee6a9..5217d3a 100644
--- a/Pda/js/public.js
+++ b/Pda/js/public.js
@@ -1,8 +1,8 @@
// var IP = "http://47.104.149.73:1991";//鎺ュ彛IP
// var IP = "https://localhost:44368";
- //var IP = "http://localhost:13243/api";
- var IP = "http://localhost:50515/api";
- //var IP = "http://192.168.1.2:8017/";
+//var IP = "http://localhost:13243/api";
+var IP = "http://localhost:50515/api";
+//var IP = "http://192.168.1.2:8017/";
// var IP = "http://192.168.10.112/WmsService/";
// var IP = "http://192.168.1.226:8086";
// var IP = "http://192.168.62.200:8888/api";
@@ -10,92 +10,141 @@
function sendData(url, data, type, callbackFun) {
// callbackFun("{}");
// return;
-
- var deferred = $.Deferred();
- if (type != "get") {
+ var deferred = $.Deferred();
+ if (type != "get") {
data = JSON.stringify(data);
- }
- if (url!=IP+"/WeatherForecast/Login") {
+ }
+ if (url != IP + "/WeatherForecast/Login") {
if (!$.cookie('token')) {
callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+ try {
+ parent.window.location.href = '/views/Login.html';
+ }
+ catch (error) {
+ window.location.href = '/views/Login.html';
+ }
+ return;
}
- }
- $.ajax({
- url: url,
- data: data,
- type: type,
- headers: {
- 'Content-Type': 'application/json',
- "ToKen":$.cookie('token')
- },
- timeout: 45000,
- async: true,
- cache: false,
- beforeSend: function(xhr, settings) {},
- success: function(res, status, xhr) {
- callbackFun(res);
- },
- error: function(xhr, status, error) {
+ if (isTokenExpired($.cookie('token'))) {
+ try {
+ parent.window.location.href = '/views/Login.html';
+ }
+ catch (error) {
+ window.location.href = '/views/Login.html';
+ }
+ return;
+ }
+ }
+ $.ajax({
+ url: url,
+ data: data,
+ type: type,
+ headers: {
+ 'Content-Type': 'application/json',
+ "ToKen": $.cookie('token')
+ },
+ timeout: 45000,
+ async: true,
+ cache: false,
+ beforeSend: function (xhr, settings) { },
+ success: function (res, status, xhr) {
+ callbackFun(res);
+ },
+ error: function (xhr, status, error) {
callbackFun(xhr, status, error);
// layer.msg(xhr.statusText, {
// icon: 2,
// time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
// }, function() {});
- }
- });
+ }
+ });
}
function synData(url, data, type, callbackFun) {
var deferred = $.Deferred();
if (type != "get") {
data = JSON.stringify(data);
- }
- if (url!=IP+"/WeatherForecast/Login") {
+ }
+ if (url != IP + "/WeatherForecast/Login") {
if (!$.cookie('token')) {
callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+ try {
+ parent.window.location.href = '/view/Login.html';
+ }
+ catch (error) {
+ window.location.href = '/view/Login.html';
+ }
+ return;
}
- }
+ if (isTokenExpired($.cookie('token'))) {
+ try {
+ parent.window.location.href = '/view/Login.html';
+ }
+ catch (error) {
+ window.location.href = '/view/Login.html';
+ }
+ return;
+ }
+ }
$.ajax({
- url: url,
- data: data,
- type: type,
- headers: {
- "Content-Type": "application/json",
- "ToKen":$.cookie('token'),
- },
- timeout: 45000,
- async: false,
- cache: false,
- beforeSend: function (xhr, settings) {},
- success: function (res, status, xhr) {
- callbackFun(res);
- },
- error: function (xhr, status, error) {
- console.log("澶辫触浜�");
- console.log(xhr);
- callbackFun(xhr, status, error);
- },
+ url: url,
+ data: data,
+ type: type,
+ headers: {
+ "Content-Type": "application/json",
+ "ToKen": $.cookie('token'),
+ },
+ timeout: 45000,
+ async: false,
+ cache: false,
+ beforeSend: function (xhr, settings) { },
+ success: function (res, status, xhr) {
+ callbackFun(res);
+ },
+ error: function (xhr, status, error) {
+ console.log("澶辫触浜�");
+ console.log(xhr);
+ callbackFun(xhr, status, error);
+ },
});
}
-
-$("#navIcon").click(function(){
- if($(".nav_list").css('display')=='none'){
- $(".nav_list").show();
- }else{
- $(".nav_list").hide();
- }
+
+$("#navIcon").click(function () {
+ if ($(".nav_list").css('display') == 'none') {
+ $(".nav_list").show();
+ } else {
+ $(".nav_list").hide();
+ }
});
//娣辨嫹璐�
function deepCopy(obj) {
let newobj = null // 鎺ュ彈鎷疯礉鐨勬柊瀵硅薄
- if(typeof(obj) == 'object' && typeof(obj) !== null) { // 鍒ゆ柇鏄惁鏄紩鐢ㄧ被鍨�
- newobj = obj instanceof Array? []: {} // 鍒ゆ柇鏄暟缁勮繕鏄璞�
- for(var i in obj) {
+ if (typeof (obj) == 'object' && typeof (obj) !== null) { // 鍒ゆ柇鏄惁鏄紩鐢ㄧ被鍨�
+ newobj = obj instanceof Array ? [] : {} // 鍒ゆ柇鏄暟缁勮繕鏄璞�
+ for (var i in obj) {
newobj[i] = deepCopy(obj[i]) // 鍒ゆ柇涓嬩竴绾ф槸鍚﹁繕鏄紩鐢ㄧ被鍨�
- }
+ }
} else {
newobj = obj
}
-
+
return newobj
}
+
+function isTokenExpired(token) {
+ const tokenParts = token.split('.');
+ if (tokenParts.length !== 3) {
+ return true; // JWT 鏍煎紡涓嶆纭�
+ }
+ const payloadBase64 = tokenParts[1];
+ const payload = JSON.parse(atob(payloadBase64));
+
+ if (!payload || !payload.exp) {
+ return true; // 娌℃湁鏈夋晥杞借嵎鎴栬�呮病鏈夎繃鏈熸椂闂�
+ }
+
+ const now = Date.now() / 1000; // 褰撳墠鏃堕棿鎴筹紙绉掞級
+ const expiration = payload.exp;
+
+ return now >= expiration;
+ }
\ No newline at end of file
diff --git a/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs b/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
index 0558089..a67e6e5 100644
--- a/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
+++ b/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
@@ -99,4 +99,32 @@
{
public string taskNo { get; set; }
}
+
+ public class CheckVm
+ {
+ /// <summary>
+ /// 鍗曟嵁鍙�
+ /// </summary>
+ public string CrNo { get; set; }
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string SkuNo { get; set; }
+ /// <summary>
+ /// 鎵规
+ /// </summary>
+ public string LotNo { get; set; }
+ /// <summary>
+ /// 鎵樼洏鍙�
+ /// </summary>
+ public string PalletNo { get; set; }
+ /// <summary>
+ /// 绠辩爜鍙�
+ /// </summary>
+ public string BoxNo { get; set; }
+ /// <summary>
+ /// 鏀爜鍙�
+ /// </summary>
+ public List<string> BoxNo3 { get; set; }
+ }
}
diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 2b7ea82..22739af 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -1423,9 +1423,8 @@
#endregion
if (locate.Status == "1") //鏈夌墿鍝�
{
- #region 娣诲姞鍑哄簱浠诲姟
+ #region 娣诲姞瑙嗚鐩樼偣浠诲姟
var taskNo = new Common().GetMaxNo("TK");
- //娣诲姞鍑哄簱浠诲姟
var exTask = new LogTask
{
TaskNo = taskNo,
@@ -1440,7 +1439,7 @@
IsFinish = 1,//鏄惁鍙畬鎴�
Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
- OrderType = "5",////0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗� 5瑙嗚鐩樼偣
+ OrderType = "6",////0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗� 6瑙嗚鐩樼偣
Msg = $"{locateNo}鐨勮瑙夌洏鐐逛换鍔�",
CreateTime = time
};
@@ -1471,7 +1470,7 @@
await Db.Updateable(notice).ExecuteCommandAsync();
}
}
- locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
+ //locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
await Db.Updateable(locate).ExecuteCommandAsync();
item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
@@ -1572,6 +1571,42 @@
return outDtoList;
#endregion
}
+
+ /// <summary>
+ /// 瑙嗚鐩樼偣浼犵粨鏋�
+ /// </summary>
+ /// <param name="crNo"></param>
+ /// <param name="url"></param>
+ /// <param name="str"></param>
+ /// <returns></returns>
+ public async Task CheckVision(CheckVm model)
+ {
+ if (string.IsNullOrWhiteSpace(model.CrNo))
+ {
+ throw Oops.Bah("鐩樼偣鍗曟嵁涓嶈兘涓虹┖");
+ }
+ if (string.IsNullOrWhiteSpace(model.SkuNo))
+ {
+ throw Oops.Bah("鐗╂枡涓嶈兘涓虹┖");
+ }
+ if (string.IsNullOrWhiteSpace(model.LotNo))
+ {
+ throw Oops.Bah("鐗╂枡鎵规涓嶈兘涓虹┖");
+ }
+ if (string.IsNullOrWhiteSpace(model.PalletNo))
+ {
+ throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ //鐩樼偣鏄庣粏
+ var checkDetail = await Db.Queryable<BllStockCheckDetail>().FirstAsync(m =>
+ m.IsDel == "0" && m.CRNo == model.CrNo && m.PalletNo == model.PalletNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo);
+ if (checkDetail == null)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌鏈洏鐐圭殑鐩樼偣鏄庣粏淇℃伅");
+ }
+ var modSku = await Db.Queryable<SysMaterials>().Where(s => s.SkuNo == model.SkuNo).FirstAsync();
+
+ }
//鐩樼偣鍑哄簱瀹屾垚
public async Task CheckSuccess(string taskNo, int userId)
{
@@ -1600,15 +1635,18 @@
task.IsFinish = 0;
task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
await Db.Updateable(task).ExecuteCommandAsync();
- locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
- await Db.Updateable(locate).ExecuteCommandAsync();
- foreach (var item in stockDetail)
+ if(task.OrderType != "6")//瑙嗚鐩樼偣涓嶆洿鏀圭姸鎬�
{
- item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
- item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
- item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
- item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
- await Db.Updateable(item).ExecuteCommandAsync();
+ locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
+ await Db.Updateable(locate).ExecuteCommandAsync();
+ foreach (var item in stockDetail)
+ {
+ item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+ item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+ item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+ item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+ await Db.Updateable(item).ExecuteCommandAsync();
+ }
}
//鐩樼偣鏄庣粏锛堟洿鏀圭姸鎬侊級
var checkDetails = await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == 1 && m.PalletNo == task.PalletNo))).ToListAsync();
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 6526b6b..a8d053b 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -20,6 +20,8 @@
using WMS.Entity.LogEntity;
using WMS.Entity.BllQualityEntity;
using WMS.Entity.BllAsnEntity;
+using System.Threading.Tasks;
+using Utility;
namespace WMS.BLL.BllPdaServer
{
@@ -28,344 +30,292 @@
private static readonly SqlSugarScope Db = DataContext.Db;
//楠岃瘉鎵樼洏鏄惁瀛樺湪骞舵槸鍚﹀彲鍑哄簱
- public string IsEnableOkPalletNo(string palletNo)
+ public async Task<string> IsEnableOkPalletNo(string palletNo)
{
- try
- {
- string sqlMsg = "";
- var models = Db.Queryable<SysPallets>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
+ string sqlMsg = "";
+ var models = await Db.Queryable<SysPallets>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToListAsync();
- if (models.Count > 1)
- {
- sqlMsg = "-1:瀛樺湪閲嶅鎵樼洏鍙�,璇锋鏌�!";
- return sqlMsg;
- }
- if (models.Count > 0)
- {
- if (models[0].Status == "0")
- {
- sqlMsg = "-1:鎵樼洏鍙风姸鎬佷负鏈娇鐢�!";
- }
- }
- else
- {
- sqlMsg = "-1:鎵樼洏鍙蜂笉瀛樺湪!";
- }
-
- return sqlMsg;
- }
- catch (Exception ex)
+ if (models.Count > 1)
{
- throw new Exception(ex.Message);
+ throw Oops.Bah("-1:瀛樺湪閲嶅鎵樼洏鍙�,璇锋鏌�!");
}
+ if (models.Count > 0)
+ {
+ if (models[0].Status == "0")
+ {
+ throw Oops.Bah("-1:鎵樼洏鍙风姸鎬佷负鏈娇鐢�!");
+ }
+ }
+ else
+ {
+ throw Oops.Bah("-1:鎵樼洏鍙蜂笉瀛樺湪!");
+ }
+
+ return sqlMsg;
}
//鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁
- public List<string> GetRunSoNoticeList(string palletNo, string type)
+ public async Task<List<string>> GetRunSoNoticeList(string palletNo, string type)
{
- try
+ if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
{
- if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
- {
- throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
- }
- var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
- if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
- {
- throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�");
- }
- if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
- {
- var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
- return allotList;
- }
- //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
- var allotList2 = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
-
- //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
- //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹�
- //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
-
- return allotList2;
+ throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
}
- catch (Exception ex)
+ var palletInfo = await Db.Queryable<DataStockDetail>().FirstAsync(w => w.IsDel == "0" && w.PalletNo == palletNo);
+ if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
{
- throw new Exception(ex.Message);
+ throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�");
}
+ if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
+ {
+ var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+ return allotList;
+ }
+ //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
+ var allotList2 = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+
+ //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+ //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹�
+ //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+
+ return allotList2;
}
//鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�)
- public List<DetailIdSkuLotNo> GetSoSkuLotNoListByPallet(string palletNo, string soNo)
+ public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo)
{
- try
+ if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
{
- if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
- {
- throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
- }
- //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
- var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo);
- //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SONo == soNo && m.Status != "4" && m.Status != "5");
- if (!string.IsNullOrWhiteSpace(soNo))
- {
- allotList = allotList.Where(m => m.SONo == soNo);
- }
-
- var list = allotList.GroupBy(m => new { m.SODetailNo, m.PalletNo, m.SkuNo, m.SkuName, m.LotNo }).Select(m => new DetailIdSkuLotNo()
- {
- SoDetailId = m.SODetailNo,
- PalletNo = m.PalletNo,
- SkuNo = m.SkuNo,
- SkuName = m.SkuName,
- LotNo = m.LotNo,
- }).ToList();
-
- return list;
+ throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
}
- catch (Exception ex)
+ //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
+ var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo);
+ //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SONo == soNo && m.Status != "4" && m.Status != "5");
+ if (!string.IsNullOrWhiteSpace(soNo))
{
- throw new Exception(ex.Message);
+ allotList = allotList.Where(m => m.SONo == soNo);
}
+
+ var list = await allotList.GroupBy(m => new { m.SODetailNo, m.PalletNo, m.SkuNo, m.SkuName, m.LotNo }).Select(m => new DetailIdSkuLotNo()
+ {
+ SoDetailId = m.SODetailNo,
+ PalletNo = m.PalletNo,
+ SkuNo = m.SkuNo,
+ SkuName = m.SkuName,
+ LotNo = m.LotNo,
+ }).ToListAsync();
+
+ return list;
}
//鑾峰彇鍑哄簱鍙c�佽鏍笺�佸緟鎷e強宸叉嫞鏁伴噺锛堟牴鎹嚭搴撳崟鏄庣粏ID銆佹墭鐩樺彿锛�
- public OutPdaInfo GetOutlets(string soDetailId, string palletNo)
+ public async Task<OutPdaInfo> GetOutlets(string soDetailId, string palletNo)
{
- try
+ var allotInfo = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToListAsync();
+ if (allotInfo.Count == 0)
{
-
- var allotInfo = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToList();
- if (allotInfo.Count == 0)
- {
- throw new Exception($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
- }
- if (allotInfo.Count > 1)
- {
- throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
- }
- var data = allotInfo.First();
- var data2 = new OutPdaInfo()
- {
- OutModel = data.OutMode,
- Standard = data.Standard,
- PickQty = data.Qty,
- PickedQty = data.CompleteQty
- };
- return data2;
+ throw Oops.Bah($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
}
- catch (Exception e)
+ if (allotInfo.Count > 1)
{
- throw new Exception(e.Message);
+ throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
}
+ var data = allotInfo.First();
+ var data2 = new OutPdaInfo()
+ {
+ OutModel = data.OutMode,
+ Standard = data.Standard,
+ PickQty = data.Qty,
+ PickedQty = data.CompleteQty
+ };
+ return data2;
}
//鑾峰彇鍑哄簱鍗曠殑璁″垝鏁伴噺鍜屽畬鎴�
- public OutPdaInfo GetPlanAndFinishQty(string soDetailId)
+ public async Task<OutPdaInfo> GetPlanAndFinishQty(string soDetailId)
{
- try
+ var detail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(m => m.Id == int.Parse(soDetailId) && m.IsDel == "0");
+ if (detail == null)
{
- var detail = Db.Queryable<BllExportNoticeDetail>().First(m => m.Id == int.Parse(soDetailId) && m.IsDel == "0");
- if (detail == null)
- {
- throw new Exception("鏈煡璇㈠埌鍑哄簱鍗曠殑鏄庣粏");
- }
- var data = new OutPdaInfo()
- {
- PlanQty = detail.Qty,
- FinishQty = detail.CompleteQty
- };
- return data;
+ throw Oops.Bah("鏈煡璇㈠埌鍑哄簱鍗曠殑鏄庣粏");
}
- catch (Exception e)
+ var data = new OutPdaInfo()
{
- throw new Exception(e.Message);
- }
+ PlanQty = detail.Qty,
+ FinishQty = detail.CompleteQty
+ };
+ return data;
}
//鑾峰彇绠辩爜淇℃伅锛堟牴鎹鐮佸湪搴撳瓨绠辩爜鏄庣粏涓煡璇㈠強鎷h揣鏄庣粏涓嫞璐ф暟閲忥級
- public List<Model.ModelDto.BoxInfo> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3)
+ public async Task<List<BoxInfo>> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3)
{
- try
+ if (string.IsNullOrWhiteSpace(palletNo))
{
- if (string.IsNullOrWhiteSpace(palletNo))
+ throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�");
+ }
+ Expression<Func<DataBoxInfo, bool>> item = Expressionable.Create<DataBoxInfo>()
+ .And(it => it.PalletNo == palletNo)
+ .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo)
+ .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3 == boxNo3)
+ .And(m => m.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+ var info = Db.Queryable<DataBoxInfo>().Where(item);
+ if (info.Count() == 0)
+ {
+ throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠埌淇℃伅");
+ }
+
+ var type = "0";//0锛氭煡绠辩爜鎴栨敮鐮佷笉鍒嗙粍 1锛氭煡鎵樼洏鍒嗙粍 鏄剧ず绠�
+ var list = new List<BoxInfo>();
+ if (!string.IsNullOrWhiteSpace(boxNo3) || !string.IsNullOrWhiteSpace(boxNo))//鍒ゆ柇鏀爜鏄惁涓虹┖
+ {
+ foreach (var demo in await info.ToListAsync())
{
- throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
- }
- Expression<Func<DataBoxInfo, bool>> item = Expressionable.Create<DataBoxInfo>()
- .And(it => it.PalletNo == palletNo)
- .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo)
- .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3 == boxNo3)
- .And(m => m.IsDel == "0")
- .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
- var info = Db.Queryable<DataBoxInfo>().Where(item);
- if (info.Count() == 0)
- {
- throw new Exception("鏈湪搴撳瓨涓煡璇㈠埌淇℃伅");
+ var t = new BoxInfo()
+ {
+ BoxNo = demo.BoxNo3,
+ Qty = demo.Qty,
+ //SkuNo = demo.SkuNo,
+ //SkuName = demo.SkuName,
+ //LotNo = demo.LotNo,
+ };
+ list.Add(t);
}
- var type = "0";//0锛氭煡绠辩爜鎴栨敮鐮佷笉鍒嗙粍 1锛氭煡鎵樼洏鍒嗙粍 鏄剧ず绠�
- var list = new List<BoxInfo>();
- if (!string.IsNullOrWhiteSpace(boxNo3) || !string.IsNullOrWhiteSpace(boxNo))//鍒ゆ柇鏀爜鏄惁涓虹┖
+ }
+ else if (!string.IsNullOrWhiteSpace(palletNo))
+ {
+ list = await info.GroupBy(m => new { m.BoxNo }).Select(it => new BoxInfo
{
- foreach (var demo in info.ToList())
+ BoxNo = it.BoxNo,
+ Qty = SqlFunc.AggregateSum(it.Qty)
+ }).ToListAsync();
+ type = "1";
+ }
+ if (!string.IsNullOrWhiteSpace(soDetailId))
+ {
+ var allotInfos = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToListAsync();
+ if (allotInfos.Count == 0)
+ {
+ throw Oops.Bah($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
+ }
+ if (allotInfos.Count > 1)
+ {
+ throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
+ }
+ var allotInfo = allotInfos.First();
+ var comInfo = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotInfo.Id).ToListAsync();
+ if (comInfo.Count != 0)
+ {
+ if (type == "0")
{
- var t = new BoxInfo()
+ foreach (var demo in list)
{
- BoxNo = demo.BoxNo3,
- Qty = demo.Qty,
- //SkuNo = demo.SkuNo,
- //SkuName = demo.SkuName,
- //LotNo = demo.LotNo,
- };
- list.Add(t);
- }
+ //if (!string.IsNullOrWhiteSpace(boxNo3))
+ //{
+ // var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo);
+ //}
+ //else if (!string.IsNullOrWhiteSpace(boxNo))
+ //{
+ // if (expr)
+ // {
- }
- else if (!string.IsNullOrWhiteSpace(palletNo))
- {
- list = info.GroupBy(m => new { m.BoxNo }).Select(it => new BoxInfo
- {
- BoxNo = it.BoxNo,
- Qty = SqlFunc.AggregateSum(it.Qty)
- }).ToList();
- type = "1";
- }
- if (!string.IsNullOrWhiteSpace(soDetailId))
- {
- var allotInfos = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToList();
- if (allotInfos.Count == 0)
- {
- throw new Exception($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
- }
- if (allotInfos.Count > 1)
- {
- throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
- }
- var allotInfo = allotInfos.First();
- var comInfo = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotInfo.Id).ToList();
- if (comInfo.Count != 0)
- {
- if (type == "0")
- {
- foreach (var demo in list)
+ // }
+
+ //}
+ var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo);
+ if (com != null)
{
- //if (!string.IsNullOrWhiteSpace(boxNo3))
- //{
- // var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo);
- //}
- //else if (!string.IsNullOrWhiteSpace(boxNo))
- //{
- // if (expr)
- // {
-
- // }
-
- //}
- var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo);
- if (com != null)
- {
- demo.PickedQty = com.CompleteQty;
- }
- }
- }
- if (type == "1")
- {
- var com = comInfo.Where(m => m.IsDel == "0").GroupBy(m => m.BoxNo).Select(it => new BoxInfo
- {
- BoxNo = it.Key,
- PickedQty = it.Sum(a => a.CompleteQty)
- }).ToList();
- foreach (var demo in list)
- {
-
- var com2 = com.FirstOrDefault(m => m.BoxNo == demo.BoxNo);
- if (com2 != null)
- {
- demo.PickedQty = com2.PickedQty;
- }
+ demo.PickedQty = com.CompleteQty;
}
}
}
+ if (type == "1")
+ {
+ var com = comInfo.Where(m => m.IsDel == "0").GroupBy(m => m.BoxNo).Select(it => new BoxInfo
+ {
+ BoxNo = it.Key,
+ PickedQty = it.Sum(a => a.CompleteQty)
+ }).ToList();
+ foreach (var demo in list)
+ {
+ var com2 = com.FirstOrDefault(m => m.BoxNo == demo.BoxNo);
+ if (com2 != null)
+ {
+ demo.PickedQty = com2.PickedQty;
+ }
+ }
+ }
}
- return list;
}
- catch (Exception e)
- {
- throw new Exception(e.Message);
- }
+
+ return list;
}
//鑾峰彇搴撳唴鏃犵鐮佺殑鎵樼洏鍒嗛厤淇℃伅
- public List<Model.ModelDto.BoxInfo> GetAllotPlnInfo(string soDetailId, string palletNo)
+ public async Task<List<BoxInfo>> GetAllotPlnInfo(string soDetailId, string palletNo)
{
- try
+ #region 鍒ゆ柇
+
+ //鏍规嵁id鍙婃墭鐩樿幏鍙栧嚭搴撳崟鍜屾墭鐩樻嫞璐т俊鎭�
+ if (string.IsNullOrWhiteSpace(palletNo))
{
- #region 鍒ゆ柇
-
- //鏍规嵁id鍙婃墭鐩樿幏鍙栧嚭搴撳崟鍜屾墭鐩樻嫞璐т俊鎭�
- if (string.IsNullOrWhiteSpace(palletNo))
- {
- throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
- }
- //鑾峰彇瀵瑰簲鎵樼洏涓嬫槸鍚﹀瓨鍦ㄧ鐮佷俊鎭�
- var boxInfo = Db.Queryable<DataBoxInfo>().First(b => b.IsDel == "0" && b.PalletNo == palletNo);
- if (boxInfo != null)
- {
- throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒");
- }
-
- BllExportAllot allot = null;
- if (!string.IsNullOrWhiteSpace(soDetailId))
- {
- //鍑哄簱鍗曟槑缁�
- var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0");
- if (noticeDetail == null)
- {
- throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒");
- }
- //鍑哄簱鍗曟�诲崟
- var notice = Db.Queryable<BllExportNotice>().First(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo);
- if (notice == null)
- {
- throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�");
- }
- //鍒嗛厤淇℃伅
- allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3"));
- if (allot == null)
- {
- throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
- }
- }
-
- //搴撳瓨鏄庣粏
- var detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo);
- if (detail == null)
- {
- throw new Exception($"鏈煡璇㈠埌搴撳瓨鏄庣粏淇℃伅锛岃鏍稿疄锛�");
- }
-
- #endregion
-
- List<BoxInfo> pdaInfo = new List<BoxInfo>();
-
- BoxInfo info = new BoxInfo()
- {
- SkuNo = detail.SkuNo,
- BoxNo = detail.SkuNo,
- Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty,
- PickedQty = allot == null ? 0 : (int)allot.CompleteQty,
- };
-
- pdaInfo.Add(info);
- return pdaInfo;
-
+ throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�");
}
- catch (Exception e)
+ //鑾峰彇瀵瑰簲鎵樼洏涓嬫槸鍚﹀瓨鍦ㄧ鐮佷俊鎭�
+ var boxInfo = await Db.Queryable<DataBoxInfo>().FirstAsync(b => b.IsDel == "0" && b.PalletNo == palletNo);
+ if (boxInfo != null)
{
- throw new Exception(e.Message);
+ throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒");
}
+
+ BllExportAllot allot = null;
+ if (!string.IsNullOrWhiteSpace(soDetailId))
+ {
+ //鍑哄簱鍗曟槑缁�
+ var noticeDetail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0");
+ if (noticeDetail == null)
+ {
+ throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒");
+ }
+ //鍑哄簱鍗曟�诲崟
+ var notice = await Db.Queryable<BllExportNotice>().FirstAsync(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo);
+ if (notice == null)
+ {
+ throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�");
+ }
+ //鍒嗛厤淇℃伅
+ allot = await Db.Queryable<BllExportAllot>().FirstAsync(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3"));
+ if (allot == null)
+ {
+ throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
+ }
+ }
+
+ //搴撳瓨鏄庣粏
+ var detail = await Db.Queryable<DataStockDetail>().FirstAsync(a => a.IsDel == "0" && a.PalletNo == palletNo);
+ if (detail == null)
+ {
+ throw Oops.Bah($"鏈煡璇㈠埌搴撳瓨鏄庣粏淇℃伅锛岃鏍稿疄锛�");
+ }
+
+ #endregion
+
+ List<BoxInfo> pdaInfo = new List<BoxInfo>();
+
+ BoxInfo info = new BoxInfo()
+ {
+ SkuNo = detail.SkuNo,
+ BoxNo = detail.SkuNo,
+ Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty,
+ PickedQty = allot == null ? 0 : (int)allot.CompleteQty,
+ };
+
+ pdaInfo.Add(info);
+ return pdaInfo;
}
//鍑哄簱pda鎷h揣
@@ -545,7 +495,7 @@
}
}
}
-
+
}
else
{
@@ -767,11 +717,11 @@
if (notice.IsWave == "1")
{
var waveNum = Db.Queryable<BllExportNotice>()
- .Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status !="4");
+ .Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4");
if (waveNum == 0)
{
var wave = Db.Queryable<BllWaveMage>().First(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo);
- if (wave!= null)
+ if (wave != null)
{
wave.Status = "4";
wave.UpdateUser = userId;
@@ -997,7 +947,7 @@
}
}
}
-
+
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
@@ -1285,7 +1235,7 @@
#region 楠岃瘉鍌ㄤ綅鐘舵�佹槸鍚︽甯�
- var locat = Db.Queryable<SysStorageLocat>().First(a=>a.IsDel == "0" && a.LocatNo == result.LocatNo);
+ var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.LocatNo == result.LocatNo);
if (locat == null)
{
throw new Exception("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!");
@@ -2798,7 +2748,7 @@
CreateUser = userId
};
comList.Add(completeDetail);
-
+
if (palletNo != palletNoNew)
{
item.StockDetailId = sdId;
@@ -2838,7 +2788,7 @@
stockDetail.SONo = soNo;
Db.Updateable(stockDetail).ExecuteCommand();
}
-
+
//淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
noticeDetail.CompleteQty += pickQty;
Db.Updateable(noticeDetail).ExecuteCommand();
@@ -3100,7 +3050,7 @@
Db.Updateable(pinStockDetail).ExecuteCommand();
}
}
-
+
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勫師鎵樼洏鐮佷负锛歿palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф嫾鎵樻搷浣�", userId);
Db.CommitTran();
@@ -3441,7 +3391,7 @@
throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�");
}
- var boxInfo = Db.Queryable<DataBoxInfo>().Count(m=>m.IsDel == "0" && m.StockDetailId == detail.Id);
+ var boxInfo = Db.Queryable<DataBoxInfo>().Count(m => m.IsDel == "0" && m.StockDetailId == detail.Id);
//鍒ゆ柇鎵樼洏涓婃槸鍚︽湁绠辩爜淇℃伅
if (boxInfo > 0)
@@ -3465,7 +3415,7 @@
{
try
{
- var data = Db.Queryable<BllQualityInspectionRequest>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status == "2")).OrderByDescending(m => m.QcNo).Select(m=>m.QcNo).ToList();
+ var data = Db.Queryable<BllQualityInspectionRequest>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status == "2")).OrderByDescending(m => m.QcNo).Select(m => m.QcNo).ToList();
return data;
}
catch (Exception e)
@@ -3480,14 +3430,14 @@
try
{
var data = new InspectionRequestDto();
- var inspectionRequest = Db.Queryable<BllQualityInspectionRequest>().First(m=>m.IsDel == "0" && m.QcNo == qcNo);
- var samplingQty = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).Sum(m=>m.CompleteQty);
+ var inspectionRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.QcNo == qcNo);
+ var samplingQty = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).Sum(m => m.CompleteQty);
data.QcNo = qcNo;
data.Sku = inspectionRequest.SkuNo;
data.LotNo = inspectionRequest.LotNo;
data.Qty = inspectionRequest.SamplingQty.ToString();
- data.SamplingQty = samplingQty == null? "0": samplingQty.ToString();
+ data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString();
return data;
}
@@ -3700,24 +3650,24 @@
//if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏
//{
- var sampleDetail = new BllSamplingDetails()
- {
- QcNo = qcNo,
- ASNNo = inspecd.ASNNo,
- PalletNo = palletNo,
- BoxNo = boxInfo.BoxNo,
- BoxNo2 = boxInfo.BoxNo2,
- BoxNo3 = boxInfo.BoxNo3,
- SkuNo = boxInfo.SkuNo,
- SkuName = boxInfo.SkuName,
- Standard = boxInfo.Standard,
- LotNo = boxInfo.LotNo,
- SupplierLot = boxInfo.SupplierLot,
- CompleteQty = decimal.Parse(pickQty),
- CreateTime = DateTime.Now,
- CreateUser = userId
- };
- Db.Insertable(sampleDetail).ExecuteCommand();
+ var sampleDetail = new BllSamplingDetails()
+ {
+ QcNo = qcNo,
+ ASNNo = inspecd.ASNNo,
+ PalletNo = palletNo,
+ BoxNo = boxInfo.BoxNo,
+ BoxNo2 = boxInfo.BoxNo2,
+ BoxNo3 = boxInfo.BoxNo3,
+ SkuNo = boxInfo.SkuNo,
+ SkuName = boxInfo.SkuName,
+ Standard = boxInfo.Standard,
+ LotNo = boxInfo.LotNo,
+ SupplierLot = boxInfo.SupplierLot,
+ CompleteQty = decimal.Parse(pickQty),
+ CreateTime = DateTime.Now,
+ CreateUser = userId
+ };
+ Db.Insertable(sampleDetail).ExecuteCommand();
//}
//else
//{
@@ -3742,7 +3692,7 @@
{
item.BitBoxMark = "1";
item.InspectMark = "1";
-
+
if (unpackWarranty > 0 && boxInfoList.Count(m => m.ProductionTime != null) > 0)
{
if (item.ProductionTime != null)
@@ -3757,7 +3707,7 @@
}
Db.Updateable(boxInfoList).ExecuteCommand();
-
+
//搴撳瓨绠辩爜
boxInfo.Qty -= decimal.Parse(pickQty);
if (boxInfo.Qty == 0)
@@ -3830,24 +3780,24 @@
//if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏
//{
- var sampleDetail = new BllSamplingDetails()
- {
- QcNo = qcNo,
- ASNNo = inspecd.ASNNo,
- PalletNo = palletNo,
- BoxNo = boxInfo.BoxNo,
- BoxNo2 = boxInfo.BoxNo2,
- BoxNo3 = boxInfo.BoxNo3,
- SkuNo = boxInfo.SkuNo,
- SkuName = boxInfo.SkuName,
- Standard = boxInfo.Standard,
- LotNo = boxInfo.LotNo,
- SupplierLot = boxInfo.SupplierLot,
- CompleteQty = boxInfo.Qty,
- CreateTime = DateTime.Now,
- CreateUser = userId
- };
- Db.Insertable(sampleDetail).ExecuteCommand();
+ var sampleDetail = new BllSamplingDetails()
+ {
+ QcNo = qcNo,
+ ASNNo = inspecd.ASNNo,
+ PalletNo = palletNo,
+ BoxNo = boxInfo.BoxNo,
+ BoxNo2 = boxInfo.BoxNo2,
+ BoxNo3 = boxInfo.BoxNo3,
+ SkuNo = boxInfo.SkuNo,
+ SkuName = boxInfo.SkuName,
+ Standard = boxInfo.Standard,
+ LotNo = boxInfo.LotNo,
+ SupplierLot = boxInfo.SupplierLot,
+ CompleteQty = boxInfo.Qty,
+ CreateTime = DateTime.Now,
+ CreateUser = userId
+ };
+ Db.Insertable(sampleDetail).ExecuteCommand();
//}
//else
//{
@@ -3867,7 +3817,7 @@
//鎷嗗寘鏈夋晥鏈熸洿鏀�
var unpackWarranty = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo).UnpackWarranty;
-
+
foreach (var item in boxInfoList)
{
item.BitBoxMark = "1";
@@ -4025,10 +3975,10 @@
#endregion
//鍙栨牱鏄庣粏璁板綍琛�
- var sampld = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo ).ToList();
+ var sampld = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).ToList();
var qty = decimal.Parse(pickQty);
//var isAddSampld = sampld.Count(m => m.PalletNo == palletNo) == 0;
-
+
#region 鍒ゆ柇鏁伴噺
@@ -4047,25 +3997,25 @@
#region 娣诲姞鎴栦慨鏀瑰彇鏍锋槑缁�
- Db.BeginTran();
+ Db.BeginTran();
//if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏
//{
- var sampleDetail = new BllSamplingDetails()
- {
- QcNo = qcNo,
- ASNNo = inspecd.ASNNo,
- PalletNo = palletNo,
- SkuNo = stockDetail.SkuNo,
- SkuName = stockDetail.SkuName,
- Standard = stockDetail.Standard,
- LotNo = stockDetail.LotNo,
- SupplierLot = stockDetail.SupplierLot,
- CompleteQty = qty,
- CreateTime = DateTime.Now,
- CreateUser = userId
- };
- Db.Insertable(sampleDetail).ExecuteCommand();
+ var sampleDetail = new BllSamplingDetails()
+ {
+ QcNo = qcNo,
+ ASNNo = inspecd.ASNNo,
+ PalletNo = palletNo,
+ SkuNo = stockDetail.SkuNo,
+ SkuName = stockDetail.SkuName,
+ Standard = stockDetail.Standard,
+ LotNo = stockDetail.LotNo,
+ SupplierLot = stockDetail.SupplierLot,
+ CompleteQty = qty,
+ CreateTime = DateTime.Now,
+ CreateUser = userId
+ };
+ Db.Insertable(sampleDetail).ExecuteCommand();
//}
//else
//{
@@ -4133,7 +4083,7 @@
}
Db.Updateable(inspecd).ExecuteCommand();
#endregion
-
+
//娣诲姞鎿嶄綔鏃ュ織璁板綍
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index 4de44c9..39cad2a 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -1,8 +1,9 @@
锘縰sing System;
using System.Collections.Generic;
using System.Text;
+using System.Threading.Tasks;
using Model.InterFaceModel;
-using Model.ModelDto;
+using Model.ModelDto;
using Model.ModelVm.PdaVm;
namespace WMS.IBLL.IPdaServer
@@ -14,7 +15,7 @@
/// </summary>
/// <param name="palletNo">鎵樼洏鍙�</param>
/// <returns>"":鍙娇鐢� -1:涓嶅彲浣跨敤锛堝師鍥�)</returns>
- string IsEnableOkPalletNo(string palletNo);
+ Task<string> IsEnableOkPalletNo(string palletNo);
/// <summary>
/// 鑾峰彇鎵ц涓殑鍑哄簱鍗�(鏍规嵁鎵樼洏鐮�)
@@ -22,15 +23,15 @@
/// <param name="palletNo">鎵樼洏鐮�</param>
/// <param name="type">绫诲瀷 鍖哄垎鏄惁鏄钩搴撳嚭搴撹幏鍙栧崟鎹�</param>
/// <returns></returns>
- List<string> GetRunSoNoticeList(string palletNo, string type);
-
+ Task<List<string>> GetRunSoNoticeList(string palletNo, string type);
+
/// <summary>
/// 鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�)
/// </summary>
/// <param name="palletNo">鎵樼洏鐮�</param>
/// <param name="soNo">鍗曟嵁鍙�</param>
/// <returns></returns>
- List<DetailIdSkuLotNo> GetSoSkuLotNoListByPallet(string palletNo,string soNo);
+ Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo);
/// <summary>
/// 鑾峰彇鍑哄簱鍙c�佽鏍笺�佸緟鎷e強宸叉嫞鏁伴噺锛堟牴鎹嚭搴撳崟鏄庣粏ID銆佹墭鐩樺彿锛�
@@ -38,14 +39,14 @@
/// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
/// <param name="palletNo">鎵樼洏鍙�</param>
/// <returns></returns>
- OutPdaInfo GetOutlets(string soDetailId, string palletNo);
+ Task<OutPdaInfo> GetOutlets(string soDetailId, string palletNo);
/// <summary>
/// 鑾峰彇鍑哄簱鍗曠殑璁″垝鏁伴噺鍜屽畬鎴�
/// </summary>
/// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
/// <returns></returns>
- OutPdaInfo GetPlanAndFinishQty(string soDetailId);
+ Task<OutPdaInfo> GetPlanAndFinishQty(string soDetailId);
/// <summary>
/// 鑾峰彇绠辩爜淇℃伅锛堟牴鎹鐮佸湪搴撳瓨绠辩爜鏄庣粏涓煡璇級
@@ -55,7 +56,7 @@
/// <param name="boxNo">绠辩爜</param>
/// <param name="boxNo3">鏀�/琚嬬爜</param>
/// <returns></returns>
- List<BoxInfo> GetDataComBoxInfo(string soDetailId,string palletNo, string boxNo, string boxNo3);
+ Task<List<BoxInfo>> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3);
/// <summary>
/// 鑾峰彇搴撳唴鏃犵鐮佺殑鎵樼洏鍒嗛厤淇℃伅
@@ -63,7 +64,7 @@
/// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
/// <param name="palletNo">鎵樼洏鍙�</param>
/// <returns></returns>
- List<BoxInfo> GetAllotPlnInfo(string soDetailId,string palletNo);
+ Task<List<BoxInfo>> GetAllotPlnInfo(string soDetailId, string palletNo);
/// <summary>
/// 鍑哄簱pda鎷h揣
@@ -94,7 +95,7 @@
/// <param name="userId">鍑哄簱鍙�</param>
/// <param name="url">涓嬪彂璺緞</param>
/// <returns></returns>
- string IssuePlnOutHouse(OutModePalletVm model, int userId,string url);
+ string IssuePlnOutHouse(OutModePalletVm model, int userId, string url);
/// <summary>
@@ -113,7 +114,7 @@
/// <param name="palletNo">鎵樼洏鍙�</param>
/// <param name="userId">鎿嶄綔浜�</param>
/// <returns></returns>
- void PlaneExportSuccess(string soNo, string palletNo,int userId);
+ void PlaneExportSuccess(string soNo, string palletNo, int userId);
/// <summary>
/// 鏍规嵁鎵樼洏鍙疯幏鍙栧彇鏍风被鍨�
@@ -156,7 +157,7 @@
/// <param name="boxNo3">鏀�/琚嬬爜</param>
/// <param name="palletNo">鏂版墭鐩樺彿</param>
/// <param name="userId">鎿嶄綔浜�</param>
- void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty,string palletNoNew, int userId);
+ void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty, string palletNoNew, int userId);
/// <summary>
/// 鎷兼墭鍑哄簱pda鎷h揣-鏁伴噺
/// </summary>
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index d8da14f..2c35f9c 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -18,6 +18,7 @@
using Model.ModelVm.BllTaskVm;
using Utility;
using System.Threading.Tasks;
+using Model.ModelVm.BllCheckVm;
namespace Wms.Controllers
{
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index b918daa..60d5e5b 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -12,6 +12,7 @@
using Model.ModelDto;
using Model.ModelVm;
using Wms.Tools;
+using Utility;
namespace Wms.Controllers
{
@@ -23,14 +24,15 @@
#region 渚濊禆娉ㄥ叆
private readonly ApiUrlConfig _config; //鎺ュ彛浜や簰璺緞
private readonly IPdaSoServer _pdaSoSvc;
+ private readonly UserManager _userManager;
- public PdaSoController(IOptions<ApiUrlConfig> setting,IPdaSoServer pdaSoSvc)
+ public PdaSoController(IOptions<ApiUrlConfig> setting, IPdaSoServer pdaSoSvc, UserManager userManager)
{
_config = setting.Value;
_pdaSoSvc = pdaSoSvc;
+ _userManager = userManager;
}
#endregion
-
/// <summary>
@@ -39,25 +41,10 @@
/// <param name="model">PalletNo锛氭墭鐩樻潯鐮�</param>
/// <returns></returns>
[HttpPost]
- public IActionResult IsEnableOkPalletNo(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task IsEnableOkPalletNo(PdaSoVm model)
{
- try
- {
- var strMsg = _pdaSoSvc.IsEnableOkPalletNo(model.PalletNo);
-
- if (strMsg == "")
- {
- return Ok(new { code = 0, msg = "鎵樼洏鍙敤!" });
- }
- else
- {
- return Ok(new { code = 1, msg = strMsg });
- }
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ await _pdaSoSvc.IsEnableOkPalletNo(model.PalletNo);
}
/// <summary>
@@ -66,18 +53,10 @@
/// <param name="model">PalletNo:鎵樼洏鍙�</param>
/// <returns></returns>
[HttpPost]
- public IActionResult GetRunSoNoticeList(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task<List<string>> GetRunSoNoticeList(PdaSoVm model)
{
- try
- {
- var list = _pdaSoSvc.GetRunSoNoticeList(model.PalletNo,model.Type);
-
- return Ok(new { code = 0, msg = "鍑哄簱鍗曚俊鎭�", data = list });
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ return await _pdaSoSvc.GetRunSoNoticeList(model.PalletNo, model.Type);
}
/// <summary>
@@ -86,18 +65,10 @@
/// <param name="model">PalletNo:鎵樼洏鐮併�丼oNo:鍗曟嵁鍙�</param>
/// <returns></returns>
[HttpPost]
- public IActionResult GetSoSkuLotNoListByPallet(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task GetSoSkuLotNoListByPallet(PdaSoVm model)
{
- try
- {
- var models = _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
-
- return Ok(new { code = 0, msg = "鐗╂枡-鎵规淇℃伅", data = models });
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ var models = await _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
}
/// <summary>
@@ -106,18 +77,10 @@
/// <param name="model">SoDetailId:鍑哄簱鍗曟槑缁咺D銆丳alletNo:鎵樼洏鐮�</param>
/// <returns></returns>
[HttpPost]
- public IActionResult GetOutlets(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task<OutPdaInfo> GetOutlets(PdaSoVm model)
{
- try
- {
- var models = _pdaSoSvc.GetOutlets(model.SoDetailId, model.PalletNo);
-
- return Ok(new { code = 0, msg = "鎵樼洏涓婄墿鏂欑瓑淇℃伅", data = models });
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ return await _pdaSoSvc.GetOutlets(model.SoDetailId, model.PalletNo);
}
/// <summary>
@@ -126,18 +89,10 @@
/// <param name="model">SoDetailId:鍑哄簱鍗曟槑缁咺D</param>
/// <returns></returns>
[HttpPost]
- public IActionResult GetPlanAndFinishQty(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task<OutPdaInfo> GetPlanAndFinishQty(PdaSoVm model)
{
- try
- {
- var models = _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
-
- return Ok(new { code = 0, msg = "鍑哄簱鍗曟槑缁嗘暟閲忎俊鎭�", data = models });
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ return await _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
}
/// <summary>
@@ -146,18 +101,10 @@
/// <param name="model">BoxNo:绠辩爜鍙�</param>
/// <returns></returns>
[HttpPost]
- public IActionResult GetDataComBoxInfo(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task<List<BoxInfo>> GetDataComBoxInfo(PdaSoVm model)
{
- try
- {
- var models = _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId,model.PalletNo, model.BoxNo, model.BoxNo3);
-
- return Ok(new { code = 0, msg = "绠辩爜淇℃伅", data = models });
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ return await _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3);
}
/// <summary>
@@ -166,18 +113,10 @@
/// <param name="model">BoxNo:绠辩爜鍙�</param>
/// <returns></returns>
[HttpPost]
- public IActionResult GetAllotPlnInfo(PdaSoVm model)
+ [ServiceFilter(typeof(ApiResponseActionFilter))]
+ public async Task<List<BoxInfo>> GetAllotPlnInfo(PdaSoVm model)
{
- try
- {
- var models = _pdaSoSvc.GetAllotPlnInfo(model.SoDetailId, model.PalletNo);
-
- return Ok(new { code = 0, msg = "绠辩爜淇℃伅", data = models });
- }
- catch (Exception e)
- {
- return Ok(new { code = 1, msg = e.Message });
- }
+ return await _pdaSoSvc.GetAllotPlnInfo(model.SoDetailId, model.PalletNo);
}
@@ -203,7 +142,7 @@
return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
}
- _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3,model.PickQty ,int.Parse(userId));
+ _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, int.Parse(userId));
return Ok(new { code = 0, msg = "鎷h揣瀹屾垚", data = "" });
}
@@ -235,7 +174,7 @@
return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
}
- _pdaSoSvc.SoSetQtyPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, int.Parse(userId));
+ _pdaSoSvc.SoSetQtyPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, int.Parse(userId));
return Ok(new { code = 0, msg = "鎷h揣瀹屾垚", data = "" });
}
@@ -297,7 +236,7 @@
{
try
{
- var list = _pdaSoSvc.GetPingKuInfoByPallet(soNo,palletNo);
+ var list = _pdaSoSvc.GetPingKuInfoByPallet(soNo, palletNo);
return Ok(new { data = list, code = 0, msg = "鑾峰彇骞冲簱鎵樼洏淇℃伅鎴愬姛" });
}
catch (Exception e)
@@ -335,9 +274,9 @@
}
catch (Exception e)
{
- return Ok(new { data = "", code = 1, msg = "骞冲簱鍑哄簱閿欒锛�"+e.Message });
+ return Ok(new { data = "", code = 1, msg = "骞冲簱鍑哄簱閿欒锛�" + e.Message });
}
-
+
}
@@ -360,7 +299,7 @@
if (string.IsNullOrWhiteSpace(UserId))
{
throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
- }
+ }
var type = _pdaSoSvc.GetSampleType(palletNo);
@@ -415,7 +354,7 @@
}
int uid = Convert.ToInt32(UserId);
- _pdaSoSvc.SampleSoSetPick(model.Type,model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.AsnNo, uid);
+ _pdaSoSvc.SampleSoSetPick(model.Type, model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.AsnNo, uid);
return Ok(new { data = "", code = 0, msg = "(鏍囩)鍙栨牱鍑哄簱鎷h揣" });
}
--
Gitblit v1.8.0