This commit is contained in:
parent
0341d5c568
commit
a9f0cd7fba
|
|
@ -0,0 +1,36 @@
|
||||||
|
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'0', N'Menu_SMZGL', '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'
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
Alter TABLE [dbo].[Person_Persons]
|
||||||
|
add [YunMouState] [nvarchar](50) NULL
|
||||||
|
|
@ -602,6 +602,7 @@
|
||||||
<Compile Include="OpenService\MonitorService.cs" />
|
<Compile Include="OpenService\MonitorService.cs" />
|
||||||
<Compile Include="DynamicTHeaderHepler.cs" />
|
<Compile Include="DynamicTHeaderHepler.cs" />
|
||||||
<Compile Include="OpenService\GetDataService.cs" />
|
<Compile Include="OpenService\GetDataService.cs" />
|
||||||
|
<Compile Include="OpenService\YunMouService.cs" />
|
||||||
<Compile Include="Person\PersonTotalService.cs" />
|
<Compile Include="Person\PersonTotalService.cs" />
|
||||||
<Compile Include="Person\Person_PersonContractService.cs" />
|
<Compile Include="Person\Person_PersonContractService.cs" />
|
||||||
<Compile Include="Person\Person_PersonTrainService.cs" />
|
<Compile Include="Person\Person_PersonTrainService.cs" />
|
||||||
|
|
@ -672,6 +673,7 @@
|
||||||
<Compile Include="PHTGL\OAWebSevice.cs" />
|
<Compile Include="PHTGL\OAWebSevice.cs" />
|
||||||
<Compile Include="ProjectData\MainItemService.cs" />
|
<Compile Include="ProjectData\MainItemService.cs" />
|
||||||
<Compile Include="ProjectData\ProjectData_CodeTemplateRuleService.cs" />
|
<Compile Include="ProjectData\ProjectData_CodeTemplateRuleService.cs" />
|
||||||
|
<Compile Include="ProjectData\ProjectDeviceService.cs" />
|
||||||
<Compile Include="ProjectData\ProjectSateService.cs" />
|
<Compile Include="ProjectData\ProjectSateService.cs" />
|
||||||
<Compile Include="ProjectData\ProjectService.cs" />
|
<Compile Include="ProjectData\ProjectService.cs" />
|
||||||
<Compile Include="ProjectData\ProjectUnitService.cs" />
|
<Compile Include="ProjectData\ProjectUnitService.cs" />
|
||||||
|
|
|
||||||
|
|
@ -2048,6 +2048,10 @@ namespace BLL
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string DayReportMenuId = "8F15D3BE-BE21-4A6F-AD5C-2BBECEE46149";
|
public const string DayReportMenuId = "8F15D3BE-BE21-4A6F-AD5C-2BBECEE46149";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 考勤时间管理
|
||||||
|
/// </summary>
|
||||||
|
public const string Menu_KqglDateManger = "5B302FF3-A6E4-4305-A0C0-64CA7377777A";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 人工时月报
|
/// 人工时月报
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,416 @@
|
||||||
|
using BLL.Common;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Timers;
|
||||||
|
|
||||||
|
namespace BLL
|
||||||
|
{
|
||||||
|
public class YunMouService
|
||||||
|
{
|
||||||
|
|
||||||
|
#region 启动监视器 系统启动5分钟
|
||||||
|
/// <summary>
|
||||||
|
/// 监视组件
|
||||||
|
/// </summary>
|
||||||
|
private static Timer messageTimer;
|
||||||
|
private static string token;
|
||||||
|
private static string consumerId;
|
||||||
|
/// <summary>
|
||||||
|
/// 启动监视器,不一定能成功,根据系统设置决定对监视器执行的操作 系统启动5分钟
|
||||||
|
/// </summary>
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程确认 定时执行 系统启动5分钟
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender">Timer组件</param>
|
||||||
|
/// <param name="e">事件参数</param>
|
||||||
|
private static void InProcess(object sender, ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
//自动调用
|
||||||
|
DoSynchDataNew();
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 手动调用
|
||||||
|
/// </summary>
|
||||||
|
public static void manualOperation(string tokenSd, string consumerIdSd)
|
||||||
|
{
|
||||||
|
DoSynchData(tokenSd, consumerIdSd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
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分钟未调用拉取消息接口将被删除。
|
||||||
|
//consumerId = YunMouHelper.addConsumer(token);
|
||||||
|
|
||||||
|
LogService.AddLog(token + ";" + consumerId, "调用消息队列参数");
|
||||||
|
string content = YunMouHelper.consumerMessage(consumerId, token);
|
||||||
|
//调用消息队列第一次
|
||||||
|
LogService.AddLog(content, "调用消息队列1");
|
||||||
|
var j2 = JsonConvert.DeserializeObject<dynamic>(content);
|
||||||
|
|
||||||
|
//消费者首次拉取消息时需要与消息通道建立连接,此次调用实际拉到消息列表为空,
|
||||||
|
//再次调用即可拉取到消息,30秒内必须再次调用拉取消息接口,否则将断开与消息通道的连接。
|
||||||
|
//因此拉取间隔需要在30秒以内,否则每次拉到的消息是空的
|
||||||
|
if (j2.data.Count > 0)
|
||||||
|
{
|
||||||
|
using (Model.SGGLDB db = new Model.SGGLDB(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);
|
||||||
|
//调用消息队列第二次
|
||||||
|
LogService.AddLog(content, "调用消息队列" + (y + 2).ToString());
|
||||||
|
j2 = JsonConvert.DeserializeObject<dynamic>(content);
|
||||||
|
if (j2.data.Count > 0)
|
||||||
|
{
|
||||||
|
using (Model.SGGLDB db = new Model.SGGLDB(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;
|
||||||
|
LogService.AddLog(ex.Message, "调用消息队列");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DoSynchDataNew()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
////获取token
|
||||||
|
//token = YunMouHelper.getToken();
|
||||||
|
////创建消费者消费者如果5分钟未调用拉取消息接口将被删除。
|
||||||
|
//consumerId = YunMouHelper.addConsumer(token);
|
||||||
|
|
||||||
|
LogService.AddLog(token + ";" + consumerId, "调用消息队列参数");
|
||||||
|
string content = YunMouHelper.consumerMessage(consumerId, token);
|
||||||
|
//调用消息队列第一次
|
||||||
|
LogService.AddLog(content, "调用消息队列1");
|
||||||
|
var j2 = JsonConvert.DeserializeObject<dynamic>(content);
|
||||||
|
|
||||||
|
//消费者首次拉取消息时需要与消息通道建立连接,此次调用实际拉到消息列表为空,
|
||||||
|
//再次调用即可拉取到消息,30秒内必须再次调用拉取消息接口,否则将断开与消息通道的连接。
|
||||||
|
//因此拉取间隔需要在30秒以内,否则每次拉到的消息是空的
|
||||||
|
if (j2.data.Count > 0)
|
||||||
|
{
|
||||||
|
using (Model.SGGLDB db = new Model.SGGLDB(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 = 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);
|
||||||
|
//调用消息队列第二次
|
||||||
|
LogService.AddLog(content, "调用消息队列" + (y + 2).ToString());
|
||||||
|
j2 = JsonConvert.DeserializeObject<dynamic>(content);
|
||||||
|
if (j2.data.Count > 0)
|
||||||
|
{
|
||||||
|
using (Model.SGGLDB db = new Model.SGGLDB(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;
|
||||||
|
LogService.AddLog(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);
|
||||||
|
|
||||||
|
var 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.SGGLDB 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
namespace BLL
|
||||||
|
{
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Model;
|
||||||
|
|
||||||
|
public static class ProjectDeviceService
|
||||||
|
{
|
||||||
|
public static Model.SGGLDB db = Funs.DB;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///获取项目单位信息
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static Model.Project_Devices GetProjectDeviceById(string deviceId)
|
||||||
|
{
|
||||||
|
return Funs.DB.Project_Devices.FirstOrDefault(e => e.DeviceId == deviceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 增加项目设备信息
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static void AddProjectDevice(Project_Devices projectDevices)
|
||||||
|
{
|
||||||
|
SGGLDB db = Funs.DB;
|
||||||
|
Project_Devices newProjectUnit = new Project_Devices
|
||||||
|
{
|
||||||
|
DeviceId = SQLHelper.GetNewID(typeof(Model.Project_Devices)),
|
||||||
|
ProjectId = projectDevices.ProjectId,
|
||||||
|
DeviceName = projectDevices.DeviceName,
|
||||||
|
DeviceSerial = projectDevices.DeviceSerial,
|
||||||
|
CreateDate = projectDevices.CreateDate,
|
||||||
|
Address = projectDevices.Address,
|
||||||
|
IsInOut = projectDevices.IsInOut,
|
||||||
|
ValidateCode = projectDevices.ValidateCode,
|
||||||
|
YunMouDeviceId = projectDevices.YunMouDeviceId,
|
||||||
|
YunMouPermission = projectDevices.YunMouPermission,
|
||||||
|
};
|
||||||
|
db.Project_Devices.InsertOnSubmit(newProjectUnit);
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///修改项目设备信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="projectUnit"></param>
|
||||||
|
public static void UpdateProjectDevice(Model.Project_Devices devices)
|
||||||
|
{
|
||||||
|
Model.SGGLDB db = Funs.DB;
|
||||||
|
Model.Project_Devices newDevices = db.Project_Devices.FirstOrDefault(e => e.DeviceId == devices.DeviceId);
|
||||||
|
if (newDevices != null)
|
||||||
|
{
|
||||||
|
newDevices.ProjectId = devices.ProjectId;
|
||||||
|
newDevices.DeviceName = devices.DeviceName;
|
||||||
|
newDevices.DeviceSerial = devices.DeviceSerial;
|
||||||
|
newDevices.CreateDate = devices.CreateDate;
|
||||||
|
newDevices.Address = devices.Address;
|
||||||
|
newDevices.IsInOut = devices.IsInOut;
|
||||||
|
newDevices.ValidateCode = devices.ValidateCode;
|
||||||
|
newDevices.YunMouPermission = devices.YunMouPermission;
|
||||||
|
newDevices.YunMouDeviceId = devices.YunMouDeviceId;
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 根据项目单位Id删除一个项目单位信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="projectUnitId"></param>
|
||||||
|
public static void DeleteProjectDeviceById(string deviceId)
|
||||||
|
{
|
||||||
|
Model.SGGLDB db = Funs.DB;
|
||||||
|
Model.Project_Devices devices = db.Project_Devices.FirstOrDefault(e => e.DeviceId == deviceId);
|
||||||
|
if (devices != null)
|
||||||
|
{
|
||||||
|
db.Project_Devices.DeleteOnSubmit(devices);
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1982,6 +1982,7 @@
|
||||||
<Content Include="HSSE\Resources\SignManageEdit.aspx" />
|
<Content Include="HSSE\Resources\SignManageEdit.aspx" />
|
||||||
<Content Include="HSSE\SecuritySystem\SafetyOrganization.aspx" />
|
<Content Include="HSSE\SecuritySystem\SafetyOrganization.aspx" />
|
||||||
<Content Include="HSSE\SecuritySystem\SafetyOrganizationEdit.aspx" />
|
<Content Include="HSSE\SecuritySystem\SafetyOrganizationEdit.aspx" />
|
||||||
|
<Content Include="HSSE\SitePerson\DateManage.aspx" />
|
||||||
<Content Include="HSSE\SitePerson\DayReport.aspx" />
|
<Content Include="HSSE\SitePerson\DayReport.aspx" />
|
||||||
<Content Include="HSSE\SitePerson\DayReportDetailView.aspx" />
|
<Content Include="HSSE\SitePerson\DayReportDetailView.aspx" />
|
||||||
<Content Include="HSSE\SitePerson\DayReportDetailEdit.aspx" />
|
<Content Include="HSSE\SitePerson\DayReportDetailEdit.aspx" />
|
||||||
|
|
@ -13577,6 +13578,13 @@
|
||||||
<Compile Include="HSSE\SecuritySystem\SafetyOrganizationEdit.aspx.designer.cs">
|
<Compile Include="HSSE\SecuritySystem\SafetyOrganizationEdit.aspx.designer.cs">
|
||||||
<DependentUpon>SafetyOrganizationEdit.aspx</DependentUpon>
|
<DependentUpon>SafetyOrganizationEdit.aspx</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="HSSE\SitePerson\DateManage.aspx.cs">
|
||||||
|
<DependentUpon>DateManage.aspx</DependentUpon>
|
||||||
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="HSSE\SitePerson\DateManage.aspx.designer.cs">
|
||||||
|
<DependentUpon>DateManage.aspx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="HSSE\SitePerson\DayReport.aspx.cs">
|
<Compile Include="HSSE\SitePerson\DayReport.aspx.cs">
|
||||||
<DependentUpon>DayReport.aspx</DependentUpon>
|
<DependentUpon>DayReport.aspx</DependentUpon>
|
||||||
<SubType>ASPXCodeBehind</SubType>
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
|
@ -16854,7 +16862,7 @@
|
||||||
</COMReference>
|
</COMReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v18.0\WebApplications\Microsoft.WebApplication.targets" />
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
<VisualStudio>
|
<VisualStudio>
|
||||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,7 @@
|
||||||
{
|
{
|
||||||
BLL.MonitorService.StartMonitor();
|
BLL.MonitorService.StartMonitor();
|
||||||
BLL.MonitorService.StartMonitorEve();
|
BLL.MonitorService.StartMonitorEve();
|
||||||
|
BLL.YunMouService.StartMonitor();
|
||||||
//BLL.MonitorService.StartPersonQuarterCheck();
|
//BLL.MonitorService.StartPersonQuarterCheck();
|
||||||
QuartzServices.Init();
|
QuartzServices.Init();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DateManage.aspx.cs" Inherits="FineUIPro.Web.HSSE.SitePerson.DateManage" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head runat="server">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>考勤时间管理</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server" />
|
||||||
|
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server" Margin="5px">
|
||||||
|
<Regions>
|
||||||
|
<f:Region ID="Region2" ShowBorder="false" ShowHeader="false" Position="Center" Layout="VBox"
|
||||||
|
BoxConfigAlign="Stretch" BoxConfigPosition="Left" runat="server" AutoScroll="true">
|
||||||
|
<Items>
|
||||||
|
<f:GroupPanel ID="GroupPanel0" Layout="Anchor" Title="考勤时间维护" runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||||
|
Layout="VBox" BodyPadding="10px" runat="server" RedStarPosition="BeforeText"
|
||||||
|
LabelAlign="Right">
|
||||||
|
<Rows>
|
||||||
|
<f:FormRow runat="server" CssStyle="width:800px">
|
||||||
|
<Items>
|
||||||
|
<f:DatePicker runat="server" ID="txtAmStartTime1" Label="上午上班签到有效时间" LabelWidth="180px"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
|
||||||
|
<f:DatePicker runat="server" ID="txtAmStartTime2"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
</Items>
|
||||||
|
</f:FormRow>
|
||||||
|
|
||||||
|
<f:FormRow runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:DatePicker runat="server" ID="txtAmEndTime1" Label="上午下班签退有效时间" LabelWidth="180px"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
|
||||||
|
<f:DatePicker runat="server" ID="txtAmEndTime2"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
</Items>
|
||||||
|
</f:FormRow>
|
||||||
|
|
||||||
|
<f:FormRow runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:DatePicker runat="server" ID="txtPmStartTime1" Label="下午上班签到有效时间" LabelWidth="180px"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
|
||||||
|
<f:DatePicker runat="server" ID="txtPmStartTime2"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
</Items>
|
||||||
|
</f:FormRow>
|
||||||
|
|
||||||
|
<f:FormRow runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:DatePicker runat="server" ID="txtPmEndTime1" Label="下午下班签退有效时间" LabelWidth="180px"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
|
||||||
|
<f:DatePicker runat="server" ID="txtPmEndTime2"
|
||||||
|
Required="true" DateFormatString="HH:mm:ss" ShowRedStar="true" DisplayType="Time">
|
||||||
|
</f:DatePicker>
|
||||||
|
</Items>
|
||||||
|
</f:FormRow>
|
||||||
|
|
||||||
|
<f:FormRow runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:NumberBox ID="txtLateTime" runat="server" Required="true" ShowRedStar="true" NoDecimal="true" NoNegative="false" Label="允许迟到(分钟)" LabelWidth="180px" >
|
||||||
|
</f:NumberBox>
|
||||||
|
|
||||||
|
<f:NumberBox ID="txtLeaveTime" runat="server" Required="true" ShowRedStar="true" NoDecimal="true" NoNegative="false" Label="允许早退(分钟)" LabelWidth="180px" >
|
||||||
|
</f:NumberBox>
|
||||||
|
</Items>
|
||||||
|
</f:FormRow>
|
||||||
|
<f:FormRow runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:TextArea runat="server" ID="txtEquipmentCode" Label="考勤机序列号(逗号分隔)" LabelWidth="180px" ></f:TextArea>
|
||||||
|
</Items>
|
||||||
|
</f:FormRow>
|
||||||
|
</Rows>
|
||||||
|
</f:Form>
|
||||||
|
</Items>
|
||||||
|
</f:GroupPanel>
|
||||||
|
</Items>
|
||||||
|
|
||||||
|
<Toolbars>
|
||||||
|
<f:Toolbar ID="Toolbar1" Position="Top" ToolbarAlign="Right" runat="server">
|
||||||
|
<Items>
|
||||||
|
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存数据" ValidateForms="Region2"
|
||||||
|
Hidden="true" OnClick="btnSave_Click">
|
||||||
|
</f:Button>
|
||||||
|
</Items>
|
||||||
|
</f:Toolbar>
|
||||||
|
</Toolbars>
|
||||||
|
|
||||||
|
</f:Region>
|
||||||
|
</Regions>
|
||||||
|
</f:RegionPanel>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
using BLL;
|
||||||
|
|
||||||
|
namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
|
{
|
||||||
|
public partial class DateManage : PageBase
|
||||||
|
{
|
||||||
|
public string ProjectId
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (string)ViewState["ProjectId"];
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["ProjectId"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Model.SGGLDB db = Funs.DB;
|
||||||
|
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
ProjectId = CurrUser.LoginProjectId;
|
||||||
|
GetButtonPower();
|
||||||
|
var result = db.Kqgl_DateManage.FirstOrDefault(x => x.ProjectId == ProjectId);
|
||||||
|
if (result!=null)
|
||||||
|
{
|
||||||
|
txtAmStartTime1.Text = result.AmStartTime1.ToString();
|
||||||
|
txtAmStartTime2.Text = result.AmStartTime2.ToString();
|
||||||
|
txtAmEndTime1.Text = result.AmEndTime1.ToString();
|
||||||
|
txtAmEndTime2.Text = result.AmEndTime2.ToString();
|
||||||
|
txtPmStartTime1.Text = result.PmStartTime1.ToString();
|
||||||
|
txtPmStartTime2.Text = result.PmStartTime2.ToString();
|
||||||
|
txtPmEndTime1.Text = result.PmEndTime1.ToString();
|
||||||
|
txtPmEndTime2.Text = result.PmEndTime2.ToString();
|
||||||
|
txtLateTime.Text = result.LateTime.ToString();
|
||||||
|
txtLeaveTime.Text = result.LeaveTime.ToString();
|
||||||
|
txtEquipmentCode.Text = result.EquipmentCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void GetButtonPower()
|
||||||
|
{
|
||||||
|
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Menu_KqglDateManger, Const.BtnSave))
|
||||||
|
{
|
||||||
|
this.btnSave.Hidden = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnSave_Click(object sender, EventArgs e) {
|
||||||
|
var result = db.Kqgl_DateManage.FirstOrDefault(x => x.ProjectId == ProjectId);
|
||||||
|
if (result==null)
|
||||||
|
{
|
||||||
|
Model.Kqgl_DateManage model = new Model.Kqgl_DateManage()
|
||||||
|
{
|
||||||
|
ProjectId=ProjectId,
|
||||||
|
Id = Guid.NewGuid().ToString(),
|
||||||
|
|
||||||
|
AmStartTime2 = TimeSpan.Parse(txtAmStartTime2.Text),
|
||||||
|
|
||||||
|
AmEndTime1 = TimeSpan.Parse(txtAmEndTime1.Text),
|
||||||
|
AmEndTime2 = TimeSpan.Parse(txtAmEndTime2.Text),
|
||||||
|
|
||||||
|
PmStartTime1 = TimeSpan.Parse(txtPmStartTime1.Text),
|
||||||
|
PmStartTime2 = TimeSpan.Parse(txtPmStartTime2.Text),
|
||||||
|
|
||||||
|
PmEndTime1 = TimeSpan.Parse(txtPmEndTime1.Text),
|
||||||
|
PmEndTime2 = TimeSpan.Parse(txtPmEndTime2.Text),
|
||||||
|
|
||||||
|
LateTime = Convert.ToInt32(txtLateTime.Text),
|
||||||
|
LeaveTime = Convert.ToInt32(txtLeaveTime.Text),
|
||||||
|
EquipmentCode= txtEquipmentCode.Text.Trim()
|
||||||
|
};
|
||||||
|
model.AmStartTime1 = TimeSpan.Parse(txtAmStartTime1.Text);
|
||||||
|
db.Kqgl_DateManage.InsertOnSubmit(model);
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var model = db.Kqgl_DateManage.FirstOrDefault(x => x.Id == result.Id) ;
|
||||||
|
|
||||||
|
|
||||||
|
model.AmStartTime2 = TimeSpan.Parse(txtAmStartTime2.Text);
|
||||||
|
|
||||||
|
model.AmEndTime1 = TimeSpan.Parse(txtAmEndTime1.Text);
|
||||||
|
model.AmEndTime2 = TimeSpan.Parse(txtAmEndTime2.Text);
|
||||||
|
|
||||||
|
model.PmStartTime1 = TimeSpan.Parse(txtPmStartTime1.Text);
|
||||||
|
model.PmStartTime2 = TimeSpan.Parse(txtPmStartTime2.Text);
|
||||||
|
|
||||||
|
model.PmEndTime1 = TimeSpan.Parse(txtPmEndTime1.Text);
|
||||||
|
model.PmEndTime2 = TimeSpan.Parse(txtPmEndTime2.Text);
|
||||||
|
|
||||||
|
model.LateTime = Convert.ToInt32(txtLateTime.Text);
|
||||||
|
model.LeaveTime = Convert.ToInt32(txtLeaveTime.Text);
|
||||||
|
|
||||||
|
model.AmStartTime1 = TimeSpan.Parse(txtAmStartTime1.Text);
|
||||||
|
model.EquipmentCode = txtEquipmentCode.Text.Trim();
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
Alert.ShowInTop("编辑成功!", MessageBoxIcon.Success);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,188 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能导致不正确的行为,如果
|
||||||
|
// 重新生成代码,则所做更改将丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public partial class DateManage
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// RegionPanel1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.RegionPanel RegionPanel1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Region2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Region Region2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// GroupPanel0 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.GroupPanel GroupPanel0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SimpleForm1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Form SimpleForm1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtAmStartTime1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtAmStartTime1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtAmStartTime2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtAmStartTime2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtAmEndTime1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtAmEndTime1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtAmEndTime2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtAmEndTime2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtPmStartTime1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtPmStartTime1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtPmStartTime2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtPmStartTime2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtPmEndTime1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtPmEndTime1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtPmEndTime2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DatePicker txtPmEndTime2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtLateTime 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.NumberBox txtLateTime;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtLeaveTime 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.NumberBox txtLeaveTime;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtEquipmentCode 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.TextArea txtEquipmentCode;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Toolbar1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Toolbar Toolbar1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSave 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Button btnSave;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -36,6 +36,9 @@
|
||||||
<f:DatePicker ID="txtEndDate" ShowRedStar="true" Width="180px" EmptyText="结束日期"
|
<f:DatePicker ID="txtEndDate" ShowRedStar="true" Width="180px" EmptyText="结束日期"
|
||||||
DateFormatString="yyyy-MM-dd HH:mm" runat="server" EnableEdit="false" ShowTime="true" ShowSecond="false">
|
DateFormatString="yyyy-MM-dd HH:mm" runat="server" EnableEdit="false" ShowTime="true" ShowSecond="false">
|
||||||
</f:DatePicker>
|
</f:DatePicker>
|
||||||
|
<f:Button ID="Button1" ToolTip="云眸同步" Icon="Add" runat="server" Text="云眸同步"
|
||||||
|
OnClick="btnYunMou_Click">
|
||||||
|
</f:Button>
|
||||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||||
<f:Button ID="btnNew" Text="增加" Icon="Add" runat="server" Hidden="true">
|
<f:Button ID="btnNew" Text="增加" Icon="Add" runat="server" Hidden="true">
|
||||||
</f:Button>
|
</f:Button>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
using BLL;
|
using Apache.NMS.ActiveMQ.Commands;
|
||||||
|
using BLL;
|
||||||
using System;
|
using System;
|
||||||
|
using BLL.Common;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AspNet = System.Web.UI.WebControls;
|
using AspNet = System.Web.UI.WebControls;
|
||||||
|
|
@ -8,6 +10,28 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
{
|
{
|
||||||
public partial class PersonInfo : PageBase
|
public partial class PersonInfo : PageBase
|
||||||
{
|
{
|
||||||
|
public string consumerIdR
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (string)ViewState["consumerIdR"];
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["consumerIdR"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public string tokenR
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (string)ViewState["tokenR"];
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["tokenR"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
#region 加载页面
|
#region 加载页面
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 加载页面
|
/// 加载页面
|
||||||
|
|
@ -18,6 +42,12 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
{
|
{
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
{
|
{
|
||||||
|
////获取token
|
||||||
|
tokenR = YunMouHelper.getToken();
|
||||||
|
////创建消费者消费者如果5分钟未调用拉取消息接口将被删除。
|
||||||
|
consumerIdR = YunMouHelper.addConsumer(tokenR);
|
||||||
|
|
||||||
|
|
||||||
////权限按钮方法
|
////权限按钮方法
|
||||||
this.GetButtonPower();
|
this.GetButtonPower();
|
||||||
btnNew.OnClientClick = Window1.GetShowReference("PersonInfoEdit.aspx") + "return false;";
|
btnNew.OnClientClick = Window1.GetShowReference("PersonInfoEdit.aspx") + "return false;";
|
||||||
|
|
@ -369,6 +399,11 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
}
|
}
|
||||||
|
|
||||||
Alert.ShowInTop("写入考勤" + count.ToString() + "条。", MessageBoxIcon.Success);
|
Alert.ShowInTop("写入考勤" + count.ToString() + "条。", MessageBoxIcon.Success);
|
||||||
|
} //云眸同步
|
||||||
|
protected void btnYunMou_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
YunMouService.manualOperation(tokenR, consumerIdR);
|
||||||
|
BindGrid();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -7,11 +7,13 @@
|
||||||
// </自动生成>
|
// </自动生成>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace FineUIPro.Web.HSSE.SitePerson {
|
namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
|
{
|
||||||
|
|
||||||
public partial class PersonInfo {
|
|
||||||
|
public partial class PersonInfo
|
||||||
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// form1 控件。
|
/// form1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// PageManager1 控件。
|
/// PageManager1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.PageManager PageManager1;
|
protected global::FineUIPro.PageManager PageManager1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Panel1 控件。
|
/// Panel1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Panel Panel1;
|
protected global::FineUIPro.Panel Panel1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Grid1 控件。
|
/// Grid1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Grid Grid1;
|
protected global::FineUIPro.Grid Grid1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Toolbar2 控件。
|
/// Toolbar2 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Toolbar Toolbar2;
|
protected global::FineUIPro.Toolbar Toolbar2;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// rbInOutWay 控件。
|
/// rbInOutWay 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.RadioButtonList rbInOutWay;
|
protected global::FineUIPro.RadioButtonList rbInOutWay;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// drpUnit 控件。
|
/// drpUnit 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.DropDownList drpUnit;
|
protected global::FineUIPro.DropDownList drpUnit;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtStartDate 控件。
|
/// txtStartDate 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.DatePicker txtStartDate;
|
protected global::FineUIPro.DatePicker txtStartDate;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtEndDate 控件。
|
/// txtEndDate 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -92,7 +94,16 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.DatePicker txtEndDate;
|
protected global::FineUIPro.DatePicker txtEndDate;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Button Button1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnNew 控件。
|
/// btnNew 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -101,7 +112,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnNew;
|
protected global::FineUIPro.Button btnNew;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnImport 控件。
|
/// btnImport 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnImport;
|
protected global::FineUIPro.Button btnImport;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Toolbar1 控件。
|
/// Toolbar1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Toolbar Toolbar1;
|
protected global::FineUIPro.Toolbar Toolbar1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtPersonName 控件。
|
/// txtPersonName 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.TextBox txtPersonName;
|
protected global::FineUIPro.TextBox txtPersonName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// txtIdCard 控件。
|
/// txtIdCard 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.TextBox txtIdCard;
|
protected global::FineUIPro.TextBox txtIdCard;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btSearch 控件。
|
/// btSearch 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btSearch;
|
protected global::FineUIPro.Button btSearch;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnOut 控件。
|
/// btnOut 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnOut;
|
protected global::FineUIPro.Button btnOut;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnInRealName 控件。
|
/// btnInRealName 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnInRealName;
|
protected global::FineUIPro.Button btnInRealName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnPersonOut 控件。
|
/// btnPersonOut 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnPersonOut;
|
protected global::FineUIPro.Button btnPersonOut;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// labNumber 控件。
|
/// labNumber 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -182,7 +193,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label labNumber;
|
protected global::System.Web.UI.WebControls.Label labNumber;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lblIdentityCard 控件。
|
/// lblIdentityCard 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -191,7 +202,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label lblIdentityCard;
|
protected global::System.Web.UI.WebControls.Label lblIdentityCard;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lblIntoOut 控件。
|
/// lblIntoOut 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -200,7 +211,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label lblIntoOut;
|
protected global::System.Web.UI.WebControls.Label lblIntoOut;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lblInOutWayName 控件。
|
/// lblInOutWayName 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -209,7 +220,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label lblInOutWayName;
|
protected global::System.Web.UI.WebControls.Label lblInOutWayName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ToolbarSeparator1 控件。
|
/// ToolbarSeparator1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -218,7 +229,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ToolbarText1 控件。
|
/// ToolbarText1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -227,7 +238,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ddlPageSize 控件。
|
/// ddlPageSize 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -236,7 +247,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Window1 控件。
|
/// Window1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -245,7 +256,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Window Window1;
|
protected global::FineUIPro.Window Window1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Menu1 控件。
|
/// Menu1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -254,7 +265,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Menu Menu1;
|
protected global::FineUIPro.Menu Menu1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnMenuEdit 控件。
|
/// btnMenuEdit 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -263,7 +274,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.MenuButton btnMenuEdit;
|
protected global::FineUIPro.MenuButton btnMenuEdit;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnMenuDelete 控件。
|
/// btnMenuDelete 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,9 @@
|
||||||
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationGet" Hidden="true" runat="server"
|
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationGet" Hidden="true" runat="server"
|
||||||
OnClick="btnImport_Click">
|
OnClick="btnImport_Click">
|
||||||
</f:Button>
|
</f:Button>
|
||||||
|
|
||||||
|
<f:Button ID="Button1" ToolTip="同步人员到云眸" Icon="Add" runat="server" Text="同步人员到云眸" OnClick="btnToYunMou_Click">
|
||||||
|
</f:Button>
|
||||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||||
</f:Button>
|
</f:Button>
|
||||||
|
|
@ -140,11 +143,11 @@
|
||||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报集团时间"
|
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报集团时间"
|
||||||
HeaderTextAlign="Center" TextAlign="Center">
|
HeaderTextAlign="Center" TextAlign="Center">
|
||||||
</f:RenderField>
|
</f:RenderField>
|
||||||
<f:TemplateField Width="70px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
|
<%-- <f:TemplateField Width="70px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Label ID="lbIsPost" runat="server" Text='<%# GetProjectPersonStates(Eval("States")) %>'></asp:Label>
|
<asp:Label ID="lbIsPost" runat="server" Text='<%# GetProjectPersonStates(Eval("States")) %>'></asp:Label>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</f:TemplateField>
|
</f:TemplateField>--%>
|
||||||
<f:RenderField Hidden="true" Width="1px" HeaderText="培训次数" ColumnID="TrainCount" DataField="TrainCount">
|
<f:RenderField Hidden="true" Width="1px" HeaderText="培训次数" ColumnID="TrainCount" DataField="TrainCount">
|
||||||
</f:RenderField>
|
</f:RenderField>
|
||||||
<f:RenderField Hidden="true" Width="1px" HeaderText="培训次数" ColumnID="TrainCount1" DataField="TrainCount1">
|
<f:RenderField Hidden="true" Width="1px" HeaderText="培训次数" ColumnID="TrainCount1" DataField="TrainCount1">
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using BLL;
|
using BLL;
|
||||||
|
using BLL.Common;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
|
@ -737,5 +738,33 @@ Where ProjectId=@ProjectId ";
|
||||||
int count = GetDataService.SendCarNo(this.ProjectId);
|
int count = GetDataService.SendCarNo(this.ProjectId);
|
||||||
Alert.ShowInTop("刷新完成" + count.ToString() + "条。", MessageBoxIcon.Success);
|
Alert.ShowInTop("刷新完成" + count.ToString() + "条。", MessageBoxIcon.Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void btnToYunMou_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Grid1.SelectedRowIndexArray.Length > 0)
|
||||||
|
{
|
||||||
|
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||||||
|
{
|
||||||
|
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
||||||
|
var sitePerson = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == rowID);
|
||||||
|
var person = Funs.DB.Person_Persons.FirstOrDefault(x => x.IdentityCard == sitePerson.IdentityCard);
|
||||||
|
if (!string.IsNullOrEmpty(person.PhotoUrl))
|
||||||
|
{
|
||||||
|
var token = YunMouHelper.getToken();
|
||||||
|
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId);
|
||||||
|
|
||||||
|
var res1 = YunMouHelper.addPerson(person.IdentityCard, person.PersonName, string.IsNullOrEmpty(person.Telephone) ? "" : person.Telephone, person.PhotoUrl, token);
|
||||||
|
var res2 = YunMouHelper.addPersonsToGroups(project.YunMouGroupId, new string[] { person.IdentityCard }, token);
|
||||||
|
person.YunMouState = "已经同步";
|
||||||
|
Funs.DB.SubmitChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.BindGrid();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowNotify("请选择用户", MessageBoxIcon.Warning);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -230,6 +230,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnImport;
|
protected global::FineUIPro.Button btnImport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Button Button1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnOut 控件。
|
/// btnOut 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -257,15 +266,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnRefresh;
|
protected global::FineUIPro.Button btnRefresh;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// lbIsPost 控件。
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// 自动生成的字段。
|
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|
||||||
/// </remarks>
|
|
||||||
protected global::System.Web.UI.WebControls.Label lbIsPost;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ToolbarSeparator1 控件。
|
/// ToolbarSeparator1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,7 @@ using System.Web;
|
||||||
using System.Web.UI;
|
using System.Web.UI;
|
||||||
using System.Web.UI.WebControls;
|
using System.Web.UI.WebControls;
|
||||||
using BLL;
|
using BLL;
|
||||||
using BLL.Common;
|
using BLL.Common;
|
||||||
using FastReport.Cloud.OAuth;
|
|
||||||
using FineUIPro.Web.DataShow;
|
|
||||||
using Org.BouncyCastle.Crypto;
|
|
||||||
|
|
||||||
namespace FineUIPro.Web.ProjectData
|
namespace FineUIPro.Web.ProjectData
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ namespace FineUIPro.Web.common.ProjectSet
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 提交按钮
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 提交按钮
|
/// 提交按钮
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -152,7 +151,7 @@ namespace FineUIPro.Web.common.ProjectSet
|
||||||
{
|
{
|
||||||
pdms.IsAuto = false;
|
pdms.IsAuto = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
private void SaveColorModelSettings(string projectId)
|
private void SaveColorModelSettings(string projectId)
|
||||||
{
|
{
|
||||||
UpsertByName("管线未完成", projectId, this.txtPipelineNOComplete.Text.Trim());
|
UpsertByName("管线未完成", projectId, this.txtPipelineNOComplete.Text.Trim());
|
||||||
|
|
|
||||||
1106
SGGL/Model/Model.cs
1106
SGGL/Model/Model.cs
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue