From d41acebbd89f171b0eeb205fca4f68043ca85f95 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期三, 03 十二月 2025 19:47:24 +0800
Subject: [PATCH] 选配与暂存
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs | 187 +++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 167 insertions(+), 20 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs"
index a243234..59eed5b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/ToAPP/Partial/SaveCZInfo.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing Masuit.Tools;
+using Newtonsoft.Json;
using SharpCompress.Compressors.Xz;
using System.Reflection.Emit;
using WIDESEA_Common;
@@ -9,22 +10,29 @@
using WIDESEA_Core.Helper;
using WIDESEA_DTO.WMS;
using WIDESEA_Model.Models;
+using WIDESEA_Model.Models.GZ_ZC.DistributeWheels;
using WIDESEA_StorageBasicRepository;
+using WIDESEA_StorageBasicService;
namespace WIDESEA_StoragIntegrationServices
{
public partial class ToAPPService
{
/// <summary>
- /// 淇濆瓨杞﹁酱鏁版嵁
+ /// 淇濆瓨杞﹁酱鏁版嵁锛堣溅杞�夐厤锛�
/// </summary>
/// <param name="saveModel"></param>
/// <returns></returns>
public WebResponseContent SaveCZInfo(SaveModel saveModel)
{
+
WebResponseContent content = new WebResponseContent();
try
{
+ string CZjson = Newtonsoft.Json.JsonConvert.SerializeObject(saveModel, Newtonsoft.Json.Formatting.Indented);
+ // 鎻愬彇浠诲姟鏁版嵁
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱鎺ユ敹杞﹁酱鏁版嵁").Info(true, $"杞﹁酱浼犻�掔殑鏁版嵁锛歿CZjson}");
+
//濡傚綋鍓嶅瓨鍦ㄦ湭寮�濮嬪叆搴撶殑杞﹁疆鎴栧埗鍔ㄧ洏鏁版嵁,鍒欑姝繚瀛樻柊鏁版嵁 浠ラ槻鏁版嵁娣蜂贡
var waitInbound = _CZInfo_MesRepository.QueryFirst(x => x.CurrentStatue == "0");
if (waitInbound != null) throw new Exception("褰撳墠瀛樺湪鏈紑濮嬪叆搴撶殑杞﹁酱鏁版嵁,璇峰厛涓婃灦鍚姩鍚庡啀淇濆瓨淇℃伅!");
@@ -136,6 +144,19 @@
string wxrw = saveModel.MainData["wxrw"].ToString();
if (string.IsNullOrEmpty(wxrw)) throw new Exception("閫夐厤澶辫触锛氱淮淇换鍔″弬鏁颁负绌�");
+ int zuixiaoz = 0;
+ int zuidaz = 0;
+ if (newOrOld == "1")
+ {
+ //鏈�灏忓��
+ zuixiaoz = int.Parse(saveModel.MainData["zuixiaoz"].ToString());
+
+ //鏈�澶у��
+ zuidaz = int.Parse(saveModel.MainData["zuidaz"].ToString());
+
+ }
+
+
string level = string.Empty;
//string rightlevel = string.Empty;
if ("all".Equals(wheelsPosition))
@@ -149,7 +170,7 @@
if (string.IsNullOrEmpty(level)) throw new Exception("绛夌骇杞崲澶辫触,璇锋鏌ユ帴鍙g瓑绾у弬鏁�");
//level = leftLevel;
}
- else if ("rihgt".Equals(wheelsPosition))
+ else if ("right".Equals(wheelsPosition))
{
level = LevelChangeHelper.LevelChangeType(rightLevel);
if (string.IsNullOrEmpty(level)) throw new Exception("绛夌骇杞崲澶辫触,璇锋鏌ユ帴鍙g瓑绾у弬鏁�");
@@ -160,6 +181,8 @@
if (string.IsNullOrEmpty(rw)) throw new Exception("缁翠慨浠诲姟杞崲澶辫触,璇锋鏌ョ淮淇换鍔″弬鏁�");
if (rw != newOrOld) throw new Exception("閫夐厤澶辫触:閫夐厤鏂版棫杞笌缁翠慨浠诲姟瑙f瀽涓嶄竴鑷�");
+
+ string wheelsProps = CheckTaskChangeHelper.CheckTaskwheelsProps(wxrw);
Dt_SelectionStandards selectionStandards = _SelectionStandardsRepository.QueryFirst(x => x.CarType.Contains(Cartype) && x.mttype == mttype && x.neworold == newOrOld && level.Contains(x.gkdj));
if (selectionStandards == null) throw new Exception($"姝よ溅鍨媨Cartype}鐨勯�夐厤鏍囧噯寮傚父,璇锋牳瀵归�夐厤鏍囧噯淇℃伅!");
@@ -172,7 +195,7 @@
Creater = "admin",
CurrentStatue = "1",
CZH = czh,
- CZXH = czxh,
+ CZXH = czxh, //杞﹁酱鍨嬪彿
LDTM = ldtm,
MTTYPE = mttype,
ZLZA1 = zlzA1,
@@ -203,8 +226,11 @@
YLZZJ = ylzzj,
ZLZDJ = leftLevel,
YLZDJ = rightLevel,
- WXRW = wxrw
+ WXRW = wxrw,
+ TemporaryState=0,
};
+
+
//宸﹀嚭搴撹溅杞�
Dt_WheelsStock leftContainer = null;
@@ -215,8 +241,83 @@
var hourpara = _configService.GetByConfigKey(CateGoryConst.CONFIG_SYS_Parameters, SysConfigConst.TempHour);
int hour = hourpara.ConfigValue.ObjToInt();
- //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
- var WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now);
+ List<Dt_WheelsStock> WheelsList = null;
+
+ //鐗规畩杞﹁酱鍨嬪彿锛堬級
+ //M1A 瀵瑰簲 杞﹀瀷 CRH1A CRH1A-200
+ //M1B 瀵瑰簲 杞﹀瀷 CRH1B CRHA1A-250
+ //M1C 瀵瑰簲 杞﹀瀷 CRH1C CRH1A-A
+ if (czxh == "M1A")
+ {
+ if (CZInfo_Mes.MTTYPE == "T")
+ {
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && (x.Wheels_CarType == "CRH1A" || x.Wheels_CarType == "CRH1A-200") && x.Wheels_Statue == 0);
+ }
+ else
+ {
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && (x.Wheels_CarType == "CRH1A" || x.Wheels_CarType == "CRH1A-200") && x.Wheels_Statue == 0);
+ }
+
+
+ }
+ else if (czxh == "M1B")
+ {
+ if (CZInfo_Mes.MTTYPE == "T")
+ {
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && (x.Wheels_CarType == "CRH1B" || x.Wheels_CarType == "CRHA1A-250") && x.Wheels_Statue == 0);
+ }
+ else
+ {
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && (x.Wheels_CarType == "CRH1B" || x.Wheels_CarType == "CRHA1A-250") && x.Wheels_Statue == 0);
+ }
+
+
+ }
+ else if (czxh == "M1C")
+ {
+ if (CZInfo_Mes.MTTYPE == "T")
+ {
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && (x.Wheels_CarType == "CRH1C" || x.Wheels_CarType == "CRH1A-A") && x.Wheels_Statue == 0);
+ }
+ else
+ {
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && (x.Wheels_CarType == "CRH1C" || x.Wheels_CarType == "CRH1A-A") && x.Wheels_Statue == 0);
+ }
+ }
+
+ else
+ {
+ if (CZInfo_Mes.MTTYPE == "T")
+ {
+ //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.Wheels_Statue == 0);
+ }
+ else
+ {
+ //鎵惧嚭鎵�鏈夌鍚堟潯浠剁殑搴撳瓨杞﹁疆
+ WheelsList = _WheelsStockRepository.QueryData(x => x.Wheels_CurrentStatue == 1 && x.Wheels_mttype == CZInfo_Mes.MTTYPE && x.Wheels_ldxh == clxh && x.Wheels_NewOrOld == newOrOld && x.CreateDate.AddHours(hour) <= DateTime.Now && x.WheelsProps == wheelsProps && x.Wheels_Statue == 0);
+ }
+
+ }
+
+
+ if (newOrOld=="1")
+ {
+ //foreach (var item in WheelsList)
+ //{
+ // decimal ygrjz = decimal.Parse(item.Wheels_ygljz);
+ // if (ygrjz < zuixiaoz || ygrjz > zuidaz)
+ // WheelsList.Remove(item);
+ //}
+ foreach (var item in WheelsList.ToList())
+ {
+ decimal ygrjz = decimal.Parse(item.Wheels_ygljz);
+ if (ygrjz < zuixiaoz || ygrjz > zuidaz)
+ WheelsList.Remove(item);
+ }
+ }
+
+
//x.Wheels_CarType == CZInfo_Mes.CHEXING && x.Wheels_ldtm == CZInfo_Mes.LDTM && selectionStandards.CarType.Contains(x.Wheels_CarType)
if (null != WheelsList && WheelsList.Count > 0)
{
@@ -224,37 +325,47 @@
{
if (null == leftContainer)
{
- leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld);
+ leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld, 2);
if (null != leftContainer)
WheelsList.Remove(leftContainer);
}
if (null == rightContainer)
{
- rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld);
+ rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld, 2);
if (null != rightContainer)
WheelsList.Remove(rightContainer);
}
- //if (null == leftContainer || null == rightContainer)
+
+
+ if (null == leftContainer || null == rightContainer)
+ return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
+
+ if(newOrOld == "1")
+ {
+ //姝ゅ鍒ゆ柇涓や釜棰勪及鍊肩浉鍑忥紝鏄惁鍦ㄨ寖鍥村唴
+ decimal difference = decimal.Parse(leftContainer.Wheels_ygljz) - decimal.Parse(rightContainer.Wheels_ygljz);
+ decimal absoluteDifference = Math.Abs(difference);
+ if (absoluteDifference > selectionStandards.Estimatedvalue)
+ {
+ return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞紝棰勪及鍊间笉鍦ㄨ寖鍥村唴,杞﹀瀷锛�" + Cartype);
+ }
+ }
+
+
}
else if ("left".Equals(wheelsPosition))
{
- leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld);
+ leftContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "left", newOrOld , 1);
//if (null == leftContainer)
}
else if ("right".Equals(wheelsPosition))
{
- rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld);
+ rightContainer = _WheelsStockService.GetSelectionWheelsStock(WheelsList, selectionStandards, CZInfo_Mes, "right", newOrOld ,1);
//if (null == rightContainer)
}
}
- if ("all".Equals(wheelsPosition))
- {
- if (null == leftContainer || null == rightContainer)
- return content.Error("鏈壘鍒颁袱渚у彲鍖归厤鐨勫嚭搴撹溅杞�,杞﹀瀷锛�" + Cartype);
-
-
- }
+
if (null != leftContainer || null != rightContainer)
{
@@ -262,6 +373,7 @@
List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
List<Dt_WheelsStock> wheelsStocks = new List<Dt_WheelsStock>();
List<WMSTaskDTO> listTaskDTO = new List<WMSTaskDTO>();
+
if (null != leftContainer)
{
Dt_Task leftTask = CreateOutTask(leftContainer, czCode);
@@ -304,13 +416,16 @@
WheelsNewOrOld = leftContainer.Wheels_NewOrOld,
wheels_gkcc = leftContainer.Wheels_gkcc,
wheels_mttype = leftContainer.Wheels_mttype,
- WheelsLX = leftContainer.Wheels_ldxh
+ WheelsLX = leftContainer.Wheels_ldxh,
+ axle_czh= czCode,
};
listTask.Add(leftTask);
listTaskDTO.Add(leftTaskDTO);
wheelsStocks.Add(leftContainer);
locationInfos.Add(lefolocation);
+ CZInfo_Mes.LeftCLTM = leftContainer.Wheels_Num;
+ CZInfo_Mes.LeftCLinterference= (decimal.Parse(CZInfo_Mes.ZLZZJ) -decimal.Parse(leftContainer.Wheels_gkcc)).ToString();
}
if (null != rightContainer)
{
@@ -359,14 +474,26 @@
listTaskDTO.Add(rihgtTaskDTO);
wheelsStocks.Add(rightContainer);
locationInfos.Add(rightlocation);
+ CZInfo_Mes.RightCLTM = rightContainer.Wheels_Num;
+ CZInfo_Mes.RightCLinterference = (decimal.Parse(CZInfo_Mes.YLZZJ) - decimal.Parse(rightContainer.Wheels_gkcc)).ToString();
}
_unitOfWorkManage.BeginTran(); //寮�鍚簨鍔�
+
+
_CZInfo_MesRepository.AddData(CZInfo_Mes); //娣诲姞杞﹁酱淇℃伅
_WheelsStockRepository.UpdateData(wheelsStocks); //鏇存柊搴撳瓨鏁版嵁
_locationRepository.UpdateData(locationInfos); //鏇存柊搴撲綅鏁版嵁
_taskRepository.AddData(listTask); //娣诲姞浠诲姟鏁版嵁
+ if(leftContainer != null)
+ {
+ _AxleshelfService.AddAxleshe(leftContainer, CZInfo_Mes,clxh, wheelsPosition, newOrOld); //娣诲姞杞﹁酱涓婃灦璁板綍
+ }
+ if (rightContainer != null)
+ {
+ _AxleshelfService.AddAxleshe(rightContainer, CZInfo_Mes,clxh,wheelsPosition,newOrOld); //娣诲姞杞﹁酱涓婃灦璁板綍
+ }
//涓嬪彂鍑哄簱浠诲姟缁橶CS
var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -384,6 +511,18 @@
WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString());
if (respone.Status)
{
+
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"\r\r-----------------------------------------------------------");
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"杞﹁酱缂栧彿锛歿CZInfo_Mes.CZH}");
+ // 鎻愬彇浠诲姟鏁版嵁
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"杞﹁酱浼犻�掔殑鏁版嵁锛歿CZjson}");
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"\r\r>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"绛涢�夌殑杞﹁疆鏁版嵁锛歿wheelsStocks.ToJsonString()}");
+ LogFactory.GetLog("杞﹁疆閫夐厤鍑哄簱").Info(true, $"\r\r-----------------------------------------------------------");
+
+
+
_unitOfWorkManage.CommitTran(); //鎻愪氦浜嬪姟
content.OK($"杞﹁疆鍑哄簱浠诲姟涓嬪彂缁橶CS鎴愬姛.");
}
@@ -398,6 +537,9 @@
_unitOfWorkManage.RollbackTran(); //鍥炴粴浜嬪姟
throw new Exception("WCS澶勭悊澶辫触");
}
+
+ _unitOfWorkManage.CommitTran(); //鎻愪氦浜嬪姟
+ content.OK($"杞﹁疆鍑哄簱浠诲姟涓嬪彂缁橶CS鎴愬姛.");
return content;
}
else
@@ -413,6 +555,9 @@
}
}
+
+
+
private Dt_Task CreateOutTask(Dt_WheelsStock wheelsStock, string CZTM)
{
CheckInfo checkInfo = new CheckInfo()
@@ -453,5 +598,7 @@
};
return task;
}
+
+
}
}
--
Gitblit v1.9.3