体检系统架构
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
4.5 KiB

1 year ago
#region CopyRight
/****************************************************************
* ProjectPEIS
* Author
* CLR Version4.0.30319.42000
* CreateTime2023-05-25 15:31:35
* Versionv2.0
*
* Description
*
* History
*
*****************************************************************
* Copyright @ 2023 All rights reserved
*****************************************************************/
#endregion CopyRight
using System;
using System.Collections.Generic;
using PEIS.Entity;
using PEIS.Utils;
namespace PEIS.Model.Enrollment
{
public class EnrollmentOrgModel : IModel<EnrollmentOrg>
{
public List<EnrollmentOrg> GetItems()
{
throw new NotImplementedException();
}
public List<EnrollmentOrg> GetByDate(DateTime begTime, DateTime endTime, String name)
{
if (String.IsNullOrEmpty(name))
{
return DAOHelp.GetDataBySQL<EnrollmentOrg>($"Select * from Enrollment_Org Where ExamDate Between '{begTime}' And DateAdd(day, 1,'{endTime}')");
}
else
{
return DAOHelp.GetDataBySQL<EnrollmentOrg>($"Select * from Enrollment_Org Where Name like '%{name}%'");
}
}
// 发送到科室
public bool SendToDept(Int64 eID)
{
var checkCost = $@"UPDATE Enrollment_CheckCost SET SendTime = GETDATE(), SenderCode = '{Global.currentUser.Code}', Sender = '{Global.currentUser.Name}' WHERE EID = {eID} AND SendTime is null AND DeleteTime is null";
var enrollmentPatient = $@"UPDATE Enrollment_Patient SET ExamDate = GETDATE(), SignTime = GETDATE(), SignerCode = '{Global.currentUser.Code}', Signer = '{Global.currentUser.Name}' WHERE ID = {eID} AND SignTime is null";
var enrollmentFeeItem = $@"UPDATE a SET a.IsSend = 1 FROM Enrollment_FeeItem a LEFT JOIN Enrollment_CheckCost b ON a.OrderNO = b.ID AND a.EID = b.EID WHERE b.SendTime IS NOT NULL AND a.EID = {eID};";
// 插入分科检查
var dept = $@"EXEC sp_InsertNormalFeeItem {eID}";
// 心电图
var heart = $@"UPDATE Enrollment_FeeItem SET DeptCode = '01064',DeptName = '心电图室' WHERE EID = {eID} AND FID IN (31,123)";
// 插入分检步骤
var part = $@"EXEC sp_SyncExamPart {eID}";
1 year ago
var cResult = DAOHelp.ExecuteSql(checkCost, false);
var eResult = DAOHelp.ExecuteSql(enrollmentPatient, false);
var fResult = DAOHelp.ExecuteSql(enrollmentFeeItem, false);
var dResult = DAOHelp.ExecuteSql(dept);
var hResult = DAOHelp.ExecuteSql(heart);
var pResult = DAOHelp.ExecuteSql(part);
1 year ago
return cResult > 0 && eResult > 0 && fResult > 0;
}
// 记账
public bool FeeCheckCost(Int64 ID, String isAlll)
{
var all = $@"UPDATE Enrollment_CheckCost SET ChargeTime = GETDATE(), ChargerCode = '{Global.currentUser.Code}', Charger = '{Global.currentUser.Name}' WHERE OEID = {ID} AND ChargeTime is null AND DeleteTime is null";
var single = $@"UPDATE Enrollment_CheckCost SET ChargeTime = GETDATE(), ChargerCode = '{Global.currentUser.Code}', Charger = '{Global.currentUser.Name}' WHERE ID = {ID} AND ChargeTime is null AND DeleteTime is null";
if (isAlll == "0")
{
return DAOHelp.ExecuteSql(all, false) > 0;
}
else
{
return DAOHelp.ExecuteSql(single, false) > 0;
}
}
public bool RecallDept(Int64 EId) // 撤回发送科室
{
var checkCost = $@"UPDATE Enrollment_CheckCost SET SendTime = null, SenderCode = null, Sender = null WHERE EID = {EId} AND SendTime is not null AND DeleteTime is null AND WeChatCostTime is null";
var enrollmentPatient = $@"UPDATE Enrollment_Patient SET SignTime = null, SignerCode = null, Signer = null WHERE ID = {EId} AND SignTime is not null";
var enrollmentFeeItem = $@"UPDATE a SET a.IsSend = 0 FROM Enrollment_FeeItem a LEFT JOIN Enrollment_CheckCost b ON a.OrderNO = b.ID AND a.EID = b.EID WHERE b.SendTime IS NULL AND a.EID = {EId}";
var cResult = DAOHelp.ExecuteSql(checkCost, false);
var eResult = DAOHelp.ExecuteSql(enrollmentPatient, false);
var fResult = DAOHelp.ExecuteSql(enrollmentFeeItem, false);
return cResult > 0 && eResult > 0 && fResult > 0;
}
}
}