From 1c26d25373efd0eef1f131459b09ac59b6bfaa5b Mon Sep 17 00:00:00 2001 From: Chunkit Yeung Date: Fri, 12 Feb 2021 00:05:22 +0800 Subject: [PATCH 1/2] InitProject_v1.4.8_happy_new_year --- SYS.Common/Repository/Repository.cs | 43 ++++++++++++++++++++++++++ SYS.Core/Business/Fonts.cs | 8 +++++ SYS.Core/Resources/Mono-l.ttf | Bin 0 -> 172760 bytes SYS.Core/Resources/Mono.ttf | Bin 0 -> 171392 bytes SYS.Core/Room/RoomState.cs | 17 +++++++++++ SYS.Core/Util/CounterHelper.cs | 39 ++++++++++++++++++++++++ SYS.Core/Worker/GBType.cs | 45 ++++++++++++++++++++++++++++ 7 files changed, 152 insertions(+) create mode 100644 SYS.Common/Repository/Repository.cs create mode 100644 SYS.Core/Business/Fonts.cs create mode 100644 SYS.Core/Resources/Mono-l.ttf create mode 100644 SYS.Core/Resources/Mono.ttf create mode 100644 SYS.Core/Room/RoomState.cs create mode 100644 SYS.Core/Util/CounterHelper.cs create mode 100644 SYS.Core/Worker/GBType.cs diff --git a/SYS.Common/Repository/Repository.cs b/SYS.Common/Repository/Repository.cs new file mode 100644 index 0000000..a567c71 --- /dev/null +++ b/SYS.Common/Repository/Repository.cs @@ -0,0 +1,43 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SYS.Common +{ + public class Repository : SimpleClient where T : class, new() + { + public Repository(ISqlSugarClient context = null) : base(context)//注意这里要有默认值等于null + { + if (context == null) + { + base.Context = new SqlSugarClient(new ConnectionConfig() + { + DbType = SqlSugar.DbType.MySql, + InitKeyType = InitKeyType.Attribute, + IsAutoCloseConnection = true, + ConnectionString = "Server=134.175.239.108;Database=tshoteldb;Uid=root;Pwd=yjj0720.;" + }); + + base.Context.Aop.OnLogExecuting = (s, p) => + { + Console.WriteLine(s); + }; + } + } + + /// + /// 扩展方法,自带方法不能满足的时候可以添加新方法 + /// + /// + public List CommQuery(string json) + { + T t = Context.Utilities.DeserializeObject(json); + var list = base.Context.Queryable().WhereClass(t).ToList(); + return list; + } + } +} +} diff --git a/SYS.Core/Business/Fonts.cs b/SYS.Core/Business/Fonts.cs new file mode 100644 index 0000000..7bce398 --- /dev/null +++ b/SYS.Core/Business/Fonts.cs @@ -0,0 +1,8 @@ +namespace SYS.Core +{ + public class Fonts + { + public int FontsId { get; set; } + public string FontsMess { get; set; } + } +} diff --git a/SYS.Core/Resources/Mono-l.ttf b/SYS.Core/Resources/Mono-l.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e03ff7e6990da914a9e855906422f3d64f119dec GIT binary patch literal 172760 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[?qX7OALOW2C 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 Y4zVu#-|DvxPt;~~jnQ09wTQp}1^=X^1ONa4 literal 0 HcmV?d00001 diff --git a/SYS.Core/Resources/Mono.ttf b/SYS.Core/Resources/Mono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4781cc7f57b55e3e5defaeecafcd6bd7c096fa21 GIT binary patch literal 171392 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

-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

r5st_ldz2VxkD7RZr~tGc49f6y@xd_aB5&h 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 literal 0 HcmV?d00001 diff --git a/SYS.Core/Room/RoomState.cs b/SYS.Core/Room/RoomState.cs new file mode 100644 index 0000000..8843dee --- /dev/null +++ b/SYS.Core/Room/RoomState.cs @@ -0,0 +1,17 @@ +namespace SYS.Core +{ + ///

+ /// 房间状态 + /// + public static class RoomState + { + /// + /// 房间编号 + /// + public static string RoomNo { get; set; } + /// + /// 房间状态编号 + /// + public static int RoomStateId { get; set; } + } +} diff --git a/SYS.Core/Util/CounterHelper.cs b/SYS.Core/Util/CounterHelper.cs new file mode 100644 index 0000000..b39d241 --- /dev/null +++ b/SYS.Core/Util/CounterHelper.cs @@ -0,0 +1,39 @@ +using MySql.Data.MySqlClient; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SYS.Core +{ + /// + /// 流水号规则 + /// + public class CounterHelper + { + /// + /// 获取生成编号 + /// + /// + /// + public string GetNewId(string str) + { + var count = 0; + var Str = string.Empty; + string sql = string.Format("select * from counterrule where rule_name = '{0}'",str); + MySqlDataReader dr = DBHelper.ExecuteReader(sql); + while (dr.Read()) + { + Str = dr["prefix_name"].ToString() + dr["separating_char"].ToString() + DateTime.Now.ToString(dr["custo_format"].ToString()) + + dr["number_format"].ToString() + dr["now_id"].ToString(); + count++; + } + dr.Close(); + DBHelper.Closecon(); + string sql1 = string.Format("update counterrule set now_id = now_id + {1} where rule_name = '{0}'", str,count); + DBHelper.ExecuteNonQuery(sql1); + return Str; + } + } +} diff --git a/SYS.Core/Worker/GBType.cs b/SYS.Core/Worker/GBType.cs new file mode 100644 index 0000000..2a42b89 --- /dev/null +++ b/SYS.Core/Worker/GBType.cs @@ -0,0 +1,45 @@ +using System; + +namespace SYS.Application +{ + /// + /// 奖惩类型实体类 + /// + public class GBType + { + /// + /// 奖惩编号 + /// + public int GBTypeId { get; set; } + + /// + /// 奖惩名称 + /// + public string GBName { get; set; } + + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + + /// + /// 资料新增人 + /// + public string datains_usr { get; set; } + + /// + /// 资料新增日期 + /// + public DateTime? datains_date { get; set; } + + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + + /// + /// 资料更新日期 + /// + public DateTime? datachg_date { get; set; } + } +} \ No newline at end of file -- Gitee From 68001f2d2c2fb85ae7c96bd50e189727b21d9783 Mon Sep 17 00:00:00 2001 From: Chunkit Yeung Date: Fri, 12 Feb 2021 00:06:12 +0800 Subject: [PATCH 2/2] InitProject_v1.4.8_happy_new_year --- SYS.Application/Business/CashService.cs | 42 +- SYS.Application/Business/FontsService.cs | 19 +- SYS.Application/Business/ICashService.cs | 24 + SYS.Application/Business/IFontsService.cs | 17 + SYS.Application/Business/IReserService.cs | 41 ++ SYS.Application/Business/ISellService.cs | 72 ++ SYS.Application/Business/ISpendService.cs | 77 ++ SYS.Application/Business/IWtiService.cs | 86 +++ SYS.Application/Business/ReserService.cs | 94 +-- SYS.Application/Business/SellService.cs | 152 ++-- SYS.Application/Business/SpendService.cs | 144 ++-- SYS.Application/Business/WtiService.cs | 123 ++-- SYS.Application/Customer/CheckInfoService.cs | 46 +- SYS.Application/Customer/CustoService.cs | 233 +++--- SYS.Application/Customer/ICheckInfoService.cs | 17 + SYS.Application/Customer/ICustoService.cs | 41 ++ SYS.Application/Room/IRoomService.cs | 183 +++++ SYS.Application/Room/IRoomTypeService.cs | 28 + SYS.Application/Room/RoomService.cs | 362 ++++------ SYS.Application/Room/RoomTypeService.cs | 37 +- SYS.Application/SYS.Application.csproj | 27 + SYS.Application/Worker/IWorkerCheckService.cs | 41 ++ .../Worker/IWorkerGoodBadService.cs | 25 + .../Worker/IWorkerHistoryService.cs | 25 + SYS.Application/Worker/IWorkerService.cs | 59 ++ SYS.Application/Worker/WorkerCheckService.cs | 48 +- .../Worker/WorkerGoodBadService.cs | 45 +- .../Worker/WorkerHistoryService.cs | 39 +- SYS.Application/Worker/WorkerService.cs | 168 +++-- SYS.Application/Zero/AdminService.cs | 53 +- SYS.Application/Zero/BaseService.cs | 330 +++------ SYS.Application/Zero/IAdminService.cs | 31 + SYS.Application/Zero/IBaseService.cs | 30 +- SYS.Application/Zero/INoticeService.cs | 19 + SYS.Application/Zero/IOperationlogService.cs | 6 + SYS.Application/Zero/NoticeService.cs | 24 +- SYS.Application/Zero/OperationlogService.cs | 36 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7109 -> 7387 bytes ...YS.Application.csproj.FileListAbsolute.txt | 15 + .../Controllers/Business/CashController.cs | 4 +- .../Zero/OperationlogController.cs | 2 +- SYS.Browser.WebAPI/Web.config | 4 + SYS.Common/App.config | 9 +- SYS.Common/Base/BaseDto.cs | 9 +- SYS.Common/Base/IBaseDto.cs | 7 +- SYS.Common/Base/MsgDto.cs | 13 + SYS.Common/Repository/Repository.cs | 11 - SYS.Common/SYS.Common.csproj | 22 + SYS.Common/StatusCode/StatusCode.cs | 15 + SYS.Common/packages.config | 4 +- SYS.ConsoleApp1/App.config | 6 + SYS.ConsoleApp1/Program.cs | 15 + SYS.ConsoleApp1/Properties/AssemblyInfo.cs | 36 + SYS.ConsoleApp1/SYS.ConsoleApp1.csproj | 53 ++ SYS.Core/Business/Cash.cs | 24 + SYS.Core/Business/Fonts.cs | 10 + SYS.Core/Business/Reser.cs | 23 + SYS.Core/Business/SellThing.cs | 42 +- SYS.Core/Business/Spend.cs | 51 ++ SYS.Core/Business/Wti.cs | 27 + SYS.Core/Customer/Custo.cs | 63 ++ SYS.Core/Customer/CustoSpend.cs | 9 + SYS.Core/Customer/CustoType.cs | 34 +- SYS.Core/Customer/PassPortType.cs | 23 + SYS.Core/Customer/SexType.cs | 19 + SYS.Core/Room/CheckInfo.cs | 49 +- SYS.Core/Room/Room.cs | 31 +- SYS.Core/Room/RoomState.cs | 35 +- SYS.Core/Room/RoomStatic.cs | 14 - SYS.Core/Room/RoomType.cs | 34 +- SYS.Core/SYS.Core.csproj | 18 +- SYS.Core/Util/DBHelper.cs | 2 +- SYS.Core/Util/Fonts.cs | 8 - SYS.Core/Util/Md5LockedUtil.cs | 20 + SYS.Core/Worker/Worker.cs | 112 ++- SYS.Core/Worker/WorkerCheck.cs | 43 +- SYS.Core/Worker/WorkerGoodBad.cs | 41 ++ SYS.Core/Worker/WorkerHistory.cs | 38 + SYS.Core/Zero/Admin.cs | 61 +- SYS.Core/Zero/AdminInfo.cs | 10 +- SYS.Core/Zero/Dept.cs | 2 +- SYS.Core/Zero/Nation.cs | 4 +- SYS.Core/Zero/Notice.cs | 41 ++ SYS.Core/Zero/Operation.cs | 12 - SYS.Core/Zero/OperationLog.cs | 32 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7323 -> 7516 bytes .../SYS.Core.csproj.FileListAbsolute.txt | 14 + SYS.FormUI/App.config | 8 + SYS.FormUI/AppFunction/FrmAddRoom.cs | 6 +- SYS.FormUI/AppFunction/FrmAddWorker.cs | 18 +- SYS.FormUI/AppFunction/FrmAdminMain.resx | 408 ----------- SYS.FormUI/AppFunction/FrmBackAdmin.cs | 29 +- .../AppFunction/FrmBackUpDatabase.Designer.cs | 198 ----- SYS.FormUI/AppFunction/FrmBackUpDatabase.cs | 66 -- .../FrmBackgroundSystem.Designer.cs | 286 +++++--- SYS.FormUI/AppFunction/FrmBackgroundSystem.cs | 109 ++- .../AppFunction/FrmBackgroundSystem.resx | 5 +- SYS.FormUI/AppFunction/FrmCash.cs | 12 +- .../AppFunction/FrmChangePosition.Designer.cs | 85 ++- SYS.FormUI/AppFunction/FrmChangePosition.cs | 9 +- SYS.FormUI/AppFunction/FrmChangeRoom.cs | 18 +- SYS.FormUI/AppFunction/FrmChangeWorker.cs | 30 +- SYS.FormUI/AppFunction/FrmCheckIn.cs | 97 ++- ...t.Designer.cs => FrmCheckList.Designer.cs} | 2 +- .../{FrmCashList.cs => FrmCheckList.cs} | 4 +- .../{FrmCashList.resx => FrmCheckList.resx} | 0 SYS.FormUI/AppFunction/FrmCheckOutForm.cs | 21 +- SYS.FormUI/AppFunction/FrmCustoManager.cs | 2 +- .../FrmCustomerManager.Designer.cs | 147 ++-- SYS.FormUI/AppFunction/FrmCustomerManager.cs | 8 +- .../AppFunction/FrmCustomerManager.resx | 15 + .../AppFunction/FrmDepartment.Designer.cs | 14 + SYS.FormUI/AppFunction/FrmDepartment.cs | 10 + SYS.FormUI/AppFunction/FrmGoodOrBad.cs | 14 +- SYS.FormUI/AppFunction/FrmInputs.cs | 5 +- SYS.FormUI/AppFunction/FrmNation.cs | 80 +- SYS.FormUI/AppFunction/FrmNotice.Designer.cs | 117 +++ .../{FrmAdminMain.cs => FrmNotice.cs} | 11 +- ...{FrmBackUpDatabase.resx => FrmNotice.resx} | 124 +--- SYS.FormUI/AppFunction/FrmReserList.cs | 3 +- SYS.FormUI/AppFunction/FrmReserManager.cs | 2 +- SYS.FormUI/AppFunction/FrmRoomManager.cs | 95 +-- SYS.FormUI/AppFunction/FrmRoomStateManager.cs | 6 +- SYS.FormUI/AppFunction/FrmSelectCustoInfo.cs | 3 +- SYS.FormUI/AppFunction/FrmSellThing.cs | 2 +- .../AppFunction/FrmUnLockSystem.Designer.cs | 9 +- SYS.FormUI/AppFunction/FrmUnLockSystem.cs | 32 +- ...esigner.cs => FrmUpLoadNotice.Designer.cs} | 135 +--- .../{FrmUpLoad.cs => FrmUpLoadNotice.cs} | 48 +- .../{FrmUpLoad.resx => FrmUpLoadNotice.resx} | 9 - ...signer.cs => FrmWorkerManager.Designer.cs} | 2 +- .../{FrmTopChange.cs => FrmWorkerManager.cs} | 6 +- ...rmTopChange.resx => FrmWorkerManager.resx} | 0 SYS.FormUI/AppInterface/FrmAdminEnter.cs | 7 +- SYS.FormUI/AppInterface/FrmLogin.cs | 18 +- SYS.FormUI/AppMain/FrmMain.Designer.cs | 4 +- SYS.FormUI/AppMain/FrmMain.cs | 30 +- .../CtrlOrgChar.Designer.cs} | 55 +- SYS.FormUI/AppUserControls/CtrlOrgChar.cs | 102 +++ SYS.FormUI/AppUserControls/CtrlOrgChar.resx | 120 +++ .../AppUserControls/CtrlOrgPanel.Designer.cs | 130 ++++ SYS.FormUI/AppUserControls/CtrlOrgPanel.cs | 123 ++++ SYS.FormUI/AppUserControls/CtrlOrgPanel.resx | 120 +++ .../AppUserControls/ExtensionMethods.cs | 35 + .../AppUserControls/OrgCharGenerator.cs | 681 ++++++++++++++++++ .../ucBaseInformation.Designer.cs | 8 + .../AppUserControls/ucBaseInformation.cs | 24 +- .../AppUserControls/ucBaseInformation.resx | 14 +- .../AppUserControls/ucRoomList.Designer.cs | 6 +- SYS.FormUI/AppUserControls/ucRoomList.cs | 51 +- SYS.FormUI/Program.cs | 2 +- SYS.FormUI/Properties/Resources.Designer.cs | 50 ++ SYS.FormUI/Properties/Resources.resx | 209 +++--- SYS.FormUI/Resources/lock.png | Bin 0 -> 337 bytes SYS.FormUI/Resources/settings2.png | Bin 0 -> 1174 bytes ...\212\240 \345\212\240\345\207\217 (1).png" | Bin 0 -> 823 bytes ...45\242\236\345\212\240 \345\212\240.png" | Bin 0 -> 420 bytes ...4\347\271\224\345\234\226\345\241\212.bmp" | Bin 0 -> 21258 bytes SYS.FormUI/SYS.FormUI.csproj | 124 ++-- .../DesignTimeResolveAssemblyReferences.cache | Bin 97986 -> 97470 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 17031 -> 17942 bytes .../SYS.FormUI.csproj.FileListAbsolute.txt | 24 +- ...20\206\347\263\273\347\273\237.exe.config" | 18 +- .../Properties.Resources.Designer.cs.dll | Bin 9216 -> 9728 bytes SYS.Library/SYS.Library.csproj | 3 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7927 -> 8008 bytes .../SYS.Library.csproj.FileListAbsolute.txt | 16 + SYS.Manager/Business/CashManager.cs | 6 +- SYS.Manager/Business/SpendManager.cs | 14 + SYS.Manager/Room/RoomManager.cs | 1 + SYS.Manager/SYS.Manager.csproj | 3 + SYS.Manager/Zero/AdminManager.cs | 12 + SYS.Manager/Zero/BaseManager.cs | 518 ++++++------- SYS.Manager/Zero/OperationlogManager.cs | 2 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7030 -> 7111 bytes .../SYS.Manager.csproj.FileListAbsolute.txt | 14 + 176 files changed, 5609 insertions(+), 3260 deletions(-) create mode 100644 SYS.Application/Business/ICashService.cs create mode 100644 SYS.Application/Business/IFontsService.cs create mode 100644 SYS.Application/Business/IReserService.cs create mode 100644 SYS.Application/Business/ISellService.cs create mode 100644 SYS.Application/Business/ISpendService.cs create mode 100644 SYS.Application/Business/IWtiService.cs create mode 100644 SYS.Application/Customer/ICheckInfoService.cs create mode 100644 SYS.Application/Customer/ICustoService.cs create mode 100644 SYS.Application/Room/IRoomService.cs create mode 100644 SYS.Application/Room/IRoomTypeService.cs create mode 100644 SYS.Application/Worker/IWorkerCheckService.cs create mode 100644 SYS.Application/Worker/IWorkerGoodBadService.cs create mode 100644 SYS.Application/Worker/IWorkerHistoryService.cs create mode 100644 SYS.Application/Worker/IWorkerService.cs create mode 100644 SYS.Application/Zero/IAdminService.cs create mode 100644 SYS.Application/Zero/INoticeService.cs create mode 100644 SYS.Application/Zero/IOperationlogService.cs create mode 100644 SYS.Common/Base/MsgDto.cs create mode 100644 SYS.Common/StatusCode/StatusCode.cs create mode 100644 SYS.ConsoleApp1/App.config create mode 100644 SYS.ConsoleApp1/Program.cs create mode 100644 SYS.ConsoleApp1/Properties/AssemblyInfo.cs create mode 100644 SYS.ConsoleApp1/SYS.ConsoleApp1.csproj delete mode 100644 SYS.Core/Room/RoomStatic.cs delete mode 100644 SYS.Core/Util/Fonts.cs delete mode 100644 SYS.Core/Zero/Operation.cs delete mode 100644 SYS.FormUI/AppFunction/FrmAdminMain.resx delete mode 100644 SYS.FormUI/AppFunction/FrmBackUpDatabase.Designer.cs delete mode 100644 SYS.FormUI/AppFunction/FrmBackUpDatabase.cs rename SYS.FormUI/AppFunction/{FrmCashList.Designer.cs => FrmCheckList.Designer.cs} (99%) rename SYS.FormUI/AppFunction/{FrmCashList.cs => FrmCheckList.cs} (97%) rename SYS.FormUI/AppFunction/{FrmCashList.resx => FrmCheckList.resx} (100%) create mode 100644 SYS.FormUI/AppFunction/FrmNotice.Designer.cs rename SYS.FormUI/AppFunction/{FrmAdminMain.cs => FrmNotice.cs} (53%) rename SYS.FormUI/AppFunction/{FrmBackUpDatabase.resx => FrmNotice.resx} (37%) rename SYS.FormUI/AppFunction/{FrmUpLoad.Designer.cs => FrmUpLoadNotice.Designer.cs} (64%) rename SYS.FormUI/AppFunction/{FrmUpLoad.cs => FrmUpLoadNotice.cs} (40%) rename SYS.FormUI/AppFunction/{FrmUpLoad.resx => FrmUpLoadNotice.resx} (94%) rename SYS.FormUI/AppFunction/{FrmTopChange.Designer.cs => FrmWorkerManager.Designer.cs} (99%) rename SYS.FormUI/AppFunction/{FrmTopChange.cs => FrmWorkerManager.cs} (97%) rename SYS.FormUI/AppFunction/{FrmTopChange.resx => FrmWorkerManager.resx} (100%) rename SYS.FormUI/{AppFunction/FrmAdminMain.Designer.cs => AppUserControls/CtrlOrgChar.Designer.cs} (37%) create mode 100644 SYS.FormUI/AppUserControls/CtrlOrgChar.cs create mode 100644 SYS.FormUI/AppUserControls/CtrlOrgChar.resx create mode 100644 SYS.FormUI/AppUserControls/CtrlOrgPanel.Designer.cs create mode 100644 SYS.FormUI/AppUserControls/CtrlOrgPanel.cs create mode 100644 SYS.FormUI/AppUserControls/CtrlOrgPanel.resx create mode 100644 SYS.FormUI/AppUserControls/ExtensionMethods.cs create mode 100644 SYS.FormUI/AppUserControls/OrgCharGenerator.cs create mode 100644 SYS.FormUI/Resources/lock.png create mode 100644 SYS.FormUI/Resources/settings2.png create mode 100644 "SYS.FormUI/Resources/\345\242\236\345\212\240 \346\267\273\345\212\240 \345\212\240\345\207\217 (1).png" create mode 100644 "SYS.FormUI/Resources/\346\267\273\345\212\240 \345\242\236\345\212\240 \345\212\240.png" create mode 100644 "SYS.FormUI/Resources/\347\265\204\347\271\224\345\234\226\345\241\212.bmp" diff --git a/SYS.Application/Business/CashService.cs b/SYS.Application/Business/CashService.cs index 04dc244..5f2ba5f 100644 --- a/SYS.Application/Business/CashService.cs +++ b/SYS.Application/Business/CashService.cs @@ -1,40 +1,34 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class CashService + /// + /// 资产信息接口实现类 + /// + public class CashService:Repository, ICashService { - - public static object AddCashInfo(Cash cash) + /// + /// 添加资产信息 + /// + /// + /// + public bool AddCashInfo(Cash cash) { - string sql = "insert into cashinfo values('" + cash.CashNo + "','" + cash.CashName + "','" + cash.CashPrice + "','" + cash.CashClub + "','" + cash.CashTime + "','" + cash.CashSource + "','" + cash.CashPerson + "')"; - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(cash); } - public static List SelectCashInfoAll() + /// + /// 查询资产信息 + /// + /// + public List SelectCashInfoAll() { - List cs = new List(); - string sql = "select * from CASHINFO"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - - Cash c = new Cash(); - c.CashNo = (string)dr["CashNo"]; - c.CashName = dr["CashName"].ToString(); - c.CashPrice = (string)dr["CashPrice"]; - c.CashClub = Convert.ToString(dr["CashClub"]); - c.CashTime = DateTime.Parse(dr["CashTime"].ToString()); - c.CashSource = dr["CashSource"].ToString(); - c.CashPerson = dr["CashPerson"].ToString(); - cs.Add(c); - } - dr.Close(); - DBHelper.Closecon(); + cs = base.GetList(); return cs; } } diff --git a/SYS.Application/Business/FontsService.cs b/SYS.Application/Business/FontsService.cs index 4ae7321..10897c1 100644 --- a/SYS.Application/Business/FontsService.cs +++ b/SYS.Application/Business/FontsService.cs @@ -1,4 +1,5 @@ using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; using System; using System.Collections.Generic; @@ -9,28 +10,18 @@ using System.Threading.Tasks; namespace SYS.Application { /// - /// 酒店宣传联动内容 + /// 酒店宣传联动内容接口实现类 /// - public class FontsService + public class FontsService:Repository,IFontsService { /// /// 查询所有宣传联动内容(跑马灯) /// /// - public static List SelectFontAll() + public List SelectFontAll() { List fonts = new List(); - string sql = "select * from Fonts"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Fonts font = new Fonts(); - font.FontsId = (int)dr["FontsId"]; - font.FontsMess = dr["FontsMess"].ToString(); - fonts.Add(font); - } - dr.Close(); - DBHelper.Closecon(); + fonts = base.GetList(); return fonts; } } diff --git a/SYS.Application/Business/ICashService.cs b/SYS.Application/Business/ICashService.cs new file mode 100644 index 0000000..a4ca955 --- /dev/null +++ b/SYS.Application/Business/ICashService.cs @@ -0,0 +1,24 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 资产信息接口 + /// + public interface ICashService + { + /// + /// 添加资产信息 + /// + /// + /// + bool AddCashInfo(Cash cash); + + /// + /// 查询资产信息 + /// + /// + List SelectCashInfoAll(); + } +} \ No newline at end of file diff --git a/SYS.Application/Business/IFontsService.cs b/SYS.Application/Business/IFontsService.cs new file mode 100644 index 0000000..f84e2ff --- /dev/null +++ b/SYS.Application/Business/IFontsService.cs @@ -0,0 +1,17 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 酒店宣传联动内容接口 + /// + public interface IFontsService + { + /// + /// 查询所有宣传联动内容(跑马灯) + /// + /// + List SelectFontAll(); + } +} \ No newline at end of file diff --git a/SYS.Application/Business/IReserService.cs b/SYS.Application/Business/IReserService.cs new file mode 100644 index 0000000..b29c032 --- /dev/null +++ b/SYS.Application/Business/IReserService.cs @@ -0,0 +1,41 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 预约信息接口 + /// + public interface IReserService + { + + /// + /// 获取所有预约信息 + /// + /// + List SelectReserAll(); + + /// + /// 根据房间编号获取预约信息 + /// + /// + /// + Reser SelectReserInfoByRoomNo(string no); + + /// + /// 删除预约信息 + /// + /// + /// + bool DeleteReserInfo(string rid); + + /// + /// 添加预约信息 + /// + /// + /// + bool InserReserInfo(Reser r); + + + } +} \ No newline at end of file diff --git a/SYS.Application/Business/ISellService.cs b/SYS.Application/Business/ISellService.cs new file mode 100644 index 0000000..dda5372 --- /dev/null +++ b/SYS.Application/Business/ISellService.cs @@ -0,0 +1,72 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 商品接口 + /// + public interface ISellService + { + /// + /// 查询所有商品 + /// + /// + List SelectSellThingAll(); + + /// + /// 根据商品ID查询 + /// + /// + /// + SellThing SelectSellThingByNo(string No); + + /// + /// 根据商品名称查询 + /// + /// + /// + List SelectSellThingByName(string Name); + + /// + /// 修改商品 + /// + /// + /// + /// + bool UpdateSellThing(string stock, string sellNo); + + /// + /// 撤回客户消费信息 + /// + /// + /// + /// + bool DeleteSellThing(string roomNo, string time); + + /// + /// 根据商品名称和价格查询商品编号 + /// + /// + /// + /// + SellThing SelectSellThingByNameAndPrice(string name, string price); + + + /// + /// 根据商品编号查询商品信息 + /// + /// + /// + SellThing SelectSellInfoBySellNo(string SellNo); + + #region 添加商品 + /// + /// 添加商品 + /// + /// + /// + bool InsertSellThing(SellThing st); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Business/ISpendService.cs b/SYS.Application/Business/ISpendService.cs new file mode 100644 index 0000000..4638c09 --- /dev/null +++ b/SYS.Application/Business/ISpendService.cs @@ -0,0 +1,77 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 消费信息接口 + /// + public interface ISpendService + { + #region 添加消费信息 + /// + /// 添加消费信息 + /// + /// + /// + bool InsertSpendInfo(Spend s); + #endregion + + #region 根据客户编号查询消费信息 + /// + /// 根据客户编号查询消费信息 + /// + /// + /// + List SelectSpendByCustoNo(string No); + #endregion + + #region 查询消费的所有信息 + /// + /// 查询消费的所有信息 + /// + /// + List SelectSpendInfoAll(); + #endregion + + #region 根据房间号查询消费的所有信息 + /// + /// 根据房间号查询消费的所有信息 + /// + /// + List SelectSpendInfoRoomNo(string RoomNo); + #endregion + + #region 根据房间编号、入住时间到当前时间查询消费总金额 + /// + /// 根据房间编号、入住时间到当前时间查询消费总金额 + /// + /// + /// + /// + object SelectMoneyByRoomNoAndTime(string roomno, string custono); + #endregion + + #region 根据房间编号、入住时间和当前时间修改结算状态 + /// + /// 根据房间编号、入住时间和当前时间修改结算状态 + /// + /// + /// + /// + bool UpdateMoneyState(string roomno, string checktime); + #endregion + + #region 将转房前的未结算记录一同转移到新房间 + /// + /// 将转房前的未结算记录一同转移到新房间 + /// + /// + /// + /// + /// + bool UpdateSpendInfoByRoomNo(string oldRoom, string newRoom, string custoNo); + #endregion + + } +} \ No newline at end of file diff --git a/SYS.Application/Business/IWtiService.cs b/SYS.Application/Business/IWtiService.cs new file mode 100644 index 0000000..9ff161e --- /dev/null +++ b/SYS.Application/Business/IWtiService.cs @@ -0,0 +1,86 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 水电信息接口 + /// + public interface IWtiService + { + #region 根据房间编号查询水电费信息 + /// + /// 根据房间编号查询水电费信息 + /// + /// + /// + Wti SelectWtiInfoByRoomNo(string roomNo); + #endregion + + #region 根据房间编号、使用时间查询水电费信息 + /// + /// 根据房间编号、使用时间查询水电费信息 + /// + /// + /// + /// + /// + Wti SelectWtiInfoByRoomNoAndTime(string roomno, string usedate, string enddate); + #endregion + + #region 获取所有水电费信息 + /// + /// 获取所有水电费信息 + /// + /// + List SelectWtiInfoAll(); + #endregion + + #region 添加水电费信息 + /// + /// 添加水电费信息 + /// + /// + /// + bool InsertWtiInfo(Wti w); + #endregion + + #region 修改水电费信息(根据房间编号) + /// + /// 修改水电费信息(根据房间编号) + /// + /// + /// + bool UpdateWtiInfo(Wti w); + #endregion + + #region 根据房间信息、使用时间修改水电费 + /// + /// 根据房间信息、使用时间修改水电费 + /// + /// + /// + bool UpdateWtiInfoByRoomNoAndDateTime(Wti w); + #endregion + + #region 删除水电费信息:根据房间编号 + /// + /// 删除水电费信息:根据房间编号 + /// + /// + /// + bool DeleteWtiInfo(string roomno); + #endregion + + #region 根据房间编号、使用时间删除水电费信息 + /// + /// 根据房间编号、使用时间删除水电费信息 + /// + /// + /// + /// + /// + bool DeleteWtiInfoByRoomNoAndDateTime(string roomno, string usedate, string enddate); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Business/ReserService.cs b/SYS.Application/Business/ReserService.cs index 8f96819..3ca2468 100644 --- a/SYS.Application/Business/ReserService.cs +++ b/SYS.Application/Business/ReserService.cs @@ -1,83 +1,63 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class ReserService + /// + /// 预约信息接口实现类 + /// + public class ReserService:Repository,IReserService { - - public static List SelectReserAll() + /// + /// 获取所有预约信息 + /// + /// + public List SelectReserAll() { List rss = new List(); - string sql = "select * from RESER"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Reser rs = new Reser(); - rs.ReserId = (string)dr["ReserId"]; - rs.CustoName = dr["CustoName"].ToString(); - rs.CustoTel = (string)dr["CustoTel"]; - rs.ReserWay = (string)dr["ReserWay"]; - if (!DBNull.Value.Equals(dr["ReserRoom"])) - { - rs.ReserRoom = (string)dr["ReserRoom"]; - } - rs.ReserDate = (DateTime)dr["ReserDate"]; - if (!DBNull.Value.Equals(dr["ReserEndDate"])) - { - rs.ReserEndDay = (DateTime)dr["ReserEndDate"]; - } - rss.Add(rs); - } - dr.Close(); - DBHelper.Closecon(); + rss = base.GetList(a => a.delete_mk == 0); return rss; } - public static Reser SelectReserInfoByRoomNo(string no) + /// + /// 根据房间编号获取预约信息 + /// + /// + /// + public Reser SelectReserInfoByRoomNo(string no) { Reser res = null; - string sql = "select * from RESER r,ROOM rm where r.ReserRoom = rm.RoomNo and r.ReserRoom = '" + no + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - res = new Reser(); - res.ReserId = (string)dr["ReserId"]; - res.CustoName = dr["CustoNo"].ToString(); - res.CustoTel = (string)dr["CustoTel"]; - res.ReserWay = Convert.ToString(dr["ReserWay"]); - if (!DBNull.Value.Equals(dr["ReserDate"])) - { - res.ReserDate = DateTime.Parse(dr["ReserDate"].ToString()); - } - if (!DBNull.Value.Equals(dr["ReserEndDate"])) - { - res.ReserEndDay = DateTime.Parse(dr["ReserEndDate"].ToString()); - } - } - dr.Close(); - DBHelper.Closecon(); + res = base.GetSingle(a => a.ReserRoom == no && a.delete_mk != 1); return res; } - public static int DeleteReserInfo(string rid) + /// + /// 删除预约信息 + /// + /// + /// + public bool DeleteReserInfo(string rid) { - string sql = "delete from RESER where ReserId = '" + rid + "'"; - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Reser() + { + delete_mk = 1, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.ReserId == rid); } - - public static int InserReserInfo(Reser r) + /// + /// 添加预约信息 + /// + /// + /// + public bool InserReserInfo(Reser r) { - string sql = "insert RESER (ReserId,CustoName,CustoTel,ReserWay,"; - sql += "ReserRoom,ReserDate,ReserEndDate) values "; - sql += "('{0}','{1}','{2}','{3}','{4}','{5}','{6}')"; - sql = string.Format(sql, r.ReserId, r.CustoName, r.CustoTel, r.ReserWay, - r.ReserRoom, r.ReserDate, r.ReserEndDay); - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(r); } diff --git a/SYS.Application/Business/SellService.cs b/SYS.Application/Business/SellService.cs index a85d313..0040966 100644 --- a/SYS.Application/Business/SellService.cs +++ b/SYS.Application/Business/SellService.cs @@ -1,34 +1,25 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class SellService + /// + /// 商品信息接口实现类 + /// + public class SellService:Repository,ISellService { /// /// 查询所有商品 /// /// - public static List SelectSellThingAll() + public List SelectSellThingAll() { - List ls = new List(); - string sql = "select * from Sellthing"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - SellThing s = new SellThing(); - s.SellNo = dr["SellNo"].ToString(); - s.SellName = dr["SellName"].ToString(); - s.SellPrice = Convert.ToDecimal(dr["SellPrice"]); - s.format = (string)dr["format"]; - s.Stock = Convert.ToInt32(dr["Stock"]); - ls.Add(s); - } - dr.Close(); - DBHelper.Closecon(); - return ls; + List sellThings = new List(); + sellThings = base.GetList(a => a.delete_mk == 0); + return sellThings; } /// @@ -36,22 +27,10 @@ namespace SYS.Application /// /// /// - public static SellThing SelectSellThingByNo(string No) + public SellThing SelectSellThingByNo(string No) { SellThing s = new SellThing(); - string sql = "select * from Sellthing where SellNo='" + No + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - s = new SellThing(); - s.SellNo = dr["SellNo"].ToString(); - s.SellName = dr["SellName"].ToString(); - s.SellPrice = Convert.ToDecimal(dr["SellPrice"]); - s.format = (string)dr["format"]; - s.Stock = (int)dr["Stock"]; - } - dr.Close(); - DBHelper.Closecon(); + s = base.GetSingle(a => a.SellNo == No && a.delete_mk != 0); return s; } @@ -60,50 +39,44 @@ namespace SYS.Application /// /// /// - public static List SelectSellThingByName(string Name) + public List SelectSellThingByName(string Name) { - List ls = new List(); - string sql = "select * from Sellthing where SellName like '%" + Name + "%' or SellNo like '%" + Name + "%' or SellPrice like '%" + Name + "%' or format like '%" + Name + "%'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - SellThing s = new SellThing(); - s.SellNo = dr["SellNo"].ToString(); - s.SellName = dr["SellName"].ToString(); - s.SellPrice = Convert.ToDecimal(dr["SellPrice"]); - s.format = (string)dr["format"]; - s.Stock = (int)dr["Stock"]; - ls.Add(s); - } - dr.Close(); - DBHelper.Closecon(); - return ls; + List sellThings = new List(); + sellThings = base.GetList(a => a.SellName.Contains(Name) || a.SellNo.Contains(Name) || a.SellPrice == Convert.ToDecimal(Name) || a.format.Contains(Name)); + return sellThings; } /// /// 修改商品 /// - /// + /// + /// /// - public static int UpdateSellThing(string stock, string sellNo) + public bool UpdateSellThing(string stock, string sellNo) { - int n = 0; - string sql = "update SELLTHING set Stock='{0}' where SellNo='{1}'"; - sql = string.Format(sql, stock, sellNo); - n = DBHelper.ExecuteNonQuery(sql); - return n; + return base.Update(a => new SellThing() + { + Stock = Convert.ToInt32(stock), + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.SellNo == sellNo); } /// /// 撤回客户消费信息 /// - /// + /// + /// /// - public static int DeleteSellThing(string roomNo, string time) + public bool DeleteSellThing(string roomNo, string time) { - string sql = "delete from CUSTOSPEND where RoomNo='{0}' and SpendTime='{1}'"; - sql = string.Format(sql, roomNo, time); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Spend() + { + delete_mk = 1, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.RoomNo == roomNo && a.SpendTime >= Convert.ToDateTime(time)); + } /// @@ -112,56 +85,35 @@ namespace SYS.Application /// /// /// - public static SellThing SelectSellThingByNameAndPrice(string name,string price) + public SellThing SelectSellThingByNameAndPrice(string name,string price) { - SellThing s = null; - string sql = "select * from SELLTHING where SellName='{0}' and SellPrice = '{1}'"; - sql = string.Format(sql, name, price); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - s = new SellThing(); - s.SellNo = dr["SellNo"].ToString(); - s.SellName = dr["SellName"].ToString(); - s.SellPrice = Convert.ToDecimal(dr["SellPrice"]); - s.format = (string)dr["format"]; - s.Stock = (int)dr["Stock"]; - } - dr.Close(); - DBHelper.Closecon(); - return s; + SellThing sellThing = null; + sellThing = base.GetSingle(a => a.SellName == name && a.SellPrice == Convert.ToDecimal(price)); + return sellThing; } - - public static SellThing SelectSellInfoBySellNo(string SellNo) + /// + /// 根据商品编号查询商品信息 + /// + /// + /// + public SellThing SelectSellInfoBySellNo(string SellNo) { SellThing st = null; - string sql = "select * from SellThing where SellNo='" + SellNo + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - st = new SellThing(); - st.SellNo = Convert.ToString(dr["SellNo"]); - st.SellName = Convert.ToString(dr["SellName"]); - st.SellPrice = Convert.ToDecimal(dr["SellPrice"]); - st.format = Convert.ToString(dr["format"]); - st.Stock = Convert.ToInt32(dr["Stock"]); - } - dr.Close(); - DBHelper.Closecon(); + st = base.GetSingle(a => a.SellNo == SellNo && a.delete_mk != 1); return st; } #region 添加商品 - public static int InsertSellThing(SellThing st) + /// + /// 添加商品 + /// + /// + /// + public bool InsertSellThing(SellThing st) { - string sql = "insert SellThing (SellNo,SellName,SellPrice,"; - sql += "format,Stock) values "; - sql += "('{0}','{1}','{2}','{3}','{4}')"; - sql = string.Format(sql, st.SellNo, st.SellName, st.SellPrice, - st.format, st.Stock); - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(st); } #endregion } diff --git a/SYS.Application/Business/SpendService.cs b/SYS.Application/Business/SpendService.cs index 289a6e8..ec0bbf6 100644 --- a/SYS.Application/Business/SpendService.cs +++ b/SYS.Application/Business/SpendService.cs @@ -1,11 +1,16 @@ using System; using System.Collections.Generic; +using System.Linq; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class SpendService + /// + /// 商品消费接口实现类 + /// + public class SpendService:Repository, ISpendService { #region 添加消费信息 /// @@ -13,44 +18,9 @@ namespace SYS.Application /// /// /// - public static int InsertSpendInfo(Spend s) + public bool InsertSpendInfo(Spend s) { - int n = 0; - string sql = "insert CUSTOSPEND values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')"; - sql = string.Format(sql, s.RoomNo, s.CustoNo, s.SpendName, s.SpendAmount, s.SpendPrice, s.SpendMoney, s.SpendTime, s.MoneyState); - n = DBHelper.ExecuteNonQuery(sql); - return n; - } - #endregion - - #region 根据客户编号查询信息 - /// - /// 根据客户编号查询信息 - /// - /// - /// - /// - public static List SelectSpendByRoomNo(string RoomNo) - { - List spends = new List(); - string sql = "select * from CUSTOSPEND inner join ROOM where CUSTOSPEND.RoomNo=ROOM.RoomNo"; - sql += " and CUSTOSPEND.RoomNo = '" + RoomNo + "' and CUSTOSPEND.SpendTime between ROOM.CheckTime AND CURRENT_DATE()"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Spend spend = new Spend(); - spend.RoomNo = dr["RoomNo"].ToString(); - spend.CustoNo = dr["CustoNo"].ToString(); - spend.SpendName = dr["SpendName"].ToString(); - spend.SpendAmount = (int)dr["SpendAmount"]; - spend.SpendPrice = Convert.ToDecimal(dr["SpendPrice"]); - spend.SpendMoney = Convert.ToDecimal(dr["SpendMoney"]); - spend.SpendTime = Convert.ToDateTime(dr["SpendTime"]); - spends.Add(spend); - } - dr.Close(); - DBHelper.Closecon(); - return spends; + return base.Insert(s); } #endregion @@ -60,26 +30,10 @@ namespace SYS.Application /// /// /// - public static List SelectSpendByCustoNo(string No) + public List SelectSpendByCustoNo(string No) { List ls = new List(); - string sql = "select * from CUSTOSPEND where RoomNo = '" + No + "' and MoneyState = '未结算'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Spend s = new Spend(); - s.RoomNo = dr["RoomNo"].ToString(); - s.CustoNo = dr["CustoNo"].ToString(); - s.SpendName = dr["SpendName"].ToString(); - s.SpendAmount = (int)dr["SpendAmount"]; - s.SpendPrice = Convert.ToDecimal(dr["SpendPrice"]); - s.SpendMoney = Convert.ToDecimal(dr["SpendMoney"]); - s.SpendTime = Convert.ToDateTime(dr["SpendTime"]); - s.MoneyState = dr["MoneyState"].ToString(); - ls.Add(s); - } - dr.Close(); - DBHelper.Closecon(); + ls = base.GetList(a => a.CustoNo == No && a.MoneyState == "未结算" && a.delete_mk != 1); return ls; } #endregion @@ -89,26 +43,10 @@ namespace SYS.Application /// 查询消费的所有信息 /// /// - public static List SelectSpendInfoAll() + public List SelectSpendInfoAll() { List ls = new List(); - string sql = "select * from CUSTOSPEND"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Spend s = new Spend(); - s.RoomNo = (string)dr["RoomNo"]; - s.CustoNo = (string)dr["CustoNo"]; - s.SpendName = (string)dr["SpendName"]; - s.SpendAmount = (int)dr["SpendAmount"]; - s.SpendPrice = (decimal)dr["SpendPrice"]; - s.SpendMoney = (decimal)dr["SpendMoney"]; - s.SpendTime = (DateTime)dr["SpendTime"]; - s.MoneyState = dr["MoneyState"].ToString(); - ls.Add(s); - } - dr.Close(); - DBHelper.Closecon(); + ls = base.GetList(a => a.delete_mk != 1); return ls; } #endregion @@ -118,26 +56,10 @@ namespace SYS.Application /// 根据房间号查询消费的所有信息 /// /// - public static List SelectSpendInfoRoomNo(string RoomNo) + public List SelectSpendInfoRoomNo(string RoomNo) { List ls = new List(); - string sql = "select * from CUSTOSPEND inner join ROOM where CUSTOSPEND.RoomNo=ROOM.RoomNo and CUSTOSPEND.RoomNo = '"+ RoomNo + "' and CUSTOSPEND.MoneyState = '未结算'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Spend s = new Spend(); - s.RoomNo = dr["RoomNo"].ToString(); - s.CustoNo = dr["CustoNo"].ToString(); - s.SpendName = dr["SpendName"].ToString(); - s.SpendAmount = (int)dr["SpendAmount"]; - s.SpendPrice = Convert.ToDecimal(dr["SpendPrice"]); - s.SpendMoney = Convert.ToDecimal(dr["SpendMoney"]); - s.SpendTime = Convert.ToDateTime(dr["SpendTime"]); - s.MoneyState = dr["MoneyState"].ToString(); - ls.Add(s); - } - dr.Close(); - DBHelper.Closecon(); + ls = base.GetList(a => a.RoomNo == RoomNo && a.delete_mk != 1 && a.MoneyState == "未结算"); return ls; } #endregion @@ -147,11 +69,11 @@ namespace SYS.Application /// 根据房间编号、入住时间到当前时间查询消费总金额 /// /// + /// /// - public static object SelectMoneyByRoomNoAndTime(string roomno,string custono) + public object SelectMoneyByRoomNoAndTime(string roomno,string custono) { - string sql = "select CONVERT(SUM(CUSTOSPEND.SpendMoney),DECIMAL(15,2)) from CUSTOSPEND inner join ROOM where CUSTOSPEND.RoomNo = ROOM.RoomNo and CUSTOSPEND.RoomNo = '"+roomno+"' AND ROOM.CustoNo = '"+ custono + "' and CUSTOSPEND.MoneyState = '未结算'"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.RoomNo == roomno && a.CustoNo == custono && a.MoneyState == "未结算").Sum(a => a.SpendMoney); } #endregion @@ -162,11 +84,35 @@ namespace SYS.Application /// /// /// - public static int UpdateMoneyState(string roomno, string checktime) + public bool UpdateMoneyState(string roomno, string checktime) { - string sql = "update CUSTOSPEND set MoneyState='已结算' where RoomNo='{0}' and SpendTime between '{1}' AND CURRENT_DATE()"; - sql = string.Format(sql, roomno, checktime); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Spend() + { + MoneyState = "已结算", + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.RoomNo == roomno && a.SpendTime >= Convert.ToDateTime(checktime) && a.SpendTime <= DateTime.Now); + } + #endregion + + #region 将转房前的未结算记录一同转移到新房间 + /// + /// 将转房前的未结算记录一同转移到新房间 + /// + /// + /// + /// + /// + public bool UpdateSpendInfoByRoomNo(string oldRoom,string newRoom,string custoNo) + { + return base.Update(a => new Spend() + { + RoomNo = newRoom, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.RoomNo == oldRoom && a.CustoNo == custoNo && a.MoneyState == "未结算" && a.SpendTime >= DateTime.Now + && a.SpendTime <= DateTime.Now); + } #endregion } diff --git a/SYS.Application/Business/WtiService.cs b/SYS.Application/Business/WtiService.cs index 19505c0..82a3e26 100644 --- a/SYS.Application/Business/WtiService.cs +++ b/SYS.Application/Business/WtiService.cs @@ -1,37 +1,26 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class WtiService + /// + /// 水电信息接口实现类 + /// + public class WtiService:Repository, IWtiService { - #region 根据房间编号查询水电费信息 /// /// 根据房间编号查询水电费信息 /// /// /// - public static Wti SelectWtiInfoByRoomNo(string roomNo) + public Wti SelectWtiInfoByRoomNo(string roomNo) { - Wti w = null; - string sql = "select * from WTINFO where RoomNo like '%" + roomNo + "%'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - w = new Wti(); - w.CustoNo = dr["CustoNo"].ToString(); - w.EndDate = Convert.ToDateTime(dr["EndDate"]); - w.PowerUse = (decimal)dr["PowerUse"]; - w.Record = dr["Record"].ToString(); - w.RoomNo = dr["RoomNo"].ToString(); - w.UseDate = Convert.ToDateTime(dr["UseDate"]); - w.WaterUse = (decimal)dr["WaterUse"]; - } - dr.Close(); - DBHelper.Closecon(); + Wti w = new Wti(); + w = base.GetSingle(a => a.RoomNo.Contains(roomNo) && a.delete_mk != 1); return w; } #endregion @@ -44,25 +33,12 @@ namespace SYS.Application /// /// /// - public static Wti SelectWtiInfoByRoomNoAndTime(string roomno, string usedate, string enddate) + public Wti SelectWtiInfoByRoomNoAndTime(string roomno, string usedate, string enddate) { Wti w = null; string sql = "select * from WTINFO where RoomNo='" + roomno + "' and UseDate='" + usedate + "' and EndDate='" + enddate + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - w = new Wti(); - w.CustoNo = dr["CustoNo"].ToString(); - w.EndDate = Convert.ToDateTime(dr["EndDate"]); - w.PowerUse = (decimal)dr["PowerUse"]; - w.Record = dr["Record"].ToString(); - w.RoomNo = dr["RoomNo"].ToString(); - w.UseDate = Convert.ToDateTime(dr["UseDate"]); - w.WaterUse = (decimal)dr["WaterUse"]; - } - dr.Close(); - DBHelper.Closecon(); + w = base.GetSingle(a => a.RoomNo == roomno && a.UseDate >= Convert.ToDateTime(usedate) && a.EndDate >= Convert.ToDateTime(enddate)); return w; } #endregion @@ -72,25 +48,10 @@ namespace SYS.Application /// 获取所有水电费信息 /// /// - public static List SelectWtiInfoAll() + public List SelectWtiInfoAll() { List wti = new List(); - string sql = "select * from WTINFO"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Wti w = new Wti(); - w.CustoNo = dr["CustoNo"].ToString(); - w.EndDate = Convert.ToDateTime(dr["EndDate"]); - w.PowerUse = (decimal)dr["PowerUse"]; - w.Record = dr["Record"].ToString(); - w.RoomNo = dr["RoomNo"].ToString(); - w.UseDate = Convert.ToDateTime(dr["UseDate"]); - w.WaterUse = (decimal)dr["WaterUse"]; - wti.Add(w); - } - dr.Close(); - DBHelper.Closecon(); + wti = base.GetList(a => a.delete_mk != 1); return wti; } #endregion @@ -101,14 +62,9 @@ namespace SYS.Application /// /// /// - public static int InsertWtiInfo(Wti w) + public bool InsertWtiInfo(Wti w) { - string sql = "insert WTINFO (RoomNo,UseDate,EndDate,"; - sql += "WaterUse,PowerUse,Record,CustoNo) values "; - sql += "('{0}','{1}','{2}','{3}','{4}','{5}','{6}')"; - sql = string.Format(sql, w.RoomNo, w.UseDate, w.EndDate, - w.WaterUse, w.PowerUse, w.Record, w.CustoNo); - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(w); } #endregion @@ -118,13 +74,18 @@ namespace SYS.Application /// /// /// - public static int UpdateWtiInfo(Wti w) + public bool UpdateWtiInfo(Wti w) { - string sql = " update WTINFO set UseDate='{1}',EndDate='{2}',"; - sql += "WaterUse ='{3}',PowerUse='{4}',Record='{5}',CustoNo='{6}'where RoomNo = '{0}'"; - sql = string.Format(sql, w.RoomNo, w.UseDate, w.EndDate, - w.WaterUse, w.PowerUse, w.Record, w.CustoNo); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Wti() + { + UseDate = w.UseDate, + EndDate = w.EndDate, + WaterUse = w.WaterUse, + PowerUse = w.PowerUse, + Record = w.Record, + CustoNo = w.CustoNo + },a => a.RoomNo == w.RoomNo); + } #endregion @@ -134,12 +95,15 @@ namespace SYS.Application /// /// /// - public static int UpdateWtiInfoByRoomNoAndDateTime(Wti w) + public bool UpdateWtiInfoByRoomNoAndDateTime(Wti w) { - string sql = "update WTINFO set WaterUse='{0}',PowerUse='{1}' where "; - sql += " RoomNo='{2}' and UseDate='{3}' and EndDate='{4}'"; - sql = string.Format(sql, w.WaterUse, w.PowerUse, w.RoomNo, w.UseDate, w.EndDate); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Wti() + { + WaterUse = w.WaterUse, + PowerUse = w.PowerUse, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now, + },a => a.RoomNo == w.RoomNo && a.UseDate >= w.UseDate && a.EndDate >= w.EndDate); } #endregion @@ -149,10 +113,14 @@ namespace SYS.Application /// /// /// - public static int DeleteWtiInfo(string roomno) + public bool DeleteWtiInfo(string roomno) { - string sql = "delete from WtiInfo where RoomNo='" + roomno + "'"; - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Wti() + { + delete_mk = 1, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.WtiNo == roomno); } #endregion @@ -164,11 +132,16 @@ namespace SYS.Application /// /// /// - public static int DeleteWtiInfoByRoomNoAndDateTime(string roomno, string usedate, string enddate) + public bool DeleteWtiInfoByRoomNoAndDateTime(string roomno, string usedate, string enddate) { - string sql = " delete from WTINFO where RoomNo='{0}' and UseDate='{1}' and EndDate='{2}'"; + string sql = "delete from WTINFO where RoomNo='{0}' and UseDate='{1}' and EndDate='{2}'"; sql = string.Format(sql, roomno, usedate, enddate); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Wti() + { + delete_mk = 1, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.RoomNo == roomno && a.UseDate >= Convert.ToDateTime(usedate) && a.EndDate >= Convert.ToDateTime(enddate)); } #endregion } diff --git a/SYS.Application/Customer/CheckInfoService.cs b/SYS.Application/Customer/CheckInfoService.cs index 725e844..354737b 100644 --- a/SYS.Application/Customer/CheckInfoService.cs +++ b/SYS.Application/Customer/CheckInfoService.cs @@ -2,48 +2,24 @@ using System.Collections.Generic; using System.Data.SqlClient; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class CheckInfoService + /// + /// 监管统计接口实现类 + /// + public class CheckInfoService:Repository, ICheckInfoService { - - public static string CheckBaseVersion() - { - string version = null; - string sql = "select* from baseversion"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - version = dr["base_version"].ToString(); - } - dr.Close(); - DBHelper.Closecon(); - return version; - } - - public static List SelectCheckInfoAll() + /// + /// 查询所有监管统计信息 + /// + /// + public List SelectCheckInfoAll() { - List cif = new List(); - string sql = "select * from CHECKINFO"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - - CheckInfo ci = new CheckInfo(); - ci.CheckNo = (string)dr["CheckNo"]; - ci.CheckClub = dr["CheckClub"].ToString(); - ci.CheckProgres = (string)dr["CheckProgres"]; - ci.CheckCash = Convert.ToString(dr["CheckCash"]); - ci.CheckScore = (int)dr["CheckScore"]; - ci.CheckPerson = dr["CheckPerson"].ToString(); - ci.CheckAdvice = dr["CheckAdvice"].ToString(); - cif.Add(ci); - } - dr.Close(); - DBHelper.Closecon(); + cif = base.GetList(a => a.delete_mk != 1); return cif; } } diff --git a/SYS.Application/Customer/CustoService.cs b/SYS.Application/Customer/CustoService.cs index 0fb6c16..4c304f8 100644 --- a/SYS.Application/Customer/CustoService.cs +++ b/SYS.Application/Customer/CustoService.cs @@ -1,26 +1,38 @@ using System; using System.Collections.Generic; +using System.Linq; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class CustoService + /// + /// 客户信息接口实现类 + /// + public class CustoService:Repository, ICustoService { #region 添加客户信息 - public static int InsertCustomerInfo(Custo custo) + /// + /// 添加客户信息 + /// + /// + /// + public bool InsertCustomerInfo(Custo custo) { string NewID = Md5LockedUtil.MD5Encrypt32(custo.CustoID); string NewTel = Md5LockedUtil.MD5Encrypt32(custo.CustoTel); - - string sql = "insert USERINFO(CustoNo,CustoName,CustoSex,CustoTel,PassportType,CustoID,CustoAdress,CustoBirth,CustoType)"; - sql += " values('" + custo.CustoNo + "','" + custo.CustoName + "','" + custo.CustoSex + "','" + NewTel + "','" + custo.PassportType + "','" + NewID + "','" + custo.CustoAdress + "','" + custo.CustoBirth + "','" + custo.CustoType + "') "; - - return DBHelper.ExecuteNonQuery(sql); + custo.CustoID = NewID; + custo.CustoTel = NewTel; + return base.Insert(custo); } #endregion - public static List SelectAllMoney() + /// + /// 查询酒店盈利情况 + /// + /// + public List SelectAllMoney() { List custos = new List(); string sql = "select year(spendtime) as 年份,sum(spendmoney) as 总额 from CustoSpend group by year(spendtime)"; @@ -37,132 +49,111 @@ namespace SYS.Application return custos; } - public static List SelectCustoAll() + /// + /// 查询所有客户信息 + /// + /// + public List SelectCustoAll() { + //查询出所有性别类型 + List sexTypes = new List(); + sexTypes = base.Change().GetList(); + //查询出所有证件类型 + List passPortTypes = new List(); + passPortTypes = base.Change().GetList(); + //查询出所有客户类型 + List custoTypes = new List(); + custoTypes = base.Change().GetList(); + //查询出所有客户信息 List custos = new List(); - string sql = "select * from USERINFO u,USERTYPE t,PASSPORTTYPE p,sextype s where u.CustoType=t.UserType and u.PassportType=p.PassportId and s.sexId = u.CustoSex order by u.CustoNo asc"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + custos = base.GetList().OrderBy(a => a.CustoNo).ToList(); + custos.ForEach(source => { - Custo cso = new Custo(); - cso.CustoNo = (string)dr["CustoNo"]; - cso.CustoName = dr["CustoName"].ToString(); - cso.SexName = Convert.ToString(dr["SexName"]); - cso.CustoTel = Convert.ToString(dr["CustoTel"]); - cso.PassportType = Convert.ToInt32(dr["PassportType"]); - cso.CustoID = dr["CustoID"].ToString(); - if (!DBNull.Value.Equals(dr["CustoAdress"])) - { - cso.CustoAdress = (string)dr["CustoAdress"]; - } - else - { - cso.CustoAdress = ""; - } - cso.CustoBirth = DateTime.Parse(dr["CustoBirth"].ToString()); - cso.CustoType = Convert.ToInt32(dr["CustoType"]); - cso.typeName = (string)dr["TypeName"]; - cso.PassportName = (string)dr["PassportName"]; - custos.Add(cso); - } - dr.Close(); - DBHelper.Closecon(); + //性别类型 + var sexType = sexTypes.FirstOrDefault(a => a.sexId == source.CustoSex); + source.SexName = string.IsNullOrEmpty(sexType.sexName) ? "" : sexType.sexName; + //证件类型 + var passPortType = passPortTypes.FirstOrDefault(a => a.PassportId == source.PassportType); + source.PassportName = string.IsNullOrEmpty(passPortType.PassportName) ? "" : passPortType.PassportName; + //客户类型 + var custoType = custoTypes.FirstOrDefault(a => a.UserType == source.CustoType); + source.typeName = string.IsNullOrEmpty(custoType.TypeName) ? "" : custoType.TypeName; + }); return custos; } - - public static Custo SelectCardInfoByCustoNo(string CustoNo) - { - Custo c = null; - string sql = "select * from USERINFO where CustoNo='" + CustoNo + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - c = new Custo(); - c.CustoNo = Convert.ToString(dr["CustoNo"]); - c.CustoName = Convert.ToString(dr["CustoName"]); - c.CustoSex = Convert.ToInt32(dr["CustoSex"]); - c.CustoTel = Convert.ToString(dr["CustoTel"]); - c.CustoID = Convert.ToString(dr["CustoID"]); - c.CustoAdress = Convert.ToString(dr["CustoAdress"]); - c.CustoBirth = Convert.ToDateTime(dr["CustoBirth"]); - c.CustoType = Convert.ToInt32(dr["CustoType"]); - } - dr.Close(); - DBHelper.Closecon(); - return c; - } - - #region 根据客户编号查询客户信息 /// /// 根据客户编号查询客户信息 /// - /// + /// /// - public static Custo SelectCustoByCustoNo(string cno) + public Custo SelectCardInfoByCustoNo(string CustoNo) { - Custo cto = null; - MySqlConnection con = DBHelper.GetConnection(); - con.Open(); - MySqlDataReader dr = DBHelper.ExecuteReader("select * from USERINFO where CustoNo='" + cno + "'"); - if (dr.Read()) - { - cto = new Custo(); - cto.CustoNo = dr["CustoNo"].ToString(); - cto.CustoName = dr["CustoName"].ToString(); - cto.CustoSex = Convert.ToInt32(dr["CustoSex"]); - cto.CustoTel = dr["CustoTel"].ToString(); - cto.PassportType = Convert.ToInt32(dr["PassportType"].ToString()); - cto.CustoID = dr["CustoID"].ToString(); - cto.CustoAdress = dr["CustoAdress"].ToString(); - cto.CustoBirth = DateTime.Parse(dr["CustoBirth"].ToString()); - cto.CustoType = Convert.ToInt32(dr["CustoType"].ToString()); - } - dr.Close(); - DBHelper.Closecon(); - return cto; + Custo c = new Custo(); + c = base.GetSingle(a => a.CustoNo.Equals(CustoNo) && a.delete_mk != 1); + //性别类型 + var sexType = base.Change().GetSingle(a => a.sexId == c.CustoSex); + c.SexName = string.IsNullOrEmpty(sexType.sexName) ? "" : sexType.sexName; + //证件类型 + var passPortType = base.Change().GetSingle(a => a.PassportId == c.PassportType); + c.PassportName = string.IsNullOrEmpty(passPortType.PassportName) ? "" : passPortType.PassportName; + //客户类型 + var custoType = base.Change().GetSingle(a => a.UserType == c.CustoType); + c.typeName = string.IsNullOrEmpty(custoType.TypeName) ? "" : custoType.TypeName; + return c; } - #endregion - public static Custo SelectCustoInfoByCardId(string input) - { - Custo cto = null; - string sql = "select * from USERINFO u,PASSPORTTYPE p,USERTYPE ut where u.PassportType=p.PassportId and u.CustoType=ut.UserType and CustoID = '" + input + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - cto = new Custo(); - cto.CustoNo = (string)dr["CustoNo"]; - cto.CustoName = (string)dr["CustoName"]; - cto.CustoSex = Convert.ToInt32(dr["CustoSex"]); - cto.CustoTel = (string)dr["CustoTel"]; - cto.PassportType = Convert.ToInt32(dr["PassportType"]); - cto.PassportName = (string)dr["PassportName"]; - cto.CustoID = (string)dr["CustoID"]; - cto.CustoAdress = (string)dr["CustoAdress"]; - cto.CustoBirth = DateTime.Parse(dr["CustoBirth"].ToString()); - cto.CustoType = Convert.ToInt32(dr["CustoType"]); - cto.typeName = (string)dr["TypeName"]; - } - dr.Close(); - DBHelper.Closecon(); - return cto; - } + ///// + ///// + ///// + ///// + ///// + //public static Custo SelectCustoInfoByCardId(string input) + //{ + // Custo cto = new Custo(); + // string sql = "select * from USERINFO u,PASSPORTTYPE p,USERTYPE ut where u.PassportType=p.PassportId and u.CustoType=ut.UserType and u.CustoNo = '" + input + "'"; + // MySqlDataReader dr = DBHelper.ExecuteReader(sql); + // if (dr.Read()) + // { + // cto = new Custo() + // { + // CustoNo = (string)dr["CustoNo"], + // CustoName = (string)dr["CustoName"], + // CustoSex = Convert.ToInt32(dr["CustoSex"]), + // CustoTel = (string)dr["CustoTel"], + // PassportType = Convert.ToInt32(dr["PassportType"]), + // PassportName = (string)dr["PassportName"], + // CustoID = (string)dr["CustoID"], + // CustoAdress = (string)dr["CustoAdress"], + // CustoBirth = DateTime.Parse(dr["CustoBirth"].ToString()), + // CustoType = Convert.ToInt32(dr["CustoType"]), + // typeName = (string)dr["TypeName"], + // }; + + // } + // dr.Close(); + // DBHelper.Closecon(); + // return cto; + //} - public static List SelectCanUseCustoAll() - { - List custos = new List(); - string sql = "select * from USERINFO"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Custo custo = new Custo(); - custo.CustoNo = (string)dr["CustoNo"]; - custos.Add(custo); - } - dr.Close(); - DBHelper.Closecon(); - return custos; - } + ///// + ///// + ///// + ///// + //public static List SelectCanUseCustoAll() + //{ + // List custos = new List(); + // string sql = "select * from USERINFO"; + // MySqlDataReader dr = DBHelper.ExecuteReader(sql); + // while (dr.Read()) + // { + // Custo custo = new Custo(); + // custo.CustoNo = (string)dr["CustoNo"]; + // custos.Add(custo); + // } + // dr.Close(); + // DBHelper.Closecon(); + // return custos; + //} } } diff --git a/SYS.Application/Customer/ICheckInfoService.cs b/SYS.Application/Customer/ICheckInfoService.cs new file mode 100644 index 0000000..ec2a7d2 --- /dev/null +++ b/SYS.Application/Customer/ICheckInfoService.cs @@ -0,0 +1,17 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 监管统计接口 + /// + public interface ICheckInfoService + { + /// + /// 查询所有监管统计信息 + /// + /// + List SelectCheckInfoAll(); + } +} \ No newline at end of file diff --git a/SYS.Application/Customer/ICustoService.cs b/SYS.Application/Customer/ICustoService.cs new file mode 100644 index 0000000..001be45 --- /dev/null +++ b/SYS.Application/Customer/ICustoService.cs @@ -0,0 +1,41 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 客户信息接口 + /// + public interface ICustoService + { + #region 添加客户信息 + /// + /// 添加客户信息 + /// + /// + /// + bool InsertCustomerInfo(Custo custo); + #endregion + + /// + /// 查询酒店盈利情况 + /// + /// + List SelectAllMoney(); + + /// + /// 查询所有客户信息 + /// + /// + List SelectCustoAll(); + + /// + /// 根据客户编号查询客户信息 + /// + /// + /// + Custo SelectCardInfoByCustoNo(string CustoNo); + + + } +} \ No newline at end of file diff --git a/SYS.Application/Room/IRoomService.cs b/SYS.Application/Room/IRoomService.cs new file mode 100644 index 0000000..158d3fc --- /dev/null +++ b/SYS.Application/Room/IRoomService.cs @@ -0,0 +1,183 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 房间信息接口 + /// + public interface IRoomService + { + #region 根据房间状态获取相应状态的房间信息 + /// + /// 根据房间状态获取相应状态的房间信息 + /// + /// + /// + List SelectRoomByRoomState(int stateid); + #endregion + + + #region 根据房间状态来查询可使用的房间 + /// + /// 根据房间状态来查询可使用的房间 + /// + /// + List SelectCanUseRoomAll(); + #endregion + + + #region 获取所有房间信息 + /// + /// 获取所有房间信息 + /// + /// + List SelectRoomAll(); + #endregion + + #region 获取房间分区的信息 + /// + /// 获取房间分区的信息 + /// + /// + List SelectRoomByTypeName(string TypeName); + #endregion + + #region 根据房间编号查询房间信息 + /// + /// 根据房间编号查询房间信息 + /// + /// + /// + Room SelectRoomByRoomNo(string no); + #endregion + + #region 根据房间编号退房(退房) + /// + /// 根据房间编号退房(退房) + /// + /// + /// + bool UpdateRoomByRoomNo(string room); + #endregion + + #region 根据房间编号查询截止到今天住了多少天 + /// + /// 根据房间编号查询截止到今天住了多少天 + /// + /// + /// + object DayByRoomNo(string roomno); + #endregion + + #region 根据房间编号修改房间信息(入住) + /// + /// 根据房间编号修改房间信息(入住) + /// + /// + /// + bool UpdateRoomInfo(Room r); + #endregion + + #region 根据房间编号修改房间信息(预约) + /// + /// 根据房间编号修改房间信息(预约) + /// + /// + /// + bool UpdateRoomInfoWithReser(Room r); + #endregion + + #region 查询可入住房间数量 + /// + /// 查询可入住房间数量 + /// + /// + object SelectCanUseRoomAllByRoomState(); + #endregion + + #region 查询已入住房间数量 + /// + /// 查询已入住房间数量 + /// + /// + object SelectNotUseRoomAllByRoomState(); + #endregion + + #region 根据房间编号查询房间价格 + /// + /// 根据房间编号查询房间价格 + /// + /// + object SelectRoomByRoomPrice(string r); + #endregion + + #region 查询脏房数量 + /// + /// 查询脏房数量 + /// + /// + object SelectNotClearRoomAllByRoomState(); + #endregion + + #region 查询维修房数量 + /// + /// 查询维修房数量 + /// + /// + object SelectFixingRoomAllByRoomState(); + #endregion + + #region 查询预约房数量 + /// + /// 查询预约房数量 + /// + /// + object SelectReseredRoomAllByRoomState(); + #endregion + + #region 根据房间编号更改房间状态 + /// + /// 根据房间编号更改房间状态 + /// + /// + /// + /// + bool UpdateRoomStateByRoomNo(string roomno, int stateid); + #endregion + + #region 添加房间 + /// + /// 添加房间 + /// + /// + /// + bool InsertRoom(Room rn); + #endregion + + #region 查询所有可消费(已住)房间 + /// + /// 查询所有可消费(已住)房间 + /// + /// + List SelectRoomByStateAll(); + #endregion + + #region 获取所有房间状态 + /// + /// 获取所有房间状态 + /// + /// + List SelectRoomStateAll(); + #endregion + + #region 根据房间编号查询房间状态编号 + /// + /// 根据房间编号查询房间状态编号 + /// + /// + /// + object SelectRoomStateIdByRoomNo(string roomno); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Room/IRoomTypeService.cs b/SYS.Application/Room/IRoomTypeService.cs new file mode 100644 index 0000000..c1737ac --- /dev/null +++ b/SYS.Application/Room/IRoomTypeService.cs @@ -0,0 +1,28 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 客房信息接口 + /// + public interface IRoomTypeService + { + #region 获取所有房间类型 + /// + /// 获取所有房间类型 + /// + /// + List SelectRoomTypesAll(); + #endregion + + #region 根据房间编号查询房间类型名称 + /// + /// 根据房间编号查询房间类型名称 + /// + /// + /// + RoomType SelectRoomTypeByRoomNo(string no); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Room/RoomService.cs b/SYS.Application/Room/RoomService.cs index cc44c0c..5c9e546 100644 --- a/SYS.Application/Room/RoomService.cs +++ b/SYS.Application/Room/RoomService.cs @@ -1,11 +1,16 @@ using System; using System.Collections.Generic; +using System.Linq; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class RoomService + /// + /// 客房信息接口实现类 + /// + public class RoomService:Repository, IRoomService { #region 根据房间状态获取相应状态的房间信息 /// @@ -13,35 +18,21 @@ namespace SYS.Application /// /// /// - public static List SelectRoomByRoomState(int stateid) + public List SelectRoomByRoomState(int stateid) { + List roomStates = new List(); + roomStates = base.Change().GetList(a => a.delete_mk != 1); + List roomTypes = new List(); + roomTypes = base.Change().GetList(a => a.delete_mk != 1); List rooms = new List(); - string sql = "select * from ROOM r,ROOMTYPE t,ROOMSTATE rs where r.RoomType = t.RoomType and r.RoomStateId = rs.RoomStateId and r.RoomStateId = " + stateid + " order by r.RoomNo asc"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + rooms = base.GetList(a => a.delete_mk != 1 && a.RoomStateId == stateid).OrderBy(a => a.RoomNo).ToList(); + rooms.ForEach(source => { - Room room = new Room(); - room.RoomNo = (string)dr["RoomNo"]; - room.CustoNo = dr["CustoNo"].ToString(); - room.RoomMoney = (decimal)dr["RoomMoney"]; - - if (!DBNull.Value.Equals(dr["CheckTime"])) - { - room.CheckTime = DateTime.Parse(dr["CheckTime"].ToString()); - } - if (!DBNull.Value.Equals(dr["CheckOutTime"])) - { - room.CheckOutTime = DateTime.Parse(dr["CheckOutTime"].ToString()); - } - room.RoomStateId = (int)dr["RoomStateId"]; - room.RoomState = (string)dr["RoomState"]; - room.RoomType = (int)dr["RoomType"]; - room.RoomPosition = (string)dr["RoomPosition"]; - room.typeName = (string)dr["RoomName"]; - rooms.Add(room); - } - dr.Close(); - DBHelper.Closecon(); + var roomState = roomStates.FirstOrDefault(a => a.RoomStateId == source.RoomStateId); + source.RoomState = string.IsNullOrEmpty(roomState.RoomStateName) ? "" : roomState.RoomStateName; + var roomType = roomTypes.FirstOrDefault(a => a.Roomtype == source.RoomType); + source.RoomName = string.IsNullOrEmpty(roomType.RoomName) ? "" : roomType.RoomName; + }); return rooms; } #endregion @@ -52,34 +43,21 @@ namespace SYS.Application /// 根据房间状态来查询可使用的房间 /// /// - public static List SelectCanUseRoomAll() + public List SelectCanUseRoomAll() { + List roomStates = new List(); + roomStates = base.Change().GetList(a => a.delete_mk != 1); + List roomTypes = new List(); + roomTypes = base.Change().GetList(a => a.delete_mk != 1); List rooms = new List(); - string sql = "select * from ROOM r,ROOMTYPE t,ROOMSTATE rs where r.RoomType=t.RoomType and r.RoomStateId=rs.RoomStateId and r.RoomStateId='0'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + rooms = base.GetList(a => a.delete_mk != 1 && a.RoomStateId == 0).OrderBy(a => a.RoomNo).ToList(); + rooms.ForEach(source => { - Room room = new Room(); - room.RoomNo = (string)dr["RoomNo"]; - room.CustoNo = dr["CustoNo"].ToString(); - room.RoomMoney = (decimal)dr["RoomMoney"]; - if (!DBNull.Value.Equals(dr["CheckTime"])) - { - room.CheckTime = DateTime.Parse(dr["CheckTime"].ToString()); - } - if (!DBNull.Value.Equals(dr["CheckOutTime"])) - { - room.CheckOutTime = DateTime.Parse(dr["CheckOutTime"].ToString()); - } - room.RoomStateId = (int)dr["RoomStateId"]; - room.RoomState = (string)dr["RoomState"]; - room.RoomType = (int)dr["RoomType"]; - room.RoomPosition = (string)dr["RoomPosition"]; - room.typeName = (string)dr["RoomName"]; - rooms.Add(room); - } - dr.Close(); - DBHelper.Closecon(); + var roomState = roomStates.FirstOrDefault(a => a.RoomStateId == source.RoomStateId); + source.RoomState = string.IsNullOrEmpty(roomState.RoomStateName) ? "" : roomState.RoomStateName; + var roomType = roomTypes.FirstOrDefault(a => a.Roomtype == source.RoomType); + source.RoomName = string.IsNullOrEmpty(roomType.RoomName) ? "" : roomType.RoomName; + }); return rooms; } #endregion @@ -90,34 +68,21 @@ namespace SYS.Application /// 获取所有房间信息 /// /// - public static List SelectRoomAll() + public List SelectRoomAll() { + List roomStates = new List(); + roomStates = base.Change().GetList(a => a.delete_mk != 1); + List roomTypes = new List(); + roomTypes = base.Change().GetList(a => a.delete_mk != 1); List rooms = new List(); - string sql = "select * from ROOM r,ROOMTYPE t,ROOMSTATE rs where r.RoomType=t.RoomType and r.RoomStateId=rs.RoomStateId order by r.RoomNo asc"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + rooms = base.GetList(a => a.delete_mk != 1).OrderBy(a => a.RoomNo).ToList(); + rooms.ForEach(source => { - Room room = new Room(); - room.RoomNo = (string)dr["RoomNo"]; - room.CustoNo = dr["CustoNo"].ToString(); - room.RoomMoney = (decimal)dr["RoomMoney"]; - if (!DBNull.Value.Equals(dr["CheckTime"])) - { - room.CheckTime = DateTime.Parse(dr["CheckTime"].ToString()); - } - if (!DBNull.Value.Equals(dr["CheckOutTime"])) - { - room.CheckOutTime = DateTime.Parse(dr["CheckOutTime"].ToString()); - } - room.RoomStateId = (int)dr["RoomStateId"]; - room.RoomState = (string)dr["RoomState"]; - room.RoomType = (int)dr["RoomType"]; - room.RoomPosition = (string)dr["RoomPosition"]; - room.typeName = (string)dr["RoomName"]; - rooms.Add(room); - } - dr.Close(); - DBHelper.Closecon(); + var roomState = roomStates.FirstOrDefault(a => a.RoomStateId == source.RoomStateId); + source.RoomState = string.IsNullOrEmpty(roomState.RoomStateName) ? "" : roomState.RoomStateName; + var roomType = roomTypes.FirstOrDefault(a => a.Roomtype == source.RoomType); + source.RoomName = string.IsNullOrEmpty(roomType.RoomName) ? "" : roomType.RoomName; + }); return rooms; } #endregion @@ -127,36 +92,23 @@ namespace SYS.Application /// 获取房间分区的信息 /// /// - public static List SelectRoomByTypeName(string TypeName) + public List SelectRoomByTypeName(string TypeName) { - List rs = new List(); - string sql = "select * from ROOM r,ROOMTYPE t,ROOMSTATE rs where r.RoomType=t.RoomType and r.RoomStateId=rs.RoomStateId and t.RoomName='" + TypeName + "' order by r.RoomNo asc"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + List roomStates = new List(); + roomStates = base.Change().GetList(a => a.delete_mk != 1); + List roomTypes = new List(); + roomTypes = base.Change().GetList(a => a.delete_mk != 1 && a.RoomName == TypeName); + var listTypes = roomTypes.Select(a => a.Roomtype).Distinct().ToList(); + List rooms = new List(); + rooms = base.GetList(a => a.delete_mk != 1 && listTypes.Contains(a.RoomType)).OrderBy(a => a.RoomNo).ToList(); + rooms.ForEach(source => { - Room r = new Room(); - r.RoomNo = (string)dr["RoomNo"]; - r.CustoNo = dr["CustoNo"].ToString(); - r.RoomMoney = (decimal)dr["RoomMoney"]; - if (!DBNull.Value.Equals(dr["CheckTime"])) - { - r.CheckTime = DateTime.Parse(dr["CheckTime"].ToString()); - } - if (!DBNull.Value.Equals(dr["CheckOutTime"])) - { - r.CheckOutTime = DateTime.Parse(dr["CheckOutTime"].ToString()); - } - r.RoomStateId = (int)dr["RoomStateId"]; - r.RoomState = (string)dr["RoomState"]; - r.RoomType = (int)dr["RoomType"]; - r.RoomPosition = (string)dr["RoomPosition"]; - r.typeName = (string)dr["RoomName"]; - rs.Add(r); - } - dr.Close(); - DBHelper.Closecon(); - return rs; - + var roomState = roomStates.FirstOrDefault(a => a.RoomStateId == source.RoomStateId); + source.RoomState = string.IsNullOrEmpty(roomState.RoomStateName) ? "" : roomState.RoomStateName; + var roomType = roomTypes.FirstOrDefault(a => a.Roomtype == source.RoomType); + source.RoomName = string.IsNullOrEmpty(roomType.RoomName) ? "" : roomType.RoomName; + }); + return rooms; } #endregion @@ -166,31 +118,14 @@ namespace SYS.Application /// /// /// - public static Room SelectRoomByRoomNo(string no) + public Room SelectRoomByRoomNo(string no) { - Room room = null; - string sql = "select * from room where RoomNo='" + no + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - room = new Room(); - room.RoomNo = (string)dr["RoomNo"]; - room.CustoNo = dr["CustoNo"].ToString(); - room.RoomMoney = (decimal)dr["RoomMoney"]; - if (!DBNull.Value.Equals(dr["CheckTime"])) - { - room.CheckTime = DateTime.Parse(dr["CheckTime"].ToString()); - } - if (!DBNull.Value.Equals(dr["CheckOutTime"])) - { - room.CheckOutTime = DateTime.Parse(dr["CheckOutTime"].ToString()); - } - room.RoomStateId = (int)dr["RoomStateId"]; - room.RoomType = (int)dr["RoomType"]; - room.RoomPosition = (string)dr["RoomPosition"]; - } - dr.Close(); - DBHelper.Closecon(); + List roomStates = new List(); + roomStates = base.Change().GetList(a => a.delete_mk != 1); + Room room = new Room(); + room = base.GetSingle(a => a.delete_mk != 1 && a.RoomNo == no); + var roomSate = roomStates.FirstOrDefault(a => a.RoomStateId == room.RoomStateId); + room.RoomState = string.IsNullOrEmpty(roomSate.RoomStateName) ? "" : roomSate.RoomStateName; return room; } #endregion @@ -201,12 +136,15 @@ namespace SYS.Application /// /// /// - public static int UpdateRoomByRoomNo(string room) + public bool UpdateRoomByRoomNo(string room) { - string sql = "update ROOM set CustoNo=Null,CheckTime=null,"; - sql += "CheckOutTime =CURRENT_DATE(),"; - sql += "RoomStateId='3' where RoomNo='" + room + "'"; - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Room() + { + CustoNo = null, + CheckTime = null, + CheckOutTime = DateTime.Now, + RoomStateId = 3 + },a => a.RoomNo == room); } #endregion @@ -216,10 +154,9 @@ namespace SYS.Application /// /// /// - public static object DayByRoomNo(string roomno) + public object DayByRoomNo(string roomno) { - string sql = "select DATEDIFF(CURRENT_DATE(),CheckTime) as total from ROOM where RoomNo = '" + roomno + "'"; - return DBHelper.ExecuteScalar(sql); + return Math.Abs(((TimeSpan)(base.GetSingle(a => a.RoomNo == roomno).CheckTime - DateTime.Now)).Days); } #endregion @@ -229,13 +166,14 @@ namespace SYS.Application /// /// /// - public static int UpdateRoomInfo(Room r) + public bool UpdateRoomInfo(Room r) { - string sql = "update Room set CustoNo='{1}',CheckTime='{2}',CheckOutTime=Null,"; - sql += "RoomStateId ='{3}' where RoomNo='{0}'"; - sql = string.Format(sql, r.RoomNo, r.CustoNo, r.CheckTime, r.RoomStateId); - MySqlConnection con = DBHelper.GetConnection(); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Room() + { + CheckTime = r.CheckTime, + RoomStateId = r.RoomStateId, + CustoNo = r.CustoNo + },a => a.RoomNo == r.RoomNo); } #endregion @@ -245,12 +183,14 @@ namespace SYS.Application /// /// /// - public static int UpdateRoomInfoWithReser(Room r) + public bool UpdateRoomInfoWithReser(Room r) { - string sql = "update Room set RoomStateId ='{1}' where RoomNo='{0}'"; - sql = string.Format(sql, r.RoomNo, r.RoomStateId); - MySqlConnection con = DBHelper.GetConnection(); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Room() + { + RoomStateId = r.RoomStateId, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.RoomNo == r.RoomNo); } #endregion @@ -259,11 +199,9 @@ namespace SYS.Application /// 查询可入住房间数量 /// /// - public static object SelectCanUseRoomAllByRoomState() + public object SelectCanUseRoomAllByRoomState() { - List rooms = new List(); - string sql = "select Count(*) from ROOM where RoomStateId='0' order by RoomNo asc"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.RoomStateId == 0 && a.delete_mk != 1).OrderBy(a => a.RoomNo).Count(); } #endregion @@ -272,11 +210,9 @@ namespace SYS.Application /// 查询已入住房间数量 /// /// - public static object SelectNotUseRoomAllByRoomState() + public object SelectNotUseRoomAllByRoomState() { - List rooms = new List(); - string sql = "select Count(*) from ROOM where RoomStateId='1' order by RoomNo asc"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.RoomStateId == 1 && a.delete_mk != 1).OrderBy(a => a.RoomNo).Count(); } #endregion @@ -285,12 +221,9 @@ namespace SYS.Application /// 根据房间编号查询房间价格 /// /// - public static object SelectRoomByRoomPrice(string r) + public object SelectRoomByRoomPrice(string r) { - - string sql = "select RoomMoney from Room where RoomNo='" + r + "'"; - return DBHelper.ExecuteReader(sql); - + return base.GetSingle(a => a.RoomNo == r).RoomMoney; } #endregion @@ -299,11 +232,9 @@ namespace SYS.Application /// 查询脏房数量 /// /// - public static object SelectNotClearRoomAllByRoomState() + public object SelectNotClearRoomAllByRoomState() { - List rooms = new List(); - string sql = "select Count(*) from ROOM where RoomStateId='3' order by RoomNo asc"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.RoomStateId == 3 && a.delete_mk != 1).OrderBy(a => a.RoomNo).Count(); } #endregion @@ -312,11 +243,9 @@ namespace SYS.Application /// 查询维修房数量 /// /// - public static object SelectFixingRoomAllByRoomState() + public object SelectFixingRoomAllByRoomState() { - List rooms = new List(); - string sql = "select Count(*) from ROOM where RoomStateId='2' order by RoomNo asc"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.RoomStateId == 2 && a.delete_mk != 1).OrderBy(a => a.RoomNo).Count(); } #endregion @@ -325,24 +254,9 @@ namespace SYS.Application /// 查询预约房数量 /// /// - public static object SelectReseredRoomAllByRoomState() + public object SelectReseredRoomAllByRoomState() { - List rooms = new List(); - string sql = "select Count(*) from ROOM where RoomStateId='4' order by RoomNo asc"; - return DBHelper.ExecuteScalar(sql); - } - #endregion - - #region 根据房间编号查询房间状态名称 - /// - /// 根据房间编号查询房间状态名称 - /// - /// - /// - public static object SelectRoomStateNameByRoomNo(string roomno) - { - string sql = "select s.RoomState from ROOMSTATE s,ROOM r where s.RoomStateId=r.RoomStateId and r.RoomNo='" + roomno + "'"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.RoomStateId == 4 && a.delete_mk != 1).OrderBy(a => a.RoomNo).Count(); } #endregion @@ -353,10 +267,14 @@ namespace SYS.Application /// /// /// - public static int UpdateRoomStateByRoomNo(string roomno, int stateid) + public bool UpdateRoomStateByRoomNo(string roomno, int stateid) { - string sql = "update ROOM set RoomStateId='" + stateid + "' where RoomNo='" + roomno + "'"; - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Room() + { + RoomStateId = stateid, + datains_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.RoomNo == roomno); } #endregion @@ -364,13 +282,11 @@ namespace SYS.Application /// /// 添加房间 /// - /// + /// /// - public static object InsertRoom(Room rn) + public bool InsertRoom(Room rn) { - string sql = "insert ROOM values('{0}','{1}',NULL,NULL,NULL,'0','{2}',NULL,'{3}')"; - sql = string.Format(sql, rn.RoomNo, rn.RoomType, rn.RoomMoney, rn.RoomPosition); - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(rn); } #endregion @@ -379,34 +295,21 @@ namespace SYS.Application /// 查询所有可消费(已住)房间 /// /// - public static List SelectRoomByStateAll() + public List SelectRoomByStateAll() { + List roomStates = new List(); + roomStates = base.Change().GetList(a => a.delete_mk != 1); + List roomTypes = new List(); + roomTypes = base.Change().GetList(a => a.delete_mk != 1); List rooms = new List(); - string sql = "select * from ROOM r,ROOMTYPE t,ROOMSTATE rs where r.RoomType=t.RoomType and r.RoomStateId=rs.RoomStateId and r.RoomStateId='1'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + rooms = base.GetList(a => a.delete_mk != 1 && a.RoomStateId == 1).OrderBy(a => a.RoomNo).ToList(); + rooms.ForEach(source => { - Room room = new Room(); - room.RoomNo = (string)dr["RoomNo"]; - room.CustoNo = dr["CustoNo"].ToString(); - room.RoomMoney = (decimal)dr["RoomMoney"]; - if (!DBNull.Value.Equals(dr["CheckTime"])) - { - room.CheckTime = DateTime.Parse(dr["CheckTime"].ToString()); - } - if (!DBNull.Value.Equals(dr["CheckOutTime"])) - { - room.CheckOutTime = DateTime.Parse(dr["CheckOutTime"].ToString()); - } - room.RoomStateId = (int)dr["RoomStateId"]; - room.RoomState = (string)dr["RoomState"]; - room.RoomType = (int)dr["RoomType"]; - room.RoomPosition = (string)dr["RoomPosition"]; - room.typeName = (string)dr["RoomName"]; - rooms.Add(room); - } - dr.Close(); - DBHelper.Closecon(); + var roomState = roomStates.FirstOrDefault(a => a.RoomStateId == source.RoomStateId); + source.RoomState = string.IsNullOrEmpty(roomState.RoomStateName) ? "" : roomState.RoomStateName; + var roomType = roomTypes.FirstOrDefault(a => a.Roomtype == source.RoomType); + source.RoomName = string.IsNullOrEmpty(roomType.RoomName) ? "" : roomType.RoomName; + }); return rooms; } #endregion @@ -416,20 +319,10 @@ namespace SYS.Application /// 获取所有房间状态 /// /// - public static List SelectRoomStateAll() + public List SelectRoomStateAll() { - List rs = new List(); - string sql = "select * from ROOMSTATE"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Room r = new Room(); - r.RoomStateId = Convert.ToInt32(dr["RoomStateId"]); - r.RoomState = dr["RoomState"].ToString(); - rs.Add(r); - } - dr.Close(); - DBHelper.Closecon(); + List rs = new List(); + rs = base.Change().GetList(a => a.delete_mk != 1); return rs; } #endregion @@ -440,10 +333,9 @@ namespace SYS.Application /// /// /// - public static object SelectRoomStateIdByRoomNo(string roomno) + public object SelectRoomStateIdByRoomNo(string roomno) { - string sql = "select RoomStateId from ROOM where RoomNo='" + roomno + "'"; - return DBHelper.ExecuteScalar(sql); + return base.GetSingle(a => a.RoomNo == roomno).RoomStateId; } #endregion } diff --git a/SYS.Application/Room/RoomTypeService.cs b/SYS.Application/Room/RoomTypeService.cs index 74420e9..c8804d8 100644 --- a/SYS.Application/Room/RoomTypeService.cs +++ b/SYS.Application/Room/RoomTypeService.cs @@ -1,31 +1,24 @@ using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class RoomTypeService + /// + /// 房间类型接口实现类 + /// + public class RoomTypeService:Repository, IRoomTypeService { #region 获取所有房间类型 /// /// 获取所有房间类型 /// /// - public static List SelectRoomTypesAll() + public List SelectRoomTypesAll() { List types = new List(); - string sql = "select * from ROOMTYPE"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - RoomType type = new RoomType(); - type.Roomtype = (int)dr["Roomtype"]; - type.RoomName = dr["RoomName"].ToString(); - types.Add(type); - } - dr.Close(); - DBHelper.Closecon(); - + types = base.GetList(a => a.delete_mk != 1); return types; } #endregion @@ -36,18 +29,12 @@ namespace SYS.Application /// /// /// - public static RoomType SelectRoomTypeByRoomNo(string no) + public RoomType SelectRoomTypeByRoomNo(string no) { - RoomType roomtype = null; - string sql = "select t.RoomName from ROOMTYPE t,ROOM r where t.RoomType=r.RoomType and r.RoomNo='" + no + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - roomtype = new RoomType(); - roomtype.RoomName = dr["RoomName"].ToString(); - } - dr.Close(); - DBHelper.Closecon(); + RoomType roomtype = new RoomType(); + Room room = new Room(); + room = base.Change().GetSingle(a => a.RoomNo == no && a.delete_mk != 1); + roomtype.RoomName = base.GetSingle(a => a.Roomtype == room.RoomStateId).RoomName; return roomtype; } #endregion diff --git a/SYS.Application/SYS.Application.csproj b/SYS.Application/SYS.Application.csproj index 12ebdb8..8b7ab3a 100644 --- a/SYS.Application/SYS.Application.csproj +++ b/SYS.Application/SYS.Application.csproj @@ -45,6 +45,9 @@ False ..\SYS.Library\MySql.Web.dll + + ..\packages\SqlSugar.5.0.2\lib\SqlSugar.dll + @@ -56,13 +59,30 @@ + + + + + + + + + + + + + + + + + @@ -78,6 +98,10 @@ + + {65501af6-c629-448a-847e-1bcd60665865} + SYS.Common + {cd039d0f-bd50-4fbf-b9cd-cdfab25c7dfa} SYS.Core @@ -85,5 +109,8 @@ + + + \ No newline at end of file diff --git a/SYS.Application/Worker/IWorkerCheckService.cs b/SYS.Application/Worker/IWorkerCheckService.cs new file mode 100644 index 0000000..d28a921 --- /dev/null +++ b/SYS.Application/Worker/IWorkerCheckService.cs @@ -0,0 +1,41 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 员工打卡接口 + /// + public interface IWorkerCheckService + { + /// + /// 根据员工编号查询其所有的打卡记录 + /// + /// + /// + List SelectCheckInfoByWorkerNo(string wid); + + + /// + /// 查询员工签到天数 + /// + /// + /// + object SelectWorkerCheckDaySumByWorkerNo(string wkn); + + + /// + /// 查询今天员工是否已签到 + /// + /// + /// + object SelectToDayCheckInfoByWorkerNo(string wkn); + + /// + /// 添加员工打卡数据 + /// + /// + /// + bool AddCheckInfo(WorkerCheck workerCheck); + } +} \ No newline at end of file diff --git a/SYS.Application/Worker/IWorkerGoodBadService.cs b/SYS.Application/Worker/IWorkerGoodBadService.cs new file mode 100644 index 0000000..d860cf8 --- /dev/null +++ b/SYS.Application/Worker/IWorkerGoodBadService.cs @@ -0,0 +1,25 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 员工奖惩信息接口 + /// + public interface IWorkerGoodBadService + { + /// + /// 添加员工奖惩记录 + /// + /// + /// + bool AddGoodBad(WorkerGoodBad goodBad); + + /// + /// 根据工号查找所有的奖惩记录信息 + /// + /// + /// + List SelectAllGoodBadByWorkNo(string wn); + } +} \ No newline at end of file diff --git a/SYS.Application/Worker/IWorkerHistoryService.cs b/SYS.Application/Worker/IWorkerHistoryService.cs new file mode 100644 index 0000000..70f8267 --- /dev/null +++ b/SYS.Application/Worker/IWorkerHistoryService.cs @@ -0,0 +1,25 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 员工履历信息接口 + /// + public interface IWorkerHistoryService + { + /// + /// 根据工号添加员工履历 + /// + /// + /// + bool AddHistoryByWorkerId(WorkerHistory workerHistory); + + /// + /// 根据工号查询履历信息 + /// + /// + /// + List SelectHistoryByWorkerId(string wid); + } +} \ No newline at end of file diff --git a/SYS.Application/Worker/IWorkerService.cs b/SYS.Application/Worker/IWorkerService.cs new file mode 100644 index 0000000..bd188be --- /dev/null +++ b/SYS.Application/Worker/IWorkerService.cs @@ -0,0 +1,59 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 员工信息接口 + /// + public interface IWorkerService + { + #region 修改员工信息 + /// + /// 修改员工信息 + /// + /// + /// + bool UpdateWorker(Worker worker); + #endregion + + + #region 添加员工信息 + /// + /// 添加员工信息 + /// + /// + /// + bool AddWorker(Worker worker); + #endregion + + #region 获取所有工作人员信息 + /// + /// 获取所有工作人员信息 + /// + /// + List SelectWorkerAll(); + #endregion + + #region 根据登录名称查询员工信息 + /// + /// 根据登录名称查询员工信息 + /// + /// + /// + Worker SelectWorkerInfoByWorkerId(string workerId); + #endregion + + #region 根据登录名称、密码查询员工信息 + /// + /// 根据登录名称、密码查询员工信息 + /// + /// + /// 登录名称 + /// + /// 登录密码 + /// + Worker SelectWorkerInfoByWorkerIdAndWorkerPwd(string id, string pwd); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Worker/WorkerCheckService.cs b/SYS.Application/Worker/WorkerCheckService.cs index 0b83fad..4433bc5 100644 --- a/SYS.Application/Worker/WorkerCheckService.cs +++ b/SYS.Application/Worker/WorkerCheckService.cs @@ -1,41 +1,29 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class WorkerCheckService + /// + /// 员工打卡接口实现类 + /// + public class WorkerCheckService:Repository, IWorkerCheckService { /// /// 根据员工编号查询其所有的打卡记录 /// /// /// - public static List SelectCheckInfoByWorkerNo(string wid) + public List SelectCheckInfoByWorkerNo(string wid) { List workerChecks = new List(); - string sql = "select * from WorkerCheck where WorkerNo = '" + wid + "'"; - DBHelper.Opencon(); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + workerChecks = base.GetList(a => a.WorkerNo == wid && a.delete_mk != 1); + workerChecks.ForEach(source => { - WorkerCheck workerCheck = new WorkerCheck(); - workerCheck.WorkerNo = dr["WorkerNo"].ToString(); - workerCheck.CheckTime = (DateTime)dr["CheckTime"]; - workerCheck.CheckWay = dr["CheckWay"].ToString(); - if (Convert.ToInt32(dr["CheckState"]) == 0) - { - workerCheck.CheckState = "打卡成功"; - } - else - { - workerCheck.CheckState = "打卡失败"; - } - workerChecks.Add(workerCheck); - } - dr.Close(); - DBHelper.Closecon(); + source.CheckStateNm = source.CheckState == 0 ? "打卡成功" : "打卡失败"; + }); return workerChecks; } @@ -45,10 +33,9 @@ namespace SYS.Application /// /// /// - public static object SelectWorkerCheckDaySumByWorkerNo(string wkn) + public object SelectWorkerCheckDaySumByWorkerNo(string wkn) { - string sql = "SELECT COUNT(*) FROM WORKERCHECK WHERE workerNo = '" + wkn + "'"; - return DBHelper.ExecuteScalar(sql); + return base.GetList(a => a.WorkerNo == wkn && a.delete_mk != 1).Count; } @@ -57,10 +44,10 @@ namespace SYS.Application /// /// /// - public static object SelectToDayCheckInfoByWorkerNo(string wkn) + public object SelectToDayCheckInfoByWorkerNo(string wkn) { - string sql = "select Count(*) from WORKERCHECK where WorkerNo = '"+wkn+"' and DATEDIFF(workercheck.CheckTime,CURRENT_DATE()) = 0"; - return DBHelper.ExecuteScalar(sql); + //string sql = "select Count(*) from WORKERCHECK where WorkerNo = '"+wkn+ "' and DATEDIFF(CURRENT_DATE(),workercheck.CheckTime)"; + return base.GetList(a => a.WorkerNo == wkn && a.delete_mk != 1 && a.CheckTime >= DateTime.Now).Count; } /// @@ -68,10 +55,9 @@ namespace SYS.Application /// /// /// - public static int AddCheckInfo(WorkerCheck workerCheck) + public bool AddCheckInfo(WorkerCheck workerCheck) { - string sql = "insert into WORKERCHECK values('" + workerCheck.WorkerNo + "','"+workerCheck.CheckTime+"','" + workerCheck.CheckWay + "','0')"; - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(workerCheck); } } } diff --git a/SYS.Application/Worker/WorkerGoodBadService.cs b/SYS.Application/Worker/WorkerGoodBadService.cs index 9645af5..375efcb 100644 --- a/SYS.Application/Worker/WorkerGoodBadService.cs +++ b/SYS.Application/Worker/WorkerGoodBadService.cs @@ -5,37 +5,42 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using SYS.Core; +using SYS.Common; namespace SYS.Application { - public class WorkerGoodBadService + /// + /// 员工奖惩记录接口实现类 + /// + public class WorkerGoodBadService:Repository, IWorkerGoodBadService { - public static int AddGoodBad(WorkerGoodBad goodBad) + /// + /// 添加员工奖惩记录 + /// + /// + /// + public bool AddGoodBad(WorkerGoodBad goodBad) { - string sql = "insert into WorkerGoodBad values('" + goodBad.WorkNo + "','" + goodBad.GBInfo + "','" + goodBad.GBType + "','" + goodBad.GBOperation + "','" + goodBad.GBTime + "')"; - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(goodBad); } - - public static List SelectAllGoodBadByWorkNo(string wn) + /// + /// 根据工号查找所有的奖惩记录信息 + /// + /// + /// + public List SelectAllGoodBadByWorkNo(string wn) { + List gBTypes = new List(); + gBTypes = base.Change().GetList(a => a.delete_mk != 1); List gb = new List(); string sql = "select * from WorkerGoodBad wgb,GBType gbt where wgb.GBType = gbt.GBType and wgb.WorkNo = '" + wn + "'"; - MySqlConnection conn = DBHelper.GetConnection(); - conn.Open(); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + gb = base.GetList(a => a.WorkNo == wn); + gb.ForEach(source => { - WorkerGoodBad goodBad = new WorkerGoodBad(); - goodBad.WorkNo = dr["WorkNo"].ToString(); - goodBad.GBInfo = dr["GBInfo"].ToString(); - goodBad.TypeName = dr["GBName"].ToString(); - goodBad.GBOperation = dr["GBOperation"].ToString(); - goodBad.GBTime = (DateTime)dr["GBTime"]; - gb.Add(goodBad); - } - dr.Close(); - DBHelper.Closecon(); + var gbType = gBTypes.FirstOrDefault(a => a.GBTypeId == source.GBType); + source.TypeName = string.IsNullOrEmpty(gbType.GBName) ? "" : gbType.GBName; + }); return gb; } } diff --git a/SYS.Application/Worker/WorkerHistoryService.cs b/SYS.Application/Worker/WorkerHistoryService.cs index ac71cea..ef8f615 100644 --- a/SYS.Application/Worker/WorkerHistoryService.cs +++ b/SYS.Application/Worker/WorkerHistoryService.cs @@ -1,36 +1,35 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class WorkerHistoryService + /// + /// 员工履历接口实现类 + /// + public class WorkerHistoryService:Repository, IWorkerHistoryService { - - public static int AddHistoryByWorkerId(WorkerHistory workerHistory, string wid) + /// + /// 根据工号添加员工履历 + /// + /// + /// + public bool AddHistoryByWorkerId(WorkerHistory workerHistory) { - string sql = "insert into WorkerHistory values('" + wid + "','" + workerHistory.StartDate + "','" + workerHistory.EndDate + "','" + workerHistory.Postion + "','" + workerHistory.Company + "')"; - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(workerHistory); } - public static List SelectHistoryByWorkerId(string wid) + /// + /// 根据工号查询履历信息 + /// + /// + /// + public List SelectHistoryByWorkerId(string wid) { List why = new List(); - string sql = "SELECT * FROM WORKERINFO wi,WORKERHISTORY wh where wi.WorkerId = wh.WorkerId and wi.WorkerId = '" + wid + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - WorkerHistory workerHistory = new WorkerHistory(); - workerHistory.WorkerId = dr["WorkerId"].ToString(); - workerHistory.StartDate = DateTime.Parse(dr["StartDate"].ToString()); - workerHistory.EndDate = DateTime.Parse(dr["EndDate"].ToString()); - workerHistory.Postion = dr["Position"].ToString(); - workerHistory.Company = dr["Company"].ToString(); - why.Add(workerHistory); - } - dr.Close(); - DBHelper.Closecon(); + why = base.GetList(a => a.delete_mk != 1 && a.WorkerId == wid); return why; } } diff --git a/SYS.Application/Worker/WorkerService.cs b/SYS.Application/Worker/WorkerService.cs index 310ce81..9669016 100644 --- a/SYS.Application/Worker/WorkerService.cs +++ b/SYS.Application/Worker/WorkerService.cs @@ -1,23 +1,37 @@ using System; using System.Collections.Generic; +using System.Linq; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class WorkerService + /// + /// 员工信息接口实现类 + /// + public class WorkerService:Repository,IWorkerService { - #region 修改员工信息 /// /// 修改员工信息 /// /// /// - public static int UpdateWorker(Worker worker) + public bool UpdateWorker(Worker worker) { - string sql = "update WORKERINFO set WorkerTel = '"+worker.WorkerTel+"',WorkerAddress = '"+worker.WorkerAddress+"',WorkerPwd = '"+worker.WorkerPwd+"',WorkerFace = '"+worker.WorkerFace+"',WorkerEducation = '"+worker.WorkerEduction+"',WorkerSex = '"+worker.WorkerSex+"' where WorkerId = '"+worker.WorkerId+"'"; - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new Worker() + { + WorkerTel = worker.WorkerTel, + WorkerAddress = worker.WorkerAddress, + WorkerPwd = worker.WorkerPwd, + WorkerFace = worker.WorkerFace, + WorkerEducation = worker.WorkerEducation, + WorkerSex = worker.WorkerSex, + datachg_usr = AdminInfo.Account, + datachg_date = DateTime.Now + },a => a.WorkerId == worker.WorkerId); + } #endregion @@ -28,10 +42,9 @@ namespace SYS.Application /// /// /// - public static int AddWorker(Worker worker) + public bool AddWorker(Worker worker) { - string sql = "insert into WORKERINFO values('" + worker.WorkerId + "','" + worker.WorkerName + "','" + worker.WorkerBirth + "','" + worker.WorkerSex + "','" + worker.WorkerTel + "','" + worker.WorkerClub + "','" + worker.WorkerAddress + "','" + worker.WorkerPosition + "','" + worker.CardId + "','" + worker.WorkerPwd + "','" + worker.WorkerTime + "','" + worker.WorkerFace + "','" + worker.WorkerEduction + "')"; - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(worker); } #endregion @@ -40,31 +53,45 @@ namespace SYS.Application /// 获取所有工作人员信息 /// /// - public static List SelectWorkerAll() + public List SelectWorkerAll() { + //查询所有教育程度信息 + List educations = new List(); + educations = base.Change().GetList(a => a.delete_mk != 1); + //查询所有性别类型信息 + List sexTypes = new List(); + sexTypes = base.Change().GetList(a => a.delete_mk != 1); + //查询所有民族类型信息 + List nations = new List(); + nations = base.Change().GetList(a => a.delete_mk != 1); + //查询所有部门信息 + List depts = new List(); + depts = base.Change().GetList(a => a.delete_mk != 1); + //查询所有职位信息 + List positions = new List(); + positions = base.Change().GetList(a => a.delete_mk != 1); + //查询所有员工信息 List workers = new List(); - string sql = "select * from WORKERINFO"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) + workers = base.Change().GetList(a => a.delete_mk != 1); + workers.ForEach(source => { - Worker worker = new Worker(); - worker.WorkerId = (string)dr["WorkerId"]; - worker.WorkerName = dr["WorkerName"].ToString(); - worker.WorkerBirth = DateTime.Parse(dr["WorkerBirthday"].ToString()); - worker.WorkerSex = Convert.ToString(dr["WorkerSex"]); - worker.WorkerTel = (string)dr["WorkerTel"]; - worker.WorkerClub = (string)dr["WorkerClub"]; - worker.WorkerAddress = (string)dr["WorkerAddress"]; - worker.WorkerPosition = (string)dr["WorkerPosition"]; - worker.CardId = (string)dr["CardId"]; - worker.WorkerPwd = (string)dr["WorkerPwd"]; - worker.WorkerTime = DateTime.Parse(dr["WorkerTime"].ToString()); - worker.WorkerFace = (string)dr["WorkerFace"]; - worker.WorkerEduction = (string)dr["WorkerEducation"]; - workers.Add(worker); - } - dr.Close(); - DBHelper.Closecon(); + //性别类型 + var sexType = sexTypes.FirstOrDefault(a => a.sexId == source.WorkerSex); + source.WorkerSexName = string.IsNullOrEmpty(sexType.sexName) ? "" : sexType.sexName; + //教育程度 + var eduction = educations.FirstOrDefault(a => a.education_no == source.WorkerEducation); + source.WorkerEducation = string.IsNullOrEmpty(eduction.education_name) ? "" : eduction.education_name; + //民族类型 + var nation = nations.FirstOrDefault(a => a.nation_no == source.WorkerNation); + source.NationName = string.IsNullOrEmpty(nation.nation_name) ? "" : nation.nation_name; + //部门 + var dept = depts.FirstOrDefault(a => a.dept_no == source.WorkerClub); + source.ClubName = string.IsNullOrEmpty(dept.dept_name) ? "" : dept.dept_name; + //职位 + var position = positions.FirstOrDefault(a => a.position_no == source.WorkerPosition); + source.PositionName = string.IsNullOrEmpty(position.position_name) ? "" : position.position_name; + }); + return workers; } #endregion @@ -75,29 +102,25 @@ namespace SYS.Application /// /// /// - public static Worker SelectWorkerInfoByWorkerId(string workerId) + public Worker SelectWorkerInfoByWorkerId(string workerId) { - Worker w = null; - string sql = "select * from WORKERINFO where WorkerId='" + workerId + "'"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - w = new Worker(); - w.WorkerId = (string)dr["WorkerId"]; - w.WorkerName = dr["WorkerName"].ToString(); - w.WorkerBirth = DateTime.Parse(dr["WorkerBirthday"].ToString()); - w.WorkerSex = Convert.ToString(dr["WorkerSex"]); - w.WorkerTel = (string)dr["WorkerTel"]; - w.WorkerClub = (string)dr["WorkerClub"]; - w.WorkerAddress = (string)dr["WorkerAddress"]; - w.WorkerPosition = (string)dr["WorkerPosition"]; - w.CardId = (string)dr["CardId"]; - w.WorkerPwd = (string)dr["WorkerPwd"]; - w.WorkerTime = DateTime.Parse(dr["WorkerTime"].ToString()); - w.WorkerFace = (string)dr["WorkerFace"]; - } - dr.Close(); - DBHelper.Closecon(); + Worker w = new Worker(); + w = base.Change().GetSingle(a => a.WorkerId == workerId); + //性别类型 + var sexType = base.Change().GetSingle(a => a.sexId == w.WorkerSex); + w.WorkerSexName = string.IsNullOrEmpty(sexType.sexName) ? "" : sexType.sexName; + //教育程度 + var eduction = base.Change().GetSingle(a => a.education_no == w.WorkerEducation); + w.WorkerEducation = string.IsNullOrEmpty(eduction.education_name) ? "" : eduction.education_name; + //民族类型 + var nation = base.Change().GetSingle(a => a.nation_no == w.WorkerNation); + w.NationName = string.IsNullOrEmpty(nation.nation_name) ? "" : nation.nation_name; + //部门 + var dept = base.Change().GetSingle(a => a.dept_no == w.WorkerClub); + w.ClubName = string.IsNullOrEmpty(dept.dept_name) ? "" : dept.dept_name; + //职位 + var position = base.Change().GetSingle(a => a.position_no == w.WorkerPosition); + w.PositionName = string.IsNullOrEmpty(position.position_name) ? "" : position.position_name; return w; } #endregion @@ -111,30 +134,25 @@ namespace SYS.Application /// /// 登录密码 /// - public static Worker SelectWorkerInfoByWorkerIdAndWorkerPwd(string id, string pwd) + public Worker SelectWorkerInfoByWorkerIdAndWorkerPwd(string id, string pwd) { - Worker w = null; - string sql = "select * from WORKERINFO where WorkerId='{0}' and WorkerPwd='{1}'"; - sql = string.Format(sql, id, pwd); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - w = new Worker(); - w.WorkerId = (string)dr["WorkerId"]; - w.WorkerName = dr["WorkerName"].ToString(); - w.WorkerBirth = DateTime.Parse(dr["WorkerBirthday"].ToString()); - w.WorkerSex = Convert.ToString(dr["WorkerSex"]); - w.WorkerTel = (string)dr["WorkerTel"]; - w.WorkerClub = (string)dr["WorkerClub"]; - w.WorkerAddress = (string)dr["WorkerAddress"]; - w.WorkerPosition = (string)dr["WorkerPosition"]; - w.CardId = (string)dr["CardId"]; - w.WorkerPwd = (string)dr["WorkerPwd"]; - w.WorkerTime = DateTime.Parse(dr["WorkerTime"].ToString()); - w.WorkerFace = (string)dr["WorkerFace"]; - } - dr.Close(); - DBHelper.Closecon(); + Worker w = new Worker(); + w = base.GetSingle(a => a.WorkerId == id && a.WorkerPwd == pwd); + //性别类型 + var sexType = base.Change().GetSingle(a => a.sexId == w.WorkerSex); + w.WorkerSexName = string.IsNullOrEmpty(sexType.sexName) ? "" : sexType.sexName; + //教育程度 + var eduction = base.Change().GetSingle(a => a.education_no == w.WorkerEducation); + w.WorkerEducation = string.IsNullOrEmpty(eduction.education_name) ? "" : eduction.education_name; + //民族类型 + var nation = base.Change().GetSingle(a => a.nation_no == w.WorkerNation); + w.NationName = string.IsNullOrEmpty(nation.nation_name) ? "" : nation.nation_name; + //部门 + var dept = base.Change().GetSingle(a => a.dept_no == w.WorkerClub); + w.ClubName = string.IsNullOrEmpty(dept.dept_name) ? "" : dept.dept_name; + //职位 + var position = base.Change().GetSingle(a => a.position_no == w.WorkerPosition); + w.PositionName = string.IsNullOrEmpty(position.position_name) ? "" : position.position_name; return w; } #endregion diff --git a/SYS.Application/Zero/AdminService.cs b/SYS.Application/Zero/AdminService.cs index 3963e90..622a41b 100644 --- a/SYS.Application/Zero/AdminService.cs +++ b/SYS.Application/Zero/AdminService.cs @@ -1,56 +1,41 @@ using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class AdminService + /// + /// 管理员数据访问层 + /// + public class AdminService:Repository, IAdminService { + #region 根据超管密码查询员工类型和权限 /// /// 根据超管密码查询员工类型和权限 /// - /// + /// + /// /// - public static Admin SelectMangerByPass(string adminaccount,string adminpass) + public Admin SelectMangerByPass(string adminaccount,string adminpass) { - Admin a = null; - string sql = string.Format("select * from ADMININFO where AdminAccount = '{0}' and AdminPassword='{1}'", adminaccount, adminpass); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - a = new Admin(); - a.AdminType = dr["AdminType"].ToString(); - a.AdminName = dr["AdminName"].ToString(); - a.IsAdmin = (int)dr["IsAdmin"]; - } - dr.Close(); - DBHelper.Closecon(); - return a; + Admin admin = new Admin(); + admin = base.GetSingle(a => a.AdminAccount == adminaccount && a.AdminPassword == adminpass); + return admin; } #endregion - #region 根据超管密码查询超管信息 + #region 根据超管账号查询对应的密码 /// - /// 根据超管密码查询超管信息 + /// 根据超管账号查询对应的密码 /// - /// - /// 超管密码 + /// /// - public static Admin SelectAdminInfoByadminpwd(string pwd) + public Admin SelectAdminPwdByAccount(string account) { - Admin a = null; - string sql = "select * from ADMININFO where AdminPassword='{0}'"; - sql = string.Format(sql, pwd); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - if (dr.Read()) - { - a = new Admin(); - a.AdminPassword = (string)dr["WorkerId"]; - a.AdminType = dr["WorkerName"].ToString(); - } - dr.Close(); - DBHelper.Closecon(); - return a; + Admin admin = new Admin(); + admin = base.GetSingle(a => a.AdminAccount == account); + return admin; } #endregion } diff --git a/SYS.Application/Zero/BaseService.cs b/SYS.Application/Zero/BaseService.cs index 1ba1ec4..e5d88fa 100644 --- a/SYS.Application/Zero/BaseService.cs +++ b/SYS.Application/Zero/BaseService.cs @@ -1,4 +1,5 @@ using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; using System; using System.Collections.Generic; @@ -11,7 +12,7 @@ namespace SYS.Application /// /// 基础信息接口实现类 /// - public class BaseService: IBaseService + public class BaseService: Repository,IBaseService { #region 性别模块 @@ -22,18 +23,7 @@ namespace SYS.Application public List SelectSexTypeAll() { List sexTypes = new List(); - string sql = "select * from sextype"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - SexType type = new SexType(); - type.sexId = (int)dr["sexId"]; - type.sexName = dr["sexName"].ToString(); - type.delete_mk = (int)dr["delete_mk"]; - sexTypes.Add(type); - } - dr.Close(); - DBHelper.Closecon(); + sexTypes = base.GetList(); return sexTypes; } @@ -43,18 +33,9 @@ namespace SYS.Application /// public SexType SelectSexType(SexType sexType) { - sexType = new SexType(); - string sql = string.Format("select * from sextype where sexId = {0}", sexType.sexId); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - sexType.sexId = (int)dr["sexId"]; - sexType.sexName = dr["sexName"].ToString(); - sexType.delete_mk = (int)dr["delete_mk"]; - } - dr.Close(); - DBHelper.Closecon(); - return sexType; + SexType sexTypes = new SexType(); + sexTypes = base.GetSingle(a => a.sexId == sexType.sexId); + return sexTypes; } /// @@ -62,10 +43,9 @@ namespace SYS.Application /// /// /// - public int AddSexType(SexType sexType) + public bool AddSexType(SexType sexType) { - string sql = string.Format("insert into sexType values('{0}','{1}')", sexType.sexId, sexType.sexName); - return DBHelper.ExecuteNonQuery(sql); + return base.Insert(sexType); } /// @@ -73,10 +53,14 @@ namespace SYS.Application /// /// /// - public int DelSexType(SexType sexType) + public bool DelSexType(SexType sexType) { - string sql = string.Format("update sexType set delete_mk = 1 where sexId = '[0]'", sexType.sexId); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new SexType() + { + delete_mk = sexType.delete_mk, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.sexId == sexType.sexId); } /// @@ -84,10 +68,14 @@ namespace SYS.Application /// /// /// - public int UpdSexType(SexType sexType) + public bool UpdSexType(SexType sexType) { - string sql = string.Format("update sexType set sexName = '{1}' where sexId = '[0]'", sexType.sexId,sexType.sexName); - return DBHelper.ExecuteNonQuery(sql); + return base.Update(a => new SexType() + { + sexName = sexType.sexName, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.sexId == sexType.sexId); } #endregion @@ -101,24 +89,7 @@ namespace SYS.Application public List SelectPositionAll() { List positions = new List(); - string sql = "select * from position"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Position position = new Position() - { - position_no = dr["position_no"].ToString(), - position_name = dr["position_name"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - positions.Add(position); - } - dr.Close(); - DBHelper.Closecon(); + positions = base.Change().GetList(); return positions; } @@ -129,23 +100,7 @@ namespace SYS.Application public Position SelectPosition(Position position) { Position position1 = new Position(); - string sql = string.Format("select * from position where position_no = '{0}'",position.position_no); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - position1 = new Position() - { - position_no = dr["position_no"].ToString(), - position_name = dr["position_name"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - } - dr.Close(); - DBHelper.Closecon(); + position1 = base.Change().GetSingle(a => a.position_no == position.position_no); return position1; } @@ -154,11 +109,9 @@ namespace SYS.Application /// /// /// - public int AddPosition(Position position) + public bool AddPosition(Position position) { - string sql = string.Format("insert into position(position_no,position_name,datains_usr,datains_date) values('{0}','{1}','{2}','{3}')" - , position.position_no,position.position_name,position.datains_usr,position.datains_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Insert(position); } /// @@ -166,11 +119,14 @@ namespace SYS.Application /// /// /// - public int DelPosition(Position position) + public bool DelPosition(Position position) { - string sql = string.Format("update position set delete_mk = 1,datachg_usr = '{1}',datachg_date = '{2}' where position_no = '{0}')" - , position.position_no, position.datachg_usr, position.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Position() + { + delete_mk = position.delete_mk, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.position_no == position.position_no); } /// @@ -178,11 +134,14 @@ namespace SYS.Application /// /// /// - public int UpdPosition(Position position) + public bool UpdPosition(Position position) { - string sql = string.Format("update position set position_name = '{1}',datachg_usr = '{2}',datachg_date = '{3}' where position_no = '{0}')" - , position.position_no, position.position_name,position.datachg_date,position.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Position() + { + position_name = position.position_name, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.position_no == position.position_no); } #endregion @@ -196,24 +155,7 @@ namespace SYS.Application public List SelectNationAll() { List nations = new List(); - string sql = "select * from nation where delete_mk = 0"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Nation nation = new Nation() - { - nation_no = dr["nation_no"].ToString(), - nation_name = dr["nation_name"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - nations.Add(nation); - } - dr.Close(); - DBHelper.Closecon(); + nations = base.Change().GetList(); return nations; } @@ -224,23 +166,7 @@ namespace SYS.Application public Nation SelectNation(Nation nation) { Nation nation1 = new Nation(); - string sql = string.Format("select * from nation where nation_no = '{0}'", nation.nation_no); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - nation1 = new Nation() - { - nation_no = dr["nation_no"].ToString(), - nation_name = dr["nation_name"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - } - dr.Close(); - DBHelper.Closecon(); + nation1 = base.Change().GetSingle(a => a.nation_no.Equals(nation.nation_no)); return nation1; } @@ -249,11 +175,9 @@ namespace SYS.Application /// /// /// - public int AddNation(Nation nation) + public bool AddNation(Nation nation) { - string sql = string.Format("insert into nation(nation_no,nation_name,datains_usr,datains_date) values('{0}','{1}','{2}','{3}')" - , nation.nation_no, nation.nation_name, nation.datains_usr, nation.datains_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Insert(nation); } /// @@ -261,11 +185,15 @@ namespace SYS.Application /// /// /// - public int DelNation(Nation nation) + public bool DelNation(Nation nation) { - string sql = string.Format("update nation set delete_mk = 1,datachg_usr = '{1}',datachg_date = '{2}' where nation_no = '{0}'" - , nation.nation_no, nation.datachg_usr, nation.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Nation() + { + delete_mk = nation.delete_mk, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.nation_no.Equals(nation.nation_no)); + } /// @@ -273,11 +201,14 @@ namespace SYS.Application /// /// /// - public int UpdNation(Nation nation) + public bool UpdNation(Nation nation) { - string sql = string.Format("update nation set nation_name = '{1}',datachg_usr = '{2}',datachg_date = '{3}' where nation_no = '{0}')" - , nation.nation_no, nation.nation_name, nation.datachg_date, nation.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Nation() + { + nation_name = nation.nation_name, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.nation_no.Equals(nation.nation_no)); } #endregion @@ -291,24 +222,7 @@ namespace SYS.Application public List SelectEducationAll() { List educations = new List(); - string sql = "select * from Education"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Education education = new Education() - { - education_no = dr["education_no"].ToString(), - education_name = dr["education_name"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - educations.Add(education); - } - dr.Close(); - DBHelper.Closecon(); + educations = base.Change().GetList(); return educations; } @@ -319,23 +233,7 @@ namespace SYS.Application public Education SelectEducation(Education education) { Education education1 = new Education(); - string sql = string.Format("select * from education where education_no = '{0}'", education.education_no); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - education1 = new Education() - { - education_no = dr["education_no"].ToString(), - education_name = dr["education_name"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - } - dr.Close(); - DBHelper.Closecon(); + education1 = base.Change().GetSingle(a => a.education_no == education.education_no); return education1; } @@ -344,11 +242,9 @@ namespace SYS.Application /// /// /// - public int AddEducation(Education education) + public bool AddEducation(Education education) { - string sql = string.Format("insert into education(education_no,education_name,datains_usr,datains_date) values('{0}','{1}','{2}','{3}')" - , education.education_no, education.education_name, education.datains_usr, education.datains_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Insert(education); } /// @@ -356,11 +252,14 @@ namespace SYS.Application /// /// /// - public int DelEducation(Education education) + public bool DelEducation(Education education) { - string sql = string.Format("update education set delete_mk = 1,datachg_usr = '{1}',datachg_date = '{2}' where education_no = '{0}')" - , education.education_no, education.datachg_usr, education.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Education() + { + delete_mk = education.delete_mk, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.education_no == education.education_no); } /// @@ -368,11 +267,14 @@ namespace SYS.Application /// /// /// - public int UpdEducation(Education education) + public bool UpdEducation(Education education) { - string sql = string.Format("update education set education_name = '{1}',datachg_usr = '{2}',datachg_date = '{3}' where education_no = '{0}')" - , education.education_no, education.education_name, education.datachg_date, education.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Education() + { + education_name = education.education_name, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }, a => a.education_no == education.education_no); } #endregion @@ -386,28 +288,7 @@ namespace SYS.Application public List SelectDeptAll() { List depts = new List(); - string sql = "select * from Dept"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Dept dept = new Dept() - { - dept_no = dr["dept_no"].ToString(), - dept_name = dr["dept_name"].ToString(), - dept_desc = dr["dept_desc"].ToString(), - dept_leader = dr["dept_leader"].ToString(), - dept_date = Convert.ToDateTime(dr["dept_date"]), - dept_parent = dr["dept_parent"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - depts.Add(dept); - } - dr.Close(); - DBHelper.Closecon(); + depts = base.Change().GetList(); return depts; } @@ -418,27 +299,7 @@ namespace SYS.Application public Dept SelectDept(Dept dept) { Dept dept1 = new Dept(); - string sql = string.Format("select * from dept where dept_no = '{0}'", dept.dept_no); - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - dept1 = new Dept() - { - dept_no = dr["dept_no"].ToString(), - dept_name = dr["dept_name"].ToString(), - dept_desc = dr["dept_desc"].ToString(), - dept_leader = dr["dept_leader"].ToString(), - dept_date = Convert.ToDateTime(dr["dept_date"]), - dept_parent = dr["dept_parent"].ToString(), - delete_mk = (int)dr["delete_mk"], - datains_usr = dr["datains_usr"].ToString(), - datains_date = Convert.ToDateTime(dr["datains_date"]), - datachg_usr = dr["datachg_usr"].ToString(), - datachg_date = Convert.ToDateTime(dr["datachg_date"]), - }; - } - dr.Close(); - DBHelper.Closecon(); + dept1 = base.Change().GetSingle(a => a.dept_no.Equals(dept.dept_no)); return dept1; } @@ -447,12 +308,9 @@ namespace SYS.Application /// /// /// - public int AddDept(Dept dept) + public bool AddDept(Dept dept) { - string sql = string.Format("insert into dept(dept_no,dept_name,dept_desc,dept_date,dept_leader,dept_parent,datains_usr,datains_date)" + - " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')" - , dept.dept_no, dept.dept_name, dept.dept_desc, dept.dept_date, dept.dept_leader, dept.dept_parent, dept.datains_usr, dept.datains_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Insert(dept); } /// @@ -460,11 +318,14 @@ namespace SYS.Application /// /// /// - public int DelDept(Dept dept) + public bool DelDept(Dept dept) { - string sql = string.Format("update dept set delete_mk = 1,datachg_usr = '{1}',datachg_date = '{2}' where dept_no = '{0}')" - , dept.dept_no, dept.datachg_usr, dept.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Dept() + { + delete_mk = dept.delete_mk, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.dept_no == dept.dept_no); } /// @@ -472,11 +333,18 @@ namespace SYS.Application /// /// /// - public int UpdDept(Dept dept) + public bool UpdDept(Dept dept) { - string sql = string.Format("update dept set dept_name = '{1}',dept_desc = '{2}',dept_date = '{3}',dept_leader = '{4}',dept_parent = '{5}',datachg_usr = {6},datachg_date = {7} where dept_no = '{0}')" - , dept.dept_no, dept.dept_name, dept.dept_desc, dept.dept_date, dept.dept_leader, dept.dept_parent, dept.datachg_usr, dept.datachg_date); - return DBHelper.ExecuteNonQuery(sql); + return base.Change().Update(a => new Dept() + { + dept_name = dept.dept_name, + dept_desc = dept.dept_desc, + dept_leader = dept.dept_leader, + dept_parent = dept.dept_parent, + dept_date = dept.dept_date, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + },a => a.dept_no == dept.dept_no); } #endregion diff --git a/SYS.Application/Zero/IAdminService.cs b/SYS.Application/Zero/IAdminService.cs new file mode 100644 index 0000000..a495e7c --- /dev/null +++ b/SYS.Application/Zero/IAdminService.cs @@ -0,0 +1,31 @@ +using SYS.Core; + +namespace SYS.Application +{ + /// + /// 管理员数据访问接口 + /// + public interface IAdminService + { + + #region 根据超管密码查询员工类型和权限 + /// + /// 根据超管密码查询员工类型和权限 + /// + /// + /// + /// + Admin SelectMangerByPass(string adminaccount, string adminpass); + #endregion + + + #region 根据超管账号查询对应的密码 + /// + /// 根据超管账号查询对应的密码 + /// + /// + /// + Admin SelectAdminPwdByAccount(string account); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Zero/IBaseService.cs b/SYS.Application/Zero/IBaseService.cs index 235a4e4..60df892 100644 --- a/SYS.Application/Zero/IBaseService.cs +++ b/SYS.Application/Zero/IBaseService.cs @@ -31,21 +31,21 @@ namespace SYS.Application /// /// /// - int AddSexType(SexType sexType); + bool AddSexType(SexType sexType); /// /// 删除性别类型 /// /// /// - int DelSexType(SexType sexType); + bool DelSexType(SexType sexType); /// /// 更新性别类型 /// /// /// - int UpdSexType(SexType sexType); + bool UpdSexType(SexType sexType); #endregion @@ -68,21 +68,21 @@ namespace SYS.Application /// /// /// - int AddPosition(Position position); + bool AddPosition(Position position); /// /// 删除职位类型 /// /// /// - int DelPosition(Position position); + bool DelPosition(Position position); /// /// 更新职位类型 /// /// /// - int UpdPosition(Position position); + bool UpdPosition(Position position); #endregion @@ -105,21 +105,21 @@ namespace SYS.Application /// /// /// - int AddNation(Nation nation); + bool AddNation(Nation nation); /// /// 删除民族类型 /// /// /// - int DelNation(Nation nation); + bool DelNation(Nation nation); /// /// 更新民族类型 /// /// /// - int UpdNation(Nation nation); + bool UpdNation(Nation nation); #endregion @@ -142,21 +142,21 @@ namespace SYS.Application /// /// /// - int AddEducation(Education education); + bool AddEducation(Education education); /// /// 删除学历类型 /// /// /// - int DelEducation(Education education); + bool DelEducation(Education education); /// /// 更新学历类型 /// /// /// - int UpdEducation(Education education); + bool UpdEducation(Education education); #endregion @@ -179,21 +179,21 @@ namespace SYS.Application /// /// /// - int AddDept(Dept dept); + bool AddDept(Dept dept); /// /// 删除部门类型 /// /// /// - int DelDept(Dept dept); + bool DelDept(Dept dept); /// /// 更新部门类型 /// /// /// - int UpdDept(Dept dept); + bool UpdDept(Dept dept); #endregion } diff --git a/SYS.Application/Zero/INoticeService.cs b/SYS.Application/Zero/INoticeService.cs new file mode 100644 index 0000000..2c00171 --- /dev/null +++ b/SYS.Application/Zero/INoticeService.cs @@ -0,0 +1,19 @@ +using SYS.Core; +using System.Collections.Generic; + +namespace SYS.Application +{ + /// + /// 公告接口 + /// + public interface INoticeService + { + #region 获取所有公告信息 + /// + /// 获取所有公告信息 + /// + /// + List SelectNoticeAll(); + #endregion + } +} \ No newline at end of file diff --git a/SYS.Application/Zero/IOperationlogService.cs b/SYS.Application/Zero/IOperationlogService.cs new file mode 100644 index 0000000..0e4ead1 --- /dev/null +++ b/SYS.Application/Zero/IOperationlogService.cs @@ -0,0 +1,6 @@ +namespace SYS.Application +{ + internal interface IOperationlogService + { + } +} \ No newline at end of file diff --git a/SYS.Application/Zero/NoticeService.cs b/SYS.Application/Zero/NoticeService.cs index 544ed08..fd492f2 100644 --- a/SYS.Application/Zero/NoticeService.cs +++ b/SYS.Application/Zero/NoticeService.cs @@ -1,35 +1,25 @@ using System; using System.Collections.Generic; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application { - public class NoticeService + /// + /// 公告信息接口实现类 + /// + public class NoticeService:Repository, INoticeService { #region 获取所有公告信息 /// /// 获取所有公告信息 /// /// - public static List SelectNoticeAll() + public List SelectNoticeAll() { List ntc = new List(); - string sql = "select * from UPLOADINFO"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - Notice ntcs = new Notice(); - ntcs.NoticeNo = (string)dr["NoticeNo"]; - ntcs.Noticetheme = dr["Noticetheme"].ToString(); - ntcs.NoticeTime = DateTime.Parse(dr["NoticeTime"].ToString()); - ntcs.NoticeContent = Convert.ToString(dr["NoticeContent"]); - ntcs.NoticeClub = (string)dr["NoticeClub"]; - ntcs.NoticePerson = Convert.ToString(dr["NoticePerson"]); - ntc.Add(ntcs); - } - dr.Close(); - DBHelper.Closecon(); + ntc = base.GetList(a => a.delete_mk != 1); return ntc; } #endregion diff --git a/SYS.Application/Zero/OperationlogService.cs b/SYS.Application/Zero/OperationlogService.cs index a69067a..3930091 100644 --- a/SYS.Application/Zero/OperationlogService.cs +++ b/SYS.Application/Zero/OperationlogService.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; using System.Data; +using System.Linq; using MySql.Data.MySqlClient; +using SYS.Common; using SYS.Core; namespace SYS.Application @@ -9,47 +11,27 @@ namespace SYS.Application /// /// 操作日志数据访问层 /// - public class OperationlogService + public class OperationlogService:Repository, IOperationlogService { /// /// 添加操作日志 /// /// /// - public static int InsertOperationLog(Operation opr) + public bool InsertOperationLog(OperationLog opr) { - int n = 0; - string sql = "insert OPERATIONLOG(OperationTime,OperationLog,OperationAccount) values(@OperationTime," + - "@OperationLog,@OperationAccount)"; - n = DBHelper.ExecuteNonQuery(sql, CommandType.Text, - new MySqlParameter[] { - new MySqlParameter("@OperationTime",opr.OperationTime), - new MySqlParameter("@OperationLog",opr.Operationlog), - new MySqlParameter("@OperationAccount",opr.OperationAccount), - }); - return n; + return base.Insert(opr); } /// /// 查询所有操作日志 /// /// - public static List SelectOperationlogAll() + public List SelectOperationlogAll() { - List custos = new List(); - string sql = "select * from operationlog order by OperationTime desc"; - MySqlDataReader dr = DBHelper.ExecuteReader(sql); - while (dr.Read()) - { - OperationLog cso = new OperationLog(); - cso.OperationTime = DateTime.Parse(dr["OperationTime"].ToString()); - cso.Operationlog = dr["Operationlog"].ToString(); - cso.OperationAccount = (string)dr["OperationAccount"]; - custos.Add(cso); - } - dr.Close(); - DBHelper.Closecon(); - return custos; + List operationLogs = new List(); + operationLogs = base.GetList(a => a.delete_mk != 1).OrderBy(a => a.OperationTime).ToList(); + return operationLogs; } diff --git a/SYS.Application/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SYS.Application/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index c79056d53a8a529363d143f959bb9868a32c9db0..06701643dec1ef19fbaa7e826579c3c4104081c5 100644 GIT binary patch delta 443 zcmX?Ve%o@xE*>rc1_lN;Ng&}r`8}`Y@Vr7#RBts|L3h+!m%P+>L0u)c+a!D*n1Zz^A>?e@Iss>b+0aeD%=a*Wd z=TTBp09K$rSy3>9RRdYU=2wEutm2wLAs7&31F{%_m`!W)L5ax8vEp1>+CVOgTWL-X zBL|Sh3dEeqS{OOuqLU|z%Q5Os-XJc^s5kkXxH!8$P)e#gWU>R37)xa>o5AF8ZchnA updfE`P-3}TW=^VKVs2_Jn-Ne578?qT#z3p17)>V2NMsk1_lN;Ng$Cq`JX`OG%gZP|`2dgYr30uoCy+=}vZJxfw^YuR)r|B;Yq)SWCN=_#TI zRKr^xlvobZ SelectCashInfoAll() { - return CashService.SelectCashInfoAll(); + return new CashService().SelectCashInfoAll(); } /// @@ -32,7 +32,7 @@ namespace SYS.Browser.WebAPI.Controllers [HttpPost] public object AddCashInfo([FromBody]Cash cash) { - return CashService.AddCashInfo(cash); + return new CashService().AddCashInfo(cash); } } } diff --git a/SYS.Browser.WebAPI/Controllers/Zero/OperationlogController.cs b/SYS.Browser.WebAPI/Controllers/Zero/OperationlogController.cs index 7e3744a..4cb270c 100644 --- a/SYS.Browser.WebAPI/Controllers/Zero/OperationlogController.cs +++ b/SYS.Browser.WebAPI/Controllers/Zero/OperationlogController.cs @@ -16,7 +16,7 @@ namespace SYS.Browser.WebAPI.Controllers /// /// [HttpPost] - public int InsertOperationLog([FromBody]Operation opr) + public int InsertOperationLog([FromBody]OperationLog opr) { return OperationlogService.InsertOperationLog(opr); } diff --git a/SYS.Browser.WebAPI/Web.config b/SYS.Browser.WebAPI/Web.config index aad9d40..88c0305 100644 --- a/SYS.Browser.WebAPI/Web.config +++ b/SYS.Browser.WebAPI/Web.config @@ -47,6 +47,10 @@ + + + + diff --git a/SYS.Common/App.config b/SYS.Common/App.config index b6f86c5..3b94bb5 100644 --- a/SYS.Common/App.config +++ b/SYS.Common/App.config @@ -1,16 +1,19 @@  -
+ +
- + - + diff --git a/SYS.Common/Base/BaseDto.cs b/SYS.Common/Base/BaseDto.cs index 781f0da..d384bd5 100644 --- a/SYS.Common/Base/BaseDto.cs +++ b/SYS.Common/Base/BaseDto.cs @@ -8,17 +8,10 @@ namespace SYS.Common { public class BaseDto : IBaseDto { - public enum Code : int - { - SQLE_202_操作异常 = 202, - SQLE_200_操作成功 = 200, - SQLE_400_系统异常_请联系系统管理员 = 400 - - } /// /// 状态码 /// - public int StatusCode { get; set; } + public StatusCode StatusCode { get; set; } /// /// 状态信息 diff --git a/SYS.Common/Base/IBaseDto.cs b/SYS.Common/Base/IBaseDto.cs index 7b08cc7..363af97 100644 --- a/SYS.Common/Base/IBaseDto.cs +++ b/SYS.Common/Base/IBaseDto.cs @@ -14,11 +14,16 @@ namespace SYS.Common /// /// 状态码 /// - int StatusCode { get; set; } + StatusCode StatusCode { get; set; } /// /// 回传信息 /// string StatusMsg { get; set; } + + /// + /// 操作账户 + /// + string OperationAccount { get; set; } } } diff --git a/SYS.Common/Base/MsgDto.cs b/SYS.Common/Base/MsgDto.cs new file mode 100644 index 0000000..2fbce53 --- /dev/null +++ b/SYS.Common/Base/MsgDto.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SYS.Common +{ + public class MsgDto:BaseDto + { + + } +} diff --git a/SYS.Common/Repository/Repository.cs b/SYS.Common/Repository/Repository.cs index a567c71..85faecd 100644 --- a/SYS.Common/Repository/Repository.cs +++ b/SYS.Common/Repository/Repository.cs @@ -28,16 +28,5 @@ namespace SYS.Common } } - /// - /// 扩展方法,自带方法不能满足的时候可以添加新方法 - /// - /// - public List CommQuery(string json) - { - T t = Context.Utilities.DeserializeObject(json); - var list = base.Context.Queryable().WhereClass(t).ToList(); - return list; - } } } -} diff --git a/SYS.Common/SYS.Common.csproj b/SYS.Common/SYS.Common.csproj index 6331d08..b494b26 100644 --- a/SYS.Common/SYS.Common.csproj +++ b/SYS.Common/SYS.Common.csproj @@ -1,5 +1,6 @@  + Debug @@ -34,6 +35,15 @@ 4 + + ..\packages\EntityFramework.6.3.0\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.3.0\lib\net45\EntityFramework.SqlServer.dll + + + ..\packages\SqlSugar.5.0.2\lib\SqlSugar.dll + @@ -47,11 +57,23 @@ + + + + + + + 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + + + + + \ No newline at end of file diff --git a/SYS.Common/StatusCode/StatusCode.cs b/SYS.Common/StatusCode/StatusCode.cs new file mode 100644 index 0000000..988de10 --- /dev/null +++ b/SYS.Common/StatusCode/StatusCode.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SYS.Common +{ + public enum StatusCode + { + SQLE_202_操作异常 = 202, + SQLE_200_操作成功 = 200, + SQLE_400_系统异常_请联系系统管理员 = 400 + } +} diff --git a/SYS.Common/packages.config b/SYS.Common/packages.config index 5d3e704..5249f52 100644 --- a/SYS.Common/packages.config +++ b/SYS.Common/packages.config @@ -1,7 +1,7 @@  - - + + \ No newline at end of file diff --git a/SYS.ConsoleApp1/App.config b/SYS.ConsoleApp1/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/SYS.ConsoleApp1/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SYS.ConsoleApp1/Program.cs b/SYS.ConsoleApp1/Program.cs new file mode 100644 index 0000000..34eb5ea --- /dev/null +++ b/SYS.ConsoleApp1/Program.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SYS.ConsoleApp1 +{ + class Program + { + static void Main(string[] args) + { + } + } +} diff --git a/SYS.ConsoleApp1/Properties/AssemblyInfo.cs b/SYS.ConsoleApp1/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7f60155 --- /dev/null +++ b/SYS.ConsoleApp1/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SYS.ConsoleApp1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SYS.ConsoleApp1")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("1ed51f09-8c1c-49f6-af3b-d06b8272036a")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SYS.ConsoleApp1/SYS.ConsoleApp1.csproj b/SYS.ConsoleApp1/SYS.ConsoleApp1.csproj new file mode 100644 index 0000000..5a635a8 --- /dev/null +++ b/SYS.ConsoleApp1/SYS.ConsoleApp1.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {1ED51F09-8C1C-49F6-AF3B-D06B8272036A} + Exe + SYS.ConsoleApp1 + SYS.ConsoleApp1 + v4.6.1 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SYS.Core/Business/Cash.cs b/SYS.Core/Business/Cash.cs index 70664e5..ec4629c 100644 --- a/SYS.Core/Business/Cash.cs +++ b/SYS.Core/Business/Cash.cs @@ -1,14 +1,38 @@ using System; namespace SYS.Core { + /// + /// 资产管理 + /// public class Cash { + /// + /// 资产编号 + /// public string CashNo { get; set; } + /// + /// 资产名称 + /// public string CashName { get; set; } + /// + /// 资产总值 + /// public string CashPrice { get; set; } + /// + /// 所属部门 + /// public string CashClub { get; set; } + /// + /// 入库时间 + /// public DateTime CashTime { get; set; } + /// + /// 资产来源 + /// public string CashSource { get; set; } + /// + /// 资产经办人 + /// public string CashPerson { get; set; } } } diff --git a/SYS.Core/Business/Fonts.cs b/SYS.Core/Business/Fonts.cs index 7bce398..9739488 100644 --- a/SYS.Core/Business/Fonts.cs +++ b/SYS.Core/Business/Fonts.cs @@ -1,8 +1,18 @@ namespace SYS.Core { + /// + /// 酒店宣传联动内容 + /// public class Fonts { + /// + /// 宣传内容编号 + /// public int FontsId { get; set; } + + /// + /// 宣传内容 + /// public string FontsMess { get; set; } } } diff --git a/SYS.Core/Business/Reser.cs b/SYS.Core/Business/Reser.cs index 966eeb6..bee468a 100644 --- a/SYS.Core/Business/Reser.cs +++ b/SYS.Core/Business/Reser.cs @@ -2,6 +2,9 @@ namespace SYS.Core { + /// + /// 预约列表 + /// public class Reser { /// @@ -32,6 +35,26 @@ namespace SYS.Core /// 预约止日 /// public DateTime ReserEndDay { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Business/SellThing.cs b/SYS.Core/Business/SellThing.cs index 5a42452..324f057 100644 --- a/SYS.Core/Business/SellThing.cs +++ b/SYS.Core/Business/SellThing.cs @@ -1,11 +1,51 @@ -namespace SYS.Core +using System; + +namespace SYS.Core { + /// + /// 商品信息 + /// public class SellThing { + /// + /// 商品编号 + /// public string SellNo { get; set; } + /// + /// 商品名称 + /// public string SellName { get; set; } + /// + /// 商品价格 + /// public decimal SellPrice { get; set; } + /// + /// 规格型号 + /// public string format { get; set; } + /// + /// 库存 + /// public int Stock { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Business/Spend.cs b/SYS.Core/Business/Spend.cs index c0d0a4d..1e1a804 100644 --- a/SYS.Core/Business/Spend.cs +++ b/SYS.Core/Business/Spend.cs @@ -2,15 +2,66 @@ namespace SYS.Core { + /// + /// 消费信息 + /// public class Spend { + + + + + /// + /// 房间编号 + /// public string RoomNo { get; set; } + /// + /// 客户编号 + /// public string CustoNo { get; set; } + /// + /// 商品名称 + /// public string SpendName { get; set; } + /// + /// 消费数量 + /// public int SpendAmount { get; set; } + /// + /// 商品单价 + /// public decimal SpendPrice { get; set; } + /// + /// 消费金额 + /// public decimal SpendMoney { get; set; } + /// + /// 消费时间 + /// public DateTime SpendTime { get; set; } + /// + /// 结算状态 + /// public string MoneyState { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Business/Wti.cs b/SYS.Core/Business/Wti.cs index aaad4a0..d5dfe37 100644 --- a/SYS.Core/Business/Wti.cs +++ b/SYS.Core/Business/Wti.cs @@ -2,8 +2,15 @@ namespace SYS.Core { + /// + /// 水电信息 + /// public class Wti { + /// + /// 信息编号 + /// + public string WtiNo { get; set; } /// /// 房间编号 /// @@ -32,6 +39,26 @@ namespace SYS.Core /// 客户编号 /// public string CustoNo { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } diff --git a/SYS.Core/Customer/Custo.cs b/SYS.Core/Customer/Custo.cs index 66cb785..a83ca1f 100644 --- a/SYS.Core/Customer/Custo.cs +++ b/SYS.Core/Customer/Custo.cs @@ -2,20 +2,83 @@ namespace SYS.Core { + /// + /// 客户信息 + /// + [SqlSugar.SugarTable("userinfo")] public class Custo { + /// + /// 客户编号 + /// public string CustoNo { get; set; } + /// + /// 客户名称 + /// public string CustoName { get; set; } + /// + /// 客户性别 + /// public int CustoSex { get; set; } + /// + /// 客户电话 + /// public string CustoTel { get; set; } + /// + /// 证件类型 + /// public int PassportType { get; set; } + /// + /// 证件号码 + /// public string CustoID { get; set; } + /// + /// 居住地址 + /// public string CustoAdress { get; set; } + /// + /// 出生日期 + /// public DateTime CustoBirth { get; set; } + /// + /// 客户类型 + /// public int CustoType { get; set; } + /// + /// 客户类型 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] public string typeName { get; set; } + /// + /// 证件类型 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] public string PassportName { get; set; } + /// + /// 性别 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] public string SexName { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Customer/CustoSpend.cs b/SYS.Core/Customer/CustoSpend.cs index 37a5e24..cf09ffd 100644 --- a/SYS.Core/Customer/CustoSpend.cs +++ b/SYS.Core/Customer/CustoSpend.cs @@ -1,8 +1,17 @@ namespace SYS.Core { + /// + /// 酒店盈利情况 + /// public class CustoSpend { + /// + /// 年 + /// public string Years { get; set; } + /// + /// 总金额 + /// public decimal Money { get; set; } } diff --git a/SYS.Core/Customer/CustoType.cs b/SYS.Core/Customer/CustoType.cs index d7882d1..9deac50 100644 --- a/SYS.Core/Customer/CustoType.cs +++ b/SYS.Core/Customer/CustoType.cs @@ -1,8 +1,40 @@ -namespace SYS.Core +using System; + +namespace SYS.Core { + /// + /// 客户类型 + /// + [SqlSugar.SugarTable("usertype")] public class CustoType { + /// + /// 客户类型 + /// public int UserType { get; set; } + /// + /// 类型名字 + /// public string TypeName { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Customer/PassPortType.cs b/SYS.Core/Customer/PassPortType.cs index 17c5e7e..3a731af 100644 --- a/SYS.Core/Customer/PassPortType.cs +++ b/SYS.Core/Customer/PassPortType.cs @@ -6,6 +6,9 @@ using System.Threading.Tasks; namespace SYS.Core { + /// + /// 证件类型 + /// public class PassPortType { /// @@ -17,5 +20,25 @@ namespace SYS.Core /// 证件名称 /// public string PassportName { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Customer/SexType.cs b/SYS.Core/Customer/SexType.cs index de95cd5..9557209 100644 --- a/SYS.Core/Customer/SexType.cs +++ b/SYS.Core/Customer/SexType.cs @@ -6,6 +6,9 @@ using System.Threading.Tasks; namespace SYS.Core { + /// + /// 性别 + /// public class SexType { /// @@ -22,5 +25,21 @@ namespace SYS.Core /// 删除标记 /// public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Room/CheckInfo.cs b/SYS.Core/Room/CheckInfo.cs index 2a18af4..5f41af0 100644 --- a/SYS.Core/Room/CheckInfo.cs +++ b/SYS.Core/Room/CheckInfo.cs @@ -1,13 +1,60 @@ -namespace SYS.Core +using System; + +namespace SYS.Core { + /// + /// 监管统计 + /// public class CheckInfo { + /// + /// 监管统计编号 + /// public string CheckNo { get; set; } + /// + /// 监管部门 + /// public string CheckClub { get; set; } + /// + /// 监管进度 + /// public string CheckProgres { get; set; } + /// + /// + /// public string CheckCash { get; set; } + /// + /// + /// public int CheckScore { get; set; } + /// + /// + /// public string CheckPerson { get; set; } + /// + /// + /// public string CheckAdvice { get; set; } + + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Room/Room.cs b/SYS.Core/Room/Room.cs index c5d8e58..45a5fee 100644 --- a/SYS.Core/Room/Room.cs +++ b/SYS.Core/Room/Room.cs @@ -22,11 +22,11 @@ namespace SYS.Core /// /// 最后一次入住时间 /// - public DateTime CheckTime { get; set; } + public DateTime? CheckTime { get; set; } /// /// 最后一次退房时间 /// - public DateTime CheckOutTime { get; set; } + public DateTime? CheckOutTime { get; set; } /// /// 房间状态ID /// @@ -34,6 +34,7 @@ namespace SYS.Core /// /// 房间状态 /// + [SqlSugar.SugarColumn(IsIgnore = true)] public string RoomState { get; set; } /// /// 房间单价 @@ -46,7 +47,33 @@ namespace SYS.Core /// /// 客户类型名称 /// + [SqlSugar.SugarColumn(IsIgnore = true)] public string typeName { get; set; } + /// + /// 房间名称 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string RoomName { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Room/RoomState.cs b/SYS.Core/Room/RoomState.cs index 8843dee..f6db474 100644 --- a/SYS.Core/Room/RoomState.cs +++ b/SYS.Core/Room/RoomState.cs @@ -1,17 +1,40 @@ -namespace SYS.Core +using System; + +namespace SYS.Core { /// /// 房间状态 /// - public static class RoomState + public class RoomState { /// - /// 房间编号 + /// 房间状态编号 /// - public static string RoomNo { get; set; } + public int RoomStateId { get; set; } /// - /// 房间状态编号 + /// 房间状态 + /// + [SqlSugar.SugarColumn(ColumnName = "RoomState")] + public string RoomStateName { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 /// - public static int RoomStateId { get; set; } + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Room/RoomStatic.cs b/SYS.Core/Room/RoomStatic.cs deleted file mode 100644 index b4e39be..0000000 --- a/SYS.Core/Room/RoomStatic.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace SYS.Core -{ - public static class RoomStatic - { - /// - /// 房间编号 - /// - public static string RoomNo { get; set; } - /// - /// 房间状态编号 - /// - public static int RoomStateId { get; set; } - } -} diff --git a/SYS.Core/Room/RoomType.cs b/SYS.Core/Room/RoomType.cs index c5743e3..fac494f 100644 --- a/SYS.Core/Room/RoomType.cs +++ b/SYS.Core/Room/RoomType.cs @@ -1,8 +1,40 @@ -namespace SYS.Core +using System; + +namespace SYS.Core { + /// + /// 房间类型 + /// public class RoomType { + /// + /// 类型编号 + /// public int Roomtype { get; set; } + /// + /// 房间类型 + /// public string RoomName { get; set; } + + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/SYS.Core.csproj b/SYS.Core/SYS.Core.csproj index e6998b3..b3f02b6 100644 --- a/SYS.Core/SYS.Core.csproj +++ b/SYS.Core/SYS.Core.csproj @@ -40,6 +40,10 @@ + + False + ..\packages\SqlSugar.5.0.2\lib\SqlSugar.dll + @@ -60,12 +64,15 @@ Resource.resx Always + + Always + @@ -73,18 +80,17 @@ - + - - + @@ -121,5 +127,11 @@ Always + + + {65501af6-c629-448a-847e-1bcd60665865} + SYS.Common + + \ No newline at end of file diff --git a/SYS.Core/Util/DBHelper.cs b/SYS.Core/Util/DBHelper.cs index 2e4875d..e169604 100644 --- a/SYS.Core/Util/DBHelper.cs +++ b/SYS.Core/Util/DBHelper.cs @@ -11,7 +11,7 @@ namespace SYS.Core public class DBHelper { //private static string conStr = ConfigurationManager.AppSettings["MySqlStr"]; - private static string conStr = ""; + private static string conStr = "Server=134.175.239.108;Database=tshoteldb;Uid=root;Pwd=yjj0720.;"; private static MySqlConnection con = null; diff --git a/SYS.Core/Util/Fonts.cs b/SYS.Core/Util/Fonts.cs deleted file mode 100644 index 7bce398..0000000 --- a/SYS.Core/Util/Fonts.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace SYS.Core -{ - public class Fonts - { - public int FontsId { get; set; } - public string FontsMess { get; set; } - } -} diff --git a/SYS.Core/Util/Md5LockedUtil.cs b/SYS.Core/Util/Md5LockedUtil.cs index b27f6f2..1d9e57e 100644 --- a/SYS.Core/Util/Md5LockedUtil.cs +++ b/SYS.Core/Util/Md5LockedUtil.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; @@ -31,5 +32,24 @@ namespace SYS.Core return pwd; } + + /// + /// 对字符串进行32位MD5解密 + /// + /// + /// + public static string MD5DeEncrypt32(string str) + { + String encryptKey = "Oyea"; + DESCryptoServiceProvider descsp = new DESCryptoServiceProvider(); + byte[] key = Encoding.Unicode.GetBytes(encryptKey); + byte[] data = Convert.FromBase64String(str); + System.IO.MemoryStream MStream = new System.IO.MemoryStream(); + CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write); + CStream.Write(data, 0, data.Length); + CStream.FlushFinalBlock(); + return Encoding.Unicode.GetString(MStream.ToArray()); + + } } } diff --git a/SYS.Core/Worker/Worker.cs b/SYS.Core/Worker/Worker.cs index 57710fc..d745ff4 100644 --- a/SYS.Core/Worker/Worker.cs +++ b/SYS.Core/Worker/Worker.cs @@ -2,20 +2,126 @@ namespace SYS.Core { + /// + /// 员工信息 + /// + [SqlSugar.SugarTable("worker")] public class Worker { + /// + /// 员工账号/工号 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerId")] public string WorkerId { get; set; } + /// + /// 员工姓名 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerName")] public string WorkerName { get; set; } - public DateTime WorkerBirth { get; set; } - public string WorkerSex { get; set; } + /// + /// 出生日期 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerBirthday")] + public DateTime WorkerBirthday { get; set; } + /// + /// 员工性别 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerSex")] + public int WorkerSex { get; set; } + /// + /// 员工性别(名称描述) + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string WorkerSexName { get; set; } + /// + /// 民族类型 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerNation")] + public string WorkerNation { get; set; } + /// + /// 民族名称 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string NationName { get; set; } + /// + /// 员工电话 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerTel")] public string WorkerTel { get; set; } + /// + /// 所属部门 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerClub")] public string WorkerClub { get; set; } + /// + /// 部门名称 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string ClubName { get; set; } + /// + /// 居住地址 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerAddress")] public string WorkerAddress { get; set; } + /// + /// 员工职位 + /// + [SqlSugar.SugarColumn(ColumnName = "WorkerPosition")] public string WorkerPosition { get; set; } + /// + /// 职位名称 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string PositionName { get; set; } + /// + /// 证件号码 + /// public string CardId { get; set; } + /// + /// 员工密码 + /// public string WorkerPwd { get; set; } + /// + /// 员工入职时间 + /// public DateTime WorkerTime { get; set; } + /// + /// 员工面貌 + /// public string WorkerFace { get; set; } - public string WorkerEduction { get; set; } + /// + /// 群众面貌描述 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string FaceName { get; set; } + /// + /// 教育程度 + /// + public string WorkerEducation { get; set; } + /// + /// 教育程度名称 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string EducationName { get; set; } + /// + /// 删除标记 + /// + public int? delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime? datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime? datachg_date { get; set; } } } diff --git a/SYS.Core/Worker/WorkerCheck.cs b/SYS.Core/Worker/WorkerCheck.cs index 75ca561..56728c5 100644 --- a/SYS.Core/Worker/WorkerCheck.cs +++ b/SYS.Core/Worker/WorkerCheck.cs @@ -2,12 +2,53 @@ namespace SYS.Core { + /// + /// 员工打卡考勤 + /// public class WorkerCheck { + /// + /// 工号 + /// public string WorkerNo { get; set; } + /// + /// 打卡时间 + /// public DateTime CheckTime { get; set; } + /// + /// 打卡方式 + /// public string CheckWay { get; set; } - public string CheckState { get; set; } + /// + /// 打卡状态 + /// + public int CheckState { get; set; } + + /// + /// 打卡状态 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public string CheckStateNm { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Worker/WorkerGoodBad.cs b/SYS.Core/Worker/WorkerGoodBad.cs index e42ed56..8127828 100644 --- a/SYS.Core/Worker/WorkerGoodBad.cs +++ b/SYS.Core/Worker/WorkerGoodBad.cs @@ -6,13 +6,54 @@ using System.Threading.Tasks; namespace SYS.Core { + /// + /// 员工奖罚 + /// public class WorkerGoodBad { + /// + /// 工号 + /// public string WorkNo { get; set; } + /// + /// 奖惩信息 + /// public string GBInfo { get; set; } + /// + /// 奖惩类型 + /// public int GBType { get; set; } + /// + /// 奖惩操作人 + /// public string GBOperation { get; set; } + /// + /// 奖惩时间 + /// public DateTime GBTime { get; set; } + /// + /// 类型名称 + /// public string TypeName { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Worker/WorkerHistory.cs b/SYS.Core/Worker/WorkerHistory.cs index 82d9296..a296dda 100644 --- a/SYS.Core/Worker/WorkerHistory.cs +++ b/SYS.Core/Worker/WorkerHistory.cs @@ -2,12 +2,50 @@ namespace SYS.Core { + /// + /// 员工履历 + /// public class WorkerHistory { + /// + /// 工号 + /// public string WorkerId { get; set; } + /// + /// 开始时间 + /// public DateTime StartDate { get; set; } + /// + /// 结束时间 + /// public DateTime EndDate { get; set; } + /// + /// 职位 + /// public string Postion { get; set; } + /// + /// 公司 + /// public string Company { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Zero/Admin.cs b/SYS.Core/Zero/Admin.cs index 6431d4c..a0c906e 100644 --- a/SYS.Core/Zero/Admin.cs +++ b/SYS.Core/Zero/Admin.cs @@ -1,27 +1,76 @@ -namespace SYS.Core + +namespace SYS.Core { + /// + /// 管理员实体类 + /// public class Admin { + /// + /// 构造函数 + /// + public Admin() + { + } + + private string _AdminAccount; /// /// 管理员账号 /// - public string AdminAccount { get; set; } + public string AdminAccount { get { return this._AdminAccount; } set { this._AdminAccount = value; } } + + private string _AdminPassword; /// /// 管理员密码 /// - public string AdminPassword { get; set; } + public string AdminPassword { get { return this._AdminPassword; } set { this._AdminPassword = value; } } + + private string _AdminType; /// /// 管理员类型 /// - public string AdminType { get; set; } + public string AdminType { get { return this._AdminType; } set { this._AdminType = value; } } + + private string _AdminName; /// /// 管理员名称 /// - public string AdminName { get; set; } + public string AdminName { get { return this._AdminName; } set { this._AdminName = value; } } + + private System.Int32 _IsAdmin; /// /// 是否为超级管理员 /// - public int IsAdmin { get; set; } + public System.Int32 IsAdmin { get { return this._IsAdmin; } set { this._IsAdmin = value; } } + private System.Int32 _DeleteMk; + /// + /// 删除标记 + /// + public System.Int32 DeleteMk { get { return this._DeleteMk; } set { this._DeleteMk = value; } } + + private string _datains_usr; + /// + /// 资料新增人 + /// + public string datains_usr { get { return this._datains_usr; } set { this._datains_usr = value; } } + + private System.DateTime? _datains_time; + /// + /// 资料新增时间 + /// + public System.DateTime? datains_time { get { return this._datains_time; } set { this._datains_time = value; } } + + private string _datachg_usr; + /// + /// 资料更新人 + /// + public string datachg_usr { get { return this._datachg_usr; } set { this._datachg_usr = value; } } + + private System.DateTime? _datachg_time; + /// + /// 资料更新时间 + /// + public System.DateTime? datachg_time { get { return this._datachg_time; } set { this._datachg_time = value; } } } } diff --git a/SYS.Core/Zero/AdminInfo.cs b/SYS.Core/Zero/AdminInfo.cs index de5f128..1237e4c 100644 --- a/SYS.Core/Zero/AdminInfo.cs +++ b/SYS.Core/Zero/AdminInfo.cs @@ -3,24 +3,24 @@ public class AdminInfo { /// - /// 存储当前超管姓名 + /// 存储当前超管账号 /// - public static string Password = ""; + public static string Account = ""; /// /// 存储当前超管类型 /// - public static string adminType = ""; + public static string Type = ""; /// /// 存储当前超管用户组 /// - public static string admingroup = ""; + public static string Group = ""; /// /// 存储当前超管名称 /// - public static string adminName = ""; + public static string Name = ""; diff --git a/SYS.Core/Zero/Dept.cs b/SYS.Core/Zero/Dept.cs index 9c3b11f..38feb00 100644 --- a/SYS.Core/Zero/Dept.cs +++ b/SYS.Core/Zero/Dept.cs @@ -13,7 +13,7 @@ namespace SYS.Core { /// /// 部门编号 - /// + /// public string dept_no { get; set; } /// /// 部门名称 diff --git a/SYS.Core/Zero/Nation.cs b/SYS.Core/Zero/Nation.cs index f134737..38a414f 100644 --- a/SYS.Core/Zero/Nation.cs +++ b/SYS.Core/Zero/Nation.cs @@ -30,7 +30,7 @@ namespace SYS.Core /// /// 资料创建时间 /// - public DateTime datains_date { get; set; } + public DateTime? datains_date { get; set; } /// /// 资料更新人 /// @@ -38,7 +38,7 @@ namespace SYS.Core /// /// 资料更新时间 /// - public DateTime datachg_date { get; set; } + public DateTime? datachg_date { get; set; } } } diff --git a/SYS.Core/Zero/Notice.cs b/SYS.Core/Zero/Notice.cs index 51a34a8..03243a7 100644 --- a/SYS.Core/Zero/Notice.cs +++ b/SYS.Core/Zero/Notice.cs @@ -2,14 +2,55 @@ namespace SYS.Core { + /// + /// 人名公告 + /// public class Notice { + /// + /// 公告编号 + /// public string NoticeNo { get; set; } + /// + /// 公告主题 + /// public string Noticetheme { get; set; } + /// + /// 公告时间 + /// public DateTime NoticeTime { get; set; } + /// + /// 公告正文 + /// public string NoticeContent { get; set; } + /// + /// 发文部门 + /// public string NoticeClub { get; set; } + /// + /// 公布人 + /// public string NoticePerson { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/Zero/Operation.cs b/SYS.Core/Zero/Operation.cs deleted file mode 100644 index a7531de..0000000 --- a/SYS.Core/Zero/Operation.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace SYS.Core -{ - public class Operation - { - public DateTime OperationTime { get; set; } - public string Operationlog { get; set; } - public string OperationAccount { get; set; } - - } -} diff --git a/SYS.Core/Zero/OperationLog.cs b/SYS.Core/Zero/OperationLog.cs index a1a945c..36032b1 100644 --- a/SYS.Core/Zero/OperationLog.cs +++ b/SYS.Core/Zero/OperationLog.cs @@ -2,11 +2,43 @@ namespace SYS.Core { + /// + /// 操作日志 + /// public class OperationLog { + /// + /// 操作时间 + /// public DateTime OperationTime { get; set; } + /// + /// 操作信息 + /// public string Operationlog { get; set; } + /// + /// 操作账号 + /// public string OperationAccount { get; set; } + /// + /// 删除标记 + /// + public int delete_mk { get; set; } + /// + /// 资料创建人 + /// + public string datains_usr { get; set; } + /// + /// 资料创建时间 + /// + public DateTime datains_date { get; set; } + /// + /// 资料更新人 + /// + public string datachg_usr { get; set; } + /// + /// 资料更新时间 + /// + public DateTime datachg_date { get; set; } } } diff --git a/SYS.Core/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SYS.Core/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index c05258582a1ed214ca026d40e46de25b35a65204..3b96830d621a0c24302289a6eed1c9062fa97cda 100644 GIT binary patch delta 381 zcmbPjdB`s75Rw8}c@lDrdXsx4WaagNf1*9kI z2_$m4B$g!VrR3zWDNn8!Okq_4Do6(@;B_fVEYHkK2g|8W4iw5|RGYkCC}VPfP~zqe zVP;lo4WLpO5M%?g7=f5g6G(&t4G5k5TY^hV3&>+}E6vGaR37)xa>oBrf*Zch;d ypdfE`P-3}TW=^VKVs2_Jo8e?esW4U}paj? + + + + + + + + \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmAddRoom.cs b/SYS.FormUI/AppFunction/FrmAddRoom.cs index edf427a..dac3791 100644 --- a/SYS.FormUI/AppFunction/FrmAddRoom.cs +++ b/SYS.FormUI/AppFunction/FrmAddRoom.cs @@ -58,10 +58,10 @@ namespace SYS.FormUI MessageBox.Show("添加房间成功!"); dgvRoomList.DataSource = RoomManager.SelectCanUseRoomAll(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = AdminInfo.adminType + AdminInfo.admingroup + "于" + DateTime.Now + "新增了房间,房间号为:" + txtRoomNo.Text + ",房间类型为:" + cboRoomType.Text; - o.OperationAccount = AdminInfo.adminType + AdminInfo.admingroup; + o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "新增了房间,房间号为:" + txtRoomNo.Text + ",房间类型为:" + cboRoomType.Text; + o.OperationAccount = AdminInfo.Account + AdminInfo.Name; #endregion OperationlogManager.InsertOperationLog(o); } diff --git a/SYS.FormUI/AppFunction/FrmAddWorker.cs b/SYS.FormUI/AppFunction/FrmAddWorker.cs index 8b620ee..4580bdb 100644 --- a/SYS.FormUI/AppFunction/FrmAddWorker.cs +++ b/SYS.FormUI/AppFunction/FrmAddWorker.cs @@ -130,12 +130,12 @@ namespace SYS.FormUI Worker worker = new Worker { WorkerId = WorkerNo.Text.Trim(), - WorkerSex = cboSex.Text, + WorkerSex = cboSex.Text == "女" ? 0 : 1, WorkerTel = WorkerTel.Text, WorkerAddress = txtAddress.Text, WorkerPwd = Pwd.Text, WorkerFace = cboWorkerFace.Text, - WorkerEduction = cboEducation.Text + WorkerEducation = cboEducation.Text }; int i = WorkerManager.UpdateWorker(worker); if (i > 0) @@ -168,8 +168,8 @@ namespace SYS.FormUI { WorkerId = WorkerNo.Text.Trim(), WorkerName = WorkerName.Text.Trim(), - WorkerBirth = dtpBirthday.Value, - WorkerSex = cboSex.Text, + WorkerBirthday = dtpBirthday.Value, + WorkerSex = cboSex.SelectedIndex, WorkerTel = NewTel, WorkerClub = cboClub.Text, WorkerAddress = txtAddress.Text, @@ -178,7 +178,7 @@ namespace SYS.FormUI WorkerPwd = Pwd.Text, WorkerTime = dtpTime.Value, WorkerFace = cboWorkerFace.Text, - WorkerEduction = cboEducation.Text + WorkerEducation = cboEducation.Text }; int n = WorkerManager.AddWorker(worker); #endregion @@ -199,12 +199,12 @@ namespace SYS.FormUI if (n > 0 && j > 0) { MessageBox.Show("员工信息/履历添加成功!该员工登录密码为:" + Pwd.Text + ",请提醒员工妥善保管!"); - FrmTopChange.Reload(); + FrmWorkerManager.Reload(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = AdminInfo.admingroup + AdminInfo.adminType + "于" + DateTime.Now + "进行了添加员工操作,员工编号为:" + WorkerNo.Text + "!"; - o.OperationAccount = AdminInfo.admingroup + AdminInfo.adminType; + o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "进行了添加员工操作,员工编号为:" + WorkerNo.Text + "!"; + o.OperationAccount = AdminInfo.Account + AdminInfo.Name; OperationlogManager.InsertOperationLog(o); #endregion } diff --git a/SYS.FormUI/AppFunction/FrmAdminMain.resx b/SYS.FormUI/AppFunction/FrmAdminMain.resx deleted file mode 100644 index 2905aa6..0000000 --- a/SYS.FormUI/AppFunction/FrmAdminMain.resx +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAACMuAAAjLgAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4+u0A9/rrAPz8+QP9/f0E/Pz7CPz8+hv8/fom/P36J/39 - +if9/foh/f37DP79/QT+/PkD/Pv2Afv79gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8+AD8//0A/Pz5Dfz9+x/9/ftJ/f79Yv39/YD9/f2w/f79t/7+ - /b39/f3V/f794/3+/eX+/v3k/v793f7+/sL+/v63/v79sv3+/X39/f1d/f78Mf39+xD6+ukA/f35AAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/fsA/P36Bf39+xv9/fxI/f38g/39/b/9/f3h/f799f39 - /f/9/f7//v7+//7+/f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/v7+ - /uv+/v3G/v79gP3+/DX9/fsJ////APv99wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5+vcA//79APz8+Qf9/fsq/f38X/39/aL9/v3Z/f79+P39 - /f/9/v3//f3+//7+/v/+/v7//f39//7+/v/+/v3//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7s/v79sf7+/VT9/fsN/v7/APv79AAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMvYzwD///8A/fz7E/39/FP9/fyq/f396P39 - /fv9/f3//f79//3+/v/9/f7//f39//39/f/+/f7//v39//7+/f/9/v7//v3+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v73/v79tP7+ - /Df8/PcC/f36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/z5APr8+AL9/fsl/f38bP39 - /cj9/f33/f39//39/f/9/f3//f39//39/f/9/f7//f39//39/f/+/v7//v39//79/f/+/v3//f3+//7+ - /f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7l/v79af7++wj+/v0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/PgA+/vvAf39 - +yT9/fyF/f393f39/f79/f3//f39//79/f/9/f3//f39//79/f/9/f3//f39//39/f/9/v3//f39//3+ - /f/+/v3//v39//79/f/+/v7//v7+//7+/v/+/f7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/vX+/v2Z/f37FP39/AAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPn5 - 8gD///8A/P38FP39/HD9/f3Z/f39/v39/f/9/f3//f39//39/f/9/f3//f39//39/fb9/f3b/f39y/39 - /Zz9/f2H/f38hP39+3z9/ft7/f38ev39/H79/f2H/v79iP79/a7+/v3U/v797P7+/v7+/f7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/f7+ - /ZX9/fsM/f38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAPz8+gD8/PoI/f38WP39/cj9/f36/f39//39/f/9/f3//f39//39/f39/f3n/f38u/39 - /Hz9/fxG/f38G/z9+w/7/PcE+/z3AAAAAAAAAAAAAAAAAAAAAAAAAAAA+/v2AP///wD9/foI/v78Ev39 - /DX9/fxu/f39s/7+/en+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v75/v7+dP7++gL+/vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA+Pn2AP7+/QD8/fwf/f38j/39/fX9/f3//f39//39/f/9/f3+/f396v39 - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+vIA//ryAP39 - +gL8+/oC/vz5Avv9+QL9/fkC/f35Av3+/wD9/fxr/f39//39/f/9/f3//f39//39/cv9/fsR/f36Af39 - +wL+/fsC/fz4Avz9+gL9/fkC/vv5Avz59QD8+fUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAPr89wD+/f8A/f79N/7+/tX+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+3/7+ - /UT+//8A/vz7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAA/fz7AP38+xH9/fyY/f38sf39/K/9/fyv/f38sP39/LD9/fyu/f39xv39/f79/f3//f39//39 - /f/9/f3y/f39tf39/a/9/f2v/f39r/39/a/9/f2v/f39sf39/Z39/Psa/fz8AAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP38+ADz7LUA/f39Of7+/tT+/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/v7//v791v79/UL8//wA/v39AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8+wD8/PoV/fz80f39/f/9/f3//f39//39/f/9/f3//f39//39 - /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f38/f39Vv39 - /QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP38+wD9/PoE/f38XP3+/d/+/v7//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v79vf39/DT///8A/fz6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8+/gA9/HhAP38/Jv9/f3//f39//39 - /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPv5 - 8QD9//8A/Pv4Bf39/Az8/Psc/Pz7O/39/UT9/f1E/f39RP39/UT9/f1E/fz7Pfz8+x/9/v0N/f36C/v6 - 9gH7+vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAA//////////////////////////////////////////////////////////////////////// - ///////////////////gAP///////gAAD//////gAAAD/////wAAAAD////8AAAAAD///+AAAAAAH/// - gAAAAAAP//8AAAAAAAf//AAD/AAAA//4AH//wAAD/+AB/wPwAAH/wA/8APwAAf+AP/AAfwAA/wD/8AA/ - gAD+A//wAB/AAPwH//gQH+AA+A//+PwP4AD4P////A/wAPB////gD/AA4PwH/4Af8ADh/Af/AB/wAMH8 - B/4AP/gAw/4D/gD/8ACH/gP8A//wAIf+A/wPH/AAj/4D/gAP8AGP/wH+AAfgAZ//Af8AB+ADH/8B/4AP - wAMf/wD/wB/AB///gP/4/4AH//+A////AA///4D///8AH///gP///gA//8BAAH/8AH//wAAAf/AA///A - AAB/4AH//8AAAH/AA///4AAAPwAH///gAAA+AA////////gAP///////4AB///4///8AAf///gP/8AAH - ////AAAAAB////+AAAAAf////+AAAAP/////+AAAH///////gAH///////////////////////////// - //////////////////////////////////////////////////8= - - - \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmBackAdmin.cs b/SYS.FormUI/AppFunction/FrmBackAdmin.cs index 7f71615..a790c7e 100644 --- a/SYS.FormUI/AppFunction/FrmBackAdmin.cs +++ b/SYS.FormUI/AppFunction/FrmBackAdmin.cs @@ -43,24 +43,13 @@ namespace SYS.FormUI private void llbUpLoadLog_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - pnlLook.Controls.Clear(); - FrmUpLoad frm1 = new FrmUpLoad(); - frm1.TopLevel = false; - pnlLook.Controls.Add(frm1); - frm1.Show(); - pnlWorkerPage.Visible = false; + } private void llbWorkerManager_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - pnlLook.Controls.Clear(); - FrmTopChange frm1 = new FrmTopChange(); - frm1.TopLevel = false; - pnlLook.Controls.Add(frm1); - frm1.Show(); - wk_AdminGroup = AdminInfo.admingroup; - pnlWorkerPage.Visible = false; + } private void llbAddRoom_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) @@ -102,10 +91,10 @@ namespace SYS.FormUI frm1.Show(); pnlCustoPage.Visible = false; - label5.Text = AdminInfo.admingroup + AdminInfo.adminType; + label5.Text = AdminInfo.Name; //label8.Text = "【"+AdminInfo.admingroup+"】"; - if (AdminInfo.adminType == "总经理") + if (AdminInfo.Type == "总经理") { btnCash.Enabled = true; btnWTI.Enabled = true; @@ -116,7 +105,7 @@ namespace SYS.FormUI btnWorker.Enabled = true; btnWorkerLog.Enabled = true; } - else if (AdminInfo.adminType == "财务经理") + else if (AdminInfo.Type == "财务经理") { btnCash.Enabled = true; btnWTI.Enabled = true; @@ -127,7 +116,7 @@ namespace SYS.FormUI btnWorker.Enabled = true; btnWorkerLog.Enabled = false; } - else if (AdminInfo.adminType == "酒店经理") + else if (AdminInfo.Type == "酒店经理") { btnCash.Enabled = true; btnWTI.Enabled = true; @@ -430,19 +419,19 @@ namespace SYS.FormUI private void cmsMain_Opening(object sender, CancelEventArgs e) { - if (AdminInfo.admingroup == "总经理") + if (AdminInfo.Type == "总经理") { tsmiBackUpDatabase.Enabled = true; tsmiRestoreDatabase.Enabled = true; tsmiWorkerManager.Enabled = true; } - else if (AdminInfo.admingroup == "经理") + else if (AdminInfo.Type == "经理") { tsmiBackUpDatabase.Enabled = false; tsmiRestoreDatabase.Enabled = false; tsmiWorkerManager.Enabled = true; } - if (AdminInfo.admingroup == "监管小组") + if (AdminInfo.Type == "监管小组") { tsmiBackUpDatabase.Enabled = false; tsmiRestoreDatabase.Enabled = false; diff --git a/SYS.FormUI/AppFunction/FrmBackUpDatabase.Designer.cs b/SYS.FormUI/AppFunction/FrmBackUpDatabase.Designer.cs deleted file mode 100644 index 59c135c..0000000 --- a/SYS.FormUI/AppFunction/FrmBackUpDatabase.Designer.cs +++ /dev/null @@ -1,198 +0,0 @@ -namespace SYS.FormUI -{ - partial class FrmBackupDatabase - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBackupDatabase)); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.txtBackUpPath = new System.Windows.Forms.TextBox(); - this.txtBackUpName = new System.Windows.Forms.TextBox(); - this.btnLook = new System.Windows.Forms.Button(); - this.btnStart = new System.Windows.Forms.Button(); - this.btnCancel = new System.Windows.Forms.Button(); - this.pictureBox1 = new System.Windows.Forms.PictureBox(); - this.label4 = new System.Windows.Forms.Label(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); - this.SuspendLayout(); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.BackColor = System.Drawing.Color.Transparent; - this.label1.Font = new System.Drawing.Font("苹方-简", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label1.Location = new System.Drawing.Point(7, 8); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(90, 22); - this.label1.TabIndex = 0; - this.label1.Text = "数据库备份"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("苹方-简", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label2.Location = new System.Drawing.Point(19, 69); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(93, 20); - this.label2.TabIndex = 2; - this.label2.Text = "备份数据库:"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("苹方-简", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label3.Location = new System.Drawing.Point(19, 114); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(79, 20); - this.label3.TabIndex = 3; - this.label3.Text = "备份目录:"; - // - // txtBackUpPath - // - this.txtBackUpPath.Font = new System.Drawing.Font("苹方-简", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.txtBackUpPath.Location = new System.Drawing.Point(117, 111); - this.txtBackUpPath.Name = "txtBackUpPath"; - this.txtBackUpPath.Size = new System.Drawing.Size(117, 27); - this.txtBackUpPath.TabIndex = 4; - // - // txtBackUpName - // - this.txtBackUpName.Font = new System.Drawing.Font("苹方-简", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.txtBackUpName.Location = new System.Drawing.Point(117, 66); - this.txtBackUpName.Name = "txtBackUpName"; - this.txtBackUpName.Size = new System.Drawing.Size(117, 27); - this.txtBackUpName.TabIndex = 5; - // - // btnLook - // - this.btnLook.BackColor = System.Drawing.Color.SkyBlue; - this.btnLook.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnLook.BackgroundImage"))); - this.btnLook.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.btnLook.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.btnLook.Font = new System.Drawing.Font("苹方-简", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnLook.Location = new System.Drawing.Point(247, 106); - this.btnLook.Name = "btnLook"; - this.btnLook.Size = new System.Drawing.Size(75, 34); - this.btnLook.TabIndex = 6; - this.btnLook.Text = "浏览..."; - this.btnLook.UseVisualStyleBackColor = false; - this.btnLook.Click += new System.EventHandler(this.btnLook_Click); - // - // btnStart - // - this.btnStart.BackColor = System.Drawing.Color.SkyBlue; - this.btnStart.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnStart.BackgroundImage"))); - this.btnStart.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.btnStart.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnStart.Location = new System.Drawing.Point(112, 155); - this.btnStart.Name = "btnStart"; - this.btnStart.Size = new System.Drawing.Size(75, 34); - this.btnStart.TabIndex = 7; - this.btnStart.Text = "开始备份"; - this.btnStart.UseVisualStyleBackColor = false; - this.btnStart.Click += new System.EventHandler(this.btnStart_Click); - // - // btnCancel - // - this.btnCancel.BackColor = System.Drawing.Color.SkyBlue; - this.btnCancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnCancel.BackgroundImage"))); - this.btnCancel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.btnCancel.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnCancel.Location = new System.Drawing.Point(208, 155); - this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(75, 34); - this.btnCancel.TabIndex = 8; - this.btnCancel.Text = "关闭"; - this.btnCancel.UseVisualStyleBackColor = false; - this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); - // - // pictureBox1 - // - this.pictureBox1.BackColor = System.Drawing.Color.Transparent; - this.pictureBox1.Location = new System.Drawing.Point(1, 0); - this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(100, 36); - this.pictureBox1.TabIndex = 1; - this.pictureBox1.TabStop = false; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("苹方-简", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label4.ForeColor = System.Drawing.Color.Red; - this.label4.Location = new System.Drawing.Point(240, 69); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(135, 20); - this.label4.TabIndex = 9; - this.label4.Text = "请勿保存于桌面!!"; - // - // FrmBackupDatabase - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.SkyBlue; - this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.ClientSize = new System.Drawing.Size(394, 222); - this.Controls.Add(this.label4); - this.Controls.Add(this.btnCancel); - this.Controls.Add(this.btnStart); - this.Controls.Add(this.btnLook); - this.Controls.Add(this.txtBackUpName); - this.Controls.Add(this.txtBackUpPath); - this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.pictureBox1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Name = "FrmBackupDatabase"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "FrmBackupDatabase"; - this.Load += new System.EventHandler(this.FrmBackupDatabase_Load); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Label label1; - private System.Windows.Forms.PictureBox pictureBox1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.TextBox txtBackUpPath; - private System.Windows.Forms.TextBox txtBackUpName; - private System.Windows.Forms.Button btnLook; - private System.Windows.Forms.Button btnStart; - private System.Windows.Forms.Button btnCancel; - private System.Windows.Forms.Label label4; - } -} \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmBackUpDatabase.cs b/SYS.FormUI/AppFunction/FrmBackUpDatabase.cs deleted file mode 100644 index 0597702..0000000 --- a/SYS.FormUI/AppFunction/FrmBackUpDatabase.cs +++ /dev/null @@ -1,66 +0,0 @@ -using SYS.Core; -using System; -using System.Data; -using MySql.Data.MySqlClient; -using System.Windows.Forms; - -namespace SYS.FormUI -{ - public partial class FrmBackupDatabase : Form - { - public FrmBackupDatabase() - { - InitializeComponent(); - } - - private void btnLook_Click(object sender, EventArgs e) - { - FolderBrowserDialog fbd = new FolderBrowserDialog(); - fbd.RootFolder = System.Environment.SpecialFolder.Desktop; - fbd.SelectedPath = "C:"; - fbd.ShowNewFolderButton = true; - fbd.Description = "请选择备份目录:"; - if (fbd.ShowDialog() == DialogResult.OK) - { - string Path = fbd.SelectedPath; - txtBackUpPath.Text = Path; - } - } - - private void btnStart_Click(object sender, EventArgs e) - { - string strDB = txtBackUpName.Text.ToString().Trim(); - MySqlConnection con = DBHelper.GetConnection(); - MySqlCommand cmdBK = new MySqlCommand(); - cmdBK.CommandType = CommandType.Text; - cmdBK.Connection = con; - string Date = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString(); - cmdBK.CommandText = "backup database TSHotelDB to disk='" + txtBackUpPath.Text + '\\' + txtBackUpName.Text + "_" + Date + ".bak'"; - try - { - con.Open(); - cmdBK.ExecuteNonQuery(); - MessageBox.Show("备份成功,请前往所选择保存的目录下查看!"); - System.Diagnostics.Process.Start("Explorer.exe", txtBackUpPath.Text); - } - catch (Exception) - { - MessageBox.Show("备份失败,遇到未知错误!"); - } - finally - { - con.Close(); - } - } - - private void btnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void FrmBackupDatabase_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/SYS.FormUI/AppFunction/FrmBackgroundSystem.Designer.cs b/SYS.FormUI/AppFunction/FrmBackgroundSystem.Designer.cs index 418909c..6a2b392 100644 --- a/SYS.FormUI/AppFunction/FrmBackgroundSystem.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmBackgroundSystem.Designer.cs @@ -30,57 +30,59 @@ namespace SYS.FormUI private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.TreeNode treeNode85 = new System.Windows.Forms.TreeNode("职位类型维护"); - System.Windows.Forms.TreeNode treeNode86 = new System.Windows.Forms.TreeNode("民族类型维护"); - System.Windows.Forms.TreeNode treeNode87 = new System.Windows.Forms.TreeNode("性别类型维护"); - System.Windows.Forms.TreeNode treeNode88 = new System.Windows.Forms.TreeNode("学历类型维护"); - System.Windows.Forms.TreeNode treeNode89 = new System.Windows.Forms.TreeNode("部门信息维护"); - System.Windows.Forms.TreeNode treeNode90 = new System.Windows.Forms.TreeNode("基础信息", new System.Windows.Forms.TreeNode[] { - treeNode85, - treeNode86, - treeNode87, - treeNode88, - treeNode89}); - System.Windows.Forms.TreeNode treeNode91 = new System.Windows.Forms.TreeNode("员工工资账单"); - System.Windows.Forms.TreeNode treeNode92 = new System.Windows.Forms.TreeNode("内部财务账单"); - System.Windows.Forms.TreeNode treeNode93 = new System.Windows.Forms.TreeNode("酒店盈利情况"); - System.Windows.Forms.TreeNode treeNode94 = new System.Windows.Forms.TreeNode("财务信息", new System.Windows.Forms.TreeNode[] { - treeNode91, - treeNode92, - treeNode93}); - System.Windows.Forms.TreeNode treeNode95 = new System.Windows.Forms.TreeNode("水电信息"); - System.Windows.Forms.TreeNode treeNode96 = new System.Windows.Forms.TreeNode("水电管理", new System.Windows.Forms.TreeNode[] { - treeNode95}); - System.Windows.Forms.TreeNode treeNode97 = new System.Windows.Forms.TreeNode("监管部门情况"); - System.Windows.Forms.TreeNode treeNode98 = new System.Windows.Forms.TreeNode("监管统计", new System.Windows.Forms.TreeNode[] { - treeNode97}); - System.Windows.Forms.TreeNode treeNode99 = new System.Windows.Forms.TreeNode("房态图一览"); - System.Windows.Forms.TreeNode treeNode100 = new System.Windows.Forms.TreeNode("新增客房"); - System.Windows.Forms.TreeNode treeNode101 = new System.Windows.Forms.TreeNode("客房管理", new System.Windows.Forms.TreeNode[] { - treeNode99, - treeNode100}); - System.Windows.Forms.TreeNode treeNode102 = new System.Windows.Forms.TreeNode("客户信息管理"); - System.Windows.Forms.TreeNode treeNode103 = new System.Windows.Forms.TreeNode("顾客消费账单"); - System.Windows.Forms.TreeNode treeNode104 = new System.Windows.Forms.TreeNode("客户管理", new System.Windows.Forms.TreeNode[] { - treeNode102, - treeNode103}); - System.Windows.Forms.TreeNode treeNode105 = new System.Windows.Forms.TreeNode("员工管理"); - System.Windows.Forms.TreeNode treeNode106 = new System.Windows.Forms.TreeNode("任命日志"); - System.Windows.Forms.TreeNode treeNode107 = new System.Windows.Forms.TreeNode("上传任命日志"); - System.Windows.Forms.TreeNode treeNode108 = new System.Windows.Forms.TreeNode("人事管理", new System.Windows.Forms.TreeNode[] { - treeNode105, - treeNode106, - treeNode107}); - System.Windows.Forms.TreeNode treeNode109 = new System.Windows.Forms.TreeNode("商品管理"); - System.Windows.Forms.TreeNode treeNode110 = new System.Windows.Forms.TreeNode("仓库物资"); - System.Windows.Forms.TreeNode treeNode111 = new System.Windows.Forms.TreeNode("物资管理", new System.Windows.Forms.TreeNode[] { - treeNode109, - treeNode110}); - System.Windows.Forms.TreeNode treeNode112 = new System.Windows.Forms.TreeNode("员工操作日志"); + System.Windows.Forms.TreeNode treeNode113 = new System.Windows.Forms.TreeNode("职位类型维护"); + System.Windows.Forms.TreeNode treeNode114 = new System.Windows.Forms.TreeNode("民族类型维护"); + System.Windows.Forms.TreeNode treeNode115 = new System.Windows.Forms.TreeNode("性别类型维护"); + System.Windows.Forms.TreeNode treeNode116 = new System.Windows.Forms.TreeNode("学历类型维护"); + System.Windows.Forms.TreeNode treeNode117 = new System.Windows.Forms.TreeNode("部门信息维护"); + System.Windows.Forms.TreeNode treeNode118 = new System.Windows.Forms.TreeNode("基础信息", new System.Windows.Forms.TreeNode[] { + treeNode113, + treeNode114, + treeNode115, + treeNode116, + treeNode117}); + System.Windows.Forms.TreeNode treeNode119 = new System.Windows.Forms.TreeNode("员工工资账单"); + System.Windows.Forms.TreeNode treeNode120 = new System.Windows.Forms.TreeNode("内部财务账单"); + System.Windows.Forms.TreeNode treeNode121 = new System.Windows.Forms.TreeNode("酒店盈利情况"); + System.Windows.Forms.TreeNode treeNode122 = new System.Windows.Forms.TreeNode("财务信息", new System.Windows.Forms.TreeNode[] { + treeNode119, + treeNode120, + treeNode121}); + System.Windows.Forms.TreeNode treeNode123 = new System.Windows.Forms.TreeNode("水电信息"); + System.Windows.Forms.TreeNode treeNode124 = new System.Windows.Forms.TreeNode("水电管理", new System.Windows.Forms.TreeNode[] { + treeNode123}); + System.Windows.Forms.TreeNode treeNode125 = new System.Windows.Forms.TreeNode("监管部门情况"); + System.Windows.Forms.TreeNode treeNode126 = new System.Windows.Forms.TreeNode("监管统计", new System.Windows.Forms.TreeNode[] { + treeNode125}); + System.Windows.Forms.TreeNode treeNode127 = new System.Windows.Forms.TreeNode("房态图一览"); + System.Windows.Forms.TreeNode treeNode128 = new System.Windows.Forms.TreeNode("新增客房"); + System.Windows.Forms.TreeNode treeNode129 = new System.Windows.Forms.TreeNode("客房管理", new System.Windows.Forms.TreeNode[] { + treeNode127, + treeNode128}); + System.Windows.Forms.TreeNode treeNode130 = new System.Windows.Forms.TreeNode("客户信息管理"); + System.Windows.Forms.TreeNode treeNode131 = new System.Windows.Forms.TreeNode("顾客消费账单"); + System.Windows.Forms.TreeNode treeNode132 = new System.Windows.Forms.TreeNode("客户管理", new System.Windows.Forms.TreeNode[] { + treeNode130, + treeNode131}); + System.Windows.Forms.TreeNode treeNode133 = new System.Windows.Forms.TreeNode("员工管理"); + System.Windows.Forms.TreeNode treeNode134 = new System.Windows.Forms.TreeNode("任命日志"); + System.Windows.Forms.TreeNode treeNode135 = new System.Windows.Forms.TreeNode("上传任命日志"); + System.Windows.Forms.TreeNode treeNode136 = new System.Windows.Forms.TreeNode("人事管理", new System.Windows.Forms.TreeNode[] { + treeNode133, + treeNode134, + treeNode135}); + System.Windows.Forms.TreeNode treeNode137 = new System.Windows.Forms.TreeNode("商品管理"); + System.Windows.Forms.TreeNode treeNode138 = new System.Windows.Forms.TreeNode("仓库物资"); + System.Windows.Forms.TreeNode treeNode139 = new System.Windows.Forms.TreeNode("物资管理", new System.Windows.Forms.TreeNode[] { + treeNode137, + treeNode138}); + System.Windows.Forms.TreeNode treeNode140 = new System.Windows.Forms.TreeNode("员工操作日志"); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBackgroundSystem)); this.Aside = new Sunny.UI.UINavMenu(); this.imageList1 = new System.Windows.Forms.ImageList(this.components); this.pnlForm = new Sunny.UI.UIPanel(); + this.btnSetting = new Sunny.UI.UIButton(); + this.btnLocked = new Sunny.UI.UIButton(); this.SuspendLayout(); // // Aside @@ -90,77 +92,77 @@ namespace SYS.FormUI this.Aside.Font = new System.Drawing.Font("微软雅黑", 12F); this.Aside.FullRowSelect = true; this.Aside.ItemHeight = 50; - this.Aside.Location = new System.Drawing.Point(3, 38); + this.Aside.Location = new System.Drawing.Point(6, 87); this.Aside.MenuStyle = Sunny.UI.UIMenuStyle.Custom; this.Aside.Name = "Aside"; - treeNode85.Name = "节点1"; - treeNode85.Text = "职位类型维护"; - treeNode86.Name = "节点2"; - treeNode86.Text = "民族类型维护"; - treeNode87.Name = "节点3"; - treeNode87.Text = "性别类型维护"; - treeNode88.Name = "节点4"; - treeNode88.Text = "学历类型维护"; - treeNode89.Name = "节点5"; - treeNode89.Text = "部门信息维护"; - treeNode90.Name = "节点0"; - treeNode90.Text = "基础信息"; - treeNode91.Name = "节点0"; - treeNode91.Text = "员工工资账单"; - treeNode92.Name = "节点1"; - treeNode92.Text = "内部财务账单"; - treeNode93.Name = "节点2"; - treeNode93.Text = "酒店盈利情况"; - treeNode94.Name = "btnCash"; - treeNode94.Text = "财务信息"; - treeNode95.Name = "节点0"; - treeNode95.Text = "水电信息"; - treeNode96.Name = "节点1"; - treeNode96.Text = "水电管理"; - treeNode97.Name = "节点3"; - treeNode97.Text = "监管部门情况"; - treeNode98.Name = "节点2"; - treeNode98.Text = "监管统计"; - treeNode99.Name = "节点6"; - treeNode99.Text = "房态图一览"; - treeNode100.Name = "节点7"; - treeNode100.Text = "新增客房"; - treeNode101.Name = "节点3"; - treeNode101.Text = "客房管理"; - treeNode102.Name = "节点8"; - treeNode102.Text = "客户信息管理"; - treeNode103.Name = "节点9"; - treeNode103.Text = "顾客消费账单"; - treeNode104.Name = "节点4"; - treeNode104.Text = "客户管理"; - treeNode105.Name = "节点6"; - treeNode105.Text = "员工管理"; - treeNode106.Name = "节点15"; - treeNode106.Text = "任命日志"; - treeNode107.Name = "节点16"; - treeNode107.Text = "上传任命日志"; - treeNode108.Name = "节点5"; - treeNode108.Text = "人事管理"; - treeNode109.Name = "节点11"; - treeNode109.Text = "商品管理"; - treeNode110.Name = "节点12"; - treeNode110.Text = "仓库物资"; - treeNode111.Name = "节点10"; - treeNode111.Text = "物资管理"; - treeNode112.Name = "节点13"; - treeNode112.Text = "员工操作日志"; + treeNode113.Name = "节点1"; + treeNode113.Text = "职位类型维护"; + treeNode114.Name = "节点2"; + treeNode114.Text = "民族类型维护"; + treeNode115.Name = "节点3"; + treeNode115.Text = "性别类型维护"; + treeNode116.Name = "节点4"; + treeNode116.Text = "学历类型维护"; + treeNode117.Name = "节点5"; + treeNode117.Text = "部门信息维护"; + treeNode118.Name = "节点0"; + treeNode118.Text = "基础信息"; + treeNode119.Name = "节点0"; + treeNode119.Text = "员工工资账单"; + treeNode120.Name = "节点1"; + treeNode120.Text = "内部财务账单"; + treeNode121.Name = "节点2"; + treeNode121.Text = "酒店盈利情况"; + treeNode122.Name = "btnCash"; + treeNode122.Text = "财务信息"; + treeNode123.Name = "节点0"; + treeNode123.Text = "水电信息"; + treeNode124.Name = "节点1"; + treeNode124.Text = "水电管理"; + treeNode125.Name = "节点3"; + treeNode125.Text = "监管部门情况"; + treeNode126.Name = "节点2"; + treeNode126.Text = "监管统计"; + treeNode127.Name = "节点6"; + treeNode127.Text = "房态图一览"; + treeNode128.Name = "节点7"; + treeNode128.Text = "新增客房"; + treeNode129.Name = "节点3"; + treeNode129.Text = "客房管理"; + treeNode130.Name = "节点8"; + treeNode130.Text = "客户信息管理"; + treeNode131.Name = "节点9"; + treeNode131.Text = "顾客消费账单"; + treeNode132.Name = "节点4"; + treeNode132.Text = "客户管理"; + treeNode133.Name = "节点6"; + treeNode133.Text = "员工管理"; + treeNode134.Name = "节点15"; + treeNode134.Text = "任命日志"; + treeNode135.Name = "节点16"; + treeNode135.Text = "上传任命日志"; + treeNode136.Name = "节点5"; + treeNode136.Text = "人事管理"; + treeNode137.Name = "节点11"; + treeNode137.Text = "商品管理"; + treeNode138.Name = "节点12"; + treeNode138.Text = "仓库物资"; + treeNode139.Name = "节点10"; + treeNode139.Text = "物资管理"; + treeNode140.Name = "节点13"; + treeNode140.Text = "员工操作日志"; this.Aside.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode90, - treeNode94, - treeNode96, - treeNode98, - treeNode101, - treeNode104, - treeNode108, - treeNode111, - treeNode112}); + treeNode118, + treeNode122, + treeNode124, + treeNode126, + treeNode129, + treeNode132, + treeNode136, + treeNode139, + treeNode140}); this.Aside.ShowLines = false; - this.Aside.Size = new System.Drawing.Size(234, 625); + this.Aside.Size = new System.Drawing.Size(234, 624); this.Aside.Style = Sunny.UI.UIStyle.Custom; this.Aside.TabIndex = 0; this.Aside.MenuItemClick += new Sunny.UI.UINavMenu.OnMenuItemClick(this.Aside_MenuItemClick); @@ -174,7 +176,7 @@ namespace SYS.FormUI // pnlForm // this.pnlForm.Font = new System.Drawing.Font("微软雅黑", 12F); - this.pnlForm.Location = new System.Drawing.Point(244, 40); + this.pnlForm.Location = new System.Drawing.Point(247, 88); this.pnlForm.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.pnlForm.MinimumSize = new System.Drawing.Size(1, 1); this.pnlForm.Name = "pnlForm"; @@ -183,15 +185,65 @@ namespace SYS.FormUI this.pnlForm.TabIndex = 1; this.pnlForm.Text = "点击左侧导航栏"; // + // btnSetting + // + this.btnSetting.BackColor = System.Drawing.Color.Transparent; + this.btnSetting.BackgroundImage = global::SYS.FormUI.Properties.Resources.settings2; + this.btnSetting.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.btnSetting.Cursor = System.Windows.Forms.Cursors.Arrow; + this.btnSetting.FillColor = System.Drawing.Color.Transparent; + this.btnSetting.Font = new System.Drawing.Font("微软雅黑", 12F); + this.btnSetting.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnSetting.ForeHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnSetting.ForePressColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnSetting.ForeSelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnSetting.Location = new System.Drawing.Point(1172, 45); + this.btnSetting.MinimumSize = new System.Drawing.Size(1, 1); + this.btnSetting.Name = "btnSetting"; + this.btnSetting.Radius = 20; + this.btnSetting.Size = new System.Drawing.Size(35, 35); + this.btnSetting.Style = Sunny.UI.UIStyle.Custom; + this.btnSetting.StyleCustomMode = true; + this.btnSetting.TabIndex = 31; + this.btnSetting.MouseLeave += new System.EventHandler(this.btnSetting_MouseLeave); + this.btnSetting.MouseHover += new System.EventHandler(this.btnSetting_MouseHover); + // + // btnLocked + // + this.btnLocked.BackColor = System.Drawing.Color.Transparent; + this.btnLocked.BackgroundImage = global::SYS.FormUI.Properties.Resources._lock; + this.btnLocked.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.btnLocked.Cursor = System.Windows.Forms.Cursors.Arrow; + this.btnLocked.FillColor = System.Drawing.Color.Transparent; + this.btnLocked.Font = new System.Drawing.Font("微软雅黑", 12F); + this.btnLocked.ForeHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnLocked.ForePressColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnLocked.ForeSelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(168)))), ((int)(((byte)(255))))); + this.btnLocked.Location = new System.Drawing.Point(1213, 45); + this.btnLocked.MinimumSize = new System.Drawing.Size(1, 1); + this.btnLocked.Name = "btnLocked"; + this.btnLocked.Radius = 20; + this.btnLocked.Size = new System.Drawing.Size(35, 35); + this.btnLocked.Style = Sunny.UI.UIStyle.Custom; + this.btnLocked.StyleCustomMode = true; + this.btnLocked.TabIndex = 30; + this.btnLocked.Click += new System.EventHandler(this.btnLocked_Click); + this.btnLocked.MouseLeave += new System.EventHandler(this.btnLocked_MouseLeave); + this.btnLocked.MouseHover += new System.EventHandler(this.btnLocked_MouseHover); + // // FrmBackgroundSystem // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1253, 666); + this.ClientSize = new System.Drawing.Size(1255, 718); + this.Controls.Add(this.btnSetting); + this.Controls.Add(this.btnLocked); this.Controls.Add(this.pnlForm); this.Controls.Add(this.Aside); this.EscClose = false; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.IsForbidAltF4 = true; + this.MaximizeBox = false; this.Name = "FrmBackgroundSystem"; this.ShowIcon = true; this.ShowRadius = false; @@ -209,5 +261,7 @@ namespace SYS.FormUI private Sunny.UI.UINavMenu Aside; private System.Windows.Forms.ImageList imageList1; private Sunny.UI.UIPanel pnlForm; + private Sunny.UI.UIButton btnLocked; + private Sunny.UI.UIButton btnSetting; } } \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmBackgroundSystem.cs b/SYS.FormUI/AppFunction/FrmBackgroundSystem.cs index 643ab9f..030f269 100644 --- a/SYS.FormUI/AppFunction/FrmBackgroundSystem.cs +++ b/SYS.FormUI/AppFunction/FrmBackgroundSystem.cs @@ -81,20 +81,37 @@ namespace SYS.FormUI //frm1.Show(); break; case "内部财务账单": - MessageBox.Show("2"); + pnlForm.Controls.Clear(); + FrmCash frmCash = new FrmCash(); + frmCash.TopLevel = false; + pnlForm.Controls.Add(frmCash); + frmCash.Show(); break; case "酒店盈利情况": - MessageBox.Show("3"); + pnlForm.Controls.Clear(); + FrmChart frmChart = new FrmChart(); + frmChart.TopLevel = false; + pnlForm.Controls.Add(frmChart); + frmChart.Show(); break; case "水电管理": + break; case "水电信息": - MessageBox.Show("4"); + pnlForm.Controls.Clear(); + WtiInfo wtiInfo = new WtiInfo(); + wtiInfo.TopLevel = false; + pnlForm.Controls.Add(wtiInfo); + wtiInfo.Show(); break; case "监管统计": break; case "监管部门情况": - MessageBox.Show("5"); + pnlForm.Controls.Clear(); + FrmCheckList frmCheckList = new FrmCheckList(); + frmCheckList.TopLevel = false; + pnlForm.Controls.Add(frmCheckList); + frmCheckList.Show(); break; case "客房管理": break; @@ -102,40 +119,106 @@ namespace SYS.FormUI MessageBox.Show("6"); break; case "新增客房": - MessageBox.Show("7"); + pnlForm.Controls.Clear(); + FrmAddRoom frmAddRoom = new FrmAddRoom(); + frmAddRoom.TopLevel = false; + pnlForm.Controls.Add(frmAddRoom); + frmAddRoom.Show(); break; case "客户管理": break; case "客户信息管理": - MessageBox.Show("8"); + pnlForm.Controls.Clear(); + FrmCustoManager frmCustoManager = new FrmCustoManager(); + frmCustoManager.TopLevel = false; + pnlForm.Controls.Add(frmCustoManager); + frmCustoManager.Show(); break; case "顾客消费账单": - MessageBox.Show("9"); + pnlForm.Controls.Clear(); + FrmCustoSpend frmCustoSpend = new FrmCustoSpend(); + frmCustoSpend.TopLevel = false; + pnlForm.Controls.Add(frmCustoSpend); + frmCustoSpend.Show(); break; case "人事管理": break; case "员工管理": - MessageBox.Show("10"); + pnlForm.Controls.Clear(); + FrmWorkerManager frmWorkerManager = new FrmWorkerManager(); + frmWorkerManager.TopLevel = false; + pnlForm.Controls.Add(frmWorkerManager); + frmWorkerManager.Show(); break; case "任命日志": - MessageBox.Show("11"); + pnlForm.Controls.Clear(); + FrmNotice frmNotice = new FrmNotice(); + frmNotice.TopLevel = false; + pnlForm.Controls.Add(frmNotice); + frmNotice.Show(); break; case "上传任命日志": - MessageBox.Show("12"); + pnlForm.Controls.Clear(); + FrmUpLoadNotice frmUpLoadNotice = new FrmUpLoadNotice(); + frmUpLoadNotice.TopLevel = false; + pnlForm.Controls.Add(frmUpLoadNotice); + frmUpLoadNotice.Show(); break; case "物资管理": break; case "商品管理": - MessageBox.Show("13"); + pnlForm.Controls.Clear(); + FrmSellThingManager frmSellThingManager = new FrmSellThingManager(); + frmSellThingManager.TopLevel = false; + pnlForm.Controls.Add(frmSellThingManager); + frmSellThingManager.Show(); break; case "仓库物资": - MessageBox.Show("14"); break; case "员工操作日志": - MessageBox.Show("15"); + pnlForm.Controls.Clear(); + FrmOperation frmOperation = new FrmOperation(); + frmOperation.TopLevel = false; + pnlForm.Controls.Add(frmOperation); + frmOperation.Show(); break; } } } + + private void btnSetting_MouseHover(object sender, EventArgs e) + { + this.btnSetting.RectHoverColor = Color.Black; + this.btnSetting.Radius = 20; + this.btnSetting.RadiusSides = UICornerRadiusSides.All; + + } + + private void btnLocked_MouseHover(object sender, EventArgs e) + { + this.btnLocked.RectHoverColor = Color.Black; + this.btnLocked.Radius = 20; + this.btnLocked.RadiusSides = UICornerRadiusSides.All; + } + + private void btnSetting_MouseLeave(object sender, EventArgs e) + { + this.btnSetting.RectColor = System.Drawing.Color.FromArgb(111, 168, 255); + this.btnLocked.Radius = 20; + } + + private void btnLocked_MouseLeave(object sender, EventArgs e) + { + this.btnLocked.RectColor = System.Drawing.Color.FromArgb(111, 168, 255); + this.btnLocked.Radius = 20; + } + + private void btnLocked_Click(object sender, EventArgs e) + { + if (MessageBox.Show("确定要锁定屏幕吗?锁定后不能做任何操作!", "锁屏", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) + { + new FrmUnLockSystem().ShowDialog(); + } + } } } diff --git a/SYS.FormUI/AppFunction/FrmBackgroundSystem.resx b/SYS.FormUI/AppFunction/FrmBackgroundSystem.resx index 52ce699..de6812b 100644 --- a/SYS.FormUI/AppFunction/FrmBackgroundSystem.resx +++ b/SYS.FormUI/AppFunction/FrmBackgroundSystem.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC6 - BwAAAk1TRnQBSQFMAwEBAAEgAQABIAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA + BwAAAk1TRnQBSQFMAwEBAAFIAQABSAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm @@ -161,9 +161,6 @@ BgAL - - True - diff --git a/SYS.FormUI/AppFunction/FrmCash.cs b/SYS.FormUI/AppFunction/FrmCash.cs index 0c62e46..6776eb3 100644 --- a/SYS.FormUI/AppFunction/FrmCash.cs +++ b/SYS.FormUI/AppFunction/FrmCash.cs @@ -42,10 +42,10 @@ namespace SYS.FormUI private void FrmCash_Load(object sender, EventArgs e) { dgvCashList.AutoGenerateColumns = false; - dgvCashList.DataSource = CashManager.SelectCashInfoAll(); + dgvCashList.DataSource = new CashManager().SelectCashInfoAll(); Random random = new Random(); txtCashNo.Text = "CN" + random.Next(0, 9).ToString() + random.Next(0, 9).ToString() + random.Next(0, 9).ToString() + random.Next(0, 9).ToString(); - if (AdminInfo.adminType != "财务经理" && AdminInfo.adminType != "总经理") + if (AdminInfo.Type != "财务经理" || AdminInfo.Type != "总经理") { btnOK.Enabled = false; btnOK.Text = "权限不足"; @@ -73,12 +73,12 @@ namespace SYS.FormUI { MessageBox.Show("录入成功!"); dgvCashList.AutoGenerateColumns = false; - dgvCashList.DataSource = CashManager.SelectCashInfoAll(); + dgvCashList.DataSource = new CashManager().SelectCashInfoAll(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = AdminInfo.adminType + AdminInfo.admingroup + "于" + DateTime.Now + "进行资产录入,资产编号为:" + txtCashNo.Text.Trim(); - o.OperationAccount = AdminInfo.adminType + AdminInfo.admingroup; + o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "进行资产录入,资产编号为:" + txtCashNo.Text.Trim(); + o.OperationAccount = AdminInfo.Account + AdminInfo.Name; #endregion OperationlogManager.InsertOperationLog(o); foreach (Control Ctrol in uiGroupBox1.Controls) diff --git a/SYS.FormUI/AppFunction/FrmChangePosition.Designer.cs b/SYS.FormUI/AppFunction/FrmChangePosition.Designer.cs index fe4fb2c..a52ecf8 100644 --- a/SYS.FormUI/AppFunction/FrmChangePosition.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmChangePosition.Designer.cs @@ -46,66 +46,66 @@ // label1 // this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label1.Location = new System.Drawing.Point(15, 17); + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label1.Location = new System.Drawing.Point(15, 51); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(56, 17); + this.label1.Size = new System.Drawing.Size(55, 15); this.label1.TabIndex = 0; this.label1.Text = "员工编号"; // // label2 // this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label2.Location = new System.Drawing.Point(15, 54); + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label2.Location = new System.Drawing.Point(15, 95); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.Size = new System.Drawing.Size(55, 15); this.label2.TabIndex = 1; this.label2.Text = "员工姓名"; // // label3 // this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label3.Location = new System.Drawing.Point(15, 91); + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label3.Location = new System.Drawing.Point(15, 132); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.Size = new System.Drawing.Size(55, 15); this.label3.TabIndex = 2; this.label3.Text = "原属部门"; // // label4 // this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label4.Location = new System.Drawing.Point(15, 128); + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label4.Location = new System.Drawing.Point(15, 169); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.Size = new System.Drawing.Size(55, 15); this.label4.TabIndex = 3; this.label4.Text = "员工职位"; // // txtworkerId // - this.txtworkerId.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.txtworkerId.Location = new System.Drawing.Point(84, 12); + this.txtworkerId.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtworkerId.Location = new System.Drawing.Point(84, 51); this.txtworkerId.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.txtworkerId.Name = "txtworkerId"; this.txtworkerId.ReadOnly = true; - this.txtworkerId.Size = new System.Drawing.Size(116, 24); + this.txtworkerId.Size = new System.Drawing.Size(116, 21); this.txtworkerId.TabIndex = 4; // // txtworkerName // - this.txtworkerName.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.txtworkerName.Location = new System.Drawing.Point(84, 47); + this.txtworkerName.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtworkerName.Location = new System.Drawing.Point(84, 88); this.txtworkerName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.txtworkerName.Name = "txtworkerName"; - this.txtworkerName.Size = new System.Drawing.Size(116, 24); + this.txtworkerName.Size = new System.Drawing.Size(116, 21); this.txtworkerName.TabIndex = 5; // // cboClub // this.cboClub.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboClub.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cboClub.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.cboClub.FormattingEnabled = true; this.cboClub.Items.AddRange(new object[] { "人事部", @@ -114,57 +114,57 @@ "商品部", "后勤部", "经理部"}); - this.cboClub.Location = new System.Drawing.Point(84, 83); + this.cboClub.Location = new System.Drawing.Point(84, 124); this.cboClub.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.cboClub.Name = "cboClub"; - this.cboClub.Size = new System.Drawing.Size(116, 25); + this.cboClub.Size = new System.Drawing.Size(116, 23); this.cboClub.TabIndex = 6; // // cboPosition // this.cboPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboPosition.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cboPosition.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.cboPosition.FormattingEnabled = true; this.cboPosition.Items.AddRange(new object[] { "职员", "经理", "总经理"}); - this.cboPosition.Location = new System.Drawing.Point(84, 121); + this.cboPosition.Location = new System.Drawing.Point(84, 162); this.cboPosition.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.cboPosition.Name = "cboPosition"; - this.cboPosition.Size = new System.Drawing.Size(116, 25); + this.cboPosition.Size = new System.Drawing.Size(116, 23); this.cboPosition.TabIndex = 7; // // cboNewPosition // this.cboNewPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboNewPosition.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cboNewPosition.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.cboNewPosition.FormattingEnabled = true; this.cboNewPosition.Items.AddRange(new object[] { "职员", "经理", "总经理"}); - this.cboNewPosition.Location = new System.Drawing.Point(279, 122); + this.cboNewPosition.Location = new System.Drawing.Point(279, 163); this.cboNewPosition.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.cboNewPosition.Name = "cboNewPosition"; - this.cboNewPosition.Size = new System.Drawing.Size(116, 25); + this.cboNewPosition.Size = new System.Drawing.Size(116, 23); this.cboNewPosition.TabIndex = 9; this.cboNewPosition.TextChanged += new System.EventHandler(this.cboNewPosition_TextChanged); // // label5 // this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label5.Location = new System.Drawing.Point(210, 129); + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label5.Location = new System.Drawing.Point(210, 170); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(56, 17); + this.label5.Size = new System.Drawing.Size(55, 15); this.label5.TabIndex = 8; this.label5.Text = "调任职位"; // // cboNewClub // this.cboNewClub.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboNewClub.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cboNewClub.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.cboNewClub.FormattingEnabled = true; this.cboNewClub.Items.AddRange(new object[] { "人事部", @@ -173,27 +173,27 @@ "商品部", "后勤部", "经理部"}); - this.cboNewClub.Location = new System.Drawing.Point(279, 85); + this.cboNewClub.Location = new System.Drawing.Point(279, 126); this.cboNewClub.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.cboNewClub.Name = "cboNewClub"; - this.cboNewClub.Size = new System.Drawing.Size(116, 25); + this.cboNewClub.Size = new System.Drawing.Size(116, 23); this.cboNewClub.TabIndex = 11; this.cboNewClub.TextChanged += new System.EventHandler(this.cboNewClub_TextChanged); // // label6 // this.label6.AutoSize = true; - this.label6.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label6.Location = new System.Drawing.Point(210, 92); + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label6.Location = new System.Drawing.Point(210, 133); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.Size = new System.Drawing.Size(55, 15); this.label6.TabIndex = 10; this.label6.Text = "调任部门"; // // btnOK // - this.btnOK.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnOK.Location = new System.Drawing.Point(419, 107); + this.btnOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOK.Location = new System.Drawing.Point(419, 148); this.btnOK.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(78, 40); @@ -204,9 +204,9 @@ // // FrmChangePosition // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(513, 159); + this.ClientSize = new System.Drawing.Size(554, 231); this.Controls.Add(this.btnOK); this.Controls.Add(this.cboNewClub); this.Controls.Add(this.label6); @@ -220,13 +220,12 @@ this.Controls.Add(this.label3); this.Controls.Add(this.label2); this.Controls.Add(this.label1); - this.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FrmChangePosition"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.ShowIcon = true; this.Text = "将XXX任命为XXX"; this.Load += new System.EventHandler(this.FrmChangePosition_Load); this.ResumeLayout(false); diff --git a/SYS.FormUI/AppFunction/FrmChangePosition.cs b/SYS.FormUI/AppFunction/FrmChangePosition.cs index ec1011d..2a318d1 100644 --- a/SYS.FormUI/AppFunction/FrmChangePosition.cs +++ b/SYS.FormUI/AppFunction/FrmChangePosition.cs @@ -3,10 +3,11 @@ using MySql.Data.MySqlClient; using System.Windows.Forms; using SYS.Manager; using SYS.Core; +using Sunny.UI; namespace SYS.FormUI { - public partial class FrmChangePosition : Form + public partial class FrmChangePosition : UIForm { public static string wk_WorkerNo; public static string wk_WorkerPosition; @@ -45,10 +46,10 @@ namespace SYS.FormUI { MessageBox.Show("任命已生效!"); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = AdminInfo.admingroup + AdminInfo.adminType + "于" + DateTime.Now + "将员工:" + txtworkerName.Text + "晋升为" + cboNewClub.Text + cboNewPosition.Text; - o.OperationAccount = AdminInfo.admingroup + AdminInfo.adminType; + o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "将员工:" + txtworkerName.Text + "晋升为" + cboNewClub.Text + cboNewPosition.Text; + o.OperationAccount = AdminInfo.Account + AdminInfo.Name; #endregion OperationlogManager.InsertOperationLog(o); } diff --git a/SYS.FormUI/AppFunction/FrmChangeRoom.cs b/SYS.FormUI/AppFunction/FrmChangeRoom.cs index 74fe127..300b59b 100644 --- a/SYS.FormUI/AppFunction/FrmChangeRoom.cs +++ b/SYS.FormUI/AppFunction/FrmChangeRoom.cs @@ -19,8 +19,8 @@ namespace SYS.FormUI { string rno = cboRoomList.Text; cboRoomList.DataSource = RoomManager.SelectCanUseRoomAll(); - cboRoomList.ValueMember = "RoomNo"; - cboRoomList.DisplayMember = "RoomName"; + cboRoomList.ValueMember = "typeName"; + cboRoomList.DisplayMember = "RoomNo"; } @@ -41,10 +41,6 @@ namespace SYS.FormUI CheckTime = DateTime.Now }; - int result1 = RoomManager.UpdateRoomInfo(checkInRoom); - int result2 = RoomManager.UpdateRoomByRoomNo(rno); - - if (rno.Contains("BD")) { sum = Convert.ToDouble(Convert.ToInt32(RoomManager.DayByRoomNo(rno).ToString()) * 300); @@ -73,7 +69,7 @@ namespace SYS.FormUI Spend s = new Spend() { RoomNo = cboRoomList.Text, - SpendName = "居住" + rno + Convert.ToInt32(RoomManager.DayByRoomNo(rno).ToString()) + "天", + SpendName = "居住" + rno + "共" + Convert.ToInt32(RoomManager.DayByRoomNo(rno).ToString()) + "天", SpendAmount = Convert.ToInt32(RoomManager.DayByRoomNo(rno).ToString()), CustoNo = ucRoomList.CustoNo, SpendPrice = Convert.ToDecimal(sum), @@ -81,18 +77,24 @@ namespace SYS.FormUI SpendTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")), MoneyState = "未结算", }; + + int result1 = RoomManager.UpdateRoomInfo(checkInRoom); + int result2 = RoomManager.UpdateRoomByRoomNo(rno); + int result3 = SpendManager.UpdateSpendInfoByRoomNo(rno, nrno, ucRoomList.CustoNo); + if (result1 > 0 && result2 > 0) { MessageBox.Show("转房成功"); int m = SpendManager.InsertSpendInfo(s); FrmRoomManager.Reload(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = ucRoomList.CustoNo + "于" + DateTime.Now + "进行了换房,请记得到后台修改消费价格!"; o.OperationAccount = lbu; #endregion OperationlogManager.InsertOperationLog(o); + scope.Complete(); this.Close(); } else diff --git a/SYS.FormUI/AppFunction/FrmChangeWorker.cs b/SYS.FormUI/AppFunction/FrmChangeWorker.cs index f2cea6f..f5482c0 100644 --- a/SYS.FormUI/AppFunction/FrmChangeWorker.cs +++ b/SYS.FormUI/AppFunction/FrmChangeWorker.cs @@ -28,7 +28,7 @@ namespace SYS.FormUI private void FrmChangeWorker_Load(object sender, EventArgs e) { - if(AdminInfo.adminType != "总经理") + if(AdminInfo.Type != "总经理") { btnUpWorker.Enabled = false; btnUpWorker.Text = "权限不足"; @@ -38,20 +38,20 @@ namespace SYS.FormUI btnGoodBad.Text = "权限不足"; } - wk_WorkerNo = FrmTopChange.wk_WorkerNo; - wk_WorkerName = FrmTopChange.wk_WorkerName; - wk_WorkerBirthday = FrmTopChange.wk_WorkerBirthday; - wk_WorkerSex = FrmTopChange.wk_WorkerSex; - wk_WorkerTel = FrmTopChange.wk_WorkerTel; - wk_WorkerClub = FrmTopChange.wk_WorkerClub; - wk_WorkerAddress = FrmTopChange.wk_WorkerAddress; - wk_WorkerPosition = FrmTopChange.wk_WorkerPosition; - wk_WorkerID = FrmTopChange.wk_WorkerID; - wk_WorkerPwd = FrmTopChange.wk_WorkerPwd; - wk_WorkerTime = FrmTopChange.wk_WorkerTime; - wk_WorkerFace = FrmTopChange.wk_WorkerFace; - wk_WorkerEducation = FrmTopChange.wk_WorkerEducation; - lblWorker.Text = FrmTopChange.wk_WorkerClub + FrmTopChange.wk_WorkerPosition + ":" + FrmTopChange.wk_WorkerName + "的操作界面"; + wk_WorkerNo = FrmWorkerManager.wk_WorkerNo; + wk_WorkerName = FrmWorkerManager.wk_WorkerName; + wk_WorkerBirthday = FrmWorkerManager.wk_WorkerBirthday; + wk_WorkerSex = FrmWorkerManager.wk_WorkerSex; + wk_WorkerTel = FrmWorkerManager.wk_WorkerTel; + wk_WorkerClub = FrmWorkerManager.wk_WorkerClub; + wk_WorkerAddress = FrmWorkerManager.wk_WorkerAddress; + wk_WorkerPosition = FrmWorkerManager.wk_WorkerPosition; + wk_WorkerID = FrmWorkerManager.wk_WorkerID; + wk_WorkerPwd = FrmWorkerManager.wk_WorkerPwd; + wk_WorkerTime = FrmWorkerManager.wk_WorkerTime; + wk_WorkerFace = FrmWorkerManager.wk_WorkerFace; + wk_WorkerEducation = FrmWorkerManager.wk_WorkerEducation; + lblWorker.Text = FrmWorkerManager.wk_WorkerClub + FrmWorkerManager.wk_WorkerPosition + ":" + FrmWorkerManager.wk_WorkerName + "的操作界面"; if (wk_WorkerClub == "餐饮部") { this.BackgroundImage = Resources.餐饮部界面; diff --git a/SYS.FormUI/AppFunction/FrmCheckIn.cs b/SYS.FormUI/AppFunction/FrmCheckIn.cs index 56c5230..a14d497 100644 --- a/SYS.FormUI/AppFunction/FrmCheckIn.cs +++ b/SYS.FormUI/AppFunction/FrmCheckIn.cs @@ -4,6 +4,8 @@ using System.Windows.Forms; using SYS.Manager; using SYS.Core; using Sunny.UI; +using SYS.Application; +using System.Transactions; namespace SYS.FormUI { @@ -19,15 +21,14 @@ namespace SYS.FormUI { txtRoomNo.Text = ucRoomList.rm_RoomNo; - Room r = RoomManager.SelectRoomByRoomNo(txtRoomNo.Text); - RoomType t = RoomTypeManager.SelectRoomTypeByRoomNo(txtRoomNo.Text); + Room r = new RoomService().SelectRoomByRoomNo(txtRoomNo.Text); + RoomType t = new RoomTypeService().SelectRoomTypeByRoomNo(txtRoomNo.Text); txtType.Text = t.RoomName; txtMoney.Text = r.RoomMoney.ToString(); txtRoomPosition.Text = r.RoomPosition; txtState.Text = r.RoomState; - txtState.Text = RoomManager.SelectRoomStateNameByRoomNo(txtRoomNo.Text).ToString(); - List ctos = CustoManager.SelectCanUseCustoAll(); - List roms = RoomManager.SelectCanUseRoomAll(); + List ctos = new CustoService().SelectCustoAll(); + List roms = new RoomService().SelectCanUseRoomAll(); for (int i = 0; i < roms.Count; i++) { txtRoomNo.AutoCompleteCustomSource.Add(roms[i].RoomNo); @@ -48,29 +49,7 @@ namespace SYS.FormUI } #endregion - #region 房间编号输入框的值发生改变时的事件方法 - private void txtRoomNo_TextChanged(object sender, EventArgs e) - { - try - { - Room r = RoomManager.SelectRoomByRoomNo(txtRoomNo.Text); - RoomType t = RoomTypeManager.SelectRoomTypeByRoomNo(txtRoomNo.Text); - txtType.Text = t.RoomName; - txtMoney.Text = r.RoomMoney.ToString(); - txtRoomPosition.Text = r.RoomPosition; - txtState.Text = r.RoomState; - txtState.Text = RoomManager.SelectRoomStateNameByRoomNo(txtRoomNo.Text).ToString(); - } - catch - { - txtType.Text = ""; - txtMoney.Text = ""; - txtRoomPosition.Text = ""; - txtState.Text = ""; - txtState.Text = ""; - } - } - #endregion + #region 关闭窗口 private void btnClose_Click(object sender, EventArgs e) @@ -101,32 +80,42 @@ namespace SYS.FormUI { if (CheckInupt()) { - if (CustoManager.SelectCustoByCustoNo(txtCustoNo.Text) != null) + if (new CustoService().SelectCardInfoByCustoNo(txtCustoNo.Text) != null) { - Room r = new Room(); - r.CheckTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); - r.CustoNo = txtCustoNo.Text; - r.RoomStateId = 1; - r.RoomNo = txtRoomNo.Text; - - int n = RoomManager.UpdateRoomInfo(r); - if (n > 0) - { - MessageBox.Show("登记入住成功!", "登记提示"); - txtCustoNo.Text = ""; - FrmRoomManager.Reload(); - this.Close(); - #region 获取添加操作日志所需的信息 - Operation o = new Operation(); - o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "帮助" + r.CustoNo + "进行了入住操作!"; - o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName; - #endregion - OperationlogManager.InsertOperationLog(o); - } - else + using (TransactionScope scope = new TransactionScope()) { - MessageBox.Show("登记入住失败!", "登记提示"); + Room r = new Room() + { + CheckTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")), + CustoNo = txtCustoNo.Text, + RoomStateId = 1, + RoomNo = txtRoomNo.Text, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now, + }; + + bool n = new RoomService().UpdateRoomInfo(r); + if (n == true) + { + MessageBox.Show("登记入住成功!", "登记提示"); + txtCustoNo.Text = ""; + FrmRoomManager.Reload(); + #region 获取添加操作日志所需的信息 + OperationLog o = new OperationLog(); + o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); + o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "帮助" + r.CustoNo + "进行了入住操作!"; + o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName; + o.datains_usr = LoginInfo.WorkerNo; + o.datains_date = DateTime.Now; + #endregion + new OperationlogService().InsertOperationLog(o); + scope.Complete(); + this.Close(); + } + else + { + MessageBox.Show("登记入住失败!", "登记提示"); + } } } else @@ -148,10 +137,10 @@ namespace SYS.FormUI { try { - Custo c = CustoManager.SelectCustoByCustoNo(txtCustoNo.Text); + Custo c = new CustoService().SelectCardInfoByCustoNo(txtCustoNo.Text); txtCustoName.Text = c.CustoName; txtCustoTel.Text = c.CustoTel; - txtCustoType.Text = CustoTypeManager.SelectTypeNameByCustoTypeId(c.CustoType); + txtCustoType.Text = c.typeName; } catch { diff --git a/SYS.FormUI/AppFunction/FrmCashList.Designer.cs b/SYS.FormUI/AppFunction/FrmCheckList.Designer.cs similarity index 99% rename from SYS.FormUI/AppFunction/FrmCashList.Designer.cs rename to SYS.FormUI/AppFunction/FrmCheckList.Designer.cs index 1b9a3f8..b9c0baa 100644 --- a/SYS.FormUI/AppFunction/FrmCashList.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmCheckList.Designer.cs @@ -1,6 +1,6 @@ namespace SYS.FormUI { - partial class FrmCashList + partial class FrmCheckList { /// /// Required designer variable. diff --git a/SYS.FormUI/AppFunction/FrmCashList.cs b/SYS.FormUI/AppFunction/FrmCheckList.cs similarity index 97% rename from SYS.FormUI/AppFunction/FrmCashList.cs rename to SYS.FormUI/AppFunction/FrmCheckList.cs index e530b63..565f6ef 100644 --- a/SYS.FormUI/AppFunction/FrmCashList.cs +++ b/SYS.FormUI/AppFunction/FrmCheckList.cs @@ -4,9 +4,9 @@ using SYS.Manager; namespace SYS.FormUI { - public partial class FrmCashList : Form + public partial class FrmCheckList : Form { - public FrmCashList() + public FrmCheckList() { InitializeComponent(); } diff --git a/SYS.FormUI/AppFunction/FrmCashList.resx b/SYS.FormUI/AppFunction/FrmCheckList.resx similarity index 100% rename from SYS.FormUI/AppFunction/FrmCashList.resx rename to SYS.FormUI/AppFunction/FrmCheckList.resx diff --git a/SYS.FormUI/AppFunction/FrmCheckOutForm.cs b/SYS.FormUI/AppFunction/FrmCheckOutForm.cs index d80e017..0ebe5f6 100644 --- a/SYS.FormUI/AppFunction/FrmCheckOutForm.cs +++ b/SYS.FormUI/AppFunction/FrmCheckOutForm.cs @@ -6,6 +6,7 @@ using SYS.Core; using SYS.FormUI.Properties; using System.Collections.Generic; using Sunny.UI; +using SYS.Application; namespace SYS.FormUI { @@ -84,7 +85,7 @@ namespace SYS.FormUI #endregion #region 加载性别信息 - List listSexType = new BaseManager().SelectSexTypeAll(); + List listSexType = new BaseService().SelectSexTypeAll(); this.cboCustoSex.DataSource = listSexType; this.cboCustoSex.DisplayMember = "sexName"; this.cboCustoSex.ValueMember = "sexId"; @@ -108,27 +109,27 @@ namespace SYS.FormUI } if (rs == "BD") { - sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString()) * 300)); + sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(new RoomService().DayByRoomNo(txtRoomNo.Text).ToString()) * 300)); } if (rs == "BS") { - sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString()) * 425)); + sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(new RoomService().DayByRoomNo(txtRoomNo.Text).ToString()) * 425)); } if (rs == "HD") { - sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString()) * 625)); + sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(new RoomService().DayByRoomNo(txtRoomNo.Text).ToString()) * 625)); } if (rs == "HS") { - sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString()) * 660)); + sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(new RoomService().DayByRoomNo(txtRoomNo.Text).ToString()) * 660)); } if (rs == "QL") { - sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString()) * 845)); + sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(new RoomService().DayByRoomNo(txtRoomNo.Text).ToString()) * 845)); } if (rs == "ZT") { - sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString()) * 1080)); + sum = Convert.ToDouble(Convert.ToString(Convert.ToInt32(new RoomService().DayByRoomNo(txtRoomNo.Text).ToString()) * 1080)); } lblDay.Text = Convert.ToString(Convert.ToInt32(RoomManager.DayByRoomNo(txtRoomNo.Text).ToString())); w = new Wti() @@ -288,9 +289,9 @@ namespace SYS.FormUI } MessageBox.Show("结算成功!", "系统提示"); FrmRoomManager.Reload(); - + #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "帮助" + txtCustoNo.Text + "进行了退房结算操作!"; o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName; @@ -314,7 +315,7 @@ namespace SYS.FormUI MessageBox.Show("结算成功!", "系统提示"); FrmRoomManager.Reload(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "帮助" + txtCustoNo.Text + "进行了退房结算操作!"; o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName; diff --git a/SYS.FormUI/AppFunction/FrmCustoManager.cs b/SYS.FormUI/AppFunction/FrmCustoManager.cs index 5b97c7f..1389bb9 100644 --- a/SYS.FormUI/AppFunction/FrmCustoManager.cs +++ b/SYS.FormUI/AppFunction/FrmCustoManager.cs @@ -114,7 +114,7 @@ namespace SYS.FormUI worksheet.Columns.EntireColumn.AutoFit();//列宽自适应 MessageBox.Show(fileName + "信息导出成功", "来自T仔提示", MessageBoxButtons.OK); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerName + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "导出了" + "后台用户信息!"; o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerName + LoginInfo.WorkerPosition; diff --git a/SYS.FormUI/AppFunction/FrmCustomerManager.Designer.cs b/SYS.FormUI/AppFunction/FrmCustomerManager.Designer.cs index 9bb99f5..ad435ba 100644 --- a/SYS.FormUI/AppFunction/FrmCustomerManager.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmCustomerManager.Designer.cs @@ -33,10 +33,12 @@ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.gbCustoInfo = new System.Windows.Forms.GroupBox(); - this.txtCardID = new Sunny.UI.UITextBox(); + this.txtCustoNo = new Sunny.UI.UITextBox(); this.label2 = new System.Windows.Forms.Label(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.dgvCustomerList = new Sunny.UI.UIDataGridView(); + this.btnSerach = new Sunny.UI.UIButton(); + this.btnAddCusto = new Sunny.UI.UIButton(); this.CustoNo = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.CustoName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.CustoSex = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -49,15 +51,18 @@ this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.btnSerach = new Sunny.UI.UIButton(); - this.btnAddCusto = new Sunny.UI.UIButton(); + this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.gbCustoInfo.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvCustomerList)).BeginInit(); this.SuspendLayout(); // // gbCustoInfo // - this.gbCustoInfo.Controls.Add(this.txtCardID); + this.gbCustoInfo.Controls.Add(this.txtCustoNo); this.gbCustoInfo.Controls.Add(this.label2); this.gbCustoInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.gbCustoInfo.Location = new System.Drawing.Point(46, 420); @@ -67,21 +72,21 @@ this.gbCustoInfo.TabStop = false; this.gbCustoInfo.Text = "条件搜索栏"; // - // txtCardID - // - this.txtCardID.Cursor = System.Windows.Forms.Cursors.IBeam; - this.txtCardID.FillColor = System.Drawing.Color.White; - this.txtCardID.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.txtCardID.Location = new System.Drawing.Point(327, 16); - this.txtCardID.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.txtCardID.Maximum = 2147483647D; - this.txtCardID.Minimum = -2147483648D; - this.txtCardID.MinimumSize = new System.Drawing.Size(1, 1); - this.txtCardID.Name = "txtCardID"; - this.txtCardID.Padding = new System.Windows.Forms.Padding(5); - this.txtCardID.Radius = 20; - this.txtCardID.Size = new System.Drawing.Size(204, 33); - this.txtCardID.TabIndex = 88; + // txtCustoNo + // + this.txtCustoNo.Cursor = System.Windows.Forms.Cursors.IBeam; + this.txtCustoNo.FillColor = System.Drawing.Color.White; + this.txtCustoNo.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtCustoNo.Location = new System.Drawing.Point(327, 16); + this.txtCustoNo.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.txtCustoNo.Maximum = 2147483647D; + this.txtCustoNo.Minimum = -2147483648D; + this.txtCustoNo.MinimumSize = new System.Drawing.Size(1, 1); + this.txtCustoNo.Name = "txtCustoNo"; + this.txtCustoNo.Padding = new System.Windows.Forms.Padding(5); + this.txtCustoNo.Radius = 20; + this.txtCustoNo.Size = new System.Drawing.Size(204, 33); + this.txtCustoNo.TabIndex = 88; // // label2 // @@ -91,7 +96,7 @@ this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(88, 25); this.label2.TabIndex = 87; - this.label2.Text = "证件号码"; + this.label2.Text = "客户编号"; // // toolTip1 // @@ -133,7 +138,12 @@ this.Column1, this.Column2, this.Column3, - this.Column4}); + this.Column4, + this.Column5, + this.Column6, + this.Column7, + this.Column8, + this.Column9}); this.dgvCustomerList.EnableHeadersVisualStyles = false; this.dgvCustomerList.Font = new System.Drawing.Font("微软雅黑", 12F); this.dgvCustomerList.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); @@ -151,6 +161,32 @@ this.dgvCustomerList.Style = Sunny.UI.UIStyle.Custom; this.dgvCustomerList.TabIndex = 83; // + // btnSerach + // + this.btnSerach.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSerach.Font = new System.Drawing.Font("微软雅黑", 12F); + this.btnSerach.Location = new System.Drawing.Point(815, 426); + this.btnSerach.MinimumSize = new System.Drawing.Size(1, 1); + this.btnSerach.Name = "btnSerach"; + this.btnSerach.Radius = 30; + this.btnSerach.Size = new System.Drawing.Size(103, 49); + this.btnSerach.TabIndex = 84; + this.btnSerach.Text = "搜 索"; + this.btnSerach.Click += new System.EventHandler(this.btnSerach_BtnClick); + // + // btnAddCusto + // + this.btnAddCusto.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddCusto.Font = new System.Drawing.Font("微软雅黑", 12F); + this.btnAddCusto.Location = new System.Drawing.Point(924, 426); + this.btnAddCusto.MinimumSize = new System.Drawing.Size(1, 1); + this.btnAddCusto.Name = "btnAddCusto"; + this.btnAddCusto.Radius = 30; + this.btnAddCusto.Size = new System.Drawing.Size(103, 49); + this.btnAddCusto.TabIndex = 85; + this.btnAddCusto.Text = "添加客户"; + this.btnAddCusto.Click += new System.EventHandler(this.btnAddCusto_BtnClick); + // // CustoNo // this.CustoNo.DataPropertyName = "CustoNo"; @@ -239,31 +275,45 @@ this.Column4.ReadOnly = true; this.Column4.Visible = false; // - // btnSerach + // Column5 // - this.btnSerach.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnSerach.Font = new System.Drawing.Font("微软雅黑", 12F); - this.btnSerach.Location = new System.Drawing.Point(815, 426); - this.btnSerach.MinimumSize = new System.Drawing.Size(1, 1); - this.btnSerach.Name = "btnSerach"; - this.btnSerach.Radius = 30; - this.btnSerach.Size = new System.Drawing.Size(103, 49); - this.btnSerach.TabIndex = 84; - this.btnSerach.Text = "搜 索"; - this.btnSerach.Click += new System.EventHandler(this.btnSerach_BtnClick); + this.Column5.DataPropertyName = "delete_mk"; + this.Column5.HeaderText = "Column5"; + this.Column5.Name = "Column5"; + this.Column5.ReadOnly = true; + this.Column5.Visible = false; // - // btnAddCusto + // Column6 // - this.btnAddCusto.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnAddCusto.Font = new System.Drawing.Font("微软雅黑", 12F); - this.btnAddCusto.Location = new System.Drawing.Point(924, 426); - this.btnAddCusto.MinimumSize = new System.Drawing.Size(1, 1); - this.btnAddCusto.Name = "btnAddCusto"; - this.btnAddCusto.Radius = 30; - this.btnAddCusto.Size = new System.Drawing.Size(103, 49); - this.btnAddCusto.TabIndex = 85; - this.btnAddCusto.Text = "添加客户"; - this.btnAddCusto.Click += new System.EventHandler(this.btnAddCusto_BtnClick); + this.Column6.DataPropertyName = "datains_usr"; + this.Column6.HeaderText = "Column6"; + this.Column6.Name = "Column6"; + this.Column6.ReadOnly = true; + this.Column6.Visible = false; + // + // Column7 + // + this.Column7.DataPropertyName = "datains_date"; + this.Column7.HeaderText = "Column7"; + this.Column7.Name = "Column7"; + this.Column7.ReadOnly = true; + this.Column7.Visible = false; + // + // Column8 + // + this.Column8.DataPropertyName = "datachg_usr"; + this.Column8.HeaderText = "Column8"; + this.Column8.Name = "Column8"; + this.Column8.ReadOnly = true; + this.Column8.Visible = false; + // + // Column9 + // + this.Column9.DataPropertyName = "datachg_date"; + this.Column9.HeaderText = "Column9"; + this.Column9.Name = "Column9"; + this.Column9.ReadOnly = true; + this.Column9.Visible = false; // // FrmCustomerManager // @@ -292,6 +342,9 @@ private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.Label label2; private Sunny.UI.UIDataGridView dgvCustomerList; + private Sunny.UI.UIButton btnSerach; + private Sunny.UI.UITextBox txtCustoNo; + private Sunny.UI.UIButton btnAddCusto; private System.Windows.Forms.DataGridViewTextBoxColumn CustoNo; private System.Windows.Forms.DataGridViewTextBoxColumn CustoName; private System.Windows.Forms.DataGridViewTextBoxColumn CustoSex; @@ -304,8 +357,10 @@ private System.Windows.Forms.DataGridViewTextBoxColumn Column2; private System.Windows.Forms.DataGridViewTextBoxColumn Column3; private System.Windows.Forms.DataGridViewTextBoxColumn Column4; - private Sunny.UI.UIButton btnSerach; - private Sunny.UI.UITextBox txtCardID; - private Sunny.UI.UIButton btnAddCusto; + private System.Windows.Forms.DataGridViewTextBoxColumn Column5; + private System.Windows.Forms.DataGridViewTextBoxColumn Column6; + private System.Windows.Forms.DataGridViewTextBoxColumn Column7; + private System.Windows.Forms.DataGridViewTextBoxColumn Column8; + private System.Windows.Forms.DataGridViewTextBoxColumn Column9; } } \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmCustomerManager.cs b/SYS.FormUI/AppFunction/FrmCustomerManager.cs index d26205a..db602ee 100644 --- a/SYS.FormUI/AppFunction/FrmCustomerManager.cs +++ b/SYS.FormUI/AppFunction/FrmCustomerManager.cs @@ -213,7 +213,7 @@ namespace SYS.FormUI worksheet.Columns.EntireColumn.AutoFit();//列宽自适应 MessageBox.Show(fileName + "信息导出成功", "来自T仔提示", MessageBoxButtons.OK); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerName + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "导出了" + "用户信息!"; o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerName + LoginInfo.WorkerPosition; @@ -360,13 +360,13 @@ namespace SYS.FormUI private void btnSerach_BtnClick(object sender, EventArgs e) { - if (txtCardID.Text != "") + if (txtCustoNo.Text != "") { - dgvCustomerList.DataSource = CustoManager.SelectCustoInfoByCardId(txtCardID.Text); + dgvCustomerList.DataSource = CustoManager.SelectCustoInfoByCardId(txtCustoNo.Text); } else { - MessageBox.Show("请输入证件号码!"); + MessageBox.Show("请输入客户编号!"); } } diff --git a/SYS.FormUI/AppFunction/FrmCustomerManager.resx b/SYS.FormUI/AppFunction/FrmCustomerManager.resx index 237dea1..03dcc7e 100644 --- a/SYS.FormUI/AppFunction/FrmCustomerManager.resx +++ b/SYS.FormUI/AppFunction/FrmCustomerManager.resx @@ -156,4 +156,19 @@ True + + True + + + True + + + True + + + True + + + True + \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmDepartment.Designer.cs b/SYS.FormUI/AppFunction/FrmDepartment.Designer.cs index a5268b4..0aa6eef 100644 --- a/SYS.FormUI/AppFunction/FrmDepartment.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmDepartment.Designer.cs @@ -30,13 +30,25 @@ namespace SYS.FormUI private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmDepartment)); + this.flpInformation = new System.Windows.Forms.FlowLayoutPanel(); this.SuspendLayout(); // + // flpInformation + // + this.flpInformation.AutoScroll = true; + this.flpInformation.BackColor = System.Drawing.Color.Transparent; + this.flpInformation.Location = new System.Drawing.Point(441, 37); + this.flpInformation.Margin = new System.Windows.Forms.Padding(2); + this.flpInformation.Name = "flpInformation"; + this.flpInformation.Size = new System.Drawing.Size(562, 582); + this.flpInformation.TabIndex = 73; + // // FrmDepartment // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1005, 623); + this.Controls.Add(this.flpInformation); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; @@ -49,5 +61,7 @@ namespace SYS.FormUI } #endregion + + private System.Windows.Forms.FlowLayoutPanel flpInformation; } } \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmDepartment.cs b/SYS.FormUI/AppFunction/FrmDepartment.cs index 7e0c78e..ad21a11 100644 --- a/SYS.FormUI/AppFunction/FrmDepartment.cs +++ b/SYS.FormUI/AppFunction/FrmDepartment.cs @@ -1,4 +1,5 @@ using Sunny.UI; +using SYS.Manager; using System; using System.Collections.Generic; using System.ComponentModel; @@ -20,7 +21,16 @@ namespace SYS.FormUI private void FrmDepartment_Load(object sender, EventArgs e) { + //var list = new BaseManager().SelectDeptAll(); + + } + + + } + + + } diff --git a/SYS.FormUI/AppFunction/FrmGoodOrBad.cs b/SYS.FormUI/AppFunction/FrmGoodOrBad.cs index 832b4a0..e561ab9 100644 --- a/SYS.FormUI/AppFunction/FrmGoodOrBad.cs +++ b/SYS.FormUI/AppFunction/FrmGoodOrBad.cs @@ -51,9 +51,9 @@ namespace SYS.FormUI private void FrmGoodOrBad_Load(object sender, EventArgs e) { CmpSetDgv(); - lblWorkerNo.Text = FrmTopChange.wk_WorkerNo; - lblName.Text = FrmTopChange.wk_WorkerName; - lblDate.Text = FrmTopChange.wk_WorkerTime.Substring(0,9); + lblWorkerNo.Text = FrmWorkerManager.wk_WorkerNo; + lblName.Text = FrmWorkerManager.wk_WorkerName; + lblDate.Text = FrmWorkerManager.wk_WorkerTime.Substring(0,9); DgvGoodBadList.AutoGenerateColumns = false; DgvGoodBadList.DataSource = WorkerGoodBadManager.SelectAllGoodBadByWorkNo(lblWorkerNo.Text); CboType.SelectedIndex = 0; @@ -70,17 +70,17 @@ namespace SYS.FormUI goodBad.WorkNo = lblWorkerNo.Text; goodBad.GBType = CboType.SelectedIndex; goodBad.GBInfo = RtbGBInfo.Text; - goodBad.GBOperation = AdminInfo.admingroup; + goodBad.GBOperation = AdminInfo.Account; goodBad.GBTime = DtpDate.Value; int n = WorkerGoodBadManager.AddGoodBad(goodBad); if (n > 0) { MessageBox.Show("新增成功!"); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = AdminInfo.admingroup + AdminInfo.adminType + "于" + DateTime.Now + "对员工:" + lblName.Text + "进行了奖罚情况录入!"; - o.OperationAccount = AdminInfo.admingroup + AdminInfo.adminType; + o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "对员工:" + lblName.Text + "进行了奖罚情况录入!"; + o.OperationAccount = AdminInfo.Account + AdminInfo.Name; #endregion OperationlogManager.InsertOperationLog(o); DgvGoodBadList.DataSource = WorkerGoodBadManager.SelectAllGoodBadByWorkNo(lblWorkerNo.Text); diff --git a/SYS.FormUI/AppFunction/FrmInputs.cs b/SYS.FormUI/AppFunction/FrmInputs.cs index 0af668f..611199a 100644 --- a/SYS.FormUI/AppFunction/FrmInputs.cs +++ b/SYS.FormUI/AppFunction/FrmInputs.cs @@ -1,4 +1,5 @@ using MySql.Data.MySqlClient; +using SYS.Application; using SYS.Core; using SYS.Manager; using System; @@ -52,7 +53,7 @@ namespace SYS.FormUI #endregion #region 加载性别信息 - List listSexType = new BaseManager().SelectSexTypeAll(); + List listSexType = new BaseService().SelectSexTypeAll(); this.cbSex.DataSource = listSexType; this.cbSex.DisplayMember = "sexName"; this.cbSex.ValueMember = "sexId"; @@ -95,7 +96,7 @@ namespace SYS.FormUI MessageBox.Show("添加成功"); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = "编号:"+ LoginInfo.WorkerNo + "【"+FrmMain.wk_WorkerName + "】" + "于" + DateTime.Now + "插入了一条数据!"; o.OperationAccount = LoginInfo.WorkerNo; diff --git a/SYS.FormUI/AppFunction/FrmNation.cs b/SYS.FormUI/AppFunction/FrmNation.cs index 4ef03fd..9cc306a 100644 --- a/SYS.FormUI/AppFunction/FrmNation.cs +++ b/SYS.FormUI/AppFunction/FrmNation.cs @@ -1,5 +1,7 @@ using Sunny.UI; +using SYS.Application; using SYS.Core; +using SYS.FormUI.Properties; using SYS.Manager; using System; using System.Collections.Generic; @@ -24,11 +26,17 @@ namespace SYS.FormUI public static OperationInfo reload; + public static OperationInfo Accessed; + + public static OperationInfo insert; + public FrmNation() { InitializeComponent(); operation = Visited; reload = ReloadNationList; + Accessed = Access; + insert = Insert; } ucBaseInformation baseInfo = null; @@ -37,17 +45,32 @@ namespace SYS.FormUI private void FrmNation_Load(object sender, EventArgs e) { ReloadNationList(); - + new SYS.Core.CounterHelper().GetNewId("WorkerId"); + } public void ReloadNationList() { flpInformation.Controls.Clear(); - nations = new BaseManager().SelectNationAll(); + baseInfo = new ucBaseInformation(); + baseInfo.BackgroundImage = Resources.添加__增加___加; + baseInfo.lbName.Text = "新增民族类型"; + baseInfo.btnOperation.Text = "新增"; + baseInfo.btnOperation.FillColor = Color.FromArgb(80, 160, 255); + baseInfo.btnOperation.FillHoverColor = Color.FromArgb(80, 180, 255); + flpInformation.Controls.Add(baseInfo); + nations = new BaseService().SelectNationAll(); for (int i = 0; i < nations.Count; i++) { baseInfo = new ucBaseInformation(); baseInfo.lbName.Text = "名称:" + nations[i].nation_name; + if (nations[i].delete_mk == 1) + { + baseInfo.btnOperation.Text = "恢复"; + baseInfo.btnOperation.FillColor = Color.FromArgb(33, 179, 81); + baseInfo.lbName.BackColor = Color.Red; + baseInfo.btnOperation.FillHoverColor = Color.FromArgb(128, 255, 128); + } flpInformation.Controls.Add(baseInfo); } } @@ -58,10 +81,10 @@ namespace SYS.FormUI flpInformation.Height = 582; } - public void Visited() + public void Visited() { //筛选出只与当前民族对应的数据 - Nation nation = nations.FirstOrDefault(a => !a.nation_name.Equals(info)); + Nation nation = nations.FirstOrDefault(a => a.nation_name.Equals(info)); if (nation.nation_name.Equals(info)) { var _nation = new Nation() @@ -73,17 +96,60 @@ namespace SYS.FormUI }; if (_nation != null) { - int n = new BaseManager().DelNation(_nation); - if (n > 0) + bool n = new BaseService().DelNation(_nation); + if (n == true) { UIMessageBox.ShowSuccess("删除成功!"); ReloadNationList(); } } } + } + public void Access() + { + //筛选出只与当前民族对应的数据 + Nation nation = nations.FirstOrDefault(a => a.nation_name.Equals(info)); + if (nation.nation_name.Equals(info)) + { + var _nation = new Nation() + { + nation_no = nation.nation_no, + delete_mk = 0, + datachg_usr = LoginInfo.WorkerNo, + datachg_date = DateTime.Now + }; + if (_nation != null) + { + bool n = new BaseService().DelNation(_nation); + if (n == true) + { + UIMessageBox.ShowSuccess("恢复成功!"); + ReloadNationList(); + } + } + } - + } + public void Insert() + { + var _nation = new Nation() + { + nation_no = new SYS.Core.CounterHelper().GetNewId("NationId").ToString(), + nation_name = info, + delete_mk = 0, + datains_usr = LoginInfo.WorkerNo, + datains_date = DateTime.Now + }; + if (_nation != null) + { + bool n = new BaseService().AddNation(_nation); + if (n == true) + { + UIMessageBox.ShowSuccess("新增成功!"); + ReloadNationList(); + } + } } } diff --git a/SYS.FormUI/AppFunction/FrmNotice.Designer.cs b/SYS.FormUI/AppFunction/FrmNotice.Designer.cs new file mode 100644 index 0000000..73dfb29 --- /dev/null +++ b/SYS.FormUI/AppFunction/FrmNotice.Designer.cs @@ -0,0 +1,117 @@ + +namespace SYS.FormUI +{ + partial class FrmNotice + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + this.dgvNoticeList = new System.Windows.Forms.DataGridView(); + this.clNoticeNo = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clNoticetheme = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.clNoticeContent = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.label5 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.dgvNoticeList)).BeginInit(); + this.SuspendLayout(); + // + // dgvNoticeList + // + this.dgvNoticeList.AllowUserToAddRows = false; + this.dgvNoticeList.AllowUserToDeleteRows = false; + this.dgvNoticeList.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + this.dgvNoticeList.BackgroundColor = System.Drawing.Color.SkyBlue; + this.dgvNoticeList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvNoticeList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.clNoticeNo, + this.clNoticetheme, + this.clNoticeContent}); + this.dgvNoticeList.Location = new System.Drawing.Point(216, 54); + this.dgvNoticeList.Name = "dgvNoticeList"; + this.dgvNoticeList.ReadOnly = true; + dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.dgvNoticeList.RowsDefaultCellStyle = dataGridViewCellStyle2; + this.dgvNoticeList.RowTemplate.Height = 23; + this.dgvNoticeList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.dgvNoticeList.Size = new System.Drawing.Size(368, 456); + this.dgvNoticeList.TabIndex = 111; + // + // clNoticeNo + // + this.clNoticeNo.DataPropertyName = "NoticeNo"; + this.clNoticeNo.HeaderText = "公告编号"; + this.clNoticeNo.Name = "clNoticeNo"; + this.clNoticeNo.ReadOnly = true; + // + // clNoticetheme + // + this.clNoticetheme.DataPropertyName = "Noticetheme"; + this.clNoticetheme.HeaderText = "公告主题"; + this.clNoticetheme.Name = "clNoticetheme"; + this.clNoticetheme.ReadOnly = true; + // + // clNoticeContent + // + this.clNoticeContent.DataPropertyName = "NoticeContent"; + this.clNoticeContent.HeaderText = "公告正文"; + this.clNoticeContent.Name = "clNoticeContent"; + this.clNoticeContent.ReadOnly = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label5.Location = new System.Drawing.Point(353, 14); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(131, 33); + this.label5.TabIndex = 110; + this.label5.Text = "历史公告"; + // + // FrmNotice + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(816, 553); + this.Controls.Add(this.dgvNoticeList); + this.Controls.Add(this.label5); + this.Name = "FrmNotice"; + this.Text = "FrmNotice"; + this.Load += new System.EventHandler(this.FrmNotice_Load); + ((System.ComponentModel.ISupportInitialize)(this.dgvNoticeList)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.DataGridView dgvNoticeList; + private System.Windows.Forms.DataGridViewTextBoxColumn clNoticeNo; + private System.Windows.Forms.DataGridViewTextBoxColumn clNoticetheme; + private System.Windows.Forms.DataGridViewTextBoxColumn clNoticeContent; + private System.Windows.Forms.Label label5; + } +} \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmAdminMain.cs b/SYS.FormUI/AppFunction/FrmNotice.cs similarity index 53% rename from SYS.FormUI/AppFunction/FrmAdminMain.cs rename to SYS.FormUI/AppFunction/FrmNotice.cs index 840c5df..66d35af 100644 --- a/SYS.FormUI/AppFunction/FrmAdminMain.cs +++ b/SYS.FormUI/AppFunction/FrmNotice.cs @@ -1,4 +1,4 @@ -using Sunny.UI; +using SYS.Manager; using System; using System.Collections.Generic; using System.ComponentModel; @@ -11,16 +11,17 @@ using System.Windows.Forms; namespace SYS.FormUI { - public partial class FrmAdminMain : UIForm + public partial class FrmNotice : Form { - public FrmAdminMain() + public FrmNotice() { InitializeComponent(); } - private void FrmAdminMain_Load(object sender, EventArgs e) + private void FrmNotice_Load(object sender, EventArgs e) { - + dgvNoticeList.AutoGenerateColumns = false; + dgvNoticeList.DataSource = NoticeManager.SelectNoticeAll(); } } } diff --git a/SYS.FormUI/AppFunction/FrmBackUpDatabase.resx b/SYS.FormUI/AppFunction/FrmNotice.resx similarity index 37% rename from SYS.FormUI/AppFunction/FrmBackUpDatabase.resx rename to SYS.FormUI/AppFunction/FrmNotice.resx index 224d373..4f6453c 100644 --- a/SYS.FormUI/AppFunction/FrmBackUpDatabase.resx +++ b/SYS.FormUI/AppFunction/FrmNotice.resx @@ -117,119 +117,13 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Qk3OBwAAAAAAAJ4BAAAoAAAARwAAABYAAAABAAgAAAAAAAAAAAASCwAAEgsAAFoAAABaAAAAAAAA//// - ////+O7///bq///w3f//6s///+jL///mx///5MP//+K////gu///3bb//9uy///Zrv//1aX//9Kh/5V6 - WP///Pn//9Cc/7STa///05///9Sf///Vo///16n//92z///Xov//2ab//9in/5yGaP//2qv/nYdq///c - r///37f//+K7/7Ccgv//+fH/m4Vm/56Kbf//5L///+bD///oxv//6cr//+vO///58P+wnHz///Hb///2 - 5//w7OX/s551///46v//+Ov///rw//Ds5P//+u////vy//Xiq///7LP/9OKr///66v//++z/trOk/7e0 - pv//9Lr///W6///0u///9bz/8+zD///2vP/07LT///a9///3vf//9r7///e////3wP+3taf/9e61///4 - vv/z7LX///jA///4wf//+ML///nE///6xv//+8f///vI///95/+5uKv///vE///7xv/W6u7/WTwkEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - EBAkPFkAPRM3Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+ - Pj4+Pj4+Pj4+Pj4+P0ZLMD0AHDkSFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU - FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRk4RBwAEEAWDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P - Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8aTBAAEEEbDg4ODg4ODg4ODg4ODg4O - Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4bQxAAEEUdFxcX - FxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcX - FxcdRRAAEEUfDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N - DQ0NDQ0NDQ0NDQ0NDQ0fRRAAEEcYDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM - DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYRxAAEEggCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsL - CwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsgSBAAEEghCgoKCgoKCgoKCgoKCgoK - CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgohSBAAEEkmCQkJ - CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ - CQkmSRAAEE4nCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgnThAAEE8oBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH - BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcoTxAAEFApBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYG - BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYpUBAAEFAqBQUFBQUFBQUFBQUFBQUF - BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUqUBAAEFEtBAQE - BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE - BAQtURAAEFIuAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwMuUhAAEFgxAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC - AgICAgICAgICAgICAgICAgICAgICAgICAgIyUxAAEFc6KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj - IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM1VBAAHk1VOzMzMzMzMzMzMzMzMzMz - MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzYRQh4ASiw0AQEB - AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEvIkoAWVYlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - EBAQEBAQEBAQEBAQEBAlVlkA - - - - - Qk3OBwAAAAAAAJ4BAAAoAAAARwAAABYAAAABAAgAAAAAAAAAAAASCwAAEgsAAFoAAABaAAAAAAAA//// - ////+O7///bq///w3f//6s///+jL///mx///5MP//+K////gu///3bb//9uy///Zrv//1aX//9Kh/5V6 - WP///Pn//9Cc/7STa///05///9Sf///Vo///16n//92z///Xov//2ab//9in/5yGaP//2qv/nYdq///c - r///37f//+K7/7Ccgv//+fH/m4Vm/56Kbf//5L///+bD///oxv//6cr//+vO///58P+wnHz///Hb///2 - 5//w7OX/s551///46v//+Ov///rw//Ds5P//+u////vy//Xiq///7LP/9OKr///66v//++z/trOk/7e0 - pv//9Lr///W6///0u///9bz/8+zD///2vP/07LT///a9///3vf//9r7///e////3wP+3taf/9e61///4 - vv/z7LX///jA///4wf//+ML///nE///6xv//+8f///vI///95/+5uKv///vE///7xv/W6u7/WTwkEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - EBAkPFkAPRM3Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+ - Pj4+Pj4+Pj4+Pj4+P0ZLMD0AHDkSFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU - FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRk4RBwAEEAWDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P - Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8aTBAAEEEbDg4ODg4ODg4ODg4ODg4O - Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4bQxAAEEUdFxcX - FxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcX - FxcdRRAAEEUfDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N - DQ0NDQ0NDQ0NDQ0NDQ0fRRAAEEcYDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM - DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYRxAAEEggCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsL - CwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsgSBAAEEghCgoKCgoKCgoKCgoKCgoK - CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgohSBAAEEkmCQkJ - CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ - CQkmSRAAEE4nCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgnThAAEE8oBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH - BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcoTxAAEFApBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYG - BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYpUBAAEFAqBQUFBQUFBQUFBQUFBQUF - BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUqUBAAEFEtBAQE - BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE - BAQtURAAEFIuAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwMuUhAAEFgxAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC - AgICAgICAgICAgICAgICAgICAgICAgICAgIyUxAAEFc6KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj - IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM1VBAAHk1VOzMzMzMzMzMzMzMzMzMz - MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzYRQh4ASiw0AQEB - AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEvIkoAWVYlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - EBAQEBAQEBAQEBAQEBAlVlkA - - - - - Qk3OBwAAAAAAAJ4BAAAoAAAARwAAABYAAAABAAgAAAAAAAAAAAASCwAAEgsAAFoAAABaAAAAAAAA//// - ////+O7///bq///w3f//6s///+jL///mx///5MP//+K////gu///3bb//9uy///Zrv//1aX//9Kh/5V6 - WP///Pn//9Cc/7STa///05///9Sf///Vo///16n//92z///Xov//2ab//9in/5yGaP//2qv/nYdq///c - r///37f//+K7/7Ccgv//+fH/m4Vm/56Kbf//5L///+bD///oxv//6cr//+vO///58P+wnHz///Hb///2 - 5//w7OX/s551///46v//+Ov///rw//Ds5P//+u////vy//Xiq///7LP/9OKr///66v//++z/trOk/7e0 - pv//9Lr///W6///0u///9bz/8+zD///2vP/07LT///a9///3vf//9r7///e////3wP+3taf/9e61///4 - vv/z7LX///jA///4wf//+ML///nE///6xv//+8f///vI///95/+5uKv///vE///7xv/W6u7/WTwkEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - EBAkPFkAPRM3Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+ - Pj4+Pj4+Pj4+Pj4+P0ZLMD0AHDkSFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU - FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRk4RBwAEEAWDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8P - Dw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8aTBAAEEEbDg4ODg4ODg4ODg4ODg4O - Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4bQxAAEEUdFxcX - FxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcX - FxcdRRAAEEUfDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N - DQ0NDQ0NDQ0NDQ0NDQ0fRRAAEEcYDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM - DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYRxAAEEggCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsL - CwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsgSBAAEEghCgoKCgoKCgoKCgoKCgoK - CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgohSBAAEEkmCQkJ - CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJ - CQkmSRAAEE4nCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI - CAgICAgICAgICAgICAgnThAAEE8oBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH - BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcoTxAAEFApBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYG - BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYpUBAAEFAqBQUFBQUFBQUFBQUFBQUF - BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUqUBAAEFEtBAQE - BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE - BAQtURAAEFIuAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD - AwMDAwMDAwMDAwMDAwMuUhAAEFgxAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC - AgICAgICAgICAgICAgICAgICAgICAgICAgIyUxAAEFc6KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj - IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM1VBAAHk1VOzMzMzMzMzMzMzMzMzMz - MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzYRQh4ASiw0AQEB - AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB - AQEvIkoAWVYlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - EBAQEBAQEBAQEBAQEBAlVlkA - - + + True + + + True + + + True + \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmReserList.cs b/SYS.FormUI/AppFunction/FrmReserList.cs index 9ae0f6d..0e1214f 100644 --- a/SYS.FormUI/AppFunction/FrmReserList.cs +++ b/SYS.FormUI/AppFunction/FrmReserList.cs @@ -7,6 +7,7 @@ using Sunny.UI; using System.Transactions; using SYS.Core.Util; using System.Collections.Generic; +using SYS.Application; namespace SYS.FormUI { @@ -43,7 +44,7 @@ namespace SYS.FormUI #endregion #region 加载性别信息 - List listSexType = new BaseManager().SelectSexTypeAll(); + List listSexType = new BaseService().SelectSexTypeAll(); this.cbSex.DataSource = listSexType; this.cbSex.DisplayMember = "sexName"; this.cbSex.ValueMember = "sexId"; diff --git a/SYS.FormUI/AppFunction/FrmReserManager.cs b/SYS.FormUI/AppFunction/FrmReserManager.cs index e380401..49565b1 100644 --- a/SYS.FormUI/AppFunction/FrmReserManager.cs +++ b/SYS.FormUI/AppFunction/FrmReserManager.cs @@ -46,7 +46,7 @@ namespace SYS.FormUI { MessageBox.Show("预约成功!请在指定时间内进行登记入住"); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "帮助" + txtCustoTel.Text + "进行了预订房间操作!"; o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName; diff --git a/SYS.FormUI/AppFunction/FrmRoomManager.cs b/SYS.FormUI/AppFunction/FrmRoomManager.cs index 366756e..b12845b 100644 --- a/SYS.FormUI/AppFunction/FrmRoomManager.cs +++ b/SYS.FormUI/AppFunction/FrmRoomManager.cs @@ -4,6 +4,7 @@ using System.Windows.Forms; using SYS.Manager; using SYS.Core; using SYS.FormUI.Properties; +using SYS.Application; namespace SYS.FormUI { @@ -38,49 +39,39 @@ namespace SYS.FormUI private void FrmRoomManager_Load(object sender, EventArgs e) { - foreach (Control item in this.pnlRoomInfo.Controls) - { - if (item.GetType().ToString() == "System.Windows.Forms.Label") - { - item.Font = UI_FontUtil.SetChildControlsFont(); - } - } + //foreach (Control item in this.pnlRoomInfo.Controls) + //{ + // if (item.GetType().ToString() == "System.Windows.Forms.Label") + // { + // item.Font = UI_FontUtil.SetChildControlsFont(); + // } + //} - romsty = RoomManager.SelectRoomAll(); + romsty = new RoomService().SelectRoomAll(); for (int i = 0; i < romsty.Count; i++) { - romt = new ucRoomList(this); - romt.Tag = romsty[i].RoomNo; + romt = new ucRoomList(); + romt.lblRoomNo.Text = romsty[i].RoomNo; + romt.lblCustoNo.Text = romsty[i].CustoNo; + romt.lblRoomType.Text = romsty[i].RoomName; romt.romCustoInfo = romsty[i]; flpRoom.Controls.Add(romt); } - } - #endregion - #region 神秘的遍历方法 - public void CmpInfo(Room rom, Custo user) - { - foreach (Control rmb in flpRoom.Controls) + if (lblCheckTime.Text == "0001/1/1") { - if (rmb.Tag.ToString() != rom.RoomNo) - { - - } - + lblCheckTime.Text = ""; } } #endregion - - - private void tmrGetData_Tick(object sender, EventArgs e) { - lblCanUse.Text = RoomManager.SelectCanUseRoomAllByRoomState().ToString(); - lblCheck.Text = RoomManager.SelectNotUseRoomAllByRoomState().ToString(); - lblNotClear.Text = RoomManager.SelectNotClearRoomAllByRoomState().ToString(); - lblFix.Text = RoomManager.SelectFixingRoomAllByRoomState().ToString(); - lblReser.Text = RoomManager.SelectReseredRoomAllByRoomState().ToString(); + lblCanUse.Text = new RoomService().SelectCanUseRoomAllByRoomState().ToString(); + lblCheck.Text = new RoomService().SelectNotUseRoomAllByRoomState().ToString(); + lblNotClear.Text = new RoomService().SelectNotClearRoomAllByRoomState().ToString(); + lblFix.Text = new RoomService().SelectFixingRoomAllByRoomState().ToString(); + lblReser.Text = new RoomService().SelectReseredRoomAllByRoomState().ToString(); lblRoomNo.Text = ucRoomList.co_RoomNo; lblCustoNo.Text = ucRoomList.co_CustoNo; lblRoomPosition.Text = ucRoomList.co_RoomPosition; @@ -99,13 +90,16 @@ namespace SYS.FormUI private void btnAll_Click(object sender, EventArgs e) { flpRoom.Controls.Clear(); - romsty = RoomManager.SelectRoomAll(); + romsty = new RoomService().SelectRoomAll(); for (int i = 0; i < romsty.Count; i++) { - romt = new ucRoomList(this); - romt.Tag = romsty[i].RoomNo; + romt = new ucRoomList(); + romt.lblRoomNo.Text = romsty[i].RoomNo; + romt.lblCustoNo.Text = romsty[i].CustoNo; + romt.lblRoomType.Text = romsty[i].RoomName; romt.romCustoInfo = romsty[i]; flpRoom.Controls.Add(romt); + } } @@ -117,19 +111,22 @@ namespace SYS.FormUI private void LoadData(string typeName) { flpRoom.Controls.Clear(); - romsty = RoomManager.SelectRoomByTypeName(typeName); + romsty = new RoomService().SelectRoomByTypeName(typeName); for (int i = 0; i < romsty.Count; i++) { - romt = new ucRoomList(this); - romt.Tag = romsty[i].RoomNo; + romt = new ucRoomList(); + romt.lblRoomNo.Text = romsty[i].RoomNo; + romt.lblCustoNo.Text = romsty[i].CustoNo; + romt.lblRoomType.Text = romsty[i].RoomName; romt.romCustoInfo = romsty[i]; flpRoom.Controls.Add(romt); + } - lblCanUse.Text = RoomManager.SelectCanUseRoomAllByRoomState().ToString(); - lblCheck.Text = RoomManager.SelectNotUseRoomAllByRoomState().ToString(); - lblNotClear.Text = RoomManager.SelectNotClearRoomAllByRoomState().ToString(); - lblFix.Text = RoomManager.SelectFixingRoomAllByRoomState().ToString(); - lblReser.Text = RoomManager.SelectReseredRoomAllByRoomState().ToString(); + lblCanUse.Text = new RoomService().SelectCanUseRoomAllByRoomState().ToString(); + lblCheck.Text = new RoomService().SelectNotUseRoomAllByRoomState().ToString(); + lblNotClear.Text = new RoomService().SelectNotClearRoomAllByRoomState().ToString(); + lblFix.Text = new RoomService().SelectFixingRoomAllByRoomState().ToString(); + lblReser.Text = new RoomService().SelectReseredRoomAllByRoomState().ToString(); } private void btnBS_Click(object sender, EventArgs e) @@ -167,13 +164,16 @@ namespace SYS.FormUI private void LoadRoomByState(int stateid) { flpRoom.Controls.Clear(); - romsty = RoomManager.SelectRoomByRoomState(stateid); + romsty = new RoomService().SelectRoomByRoomState(stateid); for (int i = 0; i < romsty.Count; i++) { - romt = new ucRoomList(this); - romt.Tag = romsty[i].RoomNo; + romt = new ucRoomList(); + romt.lblRoomNo.Text = romsty[i].RoomNo; + romt.lblCustoNo.Text = romsty[i].CustoNo; + romt.lblRoomType.Text = romsty[i].RoomName; romt.romCustoInfo = romsty[i]; flpRoom.Controls.Add(romt); + } lblRoomNo.Text = ""; lblRoomPosition.Text = ""; @@ -185,13 +185,16 @@ namespace SYS.FormUI private void LoadRoom() { flpRoom.Controls.Clear(); - romsty = RoomManager.SelectRoomAll(); + romsty = new RoomService().SelectRoomAll(); for (int i = 0; i < romsty.Count; i++) { - romt = new ucRoomList(this); - romt.Tag = romsty[i].RoomNo; + romt = new ucRoomList(); + romt.lblRoomNo.Text = romsty[i].RoomNo; + romt.lblCustoNo.Text = romsty[i].CustoNo; + romt.lblRoomType.Text = romsty[i].RoomName; romt.romCustoInfo = romsty[i]; flpRoom.Controls.Add(romt); + } lblRoomNo.Text = ""; lblRoomPosition.Text = ""; diff --git a/SYS.FormUI/AppFunction/FrmRoomStateManager.cs b/SYS.FormUI/AppFunction/FrmRoomStateManager.cs index 9d44858..9b092ef 100644 --- a/SYS.FormUI/AppFunction/FrmRoomStateManager.cs +++ b/SYS.FormUI/AppFunction/FrmRoomStateManager.cs @@ -3,6 +3,7 @@ using System.Windows.Forms; using SYS.Manager; using SYS.Core; using Sunny.UI; +using SYS.Application; namespace SYS.FormUI { @@ -16,11 +17,10 @@ namespace SYS.FormUI #region 窗体加载事件 private void FrmRoomStateManager_Load(object sender, EventArgs e) { - txtRoomNo.Text = RoomStatic.RoomNo; - cboState.DataSource = RoomManager.SelectRoomStateAll(); + txtRoomNo.Text = ucRoomList.rm_RoomNo; + cboState.DataSource = new RoomService().SelectRoomStateAll(); cboState.DisplayMember = "RoomState"; cboState.ValueMember = "RoomStateId"; - cboState.SelectedIndex = RoomStatic.RoomStateId; } #endregion diff --git a/SYS.FormUI/AppFunction/FrmSelectCustoInfo.cs b/SYS.FormUI/AppFunction/FrmSelectCustoInfo.cs index f668c6c..7be265e 100644 --- a/SYS.FormUI/AppFunction/FrmSelectCustoInfo.cs +++ b/SYS.FormUI/AppFunction/FrmSelectCustoInfo.cs @@ -4,6 +4,7 @@ using SYS.Manager; using SYS.Core; using Sunny.UI; using System.Collections.Generic; +using SYS.Application; namespace SYS.FormUI { @@ -53,7 +54,7 @@ namespace SYS.FormUI #endregion #region 加载性别信息 - List listSexType = new BaseManager().SelectSexTypeAll(); + List listSexType = new BaseService().SelectSexTypeAll(); this.cbSex.DataSource = listSexType; this.cbSex.DisplayMember = "sexName"; this.cbSex.ValueMember = "sexId"; diff --git a/SYS.FormUI/AppFunction/FrmSellThing.cs b/SYS.FormUI/AppFunction/FrmSellThing.cs index 4520dd0..aa3a0db 100644 --- a/SYS.FormUI/AppFunction/FrmSellThing.cs +++ b/SYS.FormUI/AppFunction/FrmSellThing.cs @@ -216,7 +216,7 @@ namespace SYS.FormUI LoadSpendInfo(r.RoomNo); LoadSellThingInfo(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName + "于" + DateTime.Now + "帮助" + s.CustoNo + "进行了消费商品:" + txtSellName.Text + "操作!"; o.OperationAccount = LoginInfo.WorkerClub + LoginInfo.WorkerPosition + LoginInfo.WorkerName; diff --git a/SYS.FormUI/AppFunction/FrmUnLockSystem.Designer.cs b/SYS.FormUI/AppFunction/FrmUnLockSystem.Designer.cs index ef1ca27..94c0c3f 100644 --- a/SYS.FormUI/AppFunction/FrmUnLockSystem.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmUnLockSystem.Designer.cs @@ -41,7 +41,7 @@ this.label1.BackColor = System.Drawing.Color.Transparent; this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label1.ForeColor = System.Drawing.Color.Red; - this.label1.Location = new System.Drawing.Point(54, 52); + this.label1.Location = new System.Drawing.Point(54, 37); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(410, 24); this.label1.TabIndex = 0; @@ -82,7 +82,7 @@ this.btnUnLock.Style = Sunny.UI.UIStyle.Red; this.btnUnLock.TabIndex = 113; this.btnUnLock.Text = "解 锁"; - this.btnUnLock.Click += new System.EventHandler(this.btnUnLock_Click_1); + this.btnUnLock.Click += new System.EventHandler(this.btnUnLock_Click); // // FrmUnLockSystem // @@ -98,8 +98,11 @@ this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FrmUnLockSystem"; + this.Padding = new System.Windows.Forms.Padding(0); this.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); - this.Style = Sunny.UI.UIStyle.Red; + this.ShowInTaskbar = false; + this.ShowTitle = false; + this.Style = Sunny.UI.UIStyle.Custom; this.Text = "系统已锁定!"; this.TitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.Deactivate += new System.EventHandler(this.FrmUnLockSystem_Deactivate); diff --git a/SYS.FormUI/AppFunction/FrmUnLockSystem.cs b/SYS.FormUI/AppFunction/FrmUnLockSystem.cs index 6143355..45cb5c5 100644 --- a/SYS.FormUI/AppFunction/FrmUnLockSystem.cs +++ b/SYS.FormUI/AppFunction/FrmUnLockSystem.cs @@ -6,6 +6,7 @@ using System.Runtime.InteropServices; using System.Windows.Forms; using Sunny.UI; using SYS.Core; +using SYS.Manager; namespace SYS.FormUI { @@ -47,19 +48,22 @@ namespace SYS.FormUI private void btnUnLock_Click(object sender, EventArgs e) { - //if (txtUnLockPwd.Text != AdminInfo.ad) - //{ - // MessageBox.Show("密码错误! 请输入当前超管密码解锁!"); - // txtUnLockPwd.Text = ""; - // txtUnLockPwd.Focus(); - //} - //else - //{ - // this.Close(); - // string regPath = System.Windows.Forms.Application.StartupPath + @"\启用任务管理器.reg"; - // ExecuteReg(regPath); - // FrmMain.Start(); - //} + var account = AdminManager.SelectAdminPwdByAccount(AdminInfo.Account); + if (account != null) + { + if (account.AdminPassword != txtUnLockPwd.Text.Trim()) + { + MessageBox.Show("密码错误! 请输入当前超管密码解锁!"); + txtUnLockPwd.Text = ""; + txtUnLockPwd.Focus(); + return; + } + this.Close(); + string regPath = System.Windows.Forms.Application.StartupPath + @"\启用任务管理器.reg"; + ExecuteReg(regPath); + FrmMain.Start(); + + } } @@ -78,7 +82,7 @@ namespace SYS.FormUI { string regPath = System.Windows.Forms.Application.StartupPath + @"\禁用任务管理器.reg"; ExecuteReg(regPath); - FrmMain.Stop(); + //FrmMain.Stop(); //HookStart(); Process[] ps = Process.GetProcessesByName("TS酒店管理系统"); if (ps.Length < 0) diff --git a/SYS.FormUI/AppFunction/FrmUpLoad.Designer.cs b/SYS.FormUI/AppFunction/FrmUpLoadNotice.Designer.cs similarity index 64% rename from SYS.FormUI/AppFunction/FrmUpLoad.Designer.cs rename to SYS.FormUI/AppFunction/FrmUpLoadNotice.Designer.cs index 1961665..de5e149 100644 --- a/SYS.FormUI/AppFunction/FrmUpLoad.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmUpLoadNotice.Designer.cs @@ -1,6 +1,6 @@ namespace SYS.FormUI { - partial class FrmUpLoad + partial class FrmUpLoadNotice { /// /// Required designer variable. @@ -28,15 +28,13 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmUpLoad)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmUpLoadNotice)); this.UpLoadNotice = new System.Windows.Forms.Button(); this.pnlUpLoad = new System.Windows.Forms.Panel(); this.txtNoticePerson = new System.Windows.Forms.TextBox(); this.label6 = new System.Windows.Forms.Label(); this.cboSelectClub = new System.Windows.Forms.ComboBox(); this.label4 = new System.Windows.Forms.Label(); - this.btnUpLoad = new System.Windows.Forms.Button(); this.rtbNoticeContent = new System.Windows.Forms.RichTextBox(); this.dtpUpLoadDate = new System.Windows.Forms.DateTimePicker(); this.label3 = new System.Windows.Forms.Label(); @@ -44,13 +42,8 @@ this.label2 = new System.Windows.Forms.Label(); this.txtUpLoadNo = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.dgvNoticeList = new System.Windows.Forms.DataGridView(); - this.clNoticeNo = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.clNoticetheme = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.clNoticeContent = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.btnUpLoad = new System.Windows.Forms.Button(); this.pnlUpLoad.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvNoticeList)).BeginInit(); this.SuspendLayout(); // // UpLoadNotice @@ -58,7 +51,7 @@ this.UpLoadNotice.BackColor = System.Drawing.Color.DeepSkyBlue; this.UpLoadNotice.FlatAppearance.BorderSize = 0; this.UpLoadNotice.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.UpLoadNotice.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.UpLoadNotice.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.UpLoadNotice.Location = new System.Drawing.Point(12, 8); this.UpLoadNotice.Name = "UpLoadNotice"; this.UpLoadNotice.Size = new System.Drawing.Size(103, 23); @@ -81,70 +74,55 @@ this.pnlUpLoad.Controls.Add(this.label2); this.pnlUpLoad.Controls.Add(this.txtUpLoadNo); this.pnlUpLoad.Controls.Add(this.label1); - this.pnlUpLoad.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.pnlUpLoad.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.pnlUpLoad.Location = new System.Drawing.Point(3, 37); this.pnlUpLoad.Name = "pnlUpLoad"; - this.pnlUpLoad.Size = new System.Drawing.Size(614, 456); + this.pnlUpLoad.Size = new System.Drawing.Size(974, 456); this.pnlUpLoad.TabIndex = 1; this.pnlUpLoad.Visible = false; // // txtNoticePerson // - this.txtNoticePerson.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.txtNoticePerson.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.txtNoticePerson.Location = new System.Drawing.Point(403, 423); this.txtNoticePerson.Name = "txtNoticePerson"; - this.txtNoticePerson.Size = new System.Drawing.Size(88, 24); + this.txtNoticePerson.Size = new System.Drawing.Size(88, 21); this.txtNoticePerson.TabIndex = 11; // // label6 // this.label6.AutoSize = true; - this.label6.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.label6.Location = new System.Drawing.Point(357, 427); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.Size = new System.Drawing.Size(55, 15); this.label6.TabIndex = 10; this.label6.Text = "发布人:"; // // cboSelectClub // - this.cboSelectClub.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cboSelectClub.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.cboSelectClub.FormattingEnabled = true; this.cboSelectClub.Items.AddRange(new object[] { "人力资源管理部"}); this.cboSelectClub.Location = new System.Drawing.Point(229, 424); this.cboSelectClub.Name = "cboSelectClub"; - this.cboSelectClub.Size = new System.Drawing.Size(114, 25); + this.cboSelectClub.Size = new System.Drawing.Size(114, 23); this.cboSelectClub.TabIndex = 9; // // label4 // this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.label4.Location = new System.Drawing.Point(158, 427); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(68, 17); + this.label4.Size = new System.Drawing.Size(67, 15); this.label4.TabIndex = 8; this.label4.Text = "发布部门:"; // - // btnUpLoad - // - this.btnUpLoad.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnUpLoad.BackgroundImage"))); - this.btnUpLoad.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.btnUpLoad.FlatAppearance.BorderSize = 0; - this.btnUpLoad.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnUpLoad.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnUpLoad.Location = new System.Drawing.Point(497, 422); - this.btnUpLoad.Name = "btnUpLoad"; - this.btnUpLoad.Size = new System.Drawing.Size(75, 23); - this.btnUpLoad.TabIndex = 7; - this.btnUpLoad.Text = "发布"; - this.btnUpLoad.UseVisualStyleBackColor = true; - this.btnUpLoad.Click += new System.EventHandler(this.btnUpLoad_Click); - // // rtbNoticeContent // - this.rtbNoticeContent.Font = new System.Drawing.Font("苹方-简", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.rtbNoticeContent.Font = new System.Drawing.Font("Microsoft Sans Serif", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.rtbNoticeContent.Location = new System.Drawing.Point(0, 47); this.rtbNoticeContent.Name = "rtbNoticeContent"; this.rtbNoticeContent.Size = new System.Drawing.Size(611, 365); @@ -155,7 +133,7 @@ // this.dtpUpLoadDate.Location = new System.Drawing.Point(505, 14); this.dtpUpLoadDate.Name = "dtpUpLoadDate"; - this.dtpUpLoadDate.Size = new System.Drawing.Size(106, 24); + this.dtpUpLoadDate.Size = new System.Drawing.Size(106, 21); this.dtpUpLoadDate.TabIndex = 5; // // label3 @@ -172,7 +150,7 @@ // this.txtNoticeTheme.Location = new System.Drawing.Point(273, 14); this.txtNoticeTheme.Name = "txtNoticeTheme"; - this.txtNoticeTheme.Size = new System.Drawing.Size(145, 24); + this.txtNoticeTheme.Size = new System.Drawing.Size(145, 21); this.txtNoticeTheme.TabIndex = 3; // // label2 @@ -189,7 +167,7 @@ // this.txtUpLoadNo.Location = new System.Drawing.Point(84, 14); this.txtUpLoadNo.Name = "txtUpLoadNo"; - this.txtUpLoadNo.Size = new System.Drawing.Size(100, 24); + this.txtUpLoadNo.Size = new System.Drawing.Size(100, 21); this.txtUpLoadNo.TabIndex = 1; // // label1 @@ -202,78 +180,36 @@ this.label1.TabIndex = 0; this.label1.Text = "公告编号:"; // - // label5 - // - this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("苹方-简", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.label5.Location = new System.Drawing.Point(756, -3); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(134, 41); - this.label5.TabIndex = 108; - this.label5.Text = "历史公告"; - // - // dgvNoticeList - // - this.dgvNoticeList.AllowUserToAddRows = false; - this.dgvNoticeList.AllowUserToDeleteRows = false; - this.dgvNoticeList.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; - this.dgvNoticeList.BackgroundColor = System.Drawing.Color.SkyBlue; - this.dgvNoticeList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvNoticeList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.clNoticeNo, - this.clNoticetheme, - this.clNoticeContent}); - this.dgvNoticeList.Location = new System.Drawing.Point(619, 37); - this.dgvNoticeList.Name = "dgvNoticeList"; - this.dgvNoticeList.ReadOnly = true; - dataGridViewCellStyle1.Font = new System.Drawing.Font("苹方-简", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.dgvNoticeList.RowsDefaultCellStyle = dataGridViewCellStyle1; - this.dgvNoticeList.RowTemplate.Height = 23; - this.dgvNoticeList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dgvNoticeList.Size = new System.Drawing.Size(368, 456); - this.dgvNoticeList.TabIndex = 109; - this.dgvNoticeList.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvNoticeList_CellClick); - // - // clNoticeNo - // - this.clNoticeNo.DataPropertyName = "NoticeNo"; - this.clNoticeNo.HeaderText = "公告编号"; - this.clNoticeNo.Name = "clNoticeNo"; - this.clNoticeNo.ReadOnly = true; - // - // clNoticetheme - // - this.clNoticetheme.DataPropertyName = "Noticetheme"; - this.clNoticetheme.HeaderText = "公告主题"; - this.clNoticetheme.Name = "clNoticetheme"; - this.clNoticetheme.ReadOnly = true; - // - // clNoticeContent + // btnUpLoad // - this.clNoticeContent.DataPropertyName = "NoticeContent"; - this.clNoticeContent.HeaderText = "公告正文"; - this.clNoticeContent.Name = "clNoticeContent"; - this.clNoticeContent.ReadOnly = true; + this.btnUpLoad.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnUpLoad.BackgroundImage"))); + this.btnUpLoad.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.btnUpLoad.FlatAppearance.BorderSize = 0; + this.btnUpLoad.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnUpLoad.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnUpLoad.Location = new System.Drawing.Point(497, 422); + this.btnUpLoad.Name = "btnUpLoad"; + this.btnUpLoad.Size = new System.Drawing.Size(75, 23); + this.btnUpLoad.TabIndex = 7; + this.btnUpLoad.Text = "发布"; + this.btnUpLoad.UseVisualStyleBackColor = true; + this.btnUpLoad.Click += new System.EventHandler(this.btnUpLoad_Click); // - // FrmUpLoad + // FrmUpLoadNotice // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.SkyBlue; this.ClientSize = new System.Drawing.Size(989, 497); - this.Controls.Add(this.dgvNoticeList); - this.Controls.Add(this.label5); this.Controls.Add(this.pnlUpLoad); this.Controls.Add(this.UpLoadNotice); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Name = "FrmUpLoad"; + this.Name = "FrmUpLoadNotice"; this.Text = "FrmCashList"; this.Load += new System.EventHandler(this.FrmUpLoad_Load); this.pnlUpLoad.ResumeLayout(false); this.pnlUpLoad.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvNoticeList)).EndInit(); this.ResumeLayout(false); - this.PerformLayout(); } @@ -291,12 +227,7 @@ private System.Windows.Forms.Label label1; private System.Windows.Forms.ComboBox cboSelectClub; private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.DataGridView dgvNoticeList; private System.Windows.Forms.TextBox txtNoticePerson; private System.Windows.Forms.Label label6; - private System.Windows.Forms.DataGridViewTextBoxColumn clNoticeNo; - private System.Windows.Forms.DataGridViewTextBoxColumn clNoticetheme; - private System.Windows.Forms.DataGridViewTextBoxColumn clNoticeContent; } } \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmUpLoad.cs b/SYS.FormUI/AppFunction/FrmUpLoadNotice.cs similarity index 40% rename from SYS.FormUI/AppFunction/FrmUpLoad.cs rename to SYS.FormUI/AppFunction/FrmUpLoadNotice.cs index a0957fb..ab89389 100644 --- a/SYS.FormUI/AppFunction/FrmUpLoad.cs +++ b/SYS.FormUI/AppFunction/FrmUpLoadNotice.cs @@ -6,9 +6,9 @@ using SYS.Core; namespace SYS.FormUI { - public partial class FrmUpLoad : Form + public partial class FrmUpLoadNotice : Form { - public FrmUpLoad() + public FrmUpLoadNotice() { InitializeComponent(); } @@ -27,10 +27,10 @@ namespace SYS.FormUI int n = DBHelper.ExecuteNonQuery(sql); MessageBox.Show("上传成功,上传日期为:" + DateTime.Now.ToShortDateString() + ""); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); - o.Operationlog = AdminInfo.admingroup + AdminInfo.adminType + "于" + DateTime.Now + "进行了上传公告操作!"; - o.OperationAccount = AdminInfo.admingroup + AdminInfo.adminType; + o.Operationlog = AdminInfo.Account + AdminInfo.Name + "于" + DateTime.Now + "进行了上传公告操作!"; + o.OperationAccount = AdminInfo.Account + AdminInfo.Name; #endregion OperationlogManager.InsertOperationLog(o); foreach (Control Ctrol in pnlUpLoad.Controls) @@ -46,47 +46,21 @@ namespace SYS.FormUI } } - public void CmpSetDgv() - { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - this.dgvNoticeList.AllowUserToAddRows = false; - this.dgvNoticeList.AllowUserToDeleteRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.LightCyan; - this.dgvNoticeList.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; - this.dgvNoticeList.BackgroundColor = System.Drawing.Color.White; - this.dgvNoticeList.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; - this.dgvNoticeList.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;//211, 223, 240 - dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(223)))), ((int)(((byte)(240))))); - dataGridViewCellStyle2.Font = new System.Drawing.Font("苹方-简", 12, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Blue; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - this.dgvNoticeList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.dgvNoticeList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvNoticeList.EnableHeadersVisualStyles = false; - this.dgvNoticeList.GridColor = System.Drawing.SystemColors.GradientInactiveCaption; - this.dgvNoticeList.ReadOnly = true; - this.dgvNoticeList.RowHeadersVisible = false; - this.dgvNoticeList.RowTemplate.Height = 23; - this.dgvNoticeList.RowTemplate.ReadOnly = true; - } + private void FrmUpLoad_Load(object sender, EventArgs e) { - CmpSetDgv(); + cboSelectClub.SelectedIndex = 0; - dgvNoticeList.AutoGenerateColumns = false; - dgvNoticeList.DataSource = NoticeManager.SelectNoticeAll(); + } private void dgvNoticeList_CellClick(object sender, DataGridViewCellEventArgs e) { pnlUpLoad.Visible = true; - txtUpLoadNo.Text = dgvNoticeList.SelectedRows[0].Cells["clNoticeNo"].Value.ToString(); - txtNoticeTheme.Text = dgvNoticeList.SelectedRows[0].Cells["clNoticetheme"].Value.ToString(); - rtbNoticeContent.Text = dgvNoticeList.SelectedRows[0].Cells["clNoticeContent"].Value.ToString(); + //txtUpLoadNo.Text = dgvNoticeList.SelectedRows[0].Cells["clNoticeNo"].Value.ToString(); + //txtNoticeTheme.Text = dgvNoticeList.SelectedRows[0].Cells["clNoticetheme"].Value.ToString(); + //rtbNoticeContent.Text = dgvNoticeList.SelectedRows[0].Cells["clNoticeContent"].Value.ToString(); //cboSelectClub.Text= dgvNoticeList.SelectedRows[0].Cells["clNoticeClub"].ToString(); //txtNoticePerson.Text= dgvNoticeList.SelectedRows[0].Cells["clNoticePerson"].ToString(); } diff --git a/SYS.FormUI/AppFunction/FrmUpLoad.resx b/SYS.FormUI/AppFunction/FrmUpLoadNotice.resx similarity index 94% rename from SYS.FormUI/AppFunction/FrmUpLoad.resx rename to SYS.FormUI/AppFunction/FrmUpLoadNotice.resx index 6fdf3e7..bf371a0 100644 --- a/SYS.FormUI/AppFunction/FrmUpLoad.resx +++ b/SYS.FormUI/AppFunction/FrmUpLoadNotice.resx @@ -156,13 +156,4 @@ EBAQEBAQEBAQEBAQEBAlVlkA - - True - - - True - - - True - \ No newline at end of file diff --git a/SYS.FormUI/AppFunction/FrmTopChange.Designer.cs b/SYS.FormUI/AppFunction/FrmWorkerManager.Designer.cs similarity index 99% rename from SYS.FormUI/AppFunction/FrmTopChange.Designer.cs rename to SYS.FormUI/AppFunction/FrmWorkerManager.Designer.cs index e34a291..f54fb28 100644 --- a/SYS.FormUI/AppFunction/FrmTopChange.Designer.cs +++ b/SYS.FormUI/AppFunction/FrmWorkerManager.Designer.cs @@ -1,6 +1,6 @@ namespace SYS.FormUI { - partial class FrmTopChange + partial class FrmWorkerManager { /// /// Required designer variable. diff --git a/SYS.FormUI/AppFunction/FrmTopChange.cs b/SYS.FormUI/AppFunction/FrmWorkerManager.cs similarity index 97% rename from SYS.FormUI/AppFunction/FrmTopChange.cs rename to SYS.FormUI/AppFunction/FrmWorkerManager.cs index 579e3c9..25b763b 100644 --- a/SYS.FormUI/AppFunction/FrmTopChange.cs +++ b/SYS.FormUI/AppFunction/FrmWorkerManager.cs @@ -6,7 +6,7 @@ using SYS.Manager; namespace SYS.FormUI { - public partial class FrmTopChange : Form + public partial class FrmWorkerManager : Form { public static string wk_WorkerNo; public static string wk_WorkerName; @@ -28,7 +28,7 @@ namespace SYS.FormUI //定义委托类型的变量 public static ReLoadWorkerList Reload; - public FrmTopChange() + public FrmWorkerManager() { InitializeComponent(); Reload = LoadWorker; @@ -71,7 +71,7 @@ namespace SYS.FormUI CmpSetDgv(); dgvWorkerList.AutoGenerateColumns = false; dgvWorkerList.DataSource = WorkerManager.SelectWorkerAll(); - if (AdminInfo.adminType != "总经理") + if (AdminInfo.Type != "总经理") { btnAddWorker.Enabled = false; btnAddWorker.Text = "权限不足"; diff --git a/SYS.FormUI/AppFunction/FrmTopChange.resx b/SYS.FormUI/AppFunction/FrmWorkerManager.resx similarity index 100% rename from SYS.FormUI/AppFunction/FrmTopChange.resx rename to SYS.FormUI/AppFunction/FrmWorkerManager.resx diff --git a/SYS.FormUI/AppInterface/FrmAdminEnter.cs b/SYS.FormUI/AppInterface/FrmAdminEnter.cs index 96ef806..c212f00 100644 --- a/SYS.FormUI/AppInterface/FrmAdminEnter.cs +++ b/SYS.FormUI/AppInterface/FrmAdminEnter.cs @@ -26,9 +26,10 @@ namespace SYS.FormUI Admin a = AdminManager.SelectMangerByPass(account,pass); if (a != null)//判断超管是否存在 { - AdminInfo.adminType = a.AdminType; - AdminInfo.adminName = txtPassword.Text; - FrmBackAdmin fm = new FrmBackAdmin(); + AdminInfo.Type = a.AdminType; + AdminInfo.Name = a.AdminName; + AdminInfo.Account = a.AdminAccount; + FrmBackgroundSystem fm = new FrmBackgroundSystem(); fm.Show();//打开主窗体 this.Hide();//隐藏登录窗体 } diff --git a/SYS.FormUI/AppInterface/FrmLogin.cs b/SYS.FormUI/AppInterface/FrmLogin.cs index 831b1fa..73c67f8 100644 --- a/SYS.FormUI/AppInterface/FrmLogin.cs +++ b/SYS.FormUI/AppInterface/FrmLogin.cs @@ -7,6 +7,7 @@ using SYS.Core; using SYS.FormUI.Properties; using System.Collections.Generic; using Sunny.UI; +using SYS.Application; namespace SYS.FormUI { @@ -109,10 +110,10 @@ namespace SYS.FormUI #region 判断版本号 private void CheckUpdate() { - string newversion = CheckInfoManager.CheckBaseVersion(); + var newversion = new ApplicationVersionUtil().CheckBaseVersion(); string version = System.Windows.Forms.Application.ProductVersion.ToString(); - if (version != newversion) + if (newversion.base_version != version) { UIMessageDialog.ShowErrorDialog(this, "系统提醒", "旧版已停止使用,请到github或gitee仓库更新最新发行版!"); System.Windows.Forms.Application.Exit(); @@ -169,10 +170,10 @@ namespace SYS.FormUI { string id = txtWorkerId.Text;//获取员工编号 string pwd = txtWorkerPwd.Text;//获取员工密码 - Worker w = WorkerManager.SelectWorkerInfoByWorkerId(id); + Worker w = new WorkerService().SelectWorkerInfoByWorkerId(id); if (w != null)//判断员工编号是否存在 { - w = WorkerManager.SelectWorkerInfoByWorkerIdAndWorkerPwd(id, pwd); + w = new WorkerService().SelectWorkerInfoByWorkerIdAndWorkerPwd(id, pwd); if (w != null) //判断员工密码是否正确 { LoginInfo.WorkerNo = w.WorkerId; @@ -184,12 +185,14 @@ namespace SYS.FormUI this.Hide();//隐藏登录窗体 frm.Show();//打开主窗体 #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = txtWorkerId.Text + "于" + DateTime.Now + "登入了系统!"; o.OperationAccount = txtWorkerId.Text; + o.datains_usr = LoginInfo.WorkerNo; + o.datains_date = DateTime.Now; #endregion - OperationlogManager.InsertOperationLog(o); + new OperationlogService().InsertOperationLog(o); } else { @@ -204,8 +207,9 @@ namespace SYS.FormUI } } } - catch + catch(Exception ex) { + Console.WriteLine(ex); MessageBox.Show("请连接好数据库!", "温馨提示"); } } diff --git a/SYS.FormUI/AppMain/FrmMain.Designer.cs b/SYS.FormUI/AppMain/FrmMain.Designer.cs index d5b2811..6d65f46 100644 --- a/SYS.FormUI/AppMain/FrmMain.Designer.cs +++ b/SYS.FormUI/AppMain/FrmMain.Designer.cs @@ -345,7 +345,7 @@ this.pnlCheckInfo.Controls.Add(this.label2); this.pnlCheckInfo.Location = new System.Drawing.Point(173, 53); this.pnlCheckInfo.Name = "pnlCheckInfo"; - this.pnlCheckInfo.Size = new System.Drawing.Size(92, 73); + this.pnlCheckInfo.Size = new System.Drawing.Size(88, 73); this.pnlCheckInfo.TabIndex = 27; this.pnlCheckInfo.Visible = false; // @@ -353,7 +353,7 @@ // this.lblClose.AutoSize = true; this.lblClose.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblClose.Location = new System.Drawing.Point(73, 6); + this.lblClose.Location = new System.Drawing.Point(66, 5); this.lblClose.Name = "lblClose"; this.lblClose.Size = new System.Drawing.Size(16, 17); this.lblClose.TabIndex = 3; diff --git a/SYS.FormUI/AppMain/FrmMain.cs b/SYS.FormUI/AppMain/FrmMain.cs index 945fc0d..d604b0c 100644 --- a/SYS.FormUI/AppMain/FrmMain.cs +++ b/SYS.FormUI/AppMain/FrmMain.cs @@ -10,6 +10,7 @@ using SYS.Core; using SYS.FormUI.Properties; using Sunny.UI; using System.Management; +using SYS.Application; namespace SYS.FormUI { @@ -233,19 +234,18 @@ namespace SYS.FormUI #region 窗体加载事件方法 private void FrmMain_Load(object sender, EventArgs e) { - foreach (Control item in this.Controls) - { - if (item.GetType().ToString() == "System.Windows.Forms.Label") - { - item.Font = UI_FontUtil.SetMainFont(); - } - } + //foreach (Control item in this.Controls) + //{ + // if (item.GetType().ToString() == "System.Windows.Forms.Label") + // { + // item.Font = UI_FontUtil.SetMainFont(); + // } + //} var type = GetCurrentChassisType(); if (type == ChassisTypes.Laptop || type == ChassisTypes.Notebook) { iBattery.Visible = true; - iBattery.FillColor = Color.Lavender; } SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW); //API函数加载,实现窗体边框阴影效果 @@ -267,7 +267,7 @@ namespace SYS.FormUI label3.Text = "下午好," + LoginInfo.WorkerName; btnHello.BackgroundImage = Resources.咖啡; } - int n = Convert.ToInt32(WorkerCheckManager.SelectToDayCheckInfoByWorkerNo(LoginInfo.WorkerNo)); + int n = Convert.ToInt32(new WorkerCheckService().SelectToDayCheckInfoByWorkerNo(LoginInfo.WorkerNo)); if (n > 0) { linkLabel1.Text = "已打卡"; @@ -377,7 +377,7 @@ namespace SYS.FormUI FrmAdminEnter frm = new FrmAdminEnter(); frm.Show(); #region 获取添加操作日志所需的信息 - Operation o = new Operation(); + OperationLog o = new OperationLog(); o.OperationTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd,HH:mm:ss")); o.Operationlog = LoginInfo.WorkerNo + LoginInfo.WorkerName + "于" + DateTime.Now + "尝试或成功登入了后台系统!"; o.OperationAccount = LoginInfo.WorkerNo; @@ -479,14 +479,14 @@ namespace SYS.FormUI private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - int n = Convert.ToInt32(WorkerCheckManager.SelectToDayCheckInfoByWorkerNo(LoginInfo.WorkerNo)); + int n = Convert.ToInt32(new WorkerCheckService().SelectToDayCheckInfoByWorkerNo(LoginInfo.WorkerNo)); if (n > 0) { linkLabel1.Text = "已打卡"; linkLabel1.ForeColor = Color.Green; linkLabel1.LinkColor = Color.Green; pnlCheckInfo.Visible = true; - lblCheckDay.Text = Convert.ToString(WorkerCheckManager.SelectWorkerCheckDaySumByWorkerNo(LoginInfo.WorkerNo)); + lblCheckDay.Text = Convert.ToString(new WorkerCheckService().SelectWorkerCheckDaySumByWorkerNo(LoginInfo.WorkerNo)); } else { @@ -503,10 +503,10 @@ namespace SYS.FormUI CheckTime = DateTime.Parse(GetNetDateTime()) }; - int j = WorkerCheckManager.AddCheckInfo(workerCheck); - if (j > 0) + bool j = new WorkerCheckService().AddCheckInfo(workerCheck); + if (j == true) { - lblCheckDay.Text = Convert.ToString(WorkerCheckManager.SelectWorkerCheckDaySumByWorkerNo(LoginInfo.WorkerNo)); + lblCheckDay.Text = Convert.ToString(new WorkerCheckService().SelectWorkerCheckDaySumByWorkerNo(LoginInfo.WorkerNo)); MessageBox.Show("打卡成功!你已累计打卡" + lblCheckDay.Text + "天,再接再厉吧!", "打卡提醒", MessageBoxButtons.OK, MessageBoxIcon.Information); linkLabel1.Text = "已打卡"; linkLabel1.ForeColor = Color.Green; diff --git a/SYS.FormUI/AppFunction/FrmAdminMain.Designer.cs b/SYS.FormUI/AppUserControls/CtrlOrgChar.Designer.cs similarity index 37% rename from SYS.FormUI/AppFunction/FrmAdminMain.Designer.cs rename to SYS.FormUI/AppUserControls/CtrlOrgChar.Designer.cs index fd10ca6..0fbd6d3 100644 --- a/SYS.FormUI/AppFunction/FrmAdminMain.Designer.cs +++ b/SYS.FormUI/AppUserControls/CtrlOrgChar.Designer.cs @@ -1,17 +1,16 @@ - -namespace SYS.FormUI +namespace SYS.FormUI { - partial class FrmAdminMain + partial class CtrlOrgChar { - /// - /// Required designer variable. + /// + /// 設計工具所需的變數。 /// private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. + /// + /// 清除任何使用中的資源。 /// - /// true if managed resources should be disposed; otherwise, false. + /// 如果應該處置 Managed 資源則為 true,否則為 false。 protected override void Dispose(bool disposing) { if (disposing && (components != null)) @@ -21,33 +20,41 @@ namespace SYS.FormUI base.Dispose(disposing); } - #region Windows Form Designer generated code + #region 元件設計工具產生的程式碼 - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. + /// + /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器修改這個方法的內容。 + /// /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAdminMain)); + this.panel1 = new System.Windows.Forms.Panel(); this.SuspendLayout(); // - // FrmAdminMain + // panel1 // - this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); + this.panel1.Location = new System.Drawing.Point(12, 17); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(50, 44); + this.panel1.TabIndex = 7; + // + // CtrlOrgChar + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1080, 720); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.IsForbidAltF4 = true; - this.Name = "FrmAdminMain"; - this.ShowIcon = true; - this.Text = "TS酒店管理后台安全系统V1.2 稳定版"; - this.TextAlignment = System.Drawing.StringAlignment.Center; - this.Load += new System.EventHandler(this.FrmAdminMain_Load); + this.BackColor = System.Drawing.SystemColors.Info; + this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Controls.Add(this.panel1); + this.Name = "CtrlOrgChar"; + this.Size = new System.Drawing.Size(764, 490); this.ResumeLayout(false); } #endregion + + private System.Windows.Forms.Panel panel1; + + } -} \ No newline at end of file +} diff --git a/SYS.FormUI/AppUserControls/CtrlOrgChar.cs b/SYS.FormUI/AppUserControls/CtrlOrgChar.cs new file mode 100644 index 0000000..657f33f --- /dev/null +++ b/SYS.FormUI/AppUserControls/CtrlOrgChar.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace SYS.FormUI +{ + public partial class CtrlOrgChar : UserControl + { + public CtrlOrgChar() + { + InitializeComponent(); + } + OrgCharGenerator _CharGen = new OrgCharGenerator(); + + private object _RootParentKeyValue; + public object RootParentKeyValue + { + get + { + return _RootParentKeyValue; + } + set + { + if (_RootParentKeyValue != value) + { + _RootParentKeyValue = value; + } + } + } + private string _KeyFileName; + public string KeyFileName + { + get + { + return _KeyFileName; + } + set + { + if (_KeyFileName != value) + { + _KeyFileName = value; + } + } + } + private string _ParentKeyFileName; + public string ParentKeyFileName + { + get + { + return _ParentKeyFileName; + } + set + { + if (_ParentKeyFileName != value) + { + _ParentKeyFileName = value; + } + } + } + private DataTable _DataSource; + public DataTable DataSource + { + get + { + return _DataSource; + } + set + { + if (_DataSource != value) + { + _DataSource = value; + } + } + } + + + public void ShowChar() + { + try + { + this.panel1.SuspendLayout(); + OrgCharDataSource ds = new OrgCharDataSource(this.KeyFileName, + ParentKeyFileName, + _RootParentKeyValue, + DataSource, + typeof(SH_OrgCharControlBuilder), + this.panel1); + _CharGen.GeneratorControlChar(ds); + this.panel1.Invalidate(); + } + finally + { + this.panel1.ResumeLayout(false); + } + } + } +} diff --git a/SYS.FormUI/AppUserControls/CtrlOrgChar.resx b/SYS.FormUI/AppUserControls/CtrlOrgChar.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/SYS.FormUI/AppUserControls/CtrlOrgChar.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SYS.FormUI/AppUserControls/CtrlOrgPanel.Designer.cs b/SYS.FormUI/AppUserControls/CtrlOrgPanel.Designer.cs new file mode 100644 index 0000000..2c2fb17 --- /dev/null +++ b/SYS.FormUI/AppUserControls/CtrlOrgPanel.Designer.cs @@ -0,0 +1,130 @@ +namespace SYS.FormUI +{ + partial class CtrlOrgPanel + { + /// + /// 設計工具所需的變數。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清除任何使用中的資源。 + /// + /// 如果應該處置 Managed 資源則為 true,否則為 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 元件設計工具產生的程式碼 + + /// + /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器修改這個方法的內容。 + /// + /// + private void InitializeComponent() + { + this.labName = new System.Windows.Forms.LinkLabel(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.labDecision = new System.Windows.Forms.Label(); + this.labJobs = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // labName + // + this.labName.AutoSize = true; + this.labName.BackColor = System.Drawing.Color.Transparent; + this.labName.Location = new System.Drawing.Point(44, 8); + this.labName.Name = "labName"; + this.labName.Size = new System.Drawing.Size(0, 13); + this.labName.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Location = new System.Drawing.Point(10, 8); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(34, 13); + this.label1.TabIndex = 1; + this.label1.Text = "姓名:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Location = new System.Drawing.Point(10, 24); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(34, 13); + this.label2.TabIndex = 2; + this.label2.Text = "職位:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.BackColor = System.Drawing.Color.Transparent; + this.label3.Location = new System.Drawing.Point(9, 40); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(34, 13); + this.label3.TabIndex = 4; + this.label3.Text = "決策:"; + // + // labDecision + // + this.labDecision.AutoSize = true; + this.labDecision.BackColor = System.Drawing.Color.Transparent; + this.labDecision.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(136))); + this.labDecision.ForeColor = System.Drawing.Color.Blue; + this.labDecision.Location = new System.Drawing.Point(44, 39); + this.labDecision.Name = "labDecision"; + this.labDecision.Size = new System.Drawing.Size(0, 13); + this.labDecision.TabIndex = 5; + // + // labJobs + // + this.labJobs.AutoSize = true; + this.labJobs.BackColor = System.Drawing.Color.Transparent; + this.labJobs.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(136))); + this.labJobs.ForeColor = System.Drawing.Color.Blue; + this.labJobs.Location = new System.Drawing.Point(44, 24); + this.labJobs.Name = "labJobs"; + this.labJobs.Size = new System.Drawing.Size(0, 15); + this.labJobs.TabIndex = 6; + // + // CtrlOrgPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(245)))), ((int)(((byte)(241))))); + this.BackgroundImage = global::SYS.FormUI.Properties.Resources.組織圖塊; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.labName); + this.Controls.Add(this.labDecision); + this.Controls.Add(this.labJobs); + this.DoubleBuffered = true; + this.Name = "CtrlOrgPanel"; + this.Size = new System.Drawing.Size(135, 62); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.LinkLabel labName; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label labDecision; + private System.Windows.Forms.Label labJobs; + } +} diff --git a/SYS.FormUI/AppUserControls/CtrlOrgPanel.cs b/SYS.FormUI/AppUserControls/CtrlOrgPanel.cs new file mode 100644 index 0000000..21ce191 --- /dev/null +++ b/SYS.FormUI/AppUserControls/CtrlOrgPanel.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace SYS.FormUI +{ + public partial class CtrlOrgPanel : UserControl, IOrgCharNodeControl + { + public CtrlOrgPanel() + { + InitializeComponent(); + this.Click += new EventHandler(NodeButton_Click); + } + public CtrlOrgPanel(DataRow dr, string name, string descision, string jobs) + { + InitializeComponent(); + + this.Click += new EventHandler(NodeButton_Click); + SourceRow = dr; + this.labDecision.Text = descision; + this.labJobs.Text = jobs; + this.labName.Text = name; + } + + private DataRow _SourceRow; + private DataRow SourceRow + { + set + { + if (_SourceRow != value) + { + _SourceRow = value; + } + } + } + + void NodeButton_Click(object sender, EventArgs e) + { + if (this.ClickCallBack != null) + { + this.ClickCallBack.Invoke(this.Node); + } + } + public OrgCharNode _Node; + #region INodeControl 成員 + private dlgNodeClick _ClickCallBack; + public dlgNodeClick ClickCallBack + { + get + { + return _ClickCallBack; + } + set + { + _ClickCallBack = value; + } + } + public OrgCharNode Node + { + get { return _Node; } + set + { + this._Node = value; + + } + } + public int NodeWidth + { + get { return this.Width; } + set { this.Width = value; } + } + public int NodeHeight + { + get { return this.Height; } + set { this.Height = value; } + } + public int Node_X + { + get { return this.Left; } + set { this.Left = value; } + } + public int Node_Y + { + get { return this.Top; } + set { this.Top = value; } + } + + #endregion + + + + + } + + public class SH_OrgCharControlBuilder : IOrgCharControlBuilder + { + + + #region IOrgCharControlBuilder 成員 + + IOrgCharNodeControl IOrgCharControlBuilder.Build(DataRow dr) + { + //CtrlOrgPanel pel = new CtrlOrgPanel(dr, + // dr["CD_MEMBER"] == DBNull.Value ? "" : dr["CD_MEMBER"].ToString(), + // dr["CD_ROLE"] == DBNull.Value ? "" : dr["CD_ROLE"].ToString(), + // dr["CD_JOB"] == DBNull.Value ? "" : dr["CD_JOB"].ToString() + // ); + CtrlOrgPanel pel = new CtrlOrgPanel(dr, + dr["id"] == DBNull.Value ? "" : dr["id"].ToString(), + dr["id"] == DBNull.Value ? "" : dr["id"].ToString(), + dr["id"] == DBNull.Value ? "" : dr["id"].ToString() + ); + return pel; + } + + #endregion + } +} diff --git a/SYS.FormUI/AppUserControls/CtrlOrgPanel.resx b/SYS.FormUI/AppUserControls/CtrlOrgPanel.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/SYS.FormUI/AppUserControls/CtrlOrgPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SYS.FormUI/AppUserControls/ExtensionMethods.cs b/SYS.FormUI/AppUserControls/ExtensionMethods.cs new file mode 100644 index 0000000..01054b4 --- /dev/null +++ b/SYS.FormUI/AppUserControls/ExtensionMethods.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SYS.FormUI +{ + public static class ExtensionMethods + { + public static DataTable ToDataTable(this IList data) + { + PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T)); + DataTable dt = new DataTable(); + for (int i = 0; i < properties.Count; i++) + { + PropertyDescriptor property = properties[i]; + dt.Columns.Add(property.Name, property.PropertyType); + } + object[] values = new object[properties.Count]; + foreach (T item in data) + { + for (int i = 0; i < values.Length; i++) + { + values[i] = properties[i].GetValue(item); + } + dt.Rows.Add(values); + } + return dt; + } + + } +} diff --git a/SYS.FormUI/AppUserControls/OrgCharGenerator.cs b/SYS.FormUI/AppUserControls/OrgCharGenerator.cs new file mode 100644 index 0000000..7a6315c --- /dev/null +++ b/SYS.FormUI/AppUserControls/OrgCharGenerator.cs @@ -0,0 +1,681 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.Data; +using System.Windows.Forms; + +namespace SYS.FormUI +{ + public delegate void dlgNodeClick(OrgCharNode node); + public class OrgCharGenerator + { + public const int ROOTMAIGINS_TOP = 30; + public const int NODEMAIGINS_RIGHT = 20; + public const int NODEMAIGINS_LEFT = 20; + /// + /// 節點的垂直間距 + /// + public const int NODE_V_DIS = 50; + /// + /// 節點的水平間距 + /// + public const int NODE_H_DIS = 10; + /// + /// 節點寬 + /// + public const int NODE_WIDTH = 129; + /// + /// 節點高度 + /// + public const int NODE_HEIGHT = 61; + /// + /// 跟節點 + /// + public OrgCharNode _RootNode; + /// + /// 層次集合 + /// + public List Levels = new List(); + /// + /// 數據源 + /// + public OrgCharDataSource DataSource; + /// + /// 容器的控件 + /// + public CtrlOrgChar _OrgCtrl; + public int Max_X; + public int Max_Y; + /// + /// 給定某個範圍,計算出每個node的位置Rectangle + /// + /// + /// 最左邊的節點x座標 + /// 最左邊的節點y座標 + public void GeneratorControlChar(OrgCharNode RootNode) + { + this.Max_X = 0; + this.Max_Y = 0; + _RootNode = RootNode; + this.Levels.Clear(); + AddNodeToLevels(RootNode); + CalNodeRec(RootNode); + if (this.DataSource != null && this.DataSource.Container != null) + { + this.DataSource.Container.Width = this.Max_X + NODE_WIDTH + NODEMAIGINS_RIGHT; + this.DataSource.Container.Height = this.Max_Y + NODE_HEIGHT; + } + } + public void GeneratorControlChar(OrgCharDataSource datasource) + { + DataSource = datasource; + DataSource.Container.Paint += new PaintEventHandler(Container_Paint); + this._RootNode=DataSource.BuildNodeTree(); + GeneratorControlChar(this._RootNode); + } + void Container_Paint(object sender, PaintEventArgs e) + { + this.DrawParenChildLine(e.Graphics); + } + /// + /// 把各個leve層次的節點加入到對應的level中 + /// + /// + private void AddNodeToLevels(OrgCharNode n) + { + if (n.Level > Levels.Count - 1) + { + Level l = new Level(n.Level); + l.Items.Add(n); + Levels.Add(l); + } + else + { + Levels[n.Level].Items.Add(n); + } + Levels.Sort(CompareSortLevel); //重新排序列表 + } + private int CompareSortLevel(Level x, Level y) + { + return x.level.CompareTo(y.level); + } + /// + /// 通過childs來獲取node X座標 + /// + /// + /// + public int GetXByChilds(OrgCharNode node) + { + if (node.Childs.Count > 0) + { + int tmp = 0; + tmp = node.FirstChildNode.X + ((node.LastChildNode.Right - node.FirstChildNode.X) / 2) - NODE_WIDTH / 2; + return tmp; + } + return -1; + } + /// + /// 通過父親的前一個節點的子節點來獲取X座標 + /// + /// + /// + public int GetXByParentPreviousNode(OrgCharNode node) + { + if (node.ParentNode == null) { return -1; } + OrgCharNode pprvnode = node.ParentNode.PreviousNode; + if (pprvnode != null) + { + if (pprvnode.Childs.Count > 0) + { + return pprvnode.LastChildNode.Right + NODE_H_DIS; + } + else + { + return pprvnode.X ; + } + } + else + { + if (node.ParentNode != null) + { + return GetXByParentPreviousNode(node.ParentNode); + } + } + return -1; + } + /// + /// 通過同level的前一個子節點的Right來獲取X座標 + /// + /// + /// + public int GetXByLevel(OrgCharNode node) + { + OrgCharNode prvnode = this.Levels[node.Level].GetPrviousNode(node); + if (prvnode != null) + { + return prvnode.Right + NODE_H_DIS; + } + return -1; + } + + public void CalNodeRec(OrgCharNode node) + { + AddNodeToLevels(node); + foreach (OrgCharNode n in node.Childs) + { + CalNodeRec(n); + } + //System.Diagnostics.Debug.WriteLine((node.Tag); + + node.Width = NODE_WIDTH; + node.Heigth = NODE_HEIGHT; + int[] sortArr = new int[] { + GetXByParentPreviousNode(node), + GetXByChilds(node), + GetXByLevel(node), + NODEMAIGINS_RIGHT }; + Array.Sort(sortArr); + int N_X = sortArr[sortArr.Length - 1]; //取出最大X座標 就是node 的座標 + node.X = N_X; + node.Y = (NODE_V_DIS + NODE_HEIGHT) * node.Level + ROOTMAIGINS_TOP; + if (Max_X < node.X) + { + Max_X = node.X; + } + if (Max_Y< node.Y) + { + Max_Y = node.Y; + } + } + private Pen uPen = new Pen(SystemColors.ControlText, 2); + private Graphics g; + /// + /// 畫父子之間的線條 + /// + public void DrawParenChildLine(Graphics g) + { + this.g = g; + if (this._RootNode != null) + { + DrawParenChildLine(this._RootNode); + } + } + private void DrawParenChildLine(OrgCharNode node) + { + if (node.Childs.Count > 0) + { + foreach (OrgCharNode n in node.Childs) + { + + Draw3Dline( + node.X + node.Width / 2, + node.Botton, + node.X + node.Width / 2, + node.Botton + NODE_V_DIS / 2); + Draw3DEndPoint(node.X + node.Width / 2 , node.Botton,0); + Draw3Dline( + node.X + node.Width / 2, + node.Botton + NODE_V_DIS / 2, + n.X + n.Width / 2, + n.Y - NODE_V_DIS / 2); + Draw3Dline( + n.X + n.Width / 2, + n.Y - NODE_V_DIS / 2, + n.X + n.Width / 2, + n.Y); + Draw3DEndPoint(n.X + n.Width / 2 , n.Y,1); + DrawParenChildLine(n); + + } + } + } + SolidBrush EnpointBrush = new SolidBrush(SystemColors.ControlLightLight); + private void Draw3DEndPoint(int x, int y ,int upanddown) + { + //this.g.FillEllipse(new SolidBrush(SystemColors.ControlDark), new Rectangle(x , y , 8, 8)); + + int h = 5; + Point p1 = new Point(x, y); + + + if (upanddown == 0) + { + + Point p2 = new Point(x , y - h); + Point p3 = new Point(x - h, y - h); + Point p4 = new Point(x + h, y - h); + p1.Offset(-1, 4); + p2.Offset(-1, 4); + p3.Offset(-1, 4); + p4.Offset(-1, 4); + EnpointBrush.Color = ControlPaint.Light(SystemColors.ControlLight, 0.4f); + this.g.FillPolygon(EnpointBrush, new Point[] { p1, p2, p3 }); + EnpointBrush.Color = ControlPaint.Dark(SystemColors.ControlDark, 0.2f); ; + this.g.FillPolygon(EnpointBrush, new Point[] { p1, p2, p4 }); + } + else + { + Point p2 = new Point(x , y+h); + Point p5 = new Point(x - h, y+h); + Point p6 = new Point(x + h, y+h); + p1.Offset(-1, -5); + p2.Offset(-1, -5); + p5.Offset(-1, -5); + p6.Offset(-1, -5); + EnpointBrush.Color = ControlPaint.Light(SystemColors.ControlLight, 0.4f); + + this.g.FillPolygon(EnpointBrush, new Point[] { p1, p2, p5}); + EnpointBrush.Color = ControlPaint.Dark(SystemColors.ControlDark, 0.2f); ; + this.g.FillPolygon(EnpointBrush, new Point[] { p1, p2, p6 }); + } + } + + private void Draw3Dline(int x, int y, int x1, int y1) + { + if (g != null) + { + g.DrawLine(uPen, x, y, x1, y1); + Draw3DLine(g, new Point(x, y), new Point(x1, y1), BorderStyle3D.RaisedFrame, SystemColors.ControlLight, SystemColors.ControlDark); + } + } + private enum BorderStyle3D + { + Default, + None, + Flat, + Raised, + RaisedInner, + RaisedOuter, + Sunken, + SunkenInner, + SunkenOuter, + Etched, + Bump, + RaisedFrame + } + private void Draw3DLine(Graphics g, Point x, Point y, BorderStyle3D style, Color baseColor, Color border) + { + Color color = ControlPaint.Light(baseColor, 0.4f); + Color color2 = ControlPaint.LightLight(baseColor); + Color color3 = ControlPaint.Dark(baseColor, 0.2f); + Color color4 = ControlPaint.Dark(baseColor, 0.6f); + Pen pen = new Pen(color); + switch (style) + { + case BorderStyle3D.Default: + case BorderStyle3D.Flat: + pen.Color = (border == Color.Empty) ? baseColor : border; + g.DrawLine(pen, x, y); + break; + case BorderStyle3D.Raised: + Draw3DLine(g, x, y, BorderStyle3D.RaisedOuter, baseColor, border); + x.Offset(-1, -1); + y.Offset(-1, -1); + Draw3DLine(g, x, y, BorderStyle3D.RaisedInner, baseColor, border); + break; + case BorderStyle3D.RaisedInner: + if (x.X == y.Y) + { + g.DrawLine(pen, x, y); + } + else + { + pen.Color = color3; + g.DrawLine(pen, x, y); + } + break; + case BorderStyle3D.RaisedOuter: + if (x.X == y.Y) + { + pen.Color = color2; + g.DrawLine(pen, x, y); + } + else + { + pen.Color = color4; + g.DrawLine(pen, x, y); + } + break; + + case BorderStyle3D.Sunken: + Draw3DLine(g, x, y, BorderStyle3D.SunkenOuter, baseColor, border); + x.Offset(-1, -1); + y.Offset(-1, -1); + Draw3DLine(g, x, y, BorderStyle3D.SunkenInner, baseColor, border); + break; + + case BorderStyle3D.SunkenInner: + + if (x.X == y.Y) + { + pen.Color = color4; + g.DrawLine(pen, x, y); + } + else + { + pen.Color = color; + g.DrawLine(pen, x, y); + } + break; + case BorderStyle3D.SunkenOuter: + if (x.X == y.Y) + { + pen.Color = color3; + g.DrawLine(pen, x, y); + } + else + { + pen.Color = color2; + g.DrawLine(pen, x, y); + } + break; + + case BorderStyle3D.Etched: + Draw3DLine(g, x, y, BorderStyle3D.SunkenOuter, baseColor, border); + x.Offset(-1, -1); + y.Offset(-1, -1); + + Draw3DLine(g, x, y, BorderStyle3D.RaisedInner, baseColor, border); + break; + + case BorderStyle3D.Bump: + Draw3DLine(g, x, y, BorderStyle3D.RaisedOuter, baseColor, border); + x.Offset(-1, -1); + y.Offset(-1, -1); + + Draw3DLine(g, x, y, BorderStyle3D.SunkenInner, baseColor, border); + break; + case BorderStyle3D.RaisedFrame: + Draw3DLine(g, x, y, BorderStyle3D.Raised, baseColor, border); + x.Offset(-2, -2); + y.Offset(-2, -2); + Draw3DLine(g, x, y, BorderStyle3D.Sunken, baseColor, border); + break; + } + pen.Dispose(); + } + public class Level + { + public Level(int l) + { + level = l; + } + private int GetNodeIndex(OrgCharNode node) + { + for (int i = 0; i < this.Items.Count; i++) + { + if (node.Equals(this.Items[i])) + { + return i; + } + } + return -1; + } + public int level; + + public List Items = new List(); + /// + /// 獲取Level某個節點的前一個節點 + /// + /// + /// + public OrgCharNode GetPrviousNode(OrgCharNode node) + { + int index = this.GetNodeIndex(node); + if (index == -1 || index == 0) + { + return null; + } + else + { + return this.Items[index - 1]; + } + + } + } + } + public class OrgCharNode + { + public OrgCharNode(IOrgCharNodeControl c) + { + this.ctrl = c; + } + private Rectangle PosRec; + public int Level = 0; + public OrgCharNode ParentNode; + public IOrgCharNodeControl ctrl; + public List Childs = new List(); + public event dlgNodeClick OnNodeClick; + public void ControlCallBack(OrgCharNode node) + { + if (this.OnNodeClick != null) + { + this.OnNodeClick(this); + } + } + public void AddChild(OrgCharNode node) + { + node.ParentNode = this; + node.Level = this.Level + 1; + this.Childs.Add(node); + + } + public int Index + { + get + { + if (this.ParentNode != null) + { + return this.ParentNode.Childs.IndexOf(this); + } + return -1; + } + } + public OrgCharNode PreviousNode + { + get + { + if (this.ParentNode != null) + { + if (this.Index == -1 || this.Index == 0) + { + return null; + } + else + { + return this.ParentNode.Childs[this.Index - 1]; + } + } + + return null; + } + } + public OrgCharNode FirstChildNode + { + get + { + if (Childs.Count > 0) + { + return this.Childs[0]; + } + return null; + } + } + public OrgCharNode LastChildNode + { + get + { + if (Childs.Count ==0) + { + return null; + } + else + { + return this.Childs[this.Childs.Count -1]; + } + + } + } + public int X + { + get + { + return PosRec.X; + } + set + { + PosRec.X = value; + if (this.ctrl != null) + { + this.ctrl.Node_X = value; + } + } + } + public int Y + { + get + { + return PosRec.Y; + } + set + { + PosRec.Y = value; + if (this.ctrl != null) + { + this.ctrl.Node_Y = value; + } + } + } + public int Width + { + get + { + return PosRec.Width; + } + set + { + PosRec.Width = value; + if (this.ctrl != null) + { + this.ctrl.NodeWidth = value; + } + } + } + public int Heigth + { + get + { + return PosRec.Height; + } + set + { + PosRec.Height = value; + if (this.ctrl != null) + { + this.ctrl.NodeHeight = value; + } + } + } + public int Right + { + get + { + return X + Width; + } + } + public int Botton + { + get + { + return Y + Heigth; + } + } + public object Tag; + } + + public interface IOrgCharNodeControl + { + dlgNodeClick ClickCallBack { get; set; } + OrgCharNode Node { get; set; } + int Node_X { get; set; } + int Node_Y { get; set; } + int NodeWidth { get; set; } + int NodeHeight { get; set; } + } + public interface IOrgCharControlBuilder + { + IOrgCharNodeControl Build(DataRow dr); + } + + public class OrgCharDataSource + { + /// + /// 數據源構造函數 + /// + /// dt表的主鍵名稱 + /// dt表的父親鍵名稱 + /// 根節點的父節點值 + /// 要顯示的節點控件類型 給控件必須 繼承Control 實現IOrgCharNodeControl 接口 必須有無參數的構造函數 + /// 來源數據表 + public OrgCharDataSource(string k, string pk,object rootparentvalue, DataTable dt,Type Buildertype,Control c) + { + this.KeyFileName = k; + this.ParentKeyFileName = pk; + this.Table = dt; + this.RootParentvalue = rootparentvalue; + this.BuilderType = Buildertype; + this.Container = c; + } + public string KeyFileName; + public string ParentKeyFileName; + public object RootParentvalue; + public DataTable Table; + public Type BuilderType; + public Control Container; + public IOrgCharControlBuilder ControlBuilder; + public OrgCharNode BuildNodeTree() + { + DataRow[] drs = Table.Select(string.Format("{0}='{1}'", ParentKeyFileName, 0)); + if (ControlBuilder == null) + { + ControlBuilder = (IOrgCharControlBuilder)Activator.CreateInstance(this.BuilderType); + } + + IOrgCharNodeControl obj = ControlBuilder.Build(drs[0]); + this.Container.Controls.Add((Control)obj); + obj.Node_X = -100; + obj.NodeHeight = OrgCharGenerator.NODE_HEIGHT; + obj.NodeWidth = OrgCharGenerator.NODE_WIDTH; + OrgCharNode rootn = new OrgCharNode(obj); + obj.Node = rootn; + BuildNodeTree(drs[0], rootn); + return rootn; + } + private void BuildNodeTree(DataRow r, OrgCharNode pn) + { + DataRow[] drs = Table.Select(string.Format("{0}='{1}'", ParentKeyFileName, r[KeyFileName])); + foreach (DataRow d in drs) + { + if (ControlBuilder == null) + { + ControlBuilder = (IOrgCharControlBuilder)Activator.CreateInstance(this.BuilderType); + } + IOrgCharNodeControl obj = ControlBuilder.Build(d); + this.Container.Controls.Add((Control)obj); + + obj.Node_X = -100; + obj.NodeHeight = OrgCharGenerator.NODE_HEIGHT; + obj.NodeWidth = OrgCharGenerator.NODE_WIDTH; + OrgCharNode n = new OrgCharNode(obj); + obj.Node = n; + pn.AddChild(n); + BuildNodeTree(d, n); + } + } + + } + + +} diff --git a/SYS.FormUI/AppUserControls/ucBaseInformation.Designer.cs b/SYS.FormUI/AppUserControls/ucBaseInformation.Designer.cs index 62d0144..3fd9b26 100644 --- a/SYS.FormUI/AppUserControls/ucBaseInformation.Designer.cs +++ b/SYS.FormUI/AppUserControls/ucBaseInformation.Designer.cs @@ -38,13 +38,19 @@ namespace SYS.FormUI // this.btnOperation.Anchor = System.Windows.Forms.AnchorStyles.None; this.btnOperation.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOperation.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(199)))), ((int)(((byte)(29)))), ((int)(((byte)(35))))); + this.btnOperation.FillHoverColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); + this.btnOperation.FillSelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); this.btnOperation.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnOperation.Location = new System.Drawing.Point(34, 4); this.btnOperation.Margin = new System.Windows.Forms.Padding(0); this.btnOperation.MinimumSize = new System.Drawing.Size(1, 1); this.btnOperation.Name = "btnOperation"; this.btnOperation.Radius = 20; + this.btnOperation.RectSelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); + this.btnOperation.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.None; this.btnOperation.Size = new System.Drawing.Size(44, 26); + this.btnOperation.Style = Sunny.UI.UIStyle.Custom; this.btnOperation.StyleCustomMode = true; this.btnOperation.TabIndex = 15; this.btnOperation.Text = "删除"; @@ -69,10 +75,12 @@ namespace SYS.FormUI this.lbName.Padding = new System.Windows.Forms.Padding(5); this.lbName.Radius = 20; this.lbName.ReadOnly = true; + this.lbName.RectDisableColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); this.lbName.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.None; this.lbName.Size = new System.Drawing.Size(74, 29); this.lbName.Style = Sunny.UI.UIStyle.Custom; this.lbName.TabIndex = 17; + this.lbName.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; this.lbName.MouseLeave += new System.EventHandler(this.lbName_MouseLeave); this.lbName.MouseHover += new System.EventHandler(this.lbName_MouseHover); this.lbName.Validated += new System.EventHandler(this.lbName_Validated); diff --git a/SYS.FormUI/AppUserControls/ucBaseInformation.cs b/SYS.FormUI/AppUserControls/ucBaseInformation.cs index 8dc990e..b5da4f3 100644 --- a/SYS.FormUI/AppUserControls/ucBaseInformation.cs +++ b/SYS.FormUI/AppUserControls/ucBaseInformation.cs @@ -66,6 +66,19 @@ namespace SYS.FormUI { //lbName.Enabled = true; //lbName.ReadOnly = false; + if (btnOperation.Text == "恢复") + { + FrmNation.info = lbName.Text.Replace("名称:", string.Empty).ToString(); + FrmNation.Accessed(); + return; + } + if (btnOperation.Text == "新增") + { + lbName.Enabled = true; + lbName.ReadOnly = false; + return; + } + FrmNation.info = lbName.Text.Replace("名称:", string.Empty).ToString(); FrmNation.operation(); //MessageBox.Show(lbName.Text.Replace("名称:", string.Empty).ToString()); @@ -73,8 +86,8 @@ namespace SYS.FormUI private void lbName_MouseLeave(object sender, EventArgs e) { - lbName.Enabled = false; - lbName.ReadOnly = true; + //lbName.Enabled = false; + //lbName.ReadOnly = true; lbName.FillColor = Color.FromArgb(235, 243, 255); lbName.FillDisableColor = Color.FromArgb(235, 243, 255); lbName.RectColor = Color.FromArgb(235, 243, 255); @@ -82,13 +95,14 @@ namespace SYS.FormUI private void lbName_MouseHover(object sender, EventArgs e) { - lbName.Enabled = true; - lbName.ReadOnly = false; + //lbName.Enabled = true; + //lbName.ReadOnly = false; } private void lbName_Validated(object sender, EventArgs e) { - + FrmNation.info = lbName.Text.ToString(); + FrmNation.insert(); } } } diff --git a/SYS.FormUI/AppUserControls/ucBaseInformation.resx b/SYS.FormUI/AppUserControls/ucBaseInformation.resx index 90ec49e..4b6d373 100644 --- a/SYS.FormUI/AppUserControls/ucBaseInformation.resx +++ b/SYS.FormUI/AppUserControls/ucBaseInformation.resx @@ -129,13 +129,13 @@ - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAS5JREFUWEft - lr+uAUEYxfcN9k994xG4NY1WIoJEf2udiFJotEqtXryD5/A0nDOOtWSyO0IuxXeSXybzzXdmjzW7RF+h - JEnaYAFOgSxkdUrTtBbH8cbT54W99MjuAmxRXGFkkBD24E92+hn+oLUQ2LuU3W3AZG1NK0UzN9GUc3dx - TSvF3qLfAlgAC2AB3hIAb9KRppXitYr+fEMtlIJ3eBfjEWNddvobgB9iwJ4AGHgm+0Uo9rkQQpZlTdly - oc4Q3n4PQ9lMN+G2BH8F4Fe2XKgNH3rK6Ml2EQqvHsIpOKHWufaVwIPKAzuV3W3wr48he4v+twR40s87 - YQEsgAWwAHcB1mCuhRD2D6/iHnAhQoB3d/d/AL/vP1iYAG5SCTZoyZoLtbGv1wcuvpLt04qiM/cKDdw4 - ayEsAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAEuSURBVFhH7Za/rgFBGMX3DfZPfeMRuDWNViKCRH9rnYhSaLRKrV68g+fwNJwzjrVksjtCLsV3 + kl8m8813Zo81u0RfoSRJ2mABToEsZHVK07QWx/HG0+eFvfTI7gJsUVxhZJAQ9uBPdvoZ/qC1ENi7lN1t + wGRtTStFMzfRlHN3cU0rxd6i3wJYAAtgAd4SAG/SkaaV4rWK/nxDLZSCd3gX4xFjXXb6G4AfYsCeABh4 + JvtFKPa5EEKWZU3ZcqHOEN5+D0PZTDfhtgR/BeBXtlyoDR96yujJdhEKrx7CKTih1rn2lcCDygM7ld1t + 8K+PIXuL/rcEeNLPO2EBLIAFsAB3AdZgroUQ9g+v4h5wIUKAd3f3fwC/7z9YmABuUgk2aMmaC7Wxr9cH + Lr6S7dOKojP3Cg3cOGshLAAAAABJRU5ErkJggg== \ No newline at end of file diff --git a/SYS.FormUI/AppUserControls/ucRoomList.Designer.cs b/SYS.FormUI/AppUserControls/ucRoomList.Designer.cs index c74f4f5..611f409 100644 --- a/SYS.FormUI/AppUserControls/ucRoomList.Designer.cs +++ b/SYS.FormUI/AppUserControls/ucRoomList.Designer.cs @@ -167,8 +167,8 @@ private System.Windows.Forms.ToolStripMenuItem tsmiChangeState; private System.Windows.Forms.ToolStripMenuItem tsmiChangeRoom; private System.Windows.Forms.ToolStripMenuItem tsmiReserRoom; - private System.Windows.Forms.Label lblCustoNo; - private System.Windows.Forms.Label lblRoomType; - private System.Windows.Forms.Label lblRoomNo; + public System.Windows.Forms.Label lblCustoNo; + public System.Windows.Forms.Label lblRoomType; + public System.Windows.Forms.Label lblRoomNo; } } diff --git a/SYS.FormUI/AppUserControls/ucRoomList.cs b/SYS.FormUI/AppUserControls/ucRoomList.cs index ca0d276..a58f092 100644 --- a/SYS.FormUI/AppUserControls/ucRoomList.cs +++ b/SYS.FormUI/AppUserControls/ucRoomList.cs @@ -7,6 +7,7 @@ using System.Windows.Forms; using SYS.Manager; using SYS.Core; using SYS.FormUI.Properties; +using SYS.Application; namespace SYS.FormUI { @@ -23,12 +24,7 @@ namespace SYS.FormUI //traninfo = LoadRoomInfo(co_RoomNo, co_CustoNo, co_RoomPosition, co_CheckTime, co_RoomState); //string Roomno, string Custono, string Roompo, string Checktime, string Roomstate } - public ucRoomList(FrmRoomManager frm) - { - InitializeComponent(); - this.frm = frm; - - } + #region 房态图圆角代码 public GraphicsPath GetRoundRectPath(RectangleF rect, float radius) { @@ -158,7 +154,7 @@ namespace SYS.FormUI #region 鼠标点击房态图传值到类 private void ucRoomList_Click(object sender, EventArgs e) { - frm.CmpInfo(romCustoInfo, romRoomInfo); + //frm.CmpInfo(romCustoInfo, romRoomInfo); co_RoomNo = romCustoInfo.RoomNo; co_CustoNo = romCustoInfo.CustoNo; co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString(); @@ -170,19 +166,19 @@ namespace SYS.FormUI #region 房态图加载事件方法 private void ucRoomList_Load(object sender, EventArgs e) { - foreach (Control label in this.Controls) - { - if (label.GetType().ToString() == "System.Windows.Forms.Label") - { - label.Font = UI_FontUtil.SetRoomControlsFont(); - } - } + //foreach (Control label in this.Controls) + //{ + // if (label.GetType().ToString() == "System.Windows.Forms.Label") + // { + // label.Font = UI_FontUtil.SetRoomControlsFont(); + // } + //} this.CanPenetrate(); this.Region = new Region(GetRoundRectPath(new RectangleF(0, 0, this.Width, this.Height), 8f)); - lblCustoNo.Text = romCustoInfo.CustoNo; - lblRoomNo.Text = romCustoInfo.RoomNo; - lblRoomType.Text = romCustoInfo.typeName; - co_CheckTime = romCustoInfo.CheckTime.ToString(); + //lblCustoNo.Text = romCustoInfo.CustoNo; + //lblRoomNo.Text = romCustoInfo.RoomNo; + //lblRoomType.Text = romCustoInfo.typeName; + //co_CheckTime = romCustoInfo.CheckTime.ToString(); us_CustoNo = romRoomInfo.CustoNo; us_CustoName = romRoomInfo.CustoName; @@ -224,7 +220,7 @@ namespace SYS.FormUI #region 当右键菜单打开时事件方法 private void cmsMain_Opening(object sender, CancelEventArgs e) { - r = RoomManager.SelectRoomByRoomNo(lblRoomNo.Text); + r = new RoomService().SelectRoomByRoomNo(lblRoomNo.Text); if (lblCustoNo.Text != "") { tsmiCheckIn.Enabled = false; @@ -356,9 +352,8 @@ namespace SYS.FormUI #region 修改房间状态 private void tsmiChangeState_Click(object sender, EventArgs e) { - //RoomManager.UpdateRoomStateByRoomNo(lblRoomNo.Text); - RoomStatic.RoomStateId = Convert.ToInt32(RoomManager.SelectRoomStateIdByRoomNo(lblRoomNo.Text)); - RoomStatic.RoomNo = lblRoomNo.Text; + rm_RoomStateId = Convert.ToInt32(RoomManager.SelectRoomStateIdByRoomNo(lblRoomNo.Text)); + rm_RoomNo = lblRoomNo.Text; FrmRoomStateManager frsm = new FrmRoomStateManager(); frsm.ShowDialog(); } @@ -390,30 +385,30 @@ namespace SYS.FormUI private void lblRoomType_Click(object sender, EventArgs e) { - frm.CmpInfo(romCustoInfo, romRoomInfo); + //frm.CmpInfo(romCustoInfo, romRoomInfo); co_RoomNo = romCustoInfo.RoomNo; co_CustoNo = romCustoInfo.CustoNo; - co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString(); + co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString("yyyy年MM月dd日"); co_RoomPosition = romCustoInfo.RoomPosition; co_RoomState = romCustoInfo.RoomState; } private void lblRoomNo_Click(object sender, EventArgs e) { - frm.CmpInfo(romCustoInfo, romRoomInfo); + //frm.CmpInfo(romCustoInfo, romRoomInfo); co_RoomNo = romCustoInfo.RoomNo; co_CustoNo = romCustoInfo.CustoNo; - co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString(); + co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString("yyyy年MM月dd日"); co_RoomPosition = romCustoInfo.RoomPosition; co_RoomState = romCustoInfo.RoomState; } private void lblCustoNo_Click(object sender, EventArgs e) { - frm.CmpInfo(romCustoInfo, romRoomInfo); + //frm.CmpInfo(romCustoInfo, romRoomInfo); co_RoomNo = romCustoInfo.RoomNo; co_CustoNo = romCustoInfo.CustoNo; - co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString(); + co_CheckTime = Convert.ToDateTime(romCustoInfo.CheckTime).ToString("yyyy年MM月dd日"); co_RoomPosition = romCustoInfo.RoomPosition; co_RoomState = romCustoInfo.RoomState; } diff --git a/SYS.FormUI/Program.cs b/SYS.FormUI/Program.cs index 079a7b2..8cbda97 100644 --- a/SYS.FormUI/Program.cs +++ b/SYS.FormUI/Program.cs @@ -14,7 +14,7 @@ namespace SYS.FormUI { System.Windows.Forms.Application.EnableVisualStyles(); System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); - System.Windows.Forms.Application.Run(new FrmNation()); + System.Windows.Forms.Application.Run(new FrmLogin()); } } } diff --git a/SYS.FormUI/Properties/Resources.Designer.cs b/SYS.FormUI/Properties/Resources.Designer.cs index ec81751..b6b1725 100644 --- a/SYS.FormUI/Properties/Resources.Designer.cs +++ b/SYS.FormUI/Properties/Resources.Designer.cs @@ -80,6 +80,16 @@ namespace SYS.FormUI.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap _lock { + get { + object obj = ResourceManager.GetObject("lock", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// @@ -280,6 +290,16 @@ namespace SYS.FormUI.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap settings2 { + get { + object obj = ResourceManager.GetObject("settings2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// @@ -340,6 +360,16 @@ namespace SYS.FormUI.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 增加_添加_加减__1_ { + get { + object obj = ResourceManager.GetObject("增加 添加 加减 (1)", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// @@ -490,6 +520,26 @@ namespace SYS.FormUI.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 添加__增加___加 { + get { + object obj = ResourceManager.GetObject("添加 增加 加", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap 組織圖塊 { + get { + object obj = ResourceManager.GetObject("組織圖塊", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// diff --git a/SYS.FormUI/Properties/Resources.resx b/SYS.FormUI/Properties/Resources.resx index 19c62f2..0b468f5 100644 --- a/SYS.FormUI/Properties/Resources.resx +++ b/SYS.FormUI/Properties/Resources.resx @@ -118,163 +118,178 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\经理部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\button.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\arrow-down-b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\更多扩展-ib.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\酒店部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\已住icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\修改.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\后勤部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\月亮.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\添 加-a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\搜索--1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\获取用户编号.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\添 加a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\获取用户编号-ia.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\main_bg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState2-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\delete2a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\导出 (4)1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\已预约.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\修改a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState3_fixed-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\已入住.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\bin\Debug\可住icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\添加 增加 加.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Background.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\后勤部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\更多扩展-ib.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\人事部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\打卡.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\早上.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState5-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\脏房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\bin\Debug\RoomState3_fixed.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\添 加a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\打卡.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\lock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\隐藏.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\财务部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\修改a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\早上.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\餐饮部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState4-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\button.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\delete2-a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\获取用户编号.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\搜索--1a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\更多扩展-ia.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\显示.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\修改.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\770e7b52ecafc807247aad51bb6c6b43.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\minus (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\餐饮部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\delete2-a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\咖啡.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState5-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState4-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\酒店部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\已入住.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\搜索--1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState2-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\客房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\预约房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\月亮.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\delete2a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\770e7b52ecafc807247aad51bb6c6b43.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\RoomState1-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\经理部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\显示.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\增加 添加 加减 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\搜索--1a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState3_fixed-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\咖啡.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\已预约.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\bin\Debug\RoomState5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\77377282_p0_master1200.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\settings2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\客房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow-down-b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\财务部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\minus (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\人事部界面.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\导出 (4)1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\77377282_p0_master1200.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\获取用户编号-ia.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\更多扩展-ia.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\可住icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\bin\Debug\维修房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\已住icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\main_bg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\预约房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\bin\Debug\RoomState1-h.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\脏房icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\隐藏.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\組織圖塊.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/SYS.FormUI/Resources/lock.png b/SYS.FormUI/Resources/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..7dca57cb7ab090a7371a3ad3c60647c263eabb81 GIT binary patch literal 337 zcmV-X0j~auP)UVX%0du93rnrFRS?nE+7qZ3@Bo&&Sm+@XwA8}R(!zTv1G6wJVdo_V z)`d)$$;|q-lMGL?1f>+!`TiX_3jN^d#JGKIGt=@qX z+)h=Ts-CPRtQFUfIIKZL9azUlA$En!2Jr(t6#J*Rn*|XCILCDsI;-?}6K^@T>OvIY z9!FVp1*P>(1%6@`-&pR$fhX)_p$K$1J|dR#h6OWZIR0M)B+D;~{!Lo&T>G^0{igWc z>1Ss-kOY#IeXRt(xB!VfYW=ihKY8O%4h#T;1A_yD16_wunnC56u(+eRj{~XoDDER^ jRU`UCQWfeNFaZ1l{OL|1IYjCa00000NkvXXu0mjfY~+%9 literal 0 HcmV?d00001 diff --git a/SYS.FormUI/Resources/settings2.png b/SYS.FormUI/Resources/settings2.png new file mode 100644 index 0000000000000000000000000000000000000000..e56e54cdba703b849954937aa21e8692b75786ac GIT binary patch literal 1174 zcmV;H1Zn$;P)qzOX?H zE(B{9R_jUyyJ!hQYij;;(-5#N6f5`u7lM#U?vXS6cldMX&Lk5To<+FxKhFQ1^PN`+ z|Fh6?-e=|!0JjzH9v6|_-RkQaK$0YTRCQO`LqzndbMEDCKy(G5TCH9dMbSk7m$!N3 zuPn<}PEAeyy;Klw0VGK>tg1TztOGCx-~#}60(jAs6VXoR+&=qGl4OUfzV07=4Zybm zo(3=s;4~5KbIzHL7AXbbAOF0A73V}`b-2&WKLfa~-5ny@PzIs}K=E-^y+A~(Ld8V% zlyh!0TuYK!)4~WPMp{^uJwy5e>0N3Q}s=6gj(}N8F%xo@iSgxw0Q520j=T3)8hK7b# z)a&)%{Mtzoxi#Ep<`V#Jv9(I2a^=Lt#P224g(+#xYkdoVq6>2+wOVa$mSs7pkz(ib z9nu~^6h-SMCntX_qbZ=UI{1gsOT&nxpulZ7&r{75c z-&xrBF4^GUI%l!iF!O@|b^^F5(7#_qwl~wzYBmvBLkaW#QxSQjU}>XNx08}I3!`AGmD`SrshV!sziAszF*mh`iYLNod>%d&0Zz)}Xl%BGc1lZQp*NSU>k zmh+Sy*MR=Xq1GNa1mB@wZKr7302sBP!!Z*uCw z%&`e6P19>TQcyAvS~t6~VE$1Nc_3V4<}U!;UpTkm?vh3_Q?P`g)T-h2&beuSeo$4L zZY|?#$wO&=*+2j|Xm!C4mt(3bMD&TBQPua;G=0Xq|2-nwY~NXyZH%I*s;a{_h7r*v z0MB(bmWLJ?w}onG4QXwel|_z=cS}9fZD=#|697JLb8owd?C(ZrSO1y?^w!dWdZ2+kxu9T1?#R3KgF*6umAu607*qoM6N<$f-VOw`v3p{ literal 0 HcmV?d00001 diff --git "a/SYS.FormUI/Resources/\345\242\236\345\212\240 \346\267\273\345\212\240 \345\212\240\345\207\217 (1).png" "b/SYS.FormUI/Resources/\345\242\236\345\212\240 \346\267\273\345\212\240 \345\212\240\345\207\217 (1).png" new file mode 100644 index 0000000000000000000000000000000000000000..8b1d03ac8f361a787ee47f995aeb66735f955c40 GIT binary patch literal 823 zcmV-71IYY|P)OnkN(29B#)Z*_|!5=(X z5JXV$ph$~{olS@olnV7y5vxc`X-8hz4bM%|%_gn!9YT0JKi`}AX5KtPjVqhYcFfGo z><4gwh}Nm-OWup7YE zsE(?>@qK@LB@h(>IF9p)h}MJ(fwOxizi}aT94Adgy+m|WRl7nPsygZW{>mtbG62l{ z1;8px@b=u?+{Ju8|20V(GMP+gOH0eONEAI0**oLQ!ZH;RbiLe<60=0st7 zVpC-}(c0QNVi9vdL@pNrIF3^wqV<8d>mqVGF7!zO1P3jpLRCNezQ2~3c?W=3p~Lz4 z`R-gU_kM{0m=xzq1SIM)08FWz3N}YYWK*2;=xG4NrobZP2!L$JH3Pt$c5|?i#E{MG zy7Y+X1KC}Vh>m%lcQ+aVX0Fx?!qOV76tzk{#C2WMA@2n8<0b;X04xhO_KC=_ZOnCD zQB|jwv{aCJEh0PZeP-SZ;90Qud#M4GajFbJTnb#*-J`1A)+yBbU+M!@zP}Zb7m3`kW)~#jT5t)u3;GYVAP$0K7AH5Mv(EYhba8NX?4Zsf2#vdga9^@HiHiyN z3(QH1EjA|hA}L+&#@u)BJ$b{u_l2l;G|ZCJMlU@gz{UXmowKi5nEgb;lqI%MW`L(xWMQpzU)17<$21dvjm z0N7&YUL$40VkzYiz#}uCwgT`i2vcASU>&dyG7c_0jvYo0Rsm{olUvJsat1~gpH2jEWq--3BV43djQ7(iUzXH5dgR#qFtrb zU1d*LJQPA)5z#@LJCC)9XrPqZFKhq0?L5!xI*!wA8RCVRU#m3jzu^~_o;@%*nk_K^ O0000+s!84;X$1yw9_;cT}q_PlmNn{UTZYPz6m`fsi0CPL3EW}(A*#nr{ zNo67ClE@yw+)gSBF_%R40Ood5S%|qLvIj7?lgdKOC6PUVxt&xNVlIj70nF{BvJi7g zWDj6&CzXYmOCoy!b33Ul#9R{D1DM-MWg+I0$R5DlPAUsAmqhje=5|t9h`A)P2Qasj z%0kQ~kv)L9om3WLE{W^`X7T^TE2SslUu#?TZ_6xMaR2}S literal 0 HcmV?d00001 diff --git a/SYS.FormUI/SYS.FormUI.csproj b/SYS.FormUI/SYS.FormUI.csproj index 9092043..23784bb 100644 --- a/SYS.FormUI/SYS.FormUI.csproj +++ b/SYS.FormUI/SYS.FormUI.csproj @@ -90,6 +90,9 @@ False ..\SYS.Library\MySql.Data.EntityFramework.dll + + ..\packages\SqlSugar.5.0.2\lib\SqlSugar.dll + ..\packages\SunnyUI.2.2.9\lib\net40\SunnyUI.dll @@ -109,6 +112,9 @@ + + C:\Users\Administrator\Downloads\Compressed\WindowsFormsApplication2\WindowsFormsApplication2\Until\bin\Debug\Until.dll + @@ -129,6 +135,12 @@ FrmNation.cs + + Form + + + FrmNotice.cs + Form @@ -141,21 +153,31 @@ FrmSexType.cs - + UserControl + Always - - ucBaseInformation.cs + + CtrlOrgChar.cs + Always - - Component + + UserControl Always - - Form + + CtrlOrgPanel.cs + Always + + + + Always - - FrmAdminMain.cs + + UserControl + + + ucBaseInformation.cs Form @@ -193,29 +215,17 @@ FrmAdminEnter.cs - - Form - - - FrmBackAdmin.cs - - - Form - - - FrmBackUpDatabase.cs - Form FrmCash.cs - + Form - - FrmCashList.cs + + FrmCheckList.cs Form @@ -319,23 +329,17 @@ FrmSellThingManager.cs - + Form - - FrmStart.cs + + FrmWorkerManager.cs - + Form - - FrmTopChange.cs - - - Form - - - FrmUpLoad.cs + + FrmUpLoadNotice.cs Form @@ -399,9 +403,6 @@ WtiInfo.cs - - FrmAdminMain.cs - FrmBackgroundSystem.cs @@ -427,6 +428,9 @@ FrmNation.cs + + FrmNotice.cs + FrmPosition.cs @@ -436,17 +440,11 @@ FrmAdminEnter.cs - - FrmBackAdmin.cs - - - FrmBackUpDatabase.cs - FrmCash.cs - - FrmCashList.cs + + FrmCheckList.cs FrmChangePosition.cs @@ -499,14 +497,11 @@ FrmSellThingManager.cs - - FrmStart.cs + + FrmWorkerManager.cs - - FrmTopChange.cs - - - FrmUpLoad.cs + + FrmUpLoadNotice.cs FrmCustomerManager.cs @@ -530,6 +525,14 @@ FrmWorkerCheckInfo.cs + + CtrlOrgChar.cs + Always + + + CtrlOrgPanel.cs + Always + ucBaseInformation.cs @@ -727,6 +730,11 @@ + + + + + @@ -779,6 +787,14 @@ + + {600f4cc8-4323-4237-a55c-bfef4b67d57c} + SYS.Application + + + {65501AF6-C629-448A-847E-1BCD60665865} + SYS.Common + {cd039d0f-bd50-4fbf-b9cd-cdfab25c7dfa} SYS.Core diff --git a/SYS.FormUI/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/SYS.FormUI/obj/Debug/DesignTimeResolveAssemblyReferences.cache index 876b09b538f5d540194795b435767e8c5c1066d4..cde02edca52aa3dcef09298c338444aa136cdc2f 100644 GIT binary patch literal 97470 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 literal 97986 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⋘?ovlwslZF%W#F|2NEpw_UMH;9a#$s^ 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 diff --git a/SYS.FormUI/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SYS.FormUI/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 3d1c241aac2ef2cb974bdc7b58f13fe312a08be0..71f387485ace3100312568bcf3f131fffb7b828d 100644 GIT binary patch delta 1443 zcmZ{k?@wD*7{@upQ)p@F4>BS;W+4J&TMM-O7&9=)2-(2EM(r4Q`EkoF<;wk0dN1pg z0sdgZa0=rgI2E_a3!^V2BxF(N3;zL4W_;nBg;xWzWN-G?EYas2TGGVW@8)3W`K{d@uG$FQSt|H0h;&#SxZYrEep`Xg%G z(uJ-bma-}O$hbeQ#Vp;hT-a4$L`_rHVn%?oi)f3$^TN*JAAi|hyzlkyZrtVHUL3jO z5;{h)P-pQ$X79j=>D~Dy@9~;S?&^W1%C?mwHv8WC!jp%aoP|;ho_X`gTZe|vzkl-6 zA~%F#tE4xlhR2sN9w5Dp@#H;J)Bf&Sz9 zbPRcjotRUVwMm0_kkbrYl{WegDvdcnt}G+txTAekK_+q5aN<>}q6#zRP(@iAio|#o zEqxF#PUI0C7s5^oE}wLgIJ6XBay{Lc+kf~iw@zRI0d5y{LZdGaicjT`1hl%l;Iz*U zv!`;Yk(syqL_Wzx*q@r@qLW;)Ro?Nr=~Yzh`qV*FwH2QEDrpjl4BkK(bpH{04VB2% zj^9Dv<-2sI%1Pft&Te@lJgzFBlA>6q;9iwPuH$kVv6k)i2_-Zc6BGVAf3-g#C~`yy zr4h4F^TG#>eRKv@gq1tl8jmaTh-k{XCPZXSXp2TBV?wAekRrS&YZ>C z0z9qHheUlL{Vdgu5f52{7xiOw8QIuM!|?2zvNpl%-$s%=cSZ;s(S#wiN_g#L!%T># zo)Fsfq^9ViWC-}G@kG=xqLR=nYm%Nc+VzBLWNcR8{}W-&l$DHaMx84wy!#6L*)T%^ z*ARoh8Y;G@Pd8A{D$4Z7ZNZ4Z%-O+OcMc2jv8>_nQv0N$kX(!?KGw`R#Ck~KO7k&t z2a?UjMPDHFOr4iC^P*^uwI_7-f*Dn(EnmV9&99NK;P>VWFR!D=G1Vg`+hrx%C92VB l%h!lH*gu8S?Zhw}AIn`F!tASSE-O2fVQn)ZAyH#2t{?Wr)sF<$>}MFAX7Mmd;Osf81mmz!u`js8jloJ?!4 zNjsI+N~;Xu;ab8uQKe&IvU)pyt7Dq(rd5d?%Or{{LKWROSFjIX+H%xf=;svm zZTSBD@zRTjOHUuv)zxxo0AFpea3|Hp#2-cfA?Li1(hEA)l!Dn_@A4*eeaUgd~4#RG1~z5N{31N~fp&Wqrz>X+UYGN{!_J1uOpaAOSnTD?=MrB P$FSoJOf7zN?9TiP8%9o_ diff --git a/SYS.FormUI/obj/Debug/SYS.FormUI.csproj.FileListAbsolute.txt b/SYS.FormUI/obj/Debug/SYS.FormUI.csproj.FileListAbsolute.txt index ecd5725..79a5849 100644 --- a/SYS.FormUI/obj/Debug/SYS.FormUI.csproj.FileListAbsolute.txt +++ b/SYS.FormUI/obj/Debug/SYS.FormUI.csproj.FileListAbsolute.txt @@ -206,7 +206,6 @@ D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\Resour D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\Resource.resx D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\Resource.Designer.cs D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\Util\IDCardUtil.cs -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\CircleProgramBar.cs D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\TS酒店管理系统.exe.config D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\TS酒店管理系统.exe.manifest D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\TS酒店管理系统.application @@ -218,17 +217,13 @@ D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\SYS.Co D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\EntityFramework.xml D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.csprojAssemblyReference.cache D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.csproj.ResolveComReference.cache -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmAdminMain.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmBackgroundSystem.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmChart.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmAboutUs.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmAddRoom.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmAddWorker.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmAdminEnter.resources -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmBackAdmin.resources -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmBackupDatabase.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmCash.resources -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmCashList.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmChangePosition.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmChangeRoom.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmChangeWorker.resources @@ -246,9 +241,6 @@ D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.Fo D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmSelectCustoInfo.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmSellThing.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmSellThingManager.resources -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmStart.resources -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmTopChange.resources -D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmUpLoad.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmCustomerManager.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmLogin.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmMain.resources @@ -275,3 +267,19 @@ D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.Fo D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmNation.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.ucBaseInformation.resources D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\SYS.Application.xml +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\TS酒店管理系统.exe.config +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmNotice.resources +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmCheckList.resources +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmWorkerManager.resources +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.FrmUpLoadNotice.resources +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.CtrlOrgChar.resources +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\obj\Debug\SYS.FormUI.CtrlOrgPanel.resources +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\CtrlOrgChar.resx +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\CtrlOrgPanel.resx +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\CtrlOrgChar.cs +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\CtrlOrgChar.Designer.cs +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\CtrlOrgPanel.cs +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\CtrlOrgPanel.Designer.cs +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\AppUserControls\OrgCharGenerator.cs +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\SYS.Common.dll.config +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.FormUI\bin\Debug\SYS.Application.dll.config diff --git "a/SYS.FormUI/obj/Debug/TS\351\205\222\345\272\227\347\256\241\347\220\206\347\263\273\347\273\237.exe.config" "b/SYS.FormUI/obj/Debug/TS\351\205\222\345\272\227\347\256\241\347\220\206\347\263\273\347\273\237.exe.config" index 8d029b4..b7801fa 100644 --- "a/SYS.FormUI/obj/Debug/TS\351\205\222\345\272\227\347\256\241\347\220\206\347\263\273\347\273\237.exe.config" +++ "b/SYS.FormUI/obj/Debug/TS\351\205\222\345\272\227\347\256\241\347\220\206\347\263\273\347\273\237.exe.config" @@ -1,12 +1,24 @@ - - - + +
+ + + + + + + + + + + + + diff --git a/SYS.FormUI/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/SYS.FormUI/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll index b63bca387d23ddd4d499e45a19472093de16100b..c985a161fd21f0513357430c0588a16315828c12 100644 GIT binary patch delta 2529 zcmZ9Oe@vBC7{{M;-uJ!SdjY+60Ywz=1q=xlHKw70VAmm(KY@_cE*m%^5F)N6HMl6u z40U)tgc7Bg^g~xGyQD)}VI#NJT-IpOYStX2t+`h5N3I|CoaY>u>t*NrJfG)z&Uwz^ zz2`#f+SZ2;?=M`FlT;4+`2mtVk!%q_5(c;m9?3)N!BLI_z(qdhOv3*xw1&Q1Xysz{ z2CGw$aZoDe$2k zcZIz9Hde+SuK-Jl&L9)CRS=%PPr~k8z?uTshM(}2EM|A@3-*UlXie!;iqsBoV z`Au+>r9cy$u+pIbBa2*UUa(d}1EoXoj<_{#9eq8GnIUYF!n;woLNBUC`idd_Cz;e? z(hH{a*K(=R6amsys%*1l{5;LgAYD!I9P*3E-$VX!nzhg94dR5u6sn~33G#Q5zmEJz zZF13c(n^|^NSoM8k*TDgQ001xUn743`Il%zc~ow{erFLzIz>=2O&XT(6lS-Yba>Y)N^!WFZIS&X|8c0d4ss-X_5@T^Pl zmLw-GkB>jTrEjwb{@f|GZ}aDyJTMPG(rF;JC7zlStKuF|RUVKv%;9S;Ziy=`+#>!- z>~Ia%9jo8?_JK9$svPUfaBm~n`JTh3@AiJ5^Ld`{dCqz7 zd*Aoo?%M9EHxJa@%$mKK%<&Ty_(}@I6 zUmCBsGK4ika%W;#kQ{)1n;e!`t+3@6@*Qtj2zkv~U@g>Pxen`u{M0vH>e0DgA-%TB zRdW}e8rQ*Zp~XBM%5`Ycp+kpVI`rspP={Vi4kU$zh5;SU>2N`ZE0%0co_5^Sxp5u- z(80E`wpRzg4!O2$^@IgLES4ePCb32y@Es8^$*QDHqE~*9bj12ZdoS4X;Ed(s5&6xG z(z1yJqQGvVrxS^`dwAT?^SUrZqywK><+K*!V6z2x!grs_(LAEn8%lqKR( zxg#YbvWyd@d+Q1{#oXQQFTs6`DO zrifZ_$l&8Bjv2axeW%aUZ7zZ;4K2okU50L9UcaGSkLo#U=yS|-9?)H8;}czEC{BAL zY~5mT5^ateI*f_KhOUDq4fTP7g}P~uzCuIiK~Y05!#QN=3TVtwI$uPD?_o%{c@o!D zX=o3uU4|ymwBJw&&QU|FalKBF?qcgJG_(Y?#nAicdDPI~s%M0T4JM(@q@jmFL4HxH zujK?LHW~_|Y1B{)oI{{vi5uMm{E3c$_T$;$TLFq?UUCj|O+9PBTV5J*1V2gD>hZ~9 z@KF(KDlKI7@Vh~2E9)Gpz<4K}7eU%dZSH)k=1d7|qq~xJpc^QV z_9Jy0reYMSYS.Core + + + \ No newline at end of file diff --git a/SYS.Library/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SYS.Library/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 322e9a9d08ff124b2e55a573f1c4fea33f4e892e..ec5b7e3a65124cfa716797fdd3da477cb8788850 100644 GIT binary patch delta 390 zcmexvd%|wRHXb%{1_lN;$;tP4LpKZZ_AxVhPoBu<$dg!5pqHGVmzJ5%raF0!Kpv|a zP+8*S1p=W$xy8x(MLC&CdMPZil=~-Pu?KH z&gGn6lnPd^HF=&;HLEtVB%e!SNg`NM2Phm5)58ifU3c;Uk%Y;fBD}16K)Gb796zJ} z<^v+htkMQRK^PEZ1F{%_n9UGKgo2dH39`e)jDQRlx6+&(Mh+m06^Jn*sLe} O$z(GcY~Cef%LD*TkYjHE delta 356 zcmX?M_uY2GHXb%H1_lN;$;tP4LpKZZ_AyWXAdtq7Td`gLNcrxK;aaS>dE(n1Q<0ZzZa@z)j|?upX@KpI{AVy z3#&FzG#;!{PlTIMXR@GZ!sJ;ZysWxF@non8?3@v~IbiGbHVcX-vr6j&C1F624ai~y zVm1RH5em{`BFGLCGXyeN+)8tD7&(9}Rv_j?*38HW7o992Eyrj)*<4yy(gY|dRPB+O zR}zp|lHpdApX*tYnp?|eIyqNbp3!V_ue7IxIZzF6bx>ltTV_tGUt(@*Et>^U$Qu|I ej+6CeL|83>Jg{q+*sLbcm&s<--^?v*%LD*z%u$vA diff --git a/SYS.Library/obj/Debug/SYS.Library.csproj.FileListAbsolute.txt b/SYS.Library/obj/Debug/SYS.Library.csproj.FileListAbsolute.txt index c21758a..af08e47 100644 --- a/SYS.Library/obj/Debug/SYS.Library.csproj.FileListAbsolute.txt +++ b/SYS.Library/obj/Debug/SYS.Library.csproj.FileListAbsolute.txt @@ -52,3 +52,19 @@ D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\obj\Debug\SYS.L D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\obj\Debug\SYS.Library.dll D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\obj\Debug\SYS.Library.pdb D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SYS.Application.xml +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\Google.Protobuf.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\Zstandard.Net.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\K4os.Compression.LZ4.Streams.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\Ubiety.Dns.Core.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\System.Memory.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\System.Buffers.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\K4os.Compression.LZ4.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\K4os.Hash.xxHash.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\System.Numerics.Vectors.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SYS.Library.dll.config +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SYS.Common.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SqlSugar.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SYS.Application.dll.config +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SYS.Common.pdb +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Library\bin\Debug\SYS.Common.dll.config diff --git a/SYS.Manager/Business/CashManager.cs b/SYS.Manager/Business/CashManager.cs index 9ce4a7a..cfd810b 100644 --- a/SYS.Manager/Business/CashManager.cs +++ b/SYS.Manager/Business/CashManager.cs @@ -6,15 +6,15 @@ namespace SYS.Manager { public class CashManager { - public static List SelectCashInfoAll() + public List SelectCashInfoAll() { - return CashService.SelectCashInfoAll(); + return new CashService().SelectCashInfoAll(); } public static object AddCashInfo(Cash cash) { - return CashService.AddCashInfo(cash); + return new CashService().AddCashInfo(cash); } } } diff --git a/SYS.Manager/Business/SpendManager.cs b/SYS.Manager/Business/SpendManager.cs index 11d2e34..c1c53aa 100644 --- a/SYS.Manager/Business/SpendManager.cs +++ b/SYS.Manager/Business/SpendManager.cs @@ -56,5 +56,19 @@ namespace SYS.Manager } #endregion + #region 将转房前的未结算记录一同转移到新房间 + /// + /// 将转房前的未结算记录一同转移到新房间 + /// + /// + /// + /// + /// + public static int UpdateSpendInfoByRoomNo(string oldRoon, string newRoom, string custoNo) + { + return SpendService.UpdateSpendInfoByRoomNo(oldRoon,newRoom,custoNo); + } + #endregion + } } diff --git a/SYS.Manager/Room/RoomManager.cs b/SYS.Manager/Room/RoomManager.cs index 9d58fa4..f90ee2c 100644 --- a/SYS.Manager/Room/RoomManager.cs +++ b/SYS.Manager/Room/RoomManager.cs @@ -238,5 +238,6 @@ namespace SYS.Manager #endregion + } } diff --git a/SYS.Manager/SYS.Manager.csproj b/SYS.Manager/SYS.Manager.csproj index 28793d9..23ca74f 100644 --- a/SYS.Manager/SYS.Manager.csproj +++ b/SYS.Manager/SYS.Manager.csproj @@ -74,5 +74,8 @@ SYS.Core + + + \ No newline at end of file diff --git a/SYS.Manager/Zero/AdminManager.cs b/SYS.Manager/Zero/AdminManager.cs index 93606cb..8a54b67 100644 --- a/SYS.Manager/Zero/AdminManager.cs +++ b/SYS.Manager/Zero/AdminManager.cs @@ -29,5 +29,17 @@ namespace SYS.Manager return AdminService.SelectAdminInfoByadminpwd(pwd); } #endregion + + #region 根据超管账号查询对应的密码 + /// + /// 根据超管账号查询对应的密码 + /// + /// + /// + public static Admin SelectAdminPwdByAccount(string account) + { + return AdminService.SelectAdminPwdByAccount(account); + } + #endregion } } diff --git a/SYS.Manager/Zero/BaseManager.cs b/SYS.Manager/Zero/BaseManager.cs index a9afdfa..99a287d 100644 --- a/SYS.Manager/Zero/BaseManager.cs +++ b/SYS.Manager/Zero/BaseManager.cs @@ -14,264 +14,264 @@ namespace SYS.Manager public class BaseManager { - #region 性别模块 - - /// - /// 查询所有性别类型 - /// - /// - public List SelectSexTypeAll() - { - return new BaseService().SelectSexTypeAll(); - } - - /// - /// 查询性别类型 - /// - /// - public SexType SelectSexType(SexType sexType) - { - return new BaseService().SelectSexType(sexType); - } - - /// - /// 添加性别类型 - /// - /// - /// - public int AddSexType(SexType sexType) - { - return new BaseService().AddSexType(sexType); - } - - /// - /// 删除性别类型 - /// - /// - /// - public int DelSexType(SexType sexType) - { - return new BaseService().DelSexType(sexType); - } - - /// - /// 更新性别类型 - /// - /// - /// - public int UpdSexType(SexType sexType) - { - return new BaseService().UpdSexType(sexType); - } - - #endregion - - #region 职位模块 - - /// - /// 查询所有职位类型 - /// - /// - public List SelectPositionAll() - { - return new BaseService().SelectPositionAll(); - } - - /// - /// 查询职位类型 - /// - /// - public Position SelectPosition(Position position) - { - return new BaseService().SelectPosition(position); - } - - /// - /// 添加职位类型 - /// - /// - /// - public int AddPosition(Position position) - { - return new BaseService().AddPosition(position); - } - - /// - /// 删除职位类型 - /// - /// - /// - public int DelPosition(Position position) - { - return new BaseService().DelPosition(position); - } - - /// - /// 更新职位类型 - /// - /// - /// - public int UpdPosition(Position position) - { - return new BaseService().UpdPosition(position); - } - - #endregion - - #region 民族模块 - - /// - /// 查询所有民族类型 - /// - /// - public List SelectNationAll() - { - return new BaseService().SelectNationAll(); - } - - /// - /// 查询民族类型 - /// - /// - public Nation SelectNation(Nation nation) - { - return new BaseService().SelectNation(nation); - } - - /// - /// 添加民族类型 - /// - /// - /// - public int AddNation(Nation nation) - { - return new BaseService().AddNation(nation); - } - - /// - /// 删除民族类型 - /// - /// - /// - public int DelNation(Nation nation) - { - return new BaseService().DelNation(nation); - } - - /// - /// 更新民族类型 - /// - /// - /// - public int UpdNation(Nation nation) - { - return new BaseService().UpdNation(nation); - } - - #endregion - - #region 学历模块 - - /// - /// 查询所有学历类型 - /// - /// - public List SelectEducationAll() - { - return new BaseService().SelectEducationAll(); - } - - /// - /// 查询学历类型 - /// - /// - public Education SelectEducation(Education education) - { - return new BaseService().SelectEducation(education); - } - - /// - /// 添加学历类型 - /// - /// - /// - public int AddEducation(Education education) - { - return new BaseService().AddEducation(education); - } - - /// - /// 删除学历类型 - /// - /// - /// - public int DelEducation(Education education) - { - return new BaseService().DelEducation(education); - } - - /// - /// 更新学历类型 - /// - /// - /// - public int UpdEducation(Education education) - { - return new BaseService().UpdEducation(education); - } - - #endregion - - #region 部门模块 - - /// - /// 查询所有部门类型 - /// - /// - public List SelectDeptAll() - { - return new BaseService().SelectDeptAll(); - } - - /// - /// 查询部门类型 - /// - /// - public Dept SelectDept(Dept dept) - { - return new BaseService().SelectDept(dept); - } - - /// - /// 添加部门类型 - /// - /// - /// - public int AddDept(Dept dept) - { - return new BaseService().AddDept(dept); - } - - /// - /// 删除部门类型 - /// - /// - /// - public int DelDept(Dept dept) - { - return new BaseService().DelDept(dept); - } - - /// - /// 更新部门类型 - /// - /// - /// - public int UpdDept(Dept dept) - { - return new BaseService().UpdDept(dept); - } - - #endregion + //#region 性别模块 + + ///// + ///// 查询所有性别类型 + ///// + ///// + //public List SelectSexTypeAll() + //{ + // return new BaseService().SelectSexTypeAll(); + //} + + ///// + ///// 查询性别类型 + ///// + ///// + //public SexType SelectSexType(SexType sexType) + //{ + // return new BaseService().SelectSexType(sexType); + //} + + ///// + ///// 添加性别类型 + ///// + ///// + ///// + //public int AddSexType(SexType sexType) + //{ + // return new BaseService().AddSexType(sexType); + //} + + ///// + ///// 删除性别类型 + ///// + ///// + ///// + //public int DelSexType(SexType sexType) + //{ + // return new BaseService().DelSexType(sexType); + //} + + ///// + ///// 更新性别类型 + ///// + ///// + ///// + //public int UpdSexType(SexType sexType) + //{ + // return new BaseService().UpdSexType(sexType); + //} + + //#endregion + + //#region 职位模块 + + ///// + ///// 查询所有职位类型 + ///// + ///// + //public List SelectPositionAll() + //{ + // return new BaseService().SelectPositionAll(); + //} + + ///// + ///// 查询职位类型 + ///// + ///// + //public Position SelectPosition(Position position) + //{ + // return new BaseService().SelectPosition(position); + //} + + ///// + ///// 添加职位类型 + ///// + ///// + ///// + //public int AddPosition(Position position) + //{ + // return new BaseService().AddPosition(position); + //} + + ///// + ///// 删除职位类型 + ///// + ///// + ///// + //public int DelPosition(Position position) + //{ + // return new BaseService().DelPosition(position); + //} + + ///// + ///// 更新职位类型 + ///// + ///// + ///// + //public int UpdPosition(Position position) + //{ + // return new BaseService().UpdPosition(position); + //} + + //#endregion + + //#region 民族模块 + + ///// + ///// 查询所有民族类型 + ///// + ///// + //public List SelectNationAll() + //{ + // //return new BaseService().SelectDeptAll(); + //} + + ///// + ///// 查询民族类型 + ///// + ///// + //public Nation SelectNation(Nation nation) + //{ + // //return new BaseService().SelectNation(nation); + //} + + ///// + ///// 添加民族类型 + ///// + ///// + ///// + //public int AddNation(Nation nation) + //{ + // //return new BaseService().AddNation(nation); + //} + + ///// + ///// 删除民族类型 + ///// + ///// + ///// + //public int DelNation(Nation nation) + //{ + // //return new BaseService().DelNation(nation); + //} + + ///// + ///// 更新民族类型 + ///// + ///// + ///// + //public int UpdNation(Nation nation) + //{ + // //return new BaseService().UpdNation(nation); + //} + + //#endregion + + //#region 学历模块 + + ///// + ///// 查询所有学历类型 + ///// + ///// + //public List SelectEducationAll() + //{ + // return new BaseService().SelectEducationAll(); + //} + + ///// + ///// 查询学历类型 + ///// + ///// + //public Education SelectEducation(Education education) + //{ + // return new BaseService().SelectEducation(education); + //} + + ///// + ///// 添加学历类型 + ///// + ///// + ///// + //public int AddEducation(Education education) + //{ + // return new BaseService().AddEducation(education); + //} + + ///// + ///// 删除学历类型 + ///// + ///// + ///// + //public int DelEducation(Education education) + //{ + // return new BaseService().DelEducation(education); + //} + + ///// + ///// 更新学历类型 + ///// + ///// + ///// + //public int UpdEducation(Education education) + //{ + // return new BaseService().UpdEducation(education); + //} + + //#endregion + + //#region 部门模块 + + ///// + ///// 查询所有部门类型 + ///// + ///// + //public List SelectDeptAll() + //{ + // return new BaseService().SelectDeptAll(); + //} + + ///// + ///// 查询部门类型 + ///// + ///// + //public Dept SelectDept(Dept dept) + //{ + // return new BaseService().SelectDept(dept); + //} + + ///// + ///// 添加部门类型 + ///// + ///// + ///// + //public int AddDept(Dept dept) + //{ + // return new BaseService().AddDept(dept); + //} + + ///// + ///// 删除部门类型 + ///// + ///// + ///// + //public int DelDept(Dept dept) + //{ + // return new BaseService().DelDept(dept); + //} + + ///// + ///// 更新部门类型 + ///// + ///// + ///// + //public int UpdDept(Dept dept) + //{ + // return new BaseService().UpdDept(dept); + //} + + //#endregion } } diff --git a/SYS.Manager/Zero/OperationlogManager.cs b/SYS.Manager/Zero/OperationlogManager.cs index 429fb16..d587cbd 100644 --- a/SYS.Manager/Zero/OperationlogManager.cs +++ b/SYS.Manager/Zero/OperationlogManager.cs @@ -6,7 +6,7 @@ namespace SYS.Manager { public class OperationlogManager { - public static int InsertOperationLog(Operation opr) + public static int InsertOperationLog(OperationLog opr) { return OperationlogService.InsertOperationLog(opr); } diff --git a/SYS.Manager/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SYS.Manager/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 619616813e986a86c8682cff644a91c9458a7d99..75b7e9c9246bdafa5ef73a0ab77547f54163947e 100644 GIT binary patch delta 394 zcmexncHDf!HXbfs1_lN;Ng&}pIhN0I@_Akkfy9CWz2yA7w9IriDWF8=WJUha$)dcX ztkOVUB8VrHTb!IG4a^N|HXb$}1_lN;$;rIDd8|@EX5wT)-cX_3;^h3IoXjM>l$;zkX`pcAB$gzCC1rq;NkB=<$@P3%tg=8}2$=VrPli5+lesUgvHLC)$Bp=*7MWApzOb;u_dZoz|1QRAp3i7fl1LcyTa{P=cnVB{LY&7OkRHFp+|*h&y~%rcT!G;x!m1CH1iOfd&0w;eWHzJf<}OKF FCIBikTps`c diff --git a/SYS.Manager/obj/Debug/SYS.Manager.csproj.FileListAbsolute.txt b/SYS.Manager/obj/Debug/SYS.Manager.csproj.FileListAbsolute.txt index b1556c2..0cd5e48 100644 --- a/SYS.Manager/obj/Debug/SYS.Manager.csproj.FileListAbsolute.txt +++ b/SYS.Manager/obj/Debug/SYS.Manager.csproj.FileListAbsolute.txt @@ -51,3 +51,17 @@ D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\obj\Debug\SYS.M D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\obj\Debug\SYS.Manager.dll D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\obj\Debug\SYS.Manager.pdb D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\SYS.Application.xml +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\Google.Protobuf.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\Zstandard.Net.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\K4os.Compression.LZ4.Streams.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\Ubiety.Dns.Core.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\System.Memory.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\System.Buffers.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\K4os.Compression.LZ4.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\K4os.Hash.xxHash.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\System.Numerics.Vectors.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\SYS.Common.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\SqlSugar.dll +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\SYS.Common.pdb +D:\TopSkyHotelManagerSystem\TopskyHotelManagerSystem\SYS.Manager\bin\Debug\SYS.Common.dll.config -- Gitee