From 552599aa51eb8bc5f58a7c7d3627eba31f81b56f Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期一, 13 一月 2025 14:24:20 +0800 Subject: [PATCH] 更新发料单规则 --- 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2ad7410e-7b16-4692-8ca2-e7055946c8fa.vsidx | 0 /dev/null | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs | 1 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/CodeConfigEnum/RuleCodeEnum.cs | 7 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 66 ++++++++++++++++++++++++++++++++- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs | 10 +++++ 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock | 0 7 files changed, 81 insertions(+), 3 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2ad7410e-7b16-4692-8ca2-e7055946c8fa.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2ad7410e-7b16-4692-8ca2-e7055946c8fa.vsidx" new file mode 100644 index 0000000..597a8a5 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2ad7410e-7b16-4692-8ca2-e7055946c8fa.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx" deleted file mode 100644 index a7c7465..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a1d86c3-20b2-4990-9550-dcdae2deefdc.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" new file mode 100644 index 0000000..e69de29 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/CodeConfigEnum/RuleCodeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/CodeConfigEnum/RuleCodeEnum.cs" index f90f331..4ce7903 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/CodeConfigEnum/RuleCodeEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/CodeConfigEnum/RuleCodeEnum.cs" @@ -34,6 +34,11 @@ /// 璐ㄦ鍗曞彿缂栫爜瑙勫垯 /// </summary> [Description("璐ㄦ鍗曞彿缂栫爜瑙勫垯")] - CheckOrderRule + CheckOrderRule, + /// <summary> + /// 鍙戞枡鍗曞彿缂栫爜瑙勫垯 + /// </summary> + [Description("鍙戞枡鍗曞彿缂栫爜瑙勫垯")] + FLCodeRule } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" index f3c54c3..5ca0c2d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderService.cs" @@ -21,5 +21,6 @@ WebResponseContent outpinku(SaveModel saveModel); WebResponseContent ReceiveOutOrder(ErpOutOrderDTO model); WebResponseContent TestOutUpload(int id,List<Dt_OutStockLockInfo>? outStockLockInfos=null); + string CreateCodeByRule(string ruleCode); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" index ddaeff6..c08a1ca 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" @@ -3,6 +3,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -16,8 +17,10 @@ using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.CodeConfigEnum; +using WIDESEA_Core.DB; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; +using WIDESEA_Core.Seed; using WIDESEA_Core.Utilities; using WIDESEA_DTO.Basic; using WIDESEA_DTO.ERP; @@ -223,7 +226,7 @@ ERPIssueModel issueModel = new ERPIssueModel() { UniqueTag = outboundOrderDetail.OrderId.ToString(), - Code = outboundOrder.OrderNo, + Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)), WarehouseCode = warehouse.WarehouseCode, Docremark = "", Deptno = outboundOrder.DepartmentCode, @@ -466,7 +469,7 @@ issueModel = new ERPIssueModel() { UniqueTag = id.ToString(), - Code = outboundOrder.OrderNo, + Code = CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)), WarehouseCode = warehouse.WarehouseCode, Docremark = "", Deptno = outboundOrder.DepartmentCode, @@ -494,6 +497,65 @@ return WebResponseContent.Instance.Error(ex.Message); } } + static object lock_code = new object(); + public string CreateCodeByRule(string ruleCode) + { + lock (lock_code) + { + + string code = string.Empty; + DateTime dateTime = DateTime.Now; + DateTime now = DateTime.Now; + try + { + if (string.IsNullOrEmpty(ruleCode)) + throw new ArgumentNullException(nameof(ruleCode)); + SqlSugarClient sugarClient = new SqlSugarClient(new ConnectionConfig + { + IsAutoCloseConnection = false, + DbType = DbType.SqlServer, + ConnectionString = DBContext.ConnectionString + }); + Dt_CodeRuleConfig codeRuleConfig = sugarClient.Queryable<Dt_CodeRuleConfig>().Where(x => x.RuleCode == ruleCode).First(); + if (codeRuleConfig == null) + throw new ArgumentNullException(nameof(codeRuleConfig)); + if (codeRuleConfig.ModifyDate != null) + { + dateTime = Convert.ToDateTime(codeRuleConfig.ModifyDate); + } + else + { + dateTime = Convert.ToDateTime(codeRuleConfig.CreateDate); + } + + if (now.Year == dateTime.Year && now.Month == dateTime.Month && now.Day == dateTime.Day) + { + now = dateTime; + codeRuleConfig.CurrentVal = Convert.ToInt32(codeRuleConfig.CurrentVal) + 1; + } + else + { + codeRuleConfig.CurrentVal = 1; + } + codeRuleConfig.ModifyDate = DateTime.Now; + code = codeRuleConfig.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}]", codeRuleConfig.StartStr?.ToString() ?? ""); + code = code.Replace($"[{CodeFormatTypeEnum.NUM}]", codeRuleConfig.CurrentVal.ToString().PadLeft(codeRuleConfig.Length, '0')); + Dictionary<string, object> keyValuePairs = new Dictionary<string, object>() { { nameof(codeRuleConfig.CurrentVal), codeRuleConfig.CurrentVal }, { nameof(codeRuleConfig.Id), codeRuleConfig.Id }, { nameof(codeRuleConfig.ModifyDate), DateTime.Now } }; + sugarClient.Updateable(keyValuePairs).AS(MainDb.CodeRuleConfig).WhereColumns(nameof(codeRuleConfig.Id)).ExecuteCommand(); + sugarClient.Updateable(codeRuleConfig); + + } + catch (Exception ex) + { + + } + return code; + } + } /// <summary> /// 鏇存敼鍑哄簱鍗曞簱瀛樼姸鎬� /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" index 5dbaca8..c8c8cfe 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs" @@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Mvc; using WIDESEA_Core; using WIDESEA_Core.BaseController; +using WIDESEA_Core.CodeConfigEnum; using WIDESEA_DTO.Inbound; using WIDESEA_DTO.Outbound; using WIDESEA_IOutboundService; @@ -47,5 +48,14 @@ { return Service.outpinku(saveModel); } + /// <summary> + /// 鍙戞枡鍗曞彿鐢熸垚 + /// </summary> + /// <returns></returns> + [HttpPost, Route("CreateCodeByRule"), AllowAnonymous] + public string CreateCodeByRule(string ruleCode) + { + return Service.CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)); + } } } -- Gitblit v1.9.3