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.
158 lines
8.7 KiB
158 lines
8.7 KiB
#region CopyRight
|
|
|
|
/****************************************************************
|
|
* Project:健康体检信息管理系统(PEIS)
|
|
* Author:张剑峰
|
|
* CLR Version:4.0.30319.42000
|
|
* CreateTime:2023-05-25 15:31:35
|
|
* Version:v2.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 = $@"UPDATE Enrollment_FeeItem SET DeptCode = '01016',DeptName = '内科' WHERE FID = 844 AND EID = {eID};
|
|
UPDATE Enrollment_FeeItem SET DeptCode = '01017',DeptName = '外科' WHERE FID = 845 AND EID = {eID};
|
|
UPDATE Enrollment_FeeItem SET DeptCode = '01014',DeptName = '口腔科' WHERE FID = 846 AND EID = {eID};
|
|
UPDATE Enrollment_FeeItem SET DeptCode = '01015',DeptName = '五官科' WHERE FID = 847 AND EID = {eID};
|
|
UPDATE Enrollment_FeeItem SET DeptCode = '01012',DeptName = '心电图室' WHERE FID = 216 AND EID = {eID};";
|
|
|
|
// 插入分检步骤
|
|
var part = $@"EXEC sp_SyncExamPart {eID}";
|
|
|
|
var cResult = DAOHelp.ExecuteSql(checkCost, false);
|
|
var eResult = DAOHelp.ExecuteSql(enrollmentPatient, false);
|
|
var fResult = DAOHelp.ExecuteSql(enrollmentFeeItem, false);
|
|
var dResule = DAOHelp.ExecuteSql(dept);
|
|
var pResult = DAOHelp.ExecuteSql(part);
|
|
|
|
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;
|
|
}
|
|
|
|
public List<EnrollmentPatient> GetExcelList(Int64 oeID)
|
|
{
|
|
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT
|
|
a.ID,
|
|
a.Name,
|
|
CASE WHEN a.Sex = 1 THEN '男' ELSE '女' END AS 'Sex',
|
|
b.Marriage,
|
|
CONVERT ( VARCHAR, a.Age ) + a.AgeClass AS 'AgeClass',
|
|
a.CardNo,
|
|
a.Tel1,
|
|
c.DeptName,
|
|
a.SignTime,
|
|
d.Fee
|
|
FROM
|
|
Enrollment_Patient a
|
|
LEFT JOIN Base_Patient b ON a.PID = b.ID
|
|
LEFT JOIN Base_OrgPatient c ON c.OID = a.OID AND c.PID = b.ID
|
|
LEFT JOIN Enrollment_CheckCost d ON a.ID = d.EID AND a.OEID = d.OEID
|
|
WHERE
|
|
a.OEID = {oeID} AND d.DeleteTime IS NULL
|
|
ORDER BY a.SignTime");
|
|
}
|
|
|
|
public List<EnrollmentPatient> GetCopyList(String name, Int64 oeID)
|
|
{
|
|
if(string.IsNullOrEmpty(name)) return new List<EnrollmentPatient>();
|
|
|
|
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT
|
|
ID,
|
|
Sex,
|
|
Age,
|
|
Name,
|
|
Tel1,
|
|
AgeClass,
|
|
SignTime,
|
|
Address1,
|
|
Contactor1,
|
|
CreateTime,
|
|
CASE
|
|
WHEN FinishTime IS NOT NULL THEN '3'
|
|
WHEN SignTime IS NOT NULL THEN '2'
|
|
WHEN SignTime IS NULL THEN '1'
|
|
END AS Signer,
|
|
FinishTime,
|
|
SpellCode
|
|
FROM
|
|
Enrollment_Patient
|
|
WHERE
|
|
( Name like '%{name}%' or id like '%{name}%' or SpellCode like '{name}%')
|
|
AND OEID = {oeID}
|
|
AND PID IS NOT NULL
|
|
AND WeChatStatus IN ( 0, 1 )
|
|
ORDER BY
|
|
CreateTime DESC");
|
|
}
|
|
}
|
|
} |