protected void Page_Load(object sender, EventArgs e) { try { Aim.Portal.Web.WebPortalService.CheckLogon(); } catch { Response.Write("<script> window.parent.location.href = '/Login.aspx';</script>"); Response.End(); } string templatepath = ConfigurationManager.AppSettings["TemplatePath"].ToString(); string action = Request["action"]; string id = Request["id"]; Document srcDoc = null; BookmarkCollection marks = null; IList <EasyDictionary> dics = null; string filename = ""; if (!string.IsNullOrEmpty(id)) { pEnt = Project.Find(id); } switch (action) { case "loadproject": string ProjectName = Request["ProjectName"]; if (!string.IsNullOrEmpty(ProjectName)) { where = "and ProjectName like '%" + ProjectName + "%' "; } sql = @"select * from NCRL_SP..Project where BelongCmp = 'ZX' " + where; dt = DataHelper.QueryDataTable(GetPageSql(sql)); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + ",total:" + totalProperty + "}"); Response.End(); break; case "delete": Delete(); break; case "Recycle": Recycle(); break; case "loadexportfile": sql = "select Id,Name,CreateTime from FileItem where ProjectId='" + id + "' and Path='导出' order by CreateTime asc"; dt = DataHelper.QueryDataTable(sql); Response.Write("{innerrows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}"); Response.End(); break; case "export_opinioncover": //意见封面 try { srcDoc = new Document(templatepath + "审查意见封面.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } filename = pEnt.ProjectName.Replace("#", "") + "_审查意见封面.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch { Response.Write("{success:false}"); } Response.End(); break; case "exporthegeshu": srcDoc = new Document(templatepath + "审查合格书_市政工程_房屋建筑.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } sql = @"select a.MajorName,(select top 1 SortIndex from SysEnumeration where ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94' and Name=a.MajorName) as SortIndex from NCRL_SP..ProjectUser a where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc"; dics = DataHelper.QueryDictList(sql); int i = 1; foreach (EasyDictionary dic in dics) { if (dic.Get <string>("MajorName") != "勘察") { if (marks["Major" + i] != null) { marks["Major" + i].Text = dic.Get <string>("MajorName"); } i++; } } filename = pEnt.ProjectName.Replace("#", "") + "_审查合格书.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); break; case "export_beiandengjibiao": try { srcDoc = new Document(templatepath + "附件10施工图设计文件审查备案登记表.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } if (marks["Layer"] != null) { marks["Layer"].Text = "地上层数:" + pEnt.UpperLayers + (string.IsNullOrEmpty(pEnt.DownLayers) ? "" : "地下层数:" + pEnt.DownLayers); } if (marks["KanChaIfBeiAn"] != null) { marks["KanChaIfBeiAn"].Text = string.IsNullOrEmpty(pEnt.KanChaUnitBeiAnNo) ? "否" : "是"; } if (marks["SheJiIfBeiAn"] != null) { marks["SheJiIfBeiAn"].Text = string.IsNullOrEmpty(pEnt.SheJiUnitBeiAnNo) ? "否" : "是"; } sql = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex from NCRL_SP..KanChaSheJi a where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc"; dics = DataHelper.QueryDictList(sql); //勘察设计人员 int index = 1; foreach (EasyDictionary dic in dics) { if (dic.Get <string>("Position") == "注册土木工程师(岩土)") { if (marks["ZhuCeYanTuName"] != null) { marks["ZhuCeYanTuName"].Text = dic.Get <string>("UserName"); } if (marks["ZhuCeYanTuSealNo"] != null) { marks["ZhuCeYanTuSealNo"].Text = dic.Get <string>("SealNo"); } if (marks["ZhuCeYanTuShenFenZheng"] != null) { marks["ZhuCeYanTuShenFenZheng"].Text = dic.Get <string>("ShenFenZhengNo"); } } else if (dic.Get <string>("Position") == "一级注册建筑师") { if (marks["ZhuCeJianZaoShiName"] != null) { marks["ZhuCeJianZaoShiName"].Text = dic.Get <string>("UserName"); } if (marks["ZhuCeJianZaoShiSealNo"] != null) { marks["ZhuCeJianZaoShiSealNo"].Text = dic.Get <string>("SealNo"); } if (marks["ZhuCeJianZaoShiShenFenZheng"] != null) { marks["ZhuCeJianZaoShiShenFenZheng"].Text = dic.Get <string>("ShenFenZhengNo"); } } else if (dic.Get <string>("Position") == "一级注册结构师") { if (marks["ZhuCeJieGouShiName"] != null) { marks["ZhuCeJieGouShiName"].Text = dic.Get <string>("UserName"); } if (marks["ZhuCeJieGouShiSealNo"] != null) { marks["ZhuCeJieGouShiSealNo"].Text = dic.Get <string>("SealNo"); } if (marks["ZhuCeJieGouShiShenFenZheng"] != null) { marks["ZhuCeJieGouShiShenFenZheng"].Text = dic.Get <string>("ShenFenZhengNo"); } } else { if (marks["SheJi_MajorName" + index] != null) { marks["SheJi_MajorName" + index].Text = dic.Get <string>("MajorName"); } if (marks["SheJi_UserName" + index] != null) { marks["SheJi_UserName" + index].Text = dic.Get <string>("UserName"); } index++; } } sql = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex ,b.StampNo as QianZhangStampNo,c.StampNo as ShenHeStampNo from NCRL_SP..ProjectUser a left join NCRL_SP..Expert b on b.Id=a.QianZhangId left join NCRL_SP..Expert c on c.Id=a.ShenHeId where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc"; dics = DataHelper.QueryDictList(sql); index = 1; foreach (EasyDictionary dic in dics) { if (marks["ShenTu_MajorName" + index] != null) { marks["ShenTu_MajorName" + index].Text = dic.Get <string>("MajorName"); } if (marks["ShenTu_UserName" + index] != null) { marks["ShenTu_UserName" + index].Text = dic.Get <string>("QianZhangName"); } if (marks["ShenTu_SealNo" + index] != null) { marks["ShenTu_SealNo" + index].Text = dic.Get <string>("QianZhangStampNo"); } if (marks["FuHe_UserName" + index] != null) { marks["FuHe_UserName" + index].Text = dic.Get <string>("ShenHeName"); } if (marks["FuHe_SealNo" + index] != null) { marks["FuHe_SealNo" + index].Text = dic.Get <string>("ShenHeStampNo"); } index++; } //写入备案登记表信息 IList <BeiAn_Project> bapEnts = BeiAn_Project.FindAllByProperty(BeiAn_Project.Prop_ProjectId, pEnt.Id); if (bapEnts.Count > 0) { for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty_Object(bapEnts[0], mark.Name)) { mark.Text = bapEnts[0].GetValue(mark.Name) + ""; } } } filename = pEnt.ProjectName.Replace("#", "") + "_审查备案登记表.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch { Response.Write("{success:false}"); } Response.End(); break; case "export_shenchabaogao": try { if (pEnt.ProjectType == "房屋建筑") { srcDoc = new Document(templatepath + "房屋建筑_审查报告.doc"); } if (pEnt.ProjectType == "市政工程") { srcDoc = new Document(templatepath + "市政工程_审查报告.doc"); } if (pEnt.ProjectType == "基坑支护") { srcDoc = new Document(templatepath + "基坑支护_审查报告.doc"); } marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } IList <ShenChaReport> scrEnts = ShenChaReport.FindAllByProperty(ShenChaReport.Prop_ProjectId, pEnt.Id); if (scrEnts.Count > 0) { for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty_Object(scrEnts[0], mark.Name)) { mark.Text = scrEnts[0].GetValue(mark.Name) + ""; } } } if (marks["Layer"] != null) { marks["Layer"].Text = "地上层数:" + pEnt.UpperLayers + (string.IsNullOrEmpty(pEnt.DownLayers) ? "" : "地下层数:" + pEnt.DownLayers); } if (marks["ProjectName1"] != null) { marks["ProjectName1"].Text = pEnt.ProjectName; } if (marks["JianSheUnit1"] != null) { marks["JianSheUnit1"].Text = pEnt.JianSheUnit; } filename = pEnt.ProjectName.Replace("#", "") + "_审查报告.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "export_kanchashenchabaogao": try { srcDoc = new Document(templatepath + "江西省工程勘察审查报告书.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } IList <ShenChaReport_KanCha> scrkEnts = ShenChaReport_KanCha.FindAllByProperty(ShenChaReport_KanCha.Prop_ProjectId, pEnt.Id); if (scrkEnts.Count > 0) { for (int j = 0; j < marks.Count; j++) { if (ContainProperty_Object(scrkEnts[0], marks[j].Name)) { marks[j].Text = scrkEnts[0].GetValue(marks[j].Name) + ""; } } } if (marks["ProjectName2"] != null) { marks["ProjectName2"].Text = pEnt.ProjectName; } if (marks["JianSheUnit2"] != null) { marks["JianSheUnit2"].Text = pEnt.JianSheUnit; } filename = pEnt.ProjectName.Replace("#", "") + "_工程勘察审查报告.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "exportqingkuangjilu": try { srcDoc = new Document(templatepath + "附件6房屋建筑和市政基础设施工程施工图设计文件审查情况记录.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } filename = pEnt.ProjectName.Replace("#", "") + "_审查情况记录.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "export_shenchahuizong": try { srcDoc = new Document(templatepath + "审查情况汇总.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { Bookmark mark = marks[j]; if (ContainProperty(pEnt, mark.Name)) { mark.Text = pEnt.GetValue(mark.Name) + ""; } } if (marks["ProjectType2"] != null) { marks["ProjectType2"].Text = pEnt.ProjectType; } if (marks["Layer"] != null) { marks["Layer"].Text = "地上层数:" + pEnt.UpperLayers + (string.IsNullOrEmpty(pEnt.DownLayers) ? "" : "地下层数:" + pEnt.DownLayers); } //找到项目人员 排除勘察专业的 sql = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex from NCRL_SP..ProjectUser a where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc"; dics = DataHelper.QueryDictList(sql); int index = 1; foreach (EasyDictionary dic in dics) { if (dic.Get <string>("MajorName") != "勘察") { if (marks["MajorName" + index] != null) { marks["MajorName" + index].Text = dic.Get <string>("MajorName"); } if (marks["QianZhangName" + index] != null) { marks["QianZhangName" + index].Text = dic.Get <string>("QianZhangName"); } index++; } } sql = @"select isnull(sum(QiangTiao),0) from NCRL_SP..ExamineOpinion where ExamineTaskId in ( select Id from NCRL_SP..ExamineTask where ProjectId='" + pEnt.Id + "')"; if (marks["QiangTiao"] != null) { marks["QiangTiao"].Text = DataHelper.QueryValue(sql) + ""; } filename = pEnt.ProjectName.Replace("#", "") + "_审查情况汇总.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "export_shenchahuizong_kancha": //审查情况汇总表_工程勘察 try { srcDoc = new Document(templatepath + "审查情况汇总表_工程勘察.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { if (ContainProperty(pEnt, marks[j].Name)) { marks[j].Text = pEnt.GetValue(marks[j].Name) + ""; } } if (marks["QianZhangName"] != null) //找到勘察专业的签章专家 { IList <ProjectUser> puEnts = ProjectUser.FindAllByProperties(ProjectUser.Prop_ProjectId, pEnt.Id, ProjectUser.Prop_MajorName, "勘察"); if (puEnts.Count > 0) { marks["QianZhangName"].Text = puEnts[0].QianZhangName; } } if (marks["QiangTiao"] != null) //找到勘察专业的强条 { IList <ExamineTask> etEnts = ExamineTask.FindAllByProperties(ExamineTask.Prop_MajorName, "勘察", ExamineTask.Prop_ProjectId, pEnt.Id); if (etEnts.Count > 0) { sql = "select isnull(sum(QiangTiao),0) from NCRL_SP..ExamineOpinion where ExamineTaskId='" + etEnts[0].Id + "'"; marks["QiangTiao"].Text = DataHelper.QueryValue <Int32>(sql) + ""; } } filename = pEnt.ProjectName.Replace("#", "") + "_工程勘察审查情况汇总表.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "export_kangzhen": try { srcDoc = new Document(templatepath + "抗震设防监管表.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { if (ContainProperty(pEnt, marks[j].Name)) { marks[j].Text = pEnt.GetValue(marks[j].Name) + ""; } } IList <KangZhen_Project> kzpEnts = KangZhen_Project.FindAllByProperty(KangZhen_Project.Prop_ProjectId, pEnt.Id); if (kzpEnts.Count > 0) { for (int j = 0; j < marks.Count; j++) { if (ContainProperty_Object(kzpEnts[0], marks[j].Name)) { marks[j].Text = kzpEnts[0].GetValue <string>(marks[j].Name); } } } if (pEnt.Property == "新建" && marks["XinJian"] != null) { marks["XinJian"].Text = "√"; } if (pEnt.Property == "改建" && marks["GaiJian"] != null) { marks["GaiJian"].Text = "√"; } if (pEnt.Property == "扩建" && marks["KuoJian"] != null) { marks["KuoJian"].Text = "√"; } filename = pEnt.ProjectName.Replace("#", "") + "_抗震设防专项审查监管表.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "export_zhongshenyijianbiao": try { srcDoc = new Document(templatepath + "附件5_终审意见表.doc"); marks = srcDoc.Range.Bookmarks; for (int j = 0; j < marks.Count; j++) { if (ContainProperty(pEnt, marks[j].Name)) { marks[j].Text = pEnt.GetValue(marks[j].Name) + ""; } } IList <ZhongShenOpinion_Project> zsopEnts = ZhongShenOpinion_Project.FindAllByProperty(ZhongShenOpinion_Project.Prop_ProjectId, pEnt.Id); if (zsopEnts.Count > 0) { for (int j = 0; j < marks.Count; j++) { if (ContainProperty_Object(zsopEnts[0], marks[j].Name)) { marks[j].Text = zsopEnts[0].GetValue(marks[j].Name) + ""; } } } filename = pEnt.ProjectName.Replace("#", "") + "_终审意见表.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; case "export_subproject": //导出子项 try { srcDoc = new Document(templatepath + "子项目明细表.doc"); marks = srcDoc.Range.Bookmarks; IList <SubProject> suEnts = SubProject.FindAllByProperty(SubProject.Prop_ProjectId, pEnt.Id); for (int j = 0; j < suEnts.Count; j++) { foreach (PropertyInfo pi in SubProject.AllProperties) { if (marks[pi.Name + (j + 1)] != null) { marks[pi.Name + (j + 1)].Text = suEnts[j].GetValue(pi.Name) + ""; } } } if (marks["ProjectName"] != null) { marks["ProjectName"].Text = pEnt.ProjectName; } filename = pEnt.ProjectName.Replace("#", "") + "_子项目明细表.doc"; srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename); UpdateFileItem(filename); Response.Write("{success:true}"); } catch (Exception ex) { Response.Write("{success:false}"); } Response.End(); break; } }
protected void Page_Load(object sender, EventArgs e) { string action = Request["action"]; string id = Request["id"]; string userid = Request["userid"]; string sql = ""; DataTable dt = null; ProjectAttendance paEnt = null; IList <ProjectUser> puEnts = null; if (!string.IsNullOrEmpty(id)) { paEnt = ProjectAttendance.Find(id); } switch (action) { case "loadproject": sql = @"select Id as ProjectId,PManagerId,ProjectName,PManagerName,BelongDeptId,BelongDeptName from NCRL_SP..Project"; dt = DataHelper.QueryDataTable(sql); string data_prj = JsonHelper.GetJsonString(dt); sql = "select value as year from NCRL_Portal..SysEnumeration where ParentId='058fbee9-0a9a-4b25-b343-ea8c05396632' order by SortIndex asc"; dt = DataHelper.QueryDataTable(sql); string data_year = JsonHelper.GetJsonString(dt); sql = "select value as month from NCRL_Portal..SysEnumeration where ParentId='b25e537b-34e3-4437-87af-692e00facd73' order by SortIndex asc"; dt = DataHelper.QueryDataTable(sql); string data_month = JsonHelper.GetJsonString(dt); Response.Write("{'rows':" + data_prj + ",year:" + data_year + ",month:" + data_month + "}"); Response.End(); break; case "save": JObject jo = JsonHelper.GetObject <JObject>(Request["formdata"]); //有可能具体该年月的项目考勤主表已经存在 sql = "select * from NCRL_SP..ProjectAttendance where ProjectId='{0}' and Year='{1}' and Month='{2}'"; sql = string.Format(sql, jo.Value <string>("ProjectId"), jo.Value <string>("Year"), jo.Value <string>("Month")); dt = DataHelper.QueryDataTable(sql); if (dt.Rows.Count > 0) { paEnt = ProjectAttendance.Find(dt.Rows[0]["Id"]); paEnt.Remark = jo.Value <string>("Remark"); paEnt.DoUpdate(); } else { paEnt = JsonHelper.GetObject <ProjectAttendance>(Request["formdata"]); paEnt.DoCreate(); } //创建完项目阶段考勤后 自动创建本阶段项目所属部门考勤和公司考勤 //IList<CmpAttendance> caEnts = CmpAttendance.FindAllByProperties(CmpAttendance.Prop_Year, paEnt.Year, CmpAttendance.Prop_Month, paEnt.Month); //if (caEnts.Count == 0) //{ // CmpAttendance caEnt = new CmpAttendance(); // caEnt.Year = paEnt.Year; // caEnt.Month = paEnt.Month; // caEnt.DoCreate(); //} //表单信息创建或者更新完毕后调取考核明细 sql = "select * from NCRL_SP..PrjAttendanceDetail where ProjectAttendanceId='" + paEnt.Id + "' order by UserId asc"; dt = DataHelper.QueryDataTable(sql); if (dt.Rows.Count == 0) { //如果是首次创建没有考勤明细的时候 sql = "select UserId,UserName from NCRL_SP..ProjectUser where ProjectId='" + paEnt.ProjectId + "' order by UserId asc"; dt = DataHelper.QueryDataTable(sql); } string title = paEnt.ProjectName + paEnt.Year + "年" + paEnt.Month + "月考勤表"; int runyear = 0; if ((paEnt.Year % 4 == 0 && paEnt.Year % 100 != 0) || paEnt.Year % 400 == 0) { runyear = 1; } Response.Write("{success:true,month:'" + paEnt.Month + "',runyear:" + runyear + ",Id:'" + paEnt.Id + "',detail:" + JsonHelper.GetJsonStringFromDataTable(dt) + ",title:'" + title + "'}"); Response.End(); break; case "loadform": paEnt = ProjectAttendance.Find(id); Response.Write("{success:true,data:" + JsonHelper.GetJsonString(paEnt) + "}"); Response.End(); break; case "updatedetail": string result = Request["SignType"]; paEnt = ProjectAttendance.Find(id); sql = "select * from NCRL_SP..PrjAttendanceDetail where ProjectAttendanceId='" + paEnt.Id + "' and UserId='" + Request["UserId"] + "'"; dt = DataHelper.QueryDataTable(sql); if (dt.Rows.Count == 0) { sql = "insert into NCRL_SP..PrjAttendanceDetail (Id,ProjectAttendanceId,UserId,UserName,Year,Month," + Request["day"] + ") values('" + Guid.NewGuid() + "','" + paEnt.Id + "','" + Request["UserId"] + "','" + Request["UserName"] + "','" + paEnt.Year + "','" + paEnt.Month + "','" + Request["SignType"] + "')"; } else { //如果先前同一个字段标记的是正常上班,再次点正常上班时,清空该字段 if (dt.Rows[0][Request["day"]] + "" == Request["SignType"]) { sql = "update NCRL_SP..PrjAttendanceDetail set " + Request["day"] + "=null where Id='" + dt.Rows[0]["Id"] + "'"; result = ""; } else { sql = "update NCRL_SP..PrjAttendanceDetail set " + Request["day"] + "='" + Request["SignType"] + "' where Id='" + dt.Rows[0]["Id"] + "'"; result = Request["SignType"]; } } DataHelper.ExecSql(sql); //插入考勤日志,为生成人员月度考勤提供基础数据 sql = "insert into NCRL_SP..AttendanceLog (Id,ProjectAttendanceId,UserId,UserName,Field,AttendanceType,CreateId,CreateName,CreateTime) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',GETDATE()) "; sql = string.Format(sql, Guid.NewGuid(), paEnt.Id, Request["UserId"], Request["UserName"], Request["day"], result, Aim.Portal.PortalService.CurrentUserInfo.UserID, Aim.Portal.PortalService.CurrentUserInfo.Name); DataHelper.ExecSql(sql); Response.Write("{success:true,result:'" + result + "'}"); Response.End(); break; case "delete": sql = "delete NCRL_SP..ProjectAttendanceDetail where UserId='{0}' and ProjectAttendanceId='{1}' "; sql = string.Format(sql, userid, id); DataHelper.ExecSql(sql); puEnts = ProjectUser.FindAllByProperties(ProjectUser.Prop_UserId, userid, ProjectUser.Prop_ProjectId, paEnt.ProjectId); if (puEnts.Count > 0) { puEnts[0].DoDelete(); } break; case "updateprojectuser": puEnts = ProjectUser.FindAllByProperties(ProjectUser.Prop_UserId, userid, ProjectUser.Prop_ProjectId, paEnt.ProjectId); if (puEnts.Count == 0) { ProjectUser puEnt = new ProjectUser(); puEnt.UserId = userid; puEnt.UserName = Request["username"]; puEnt.ProjectId = paEnt.ProjectId; puEnt.DoCreate(); } break; } }
protected void Page_Load(object sender, EventArgs e) { string action = Request["action"]; string sql = ""; DataTable dt = null; ChouJin cjEnt = null; ShouKuan skEnt = null; ChouJinDetail cjdEnt = null; ChouJinResult cjrEnt = null; string id = Request["id"]; IList <ShouKuan> skEnts = null; IList <ChouJinDetail> cjdEnts = null; IList <ChouJinResult> cjrEnts = null; switch (action) { case "loadyear": sql = "select value as year from NCRL_Portal..SysEnumeration where ParentId='058fbee9-0a9a-4b25-b343-ea8c05396632' order by SortIndex asc"; dt = DataHelper.QueryDataTable(sql); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}"); Response.End(); break; case "loadmonth": sql = "select value as month from NCRL_Portal..SysEnumeration where ParentId='b25e537b-34e3-4437-87af-692e00facd73' order by SortIndex asc"; dt = DataHelper.QueryDataTable(sql); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}"); Response.End(); break; case "create": cjEnt = JsonHelper.GetObject <ChouJin>(Request["formdata"]); cjEnt.DoCreate(); Response.Write("{success:true,id:'" + cjEnt.Id + "'}"); Response.End(); break; case "update": cjEnt = JsonHelper.GetObject <ChouJin>(Request["formdata"]); ChouJin originalEnt = ChouJin.Find(cjEnt.Id); EasyDictionary dic = JsonHelper.GetObject <EasyDictionary>(Request["formdata"]); originalEnt = DataHelper.MergeData <ChouJin>(originalEnt, cjEnt, dic.Keys); originalEnt.DoUpdate(); Response.Write("{success:true,id:'" + cjEnt.Id + "'}"); Response.End(); break; case "loadform": cjEnt = ChouJin.Find(id); Response.Write("{success:true,data:" + JsonHelper.GetJsonString(cjEnt) + "}"); Response.End(); break; case "loadshoukuan": skEnts = ShouKuan.FindAllByProperty(ShouKuan.Prop_ShouKuanDate, ShouKuan.Prop_ChouJinId, id); if (skEnts.Count == 0) { cjEnt = ChouJin.Find(id); sql = @"select a.Id,a.ProjectId,a.InvoiceId,a.ShouKuanAmount,a.ShouKuanDate,a.ShiJiShouFei, a.YiFenPercent,a.ChouJinAmount,b.ProjectName,c.InvoiceNo from NCRL_SP..ShouKuan a left join NCRL_SP..Project b on a.ProjectId=b.Id left join NCRL_SP..Invoice c on a.InvoiceId=c.Id where YiFenPercent is null and year(ShouKuanDate)='" + cjEnt.BelongYear + "' and month(ShouKuanDate)='" + (Convert.ToInt32(cjEnt.BelongMonth) - 1) + "' and isnull(a.Status,'')<>'已作废' order by ShouKuanDate asc"; } else { sql = @"select a.Id,a.ProjectId,a.InvoiceId,a.ShouKuanAmount,a.ShouKuanDate,a.ShiJiShouFei, a.YiFenPercent,a.ChouJinAmount,b.ProjectName,c.InvoiceNo from NCRL_SP..ShouKuan a left join NCRL_SP..Project b on a.ProjectId=b.Id left join NCRL_SP..Invoice c on a.InvoiceId=c.Id where ChouJinId='" + id + "' order by a.ShouKuanDate asc"; } dt = DataHelper.QueryDataTable(sql); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}"); Response.End(); break; case "updateshoukuan": string shoukuanids = Request["shoukuanids"]; string[] idarray = shoukuanids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (string str in idarray) { skEnt = ShouKuan.Find(str); skEnt.ChouJinId = id; skEnt.DoUpdate(); } //顺便把酬金分配明细的store构建后送到前端 为动态页面的生成提供数据基础 skEnts = ShouKuan.FindAllByProperty(ShouKuan.Prop_ShouKuanDate, ShouKuan.Prop_ChouJinId, id); DataTable dt2 = new DataTable(); //构建表格列 // dc = new DataColumn("MajorName"); //dt2.Columns.Add(dc); DataColumn dc = new DataColumn("UserId"); dt2.Columns.Add(dc); dc = new DataColumn("UserName"); dt2.Columns.Add(dc); dc = new DataColumn("StageAmount"); dt2.Columns.Add(dc); foreach (ShouKuan tempEnt in skEnts) { dc = new DataColumn(tempEnt.Id + "@A"); dt2.Columns.Add(dc); dc = new DataColumn(tempEnt.Id + "@B"); dt2.Columns.Add(dc); dc = new DataColumn(tempEnt.Id + "@C"); dt2.Columns.Add(dc); } //构建表格行 先构建前面的特殊5行 DataRow dr1 = dt2.NewRow(); DataRow dr2 = dt2.NewRow(); DataRow dr3 = dt2.NewRow(); DataRow dr4 = dt2.NewRow(); DataRow dr5 = dt2.NewRow(); Project pEnt = null; dr1["UserName"] = "******"; dr2["UserName"] = "******"; dr3["UserName"] = "******"; dr4["UserName"] = "******"; dr5["UserName"] = "******"; foreach (ShouKuan tempEnt in skEnts) { pEnt = Project.Find(tempEnt.ProjectId); dr1[tempEnt.Id + "@A"] = pEnt.ProjectName; dr1[tempEnt.Id + "@C"] = tempEnt.ShouKuanAmount; //获取收款金额 if (!string.IsNullOrEmpty(pEnt.DelegateInfoId)) { dr2[tempEnt.Id + "@A"] = DelegateInfo.Find(pEnt.DelegateInfoId).DelegateName; //第二行收款记录第一列显示窗口名称 第三列显示窗口比例 } dr2[tempEnt.Id + "@B"] = tempEnt.Id; dr2[tempEnt.Id + "@C"] = pEnt.ChuangKouBiLi; //将收款记录的ID存到第二行的第三列上。便于前台获取 dr3[tempEnt.Id + "@C"] = tempEnt.ShiJiShouFei; //第三行收款记录第三列存显示实际收费 即收款金额-收款金额*窗口比例 dr4[tempEnt.Id + "@C"] = tempEnt.ChouJinAmount; dr5[tempEnt.Id + "@A"] = tempEnt.YiFenPercent; dr5[tempEnt.Id + "@B"] = 100; } dt2.Rows.Add(dr1); dt2.Rows.Add(dr2); dt2.Rows.Add(dr3); dt2.Rows.Add(dr4); dt2.Rows.Add(dr5); //所有的专家 IList <Expert> expEnts = Expert.FindAllByProperty(Expert.Prop_SortIndex, Expert.Prop_Status, "T"); foreach (Expert tEnt in expEnts) { DataRow dr = dt2.NewRow(); dr["UserId"] = tEnt.Id; dr["UserName"] = tEnt.UserName; cjrEnts = ChouJinResult.FindAllByProperties(ChouJinResult.Prop_ChouJinId, id, ChouJinResult.Prop_ExpertId, tEnt.Id); dr["StageAmount"] = cjrEnts.Count == 0 ? "" : cjrEnts[0].StageAmount + ""; foreach (ShouKuan shoukuanEnt in skEnts) { cjdEnts = ChouJinDetail.FindAllByProperties(ChouJinDetail.Prop_ChouJinId, id, ChouJinDetail.Prop_ExpertId, tEnt.Id, ChouJinDetail.Prop_ShouKuanId, shoukuanEnt.Id); IList <ProjectUser> puEnts = ProjectUser.FindAllByProperties(ProjectUser.Prop_ProjectId, shoukuanEnt.ProjectId, ProjectUser.Prop_UserId, tEnt.Id); dr[shoukuanEnt.Id + "@A"] = puEnts.Count > 0 ? "√" : ""; dr[shoukuanEnt.Id + "@B"] = cjdEnts.Count > 0 ? cjdEnts[0].ChouJinPercent : null; dr[shoukuanEnt.Id + "@C"] = cjdEnts.Count > 0 ? cjdEnts[0].ChouJinAmount : null; } dt2.Rows.Add(dr); } Response.Write("{success:true,rows:" + JsonHelper.GetJsonStringFromDataTable(dt2) + "}"); Response.End(); break; case "savechoujindetail": cjdEnts = ChouJinDetail.FindAllByProperties(ChouJinDetail.Prop_ChouJinId, id, ChouJinDetail.Prop_ExpertId, Request["expertid"], ChouJinDetail.Prop_ShouKuanId, Request["shoukuanid"]); if (cjdEnts.Count == 0) { if (Convert.ToDecimal(Request["choujinpercent"]) > 0) { cjdEnt = new ChouJinDetail(); cjdEnt.ChouJinId = id; cjdEnt.ExpertId = Request["expertid"]; cjdEnt.UserName = Request["username"]; cjdEnt.ShouKuanId = Request["shoukuanid"]; cjdEnt.ChouJinPercent = Convert.ToDecimal(Request["choujinpercent"]); cjdEnt.ChouJinAmount = Convert.ToDecimal(Request["choujinamount"]); cjdEnt.IfCanYu = Request["ifcanyu"]; cjdEnt.DoCreate(); //酬金明细保存后,同时更新酬金结果 、收款记录的已分百分比 skEnt = ShouKuan.Find(Request["shoukuanid"]); skEnt.YiFenPercent = Convert.ToDecimal(Request["yifenpercent"]); skEnt.DoUpdate(); } } else { if (Convert.ToDecimal(Request["choujinpercent"]) > 0) { cjdEnt = cjdEnts[0]; cjdEnt.ChouJinPercent = Convert.ToDecimal(Request["choujinpercent"]); cjdEnt.ChouJinAmount = Convert.ToDecimal(Request["choujinamount"]); cjdEnt.IfCanYu = Request["ifcanyu"]; cjdEnt.DoUpdate(); skEnt = ShouKuan.Find(Request["shoukuanid"]); skEnt.YiFenPercent = Convert.ToDecimal(Request["yifenpercent"]); skEnt.DoUpdate(); } else { cjdEnts[0].DoDelete(); } } cjrEnts = ChouJinResult.FindAllByProperties(ChouJinResult.Prop_ExpertId, Request["expertid"], ChouJinResult.Prop_ChouJinId, id); if (cjrEnts.Count == 0) { cjrEnt = new ChouJinResult(); cjrEnt.ExpertId = Request["expertid"]; cjrEnt.UserName = Request["username"]; cjrEnt.ChouJinId = id; cjrEnt.StageAmount = Convert.ToDecimal(Request["stageamount"]); cjrEnt.DoCreate(); } else { if (Convert.ToDecimal(Request["stageamount"]) > 0) { cjrEnt = cjrEnts[0]; cjrEnt.StageAmount = Convert.ToDecimal(Request["stageamount"]); cjrEnt.DoUpdate(); } else { cjrEnts[0].DoDelete(); } } break; case "loadchoujinresult": //默认调整金额==分配金额 sql = @"select a.Id as ExpertId,a.UserName,b.Remark,b.StageAmount,isnull(AdjustAmount,StageAmount) AdjustAmount from NCRL_SP..Expert a left join (select * from NCRL_SP..ChouJinResult where ChouJinId='{0}') b on a.Id=b.ExpertId"; sql = string.Format(sql, id); dt = DataHelper.QueryDataTable(sql); cjEnt = ChouJin.Find(id); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + ",title:'" + cjEnt.BelongYear + "年" + cjEnt.BelongMonth + "月专家酬金'}"); Response.End(); break; case "adjustresult": cjrEnts = ChouJinResult.FindAllByProperties(ChouJinResult.Prop_ChouJinId, id, ChouJinResult.Prop_ExpertId, Request["expertid"]); if (cjrEnts.Count == 0) { cjrEnt = new ChouJinResult(); cjrEnt.ExpertId = Request["expertid"]; cjrEnt.UserName = Request["username"]; cjrEnt.ChouJinId = id; cjrEnt.AdjustAmount = Convert.ToDecimal(Request["adjustamount"]); cjrEnt.Remark = Request["remark"]; cjrEnt.DoCreate(); } else { cjrEnt = cjrEnts[0]; cjrEnt.AdjustAmount = Convert.ToDecimal(Request["adjustamount"]); cjrEnt.Remark = Request["remark"]; cjrEnt.DoUpdate(); } break; case "loadshoukuan_unfenpei": sql = @"select a.Id,a.ProjectId,a.InvoiceId,a.ShouKuanAmount,a.ShouKuanDate,a.ShiJiShouFei, a.YiFenPercent,a.ChouJinAmount,b.ProjectName,c.InvoiceNo from NCRL_SP..ShouKuan a left join NCRL_SP..Project b on a.ProjectId=b.Id left join NCRL_SP..Invoice c on a.InvoiceId=c.Id where isnull(ChouJinId,'')='' order by a.ShouKuanDate asc"; dt = DataHelper.QueryDataTable(sql); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}"); Response.End(); break; } }