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 | 165 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 146 insertions(+), 19 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 3d4d78a..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;
@@ -18,15 +19,20 @@
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("褰撳墠瀛樺湪鏈紑濮嬪叆搴撶殑杞﹁酱鏁版嵁,璇峰厛涓婃灦鍚姩鍚庡啀淇濆瓨淇℃伅!");
@@ -138,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))
@@ -163,6 +182,8 @@
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}鐨勯�夐厤鏍囧噯寮傚父,璇锋牳瀵归�夐厤鏍囧噯淇℃伅!");
@@ -174,7 +195,7 @@
Creater = "admin",
CurrentStatue = "1",
CZH = czh,
- CZXH = czxh,
+ CZXH = czxh, //杞﹁酱鍨嬪彿
LDTM = ldtm,
MTTYPE = mttype,
ZLZA1 = zlzA1,
@@ -205,8 +226,11 @@
YLZZJ = ylzzj,
ZLZDJ = leftLevel,
YLZDJ = rightLevel,
- WXRW = wxrw
+ WXRW = wxrw,
+ TemporaryState=0,
};
+
+
//宸﹀嚭搴撹溅杞�
Dt_WheelsStock leftContainer = null;
@@ -217,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)
{
@@ -226,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)
{
@@ -264,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);
@@ -306,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)
{
@@ -361,6 +474,8 @@
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(); //寮�鍚簨鍔�
@@ -396,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鎴愬姛.");
}
--
Gitblit v1.9.3