软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1608 lines
82 KiB

using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using System.Text;
using System.IO;
using NPOI.XWPF.UserModel;
using NPOI.OpenXmlFormats.Wordprocessing;
using NPOI.Util;
using ICSharpCode.SharpZipLib.Zip;
using Newtonsoft.Json;
namespace FangYar.WebUI.ashx
{
/// <summary>
/// SysEmpMoveHandle 人员档案
/// </summary>
public class SysEmpArchivesHandle : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "人员档案操作请求", "");
context.Response.ContentType = "text/plain";
string action = context.Request.Params["Action"];
string returnstr = "";
switch (action)
{
case "list":
returnstr = list(context);
break;
case "add":
returnstr = add(context);
break;
case "edit":
returnstr = edit(context);
break;
case "del":
returnstr = del(context);
break;
case "dels":
returnstr = dels(context);
break;
case "getModelById":
returnstr = getModelById(context);
break;
case "report":
returnstr = report(context);
break;
case "sta_xianji":
returnstr = sta_xianji(context);
break;
case "sta_zhuanyegangwei":
returnstr = sta_zhuanyegangwei(context);
break;
case "sta_zizhizhengshu":
returnstr = sta_zizhizhengshu(context);
break;
case "sta_minzu":
returnstr = sta_minzu(context);
break;
case "sta_xuexing":
returnstr = sta_xuexing(context);
break;
case "sta_zhengzhimianmao":
returnstr = sta_zhengzhimianmao(context);
break;
case "sta_wenhuachengdu":
returnstr = sta_wenhuachengdu(context);
break;
case "sta_shangji":
returnstr = sta_shangji(context);
break;
case "sta_hunyinqingkuang":
returnstr = sta_hunyinqingkuang(context);
break;
case "sta_yuyouzinv":
returnstr = sta_yuyouzinv(context);
break;
case "sta_infoList":
returnstr = sta_infoList(context);
break;
case "sta_exp":
returnstr = sta_exp(context);
break;
}
context.Response.Write(returnstr);
}
private string list(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string keyword = context.Request.Params["keywords"];
string treeID = context.Request.Params["treeID"];
string page = context.Request.Params["page"];
string limit = context.Request.Params["limit"];
string is_content = context.Request.Params["is_content"];
string selDeptId = context.Request.Params["selDeptId"];
string pol = context.Request.Params["pol"];
string posts = context.Request.Params["posts"];
string nation = context.Request.Params["nation"];
string cert = context.Request.Params["cert"];
string face = context.Request.Params["face"];
string blood_type = context.Request.Params["blood_type"];
string mar = context.Request.Params["mar"];
string is_children = context.Request.Params["is_children"];
string prof = context.Request.Params["prof"];
string department = context.Request.Params["department"];
string qualification = context.Request.Params["qualification"];
string ageRange = context.Request.Params["ageRange"];
int pageIndex = 1;
int pageSize = 10;
if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); }
if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); }
int startnum = (pageIndex - 1) * pageSize;
StringBuilder countSql = new StringBuilder();
countSql.Append(" SELECT count(1) FROM TBL_SYS_EMP_ARCHIVES t ");
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT t.*, ");
strSql.Append(" (select o.org_name from fire_org o where o.org_id = t.org_id ) org_name , ");
strSql.Append(" (select o.org_name from fire_org o where o.org_id = t.dept_id ) dept_name , ");
strSql.Append(" t.is_leader sort ");
strSql.Append(" FROM TBL_SYS_EMP_ARCHIVES t ");
if (!string.IsNullOrEmpty(treeID) && treeID != OrgId)
{
OrgId = treeID;
}
if (is_content == "1")
{
if (!string.IsNullOrWhiteSpace(selDeptId))
{
countSql.Append("where DEPT_ID = '" + selDeptId + "' ");
strSql.Append("where DEPT_ID = '" + selDeptId + "' ");
}
else
{
countSql.Append(",(select get_Org_child_list('" + OrgId + "') cids) s where find_in_set(org_id, cids) ");
strSql.Append(",(select get_Org_child_list('" + OrgId + "') cids) s where find_in_set(org_id, cids) ");
}
}
else
{
if (!string.IsNullOrWhiteSpace(selDeptId))
{
countSql.Append("where DEPT_ID = '" + selDeptId + "' ");
strSql.Append("where DEPT_ID = '" + selDeptId + "' ");
}
else
{
countSql.Append("where ORG_ID = '" + OrgId + "' ");
strSql.Append("where ORG_ID = '" + OrgId + "' ");
}
}
if (!string.IsNullOrEmpty(keyword))
{
countSql.Append(" and ( emp_name like '%" + keyword + "%' or EMP_MOBILE like '%" + keyword + "%')");
strSql.Append(" and ( emp_name like '%" + keyword + "%' or EMP_MOBILE like '%" + keyword + "%')");
}
if (!string.IsNullOrEmpty(pol))
{
countSql.Append(" and pol = '" + pol + "'");
strSql.Append(" and pol = '" + pol + "' ");
}
if (!string.IsNullOrEmpty(posts))
{
countSql.Append(" and posts = '" + posts + "'");
strSql.Append(" and posts = '" + posts + "' ");
}
if (!string.IsNullOrEmpty(nation))
{
countSql.Append(" and nation = '" + nation + "'");
strSql.Append(" and nation = '" + nation + "' ");
}
if (!string.IsNullOrEmpty(cert))
{
countSql.Append(" and cert = '" + cert + "'");
strSql.Append(" and cert = '" + cert + "' ");
}
if (!string.IsNullOrEmpty(face))
{
countSql.Append(" and face = '" + face + "'");
strSql.Append(" and face = '" + face + "' ");
}
if (!string.IsNullOrEmpty(blood_type))
{
countSql.Append(" and blood_type = '" + blood_type + "'");
strSql.Append(" and blood_type = '" + blood_type + "' ");
}
if (!string.IsNullOrEmpty(mar))
{
countSql.Append(" and mar = '" + mar + "'");
strSql.Append(" and mar = '" + mar + "' ");
}
if (!string.IsNullOrEmpty(is_children))
{
countSql.Append(" and is_children = '" + is_children + "'");
strSql.Append(" and is_children = '" + is_children + "' ");
}
if (!string.IsNullOrEmpty(prof))
{
countSql.Append(" and prof = '" + prof + "'");
strSql.Append(" and prof = '" + prof + "' ");
}
if (!string.IsNullOrEmpty(department))
{
countSql.Append(" and department = '" + department + "'");
strSql.Append(" and department = '" + department + "' ");
}
if (!string.IsNullOrEmpty(qualification))
{
countSql.Append(" and qualification = '" + qualification + "'");
strSql.Append(" and qualification = '" + qualification + "' ");
}
object obj = FangYar.Common.MySqlHelper.GetSingle(countSql.ToString());
int count = 0;
if (obj != null)
{
count = Convert.ToInt32(obj);
}
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"count\":" + count + ",\"data\":";
if (count == 0)
{
returnstr += "[]";
}
else
{
strSql.Append(" order by sort desc");
strSql.Append(" limit " + startnum + ", " + pageSize);
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strSql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
}
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
private string add(HttpContext context)
{
string returnstr = "";
int code = -1;
string msg = "";
try
{
string ID = Guid.NewGuid().ToString("N");
string empName = context.Request.Params["empName"];//姓名
string orgId = context.Request.Params["orgId"];//机构ID
string deptId = context.Request.Params["deptId"];//部门ID
string empMobile = context.Request.Params["empMobile"];//本人主要联系方式
string idnumber = context.Request.Params["idnumber"];//身份证号
string birthday = context.Request.Params["birthday"];//出生年月
string familyaddr = context.Request.Params["familyaddr"];//家庭通信地址
string cert = context.Request.Params["cert"];//文化程度
string nation = context.Request.Params["nation"];//民族
string face = context.Request.Params["face"];//政治面貌
string mar = context.Request.Params["mar"];//婚姻状况
string prof = context.Request.Params["prof"];//专业岗位
string posts = context.Request.Params["posts"];//职务
string pol = context.Request.Params["pol"];//消防救援衔
string photo = context.Request.Params["photo"];//照片
string nativePlace = context.Request.Params["nativePlace"];//籍贯
string enlistedTime = context.Request.Params["enlistedTime"];//入队时间
string enlistedAddr = context.Request.Params["enlistedAddr"];//入队地点
string partyTime = context.Request.Params["partyTime"];//党团时间
string bloodType = context.Request.Params["bloodType"];//血型
string workTime = context.Request.Params["workTime"];//工作时间
string isChildren = context.Request.Params["isChildren"];//育有子女情况
string graduationSchool = context.Request.Params["graduationSchool"];//毕业院校
string qualification = context.Request.Params["qualification"];//取得鉴定资格证书
string firemanCard = context.Request.Params["firemanCard"];//消防员证号
string department = context.Request.Params["department"];//部别
string workUnit = context.Request.Params["workUnit"];//工作单位
string familyMember = context.Request.Params["familyMember"];//家庭成员联系方式
string isInjury = context.Request.Params["isInjury"];//是否患有伤疾
string isCommentInjury = context.Request.Params["isCommentInjury"];//是否参加评残
string awardSituation = context.Request.Params["awardSituation"];//立功受奖情况
string cultivateSituation = context.Request.Params["cultivateSituation"];//参加培训情况
string personWorkResume = context.Request.Params["personWorkResume"];//个人工作简历
string remarks = context.Request.Params["remarks"];//备注
string sql = "insert into tbl_sys_emp_archives(" +
"ID,EMP_NAME,ORG_ID,DEPT_ID,EMP_MOBILE,IDNUMBER,BIRTHDAY,FAMILYADDR,CERT,NATION,FACE,MAR," +
"PROF,POSTS,POL,PHOTO,native_place,enlisted_time,enlisted_addr,party_time,blood_type,work_time," +
"is_children,graduation_school,qualification,fireman_card,department,work_unit,family_member," +
"is_injury,is_comment_injury,award_situation,cultivate_situation,person_work_resume,remarks" +
") values (" +
"'" + ID + "','" + empName + "', '" + orgId + "','" + deptId + "','" + empMobile + "','" + idnumber + "','" + birthday + "','" + familyaddr + "','" + cert + "','" + nation + "','" + face + "','" + mar + "'," +
"'" + prof + "','" + posts + "','" + pol + "','" + photo + "','" + nativePlace + "','" + enlistedTime + "','" + enlistedAddr + "','" + partyTime + "','" + bloodType + "','" + workTime + "'," +
"'" + isChildren + "','" + graduationSchool + "','" + qualification + "','" + firemanCard + "','" + department + "','" + workUnit + "','" + familyMember + "'," +
"'" + isInjury + "','" + isCommentInjury + "','" + awardSituation + "','" + cultivateSituation + "','" + personWorkResume + "','" + remarks + "')";
int i = FangYar.Common.MySqlHelper.Execute(sql);
if (i > 0)
{
msg = "添加成功!";
code = 1;
}
else { msg = "添加失败!"; }
}
catch (Exception e)
{
msg = "添加失败!";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "人员档案操作请求", "添加异常:" + e);
}
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "人员档案操作请求", "添加");
return returnstr;
}
private string edit(HttpContext context)
{
string returnstr = "";
int code = -1;
string msg = "";
try
{
string ID = context.Request.Params["ID"];
string empName = context.Request.Params["empName"];//姓名
string orgId = context.Request.Params["orgId"];//机构ID
string deptId = context.Request.Params["deptId"];//部门ID
string empMobile = context.Request.Params["empMobile"];//本人主要联系方式
string idnumber = context.Request.Params["idnumber"];//身份证号
string birthday = context.Request.Params["birthday"];//出生年月
string familyaddr = context.Request.Params["familyaddr"];//家庭通信地址
string cert = context.Request.Params["cert"];//文化程度
string nation = context.Request.Params["nation"];//民族
string face = context.Request.Params["face"];//政治面貌
string mar = context.Request.Params["mar"];//婚姻状况
string prof = context.Request.Params["prof"];//专业岗位
string posts = context.Request.Params["posts"];//职务
string pol = context.Request.Params["pol"];//消防救援衔
string photo = context.Request.Params["photo"];//照片
string nativePlace = context.Request.Params["nativePlace"];//籍贯
string enlistedTime = context.Request.Params["enlistedTime"];//入队时间
string enlistedAddr = context.Request.Params["enlistedAddr"];//入队地点
string partyTime = context.Request.Params["partyTime"];//党团时间
string bloodType = context.Request.Params["bloodType"];//血型
string workTime = context.Request.Params["workTime"];//工作时间
string isChildren = context.Request.Params["isChildren"];//育有子女情况
string graduationSchool = context.Request.Params["graduationSchool"];//毕业院校
string qualification = context.Request.Params["qualification"];//取得鉴定资格证书
string firemanCard = context.Request.Params["firemanCard"];//消防员证号
string department = context.Request.Params["department"];//部别
string workUnit = context.Request.Params["workUnit"];//工作单位
string familyMember = context.Request.Params["familyMember"];//家庭成员联系方式
string isInjury = context.Request.Params["isInjury"];//是否患有伤疾
string isCommentInjury = context.Request.Params["isCommentInjury"];//是否参加评残
string awardSituation = context.Request.Params["awardSituation"];//立功受奖情况
string cultivateSituation = context.Request.Params["cultivateSituation"];//参加培训情况
string personWorkResume = context.Request.Params["personWorkResume"];//个人工作简历
string remarks = context.Request.Params["remarks"];//备注
string sql = "update tbl_sys_emp_archives set " +
"EMP_NAME = '" + empName + "'," +
"ORG_ID = '" + orgId + "'," +
"DEPT_ID = '" + deptId + "'," +
"EMP_MOBILE = '" + empMobile + "'," +
"IDNUMBER = '" + idnumber + "'," +
"BIRTHDAY = '" + birthday + "'," +
"FAMILYADDR = '" + familyaddr + "'," +
"CERT = '" + cert + "'," +
"NATION = '" + nation + "'," +
"FACE = '" + face + "'," +
"MAR = '" + mar + "'," +
"PROF = '" + prof + "'," +
"POSTS = '" + posts + "'," +
"POL = '" + pol + "'," +
"PHOTO = '" + photo + "'," +
"native_place = '" + nativePlace + "'," +
"enlisted_time = '" + enlistedTime + "'," +
"enlisted_addr = '" + enlistedAddr + "'," +
"party_time = '" + partyTime + "'," +
"blood_type = '" + bloodType + "'," +
"work_time = '" + workTime + "'," +
"is_children = '" + isChildren + "'," +
"graduation_school = '" + graduationSchool + "'," +
"qualification = '" + qualification + "'," +
"fireman_card = '" + firemanCard + "'," +
"department = '" + department + "'," +
"work_unit = '" + workUnit + "'," +
"family_member = '" + familyMember + "'," +
"is_injury = '" + isInjury + "'," +
"is_comment_injury = '" + isCommentInjury + "'," +
"award_situation = '" + awardSituation + "'," +
"cultivate_situation = '" + cultivateSituation + "'," +
"person_work_resume = '" + personWorkResume + "'," +
"remarks = '" + remarks + "' " +
"where ID = '" + ID + "'";
int i = FangYar.Common.MySqlHelper.Execute(sql);
if (i > 0)
{
msg = "修改成功!";
code = 1;
}
else { msg = "修改失败!"; }
}
catch (Exception e)
{
msg = "修改失败!";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "人员档案操作请求", "修改异常:" + e);
}
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "人员档案操作请求", "修改");
return returnstr;
}
private string del(HttpContext context)
{
string returnstr = "";
int code = -1;
string msg = "";
try
{
string ID = context.Request.Params["ID"];
string sql = "delete from tbl_sys_emp_archives where id = '" + ID + "' ";
int i = FangYar.Common.MySqlHelper.Execute(sql);
if (i > 0)
{
msg = "删除成功!";
code = 1;
}
else { msg = "删除失败!"; }
}
catch (Exception e)
{
msg = "删除失败!";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "消防员电子档案操作请求", "删除异常:" + e);
}
returnstr = "{\"msg\":\"" + msg + "\",\"code\":" + code + "}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "消防员电子档案操作请求", "删除");
return returnstr;
}
private string dels(HttpContext context)
{
string returnstr = "";
int code = -1;
string msg = "";
try
{
string empList = context.Request.Params["empList"];
string[] empArray = empList.Split(',');
string empListString = "";
for (int i = 0; i < empArray.Length; i++)
{
if (i == 0)
{
empListString = "'" + empArray[i] + "'";
}
else
{
empListString += ",'" + empArray[i] + "'";
}
}
string sql = "delete from tbl_sys_emp_archives where id in (" + empListString + ") ";
int count = FangYar.Common.MySqlHelper.Execute(sql);
if (count > 0)
{
msg = "批量删除成功!";
code = 1;
}
else { msg = "批量删除失败!"; }
}
catch (Exception e)
{
msg = "批量删除失败!";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "消防员电子档案操作请求", "批量删除异常:" + e);
}
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Delete, "消防员电子档案操作请求", "批量删除");
return returnstr;
}
private string getModelById(HttpContext context)
{
string returnstr = "";
try
{
string id = context.Request.Params["id"];
if (!string.IsNullOrEmpty(id))
{
string sql = "select t.* from TBL_SYS_EMP_ARCHIVES t where id = '" + id + "'";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql);
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
else
{
returnstr = "{\"code\":-1,\"msg\":\"id不能为空!\",\"count\":0,\"data\":[]}";
}
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "审批异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "审批");
return returnstr;
}
private string report(HttpContext context)
{
string returnstr = "";
try
{
string ids = context.Request.Params["ids"];
string existUrl_S = "";
List<string> files = new List<string>();
if (!string.IsNullOrEmpty(ids))
{
string[] id_s = ids.Split(',');
for (int i = 0; i < id_s.Length; i++)
{
if (!string.IsNullOrEmpty(id_s[i]))
{
string templateUrl = "/UISysManage/EmpArchives/消防员电子档案.docx";
Stream stream = File.OpenRead(HttpContext.Current.Server.MapPath(templateUrl));
XWPFDocument doc = new XWPFDocument(stream);
Dictionary<string, string> dic = new Dictionary<string, string>();
string sql = "select * from TBL_SYS_EMP_ARCHIVES where id = '" + id_s[i] + "'";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql);
if (dt.Rows.Count > 0)
{
//string workUnit = dt.Rows[0]["work_unit"].ToString();
string orgId = dt.Rows[0]["org_id"].ToString();
//if (workUnit != null || workUnit != "")
//{
// orgId = workUnit;
//}
string empName = dt.Rows[0]["emp_name"].ToString();
string workUnit = dt.Rows[0]["work_unit"].ToString();
string fileName = empName;
if (!string.IsNullOrEmpty(workUnit))
{
fileName = workUnit + "_" + empName;
}
string existUrl = "/Upload/EmpArchives/" + orgId + "/" + fileName + ".docx";
string existUrl1 = "/Upload/EmpArchives/" + orgId + "/";
//如果不存在就创建文件夹
var pathFile = HttpContext.Current.Server.MapPath(existUrl1);
if (!Directory.Exists(pathFile))
{
Directory.CreateDirectory(pathFile);
}
bool exist = System.IO.File.Exists(HttpContext.Current.Server.MapPath(existUrl));//如果不存在就创建文件夹
dic.Add("${work_unit_title}", dt.Rows[0]["work_unit"].ToString());
dic.Add("${emp_name}", empName);
dic.Add("${pol}", dt.Rows[0]["pol"].ToString());
dic.Add("${posts}", dt.Rows[0]["posts"].ToString());
dic.Add("${nation}", dt.Rows[0]["nation"].ToString());
dic.Add("${native_place}", dt.Rows[0]["native_place"].ToString());
dic.Add("${enlisted_addr}", dt.Rows[0]["enlisted_addr"].ToString());
dic.Add("${cert}", dt.Rows[0]["cert"].ToString());
dic.Add("${face}", dt.Rows[0]["face"].ToString());
dic.Add("${party_time}", dt.Rows[0]["party_time"].ToString());
dic.Add("${blood_type}", dt.Rows[0]["blood_type"].ToString());
dic.Add("${birthday}", dt.Rows[0]["birthday"].ToString());
dic.Add("${work_time}", dt.Rows[0]["work_time"].ToString());
dic.Add("${mar}", dt.Rows[0]["mar"].ToString());
dic.Add("${is_children}", dt.Rows[0]["is_children"].ToString());
dic.Add("${graduation_school}", dt.Rows[0]["graduation_school"].ToString());
dic.Add("${prof}", dt.Rows[0]["prof"].ToString());
dic.Add("${qualification}", dt.Rows[0]["qualification"].ToString());
dic.Add("${idnumber}", dt.Rows[0]["idnumber"].ToString());
dic.Add("${fireman_card}", dt.Rows[0]["fireman_card"].ToString());
dic.Add("${work_unit}", dt.Rows[0]["work_unit"].ToString());
dic.Add("${department}", dt.Rows[0]["department"].ToString());
dic.Add("${emp_mobile}", dt.Rows[0]["emp_mobile"].ToString());
dic.Add("${family_member}", dt.Rows[0]["family_member"].ToString());
dic.Add("${familyaddr}", dt.Rows[0]["familyaddr"].ToString());
dic.Add("${is_injury}", dt.Rows[0]["is_injury"].ToString());
dic.Add("${is_comment_injury}", dt.Rows[0]["is_comment_injury"].ToString());
dic.Add("${award_situation}", dt.Rows[0]["award_situation"].ToString());
dic.Add("${cultivate_situation}", dt.Rows[0]["cultivate_situation"].ToString());
dic.Add("${person_work_resume}", dt.Rows[0]["person_work_resume"].ToString());
dic.Add("${remarks}", dt.Rows[0]["remarks"].ToString());
if (!string.IsNullOrEmpty(dt.Rows[0]["photo"].ToString()))
{
dic.Add("${photo}", HttpContext.Current.Server.MapPath("/" + dt.Rows[0]["photo"].ToString()));
}
foreach (var para in doc.Paragraphs)
{
ReplaceKey(dic, para);
}
XWPFTable iterator = doc.Tables[0];
List<XWPFTableRow> rows = iterator.Rows;
foreach (XWPFTableRow row in rows)
{
List<XWPFTableCell> cells = row.GetTableCells();
foreach (XWPFTableCell cell in cells)
{
IList<XWPFParagraph> paras = cell.Paragraphs;
foreach (XWPFParagraph para in paras)
{
ReplaceKey(dic, para);
}
}
}
//所有替换符改为空字符串
ReplaceKey2(doc);
//MemoryStream ms = new MemoryStream();
//doc.Write(ms);
////保存修改后的文档
//// 把 byte[] 写入文件
//FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(existUrl), FileMode.Create);
//BinaryWriter bw = new BinaryWriter(fs);
//bw.Write(ms.GetBuffer());
//bw.Close();
//fs.Close();
FileStream file = new FileStream(HttpContext.Current.Server.MapPath(existUrl), FileMode.Create, FileAccess.Write);
doc.Write(file);
stream.Close();
doc.Close();
file.Close();
returnstr = "{\"code\":0,\"msg\":\"生成成功\",\"count\":0,\"data\":\"" + existUrl + "\"}";
existUrl_S += existUrl + ",";
files.Add(HttpContext.Current.Server.MapPath(existUrl));
}
}
}
}
string zipUrl = "/Upload/EmpArchives/" + System.DateTime.Now.ToString("yyyyHHddHHmmssfff") + Guid.NewGuid().ToString() + ".zip";
string zipUrl_disk = HttpContext.Current.Server.MapPath(zipUrl);
FilesZip(files, zipUrl_disk);
returnstr = "{\"code\":200,\"exist\":\"true\",\"dataUrl\":\"" + zipUrl + "\"}";
}
catch (Exception e)
{
}
return returnstr;
}
//所有替换符改为空字符串
private static void ReplaceKey2(XWPFDocument doc)
{
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("${work_unit_title}", "");
dic.Add("${emp_name}", "");
dic.Add("${pol}", "");
dic.Add("${posts}", "");
dic.Add("${nation}", "");
dic.Add("${native_place}", "");
dic.Add("${enlisted_addr}", "");
dic.Add("${cert}", "");
dic.Add("${face}", "");
dic.Add("${party_time}", "");
dic.Add("${blood_type}", "");
dic.Add("${birthday}", "");
dic.Add("${work_time}", "");
dic.Add("${mar}", "");
dic.Add("${is_children}", "");
dic.Add("${graduation_school}", "");
dic.Add("${prof}", "");
dic.Add("${qualification}", "");
dic.Add("${idnumber}", "");
dic.Add("${fireman_card}", "");
dic.Add("${work_unit}", "");
dic.Add("${department}", "");
dic.Add("${emp_mobile}", "");
dic.Add("${family_member}", "");
dic.Add("${familyaddr}", "");
dic.Add("${is_injury}", "");
dic.Add("${is_comment_injury}", "");
dic.Add("${award_situation}", "");
dic.Add("${cultivate_situation}", "");
dic.Add("${person_work_resume}", "");
dic.Add("${remarks}", "");
dic.Add("${photo}", "");
foreach (var para in doc.Paragraphs)
{
ReplaceKey(dic, para);
}
XWPFTable iterator = doc.Tables[0];
List<XWPFTableRow> rows = iterator.Rows;
foreach (XWPFTableRow row in rows)
{
List<XWPFTableCell> cells = row.GetTableCells();
foreach (XWPFTableCell cell in cells)
{
IList<XWPFParagraph> paras = cell.Paragraphs;
foreach (XWPFParagraph para in paras)
{
ReplaceKey(dic, para);
}
}
}
}
/// <summary>
/// word模板内容替换
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="etity">实体数据</param>
/// <param name="para">段落</param>
private static void ReplaceKey(Dictionary<string, string> dic, XWPFParagraph para)
{
var runs = para.Runs;
foreach (var run in runs)
{
foreach (string key in dic.Keys)
{
string oldText = key;
string newText = dic[key];
string text = run.ToString();
if (text.Contains(oldText))
{
if (oldText == "${photo}" && dic[oldText] != "")
{
run.ReplaceText(oldText, "");
int widthEmus = (int)(127.0 * 6025);
int heightEmus = (int)(212.0 * 6525);
try
{
using (FileStream picData = new FileStream(dic[oldText], FileMode.Open, FileAccess.Read))
{
run.AddPicture(picData, (int)PictureType.PNG, "photo", widthEmus, heightEmus);
}
}
catch (Exception e)
{
}
}
else
{
text = text.Replace(oldText, newText);
}
}
run.SetText(text);//替换标签文本(重要)
}
}
}
public void FilesZip(List<string> fileNames, string saveFullPath, int? compresssionLevel = 9, string password = "", string comment = "")
{
using (ZipOutputStream zos = new ZipOutputStream(System.IO.File.Open(saveFullPath, FileMode.OpenOrCreate)))
{
if (compresssionLevel.HasValue)
{
zos.SetLevel(compresssionLevel.Value);//设置压缩级别
}
if (!string.IsNullOrEmpty(password))
{
zos.Password = password;//设置zip包加密密码
}
if (!string.IsNullOrEmpty(comment))
{
zos.SetComment(comment);//设置zip包的注释
}
foreach (string file in fileNames)
{
if (System.IO.File.Exists(file))
{
FileInfo item = new FileInfo(file);
FileStream fs = System.IO.File.OpenRead(item.FullName);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
ZipEntry entry = new ZipEntry(item.Name);
zos.PutNextEntry(entry);
zos.Write(buffer, 0, buffer.Length);
fs.Close();
}
}
zos.Close();
}
}
//设置字体样式
public XWPFParagraph SetCellText(XWPFDocument doc, XWPFTable table, string setText)
{
//table中的文字格式设置
CT_P para = new CT_P();
XWPFParagraph pCell = new XWPFParagraph(para, table.Body);
pCell.Alignment = ParagraphAlignment.CENTER;//字体居中
pCell.VerticalAlignment = TextAlignment.CENTER;//字体居中
XWPFRun r1c1 = pCell.CreateRun();
r1c1.SetText(setText);
r1c1.FontSize = 12;
r1c1.FontFamily = "宋体";
return pCell;
}
//衔级统计
private string sta_xianji(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT, DIC_TEXT, DIC_ORDER, IFNULL(SUM(num), 0) NUM from(SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN (SELECT ifnull(pol, '其他' ) as pol , count(1) AS num FROM tbl_sys_emp_archives";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY pol ) ta ON td.DIC_TEXT = ta.pol WHERE MOD_CODE = 'pol') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//专业岗位统计
private string sta_zhuanyegangwei(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT, DIC_TEXT, DIC_ORDER, IFNULL(SUM(num), 0) NUM from( SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN (SELECT ifnull(prof, '其他' ) as prof , count(1) AS num FROM tbl_sys_emp_archives";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY prof ) ta ON td.DIC_TEXT = ta.prof WHERE MOD_CODE = 'prof') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//取得鉴定资质证书统计
private string sta_zizhizhengshu(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from ( SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(qualification, '其他' ) as qualification , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY qualification ) ta ON td.DIC_TEXT = ta.qualification WHERE MOD_CODE = 'qualification') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//民族统计
private string sta_minzu(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from ( SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(nation, '其他' ) as nation , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY nation ) ta ON td.DIC_TEXT = ta.nation WHERE MOD_CODE = 'nation') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//血型统计
private string sta_xuexing(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from ( SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(blood_type, '其他' ) as blood_type , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY blood_type ) ta ON td.DIC_TEXT = ta.blood_type WHERE MOD_CODE = 'bloodType') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//政治面貌统计
private string sta_zhengzhimianmao(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from (SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(face, '其他' ) as face , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY face ) ta ON td.DIC_TEXT = ta.face WHERE MOD_CODE = 'face') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//文化程度统计
private string sta_wenhuachengdu(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from (SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(cert, '其他' ) as cert , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY cert ) ta ON td.DIC_TEXT = ta.CERT WHERE MOD_CODE = 'cert') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//是否伤残疾病统计
private string sta_shangji(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from (SELECT * FROM (";
sql += " select '是否患有伤疾' as MOD_TEXT, '是' DIC_TEXT, 0 DIC_ORDER from dual union all select '是否患有伤疾' as MOD_TEXT, '否' DIC_TEXT, 1 DIC_ORDER from dual";
sql += " ) td LEFT JOIN(SELECT ifnull(is_injury, '其他') as is_injury, count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY is_injury ) ta ON td.DIC_TEXT = ta.is_injury ) a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//婚姻状况统计
private string sta_hunyinqingkuang(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from (SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(mar, '其他' ) as mar , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY mar ) ta ON td.DIC_TEXT = ta.mar WHERE MOD_CODE = 'mar') a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//育有子女情况统计
private string sta_yuyouzinv(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string is_content = context.Request.Params["is_content"];
string sql = " select MOD_TEXT,DIC_TEXT,DIC_ORDER ,IFNULL(SUM(num),0) NUM from (SELECT * FROM tbl_sys_emp_archives_dicdetail td";
sql += " LEFT JOIN(SELECT ifnull(is_children, '其他' ) as is_children , count(1) AS num FROM tbl_sys_emp_archives ";
if (is_content == "0")
{
sql += " where ORG_ID = '" + OrgId + "' ";
}
else
{
sql += " where ORG_ID in (select org_id from fire_org, (SELECT get_Org_child_list('" + OrgId + "') cids) t where find_in_set(ORG_ID, cids)) ";
}
sql += " GROUP BY is_children ) ta ON td.DIC_TEXT = ta.is_children WHERE MOD_CODE = 'isChildren' ) a GROUP BY MOD_TEXT, DIC_TEXT, DIC_ORDER ORDER BY DIC_ORDER + 0";
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"data\":";
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//电子档案统计人员列表
private string sta_infoList(HttpContext context)
{
string returnstr = "";
try
{
string OrgId = context.Request.Params["OrgId"];
string keyword = context.Request.Params["keywords"];
string treeID = context.Request.Params["treeID"];
string page = context.Request.Params["page"];
string limit = context.Request.Params["limit"];
string is_content = context.Request.Params["isContent"];
string selDeptId = context.Request.Params["selDeptId"];
string field = context.Request.Params["field"];
string searchType = context.Request.Params["searchType"];
int pageIndex = 1;
int pageSize = 10;
if (!string.IsNullOrEmpty(page)) { pageIndex = int.Parse(page); }
if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); }
int startnum = (pageIndex - 1) * pageSize;
StringBuilder countSql = new StringBuilder();
countSql.Append(" SELECT count(1) FROM TBL_SYS_EMP_ARCHIVES t ");
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT t.*, ");
strSql.Append(" (select o.org_name from fire_org o where o.org_id = t.org_id ) org_name , ");
strSql.Append(" (select o.org_name from fire_org o where o.org_id = t.dept_id ) dept_name , ");
strSql.Append(" t.is_leader sort ");
strSql.Append(" FROM TBL_SYS_EMP_ARCHIVES t ");
if (!string.IsNullOrEmpty(treeID) && treeID != OrgId)
{
OrgId = treeID;
}
if (is_content == "1")
{
countSql.Append(",(select get_Org_child_list('" + OrgId + "') cids) s where find_in_set(org_id, cids) ");
strSql.Append(",(select get_Org_child_list('" + OrgId + "') cids) s where find_in_set(org_id, cids) ");
}
else
{
if (!string.IsNullOrWhiteSpace(selDeptId))
{
countSql.Append("where DEPT_ID = '" + selDeptId + "' ");
strSql.Append("where DEPT_ID = '" + selDeptId + "' ");
}
else
{
countSql.Append("where ORG_ID = '" + OrgId + "' ");
strSql.Append("where ORG_ID = '" + OrgId + "' ");
}
}
if (!string.IsNullOrEmpty(keyword))
{
countSql.Append("and ( emp_name like '%" + keyword + "%' or EMP_MOBILE like '%" + keyword + "%')");
strSql.Append("and ( emp_name like '%" + keyword + "%' or EMP_MOBILE like '%" + keyword + "%')");
}
if (searchType == "其他")
{
countSql.Append("and (" + field + " = '" + searchType + "' or " + field + " is null)");
strSql.Append("and (" + field + " = '" + searchType + "' or " + field + " is null)");
}
else
{
countSql.Append("and " + field + " = '" + searchType + "'");
strSql.Append("and " + field + " = '" + searchType + "'");
}
object obj = FangYar.Common.MySqlHelper.GetSingle(countSql.ToString());
int count = 0;
if (obj != null)
{
count = Convert.ToInt32(obj);
}
returnstr = "{\"code\":0,\"msg\":\"操作成功!\",\"count\":" + count + ",\"data\":";
if (count == 0)
{
returnstr += "[]";
}
else
{
strSql.Append(" order by sort desc");
strSql.Append(" limit " + startnum + ", " + pageSize);
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strSql.ToString());
returnstr += FangYar.Common.JsonHelper.ToJson(dt);
}
returnstr += "}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
//电子档案统计导出
private string sta_exp(HttpContext context)
{
string returnstr = "";
try
{
string orgID = context.Request.Params["orgID"];
string orgName = context.Request.Params["orgName"];
string image_xianji = context.Request.Params["image_xianji"];
string image_zhuanyegangwei = context.Request.Params["image_zhuanyegangwei"];
string image_zizhizhengshu = context.Request.Params["image_zizhizhengshu"];
string image_minzu = context.Request.Params["image_minzu"];
string image_xuexing = context.Request.Params["image_xuexing"];
string image_zhengzhimianmao = context.Request.Params["image_zhengzhimianmao"];
string image_wenhuachengdu = context.Request.Params["image_wenhuachengdu"];
string image_shangji = context.Request.Params["image_shangji"];
string image_hunyinqingkuang = context.Request.Params["image_hunyinqingkuang"];
string image_yuyouzinv = context.Request.Params["image_yuyouzinv"];
string tableData = context.Request.Params["tableData"];
tableDataModel tabledatamodel = new tableDataModel();
tabledatamodel =FangYar.Common.JsonHelper.FromJSON<tableDataModel>(tableData);
string templateUrl = "/UISysManage/EmpArchives/statistics/电子档案统计导出模板.docx";
Stream stream = File.OpenRead(HttpContext.Current.Server.MapPath(templateUrl));
XWPFDocument doc = new XWPFDocument(stream);
Dictionary<string, string> dic = new Dictionary<string, string>();
//设置导出日期
dic.Add("${export_time}", DateTime.Now.ToString("yyyy年MM月dd日"));
ReplaceKey(dic, doc.Paragraphs[1]);
//操作table
XWPFTable tableContent1 = doc.Tables[0];
//开始编辑的第一行
int k = 1;
//衔级
for (int i = 0; i < tabledatamodel.xianji.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xianji.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xianji.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xianji.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xianji.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k- tabledatamodel.xianji.xAxisData.Length , k-1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//专业岗位
for (int i = 0; i < tabledatamodel.zhuanyegangwei.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhuanyegangwei.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhuanyegangwei.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhuanyegangwei.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhuanyegangwei.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.zhuanyegangwei.xAxisData.Length, k-1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//取得鉴定资质证书统计
for (int i = 0; i < tabledatamodel.zizhizhengshu.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zizhizhengshu.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zizhizhengshu.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zizhizhengshu.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zizhizhengshu.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.zizhizhengshu.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//民族统计
for (int i = 0; i < tabledatamodel.minzu.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.minzu.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.minzu.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.minzu.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.minzu.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.minzu.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//民族统计
for (int i = 0; i < tabledatamodel.xuexing.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xuexing.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xuexing.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xuexing.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.xuexing.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.xuexing.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//政治面貌统计
for (int i = 0; i < tabledatamodel.zhengzhimianmao.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhengzhimianmao.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhengzhimianmao.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhengzhimianmao.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.zhengzhimianmao.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.zhengzhimianmao.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//文化程度统计
for (int i = 0; i < tabledatamodel.wenhuachengdu.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.wenhuachengdu.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.wenhuachengdu.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.wenhuachengdu.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.wenhuachengdu.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.wenhuachengdu.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//是否患有伤疾统计
for (int i = 0; i < tabledatamodel.shangji.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.shangji.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.shangji.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.shangji.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.shangji.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.shangji.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//婚姻情况统计
for (int i = 0; i < tabledatamodel.hunyinqingkuang.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.hunyinqingkuang.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.hunyinqingkuang.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.hunyinqingkuang.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.hunyinqingkuang.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.hunyinqingkuang.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//育有子女情况统计
for (int i = 0; i < tabledatamodel.yuyouzinv.xAxisData.Length; i++)
{
XWPFTableRow newRow = tableContent1.CreateRow();
tableContent1.GetRow(k).GetCell(0).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.yuyouzinv.field));
tableContent1.GetRow(k).GetCell(1).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.yuyouzinv.xAxisData[i]));
tableContent1.GetRow(k).GetCell(2).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.yuyouzinv.seriesData[i]));
tableContent1.GetRow(k).GetCell(3).SetParagraph(SetCellText(doc, tableContent1, tabledatamodel.yuyouzinv.rateData[i]));
k++;
}
mergeVertically(tableContent1, 0, k - tabledatamodel.yuyouzinv.xAxisData.Length, k - 1); // 渲染完成后进行单元格合并 table 第几列 第几行 到 第几行
//MemoryStream ms = new MemoryStream();
//doc.Write(ms);
////保存修改后的文档
//// 把 byte[] 写入文件
//string existUrl = "/UISysManage/EmpArchives/statistics/导出.docx";
//FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(existUrl), FileMode.Create);
//BinaryWriter bw = new BinaryWriter(fs);
//bw.Write(ms.GetBuffer());
//doc.Close();
//bw.Close();
//fs.Close();
string path = AppDomain.CurrentDomain.BaseDirectory + "Upload\\EmpArchives\\" + orgName + orgID+"\\";
if (Directory.Exists(path) == false)//如果不存在就创建文件夹
{
Directory.CreateDirectory(path);
}
string existUrl = "/Upload/EmpArchives/"+ orgName + orgID+ "/" + orgName + "_电子档案统计.docx";
//string existUrl = "/UISysManage/EmpArchives/statistics/导出.docx";
FileStream file = new FileStream(HttpContext.Current.Server.MapPath(existUrl), FileMode.Create, FileAccess.Write);
doc.Write(file);
stream.Close();
doc.Close();
file.Close();
returnstr = "{\"code\":0,\"msg\":\"生成成功\",\"count\":0,\"data\":\""+ existUrl + "\"}";
}
catch (Exception e)
{
returnstr = "{\"code\":-1,\"msg\":\"" + e.Message + "\",\"count\":0,\"data\":[]}";
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询异常:" + e);
}
// 记录操作日志
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "人员档案操作请求", "查询");
return returnstr;
}
public void mergeVertically(XWPFTable table, int col, int fromRow, int toRow)
{
//如果开始行大于结束行则退出
if (!(fromRow > toRow)) {
for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++)
{
XWPFTableCell cell = table.GetRow(rowIndex).GetCell(col);
if (rowIndex == fromRow)
{
cell.GetCTTc().AddNewTcPr().AddNewVMerge().val= ST_Merge.restart;
}
else
{
cell.GetCTTc().AddNewTcPr().AddNewVMerge().val= ST_Merge.@continue;
}
}
//合并后垂直居中
table.GetRow(fromRow).GetCell(col).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
}
}
//合并行
public void mergeHorizontal(XWPFTable table, int row, int fromCell, int toCell)
{
//如果开始列大于结束列则退出
if (!(fromCell > toCell))
{
for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++)
{
XWPFTableCell cell = table.GetRow(row).GetCell(cellIndex);
if (cellIndex == fromCell)
{
cell.GetCTTc().AddNewTcPr().AddNewHMerge().val = ST_Merge.restart;
}
else
{
cell.GetCTTc().AddNewTcPr().AddNewHMerge().val = ST_Merge.@continue;
}
}
}
}
//电子档案统计数据导出所需Model
public class tableDataModel
{
public tableDataDetailModel xianji { get; set; }
public tableDataDetailModel zhuanyegangwei { get; set; }
public tableDataDetailModel zizhizhengshu { get; set; }
public tableDataDetailModel minzu { get; set; }
public tableDataDetailModel xuexing { get; set; }
public tableDataDetailModel zhengzhimianmao { get; set; }
public tableDataDetailModel wenhuachengdu { get; set; }
public tableDataDetailModel shangji { get; set; }
public tableDataDetailModel hunyinqingkuang { get; set; }
public tableDataDetailModel yuyouzinv { get; set; }
}
//电子档案统计数据导出所需Model
public class tableDataDetailModel
{
public string field { get; set; }
public string[] xAxisData { get; set; }
public string[] seriesData { get; set; }
public string[] rateData { get; set; }
}
public bool IsReusable
{
get
{
return false;
}
}
}
}