提交 720e2bd8 authored 作者: 李德成's avatar 李德成

最新代码

上级 897ef05d
WebSite
补丁包
采购计划转采购单
\ No newline at end of file
......@@ -13,25 +13,15 @@ using System.Data;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Kingdee.BOS.WebApi.Client;
using Kingdee.BOS.WebApi.FormService;
namespace LQKJ.K3.FileSystem.BlacklistTimingPlugIN
{
[Description("执行计划插件,档案自动移入黑名单"), HotUpdate]
public class BlacklistTimingPlugIN : IScheduleService
{
public void Run(Context ctx, Schedule schedule)
{
string dbid = Kingdee.BOS.KDConfiguration.Current.CommonConfiguration.AppSettings.Settings["Dbid"].Value;
string username = Kingdee.BOS.KDConfiguration.Current.CommonConfiguration.AppSettings.Settings["username"].Value;
string password = Kingdee.BOS.KDConfiguration.Current.CommonConfiguration.AppSettings.Settings["password"].Value;
string url = Kingdee.BOS.KDConfiguration.Current.CommonConfiguration.AppSettings.Settings["url"].Value;
K3CloudApiClient Client = new K3CloudApiClient(url);
var loginResult = Client.ValidateLogin(dbid, username, password, 2052);
var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>();
if (resultType != 1)
{
throw new Exception("登陆失败");
}
DateTime Date;
//Date = new DateTime(2023, 09, 12);
Date = DateTime.Now;
......@@ -53,9 +43,9 @@ namespace LQKJ.K3.FileSystem.BlacklistTimingPlugIN
{
//string json = $@"{{ ""NeedUpDateFields"": [],""NeedReturnFields"": [],""IsDeleteEntry"": ""true"",""SubSystemId"": """",""IsVerifyBaseDataField"": ""false"",""IsEntryBatchFill"": ""true"", ""ValidateFlag"": ""true"",""NumberSearch"": ""true"",""IsAutoAdjustField"": ""false"",""InterationFlags"": """",""IgnoreInterationFlag"": """",""IsControlPrecision"": ""false"",""ValidateRepeatJson"": ""false"",""Model"": {{""FBeOverdue"": {YuQiCountSum},""FRemarks"": """",""FCreatorId"": {{ ""FUserID"": ""{UserId.ToString()}""}},""FCreateDate"": ""{DateTime.Now.ToString("yyyy-MM-dd")}"",""FModifierId"": {{""FUserID"": """"}},""FModifyDate"": """",""FForbidderId"": {{""FUserID"": """"}},""FForbidDate"": """",""FNAME"": ""{FTRANSFERREDBY}"",""F_LQKJ_Combo"": ""2"",""F_LQKJ_Integer"": 0,""F_LQKJ_Text"": ""{FIDCARD}""}}}}";
string json = $@"{{ ""Model"": {{""FBeOverdue"": {HmdYzData.Rows[0][1].ToString()},""FRemarks"": """",""FCreatorId"": {{ ""FUserID"": ""{UserId.ToString()}""}},""FCreateDate"": ""{DateTime.Now.ToString("yyyy-MM-dd")}"",""FModifierId"": {{""FUserID"": """"}},""FModifyDate"": """",""FForbidderId"": {{""FUserID"": """"}},""FForbidDate"": """",""FNAME"": ""{FTRANSFERREDBY}"",""F_LQKJ_Combo"": ""2"",""F_LQKJ_Integer"": 0,""F_LQKJ_Text"": ""{FIDCARD}""}}}}";
var unAuditret = Client.Save("LQKJ_Blacklist", json.ToString());
var unAuditret = JsonUtil.Serialize(WebApiServiceCall.Save(ctx, "LQKJ_Blacklist", json.ToString()));
//JObject jobject = JObject.Parse(JsonConvert.SerializeObject(unAuditret));
bool IsunAudiSuccess = (bool)JObject.Parse(unAuditret)["Result"]["ResponseStatus"]["IsSuccess"];
bool IsunAudiSuccess = (bool)JObject.Parse(unAuditret.ToString())["Result"]["ResponseStatus"]["IsSuccess"];
if (!IsunAudiSuccess)
{
continue;
......
......@@ -75,6 +75,8 @@
<ItemGroup>
<Compile Include="BlacklistTimingPlugIN.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ReservationRuleTimePlug.cs" />
<Compile Include="RuleInformation.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using Kingdee.BOS.Contracts;
using Kingdee.BOS;
using Kingdee.BOS.Core;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System.Data;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Kingdee.BOS.WebApi.Client;
using System.Dynamic;
using Kingdee.BOS.WebApi.FormService;
using Kingdee.BOS.Log;
namespace LQKJ.K3.FileSystem.BlacklistTimingPlugIN
{
public class ReservationRuleTimePlug : IScheduleService
{
public void Run(Context ctx, Schedule schedule)
{
DateTime dateTime = DateTime.Now;
string SeSql = $"/*dialect*/select FID,FORMAT(FTIMEPERIOD,'yyyy-MM-dd')as date From LQKJ_t_AppointmentRules where FDOCUMENTSTATUS='C'and FFORBIDSTATUS='A' and year(FTIMEPERIOD)='{dateTime.Year}'";
DateTime startDate = new DateTime(dateTime.Year, 1, 1);
DateTime endDate = new DateTime(dateTime.Year, 12, 31);
DataTable SeDt = DBServiceHelper.ExecuteDataSet(ctx, SeSql).Tables[0];//查询当前年份已有的数据
var Dts = SeDt.AsEnumerable();
StringBuilder stringBuilder = new StringBuilder();
string header = "{\"IsDeleteEntry\": \"false\",\"IsAutoAdjustField\": \"true\",\"Model\":[";
stringBuilder.Append(header);
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
{
if (Dts.Any(e => e.Field<string>("date") == date.ToString("yyyy-MM-dd")))//如果存在则跳过
continue;
string CheckBoxRest;
if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday)
{
CheckBoxRest = "1";
}
else
{
CheckBoxRest = "0";
}
DateTime StateTime = new DateTime(2023, 9, 26, 9, 30, 0);
DateTime EndTime = new DateTime(2023, 9, 26, 16, 30, 0);
List<RuleInformation> RuleInformationLisst = new List<RuleInformation>();
for (; StateTime <= EndTime; StateTime = StateTime.AddMinutes(60))
{
if (StateTime.Hour == 11 || StateTime.Hour == 12 || StateTime.Hour == 13)
continue;
RuleInformationLisst.Add(new RuleInformation(CheckBoxRest, StateTime, StateTime.AddMinutes(60),1,1));
}
string json = JsonConvert.SerializeObject(RuleInformationLisst, Formatting.Indented);
stringBuilder.Append("{\"FTimePeriod\":\"" + date + "\",\"FISRestDays\": \"" + CheckBoxRest + "\",\"FDateType\": \"" + CheckBoxRest + "\",\"F_LQKJ_RuleInfoRuleInformation\":" + json + " },");
RuleInformationLisst.Clear();
}
stringBuilder.Append("]}");
var unAuditret = JsonUtil.Serialize(WebApiServiceCall.BatchSave(ctx, "LQKJ_AppointmentRules", stringBuilder.ToString()));
//JObject jobject = JObject.Parse(JsonConvert.SerializeObject(unAuditret));
bool IsunAudiSuccess = (bool)JObject.Parse(unAuditret.ToString())["Result"]["ResponseStatus"]["IsSuccess"];
if (!IsunAudiSuccess)
Logger.Info("ActionName:ReservationRuleTimePlug", unAuditret.ToString());
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.K3.FileSystem.BlacklistTimingPlugIN
{
internal class RuleInformation
{
public RuleInformation() { }
public RuleInformation(string f_LQKJ_CheckBoxRest, DateTime f_LQKJ_MakeTime, DateTime f_LQKJ_EndTime, int fPlacesNumber, int fRemainderNumber)
{
F_LQKJ_CheckBoxRest = f_LQKJ_CheckBoxRest;
F_LQKJ_MakeTime = f_LQKJ_MakeTime;
F_LQKJ_EndTime = f_LQKJ_EndTime;
F_LQKJ_FPlacesNumber = fPlacesNumber;
F_LQKJ_FRemainderNumber = fRemainderNumber;
}
public string F_LQKJ_CheckBoxRest { get; set; }
public DateTime F_LQKJ_MakeTime { get; set; }
public DateTime F_LQKJ_EndTime { get; set; }
public int F_LQKJ_FPlacesNumber { get; set; }
public int F_LQKJ_FRemainderNumber { get; set; }
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
......@@ -31,6 +31,10 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Aspose.Words, Version=18.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Aspose.Words.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.dll</HintPath>
......@@ -38,7 +42,10 @@
<Reference Include="Kingdee.BOS.App">
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=8.1.620.16, Culture=neutral, PublicKeyToken=null" />
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=8.2.775.11, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.Client, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.Client.dll</HintPath>
......@@ -56,7 +63,7 @@
</Reference>
<Reference Include="NPOI.OOXML, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\NPOI.OOXML.dll</HintPath>
<HintPath>D:\西部培训\website\bin\NPOI.OOXML.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXml4Net, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
......
......@@ -14,6 +14,7 @@ using System.Net;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Web;
......@@ -204,6 +205,26 @@ namespace LQKJ.K3.FileSystem.WebApi
}
/// <summary>
/// 身份证校验
/// </summary>
/// <param name="idCardNumber"></param>
/// <returns></returns>
private bool ValidateIdCardNumber(string idCardNumber)
{
if (!char.IsLetter(idCardNumber[0]))
{
// 身份证号码正则表达式
string pattern = @"(^\d{15}$)|(^\d{17}(\d|X|x)$)";
Regex regex = new Regex(pattern);
if (!regex.IsMatch(idCardNumber))
{
return false; // 格式不正确
}
}
return true;
}
/// <summary>
/// 附件上传
/// </summary>
/// <returns></returns>
......@@ -250,111 +271,158 @@ namespace LQKJ.K3.FileSystem.WebApi
DataTable YuqiyzData = obj.ExecuteDataTable(YuQiYZStr);
if(YuqiyzData!=null&& YuqiyzData.Rows.Count > 0)
{
if(YuqiyzData.Rows[0][0].ToString()=="1")
/* if(YuqiyzData.Rows[0][0].ToString()=="1")
return ApiResultHelper.Error("您的逾期未办理次数过多,无法预约,如有问题请联系管理员");
else if(YuqiyzData.Rows[0][0].ToString() == "2")
return ApiResultHelper.Error($"您的逾期未办理次数过多,无法预约!请{YuqiyzData.Rows[0]["XzDate"].ToString()}后再预约");
else if (YuqiyzData.Rows[0][0].ToString() == "4"&& YuqiyzData.Rows[0]["YJDATE"].ToString()!="")
else */if (YuqiyzData.Rows[0][0].ToString() == "4"&& YuqiyzData.Rows[0]["YJDATE"].ToString()!="")
return ApiResultHelper.Error($"您的已预约了{YuqiyzData.Rows[0]["YJDATE"].ToString()},如需要修改预约时间,请取消后再预约");
else if (YuqiyzData.Rows[0][0].ToString() == "3")
YuQicount = int.Parse(YuqiyzData.Rows[0]["YuQiCount"].ToString());
}
int sum = 0;
Stream stream = File.InputStream;
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
string Base64string = Convert.ToBase64String(bytes);
IWorkbook workbook = WorkbookFactory.Create(stream);
ISheet sheet = workbook.GetSheetAt(0);
IRow Row0 = sheet.GetRow(0);//第一行
string Title = Row0.GetCell(0).ToString().Replace(" ", "");
if (Title != "南山区国有企业退休人员移交人事档案名单汇总表")
return ApiResultHelper.Error("文件首行标题有误,请修改");
IRow Row1 = sheet.GetRow(1);//第二行
Dictionary<int, string> keyValues = new Dictionary<int, string>();
keyValues.Add(0, "序号");
keyValues.Add(1, "所属集团");
keyValues.Add(2, "移交企业");
keyValues.Add(3, "移交地属地");
keyValues.Add(4, "");
keyValues.Add(5, "姓名");
keyValues.Add(6, "性别");
keyValues.Add(7, "身份证号");
keyValues.Add(8, "个人联系电话");
keyValues.Add(9, "是否中共党员");
keyValues.Add(10, "党组织关系所在地");
keyValues.Add(11, "备注");
keyValues.Add(12, "国有企业性质");
foreach (var item in keyValues)
{
var Value = Row1.GetCell(item.Key).ToString().Replace(" ", "");
if (Value != item.Value)
return ApiResultHelper.Error($"文件第二行标题内容:{Value}有误,请修改");
}
IRow Row8 = sheet.GetRow(2);//第三行
var Jd = Row8.GetCell(3).ToString().Replace(" ", "");
if (Jd != "街道")
{
return ApiResultHelper.Error($"文件第二行标题内容:{Jd}有误,请修改");
}
var Sq = Row8.GetCell(4).ToString().Replace(" ", "");
if (Sq != "社区")
{
return ApiResultHelper.Error($"文件第二行标题内容:{Sq}有误,请修改");
}
IRow Row5 = sheet.GetRow(sheet.LastRowNum - 2);//盖章
var Gz = Row5.GetCell(2).ToString().TrimEnd();
var Gz1 = Gz.Substring(Gz.Length - 10);
if (Gz1 != "集团/公司 (盖章)")
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 2}行标题内容:{Gz}有误,请修改");
}
var Gz3 = Row5.GetCell(8).ToString().TrimEnd();
if (!Gz3.Contains("街道") || !Gz3.Contains("社区工作站(盖章)"))
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 2}行标题内容:{Gz3}有误,请修改");
}
var Row6 = sheet.GetRow(sheet.LastRowNum - 1);
var Jbr = Row6.GetCell(2).ToString().TrimStart();
var JbrName1 = Jbr.Substring(Jbr.IndexOf(":") == -1 ? Jbr.IndexOf(":") : Jbr.IndexOf(":"));
var Jbr2 = Jbr.Substring(0, 8);
if (Jbr2 != "经办人(签字):")
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 1}行标题内容:{Jbr}有误,请修改");
}
Jbr = Row6.GetCell(8).ToString().TrimStart();
var JbrName2 = Jbr.Substring(Jbr.IndexOf(":") == -1 ? Jbr.IndexOf(":") : Jbr.IndexOf(":"));
Jbr2 = Jbr.Substring(0, 8);
if (Jbr2 != "经办人(签字):")
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 1}行标题内容:{Jbr}有误,请修改");
}
var Row7 = sheet.GetRow(sheet.LastRowNum);
var dt1 = Row7.GetCell(2).ToString().Replace(" ", "");
var dt2 = Row7.GetCell(8).ToString().Replace(" ", "");
try
{
Convert.ToDateTime(dt1);
Convert.ToDateTime(dt2);
}
catch (Exception)
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum }行日期有误,请修改");
}
int sum = 0;
for (int i = 3; i < sheet.LastRowNum - 7; i++)
{
IRow row = sheet.GetRow(i);
if (row.GetCell(0).ToString() == "")
IRow Row0 = sheet.GetRow(0);//第一行
string Title = Row0.GetCell(0).ToString().Replace(" ", "");
if (Title != "南山区国有企业退休人员移交人事档案名单汇总表")
return ApiResultHelper.Error("文件首行标题有误,请修改");
IRow Row1 = sheet.GetRow(1);//第二行
Dictionary<int, string> keyValues = new Dictionary<int, string>();
keyValues.Add(0, "序号");
keyValues.Add(1, "所属集团");
keyValues.Add(2, "移交企业");
keyValues.Add(3, "移交地属地");
keyValues.Add(4, "");
keyValues.Add(5, "姓名");
keyValues.Add(6, "性别");
keyValues.Add(7, "身份证号");
keyValues.Add(8, "个人联系电话");
keyValues.Add(9, "是否中共党员");
keyValues.Add(10, "党组织关系所在地");
keyValues.Add(11, "备注");
keyValues.Add(12, "国有企业性质");
foreach (var item in keyValues)
{
var Value = Row1.GetCell(item.Key).ToString().Replace(" ", "");
if (Value != item.Value)
return ApiResultHelper.Error($"文件第二行标题内容:{Value}有误,请修改");
}
IRow Row8 = sheet.GetRow(2);//第三行
var Jd = Row8.GetCell(3).ToString().Replace(" ", "");
if (Jd != "街道")
{
return ApiResultHelper.Error($"文件第二行标题内容:{Jd}有误,请修改");
}
var Sq = Row8.GetCell(4).ToString().Replace(" ", "");
if (Sq != "社区")
{
return ApiResultHelper.Error($"文件第二行标题内容:{Sq}有误,请修改");
}
IRow Row5 = sheet.GetRow(sheet.LastRowNum - 2);//盖章
var Gz = Row5.GetCell(2).ToString().TrimEnd();
var Gz1 = Gz.Substring(Gz.Length - 10);
if (Gz1 != "集团/公司 (盖章)")
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 2}行标题内容:{Gz}有误,请修改");
}
var Gz3 = Row5.GetCell(8).ToString().TrimEnd();
if (!Gz3.Contains("街道") || !Gz3.Contains("社区工作站(盖章)"))
{
return ApiResultHelper.Error($"文件第{i}行序号有误,请修改");
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 2}行标题内容:{Gz3}有误,请修改");
}
sum += 1;
var Row6 = sheet.GetRow(sheet.LastRowNum - 1);
var Jbr = Row6.GetCell(2).ToString().TrimStart();
var JbrName1 = Jbr.Substring(Jbr.IndexOf(":") == -1 ? Jbr.IndexOf(":") : Jbr.IndexOf(":"));
var Jbr2 = Jbr.Substring(0, 8);
if (Jbr2 != "经办人(签字):")
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 1}行标题内容:{Jbr}有误,请修改");
}
Jbr = Row6.GetCell(8).ToString().TrimStart();
var JbrName2 = Jbr.Substring(Jbr.IndexOf(":") == -1 ? Jbr.IndexOf(":") : Jbr.IndexOf(":"));
Jbr2 = Jbr.Substring(0, 8);
if (Jbr2 != "经办人(签字):")
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum - 1}行标题内容:{Jbr}有误,请修改");
}
var Row7 = sheet.GetRow(sheet.LastRowNum);
var dt1 = Row7.GetCell(2).ToString().Replace(" ", "");
var dt2 = Row7.GetCell(8).ToString().Replace(" ", "");
try
{
Convert.ToDateTime(dt1);
Convert.ToDateTime(dt2);
}
catch (Exception)
{
return ApiResultHelper.Error($"文件第{sheet.LastRowNum}行日期有误,请修改");
}
List<string> StreetS = new List<string> { "南头", "南山", "西丽", "沙河", "蛇口", "招商", "粤海", "桃源" };//街道
List<string> QiyxzS = new List<string> { "央企", "省企", "市企", "区企", "其他" };//街道
List<string> CardIdS = new List<string>();//身份证
DataTable CatdDt = obj.ExecuteDataTable("select FIDCARD from T_LQKJ_FilesManage where FDOCUMENTSTATUS='C' and FINVALIDATEDSTATUS='A'");
//内容校验
for (int i = 3; i < sheet.LastRowNum - 7; i++)
{
IRow row = sheet.GetRow(i);
int Fseq;
if (!int.TryParse(row.GetCell(0).ToString().Replace(" ", ""), out Fseq))
return ApiResultHelper.Error($"文件第{i}行序号有误,请修改");
if (Fseq != i - 2)
return ApiResultHelper.Error($"文件第{i}行序号有误,不符和规范(需从1开始依次递增),请修改");
for (int j = 2; j < row.Count(); j++)
{
if (j == 1 || j == 10 || j == 11||j>12)
continue;
if (row.GetCell(j).ToString().Replace(" ", "") == "")
{
return ApiResultHelper.Error($"序号{Fseq}所在行有误,{keyValues[j]}不能为空,请修改");
}
}
if (!StreetS.Contains(row.GetCell(3).ToString().Replace(" ", "")))
{
return ApiResultHelper.Error($"序号{Fseq}所在行有误,输入的街道不在南山区的八个街道中,请修改");
}
if (!QiyxzS.Contains(row.GetCell(12).ToString().Replace(" ", "")))
{
return ApiResultHelper.Error($"序号{Fseq}所在行有误,输入的企业性质不在\"央企\",\"省企\",\"市企\",\"区企\",\"其他\"五个中,请修改");
}
var IDCard = row.GetCell(7).ToString().Replace(" ", "");
if (CardIdS.Contains(IDCard))
{
return ApiResultHelper.Error($"序号{Fseq}所在行有误,输入了相同的身份证号,请检查并修改");
}
else if (!ValidateIdCardNumber(IDCard))
{
return ApiResultHelper.Error($"序号{Fseq}所在行有误,身份证号格式不正确,请修改");
}
if (CatdDt.AsEnumerable().Any(e => e.Field<string>("FIDCARD") == IDCard))
{
return ApiResultHelper.Error($"序号{Fseq}所在行有误,该档案已移交到西部人力,请删除");
}
else
{
CardIdS.Add(IDCard);
}
sum += 1;
}
if (sum > 20)
{
return ApiResultHelper.Error($"档案资料不允许超过20条!");
}
stream.Dispose();
}
if (sum > 20)
catch (Exception ex)
{
return ApiResultHelper.Error($"档案资料不允许超过20条!");
return ApiResultHelper.Error($"excel模板错误,请下载正确的模板进行上传!!");
}
stream.Dispose();
//全部都通过了
K3CloudApiClient Client = apiClient();
......@@ -402,8 +470,8 @@ namespace LQKJ.K3.FileSystem.WebApi
var Zj = row.GetCell(10).ToString();//党组织
var Bz = row.GetCell(11).ToString();//备注
var Xz = row.GetCell(12).ToString();//性质
if (Sm == "" && Sfz == "")
continue;
/*if (Sm == "" && Sfz == "")
continue;*/
context = "{\"FGroupAffiliation\": \"" + Jt + "\",\"FhandedOverCompanies\": \"" + Qy + "\",\"FStreet\": \"" + Jd1 + "\",\"FCommunity\": \"" + Sq1 + "\",\"FName\": \"" + Sm + "\",\"FIDCards\": \"" + Sfz + "\",\"FSex\": \"" + Xb + "\",\"FPhone\": \"" + Dh + "\",\"FISParty\": \"" + Dy + "\",\"FPartyLocation\": \"" + Zj + "\",\"FRemark\": \"" + Bz + "\",\"FEnterpriseQuality\": \"" + Xz + "\"},";
stringBuilder.Append(context);
}
......@@ -464,13 +532,13 @@ namespace LQKJ.K3.FileSystem.WebApi
DataTable YuqiyzData = obj.ExecuteDataTable(YuQiYZStr);
if (YuqiyzData != null && YuqiyzData.Rows.Count > 0)
{
if (YuqiyzData.Rows[0][0].ToString() == "1")
/*if (YuqiyzData.Rows[0][0].ToString() == "1")
return ApiResultHelper.Error("您的逾期未办理次数过多,无法预约,如有问题请联系管理员");
else if (YuqiyzData.Rows[0][0].ToString() == "2")
return ApiResultHelper.Error($"您的逾期未办理次数过多,无法预约!请{YuqiyzData.Rows[0]["XzDate"].ToString()}后再预约");
else if (YuqiyzData.Rows[0][0].ToString() == "4" && YuqiyzData.Rows[0]["CYDATE"].ToString() != "")
return ApiResultHelper.Error($"您的已预约了{YuqiyzData.Rows[0]["CYDATE"].ToString()},如需要修改预约时间,请取消后查询预约");
else if (YuqiyzData.Rows[0][0].ToString() == "3")
else if (YuqiyzData.Rows[0][0].ToString() == "3")*/
YuQicount = int.Parse(YuqiyzData.Rows[0]["YuQiCount"].ToString());
}
if (Type.Equals("0"))//个人查阅
......@@ -629,7 +697,7 @@ namespace LQKJ.K3.FileSystem.WebApi
}
}
}
/// <summary>
/// <summary>
/// 发送验证码
/// </summary>
/// <param name="Phone"></param>
......@@ -766,8 +834,8 @@ namespace LQKJ.K3.FileSystem.WebApi
string Sqlstr02 = $"select * from T_DA_AppointmentConfig where FLOCATIONPAGECOM='{FLOCATIONPAGECOM}' and FDOCUMENTSTATUS='C'and F_LQKJ_FORBIDSTATUS='A'";
DataTable dt01= obj.ExecuteDataTable(Sqlstr01);
DataTable dt02= obj.ExecuteDataTable(Sqlstr02);
if (dt01==null||dt01.Rows.Count < 1)
return ApiResultHelper.Error("查询失败,无数据");
if (dt01.Rows.Count < 1)
return ApiResultHelper.Success(null,"查询失败,无数据");
var datalist2 = dt02.AsEnumerable().Select(e => new
{
FRONTENDFIELDS = e.Field<string>("FRONTENDFIELDS"),
......@@ -1094,7 +1162,10 @@ namespace LQKJ.K3.FileSystem.WebApi
openId = Json["openid"]?.ToString();
if (openId == null)
{
return ApiResultHelper.Error($"无法获取openid!!公众号消息推送失败");
if (YYType == "档案移交")
return ApiResultHelper.Error("档案移交预约成功!!公众号消息推送失败,请注意查收短信!");
else
return ApiResultHelper.Error("档案查阅预约成功!!公众号消息推送失败,请注意查收短信!");
}
}
try
......@@ -1158,15 +1229,21 @@ namespace LQKJ.K3.FileSystem.WebApi
}
}
}
return ApiResultHelper.Success(null,"推送成功!!");
if(YYType=="档案移交")
return ApiResultHelper.Error("档案移交预约成功!!");
else
return ApiResultHelper.Error("档案查阅预约成功!!");
}
catch (Exception)
{
return ApiResultHelper.Error($"公众号消息推送失败,请注意查收短信!");
if (YYType == "档案移交")
return ApiResultHelper.Error("档案移交预约成功!!公众号消息推送失败,请注意查收短信!");
else
return ApiResultHelper.Error("档案查阅预约成功!!公众号消息推送失败,请注意查收短信!");
}
}
}
}
29c7d708b8b4574ed03334625742432b951f6da8
183138668fc0299c4841829f48b67cb4d2f0e9eb
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
......@@ -23,6 +23,7 @@ namespace LQKJ.K3.PeiXunSystem.WebApi.Models
public DateTime overDate { get; set; }
public string fisFillInfo { get; set; }//是否填写个人信息
public string fsFillRiding { get; set; }//是否统一乘车
public string FIdCardCheckBox { get; set; }//是否需填写身份证号
public string fisFillArrAngEroom { get; set; }//是否安排单间
public string fisFillCohabItant { get; set; }//是否需填同住人
public string classNumber { get; set; }//班级编码
......
......@@ -154,8 +154,8 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
try
{
var msg = JObject.Parse(parmeters);
string Sql = $"";
K3CloudApiClient Client = apiClient();
var result = JObject.Parse(Client.Save("LQKJ_AttendanceRecord", msg.ToString()));
var Sueccess = result["Result"]["ResponseStatus"]["IsSuccess"];
if ((bool)Sueccess)
......@@ -551,11 +551,11 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
if (dataTable.Rows.Count == 0)//该手机号没有被注册
{
string openid = msg["Model"]["FOPENID"]?.ToString();
if (string.IsNullOrWhiteSpace(openid))
if (!string.IsNullOrWhiteSpace(openid))
{
string sqlSelect1 = $"select FWORKUNIT1,FIMAGEFILESERVER,T1.FSTUDENTID,FDUTIES,FSEX,FNUMBER,FNAME,FMOBILE from T_PX_StudentsInfo T1 left join T_PX_StudentsInfo_L T2 on T1.FSTUDENTID = T2.FSTUDENTID where FOPENID = '{openid}'";
DataTable dataTable1 = obj.ExecuteDataTable(sqlSelect1);
if (dataTable1.Rows.Count == 0)
if (dataTable1.Rows.Count > 0)
{
sqlResult.code = "500";
sqlResult.msg = "该微信号已绑定其他微信,无法注册!!";
......
......@@ -57,7 +57,7 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
when FDEADLINE>getdate() and planCount>subCount then 0 --正在报名
when FDEADLINE>getdate() and planCount=subCount then 1
else 3
end as classType,case when fisFillInfo=1 then 'true' else 'false' end fisFillInfo ,case when fsFillRiding=1 then 'true' else 'false' end fsFillRiding
end as classType,case when fisFillInfo=1 then 'true' else 'false' end fisFillInfo ,case when fsFillRiding=1 then 'true' else 'false' end fsFillRiding,case when FIDCARDCHECKBOX=1 then 'true' else 'false' end FIdCardCheckBox
,case when fisFillArrAngEroom=1 then 'true' else 'false' end fisFillArrAngEroom,case when fisFillCohabItant=1 then 'true' else 'false' end fisFillCohabItant,c.FNUMBER as classNumber,
A.FNUMBER itemNumber,A.FTRAINING as require from
T_PX_TRAININGPROINFO A --培训项目
......@@ -86,6 +86,7 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
planCount = temp.Field<int>("planCount"),
fisFillInfo = temp.Field<string>("fisFillInfo"),
fsFillRiding = temp.Field<string>("fsFillRiding"),
FIdCardCheckBox = temp.Field<string>("FIdCardCheckBox"),
fisFillArrAngEroom = temp.Field<string>("fisFillArrAngEroom"),
fisFillCohabItant = temp.Field<string>("fisFillCohabItant"),
classNumber = temp.Field<string>("classNumber"),
......@@ -685,6 +686,7 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
}
return sqlResult;
}
/// <summary>
/// 教师端查询我的班级
/// </summary>
......@@ -889,6 +891,9 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
case "QD-QT":
kqtyp = 1;
break;
case "QDBQ-QTBQ":
kqtyp = 1;
break;
case "QD-QTBQ":
kqtyp = 1;
break;
......@@ -930,15 +935,31 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
SQLResult sqlResult = new SQLResult();
try
{
/*select F_LQKJ_TYPE2, T1.FCLASSID as classId,T5.FNAME as courseName,T4.FCOURSEID as courseId,T1.FLOCATION as classArea,T6.FNAME as className,
T4.F_LQKJ_Longitude as Longitude,
F_LQKJ_Scope as Scope,
case when T4.F_LQKJ_Longitude = '' then 0 else 1 end StateType, F_LQKJ_HitArea
from T_PX_CLASS T1
left
join T_PX_CLASSENTRY T2 on T1.FCLASSID = T2.FCLASSID
left
join T_PX_TEACHER T3 on T1.FTEACHERID = T3.FTEACHERID left
join T_PX_COURSE T4 on T4.FCOURSEID = T2.FCOURSEID
left
join T_PX_COURSE_L T5 on T5.FCOURSEID = T4.FCOURSEID left
join T_PX_CLASS_L T6 on T6.FCLASSID = T1.FCLASSID
where T1.FTEACHERID = (select FUSERID from T_SEC_user where FPHONE = '{Phone}') and T4.FCOURSEID is not null and T4.FDOCUMENTSTATUS = 'C' and T4.FFORBIDSTATUS = 'A' and T1.FDOCUMENTSTATUS = 'C' and T1.FFORBIDSTATUS = 'A'
and T4.FENDDATE > getdate()*/
string sqlSelect = $@"select F_LQKJ_TYPE2,T1.FCLASSID as classId,T5.FNAME as courseName,T4.FCOURSEID as courseId,T1.FLOCATION as classArea,T6.FNAME as className,
T4.F_LQKJ_Longitude as Longitude,
F_LQKJ_Scope as Scope,
case when T4.F_LQKJ_Longitude='' then 0 else 1 end StateType,F_LQKJ_HitArea
from T_PX_CLASS T1
left join T_PX_CLASSENTRY T2 on T1.FCLASSID=T2.FCLASSID
left join T_PX_TEACHER T3 on T1.FTEACHERID=T3.FTEACHERID left join T_PX_COURSE T4 on T4.FCOURSEID=T2.FCOURSEID
left join T_PX_COURSE T4 on T4.FCOURSEID=T2.FCOURSEID
left join T_PX_COURSE_L T5 on T5.FCOURSEID=T4.FCOURSEID left join T_PX_CLASS_L T6 on T6.FCLASSID=T1.FCLASSID
where T1.FTEACHERID=(select FUSERID from T_SEC_user where FPHONE='{Phone}') and T4.FCOURSEID is not null and T4.FDOCUMENTSTATUS='C' and T4.FFORBIDSTATUS='A' and T1.FDOCUMENTSTATUS='C' and T1.FFORBIDSTATUS='A'
where T1.FCLASSID in (select T1.FCLASSID from T_PX_FHEADTEACHERS T1 left join T_SEC_user T2 on T1.FHEADTEACHERS=T2.FUSERID where T2.FPHONE='{Phone}')
and T4.FCOURSEID is not null and T4.FDOCUMENTSTATUS='C' and T4.FFORBIDSTATUS='A' and T1.FDOCUMENTSTATUS='C' and T1.FFORBIDSTATUS='A'
and T4.FENDDATE>getdate()";
var count = (pageIndex - 1) * pageSize;
//var DataRows = obj.ExecuteDataTable(sqlSelect).AsEnumerable().Skip(count).Take(pageSize).ToArray();
......@@ -1022,8 +1043,8 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
return sqlResult;
}
var Data = data.Tables[3].AsEnumerable().GroupBy(e => new { studentId = e.Field<int>("FSTUDENTID"), courseId = e.Field<int>("FCOURSEID") });
//每个学生的每个课程只会有两次打卡记录
Dictionary<int, PeopleNum> State = new Dictionary<int, PeopleNum>();
//每个学生的每个课程只会有两次打卡记录
PeopleNum peopleNum = new PeopleNum();
State.Clear();
foreach (var parent in Data)
......@@ -1054,13 +1075,13 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
peopleNum = new PeopleNum();
}
if (state.SingIn == "QD" && state.SingOut == "QT")
peopleNum.normal = peopleNum.normal + 1;
else if (state.SingIn == null )
peopleNum.normal = peopleNum.normal + 1;
else if (state.SingIn == null)
peopleNum.lack = peopleNum.lack + 1;
else if (state.SingIn == "QDQJ" || state.SingOut == "QTQJ")
peopleNum.leave = peopleNum.leave + 1;
else if (state.SingIn == "QDBQ" || state.SingOut == "QTBQ")
peopleNum.repair = peopleNum.repair + 1;
peopleNum.normal = peopleNum.normal + 1;
if (State.ContainsKey(key))//如果存在这个课程Id就
{
State[key] = peopleNum;
......@@ -1115,7 +1136,7 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
{
Logger.Error("ActionName:TeachAndCourse", ex.Message, ex);
sqlResult.code = "500";
sqlResult.msg = "查询失败"+ex.Message;
sqlResult.msg = "查询失败"+ex;
}
return sqlResult;
}
......@@ -1363,7 +1384,6 @@ namespace LQKJ.K3.PeiXunSystem.WebApi
FTEACHERID = e.Field<Int32>("FTEACHERID"),//ID
FNAME = e.Field<string>("FNAME"),//姓名
FTITLE = e.Field<string>("FTITLE"),//讲师职称
FTYPE = e.Field<string>("FTYPE"),//教师类型
FCANCOURSE = Dtkc.AsEnumerable().Where(s => s.Field<Int32>("FTEACHERID") == e.Field<Int32>("FTEACHERID")).FirstOrDefault()?.Field<string>("FDATAVALUE")??"",//可授课程
FPHONENUMBER = e.Field<string>("FPHONENUMBER"),//联系电话
FINTRODUCE = e.Field<string>("FINTRODUCE"),//讲师简介
......
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
......@@ -33,11 +33,11 @@
<ItemGroup>
<Reference Include="Aspose.Words, Version=18.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Aspose.Words.dll</HintPath>
<HintPath>D:\西部培训\WebSite\bin\Aspose.Words.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="Kingdee.BOS, Version=8.2.775.11, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.dll</HintPath>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.DataEntity.dll</HintPath>
......
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
......@@ -10,3 +10,8 @@ C:\Users\Administrator\Desktop\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQK
C:\Users\Administrator\Desktop\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.CopyComplete
C:\Users\Administrator\Desktop\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.dll
C:\Users\Administrator\Desktop\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.CopyComplete
C:\Users\Administrator\Desktop\培训+档案\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenli\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.pdb
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论