diff --git a/CreateModel.bat b/CreateModel.bat index 4c6c1f5..5956745 100644 --- a/CreateModel.bat +++ b/CreateModel.bat @@ -27,7 +27,7 @@ REM -------------- @echo. @call "%VS150%" -SqlMetal /views /server:. /database:CNCEC_SUBQHSEDB_JT /user:sa /password:1111 /code:%Model_ROOT%\Model.cs /namespace:Model +SqlMetal /views /server:.\MSSQLSERVER2022 /database:CNCEC_SUBQHSEDB_JT /user:sa /password:1111 /code:%Model_ROOT%\Model.cs /namespace:Model @ECHO 完成 pause diff --git a/DataBase/鐗堟湰鏃ュ織/SUBQHSE_V2026-05-17-lc001.sql b/DataBase/鐗堟湰鏃ュ織/SUBQHSE_V2026-05-17-lc001.sql new file mode 100644 index 0000000..c6a35fd --- /dev/null +++ b/DataBase/鐗堟湰鏃ュ織/SUBQHSE_V2026-05-17-lc001.sql @@ -0,0 +1,34 @@ + + +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'5B302FF3-A6E4-4305-A0C0-64CA7377777A', N'考勤时间管理', NULL, N'HSSE/SitePerson/DateManage.aspx', '9', N'EE260447-028F-46AF-8864-9A5DC9DAA5BD', N'Menu_HSSE', '0', '1', '1'); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'1CFF6CE1-52F4-41F4-A40F-1DB4DB353974', N'5B302FF3-A6E4-4305-A0C0-64CA7377777A', N'增加', '1'); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'46F5F687-D838-4D7E-A7D0-F0262BFC9F04', N'5B302FF3-A6E4-4305-A0C0-64CA7377777A', N'删除', '3'); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'CEC8EAE8-A691-496A-BE4B-AFD9C8BD6FAD', N'5B302FF3-A6E4-4305-A0C0-64CA7377777A', N'保存', '4'); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'DF01EF57-7D20-4E1D-AE6C-CC65798D5830', N'5B302FF3-A6E4-4305-A0C0-64CA7377777A', N'修改', '2'); + +CREATE TABLE [dbo].[Kqgl_DateManage]( + [Id] [nvarchar](50) NOT NULL, + [ProjectId] [nvarchar](50) NULL, + [AmStartTime1] [time](7) NULL, + [AmStartTime2] [time](7) NULL, + [AmEndTime1] [time](7) NULL, + [AmEndTime2] [time](7) NULL, + [PmStartTime1] [time](7) NULL, + [PmStartTime2] [time](7) NULL, + [PmEndTime1] [time](7) NULL, + [PmEndTime2] [time](7) NULL, + [LateTime] [int] NULL, + [LeaveTime] [int] NULL, + [EquipmentCode] [nvarchar](500) NULL, + CONSTRAINT [PK_Kqgl_DateManage] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'允许迟到' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Kqgl_DateManage', @level2type=N'COLUMN',@level2name=N'LateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'允许早退' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Kqgl_DateManage', @level2type=N'COLUMN',@level2name=N'LeaveTime' \ No newline at end of file diff --git a/SUBQHSE/BLL/BLL.csproj b/SUBQHSE/BLL/BLL.csproj index 8d2447c..a0cfe17 100644 --- a/SUBQHSE/BLL/BLL.csproj +++ b/SUBQHSE/BLL/BLL.csproj @@ -833,6 +833,7 @@ + diff --git a/SUBQHSE/BLL/Common/Const.cs b/SUBQHSE/BLL/Common/Const.cs index bc7f4e0..b24991b 100644 --- a/SUBQHSE/BLL/Common/Const.cs +++ b/SUBQHSE/BLL/Common/Const.cs @@ -2632,7 +2632,10 @@ namespace BLL /// 浜哄伐鏃舵棩鎶 /// public const string DayReportMenuId = "8F15D3BE-BE21-4A6F-AD5C-2BBECEE46149"; - + /// + /// 鑰冨嫟鏃堕棿绠$悊 + /// + public const string Menu_KqglDateManger = "5B302FF3-A6E4-4305-A0C0-64CA7377777A"; /// /// 浜哄伐鏃舵湀鎶 /// diff --git a/SUBQHSE/BLL/OpenService/YunMouService.cs b/SUBQHSE/BLL/OpenService/YunMouService.cs new file mode 100644 index 0000000..83bfdb3 --- /dev/null +++ b/SUBQHSE/BLL/OpenService/YunMouService.cs @@ -0,0 +1,440 @@ +锘縰sing BLL.Common; +using Model; +using Newtonsoft.Json; +using System; +using System.Linq; +using System.Timers; + +namespace BLL +{ + public class YunMouService + { + + #region 鍚姩鐩戣鍣 绯荤粺鍚姩5鍒嗛挓 + /// + /// 鐩戣缁勪欢 + /// + private static Timer messageTimer; + private static string token; + private static string consumerId; + /// + /// 鍚姩鐩戣鍣,涓嶄竴瀹氳兘鎴愬姛锛屾牴鎹郴缁熻缃喅瀹氬鐩戣鍣ㄦ墽琛岀殑鎿嶄綔 绯荤粺鍚姩5鍒嗛挓 + /// + public static void StartMonitor() + { + token = YunMouHelper.getToken(); + consumerId = YunMouHelper.addConsumer(token); + + if (messageTimer != null) + { + messageTimer.Stop(); + messageTimer.Dispose(); + messageTimer = null; + } + + messageTimer = new Timer + { + AutoReset = true + }; + messageTimer.Elapsed += new ElapsedEventHandler(InProcess); + messageTimer.Interval = 4000 * 60;// 10鍒嗛挓 + messageTimer.Start(); + } + + /// + /// 娴佺▼纭 瀹氭椂鎵ц 绯荤粺鍚姩5鍒嗛挓 + /// + /// Timer缁勪欢 + /// 浜嬩欢鍙傛暟 + private static void InProcess(object sender, ElapsedEventArgs e) + { + //鑷姩璋冪敤 + DoSynchDataNew(); + } + #endregion + + /// + /// 鎵嬪姩璋冪敤 + /// + public static void manualOperation(string tokenSd, string consumerIdSd) + { + DoSynchData(tokenSd, consumerIdSd); + } + + /// + /// + /// + public static void DoSynchData(string tokenSd = "", string consumerIdSd = "") + { + try + { + if (string.IsNullOrEmpty(token)) + { + token = tokenSd; + } + + if (string.IsNullOrEmpty(consumerId)) + { + consumerId = consumerIdSd; + } + ////鑾峰彇token + //token = YunMouHelper.getToken(); + ////鍒涘缓娑堣垂鑰呮秷璐硅呭鏋5鍒嗛挓鏈皟鐢ㄦ媺鍙栨秷鎭帴鍙e皢琚垹闄ゃ + //consumerId = YunMouHelper.addConsumer(token); + ErrLogInfo.WriteLog(token + ";" + consumerId); + + string content = YunMouHelper.consumerMessage(consumerId, token); + //璋冪敤娑堟伅闃熷垪绗竴娆 + ErrLogInfo.WriteLog(content); + var j2 = JsonConvert.DeserializeObject(content); + + //娑堣垂鑰呴娆℃媺鍙栨秷鎭椂闇瑕佷笌娑堟伅閫氶亾寤虹珛杩炴帴锛屾娆¤皟鐢ㄥ疄闄呮媺鍒版秷鎭垪琛ㄤ负绌猴紝 + //鍐嶆璋冪敤鍗冲彲鎷夊彇鍒版秷鎭紝30绉掑唴蹇呴』鍐嶆璋冪敤鎷夊彇娑堟伅鎺ュ彛锛屽惁鍒欏皢鏂紑涓庢秷鎭氶亾鐨勮繛鎺ャ + //鍥犳鎷夊彇闂撮殧闇瑕佸湪30绉掍互鍐咃紝鍚﹀垯姣忔鎷夊埌鐨勬秷鎭槸绌虹殑 + if (j2.data.Count > 0) + { + using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) + { + for (int i = 0; i < j2.data.Count; i++) + { + var msg = JsonConvert.DeserializeObject(j2.data[i]["content"].ToString()); + if (!string.IsNullOrEmpty(Convert.ToString(msg.employeeNo))) + { + string deviceSerial = Convert.ToString(msg.deviceSerial); + string employeeNo = Convert.ToString(msg.employeeNo); + DateTime dateTime = Convert.ToDateTime(Convert.ToString(msg.dateTime)); + var devices = Funs.DB.Project_Devices.FirstOrDefault(x => x.DeviceSerial == deviceSerial); + Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut + { + ProjectId = devices.ProjectId, + IdentityCard = employeeNo, + IsIn = true, + ChangeTime = dateTime, + InOutWay = Const.InOutWay_1, + }; + InsertInOut(newInOut); + } + + } + } + } + else + { + //淇敼 濡傛灉涓虹┖寰幆璋冪敤鏈澶5娆 + for (int y = 0; y < 5; y++) + { + //濡傛灉涓虹┖鍐嶈皟涓娆 + content = YunMouHelper.consumerMessage(consumerId, token); + //璋冪敤娑堟伅闃熷垪绗簩娆 + ErrLogInfo.WriteLog(content + "璋冪敤娑堟伅闃熷垪" + (y + 2).ToString()); + j2 = JsonConvert.DeserializeObject(content); + if (j2.data.Count > 0) + { + using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) + { + for (int i = 0; i < j2.data.Count; i++) + { + var msg = JsonConvert.DeserializeObject(j2.data[i]["content"].ToString()); + if (!string.IsNullOrEmpty(Convert.ToString(msg.employeeNo))) + { + string deviceSerial = Convert.ToString(msg.deviceSerial); + string employeeNo = Convert.ToString(msg.employeeNo); + DateTime dateTime = Convert.ToDateTime(Convert.ToString(msg.dateTime)); + + var devices = Funs.DB.Project_Devices.FirstOrDefault(x => x.DeviceSerial == deviceSerial); + //韬唤璇佸彿鏃 + if (employeeNo.Length == 18) + { + Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut + { + ProjectId = devices.ProjectId, + IdentityCard = employeeNo, + IsIn = true, + ChangeTime = dateTime, + InOutWay = Const.InOutWay_1, + }; + InsertInOut(newInOut); + + } + } + + } + //鎻愪氦鍋忕Щ閲 + var msgOffset = YunMouHelper.offsets(consumerId, token); + } + //鏈夊艰烦鍑哄惊鐜 + break; + } + } + } + } + catch (Exception ex) + { + var erro = ex.Message; + ErrLogInfo.WriteLog(ex.Message); + } + } + + public static void DoSynchDataNew() + { + try + { + ////鑾峰彇token + //token = YunMouHelper.getToken(); + ////鍒涘缓娑堣垂鑰呮秷璐硅呭鏋5鍒嗛挓鏈皟鐢ㄦ媺鍙栨秷鎭帴鍙e皢琚垹闄ゃ + //consumerId = YunMouHelper.addConsumer(token); + + ErrLogInfo.WriteLog(token + ";" + consumerId + "璋冪敤娑堟伅闃熷垪鍙傛暟"); + string content = YunMouHelper.consumerMessage(consumerId, token); + //璋冪敤娑堟伅闃熷垪绗竴娆 + ErrLogInfo.WriteLog(content); + var j2 = JsonConvert.DeserializeObject(content); + + //娑堣垂鑰呴娆℃媺鍙栨秷鎭椂闇瑕佷笌娑堟伅閫氶亾寤虹珛杩炴帴锛屾娆¤皟鐢ㄥ疄闄呮媺鍒版秷鎭垪琛ㄤ负绌猴紝 + //鍐嶆璋冪敤鍗冲彲鎷夊彇鍒版秷鎭紝30绉掑唴蹇呴』鍐嶆璋冪敤鎷夊彇娑堟伅鎺ュ彛锛屽惁鍒欏皢鏂紑涓庢秷鎭氶亾鐨勮繛鎺ャ + //鍥犳鎷夊彇闂撮殧闇瑕佸湪30绉掍互鍐咃紝鍚﹀垯姣忔鎷夊埌鐨勬秷鎭槸绌虹殑 + if (j2.data.Count > 0) + { + using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) + { + for (int i = 0; i < j2.data.Count; i++) + { + try + { + var msg = JsonConvert.DeserializeObject(j2.data[i]["content"].ToString()); + if (!string.IsNullOrEmpty(Convert.ToString(msg.employeeNo))) + { + string deviceSerial = Convert.ToString(msg.deviceSerial); + string employeeNo = Convert.ToString(msg.employeeNo); + DateTime dateTime = Convert.ToDateTime(Convert.ToString(msg.dateTime)); + var devices = db.Project_Devices.FirstOrDefault(x => x.DeviceSerial == deviceSerial); + Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut + { + ProjectId = devices.ProjectId, + IdentityCard = employeeNo, + IsIn = true, + ChangeTime = dateTime, + InOutWay = Const.InOutWay_1, + }; + InsertInOut(newInOut); + } + } + catch (Exception e) + { + ErrLogInfo.WriteLog(e.StackTrace); + } + + } + } + } + else + { + //淇敼 濡傛灉涓虹┖寰幆璋冪敤鏈澶5娆 + for (int y = 0; y < 5; y++) + { + //濡傛灉涓虹┖鍐嶈皟涓娆 + content = YunMouHelper.consumerMessage(consumerId, token); + //璋冪敤娑堟伅闃熷垪绗簩娆 + ErrLogInfo.WriteLog(content + "璋冪敤娑堟伅闃熷垪" + (y + 2).ToString()); + j2 = JsonConvert.DeserializeObject(content); + if (j2.data.Count > 0) + { + using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) + { + for (int i = 0; i < j2.data.Count; i++) + { + try + { + var msg = JsonConvert.DeserializeObject(j2.data[i]["content"].ToString()); + if (!string.IsNullOrEmpty(Convert.ToString(msg.employeeNo))) + { + string deviceSerial = Convert.ToString(msg.deviceSerial); + string employeeNo = Convert.ToString(msg.employeeNo); + DateTime dateTime = Convert.ToDateTime(Convert.ToString(msg.dateTime)); + + var devices = Funs.DB.Project_Devices.FirstOrDefault(x => x.DeviceSerial == deviceSerial); + //韬唤璇佸彿鏃 + // if (employeeNo.Length == 18) + { + Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut + { + ProjectId = devices.ProjectId, + IdentityCard = employeeNo, + IsIn = true, + ChangeTime = dateTime, + InOutWay = Const.InOutWay_1, + }; + InsertInOut(newInOut); + + } + } + } + catch (Exception e) + { + ErrLogInfo.WriteLog(e.StackTrace); + } + + } + //鎻愪氦鍋忕Щ閲 + var msgOffset = YunMouHelper.offsets(consumerId, token); + } + //鏈夊艰烦鍑哄惊鐜 + break; + } + } + } + } + catch (Exception ex) + { + var erro = ex.Message; + ErrLogInfo.WriteLog(ex.Message); + } + } + + #region 鏍规嵁鑰冨嫟鏃堕棿杩涘叆鑰冨嫟 + public static void InsertInOut(Model.SitePerson_PersonInOut model) + { + //鑰冨嫟鏃堕棿閰嶇疆涓嶄负绌虹殑鎯呭喌 + var Kqgl_DateManageModel = Funs.DB.Kqgl_DateManage.FirstOrDefault(x => x.ProjectId == model.ProjectId); + if (Kqgl_DateManageModel != null) + { + var changeTime = Convert.ToDateTime(model.ChangeTime); + var nowTime = TimeSpan.Parse(changeTime.ToString("HH:mm:ss"));//褰撳墠鏃堕棿鐨勬椂鍒嗙 + #region 鏍规嵁瑙勫垯鍒ゆ柇鏄繘闂ㄨ繕鏄嚭闂 + TimeSpan AmStartTime1 = TimeSpan.Parse(Kqgl_DateManageModel.AmStartTime1.ToString()); + TimeSpan AmStartTime2 = TimeSpan.Parse(Kqgl_DateManageModel.AmStartTime2.ToString()); + + TimeSpan AmEndTime1 = TimeSpan.Parse(Kqgl_DateManageModel.AmEndTime1.ToString()); + TimeSpan AmEndTime2 = TimeSpan.Parse(Kqgl_DateManageModel.AmEndTime2.ToString()); + + TimeSpan PmStartTime1 = TimeSpan.Parse(Kqgl_DateManageModel.PmStartTime1.ToString()); + TimeSpan PmStartTime2 = TimeSpan.Parse(Kqgl_DateManageModel.PmStartTime2.ToString()); + + TimeSpan PmEndTime1 = TimeSpan.Parse(Kqgl_DateManageModel.PmEndTime1.ToString()); + TimeSpan PmEndTime2 = TimeSpan.Parse(Kqgl_DateManageModel.PmEndTime2.ToString()); + + TimeSpan time1 = new TimeSpan(0, Convert.ToInt32(Kqgl_DateManageModel.LateTime), 0); + TimeSpan time2 = new TimeSpan(0, Convert.ToInt32(Kqgl_DateManageModel.LeaveTime), 0); + //鍏佽杩熷埌x鍒嗛挓 + AmStartTime2 = AmStartTime2.Add(time2); + PmStartTime2 = PmStartTime2.Add(time2); + + //鍏佽鏃╅x鍒嗛挓 + AmEndTime1 = AmEndTime1.Add(-time1); + PmEndTime1 = PmEndTime1.Add(-time1); + + SitePerson_Person personModel = null; + if (!string.IsNullOrEmpty(model.PersonId)) + { + personModel = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.PersonId == model.PersonId && x.ProjectId == model.ProjectId); + model.IdentityCard = personModel.IdentityCard; + } + else + { + personModel = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == model.IdentityCard && x.ProjectId == model.ProjectId); + } + if (personModel != null) + { + //鐘舵侊細0涓婂崍涓婄彮 1涓婂崍涓嬬彮 2涓嬪崍涓婄彮 3涓嬪崍涓嬬彮 + var state = ""; + //濡傛灉鏄湪杩涘満鏃堕棿鍐 + if (nowTime >= AmStartTime1 && nowTime <= AmStartTime2) + { + model.IsIn = true; + state = "0"; + } + if (nowTime >= PmStartTime1 && nowTime <= PmStartTime2) + { + model.IsIn = true; + state = "2"; + } + if (nowTime >= AmEndTime1 && nowTime <= AmEndTime2) + { + model.IsIn = false; + state = "1"; + } + if (nowTime >= PmEndTime1 && nowTime <= PmEndTime2) + { + model.IsIn = false; + state = "3"; + } + Model.SUBQHSEDB db = Funs.DB; + #region 杩欎釜浜鸿鏃堕棿鐐瑰唴鏈夋暟鎹殑璇濓紝灏卞垹鎺(涓婄彮鎵撳崱鏃堕棿鍙栨渶鏃╀笉鍒犻櫎锛屼笅鐝彇鏈鏅氾紝鍒犻櫎鏃╃殑) + var objTime1 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + AmStartTime1.ToString()); + var objTime2 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + AmStartTime2.ToString()); + + var objTime3 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + AmEndTime1.ToString()); + var objTime4 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + AmEndTime2.ToString()); + + var objTime5 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + PmStartTime1.ToString()); + var objTime6 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + PmStartTime2.ToString()); + + var objTime7 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + PmEndTime1.ToString()); + var objTime8 = Convert.ToDateTime(Convert.ToDateTime(changeTime).ToString("yyyy-MM-dd") + " " + PmEndTime2.ToString()); + + //1.涓婂崍涓婄彮 + var result1 = db.SitePerson_PersonInOut.Where(x => x.ProjectId == model.ProjectId && x.IdentityCard == personModel.IdentityCard && + x.ChangeTime >= objTime1 && x.ChangeTime <= objTime2 + ).ToList(); + //2.涓婂崍涓嬬彮 + var result2 = db.SitePerson_PersonInOut.Where(x => x.ProjectId == model.ProjectId && x.IdentityCard == personModel.IdentityCard && + x.ChangeTime >= objTime3 && x.ChangeTime <= objTime4 + ).ToList(); + //3.涓嬪崍涓婄彮 + var result3 = db.SitePerson_PersonInOut.Where(x => x.ProjectId == model.ProjectId && x.IdentityCard == personModel.IdentityCard && + x.ChangeTime >= objTime5 && x.ChangeTime <= objTime6 + ).ToList(); + //4.涓嬪崍涓嬬彮 + var result4 = db.SitePerson_PersonInOut.Where(x => x.ProjectId == model.ProjectId && x.IdentityCard == personModel.IdentityCard && + x.ChangeTime >= objTime7 && x.ChangeTime <= objTime8 + ).ToList(); + + //涓婄彮鎵撳崱鏃堕棿鍙栨渶鏃╋紝涓嬬彮鍙栨渶鏅 + if (result1.Count > 0 && state == "0") + { + //db.SitePerson_PersonInOut.DeleteAllOnSubmit(result1); + //db.SubmitChanges(); + } + else if (result1.Count == 0 && state == "0") + { + PersonInOutService.AddPersonInOut(model); + } + if (result2.Count > 0 && state == "1") + { + db.SitePerson_PersonInOut.DeleteAllOnSubmit(result2); + db.SubmitChanges(); + PersonInOutService.AddPersonInOut(model); + } + else if (result2.Count == 0 && state == "1") + { + PersonInOutService.AddPersonInOut(model); + } + if (result3.Count > 0 && state == "2") + { + //db.SitePerson_PersonInOut.DeleteAllOnSubmit(result3); + //db.SubmitChanges(); + } + else if (result3.Count == 0 && state == "2") + { + PersonInOutService.AddPersonInOut(model); + } + if (result4.Count > 0 && state == "3") + { + db.SitePerson_PersonInOut.DeleteAllOnSubmit(result4); + db.SubmitChanges(); + PersonInOutService.AddPersonInOut(model); + } + else if (result4.Count == 0 && state == "3") + { + PersonInOutService.AddPersonInOut(model); + } + #endregion + } + + #endregion + } + + } + #endregion + } +} diff --git a/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj b/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj index b3f7984..3c4cedc 100644 --- a/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj @@ -695,6 +695,7 @@ + @@ -1153,6 +1154,7 @@ + @@ -9530,6 +9532,13 @@ kq.aspx + + kqProject.aspx + ASPXCodeBehind + + + kqProject.aspx + OccupationalDiseaseAccident.aspx ASPXCodeBehind @@ -12574,6 +12583,13 @@ SubcontractLeasingProtocol.aspx + + DateManage.aspx + ASPXCodeBehind + + + DateManage.aspx + ProjectWorkPersonStatistic.aspx ASPXCodeBehind @@ -18538,7 +18554,7 @@ - +