diff --git a/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PatientRegisters/Qztl/ImportPatientRegisterPlugInsQztl.cs b/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PatientRegisters/Qztl/ImportPatientRegisterPlugInsQztl.cs index d4c5430..9e1dfb9 100644 --- a/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PatientRegisters/Qztl/ImportPatientRegisterPlugInsQztl.cs +++ b/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PatientRegisters/Qztl/ImportPatientRegisterPlugInsQztl.cs @@ -82,6 +82,7 @@ namespace Shentun.Peis.PlugIns.Extensions.PatientRegisters.Qztl patientRegister.CompleteFlag != PatientRegisterCompleteFlag.Registration) { //已检人员不允许删除 + errorList.Add($"姓名:{patientRegister.PatientName},身份证号:{patientRegister.IdNo},已检不能删除"); continue; } var patientRegisterInputDto = new PatientRegisterIdInputDto() @@ -390,7 +391,7 @@ namespace Shentun.Peis.PlugIns.Extensions.PatientRegisters.Qztl { throw new Exception("customerOrgRegisterId参数不能为空"); } - var customerOrgIdStr = InterfaceConfig.GetSection("Interface").GetSection("单位编号").Value; + var customerOrgIdStr = InterfaceConfig.GetSection("Interface").GetSection("CustomerOrgId").Value; _hospitalId = InterfaceConfig.GetSection("Interface").GetSection("HospitalId").Value; _aesKEY = InterfaceConfig.GetSection("Interface").GetSection("aesKEY").Value; _answerWebApiUrl = InterfaceConfig.GetSection("Interface").GetSection("AnswerWebApiUrl").Value; diff --git a/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs b/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs index 18e64dc..76507f6 100644 --- a/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs +++ b/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs @@ -166,48 +166,58 @@ where patient.id = patient_register.patient_id and { using (DbConnection conn = new NpgsqlConnection(AppConnctionStr)) { - //加ConcurrencyStamp,以防止并发 - string sql; - sql = @" update charge_request set charge_request_flag =" + chargeRequestFlag + - @" where id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp - "; - await conn.ExecuteAsync(sql, - new - { - chargeRequestForPlugIns.ChargeRequestId, - chargeRequestForPlugIns.ConcurrencyStamp - }); - - foreach (var chargeRequestAsbitem in chargeRequestForPlugIns.Asbitems) + var trans = conn.BeginTransaction(); + try { - if (chargeRequestFlag == ChargeRequestFlag.AlreadyCharge) + //加ConcurrencyStamp,以防止并发 + string sql; + sql = @" update charge_request set charge_request_flag =" + chargeRequestFlag + + @" where id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp + "; + await conn.ExecuteAsync(sql, + new + { + chargeRequestForPlugIns.ChargeRequestId, + chargeRequestForPlugIns.ConcurrencyStamp + }, trans); + + foreach (var chargeRequestAsbitem in chargeRequestForPlugIns.Asbitems) { - sql = @" update register_check_asbitem set is_charge = 'Y' + if (chargeRequestFlag == ChargeRequestFlag.AlreadyCharge) + { + sql = @" update register_check_asbitem set is_charge = 'Y' where charge_request_id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp "; - await conn.ExecuteAsync(sql, - new - { - chargeRequestForPlugIns.ChargeRequestId, - chargeRequestAsbitem.ConcurrencyStamp - }); - } - else if (chargeRequestFlag == ChargeRequestFlag.AlreadyRefund) - { - sql = @" update register_check_asbitem set is_charge = 'N' + await conn.ExecuteAsync(sql, + new + { + chargeRequestForPlugIns.ChargeRequestId, + chargeRequestAsbitem.ConcurrencyStamp + }, trans); + } + else if (chargeRequestFlag == ChargeRequestFlag.AlreadyRefund) + { + sql = @" update register_check_asbitem set is_charge = 'N' where charge_request_id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp "; - await conn.ExecuteAsync(sql, - new - { - chargeRequestForPlugIns.ChargeRequestId, - chargeRequestAsbitem.ConcurrencyStamp - }); + await conn.ExecuteAsync(sql, + new + { + chargeRequestForPlugIns.ChargeRequestId, + chargeRequestAsbitem.ConcurrencyStamp + }, trans); + } } - } - + trans.Commit(); + } + catch (Exception ex) + { + trans.Rollback(); + throw ex; + } + } }