From 61654768aa92e6c3fd288344c0c895ba4d19d127 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 06 一月 2026 19:14:18 +0800
Subject: [PATCH] Merge branch 'htq20251215' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu into htq20251215
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs | 104 ++++++++++++++++++++++++++++------------------------
1 files changed, 56 insertions(+), 48 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs"
index 269547c..15d40f2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs"
@@ -40,50 +40,55 @@
}
#region
+
+ static object lockObj = new object();
public string CreateCodeByRule(string ruleCode)
{
- string code = string.Empty;
- DateTime dataTime = DateTime.Now;
- DateTime now = DateTime.Now;
-
- try
+ lock (lockObj)
{
- Dt_CodeRuleConfig ruleConfig = _unitOfWorkManage.Db.Queryable<Dt_CodeRuleConfig>().Where(x => x.RuleCode == ruleCode).First();
- if (ruleConfig.ModifyDate != null)
- {
- dataTime = ruleConfig.ModifyDate.Value;
- }
- else
- {
- dataTime = ruleConfig.CreateDate;
- }
+ string code = string.Empty;
+ DateTime dataTime = DateTime.Now;
+ DateTime now = DateTime.Now;
- if (now.Year == dataTime.Year && now.Month == dataTime.Month && now.Day == dataTime.Day)
+ try
{
- now = dataTime;
- ruleConfig.CurrentVal = Convert.ToInt32(ruleConfig.CurrentVal) + 1;
+ Dt_CodeRuleConfig ruleConfig = _unitOfWorkManage.Db.Queryable<Dt_CodeRuleConfig>().Where(x => x.RuleCode == ruleCode).First();
+ if (ruleConfig.ModifyDate != null)
+ {
+ dataTime = ruleConfig.ModifyDate.Value;
+ }
+ else
+ {
+ dataTime = ruleConfig.CreateDate;
+ }
+
+ if (now.Year == dataTime.Year && now.Month == dataTime.Month && now.Day == dataTime.Day)
+ {
+ now = dataTime;
+ ruleConfig.CurrentVal = Convert.ToInt32(ruleConfig.CurrentVal) + 1;
+ }
+ else
+ {
+ ruleConfig.CurrentVal = 1;
+ }
+
+ ruleConfig.ModifyDate = DateTime.Now;
+
+ code = ruleConfig.Format;
+ code = code.Replace($"[{CodeFormatTypeEnum.YYYY}]", now.Year.ToString().PadLeft(4, '0'));
+ code = code.Replace($"[{CodeFormatTypeEnum.MM}]", now.Month.ToString().PadLeft(2, '0'));
+ code = code.Replace($"[{CodeFormatTypeEnum.DD}]", now.Day.ToString().PadLeft(2, '0'));
+ code = code.Replace($"[{CodeFormatTypeEnum.ST}]", ruleConfig.StartStr.ToString());
+ code = code.Replace($"[{CodeFormatTypeEnum.NUM}]", ruleConfig.CurrentVal.ToString().PadLeft(ruleConfig.Length, '0'));
+
+ _unitOfWorkManage.Db.Updateable(ruleConfig).ExecuteCommand();
}
- else
+ catch (Exception ex)
{
- ruleConfig.CurrentVal = 1;
+ throw new Exception(ex.Message);
}
-
- ruleConfig.ModifyDate = DateTime.Now;
-
- code = ruleConfig.Format;
- code = code.Replace($"[{CodeFormatTypeEnum.YYYY}]", now.Year.ToString().PadLeft(4, '0'));
- code = code.Replace($"[{CodeFormatTypeEnum.MM}]", now.Month.ToString().PadLeft(2, '0'));
- code = code.Replace($"[{CodeFormatTypeEnum.DD}]", now.Day.ToString().PadLeft(2, '0'));
- code = code.Replace($"[{CodeFormatTypeEnum.ST}]", ruleConfig.StartStr.ToString());
- code = code.Replace($"[{CodeFormatTypeEnum.NUM}]", ruleConfig.CurrentVal.ToString().PadLeft(ruleConfig.Length, '0'));
-
- _unitOfWorkManage.Db.Updateable(ruleConfig).ExecuteCommand();
+ return code;
}
- catch (Exception ex)
- {
-
- }
- return code;
}
#endregion
@@ -109,29 +114,32 @@
throw new Exception($"杞崲鍚庡崟浣嶄笉鑳戒负绌�");
}
+ Dt_MaterielInfo materielInfo = MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == materialCode);
+ if (materielInfo == null)
+ {
+ throw new Exception("鍗曚綅杞崲鏃剁墿鏂欎俊鎭湭鎵惧埌");
+ }
decimal ratio = 1;
- if (fromUnit.Trim().ToLower() == toUnit.Trim().ToLower())
+ if (materielInfo.inventoryUOM.Trim().ToLower() == fromUnit.Trim().ToLower())
{
- return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
- }
-
- Dt_MaterialUnit materialUnit = MaterialUnitService.Repository.QueryFirst(x => x.ItemNo == materialCode && x.FromUom == fromUnit && x.ToUom == toUnit);
- if (materialUnit != null)
- {
- ratio = materialUnit.Ratio;
return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
}
else
{
- materialUnit = MaterialUnitService.Repository.QueryFirst(x => x.ItemNo == materialCode && x.FromUom == toUnit && x.ToUom == fromUnit);
- if (materialUnit == null)
+ Dt_MaterialUnit materialUnit = MaterialUnitService.Repository.QueryFirst(x => x.ItemNo == materialCode && x.FromUom == fromUnit);
+ if (materialUnit != null)
{
- throw new Exception($"鏈壘鍒板崟浣嶈浆鎹㈠叧绯伙紝鐗╂枡缂栧彿锛歿materialCode}锛岃浆鎹㈠墠鍗曚綅锛歿fromUnit}锛岃浆鎹㈠悗鍗曚綅锛歿toUnit}");
+ toUnit = materialUnit.ToUom;
+ ratio = materialUnit.Ratio;
+ return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
}
- ratio = materialUnit.Ratio;
- return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
+ else
+ {
+ throw new Exception($"鏈壘鍒板崟浣嶈浆鎹㈠叧绯伙紝鐗╂枡缂栧彿锛歿materialCode}锛岃浆鎹㈠墠鍗曚綅锛歿fromUnit}");
+ }
}
+
}
/// <summary>
--
Gitblit v1.9.3