protected override void BeforeSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew) { var entity = this.GetEntityByID(dic["ID"]); if (entity == null) { entity = new T_SC_MixProjectScheme(); } var sublist = JsonHelper.ToList(dic.GetValue("SubProjectList")); if (dic.ContainsKey("SubProjectList")) { foreach (var item in sublist) { if (String.IsNullOrEmpty(item.GetValue("Code"))) { item.SetValue("Code", FormulaHelper.CreateGuid()); } } dic.SetValue("SubProjectList", JsonHelper.ToJson(sublist)); } this.UpdateEntity(entity, dic); #region 临时模式根据模式结构校验子项 var projectInfo = this.GetEntityByID <S_I_ProjectInfo>(dic.GetValue("ProjectInfoID")); if (projectInfo.ProjectMode.ExtentionObject.GetValue("Ext_TemporaryMode") == TrueOrFalse.True.ToString()) { var ignorKeys = new string[] { "CreateUserID", "CreateUser", "CreateDate", "State", "Major" }; var schemeDic = new Dictionary <string, string>(dic); schemeDic.RemoveWhere(a => ignorKeys.Contains(a.Key)); projectInfo.ValidateMode(schemeDic, sublist.Count > 0); } #endregion #region 校验整体专业 #region 校验成果 string sql = @"select distinct MajorValue, S_W_WBS.Name MajorName from S_E_Product p left join S_W_WBS on p.WBSID = S_W_WBS.ID where p.ProjectInfoID='{0}' and MajorValue not in ('{1}')"; sql = string.Format(sql, entity.ProjectInfoID, entity.Major.Replace(",", "','")); var dt = this.ProjectSQLDB.ExecuteDataTable(sql); if (dt.Rows.Count > 0) { var msgMajor = ""; foreach (DataRow item in dt.Rows) { msgMajor += item["MajorName"].ToString() + ","; } throw new Formula.Exceptions.BusinessException("专业【" + msgMajor.TrimEnd(',') + "】已经上传了设计成果,必须选中。"); } #endregion #region 校验提资单 var sqlPutInfo = @"select distinct OutMajorValue, S_W_WBS.Name MajorName from T_EXE_MajorPutInfo p left join S_W_WBS on p.WBSID = S_W_WBS.ParentID and p.OutMajorValue = S_W_WBS.WBSValue where p.ProjectInfoID='{0}' and OutMajorValue not in ('{1}')"; sqlPutInfo = string.Format(sqlPutInfo, entity.ProjectInfoID, entity.Major.Replace(",", "','")); var dtPutInfo = this.ProjectSQLDB.ExecuteDataTable(sqlPutInfo); if (dtPutInfo.Rows.Count > 0) { var msgMajor = ""; foreach (DataRow item in dtPutInfo.Rows) { msgMajor += item["MajorName"].ToString() + ","; } throw new Formula.Exceptions.BusinessException("专业【" + msgMajor.TrimEnd(',') + "】发起过提资,必须选中。"); } #endregion #region 校验共享区 var sqlShareInfo = @"select distinct p.WBSValue, S_W_WBS.Name MajorName from S_D_ShareInfo p left join S_W_WBS on p.SubProjectWBSID = S_W_WBS.ParentID and p.WBSValue = S_W_WBS.WBSValue where p.ProjectInfoID='{0}' and p.WBSValue not in ('{1}')"; sqlShareInfo = string.Format(sqlShareInfo, entity.ProjectInfoID, entity.Major.Replace(",", "','")); var dtShareInfo = this.ProjectSQLDB.ExecuteDataTable(sqlShareInfo); if (dtShareInfo.Rows.Count > 0) { var msgMajor = ""; foreach (DataRow item in dtShareInfo.Rows) { msgMajor += item["MajorName"].ToString() + ","; } throw new Formula.Exceptions.BusinessException("专业【" + msgMajor.TrimEnd(',') + "】拥有共享区文件,必须选中。"); } #endregion #region 校验专业里程碑 string finishState = ProjectCommoneState.Finish.ToString(); var finishMileStones = this.BusinessEntities.Set <S_P_MileStone>().Where(a => a.ProjectInfoID == entity.ProjectInfoID && a.State == finishState).ToList(); List <string> msgMileStoneMajor = new List <string>(); foreach (var item in finishMileStones) { if (string.IsNullOrEmpty(item.MajorValue) && string.IsNullOrEmpty(item.OutMajorValue)) { continue; } if (!entity.Major.Split(',').Contains(item.MajorValue)) { if (!msgMileStoneMajor.Contains(item.MajorValue)) { msgMileStoneMajor.Add(item.MajorValue); } } if (!string.IsNullOrEmpty(item.OutMajorValue)) { foreach (var _oMajorValue in item.OutMajorValue.Split(',')) { if (string.IsNullOrEmpty(_oMajorValue)) { continue; } if (!entity.Major.Split(',').Contains(_oMajorValue)) { if (!msgMileStoneMajor.Contains(_oMajorValue)) { msgMileStoneMajor.Add(_oMajorValue); } } } } } if (msgMileStoneMajor.Count > 0) { var enmDef = EnumBaseHelper.GetEnumDef("Project.Major"); throw new Formula.Exceptions.BusinessException("专业【" + String.Join(",", enmDef.EnumItem.Where(d => msgMileStoneMajor.Contains(d.Code)).Select(d => d.Name)) + "】已经有相关里程碑完成,必须选中。"); } #endregion #endregion #region 校验子项 var newsubid = sublist.Select(t => t.GetValue("Code")); var enumSubProject = WBSNodeType.SubProject.ToString(); var wbsList = this.BusinessEntities.Set <S_W_WBS>().Where(a => a.ProjectInfoID == entity.ProjectInfoID).ToList(); var subWBSList = wbsList.Where(a => a.WBSType == enumSubProject).ToList(); #region 校验成果 subWBSList .Where(w => !newsubid.Contains(w.WBSValue)) .ToList() .ForEach(t => { if (t.HasProducts()) { throw new Formula.Exceptions.BusinessException("子项【" + t.Name + "】已经有成果图纸,不能删除。"); } }); #endregion var WBSIDList = wbsList.Where(a => newsubid.Contains(a.WBSValue)).Select(a => a.ID).ToList(); #region 校验提资单 var putInfoList = BusinessEntities.Set <T_EXE_MajorPutInfo>().Where(a => a.ProjectInfoID == entity.ProjectInfoID).ToList(); var hasPutInfo = putInfoList.Where(a => !WBSIDList.Contains(a.WBSID)).ToList(); if (hasPutInfo.Count > 0) { var name = ""; for (int i = 0; i < hasPutInfo.Count; i++) { var pInfo = hasPutInfo[i]; if (!string.IsNullOrEmpty(pInfo.WBSID)) { var _wbs = wbsList.FirstOrDefault(a => a.ID == pInfo.WBSID); if (_wbs != null) { var subNode = subWBSList.FirstOrDefault(a => _wbs.FullID.Split('.').Contains(a.ID)); if (subNode != null) { name += subNode.Name + ","; } } } } throw new Formula.Exceptions.BusinessException("子项【" + name.TrimEnd(',') + "】发起过提资,不能删除。"); } #endregion #region 校验共享区 var shareInfoList = BusinessEntities.Set <S_D_ShareInfo>().Where(a => a.ProjectInfoID == entity.ProjectInfoID).ToList(); var hasShareInfo = shareInfoList.Where(a => !WBSIDList.Contains(a.SubProjectWBSID)).ToList(); if (hasShareInfo.Count > 0) { var name = ""; for (int i = 0; i < hasShareInfo.Count; i++) { var sInfo = hasShareInfo[i]; if (!string.IsNullOrEmpty(sInfo.SubProjectWBSID)) { var _wbs = wbsList.FirstOrDefault(a => a.ID == sInfo.SubProjectWBSID); if (_wbs != null) { var subNode = subWBSList.FirstOrDefault(a => _wbs.FullID.Split('.').Contains(a.ID)); if (subNode != null) { name += subNode.Name + ","; } } } } throw new Formula.Exceptions.BusinessException("子项【" + name.TrimEnd(',') + "】拥有共享区文件,不能删除。"); } #endregion #endregion #region 校验子项下的专业 foreach (var subProject in sublist) { if (!String.IsNullOrEmpty(subProject.GetValue("RBSJson"))) { var rbsList = JsonHelper.ToList(subProject.GetValue("RBSJson")); var subProjectWBSValue = subProject.GetValue("Code"); var subProjectWBSNode = wbsList.FirstOrDefault(a => a.WBSValue == subProjectWBSValue); if (subProjectWBSNode == null) { continue; } foreach (var majorNode in rbsList) { if (majorNode.GetValue("Valid") == "0") { var code = majorNode.GetValue("MajorCode"); #region 校验成果 wbsList .Where(w => w.ParentID == subProjectWBSNode.ID && w.WBSValue == code) .ToList().ForEach(t => { if (t.HasProducts()) { throw new Formula.Exceptions.BusinessException("子项【" + subProject.GetValue("Name") + "】下的专业【" + t.Name + "】已经有成果图纸,不能删除。"); } }); #endregion #region 校验提资单 var hasPutInfo2 = putInfoList.Where(a => a.WBSID == subProjectWBSNode.ID && a.OutMajorValue == code).ToList(); if (hasPutInfo2.Count > 0) { throw new Formula.Exceptions.BusinessException("子项【" + subProject.GetValue("Name") + "】下的专业【" + majorNode.GetValue("MajorName") + "】发起过提资,不能删除。"); } #endregion #region 校验共享区 var hasShareInfo2 = shareInfoList.Where(a => a.SubProjectWBSID == subProjectWBSNode.ID && a.WBSValue == code).ToList(); if (hasShareInfo2.Count > 0) { throw new Formula.Exceptions.BusinessException("子项【" + subProject.GetValue("Name") + "】下的专业【" + majorNode.GetValue("MajorName") + "】拥有共享区文件,不能删除。"); } #endregion } } } } #endregion #region 校验里程碑编号 var db = SQLHelper.CreateSqlHelper(ConnEnum.InfrasBaseConfig); sql = @"select ID,MileStoneName,MileStoneCode,MileStoneType,Weight,SortIndex,OutMajors,InMajors,PhaseValue from dbo.S_T_MileStone where ModeID in (select ID from S_T_ProjectMode where ModeCode='{0}') and ProjectClass like '%{1}%' {2} order by SortIndex "; var phaseStr = string.Empty; foreach (var item in projectInfo.PhaseValue.Split(',')) { phaseStr += ("or PhaseValue like '%" + item + "%' "); } phaseStr = " and (" + phaseStr.TrimStart('o', 'r') + ")"; var templateDt = db.ExecuteDataTable(String.Format(sql, projectInfo.ModeCode, projectInfo.ProjectClass, phaseStr)); //当前端去掉专业,再次勾选专业后,对应的里程碑编号会为空 var msList = JsonHelper.ToList(dic.GetValue("MileStoneList")); foreach (var milestone in msList) { if (string.IsNullOrEmpty(milestone.GetValue("Code"))) { DataRow tmpRow = null; var tmpid = milestone.GetValue("TemplateID"); if (!string.IsNullOrEmpty(tmpid) && templateDt.Select("ID='" + tmpid + "'").Length > 0) { tmpRow = templateDt.Select("ID='" + tmpid + "'")[0]; } else { var msName = milestone.GetValue("Name"); if (!string.IsNullOrEmpty(msName) && templateDt.Select("MileStoneName='" + msName + "'").Length > 0) { tmpRow = templateDt.Select("MileStoneName='" + msName + "'")[0]; } } if (tmpRow != null) { var msType = milestone.GetValue("MileStoneType"); string code = tmpRow["MileStoneName"].ToString() + "." + projectInfo.ID + "." + projectInfo.PhaseValue + "." + tmpRow["MileStoneType"].ToString(); if (msType == MileStoneType.Major.ToString()) { code = tmpRow["MileStoneName"].ToString() + "." + projectInfo.ID + "." + projectInfo.PhaseValue + "." + milestone.GetValue("Major") + "." + tmpRow["MileStoneType"].ToString(); } else if (msType == MileStoneType.Cooperation.ToString()) { code = tmpRow["MileStoneName"].ToString() + "." + projectInfo.ID + "." + projectInfo.PhaseValue + "." + milestone.GetValue("Major") + "." + tmpRow["MileStoneType"].ToString(); } milestone.SetValue("Code", code); } else { milestone.SetValue("Code", milestone.GetValue("Name") + "." + projectInfo.ID + "." + projectInfo.PhaseValue + "." + milestone.GetValue("Major")); } } } dic.SetValue("MileStoneList", JsonHelper.ToJson <List <Dictionary <string, object> > >(msList)); #endregion }
// // GET: /OfficeAuto/AutoForm/LogisticsOfficeApply/ protected override void OnFlowEnd(T_Logistics_OfficeApply entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing) { var dept = entity.ApplyDept; var deptName = entity.ApplyDeptName; var type = entity.ApplyType; if (type == "Add") { var office = entity.NewOfficeName; var officeEntity = BusinessEntities.Set <T_Logistics_Office>().Find(office); if (officeEntity != null) { officeEntity.CurrentUseDept = dept; officeEntity.CurrentUseDeptName = deptName; officeEntity.UseStatus = "Use"; //新增记录 var record = new S_E_Logistics_OfficeRecord() { ID = FormulaHelper.CreateGuid(), CreateDate = DateTime.Now, CreateUser = CurrentUserInfo.UserName, CreateUserID = CurrentUserInfo.UserID, CompanyID = CurrentUserInfo.UserCompanyID, OrgID = CurrentUserInfo.UserOrgID, Dept = dept, DeptName = deptName, Office = officeEntity.ID, OfficeName = officeEntity.Name, Pos = officeEntity.Pos, PosName = officeEntity.PosName, Area = officeEntity.Area, Number = officeEntity.Number, StartDate = entity.StartDate }; BusinessEntities.Set <S_E_Logistics_OfficeRecord>().Add(record); BusinessEntities.SaveChanges(); } } if (type == "Back") { var office = entity.BackOfficeName; var officeEntity = BusinessEntities.Set <T_Logistics_Office>().Find(office); if (officeEntity != null) { officeEntity.CurrentUseDept = string.Empty; officeEntity.CurrentUseDeptName = string.Empty; officeEntity.UseStatus = "NoUse"; var record = BusinessEntities.Set <S_E_Logistics_OfficeRecord>().Where(p => p.Dept == dept && p.EndDate == null && p.Office == officeEntity.ID).FirstOrDefault(); record.EndDate = entity.BackDate; BusinessEntities.SaveChanges(); } } if (type == "Change") { var oldOffice = entity.Change_OldOfficeName; var newOffice = entity.Change_NewOfficeName; //退 var oldEntity = BusinessEntities.Set <T_Logistics_Office>().Find(oldOffice); if (oldEntity != null) { oldEntity.CurrentUseDept = string.Empty; oldEntity.CurrentUseDeptName = string.Empty; oldEntity.UseStatus = "NoUse"; var record = BusinessEntities.Set <S_E_Logistics_OfficeRecord>().Where(p => p.Dept == dept && p.EndDate == null && p.Office == oldEntity.ID).FirstOrDefault(); record.EndDate = entity.BackDate; } //增 var newEntity = BusinessEntities.Set <T_Logistics_Office>().Find(newOffice); if (newEntity != null) { newEntity.CurrentUseDept = dept; newEntity.CurrentUseDeptName = deptName; newEntity.UseStatus = "Use"; //新增记录 var record = new S_E_Logistics_OfficeRecord() { ID = FormulaHelper.CreateGuid(), CreateDate = DateTime.Now, CreateUser = CurrentUserInfo.UserName, CreateUserID = CurrentUserInfo.UserID, OrgID = CurrentUserInfo.UserOrgID, Dept = dept, DeptName = deptName, Office = newEntity.ID, OfficeName = newEntity.Name, Pos = newEntity.Pos, PosName = newEntity.PosName, Area = newEntity.Area, Number = newEntity.Number, StartDate = entity.StartDate }; BusinessEntities.Set <S_E_Logistics_OfficeRecord>().Add(record); } BusinessEntities.SaveChanges(); } }
protected override void OnFlowEnd(T_WorkClothes_ManageReceive entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing) { if (entity != null) { //流程结束之后更新库存数量 var lstDetail = BusinessEntities.Set <T_WorkClothes_ManageReceive_ReceiveDetail>().Where(x => x.T_WorkClothes_ManageReceiveID == entity.ID).ToList(); var stock = BusinessEntities.Set <T_WorkClothes_Stock>().FirstOrDefault(); var lstStockDetail = BusinessEntities.Set <T_WorkClothes_Stock_ClothesDetail>().Where(x => x.T_WorkClothes_StockID == stock.ID).ToList(); if (entity.Location == "天津") { lstDetail.ForEach(x => { var detailModel = lstStockDetail.FirstOrDefault(s => s.Location == "天津" && s.Category == x.Category); if (detailModel == null) { //工装申领理论上库存表一定存在 BusinessEntities.Set <T_WorkClothes_Stock_ClothesDetail>().Add(new T_WorkClothes_Stock_ClothesDetail { Category = x.Category, Location = "天津", Size155Quantity = Convert.ToInt32(x.Size155Quantity).ToString(), Size160Quantity = Convert.ToInt32(x.Size160Quantity).ToString(), Size165Quantity = Convert.ToInt32(x.Size165Quantity).ToString(), Size170Quantity = Convert.ToInt32(x.Size170Quantity).ToString(), Size175Quantity = Convert.ToInt32(x.Size175Quantity).ToString(), Size180Quantity = Convert.ToInt32(x.Size180Quantity).ToString(), Size185Quantity = Convert.ToInt32(x.Size185Quantity).ToString(), TotalQuantity = Convert.ToInt32(x.TotalQuantity).ToString(), T_WorkClothes_StockID = stock.ID, ID = Formula.FormulaHelper.CreateGuid() }); } else { //减少库存 detailModel.Size155Quantity = (Convert.ToInt32(detailModel.Size155Quantity) - Convert.ToInt32(x.Size155Quantity)).ToString(); detailModel.Size160Quantity = (Convert.ToInt32(detailModel.Size160Quantity) - Convert.ToInt32(x.Size160Quantity)).ToString(); detailModel.Size165Quantity = (Convert.ToInt32(detailModel.Size165Quantity) - Convert.ToInt32(x.Size165Quantity)).ToString(); detailModel.Size170Quantity = (Convert.ToInt32(detailModel.Size170Quantity) - Convert.ToInt32(x.Size170Quantity)).ToString(); detailModel.Size175Quantity = (Convert.ToInt32(detailModel.Size175Quantity) - Convert.ToInt32(x.Size175Quantity)).ToString(); detailModel.Size180Quantity = (Convert.ToInt32(detailModel.Size180Quantity) - Convert.ToInt32(x.Size180Quantity)).ToString(); detailModel.Size185Quantity = (Convert.ToInt32(detailModel.Size185Quantity) - Convert.ToInt32(x.Size185Quantity)).ToString(); detailModel.TotalQuantity = (Convert.ToInt32(detailModel.TotalQuantity) - Convert.ToInt32(x.TotalQuantity)).ToString(); } }); } if (entity.Location == "洛阳") { lstDetail.ForEach(x => { var detailModel = lstStockDetail.FirstOrDefault(s => s.Location == "洛阳" && s.Category == x.Category); if (detailModel == null) { //工装申领理论上库存表一定存在 BusinessEntities.Set <T_WorkClothes_Stock_ClothesDetail>().Add(new T_WorkClothes_Stock_ClothesDetail { Category = x.Category, Location = "洛阳", Size155Quantity = Convert.ToInt32(x.Size155Quantity).ToString(), Size160Quantity = Convert.ToInt32(x.Size160Quantity).ToString(), Size165Quantity = Convert.ToInt32(x.Size165Quantity).ToString(), Size170Quantity = Convert.ToInt32(x.Size170Quantity).ToString(), Size175Quantity = Convert.ToInt32(x.Size175Quantity).ToString(), Size180Quantity = Convert.ToInt32(x.Size180Quantity).ToString(), Size185Quantity = Convert.ToInt32(x.Size185Quantity).ToString(), TotalQuantity = Convert.ToInt32(x.TotalQuantity).ToString(), T_WorkClothes_StockID = stock.ID, ID = Formula.FormulaHelper.CreateGuid() }); } else { //减少库存 detailModel.Size155Quantity = (Convert.ToInt32(detailModel.Size155Quantity) - Convert.ToInt32(x.Size155Quantity)).ToString(); detailModel.Size160Quantity = (Convert.ToInt32(detailModel.Size160Quantity) - Convert.ToInt32(x.Size160Quantity)).ToString(); detailModel.Size165Quantity = (Convert.ToInt32(detailModel.Size165Quantity) - Convert.ToInt32(x.Size165Quantity)).ToString(); detailModel.Size170Quantity = (Convert.ToInt32(detailModel.Size170Quantity) - Convert.ToInt32(x.Size170Quantity)).ToString(); detailModel.Size175Quantity = (Convert.ToInt32(detailModel.Size175Quantity) - Convert.ToInt32(x.Size175Quantity)).ToString(); detailModel.Size180Quantity = (Convert.ToInt32(detailModel.Size180Quantity) - Convert.ToInt32(x.Size180Quantity)).ToString(); detailModel.Size185Quantity = (Convert.ToInt32(detailModel.Size185Quantity) - Convert.ToInt32(x.Size185Quantity)).ToString(); detailModel.TotalQuantity = (Convert.ToInt32(detailModel.TotalQuantity) - Convert.ToInt32(x.TotalQuantity)).ToString(); } }); } BusinessEntities.SaveChanges(); } base.OnFlowEnd(entity, taskExec, routing); }
protected override void OnFlowEnd(T_Trainmanagement_Depttrainresults entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing) { if (entity == null) { return; } //更新人力下达给部门培训任务的信息 var task = BusinessEntities.Set <S_Train_DeptTask>().FirstOrDefault(p => p.Dept == entity.Udertakedept && p.Trainyears == entity.Trainyears); if (task == null) { return; } if (entity.Planornot == "True") { task.SubmitInPlanHours += 1; } else { task.SubmitOutPlanCount += 1; } if (string.IsNullOrEmpty(entity.Trainproject)) { return; } var deptPlan = BusinessEntities.Set <S_Train_DeptPlan>().Find(entity.Trainproject); if (deptPlan == null) { //生成计划外培训数据 deptPlan = new S_Train_DeptPlan(); deptPlan.ID = Formula.FormulaHelper.CreateGuid(); deptPlan.Trainyears = entity.Trainyears; deptPlan.Trainperson = entity.Fillname; deptPlan.TrainpersonName = entity.FillnameName; deptPlan.Trainproject = entity.TrainprojectName; deptPlan.InOrOut = "Out";//计划外 deptPlan.Putdept = entity.Udertakedept; deptPlan.PutdeptName = entity.UdertakedeptName; BusinessEntities.Set <S_Train_DeptPlan>().Add(deptPlan); entity.Trainproject = deptPlan.ID; } //累计学时 if (deptPlan.UseWorkTime == null) { deptPlan.UseWorkTime = 0; } //进度=100 标记为完成 if (entity.Progress == 100) { deptPlan.IsComplete = "True"; } deptPlan.UseWorkTime += entity.Trainhours; BusinessEntities.SaveChanges(); }
/// <summary> /// 获取付款计划 /// </summary> /// <returns></returns> public JsonResult GetPaymentPlan() { var id = GetQueryString("ContractID"); return(Json(BusinessEntities.Set <T_Technology_ContractApproval_PaymentPlan>().Where(x => x.T_Technology_ContractApprovalID == id).ToList())); }
// GET: /AutoForm/Recruitment_Temporaryrecruitmentapply/ protected override void OnFlowEnd(T_Recruitment_Temporaryrecruitmentapply entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing) { //写入到核心表中 var year = entity.year; var type = entity.Recruitmenttype; var id = entity.ID; var currentUser = FormulaHelper.GetUserInfo(); if (type == "校招") { var xz = BusinessEntities.Set <T_Recruitment_Temporaryrecruitmentapply_Schoolrecruitmentdemandplan>().Where(p => p.T_Recruitment_TemporaryrecruitmentapplyID == id); foreach (var item in xz) { var sentity = new S_E_Recruitment_DeptRequirementReport() { ID = FormulaHelper.CreateGuid(), Major = item.Major, Year = year, Dept = entity.Needdepartment, Recruitment_DeptRequirementReportID = id, Number = item.Number, CreateUserID = currentUser.UserID, CreateUser = currentUser.UserName, CreateDate = DateTime.Now, DeptName = entity.NeeddepartmentName, Type = "Temp", }; BusinessEntities.Set <S_E_Recruitment_DeptRequirementReport>().Add(sentity); } BusinessEntities.SaveChanges(); } if (type == "社会招聘") { var sz = BusinessEntities.Set <T_Recruitment_Temporaryrecruitmentapply_Socialrecruitmentdemandplan>().Where(p => p.T_Recruitment_TemporaryrecruitmentapplyID == id); foreach (var item in sz) { var sentity = new S_E_Recruitment_DeptRequirementReport_SZRCXQJH() { ID = FormulaHelper.CreateGuid(), PostName = item.PostName, Major = item.Mjor, Number = item.Number, Responsibilities = item.Responsibilities, Qualification = item.Qualification, SalaryRange = item.SalaryRange, TargetUnit = item.TargetUnit, TargetUnitName = item.TargetUnitName, Remarks = item.Remarks, T_Recruitment_DeptRequirementReportID = id, CreateUserID = currentUser.UserID, CreateUser = currentUser.UserName, CreateDate = DateTime.Now, Dept = entity.Needdepartment, DeptName = entity.NeeddepartmentName, Year = year, Type = "Temp" }; BusinessEntities.Set <S_E_Recruitment_DeptRequirementReport_SZRCXQJH>().Add(sentity); } } }
/// <summary> /// 获取所有报奖项目不含当前专家所在部门 /// </summary> /// <returns></returns> public JsonResult GetAwardItems() { return(Json(BusinessEntities.Set <T_Win_DeclareManager>().Where(x => x.FlowPhase == "End" && x.CreateUserID != CurrentUserInfo.UserID).ToList())); }
// GET: /AutoForm/EmployeeSocialstaffassessment/ public JsonResult GetDirector(string UserID, string DeptID) { var Employee = BusinessEntities.Set <T_Employee>().Where(c => c.UserID == UserID).FirstOrDefault(); if (Employee == null) { throw new BusinessException("员工不存在!"); } var dic = new Dictionary <string, string>(); var ApplyUser = UserID; var ApplyDept = DeptID; var sql = "select Character from S_A_Org where ID='" + ApplyDept + "'"; var BasesqlDB = SQLHelper.CreateSqlHelper(ConnEnum.Base); var orgDt = BasesqlDB.ExecuteDataTable(sql); var Character = orgDt.Rows[0]["Character"].ToString(); if (Character == "二级部门") {//如果当前人的党群部门是二级部门则送所长,如果当前人是所长送部门正职 var RoleSql = "select UserID from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID where a.Code='所级正职领导' and b.orgID='" + ApplyDept + "' "; var RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { var userID = RoleDt.Rows[0]["UserID"].ToString(); if (userID != ApplyUser) { dic.SetValue("Director", userID); } RoleSql = @"select * from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID inner join (select ParentID from S_A_Org where ID='" + ApplyDept + @"' ) c on c.ParentID=b.orgID where a.Code='部门正职' "; RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { dic.SetValue("Director", RoleDt.Rows[0]["UserID"].ToString()); } } } else { var RoleSql = "select UserID from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID where a.Code='部门正职' and b.orgID='" + ApplyDept + "' "; var RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { var userID = RoleDt.Rows[0]["UserID"].ToString(); if (userID != ApplyUser) { dic.SetValue("Director", userID); } else { RoleSql = "select UserID from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID where a.Code='上级主管领导' and b.orgID='" + ApplyDept + "' "; RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { userID = RoleDt.Rows[0]["UserID"].ToString(); dic.SetValue("Director", userID); } } } } var nameSql = "select Name from S_A_User where id = '" + dic.GetValue("Director") + "'"; var nameDt = BasesqlDB.ExecuteDataTable(nameSql); var directorName = ""; if (nameDt.Rows.Count > 0) { directorName = nameDt.Rows[0]["Name"].ToString(); } dic.SetValue("DirectorName", directorName); return(Json(dic)); }
/// <summary> /// 获取标准化管理版本号 /// </summary> /// <returns></returns> public JsonResult GetStandardVersion() { return(Json(new { Count = BusinessEntities.Set <T_Standardengineer_Standardpeoplemanage>().Count() })); }
//获取报奖项目总数 public JsonResult GetAwardItemCount() { return(Json(new { Count = BusinessEntities.Set <T_Win_AwardItem>().Count() })); }
public JsonResult GetUserInfo() { var UserID = GetQueryString("UserID"); var Employee = BusinessEntities.Set <T_Employee>().Where(c => c.UserID == UserID).FirstOrDefault(); if (Employee == null) { throw new BusinessException("员工不存在!"); } var dic = new Dictionary <string, string>(); dic.SetValue("Number", Employee.Code); dic.SetValue("ApplyDept", Employee.DeptID); dic.SetValue("ApplyDeptName", Employee.DeptIDName); dic.SetValue("Counterfeitdecoy", Employee.Name); var Vacationdays = "0"; var sql = "select sum(Actualdays) as Actualdays from T_AttendanceLeaveApply where FlowPhase='End' and year(StartDate)=year(getdate()) and ApplyUser='******'"; var dt = HRSQLDB.ExecuteDataTable(sql); if (dt.Rows.Count > 0) { Vacationdays = dt.Rows[0]["Actualdays"].ToString(); } dic.SetValue("Vacationdays", Vacationdays); dic.SetValue("Workingyears", Employee.Lengthofservice); var ApplyUser = UserID; var ApplyDept = Employee.DeptID; sql = "select Character from S_A_Org where ID='" + ApplyDept + "'"; var BasesqlDB = SQLHelper.CreateSqlHelper(ConnEnum.Base); var orgDt = BasesqlDB.ExecuteDataTable(sql); dic.SetValue("IsPrincipal", "0"); var Character = orgDt.Rows[0]["Character"].ToString(); if (Character == "二级部门") {//如果当前人的党群部门是二级部门则送所长,如果当前人是所长送部门正职 var RoleSql = "select UserID from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID where a.Code='所级正职领导' and b.orgID='" + ApplyDept + "' "; var RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { var userID = RoleDt.Rows[0]["UserID"].ToString(); if (userID != ApplyUser) { dic.SetValue("Director", userID); } RoleSql = @"select * from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID inner join (select ParentID from S_A_Org where ID='" + ApplyDept + @"' ) c on c.ParentID=b.orgID where a.Code='部门正职' "; RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { dic.SetValue("Principal", RoleDt.Rows[0]["UserID"].ToString()); } } } else { var RoleSql = "select UserID from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID where a.Code='部门正职' and b.orgID='" + ApplyDept + "' "; var RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { var userID = RoleDt.Rows[0]["UserID"].ToString(); if (userID != ApplyUser) { dic.SetValue("Principal", userID); } else { RoleSql = "select UserID from S_A_Role a inner join S_A__OrgRoleUser b on a.ID=b.RoleID where a.Code='上级主管领导' and b.orgID='" + ApplyDept + "' "; RoleDt = BasesqlDB.ExecuteDataTable(RoleSql); if (RoleDt.Rows.Count > 0) { userID = RoleDt.Rows[0]["UserID"].ToString(); dic.SetValue("Principal", userID); dic.SetValue("IsPrincipal", "1"); } } } } return(Json(dic)); }
protected override void BeforeSaveSubTable(Dictionary <string, string> dic, string subTableName, List <Dictionary <string, string> > detailList, Base.Logic.Domain.S_UI_Form formInfo) { if (SysParams.Params.GetValue("SubContractConfirmMethod") == "PaymentConfirm" && subTableName == "CostInfo")//委外付款确认 { var costValue = 0m; var contractValue = 0m; foreach (var item in detailList) { costValue = 0m; decimal.TryParse(item.GetValue("CostValue"), out costValue); if (costValue <= 0) { throw new Formula.Exceptions.BusinessValidationException("【付款金额】必须大于0!"); } contractValue = 0m; decimal.TryParse(item.GetValue("ContractValue"), out contractValue); if (costValue > contractValue) { throw new Formula.Exceptions.BusinessValidationException("【付款金额】不能超过【合同金额】"); } } } if (subTableName == "InvoiceRelation") { var sumRelation = 0M; var ApplyValue = String.IsNullOrEmpty(dic.GetValue("ApplyValue")) ? 0m : Convert.ToDecimal(dic.GetValue("ApplyValue")); foreach (var item in detailList) { var relationValue = String.IsNullOrEmpty(item.GetValue("RelationValue")) ? 0m : Convert.ToDecimal(item.GetValue("RelationValue")); sumRelation += relationValue; var remainRelationValue = String.IsNullOrEmpty(item.GetValue("RemainInvoiceValue")) ? 0m : Convert.ToDecimal(item.GetValue("RemainInvoiceValue")); if (relationValue > remainRelationValue) { throw new Formula.Exceptions.BusinessValidationException("本次对应金额【" + relationValue + "】不能大于可对应金额【" + remainRelationValue + "】"); } } if (sumRelation > ApplyValue) { throw new Formula.Exceptions.BusinessValidationException("对应的发票金额总和不能大于本次付款金额"); } } else if (subTableName == "AcceptanceBill") { var applyValue = String.IsNullOrEmpty(dic.GetValue("ApplyValue")) ? 0m : Convert.ToDecimal(dic.GetValue("ApplyValue")); var billValue = String.IsNullOrEmpty(dic.GetValue("BillValue")) ? 0m : Convert.ToDecimal(dic.GetValue("BillValue")); if (billValue > applyValue) { throw new Formula.Exceptions.BusinessValidationException("承兑汇票金额总和不能大于本次申请付款的金额"); } foreach (var detail in detailList) { string billID = detail.GetValue("AcceptanceBillID"); string spID = dic.GetValue("ID"); if (BusinessEntities.Set <T_SP_PaymentApply_AcceptanceBill>().Any(a => billID == a.AcceptanceBillID && a.T_SP_PaymentApplyID != spID)) { throw new Formula.Exceptions.BusinessValidationException("汇票号【" + detail.GetValue("SerialNumber") + "】已经被流程被其他支付申请流程占用"); } } } }
/// <summary> /// 获取标识入库列表 /// </summary> /// <returns></returns> public JsonResult GetDictList() { return(Json(BusinessEntities.Set <T_SceneMark_Dictionaries>().ToList().Select(x => new { Name = x.Name, Specifications = x.Specifications, Level = x.Level, UnitPrice = x.UnitPrice }))); }
// GET: /Lawsuit/LawsuitCaseInformation/ public JsonResult GetList(QueryBuilder qb) { var data = BusinessEntities.Set <T_Lawsuit_CaseInformation>().WhereToGridData(qb); return(Json(data)); }
/// <summary> /// 获取技术委员会主任信息 /// </summary> /// <returns></returns> public JsonResult GetTechnicalcommittee() { return(Json(BusinessEntities.Set <T_Technicalcommittee_Technicalperson>().Where(x => x.Position == "主任").Select(x => new { DeptID = x.ID, Dept = x.Dept, Name = x.NameName, ID = x.Name }))); }
public JsonResult GetDeptTaskInfoByDeptID(string DeptID, string Year) { var entity = BusinessEntities.Set <S_Train_DeptTask>().Where(p => p.Dept == DeptID && p.Trainyears == Year).OrderByDescending(o => o.Deadline).FirstOrDefault(); return(Json(entity)); }
protected override void BeforeSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew) { var list = new List <Dictionary <string, object> >(); var id = dic.GetValue("ID"); var normalValue = 0m; if (!string.IsNullOrEmpty(dic.GetValue("NormalValue"))) { normalValue = Convert.ToDecimal(dic.GetValue("NormalValue")); } var extraValue = 0m; if (!string.IsNullOrEmpty(dic.GetValue("AdditionalValue"))) { extraValue = Convert.ToDecimal(dic.GetValue("AdditionalValue")); } if ((normalValue == 0 && extraValue == 0)) { throw new Formula.Exceptions.BusinessException("每日工时不能为0"); } var user = FormulaHelper.GetUserInfoByID(dic.GetValue("UserID")); var employee = BusinessEntities.Set <T_Employee>().FirstOrDefault(d => d.UserID == user.UserID); var fo = FormulaHelper.CreateFO <WorkHourFO>(); //根据日期段判断 var startDate = dic.GetValue("WorkHourDateStart").Replace("T", " "); var endDate = dic.GetValue("WorkHourDateEnd").Replace("T", " "); var projectID = dic.GetValue("ProjectID"); var SubProjectCode = dic.GetValue("SubProjectCode"); var MajorCode = dic.GetValue("MajorCode"); var WorkContent = dic.GetValue("WorkContent"); var dateList = getWorkHourDate(startDate, endDate); //已存在工时数据 var userID = dic.GetValue("UserID"); var existList = this.BusinessEntities.Set <S_W_UserWorkHour>().Where(a => a.UserID == userID && dateList.Contains(a.WorkHourDate)).ToList(); foreach (var item in dateList) { var existNormalValue = existList.Where(a => a.WorkHourDate == item && (a.SupplementID != id || a.SupplementID == null)).Sum(a => a.NormalValue); var existExtraValue = existList.Where(a => a.WorkHourDate == item && (a.SupplementID != id || a.SupplementID == null)).Sum(a => a.AdditionalValue); if (!existNormalValue.HasValue) { existNormalValue = 0; } if (!existExtraValue.HasValue) { existExtraValue = 0; } //自动补全正班工日,加班工日不补全 var _normalValue = normalValue; if ((_normalValue + existNormalValue) > NormalHoursMax) { _normalValue = NormalHoursMax - existNormalValue.Value; } //throw new Formula.Exceptions.BusinessException("【" + item.ToShortDateString() + "】正常工时不能大于" + NormalHoursMax.ToString()); if ((extraValue + existExtraValue) > maxExtraHour) { throw new Formula.Exceptions.BusinessException("【" + item.ToShortDateString() + "】加班工时不能大于" + maxExtraHour.ToString()); } if ((_normalValue == 0 && extraValue == 0)) { continue; } var userWorkHour = existList.FirstOrDefault(d => d.SupplementID == id && d.UserID == user.UserID && d.WorkHourDate == item); if (userWorkHour == null || BusinessEntities.Entry <S_W_UserWorkHour>(userWorkHour).State == System.Data.EntityState.Deleted) { userWorkHour = BusinessEntities.Set <S_W_UserWorkHour>().Create(); userWorkHour.ID = FormulaHelper.CreateGuid(); userWorkHour.UserID = user.UserID; userWorkHour.UserName = user.UserName; userWorkHour.UserDeptID = user.UserOrgID; userWorkHour.UserDeptName = user.UserOrgName; userWorkHour.WorkHourDate = item; userWorkHour.UserCode = user.Code; if (employee != null) { userWorkHour.EmployeeID = employee.ID; } userWorkHour.State = "Create"; userWorkHour.IsConfirm = "0"; userWorkHour.IsStep1 = "0"; userWorkHour.IsStep2 = "0"; userWorkHour.CreateUser = CurrentUserInfo.UserName; userWorkHour.CreateUserID = CurrentUserInfo.UserID; userWorkHour.SupplementID = id; userWorkHour.BelongMonth = item.Month; userWorkHour.BelongYear = item.Year; userWorkHour.BelongQuarter = ((item.Month - 1) / 3) + 1; BusinessEntities.Set <S_W_UserWorkHour>().Add(userWorkHour); } if (userWorkHour.State != "Create") { throw new Formula.Exceptions.BusinessException("【" + userWorkHour.WorkHourDate.ToShortDateString() + "】补填的工时已经审批,无法修改"); } userWorkHour.ProjectChargerUser = dic.GetValue("ProjectChargerUser"); userWorkHour.ProjectChargerUserName = dic.GetValue("ProjectChargerUserName"); userWorkHour.ProjectCode = dic.GetValue("ProjectCode"); userWorkHour.ProjectDept = dic.GetValue("ProjectDept"); userWorkHour.ProjectDeptName = dic.GetValue("ProjectDeptName"); userWorkHour.ProjectID = projectID; userWorkHour.ProjectName = dic.GetValue("ProjectName"); userWorkHour.SubProjectCode = dic.GetValue("SubProjectCode"); userWorkHour.SubProjectName = dic.GetValue("SubProjectName"); userWorkHour.TaskWorkCode = dic.GetValue("TaskWorkCode"); userWorkHour.TaskWorkName = dic.GetValue("TaskWorkName"); userWorkHour.WorkContent = dic.GetValue("WorkContent"); userWorkHour.MajorCode = dic.GetValue("MajorCode"); userWorkHour.MajorName = dic.GetValue("MajorName"); userWorkHour.WorkHourType = dic.GetValue("WorkHourType"); userWorkHour.NormalValue = _normalValue; userWorkHour.AdditionalValue = extraValue; userWorkHour.WorkHourValue = _normalValue + extraValue; userWorkHour.WorkHourDay = fo.ConvertHourToDay(userWorkHour.WorkHourValue, workHourType, NormalHoursMax); } }