This commit is contained in:
2026-05-17 10:45:04 +08:00
parent 52492927d3
commit 55a14cf187
12 changed files with 1268 additions and 4 deletions
+17 -1
View File
@@ -695,6 +695,7 @@
<Content Include="DataShow\Environmental.aspx" />
<Content Include="DataShow\HazardDetection.aspx" />
<Content Include="DataShow\kq.aspx" />
<Content Include="DataShow\kqProject.aspx" />
<Content Include="DataShow\OccupationalDiseaseAccident.aspx" />
<Content Include="DataShow\PhysicalExamination.aspx" />
<Content Include="DataShow\ProjectDivision.aspx" />
@@ -1153,6 +1154,7 @@
<Content Include="HSSE\Meeting\MeetingManage.aspx" />
<Content Include="HSSE\QualityAudit\SubcontractLeasingProtocolEdit.aspx" />
<Content Include="HSSE\QualityAudit\SubcontractLeasingProtocol.aspx" />
<Content Include="HSSE\SitePerson\DateManage.aspx" />
<Content Include="HSSE\SitePerson\ProjectWorkPersonStatistic.aspx" />
<Content Include="HSSE\Solution\TemporaryElectricity.aspx" />
<Content Include="HSSE\Solution\TemporaryElectricityEdit.aspx" />
@@ -9530,6 +9532,13 @@
<Compile Include="DataShow\kq.aspx.designer.cs">
<DependentUpon>kq.aspx</DependentUpon>
</Compile>
<Compile Include="DataShow\kqProject.aspx.cs">
<DependentUpon>kqProject.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="DataShow\kqProject.aspx.designer.cs">
<DependentUpon>kqProject.aspx</DependentUpon>
</Compile>
<Compile Include="DataShow\OccupationalDiseaseAccident.aspx.cs">
<DependentUpon>OccupationalDiseaseAccident.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -12574,6 +12583,13 @@
<Compile Include="HSSE\QualityAudit\SubcontractLeasingProtocol.aspx.designer.cs">
<DependentUpon>SubcontractLeasingProtocol.aspx</DependentUpon>
</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\ProjectWorkPersonStatistic.aspx.cs">
<DependentUpon>ProjectWorkPersonStatistic.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -18538,7 +18554,7 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v18.0\WebApplications\Microsoft.WebApplication.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
+2
View File
@@ -76,6 +76,8 @@
BLL.MonitorService.StartMonitor();
//BLL.MonitorService.StartMonitorEve();
//BLL.MonitorService.StartPersonQuarterCheck();
BLL.YunMouService.StartMonitor();
QuartzServices.Init();
}
catch (Exception ex)
@@ -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.SUBQHSEDB 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.UserId, 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;
}
}
@@ -873,7 +873,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
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 res3 = YunMouHelper.updatePerson(person.IdentityCard, person.PersonName, string.IsNullOrEmpty(person.Telephone) ? "" : person.Telephone, person.PhotoUrl, token);
// var res3 = YunMouHelper.updatePerson(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();