From ae410c8a6fa46a6eebebeeb05239b466f0babb8d Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Wed, 8 May 2024 23:51:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E5=88=B6=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PatientRegisterManager.cs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs b/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs index b3b7e57..fba9a12 100644 --- a/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs +++ b/src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs @@ -876,7 +876,44 @@ namespace Shentun.Peis.PatientRegisters } + public async Task CreatePrePatientRegisterNo() + { + string maxnum = "1"; + string date = DateTime.Now.ToString("yyMMdd");// 当天 + var primarykeyBuilderEnt = await _primarykeyBuilderRepository.FirstOrDefaultAsync(f => f.PrimarykeyBuilderId == "pre_patient_register_no"); + string prePatientRegisterNo; + if (primarykeyBuilderEnt != null) + { + if (primarykeyBuilderEnt.DateString != date) + { + //新的日期 为1 maxnum + primarykeyBuilderEnt.DateString = date; + } + + maxnum = (Convert.ToInt32(primarykeyBuilderEnt.SerialNo) + 1).ToString(); + primarykeyBuilderEnt.SerialNo = maxnum; //更新新的序列号 + + prePatientRegisterNo = date + maxnum.PadLeft(Convert.ToInt32(5), '0'); + + await _primarykeyBuilderRepository.UpdateAsync(primarykeyBuilderEnt); + } + else + { + //初始写入 + prePatientRegisterNo = date + maxnum.PadLeft(Convert.ToInt32(5), '0'); + + primarykeyBuilderEnt = new PrimarykeyBuilder + { + PrimarykeyBuilderId = "patient_register_no", + DateString = date, + SerialNo = maxnum + }; + + await _primarykeyBuilderRepository.InsertAsync(primarykeyBuilderEnt, true); + } + return prePatientRegisterNo; + } ///// ///// 生成条码号(规则,先找体检中心的配置,如未找到,就直接使用全局的) ///// 模式(0 日期+尾号 1.顺序递增)