/// <summary> /// 删除 /// </summary> /// <param name="keyValue"></param> /// <returns></returns> public void DeleteForm(string keyValue) { //清空保存的实际完成时间,实际费用 SafeMeasureEntity entity = new SafeMeasureEntity() { ReportID = keyValue }; safeMeasureService.ChangeFinishData("3", entity); service.DeleteForm(keyValue); }
/// <summary> /// 修改 /// </summary> /// <param name="keyValue"></param> /// <param name="safeData"></param> /// <returns></returns> public ActionResult SaveForm(string keyValue, string safeData) { SafeMeasureEntity entity = safeData.ToObject <SafeMeasureEntity>(); entity.Id = keyValue; bool flag = safeMeasureBLL.ExistSafeMeasure(entity); if (flag) { safeMeasureBLL.UpdateSafeMeasure(entity); } return(Success("保存成功。")); }
public void SubmitForm(SafeAdjustmentEntity adjustmentEntity) { adjustmentEntity.ID = Guid.NewGuid().ToString(); Operator curUser = OperatorProvider.Provider.Current(); string flowid = string.Empty; string status = string.Empty; string curFlowId = string.Empty; SafeMeasureEntity entity = safeMeasure.GetEntity(adjustmentEntity.SafeMeasureId); ManyPowerCheckEntity mpcEntity = service.CheckAuditPower(curUser, out status, "安措计划调整审批", curUser.DeptId, out curFlowId); if (mpcEntity != null) { //如果当前登录人是审核人,直接审核通过 if (status.Equals("1")) { AptitudeinvestigateauditEntity aentity = new AptitudeinvestigateauditEntity(); aentity.Create(); aentity.AUDITPEOPLEID = curUser.UserId; aentity.AUDITPEOPLE = curUser.UserName; aentity.AUDITDEPTID = curUser.DeptId; aentity.AUDITDEPT = curUser.DeptName; aentity.APTITUDEID = entity.Id; aentity.APPLYID = adjustmentEntity.ID; aentity.FlowId = curFlowId;//mpcEntity.ID; aentity.AUDITTIME = DateTime.Now; aentity.AUDITRESULT = "0"; aentity.Disable = "0"; new AptitudeinvestigateauditBLL().SaveForm("", aentity); if (mpcEntity.CHECKROLENAME.Equals("公司领导")) { entity.Stauts = mpcEntity.CHECKROLENAME; adjustmentEntity.AdjustStauts = mpcEntity.CHECKROLENAME; } else { entity.Stauts = mpcEntity.CHECKDEPTNAME + mpcEntity.CHECKROLENAME; adjustmentEntity.AdjustStauts = mpcEntity.CHECKDEPTNAME + mpcEntity.CHECKROLENAME; } entity.ProcessState = 2; adjustmentEntity.ProcessState = 2; } else { if (mpcEntity.CHECKROLENAME.Equals("公司领导")) { entity.Stauts = mpcEntity.CHECKROLENAME; adjustmentEntity.AdjustStauts = mpcEntity.CHECKROLENAME; } else { entity.Stauts = curUser.DeptName + mpcEntity.CHECKROLENAME; adjustmentEntity.AdjustStauts = curUser.DeptName + mpcEntity.CHECKROLENAME; } entity.ProcessState = 1; adjustmentEntity.ProcessState = 1; } entity.FlowId = mpcEntity.ID; entity.FlowName = mpcEntity.FLOWNAME; entity.FlowRole = mpcEntity.CHECKROLEID; entity.FlowRoleName = mpcEntity.CHECKROLENAME; entity.FlowDept = mpcEntity.CHECKDEPTID; entity.FlowDeptName = mpcEntity.CHECKDEPTNAME; entity.IsCommit = "1"; entity.IsOver = 0; } else { entity.FlowId = ""; entity.FlowName = ""; entity.FlowRole = ""; entity.FlowRoleName = ""; entity.FlowDept = ""; entity.FlowDeptName = ""; entity.IsCommit = "1"; entity.IsOver = 1; entity.Stauts = "审批通过"; entity.ProcessState = 3; adjustmentEntity.ProcessState = 3; //审批通过,更新调整费用和调整时间 if (adjustmentEntity.IsAdjustFee == 1) { entity.Cost = Convert.ToDouble(adjustmentEntity.AdjustFee); } if (adjustmentEntity.IsDelay == 1) { entity.PlanFinishDate = entity.PlanFinishDate.Value.AddDays(Convert.ToDouble(adjustmentEntity.DelayDays)); } adjustmentEntity.AdjustStauts = "审批通过"; } service.InsertAdjustment(adjustmentEntity); safeMeasure.UpdateForm(entity.Id, entity); }
public bool ApproveForm(string keyValue, string applyId, AptitudeinvestigateauditEntity aentity) { SafeMeasureEntity entity = safeMeasure.GetEntity(keyValue); Operator curUser = OperatorProvider.Provider.Current(); string status = ""; string curFlowId = string.Empty; aentity.AUDITPEOPLEID = curUser.UserId; aentity.AUDITDEPTID = curUser.DeptId; aentity.APTITUDEID = keyValue; aentity.APPLYID = applyId; aentity.FlowId = entity.FlowId; ManyPowerCheckEntity mpcEntity = service.CheckAuditPower(curUser, out status, "安措计划调整审批", curUser.DeptId, out curFlowId); aentity.Disable = aentity.AUDITRESULT == "1" ? "1" : "0"; SafeAdjustmentEntity adjustmentEntity = service.GetEntity(entity.Id); if (mpcEntity != null) { if (status == "0") { return(false); } else { aentity.Create(); new AptitudeinvestigateauditBLL().SaveForm("", aentity); entity.FlowId = mpcEntity.ID; entity.FlowRoleName = mpcEntity.CHECKROLENAME; entity.FlowDept = mpcEntity.CHECKDEPTID; entity.FlowDeptName = mpcEntity.CHECKDEPTNAME; entity.IsCommit = "1"; if (aentity.AUDITRESULT == "1") { //调整审批不通过 entity.FlowName = "审批不通过"; entity.Stauts = "审批不通过"; adjustmentEntity.AdjustStauts = "审批不通过"; entity.IsOver = 1; } else { entity.FlowName = mpcEntity.FLOWNAME; entity.IsOver = 0; if (mpcEntity.CHECKROLENAME.Equals("公司领导")) { entity.Stauts = mpcEntity.CHECKROLENAME; adjustmentEntity.AdjustStauts = mpcEntity.CHECKROLENAME; } else { entity.Stauts = mpcEntity.CHECKDEPTNAME + mpcEntity.CHECKROLENAME; adjustmentEntity.AdjustStauts = mpcEntity.CHECKDEPTNAME + mpcEntity.CHECKROLENAME; } } entity.ProcessState = 2; adjustmentEntity.ProcessState = 2; safeMeasure.UpdateForm(keyValue, entity); service.UpdateAdjustment(adjustmentEntity); return(true); } } else { if (status == "0") { return(false); } else { aentity.Create(); new AptitudeinvestigateauditBLL().SaveForm("", aentity); entity.FlowId = ""; entity.FlowRoleName = ""; entity.FlowDept = ""; entity.FlowDeptName = ""; entity.IsOver = 1; entity.IsCommit = "1"; entity.ProcessState = 3; adjustmentEntity.ProcessState = 3; entity.Stauts = aentity.AUDITRESULT == "1" ? "审批不通过" : "审批通过"; if (aentity.AUDITRESULT == "0") { //审批通过,更新调整费用和调整时间 if (adjustmentEntity != null) { if (adjustmentEntity.IsAdjustFee == 1) { entity.Cost = Convert.ToDouble(adjustmentEntity.AdjustFee); } if (adjustmentEntity.IsDelay == 1) { entity.PlanFinishDate = entity.PlanFinishDate.Value.AddDays(Convert.ToDouble(adjustmentEntity.DelayDays)); } } } safeMeasure.UpdateForm(keyValue, entity); adjustmentEntity.AdjustStauts = aentity.AUDITRESULT == "1" ? "审批不通过" : "审批通过"; service.UpdateAdjustment(adjustmentEntity); return(true); } } }
/// <summary> /// 获取流程图 /// </summary> /// <param name="keyValue"></param> /// <param name="modulename"></param> /// <returns></returns> public Flow GetFlow(string modulename, string keyValue, string adjustId) { List <nodes> nlist = new List <nodes>(); List <lines> llist = new List <lines>(); Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); //得到流程节点 SafeAdjustmentEntity adjustmentEntity = adjustmentService.GetEntity(keyValue); if (string.IsNullOrEmpty(adjustId)) { //取最新一条 adjustmentEntity = adjustmentService.GetEntity(keyValue); adjustId = adjustmentEntity.ID; } DataTable nodeDt = service.GetCheckInfo(modulename, keyValue, adjustId); SafeMeasureEntity entity = service.GetEntity(keyValue); Flow flow = new Flow(); flow.title = ""; flow.initNum = 22; flow.activeID = entity.FlowId; if (nodeDt != null && nodeDt.Rows.Count > 0) { #region [创建node对象] for (int i = 0; i < nodeDt.Rows.Count; i++) { DataRow dr = nodeDt.Rows[i]; nodes nodes = new nodes(); nodes.alt = true; nodes.isclick = false; nodes.css = ""; nodes.id = dr["id"].ToString(); //主键 nodes.img = ""; nodes.name = dr["flowname"].ToString(); nodes.type = "stepnode"; nodes.width = 150; nodes.height = 60; //位置 int m = i % 4; int n = i / 4; if (m == 0) { nodes.left = 120; } else { nodes.left = 120 + ((150 + 60) * m); } if (n == 0) { nodes.top = 54; } else { nodes.top = (n * 100) + 54; } setInfo sinfo = new setInfo(); sinfo.NodeName = nodes.name; if (dr["AUDITDEPT"] != null && !string.IsNullOrEmpty(dr["AUDITDEPT"].ToString())) { sinfo.Taged = 1; List <NodeDesignateData> nodelist = new List <NodeDesignateData>(); NodeDesignateData nodedesignatedata = new NodeDesignateData(); DateTime auditdate; DateTime.TryParse(dr["AUDITTIME"].ToString(), out auditdate); nodedesignatedata.createdate = auditdate.ToString("yyyy-MM-dd HH:mm"); nodedesignatedata.creatdept = dr["AUDITDEPT"].ToString(); nodedesignatedata.createuser = dr["AUDITPEOPLE"].ToString(); nodedesignatedata.status = dr["AUDITRESULT"].ToString() == "0" ? "同意" : "不同意"; if (dr["AUDITRESULT"].ToString() == "1") { flow.activeID = ""; } if (i == 0) { nodedesignatedata.prevnode = "无"; } else { nodedesignatedata.prevnode = nodeDt.Rows[i - 1]["flowname"].ToString(); } nodelist.Add(nodedesignatedata); sinfo.NodeDesignateData = nodelist; nodes.setInfo = sinfo; } else { List <NodeDesignateData> nodelist = new List <NodeDesignateData>(); NodeDesignateData nodedesignatedata = new NodeDesignateData(); nodedesignatedata.createdate = "无"; //获取执行部门 string executeDeptId = string.Empty; if (dr["checkdeptid"].ToString() == "-3") { executeDeptId = service.GetExecuteDept(entity.Id); } else { executeDeptId = dr["checkdeptid"].ToString(); } //获取执行人 IManyPowerCheckService powerCheck = new ManyPowerCheckService(); //获取流程节点配置 List <ManyPowerCheckEntity> powerList = powerCheck.GetListBySerialNum(user.OrganizeCode, "安措计划调整审批"); if (powerList.Count > 0) { var item = powerList.Where(t => t.FLOWNAME == dr["FLOWNAME"].ToString()).FirstOrDefault(); if (item.CHECKDEPTCODE == "-3" || item.CHECKDEPTID == "-3") { string executedept = new DepartmentService().GetEntity(executeDeptId).DepartmentId; switch (item.ChooseDeptRange) //判断部门范围 { case "0": item.CHECKDEPTID = executedept; break; case "1": var dept = deptservice.GetEntity(executedept); while (dept.Nature != "部门" && dept.Nature != "厂级") { dept = deptservice.GetEntity(dept.ParentId); } item.CHECKDEPTID = dept.DepartmentId; break; case "2": var dept1 = deptservice.GetEntity(executedept); while (dept1.Nature != "部门" && dept1.Nature != "厂级") { dept1 = deptservice.GetEntity(dept1.ParentId); } item.CHECKDEPTID = (dept1.DepartmentId + "," + executedept).Trim(','); break; default: item.CHECKDEPTID = executedept; break; } executeDeptId = item.CHECKDEPTID; } } string userNames = ""; string execusers = GetNextStepUser(dr["checkrolename"].ToString(), executeDeptId, out userNames); DataTable dtuser = userservice.GetUserTable(execusers.Split(',')); string[] usernames = dtuser.AsEnumerable().Select(d => d.Field <string>("realname")).ToArray(); string[] deptnames = dtuser.AsEnumerable().Select(d => d.Field <string>("deptname")).ToArray().GroupBy(t => t).Select(p => p.Key).ToArray(); nodedesignatedata.createuser = usernames.Length > 0 ? string.Join(",", usernames) : "无"; nodedesignatedata.creatdept = deptnames.Length > 0 ? string.Join(",", deptnames) : "无"; //nodedesignatedata.createuser = "******"; //nodedesignatedata.creatdept = "无"; nodedesignatedata.status = "无"; if (i == 0) { nodedesignatedata.prevnode = "无"; } else { nodedesignatedata.prevnode = nodeDt.Rows[i - 1]["flowname"].ToString(); } nodelist.Add(nodedesignatedata); sinfo.NodeDesignateData = nodelist; nodes.setInfo = sinfo; } nlist.Add(nodes); } //流程结束节点 nodes nodes_end = new nodes(); nodes_end.alt = true; nodes_end.isclick = false; nodes_end.css = ""; nodes_end.id = Guid.NewGuid().ToString(); nodes_end.img = ""; nodes_end.name = "流程结束"; nodes_end.type = "endround"; nodes_end.width = 150; nodes_end.height = 60; //取最后一流程的位置,相对排位 nodes_end.left = nlist[nlist.Count - 1].left; nodes_end.top = nlist[nlist.Count - 1].top + 100; nlist.Add(nodes_end); //如果状态为审核通过或不通过,流程结束进行标识 if (entity.Stauts == "审批不通过" || (entity.IsOver == 1 && entity.Stauts == "审批通过")) { setInfo sinfo = new setInfo(); sinfo.NodeName = nodes_end.name; sinfo.Taged = 1; List <NodeDesignateData> nodelist = new List <NodeDesignateData>(); NodeDesignateData nodedesignatedata = new NodeDesignateData(); //取流程结束时的节点信息 DataRow[] end_rows = nodeDt.Select("AUDITPEOPLE is not null").OrderBy(t => t.Field <DateTime>("AUDITTIME")).ToArray(); DataRow end_row = end_rows[end_rows.Count() - 1]; DateTime auditdate; DateTime.TryParse(end_row["AUDITTIME"].ToString(), out auditdate); nodedesignatedata.createdate = auditdate.ToString("yyyy-MM-dd HH:mm"); nodedesignatedata.creatdept = end_row["AUDITDEPT"].ToString(); nodedesignatedata.createuser = end_row["AUDITPEOPLE"].ToString(); nodedesignatedata.status = end_row["AUDITRESULT"].ToString() == "0" ? "同意" : "不同意"; nodedesignatedata.prevnode = end_row["flowname"].ToString(); nodelist.Add(nodedesignatedata); sinfo.NodeDesignateData = nodelist; nodes_end.setInfo = sinfo; } #region 创建line对象 for (int i = 0; i < nodeDt.Rows.Count; i++) { lines lines = new lines(); lines.alt = true; lines.id = Guid.NewGuid().ToString(); lines.from = nodeDt.Rows[i]["id"].ToString(); if (i < nodeDt.Rows.Count - 1) { lines.to = nodeDt.Rows[i + 1]["id"].ToString(); } lines.name = ""; lines.type = "sl"; llist.Add(lines); } lines lines_end = new lines(); lines_end.alt = true; lines_end.id = Guid.NewGuid().ToString(); lines_end.from = nodeDt.Rows[nodeDt.Rows.Count - 1]["id"].ToString(); lines_end.to = nodes_end.id; llist.Add(lines_end); #endregion flow.nodes = nlist; flow.lines = llist; #endregion } return(flow); }
/// <summary> /// 判断是否存在 /// </summary> /// <param name="entity"></param> /// <returns></returns> public bool ExistSafeMeasure(SafeMeasureEntity entity) { return(service.ExistSafeMeasure(entity)); }
public void UpdateSafeMeasure(SafeMeasureEntity entity) { service.UpdateSafeMeasure(entity); }
public string ImportSafeMeasure() { if (OperatorProvider.Provider.Current().IsSystem) { return("超级管理员无此操作权限"); } string message = "请选择格式正确的文件再导入!"; try { int error = 0; string falseMessage = ""; int count = HttpContext.Request.Files.Count; var currUser = OperatorProvider.Provider.Current(); if (count > 0) { HttpPostedFileBase file = HttpContext.Request.Files[0]; if (string.IsNullOrEmpty(file.FileName)) { return(message); } if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx"))) { return(message); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName); file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName)); Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook(); wb.Open(Server.MapPath("~/Resource/temp/" + fileName)); Aspose.Cells.Cells cells = wb.Worksheets[0].Cells; if (cells.MaxDataRow <= 1) { return("共有0条记录,成功导入0条"); } DataTable dt = cells.ExportDataTable(1, 1, cells.MaxDataRow, cells.MaxColumn + 1, true); int order = 1; List <SafeMeasureEntity> list = new List <SafeMeasureEntity>(); for (int i = 0; i < dt.Rows.Count; i++) { order = i; //类别 string type = dt.Rows[i]["类别"].ToString().Trim(); //项目 string projetName = dt.Rows[i]["项目"].ToString().Trim(); //责任部门 string deptName = dt.Rows[i]["责任部门"].ToString().Trim(); //计划费用 string cost = dt.Rows[i]["计划费用(万)"].ToString().Trim(); //计划完成时间 string planFinishTime = dt.Rows[i]["计划完成时间"].ToString().Trim(); //部门验收人 string checkUser = dt.Rows[i]["部门验收人"].ToString().Trim(); //---****值存在空验证*****-- if (string.IsNullOrEmpty(type) || string.IsNullOrEmpty(projetName) || string.IsNullOrEmpty(deptName) || string.IsNullOrEmpty(cost) || string.IsNullOrEmpty(planFinishTime) || string.IsNullOrEmpty(checkUser)) { falseMessage += "</br>" + "第" + (i + 2) + "行值存在空,未能导入."; error++; continue; } //验证所填部门是否存在 var entity = departmentBLL.GetList() .Where(t => t.EnCode.StartsWith(currUser.OrganizeCode) && t.EnCode != currUser.OrganizeCode && !(t.Nature == "承包商" || t.Nature == "分包商" || t.Description == "外包工程承包商" || t.Nature == "班组" || t.Nature == "专业") && t.FullName == deptName) .FirstOrDefault(); //var entity = departmentBLL.GetList().Where(x => x.OrganizeId == currUser.OrganizeId && x.FullName == deptName).FirstOrDefault(); string deptCode = string.Empty, deptId = string.Empty; if (entity == null) { falseMessage += "</br>" + "第" + (i + 2) + "行部门信息不存在,未能导入."; error++; continue; } else { deptId = entity.DepartmentId; deptCode = entity.EnCode; } //验证小数 if (!string.IsNullOrEmpty(cost)) { if (!Regex.IsMatch(cost, @"(^[1-9](\d+)?(\.\d{1,9})?$)|(^-?0$)|(^\d\.\d{1,9}$)", RegexOptions.IgnoreCase)) { falseMessage += "</br>" + "第" + (i + 2) + "行计划费用格式有误,未能导入."; error++; continue; } } //保留六位小数 string cost1 = Convert.ToDouble(cost).ToString("f6"); //验证日期格式 DateTime?planFinishTime1 = null; try { planFinishTime = planFinishTime.Replace('.', '-'); if (planFinishTime.Split('-').Length != 3) { falseMessage += "</br>" + "第" + (i + 1) + "行计划完成时间格式不正确,未能导入."; error++; continue; } planFinishTime1 = Convert.ToDateTime(planFinishTime); } catch (Exception ex) { falseMessage += "</br>" + "第" + (i + 1) + "行计划完成时间格式不正确,未能导入."; error++; continue; } //根据 类别、项目、责任部门、计划完成时间 查重 SafeMeasureEntity safe = new SafeMeasureEntity() { Id = Guid.NewGuid().ToString(), PlanType = type, ProjectName = projetName, IsOver = 0, DeptCode = deptCode, DepartmentId = deptId, DepartmentName = deptName, Cost = Convert.ToDouble(cost1), PlanFinishDate = planFinishTime1, CheckUserName = checkUser, Stauts = "无调整", ProcessState = 0, PublishState = 0 }; //判断是否存在 bool flag = safeMeasureBLL.ExistSafeMeasure(safe); if (!flag) { //数据重复 falseMessage += "</br>" + "第" + (i + 2) + "行数据已存在,未能导入."; error++; } else { safe.Create(); list.Add(safe); } } if (list.Count() > 0) { //保存 safeMeasureBLL.SaveForm(list); } count = dt.Rows.Count; message = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条"; message += "</br>" + falseMessage; } } catch (Exception ex) { return("导入失败!"); } return(message); }