Jelajahi Sumber

选取项目状态

yue 5 tahun lalu
induk
melakukan
b505b70fb2

+ 1 - 0
src/main/java/com/jeeplus/common/config/Global.java

@@ -142,6 +142,7 @@ public class Global {
         if (SYS_TYPE.equals("1")) {
             dir = Global.getUserfilesBaseDir() + Global.FILES_FILESERVER;
         } else {
+            //liunx file store priefix
             dir =  "/data/nginx/file" + Servlets.getRequest().getContextPath() + Global.FILES_FILESERVER;
         }
 

+ 1 - 1
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -1147,7 +1147,7 @@ public class ActTaskService extends BaseService {
 		} else {
 			act.setComment(act.getComment());
 		}
-		act.setComment(("yes".equals(act.getFlag())?"[同意] ":"[驳回] ")+act.getComment());
+//		act.setComment(("yes".equals(act.getFlag())?"[同意] ":"[驳回] ")+act.getComment());
 		act.preUpdate();
 		// 对不同环节的业务逻辑进行操作
 		String taskDefKey = act.getTaskDefKey();

+ 146 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/myActiviUtils.java

@@ -0,0 +1,146 @@
+package com.jeeplus.modules.sg.managementcenter.activiti.utils;
+
+import com.jeeplus.common.utils.StringUtils;
+import org.activiti.engine.*;
+import org.activiti.engine.impl.RepositoryServiceImpl;
+import org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior;
+import org.activiti.engine.impl.javax.el.ExpressionFactory;
+import org.activiti.engine.impl.javax.el.ValueExpression;
+import org.activiti.engine.impl.juel.ExpressionFactoryImpl;
+import org.activiti.engine.impl.juel.SimpleContext;
+import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
+import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
+import org.activiti.engine.impl.pvm.PvmActivity;
+import org.activiti.engine.impl.pvm.PvmTransition;
+import org.activiti.engine.impl.pvm.process.ActivityImpl;
+import org.activiti.engine.impl.task.TaskDefinition;
+import org.activiti.engine.runtime.Execution;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+public class myActiviUtils {
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private RuntimeService runtimeService;
+    /**
+     * 获取下一个用户任务信息
+     * @param String taskId     任务Id信息
+     * @return  下一个用户任务用户组信息
+     * @throws Exception
+     */
+    public TaskDefinition getNextTaskInfo(String taskId) throws Exception {
+
+        ProcessDefinitionEntity processDefinitionEntity = null;
+
+        String id = null;
+
+        TaskDefinition task = null;
+
+        //获取流程实例Id信息
+        String processInstanceId = taskService.createTaskQuery().taskId(taskId).singleResult().getProcessInstanceId();
+
+        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+        RepositoryService repositoryService = processEngine.getRepositoryService();
+
+        //获取流程发布Id信息
+        String definitionId = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult().getProcessDefinitionId();
+
+        processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
+                .getDeployedProcessDefinition(definitionId);
+
+        ExecutionEntity execution = (ExecutionEntity) runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
+
+        //当前流程节点Id信息
+        String activitiId = execution.getActivityId();
+
+        //获取流程所有节点信息
+        List<ActivityImpl> activitiList = processDefinitionEntity.getActivities();
+
+        //遍历所有节点信息
+        for(ActivityImpl activityImpl : activitiList){
+            id = activityImpl.getId();
+            if (activitiId.equals(id)) {
+                //获取下一个节点信息
+                task = nextTaskDefinition(activityImpl, activityImpl.getId(), null, processInstanceId);
+                break;
+            }
+        }
+        return task;
+    }
+
+    private TaskDefinition nextTaskDefinition(ActivityImpl activityImpl, String activityId, String elString, String processInstanceId){
+
+        PvmActivity ac = null;
+
+        Object s = null;
+
+        // 如果遍历节点为用户任务并且节点不是当前节点信息
+        if ("userTask".equals(activityImpl.getProperty("type")) && !activityId.equals(activityImpl.getId())) {
+            // 获取该节点下一个节点信息
+            TaskDefinition taskDefinition = ((UserTaskActivityBehavior) activityImpl.getActivityBehavior())
+                    .getTaskDefinition();
+            return taskDefinition;
+        } else {
+            // 获取节点所有流向线路信息
+            List<PvmTransition> outTransitions = activityImpl.getOutgoingTransitions();
+            List<PvmTransition> outTransitionsTemp = null;
+            for (PvmTransition tr : outTransitions) {
+                ac = tr.getDestination(); // 获取线路的终点节点
+                // 如果流向线路为排他网关
+                if ("exclusiveGateway".equals(ac.getProperty("type"))) {
+                    outTransitionsTemp = ac.getOutgoingTransitions();
+
+                    // 如果网关路线判断条件为空信息
+                    if (StringUtils.isEmpty(elString)) {
+                        // 获取流程启动时设置的网关判断条件信息
+                        elString = getGatewayCondition(ac.getId(), processInstanceId);
+                    }
+
+                    // 如果排他网关只有一条线路信息
+                    if (outTransitionsTemp.size() == 1) {
+                        return nextTaskDefinition((ActivityImpl) outTransitionsTemp.get(0).getDestination(), activityId,
+                                elString, processInstanceId);
+                    } else if (outTransitionsTemp.size() > 1) { // 如果排他网关有多条线路信息
+                        for (PvmTransition tr1 : outTransitionsTemp) {
+                            s = tr1.getProperty("conditionText"); // 获取排他网关线路判断条件信息
+                            // 判断el表达式是否成立
+                            if (isCondition(ac.getId(), StringUtils.trim(s.toString()), elString)) {
+                                return nextTaskDefinition((ActivityImpl) tr1.getDestination(), activityId, elString,
+                                        processInstanceId);
+                            }
+                        }
+                    }
+                } else if ("userTask".equals(ac.getProperty("type"))) {
+                    return ((UserTaskActivityBehavior) ((ActivityImpl) ac).getActivityBehavior()).getTaskDefinition();
+                } else {
+                }
+            }
+            return null;
+        }
+    }
+
+
+    public String getGatewayCondition(String gatewayId, String processInstanceId) {
+        Execution execution = runtimeService.createExecutionQuery().processInstanceId(processInstanceId).singleResult();
+        Object object= runtimeService.getVariable(execution.getId(), gatewayId);
+        return object==null? "":object.toString();
+    }
+
+    /**
+     * 根据key和value判断el表达式是否通过信息
+     * @param String key    el表达式key信息
+     * @param String el     el表达式信息
+     * @param String value  el表达式传入值信息
+     * @return
+     */
+    public boolean isCondition(String key, String el, String value) {
+        ExpressionFactory factory = new ExpressionFactoryImpl();
+        SimpleContext context = new SimpleContext();
+        context.setVariable(key, factory.createValueExpression(value, String.class));
+        ValueExpression e = factory.createValueExpression(context, el, boolean.class);
+        return (Boolean) e.getValue(context);
+    }
+
+}

+ 140 - 129
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java

@@ -13,11 +13,18 @@ import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.act.utils.ProcessDefCache;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
+import com.jeeplus.modules.sg.managementcenter.activiti.utils.myActiviUtils;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.test.activiti.entity.OALeave;
 import com.jeeplus.modules.test.activiti.service.OALeaveService;
+import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.bpmn.model.Process;
+import org.activiti.bpmn.model.UserTask;
 import org.activiti.engine.*;
 import org.activiti.engine.delegate.Expression;
+import org.activiti.engine.history.HistoricTaskInstance;
 import org.activiti.engine.impl.RepositoryServiceImpl;
 import org.activiti.engine.impl.TaskServiceImpl;
 import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
@@ -28,6 +35,7 @@ import org.activiti.engine.impl.pvm.process.ActivityImpl;
 import org.activiti.engine.impl.task.TaskDefinition;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.activiti.engine.task.Task;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -39,6 +47,7 @@ import java.util.Set;
 
 /**
  * 施工交底Controller
+ *
  * @author
  * @version 2019-11-08
  */
@@ -47,136 +56,138 @@ import java.util.Set;
 
 public class ConstructionController extends BaseController {
 
-	@Autowired
-	private ConstructionService constructionService;
-	@Autowired
-	private ActProcessService actProcessService;
-	@Autowired
-	private ActTaskService actTaskService;
-	@Autowired
-	private RuntimeService runtimeService;
-
-	@ModelAttribute
-	public Construction get(@RequestParam(required=false) String id) {
-		Construction entity = null;
-		if (StringUtils.isNotBlank(id)){
-			entity = constructionService.get(id);
-		}
-		if (entity == null){
-			entity = new Construction();
-		}
-		return entity;
-	}
-
-
-	
-
-	/**
-	 * 查看,增加,编辑请假申请表单页面
-	 */
-	@RequestMapping(value = "form/{mode}")
-	public String form(@PathVariable String mode, Construction construction, Model model) {
-		String proId = construction.getAct().getProcDefId();
-		ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
-		TaskService taskService = processEngine.getTaskService();
-		//根据assignee(代理人)查询任务
-		List<Task> tasks = taskService.createTaskQuery().processDefinitionId(proId).list();
-		RepositoryService rs = processEngine.getRepositoryService();
-//		List processDefinitions = rs.createProcessDefinitionQuery().list();
-		String procDefId = construction.getAct().getProcDefId();
-		ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl)rs).getProcessDefinition(procDefId);
-//		List<ActivityImpl> activitiList = def.getActivities(); //rs是指RepositoryService的实例
-		int size = tasks.size();
-		for (int i = 0; i < size; i++) {
-			Task task = tasks.get(i);
-		}
-		//首次运行的时候这个没有输出,因为第一次运行的时候扫描act_ru_task的表里面是空的,但第一次运行完成之后里面会添加一条记录,之后每次运行里面都会添加一条记录
-		for (Task task : tasks) {
-			ActivityImpl activityImpl=def.findActivity(task.getTaskDefinitionKey());
-			TaskDefinition taskDef = (TaskDefinition)activityImpl.getProperties().get("taskDefinition");
-			Set<Expression> roleCodes = taskDef.getCandidateGroupIdExpressions();//候选组
-			System.out.println("taskId:" + task.getId() +
-					",taskName:" + task.getName() +
-					",assignee:" + task.getAssignee() +
-					",createTime:" + task.getCreateTime() +
-					",getTaskLocalVariables:" + task.getProcessVariables()+
-					",roleCodes:"+roleCodes.toString());
-		}
-		model.addAttribute("construction", construction);
+    @Autowired
+    private ConstructionService constructionService;
+    @Autowired
+    private ActProcessService actProcessService;
+    @Autowired
+    private ActTaskService actTaskService;
+    @Autowired
+    private RuntimeService runtimeService;
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private ProjectService projectService;
+
+    @ModelAttribute
+    public Construction get(@RequestParam(required = false) String id) {
+        Construction entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = constructionService.get(id);
+        }
+        if (entity == null) {
+            entity = new Construction();
+        }
+        return entity;
+    }
+
+
+    /**
+     * 查看,增加,编辑请假申请表单页面
+     */
+    @RequestMapping(value = "form/{mode}")
+    public String form(@PathVariable String mode, Construction construction, Model model) {
+        String proId = construction.getAct().getProcDefId();
+        String pInId = construction.getProcInsId();
+        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+        RepositoryService rs = processEngine.getRepositoryService();
+        //根据流程定义号获取所有的定义流程
+
+
+        model.addAttribute("construction", construction);
 //		model.addAttribute("roleCodes");
-		if("add".equals(mode) || "edit".equals(mode)){
-			return "modules/sg/managementcenter/activiti/constructionForm";
-		}else{//audit
-			return "modules/sg/managementcenter/activiti/constructionAudit";
-		}
-/*		String procInstanceId = construction.getAct().getProcDefId();
-		ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl)repositoryService).getDeployedProcessDefinition(procInstanceId);
-		List<ActivityImpl> activitiList = def.getActivities();*/
-
-/*		for(ActivityImpl act : activitiList) {
-				System.out.println("当前任务:"+act.getProperty("name")); //输出某个节点的某种属性
-				List<PvmTransition> outTransitions = act.getOutgoingTransitions();//获取从某个节点出来的所有线路
-				for(PvmTransition tr:outTransitions){
-					PvmActivity ac = tr.getDestination(); //获取线路的终点节点
-					System.out.println("下一步任务任务:"+ac.getProperty("name"));
-				}*/
-//			System.out.println("活动节点:" + act.getProperty("name") + "," + act.getId()+act.getProperty(""));
-		/*		String excId = task.getExecutionId();
-		ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(excId).singleResult();
-		String activitiId = execution.getActivityId();*/
-		}
-
-
-
-
-
-	/**
-	 * 保存请假申请
-	 */
-	@ResponseBody
-	@RequestMapping(value = "save")
-	public AjaxJson save(Construction construction, Model model) throws Exception{
-		AjaxJson j = new AjaxJson();
-		/**
-		 * 后台hibernate-validation插件校验
-		 */
-		String errMsg = beanValidator(construction);
-		if (StringUtils.isNotBlank(errMsg)){
-			j.setSuccess(false);
-			j.setMsg(errMsg);
-			return j;
-		}
-
-		/**
-		 * 流程审批
-		 */
-		if (StringUtils.isBlank(construction.getId())){
-			//新增或编辑表单保存
-			constructionService.save(construction);//保存
-			String procDefKey = construction.getAct().getProcDefKey();
-			// 启动流程
-			ProcessDefinition p = actProcessService.getProcessDefinition(construction.getAct().getProcDefId());
-			Map<String, Object> vars = Maps.newHashMap();
-			vars.put("processer", UserUtils.get(construction.getTuser().getId()).getLoginName());
-			String title = construction.getCurrentUser().getName()+"在"+ DateUtils.getDateTime()+"发起"+p.getName();
-			actTaskService.startProcessNew(p.getKey(),  "xm_construction_clarificaiton", construction.getId(), title,vars);
-			j.setMsg("发起流程审批成功!");
-			j.getBody().put("targetUrl",  "/act/task/process/");
-		}else{
-			//新增或编辑表单保存
-			constructionService.save(construction);//保存
-			construction.getAct().setComment(("yes".equals(construction.getAct().getFlag())?"[重新申请] ":"[销毁申请] "));
-			// 完成流程任务
-			Map<String, Object> vars = Maps.newHashMap();
-			vars.put("reapply", "yes".equals(construction.getAct().getFlag())? true : false);
-			vars.put("processer", UserUtils.get(construction.getTuser().getId()).getLoginName());
-			actTaskService.complete(construction.getAct().getTaskId(), construction.getAct().getProcInsId(), construction.getAct().getComment(), construction.getContent(), vars);
-			j.setMsg("提交成功!");
-			j.getBody().put("targetUrl",  "/act/task/todo/");
-		}
-		return j;
-	}
-
+        if ("add".equals(mode) || "edit".equals(mode)) {
+            return "modules/sg/managementcenter/activiti/constructionForm";
+        } else {//audit(施工单位,项目经理组织交底)
+            List<Task> tasks = taskService.createTaskQuery().processInstanceId(pInId).list();
+            //对流程循环
+            for (Task task : tasks) {
+                //根据流程的定义号获取信息
+                ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl) rs).getDeployedProcessDefinition(task.getProcessDefinitionId());
+                //获取流程中所有的节点信息
+                List<ActivityImpl> activitiList = def.getActivities();  //rs是指RepositoryService的实例
+                String excId = task.getExecutionId();
+                ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(excId).singleResult();
+                //获取当前节点id
+                String activitiId = execution.getActivityId();
+                for (ActivityImpl activityImpl : activitiList) {
+                    String id = activityImpl.getId();
+                    if (activitiId.equals(id)) {
+                        System.out.println("当前任务:" + activityImpl.getProperty("name")); //输出某个节点的某种属性
+                        List<PvmTransition> outTransitions = activityImpl.getOutgoingTransitions();//获取从某个节点出来的所有线路
+                        for (PvmTransition tr : outTransitions) {
+                            PvmActivity ac = tr.getDestination();//获取线路的终点节点
+                            List<PvmTransition> outgoingTransitions = ac.getOutgoingTransitions();
+                            for (PvmTransition tr2 : outgoingTransitions) {
+                                PvmActivity ac2 = tr2.getDestination();//获取线路的终点节点
+                                ActivityImpl activityImpl2 = def.findActivity(ac2.getId());
+                                TaskDefinition taskDef = (TaskDefinition) activityImpl2.getProperties().get("taskDefinition");
+                                if (taskDef != null) {
+                                    Set<Expression> roleCodes = taskDef.getCandidateGroupIdExpressions();//候选组
+                                    System.out.println("候选组是" + roleCodes.toString());
+                                }
+                            }
+                        }
+                        break;
+                    }
+                }
+            }
+            return "modules/sg/managementcenter/activiti/constructionAudit";
+        }
+
+    }
+
+
+    /**
+     * 保存请假申请
+     */
+    @ResponseBody
+    @RequestMapping(value = "save")
+    public AjaxJson save(Construction construction, Model model) throws Exception {
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(construction);
+        if (StringUtils.isNotBlank(errMsg)) {
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+
+        /**
+         * 流程审批
+         */
+        if (StringUtils.isBlank(construction.getId())) {
+            //新增或编辑表单保存
+            constructionService.save(construction);//保存
+            Project project = new Project();
+            project.setStatus("1");
+            project.setRequireName(construction.getProjectName());
+            projectService.updateStatus(project);
+            String procDefKey = construction.getAct().getProcDefKey();
+            // 启动流程
+            ProcessDefinition p = actProcessService.getProcessDefinition(construction.getAct().getProcDefId());
+            Map<String, Object> vars = Maps.newHashMap();
+            vars.put("processer", UserUtils.get(construction.getTuser().getId()).getLoginName());
+            String title = construction.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+            actTaskService.startProcessNew(p.getKey(), "xm_construction_clarificaiton", construction.getId(), title, vars);
+            j.setMsg("发起流程审批成功!");
+            j.getBody().put("targetUrl", "/act/task/process/");
+        } else {
+            //新增或编辑表单保存
+            constructionService.save(construction);//保存
+            construction.getAct().setComment(("yes".equals(construction.getAct().getFlag()) ? "[重新申请] " : "[销毁申请] "));
+            // 完成流程任务
+            Map<String, Object> vars = Maps.newHashMap();
+            vars.put("reapply", "yes".equals(construction.getAct().getFlag()) ? true : false);
+            vars.put("processer", UserUtils.get(construction.getTuser().getId()).getLoginName());
+            actTaskService.complete(construction.getAct().getTaskId(), construction.getAct().getProcInsId(), construction.getAct().getComment(), construction.getContent(), vars);
+            j.setMsg("提交成功!");
+            j.getBody().put("targetUrl", "/act/task/todo/");
+        }
+        return j;
+    }
 
 
 }

+ 21 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/DivideController.java

@@ -17,9 +17,21 @@ import com.jeeplus.modules.sg.managementcenter.activiti.entity.UploadImages;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.DiscloseService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
+import com.jeeplus.modules.sg.managementcenter.activiti.utils.myActiviUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.test.pic.entity.TestPic;
+import org.activiti.engine.*;
+import org.activiti.engine.delegate.Expression;
+import org.activiti.engine.impl.RepositoryServiceImpl;
+import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
+import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
+import org.activiti.engine.impl.pvm.PvmActivity;
+import org.activiti.engine.impl.pvm.PvmTransition;
+import org.activiti.engine.impl.pvm.process.ActivityImpl;
+import org.activiti.engine.impl.task.TaskDefinition;
 import org.activiti.engine.repository.ProcessDefinition;
+import org.activiti.engine.runtime.ProcessInstance;
+import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +41,9 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * 施工交底Controller
@@ -51,7 +65,10 @@ public class DivideController extends BaseController {
 	private DiscloseService discloseService;
 	@Autowired
 	private UploadImagesService uploadImagesService;
-
+	@Autowired
+	private TaskService taskService;
+	@Autowired
+	private RuntimeService runtimeService;
 	@ModelAttribute
 	public Construction get(@RequestParam(required=false) String id) {
 		Construction entity = null;
@@ -83,6 +100,7 @@ public class DivideController extends BaseController {
 	 */
 	@RequestMapping(value = "form/{mode}")
 	public String form(@PathVariable String mode, Construction construction, Model model) {
+
 		model.addAttribute("construction", construction);
 		if("audit".equals(mode)){
 			return "modules/sg/managementcenter/activiti/divideAudit";
@@ -137,4 +155,6 @@ public class DivideController extends BaseController {
 		return j;
 	}
 
+
+
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/UploadController.java

@@ -101,6 +101,7 @@ public class UploadController extends BaseController {
 	@RequestMapping(value = "data")
 	public Map<String, Object> data(UploadImages uploadImages, HttpServletRequest request, HttpServletResponse response, Model model) {
 		Page<UploadImages> page = uploadImagesService.findPage(new Page<UploadImages>(request, response), uploadImages);
+		//当判定系统为linux的时候
 		if (Global.SYS_TYPE.equals("2")) {
 			List<UploadImages> list = page.getList();
 			for (UploadImages upload:

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java

@@ -15,5 +15,5 @@ import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 @MyBatisMapper
 public interface ProjectMapper extends BaseMapper<Project> {
 
-    public void updateStatus(String status);
+    public void updateStatus(Project project);
 }

+ 2 - 2
src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java

@@ -48,8 +48,8 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 	}
 
 	@Transactional
-	public void updateStatus(String status){
-	    projectMapper.updateStatus(status);
+	public void updateStatus(Project project){
+	    projectMapper.updateStatus(project);
     }
 
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/sys/web/FileController.java

@@ -317,6 +317,7 @@ public class FileController extends BaseController {
 		String fileDir = Global.getAttachmentDir2()+uploadPath+"/"+year+"/"+month+"/";
 		// 判断文件是否为空
 		if (!file.isEmpty()) {
+
 			// 文件保存路径
 			// 转存文件
 			FileUtils.createDirectory(fileDir);

+ 1 - 1
src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionAudit.jsp

@@ -225,7 +225,7 @@
 								</td>
 								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>审批人:</label></td>
 								<td class="width-35">
-									<sys:userselect roleName="施工单位" id="tuser" name="tuser.id" value="${construction.tuser.id}" labelName="tuser.name" labelValue="${construction.tuser.name}"
+									<sys:userselect roleName="施工单位;" id="tuser" name="tuser.id" value="${construction.tuser.id}" labelName="tuser.name" labelValue="${construction.tuser.name}"
 													cssClass="form-control required"/>
 <%--									<sys:fileUpload path="pic" fileNumLimit="2" fileSizeLimit="50" value="${testPic.pic}" type="image" uploadPath="/test/pic/testPic"></sys:fileUpload>--%>
 								</td>

+ 1 - 1
src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionForm.jsp

@@ -129,7 +129,7 @@
 								</td>
 								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>审批人:</label></td>
 								<td class="width-35">
-									<sys:userselect roleName="项目经理" id="tuser" name="tuser.id" value="${construction.tuser.id}" labelName="tuser.name" labelValue="${construction.tuser.name}"
+									<sys:userselect roleName="项目经理;" id="tuser" name="tuser.id" value="${construction.tuser.id}" labelName="tuser.name" labelValue="${construction.tuser.name}"
 													cssClass="form-control required"/>
 								</td>
 							</tr>