yue преди 5 години
родител
ревизия
94623393b6
променени са 33 файла, в които са добавени 3309 реда и са изтрити 44 реда
  1. 47 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/EndTaskListen.java
  2. 75 40
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyActiviUtils.java
  3. 1 1
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java
  4. 4 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java
  5. 13 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml
  6. 8 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java
  7. 2 2
      src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java
  8. 36 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/ClosureView.java
  9. 74 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/DesignView.java
  10. 101 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/DisView.java
  11. 125 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/PolicyView.java
  12. 101 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/ReceiveView.java
  13. 151 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/ScheduleView.java
  14. 44 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/entity/SettView.java
  15. 33 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/mapper/ScheduleViewMapper.java
  16. 155 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/mapper/xml/ScheduleViewMapper.xml
  17. 62 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/service/ScheduleViewService.java
  18. 784 0
      src/main/java/com/jeeplus/modules/sg/scheduleView/web/ScheduleViewController.java
  19. 1 1
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/editCon.jsp
  20. 127 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/closureView.js
  21. 67 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/closureView.jsp
  22. 139 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/designView.js
  23. 67 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/designView.jsp
  24. 189 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/disView.js
  25. 64 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/disView.jsp
  26. 154 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/policyView.js
  27. 67 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/policyView.jsp
  28. 153 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/recView.js
  29. 64 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/recView.jsp
  30. 141 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/scheduleView.js
  31. 67 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/scheduleView.jsp
  32. 130 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/settView.js
  33. 63 0
      src/main/webapp/webpage/modules/sg/scheduleView/show/settView.jsp

+ 47 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/EndTaskListen.java

@@ -1,16 +1,28 @@
 package com.jeeplus.modules.sg.managementcenter.activiti.utils;
 
+import com.google.common.collect.Maps;
+import com.jeeplus.common.utils.DateUtils;
 import com.jeeplus.common.utils.SpringContextHolder;
+import com.jeeplus.modules.act.service.ActProcessService;
+import com.jeeplus.modules.act.service.ActTaskService;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sg.materialmodule.activiti.service.MaterialModuleService;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+import com.jeeplus.modules.sg.picking.activiti.service.ShowListService;
+import com.jeeplus.modules.sys.entity.DictValue;
+import com.jeeplus.modules.sys.utils.UserUtils;
 import org.activiti.engine.delegate.DelegateExecution;
 import org.activiti.engine.delegate.ExecutionListener;
+import org.activiti.engine.repository.ProcessDefinition;
+import org.h2.util.New;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.security.access.method.P;
 
 import java.beans.Expression;
 import java.io.Serializable;
+import java.util.Map;
 
 public class EndTaskListen implements Serializable, ExecutionListener {
     /**
@@ -21,9 +33,44 @@ public class EndTaskListen implements Serializable, ExecutionListener {
     @Override
     public void notify(DelegateExecution delegateExecution) throws Exception {
         try {
+            ShowListService showListService = SpringContextHolder.getBean(ShowListService.class);
             ProjectService projectService = SpringContextHolder.getBean(ProjectService.class);
+            ActProcessService actProcessService = SpringContextHolder.getBean(ActProcessService.class);
+            ActTaskService actTaskService = SpringContextHolder.getBean(ActTaskService.class);
+            ShowList showList = new ShowList();
+            //获取流程定义号
             String processInstanceId = delegateExecution.getProcessInstanceId();
+            //根据流程定义号获取项目信息
+            Project idConProc = projectService.findIdConProc(processInstanceId);
+            String id = idConProc.getId();
+            String constructionUnitManage = idConProc.getConstructionUnitManage();
+            //获取项目第几次发起领料
+            String number = showListService.findNumber(id);
+            showList.setId(id);
+            if (number == null || "".equals(number)) {
+                showList.setTheNumber("1");
+            } else {
+                int i = Integer.parseInt(number);
+                int a = i + 1;
+                showList.setTheNumber(String.valueOf(a));
+                DictValue dic = MyActiviUtils.findDic();
+                String value = dic.getValue();
+                showList.setsVersion(value);
+            }
+            showListService.save(showList);
+            String acqStatus = showListService.findAcqStatus(showList);
+            if ("0".equals(acqStatus)) {
+                showListService.updateAcqStatus(showList);
+            }
+            //根据流程定义号修改项目的施工交底状态
             projectService.updateStatusBy("2", processInstanceId);
+            // 启动物资领料流程
+            Map<String, Object> vars = Maps.newHashMap();
+            vars.put("manager", UserUtils.getByUserName(constructionUnitManage).getLoginName());
+            String procDefId = projectService.findDefId("wzll");
+            ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
+            String title = showList.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+            actTaskService.startProcess(p.getKey(), "md_acquisition_process", showList.getId(), title, vars);
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 75 - 40
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyActiviUtils.java

@@ -34,6 +34,7 @@ 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.Execution;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.runtime.ProcessInstanceQuery;
@@ -65,8 +66,9 @@ public class MyActiviUtils {
 
     /**
      * 获取下一个用户任务信息
-     * @param  taskId     任务Id信息
-     * @return  下一个用户任务用户组信息
+     *
+     * @param taskId 任务Id信息
+     * @return 下一个用户任务用户组信息
      * @throws Exception
      */
     public TaskDefinition getNextTaskInfo(String taskId) throws Exception {
@@ -98,7 +100,7 @@ public class MyActiviUtils {
         List<ActivityImpl> activitiList = processDefinitionEntity.getActivities();
 
         //遍历所有节点信息
-        for(ActivityImpl activityImpl : activitiList){
+        for (ActivityImpl activityImpl : activitiList) {
             id = activityImpl.getId();
             if (activitiId.equals(id)) {
                 //获取下一个节点信息
@@ -109,7 +111,7 @@ public class MyActiviUtils {
         return task;
     }
 
-    private TaskDefinition nextTaskDefinition(ActivityImpl activityImpl, String activityId, String elString, String processInstanceId){
+    private TaskDefinition nextTaskDefinition(ActivityImpl activityImpl, String activityId, String elString, String processInstanceId) {
 
         PvmActivity ac = null;
 
@@ -163,15 +165,16 @@ public class MyActiviUtils {
 
     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();
+        Object object = runtimeService.getVariable(execution.getId(), gatewayId);
+        return object == null ? "" : object.toString();
     }
 
     /**
      * 根据key和value判断el表达式是否通过信息
-     * @param  key    el表达式key信息
-     * @param  el     el表达式信息
-     * @param  value  el表达式传入值信息
+     *
+     * @param key   el表达式key信息
+     * @param el    el表达式信息
+     * @param value el表达式传入值信息
      * @return
      */
     public boolean isCondition(String key, String el, String value) {
@@ -186,7 +189,7 @@ public class MyActiviUtils {
     /**
      * 根据流程定义号、节点名称,查询节点的审批人
      */
-    public static String findHistoryActivity(String proInsId,String activityName) {
+    public static String findHistoryActivity(String proInsId, String activityName) {
         String j = "";
         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
         HistoricActivityInstance hais = processEngine.getHistoryService()
@@ -194,7 +197,7 @@ public class MyActiviUtils {
                 .processInstanceId(proInsId)
                 .activityName(activityName)
                 .singleResult();
-        if (hais!=null) {
+        if (hais != null) {
 /*            System.out.println("活动id:" + hais.getActivityId()
                     + "   审批人:" + hais.getAssignee()
                     + "   任务id:" + hais.getTaskId());
@@ -204,7 +207,7 @@ public class MyActiviUtils {
         return j;
     }
 
-    public static  List<String> findMdActivity(String activityName) {
+    public static List<String> findMdActivity(String activityName) {
         List<String> j = new ArrayList<>();
         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
         List<Task> list = processEngine.getTaskService().createTaskQuery().taskName(activityName).taskAssignee(UserUtils.getUser().getLoginName()).list();
@@ -215,9 +218,40 @@ public class MyActiviUtils {
     }
 
     /**
+     * 根据流程定义号
+     */
+    public static List<Task> disTask(String procInsId) {
+        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+        List<Task> list = processEngine.getTaskService().createTaskQuery().processInstanceId(procInsId).list();
+        return list;
+    }
+
+    /**
+     * 根据流程定义号查询对应的历史流程信息
+     */
+    public static List<HistoricActivityInstance> hisTask(String procInsId) {
+        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+        List<HistoricActivityInstance> list = processEngine.getHistoryService()
+                .createHistoricActivityInstanceQuery()
+                .processInstanceId(procInsId)
+                .finished()
+                .list();
+        return list;
+    }
+
+    /**
+     * 根据流程定义号查询当前运行节点信息
+     */
+    public static List<Task> runNowTask(String procInsId) {
+        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+        List<Task> list = processEngine.getTaskService().createTaskQuery().processInstanceId(procInsId).list();
+        return list;
+    }
+
+    /**
      * 根据流程实例定义号节点名称登陆人查询节点
      */
-    public  List<FindTask> findActivity(String activityName) {
+    public List<FindTask> findActivity(String activityName) {
 
         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
         List<Task> list = processEngine.getTaskService().createTaskQuery().taskName(activityName).taskAssignee(UserUtils.getUser().getLoginName()).list();
@@ -239,50 +273,51 @@ public class MyActiviUtils {
         }
         return findTaskList;
     }
+
     /**
      * 根据项目名称查询人员
-     * */
-    public static Project findUser(String procInsId){
+     */
+    public static Project findUser(String procInsId) {
         Project user = projectService.findUser(procInsId);
         return user;
     }
 
     /**
      * 施工流程根据项目名称查询人员
-     * */
-    public static Project sgFindUser(String procInsId){
+     */
+    public static Project sgFindUser(String procInsId) {
         Project user = projectService.sgFindUser(procInsId);
         return user;
     }
 
     /**
      * 根据流程实例id称查询物资流程项目人员
-     * */
-    public static Project findWZUser(String procInsId){
+     */
+    public static Project findWZUser(String procInsId) {
         Project user = projectService.findWZUser(procInsId);
         return user;
     }
 
     /**
      * 根据流程实例id查询结算流程项目人员
-     * */
-    public static Project findJSUser(String procInsId){
+     */
+    public static Project findJSUser(String procInsId) {
         Project user = projectService.findJSUser(procInsId);
         return user;
     }
 
     /**
      * 根据项目id称查询人员
-     * */
-    public static Project findUserById(String projectId){
+     */
+    public static Project findUserById(String projectId) {
         Project user = projectService.findUserById(projectId);
         return user;
     }
 
     /**
      * 查询项目现在配置模块版本号
-     * */
-    public static DictValue findDic(){
+     */
+    public static DictValue findDic() {
         DictValue dictValue = dictTypeService.getDictValue("1010101010");
         return dictValue;
     }
@@ -294,7 +329,7 @@ public class MyActiviUtils {
         List<ShowList> finalList = new ArrayList<>();
         //返回给页面的list
         List<ShowList> myList = new ArrayList<>();
-        if (item != null&&!"".equals(item)) {
+        if (item != null && !"".equals(item)) {
             String[] split = item.split(";");
             //回显list
             List<ShowList> returnList = new ArrayList<>();
@@ -324,7 +359,7 @@ public class MyActiviUtils {
                         Double i = mdSingleWeight * number;
                         BigDecimal b1 = new BigDecimal(Double.toString(number));
                         BigDecimal b2 = new BigDecimal(Double.toString(mdCount));
-                        double v =  b1.multiply(b2).doubleValue();
+                        double v = b1.multiply(b2).doubleValue();
                         ShowList newShowList = new ShowList();
                         newShowList.setMaterialCode(showList1.getMaterialCode());
                         newShowList.setMaterialDescription(showList1.getMaterialDescription());
@@ -345,20 +380,20 @@ public class MyActiviUtils {
                 }
             }
             boolean flag;
-            for (ShowList turn:returnList){
+            for (ShowList turn : returnList) {
                 flag = true;
-                for (ShowList list1:finalList){
+                for (ShowList list1 : finalList) {
                     if (turn.getMaterialCode().equals(list1.getMaterialCode()) && turn.getMaterialDescription().equals(list1.getMaterialDescription()) && turn.getExtensionDescription().equals(list1.getExtensionDescription())) {
                         Double mdTotalAmount = list1.getMdTotalAmount();
                         Double mdTotalAmount1 = turn.getMdTotalAmount();
                         BigDecimal b1 = new BigDecimal(Double.toString(mdTotalAmount));
                         BigDecimal b2 = new BigDecimal(Double.toString(mdTotalAmount1));
-                        double v =  b1.add(b2).doubleValue();
+                        double v = b1.add(b2).doubleValue();
                         Double mdTotalWeight = list1.getMdTotalWeight();
                         Double mdTotalWeight1 = turn.getMdTotalWeight();
                         BigDecimal a1 = new BigDecimal(Double.toString(mdTotalWeight));
                         BigDecimal a2 = new BigDecimal(Double.toString(mdTotalWeight1));
-                        double  b=  a1.add(a2).doubleValue();
+                        double b = a1.add(a2).doubleValue();
                         list1.setMdTotalAmount(v);
                         list1.setMdTotalAmountAfter(v);
                         list1.setMdTotalWeight(b);
@@ -366,7 +401,7 @@ public class MyActiviUtils {
                         break;
                     }
                 }
-                if (flag){
+                if (flag) {
                     showList = new ShowList();
                     showList.setMaterialCode(turn.getMaterialCode());
                     showList.setMaterialDescription(turn.getMaterialDescription());
@@ -388,9 +423,9 @@ public class MyActiviUtils {
     }
 
     //处理转发人数组成为list
-    public static List<String> getListUserId(String[] userName){
+    public static List<String> getListUserId(String[] userName) {
         List<String> list = new ArrayList<String>();
-        for (String str:userName){
+        for (String str : userName) {
             list.add(str);
         }
         return list;
@@ -399,20 +434,20 @@ public class MyActiviUtils {
     /*
     拼接发送通知用户id
     */
-    public static String getStringJoiningTogether(List<String> strings){
+    public static String getStringJoiningTogether(List<String> strings) {
         String str = "";
-        for (String string:strings){
-            str+=string+",";
+        for (String string : strings) {
+            str += string + ",";
         }
-        if (!"".equals(str)){
-            str = str.substring(0,str.length()-1);
+        if (!"".equals(str)) {
+            str = str.substring(0, str.length() - 1);
         }
         return str;
     }
 
     /**
      * 根据姓名查询角色列表
-     * */
+     */
     public static List<Role> RoleListByName(String name) {
         List<Role> roles = constructionMapper.roleListByName(name);
         return roles;

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

@@ -404,7 +404,7 @@ public class ConstructionController extends BaseController {
                         vars.put("processer", user.getLoginName());
                         String id = each.getId();
                         construction.setApplyName(projectManageRole);
-                        construction.setProjectId(id);
+                        construction.setProjectId(each.getProjectId());
                         construction.setProjectName(each.getRequireName());
                         construction.setAcceptDate(new Date());
                         constructionService.newSave(construction);//保存

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

@@ -48,4 +48,8 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Project> findListProjectRequisitions(@Param("list") List<PickingRequisition> list);
     //查找所有用户
     List<String> findAllUser();
+
+    String findDefId(String key);
+
+    Project findIdConProc(String procInsId);
 }

+ 13 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml

@@ -787,4 +787,17 @@
 		FROM sys_user a
 		WHERE a.del_flag = '0'
 	</select>
+
+	<select id="findDefId" resultType="java.lang.String">
+		select ID_ FROM act_re_procdef where KEY_ = #{key} and  VERSION_ = (select MAX(VERSION_) FROM act_re_procdef where KEY_ = #{key})
+	</select>
+
+	<select id="findIdConProc" resultType="com.jeeplus.modules.sg.managementcenter.project.entity.Project">
+		select id,construction_unit_manage from xm_project_details
+		where project_id = (
+		    select project_Id
+		    from xm_construction_clarificaiton
+		    where proc_ins_id = #{procInsId}
+		)
+	</select>
 </mapper>

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

@@ -176,4 +176,12 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 	public List<String> findAllUser(){
 		return projectMapper.findAllUser();
 	}
+
+	public String findDefId(String key) {
+		return projectMapper.findDefId(key);
+	}
+
+	public Project findIdConProc(String procInsId) {
+		return projectMapper.findIdConProc(procInsId);
+	}
 }

+ 2 - 2
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java

@@ -401,7 +401,7 @@ public class PickIngController extends BaseController {
         /**
          * 流程审批
          */
-        if (StringUtils.isBlank(showList.getId())) {
+        /*if (StringUtils.isBlank(showList.getId())) {
             String number = showListService.findNumber(showList.getProjectId());
             if (number == null || "".equals(number)) {
                 showList.setTheNumber("1");
@@ -430,7 +430,7 @@ public class PickIngController extends BaseController {
             j.setMsg("发起领料流程成功!");
             j.getBody().put("targetUrl", "/act/task/process/");
 
-        }
+        }*/
         return j;
     }
 

+ 36 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/ClosureView.java

@@ -0,0 +1,36 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+public class ClosureView {
+
+    //交底:判断项目是否需要关闭
+    private String ifClose;
+    //交底:配网运行人员
+    private String runMember;
+    //交底:确认项目关闭
+    private String isClosed;
+
+
+    public String getIfClose() {
+        return ifClose;
+    }
+
+    public void setIfClose(String ifClose) {
+        this.ifClose = ifClose;
+    }
+
+    public String getRunMember() {
+        return runMember;
+    }
+
+    public void setRunMember(String runMember) {
+        this.runMember = runMember;
+    }
+
+    public String getIsClosed() {
+        return isClosed;
+    }
+
+    public void setIsClosed(String isClosed) {
+        this.isClosed = isClosed;
+    }
+}

+ 74 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/DesignView.java

@@ -0,0 +1,74 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+public class DesignView {
+    //交底:判定设计变更
+    private String designChange;
+    //交底:项目经理判断是否需要再设计变更
+    private String ifChange;
+    //交底:经研所设计变更
+    private String JYSChange;
+    //交底:运行人员审核图纸
+    private String unitReview;
+    //交底:重新设计
+    private String designAgain;
+    //交底:运行人员判断变更后材料
+    private String changeAfter;
+    //交底:配网项目经理判断变更后材料
+    private String managerAfter;
+
+    public String getDesignChange() {
+        return designChange;
+    }
+
+    public void setDesignChange(String designChange) {
+        this.designChange = designChange;
+    }
+
+    public String getIfChange() {
+        return ifChange;
+    }
+
+    public void setIfChange(String ifChange) {
+        this.ifChange = ifChange;
+    }
+
+    public String getJYSChange() {
+        return JYSChange;
+    }
+
+    public void setJYSChange(String JYSChange) {
+        this.JYSChange = JYSChange;
+    }
+
+    public String getUnitReview() {
+        return unitReview;
+    }
+
+    public void setUnitReview(String unitReview) {
+        this.unitReview = unitReview;
+    }
+
+    public String getDesignAgain() {
+        return designAgain;
+    }
+
+    public void setDesignAgain(String designAgain) {
+        this.designAgain = designAgain;
+    }
+
+    public String getChangeAfter() {
+        return changeAfter;
+    }
+
+    public void setChangeAfter(String changeAfter) {
+        this.changeAfter = changeAfter;
+    }
+
+    public String getManagerAfter() {
+        return managerAfter;
+    }
+
+    public void setManagerAfter(String managerAfter) {
+        this.managerAfter = managerAfter;
+    }
+}

+ 101 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/DisView.java

@@ -0,0 +1,101 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+public class DisView {
+    //流程定义号
+    private String procInsId;
+    //配网工程专职发起流程
+    private String fullTimeStart;
+    //配网项目经理导入交底结论
+    private String projectManagerImport;
+    //施工单位项目经理判断是否存在问题
+    private String unitManagerJudge;
+    //配网项目经理判断是否存在问题
+    private String projectManagerJudge;
+    //项目关闭
+    private String projectClosure;
+    //设计变更
+    private String designChange;
+    //政策处理类型
+    private String policyType;
+    //完成技术交底时间
+    private String finTime;
+
+    public String getProcInsId() {
+        return procInsId;
+    }
+
+    public void setProcInsId(String procInsId) {
+        this.procInsId = procInsId;
+    }
+
+    public String getFullTimeStart() {
+        return fullTimeStart;
+    }
+
+    public void setFullTimeStart(String fullTimeStart) {
+        this.fullTimeStart = fullTimeStart;
+    }
+
+    public String getProjectManagerImport() {
+        return projectManagerImport;
+    }
+
+    public void setProjectManagerImport(String projectManagerImport) {
+        this.projectManagerImport = projectManagerImport;
+    }
+
+
+
+    public String getUnitManagerJudge() {
+        return unitManagerJudge;
+    }
+
+    public void setUnitManagerJudge(String unitManagerJudge) {
+        this.unitManagerJudge = unitManagerJudge;
+    }
+
+
+
+
+    public String getProjectManagerJudge() {
+        return projectManagerJudge;
+    }
+
+    public void setProjectManagerJudge(String projectManagerJudge) {
+        this.projectManagerJudge = projectManagerJudge;
+    }
+
+
+
+    public String getProjectClosure() {
+        return projectClosure;
+    }
+
+    public void setProjectClosure(String projectClosure) {
+        this.projectClosure = projectClosure;
+    }
+
+    public String getDesignChange() {
+        return designChange;
+    }
+
+    public void setDesignChange(String designChange) {
+        this.designChange = designChange;
+    }
+
+    public String getPolicyType() {
+        return policyType;
+    }
+
+    public void setPolicyType(String policyType) {
+        this.policyType = policyType;
+    }
+
+    public String getFinTime() {
+        return finTime;
+    }
+
+    public void setFinTime(String finTime) {
+        this.finTime = finTime;
+    }
+}

+ 125 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/PolicyView.java

@@ -0,0 +1,125 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+public class PolicyView {
+    //(行政政处)
+    //交底:上传未盖章施工方案(行政政处(城区道路))行政政处
+    private String urbanRoad;
+    //交底:项目经理判断是否需要政策处理行政政处
+    private String policyNeed;
+    //交底:施工方案盖章行政政处
+    private String sealScheme;
+    //交底:上传收据行政政处
+    private String uploadReceipt;
+    //交底:上传缴费单行政政处
+    private String payment;
+    //交底:上传借款单据行政政处
+    private String uploadLoan;
+    //交底:判断政策处理
+    private String handling;
+    //交底:上传未签字版政策处理清单
+    private String unsignedVersion;
+    //交底:项目经理判断农村是否需要政策处理
+    private String ruralNeed;
+    //交底:上传签字版政策处理清单
+    private String policyList;
+    //交底:上传签字版合同
+    private String signedContract;
+    //交底:上传借款单据1
+    private String uploadLoan1;
+
+    public String getUrbanRoad() {
+        return urbanRoad;
+    }
+
+    public void setUrbanRoad(String urbanRoad) {
+        this.urbanRoad = urbanRoad;
+    }
+
+    public String getPolicyNeed() {
+        return policyNeed;
+    }
+
+    public void setPolicyNeed(String policyNeed) {
+        this.policyNeed = policyNeed;
+    }
+
+    public String getSealScheme() {
+        return sealScheme;
+    }
+
+    public void setSealScheme(String sealScheme) {
+        this.sealScheme = sealScheme;
+    }
+
+    public String getUploadReceipt() {
+        return uploadReceipt;
+    }
+
+    public void setUploadReceipt(String uploadReceipt) {
+        this.uploadReceipt = uploadReceipt;
+    }
+
+    public String getPayment() {
+        return payment;
+    }
+
+    public void setPayment(String payment) {
+        this.payment = payment;
+    }
+
+    public String getUploadLoan() {
+        return uploadLoan;
+    }
+
+    public void setUploadLoan(String uploadLoan) {
+        this.uploadLoan = uploadLoan;
+    }
+
+    public String getHandling() {
+        return handling;
+    }
+
+    public void setHandling(String handling) {
+        this.handling = handling;
+    }
+
+    public String getUnsignedVersion() {
+        return unsignedVersion;
+    }
+
+    public void setUnsignedVersion(String unsignedVersion) {
+        this.unsignedVersion = unsignedVersion;
+    }
+
+    public String getRuralNeed() {
+        return ruralNeed;
+    }
+
+    public void setRuralNeed(String ruralNeed) {
+        this.ruralNeed = ruralNeed;
+    }
+
+    public String getPolicyList() {
+        return policyList;
+    }
+
+    public void setPolicyList(String policyList) {
+        this.policyList = policyList;
+    }
+
+    public String getSignedContract() {
+        return signedContract;
+    }
+
+    public void setSignedContract(String signedContract) {
+        this.signedContract = signedContract;
+    }
+
+    public String getUploadLoan1() {
+        return uploadLoan1;
+    }
+
+    public void setUploadLoan1(String uploadLoan1) {
+        this.uploadLoan1 = uploadLoan1;
+    }
+}

+ 101 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/ReceiveView.java

@@ -0,0 +1,101 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+public class ReceiveView {
+    //项目经理开领料单
+    private String openList;
+
+    //领料:经理填写项目模块
+    private String mangagerFile;
+
+    //项目的第几次领料
+    private String theNumber;
+
+    //领料:施工单位领导审核
+    private String maLeaderReviewed;
+
+    //领料:施工单位物资专职审核
+    private String conUnitReviewed;
+
+    //领料:配网项目经理审核领料单
+    private String conMangagerReviewed;
+
+    //领料:配网物资专职审核领料单
+    private String fullReviewed;
+
+    //领料:项目中心领导审核领料单
+    private String leaderReviewed;
+    //完成
+    private String recFinTime;
+
+    public String getOpenList() {
+        return openList;
+    }
+
+    public void setOpenList(String openList) {
+        this.openList = openList;
+    }
+
+    public String getMangagerFile() {
+        return mangagerFile;
+    }
+
+    public void setMangagerFile(String mangagerFile) {
+        this.mangagerFile = mangagerFile;
+    }
+
+    public String getTheNumber() {
+        return theNumber;
+    }
+
+    public void setTheNumber(String theNumber) {
+        this.theNumber = theNumber;
+    }
+
+    public String getMaLeaderReviewed() {
+        return maLeaderReviewed;
+    }
+
+    public void setMaLeaderReviewed(String maLeaderReviewed) {
+        this.maLeaderReviewed = maLeaderReviewed;
+    }
+
+    public String getConUnitReviewed() {
+        return conUnitReviewed;
+    }
+
+    public void setConUnitReviewed(String conUnitReviewed) {
+        this.conUnitReviewed = conUnitReviewed;
+    }
+
+    public String getConMangagerReviewed() {
+        return conMangagerReviewed;
+    }
+
+    public void setConMangagerReviewed(String conMangagerReviewed) {
+        this.conMangagerReviewed = conMangagerReviewed;
+    }
+
+    public String getFullReviewed() {
+        return fullReviewed;
+    }
+
+    public void setFullReviewed(String fullReviewed) {
+        this.fullReviewed = fullReviewed;
+    }
+
+    public String getLeaderReviewed() {
+        return leaderReviewed;
+    }
+
+    public void setLeaderReviewed(String leaderReviewed) {
+        this.leaderReviewed = leaderReviewed;
+    }
+
+    public String getRecFinTime() {
+        return recFinTime;
+    }
+
+    public void setRecFinTime(String recFinTime) {
+        this.recFinTime = recFinTime;
+    }
+}

+ 151 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/ScheduleView.java

@@ -0,0 +1,151 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+
+import java.util.List;
+
+/**
+ * 查询模块实体类
+ * */
+public class ScheduleView extends ActEntity<ScheduleView> {
+    //项目定义号
+    private String projectId;
+    //项目定义号集合
+    private List<String> projectList;
+    //项目自定义描述
+    private String requireName;
+    //项目交底类型
+    private String clarificaitonType;
+    //施工交底状态
+    private String status;
+    //物资领料状态
+    private String acquisitionStatus;
+    //施工状态
+    private String constructionStatus;
+    //结算状态
+    private String settStatus;
+    //施工交底流程
+    private DisView disView;
+    //物资领料流程
+    private ReceiveView receiveView;
+    //结算流程
+    private SettView settView;
+    //设计变更
+    private DesignView designView;
+    //项目关闭
+    private ClosureView closureView;
+    //政策处理
+    private PolicyView policyView;
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    public List<String> getProjectList() {
+        return projectList;
+    }
+
+    public void setProjectList(List<String> projectList) {
+        this.projectList = projectList;
+    }
+
+    public String getRequireName() {
+        return requireName;
+    }
+
+    public void setRequireName(String requireName) {
+        this.requireName = requireName;
+    }
+
+    public String getClarificaitonType() {
+        return clarificaitonType;
+    }
+
+    public void setClarificaitonType(String clarificaitonType) {
+        this.clarificaitonType = clarificaitonType;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getAcquisitionStatus() {
+        return acquisitionStatus;
+    }
+
+    public void setAcquisitionStatus(String acquisitionStatus) {
+        this.acquisitionStatus = acquisitionStatus;
+    }
+
+    public String getConstructionStatus() {
+        return constructionStatus;
+    }
+
+    public void setConstructionStatus(String constructionStatus) {
+        this.constructionStatus = constructionStatus;
+    }
+
+    public String getSettStatus() {
+        return settStatus;
+    }
+
+    public void setSettStatus(String settStatus) {
+        this.settStatus = settStatus;
+    }
+
+    public DisView getDisView() {
+        return disView;
+    }
+
+    public void setDisView(DisView disView) {
+        this.disView = disView;
+    }
+
+    public ReceiveView getReceiveView() {
+        return receiveView;
+    }
+
+    public void setReceiveView(ReceiveView receiveView) {
+        this.receiveView = receiveView;
+    }
+
+    public SettView getSettView() {
+        return settView;
+    }
+
+    public void setSettView(SettView settView) {
+        this.settView = settView;
+    }
+
+    public DesignView getDesignView() {
+        return designView;
+    }
+
+    public void setDesignView(DesignView designView) {
+        this.designView = designView;
+    }
+
+    public ClosureView getClosureView() {
+        return closureView;
+    }
+
+    public void setClosureView(ClosureView closureView) {
+        this.closureView = closureView;
+    }
+
+    public PolicyView getPolicyView() {
+        return policyView;
+    }
+
+    public void setPolicyView(PolicyView policyView) {
+        this.policyView = policyView;
+    }
+}

+ 44 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/entity/SettView.java

@@ -0,0 +1,44 @@
+package com.jeeplus.modules.sg.scheduleView.entity;
+
+public class SettView {
+    //结算验收发起模块
+    private String settStart;
+    //填写现场使用数量
+    private String settNumber;
+    //审计现场复核数量
+    private String settReview;
+    //生成领料退料单
+    private String settFin;
+
+    public String getSettStart() {
+        return settStart;
+    }
+
+    public void setSettStart(String settStart) {
+        this.settStart = settStart;
+    }
+
+    public String getSettNumber() {
+        return settNumber;
+    }
+
+    public void setSettNumber(String settNumber) {
+        this.settNumber = settNumber;
+    }
+
+    public String getSettReview() {
+        return settReview;
+    }
+
+    public void setSettReview(String settReview) {
+        this.settReview = settReview;
+    }
+
+    public String getSettFin() {
+        return settFin;
+    }
+
+    public void setSettFin(String settFin) {
+        this.settFin = settFin;
+    }
+}

+ 33 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/mapper/ScheduleViewMapper.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.scheduleView.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.scheduleView.entity.ScheduleView;
+import com.jeeplus.modules.sg.settActivi.entity.SettActivi;
+import com.jeeplus.modules.sg.settActivi.entity.SettList;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 查询模块MAPPER接口
+ * @author
+ * @version 2019-11-08
+ */
+
+@MyBatisMapper
+public interface ScheduleViewMapper extends BaseMapper<ScheduleView> {
+
+    List<ScheduleView> scheduleProjectAll(ScheduleView scheduleView);
+
+    List<ScheduleView> disAll(ScheduleView scheduleView);
+
+    List<ScheduleView> recAll(ScheduleView scheduleView);
+
+    List<ScheduleView> settAll(ScheduleView scheduleView);
+
+}

+ 155 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/mapper/xml/ScheduleViewMapper.xml

@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.sg.scheduleView.mapper.ScheduleViewMapper">
+
+    <insert id="insert">
+        INSERT INTO md_acquisition_process
+        (id,
+         proc_ins_id,
+         project_id,
+         the_number,
+         version,
+         select_number,
+         create_by,
+         create_date,
+         update_by,
+         update_date,
+         remarks,
+         del_flag)
+        VALUES (#{id},
+                #{procInsId},
+                #{projectId},
+                #{theNumber},
+                #{version},
+                #{selectNumber},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag})
+    </insert>
+
+    <update id="update">
+        UPDATE md_acquisition_process
+        SET proc_ins_id   = #{procInsId},
+            project_id    = #{projectId},
+            the_number    = #{theNumber},
+            version       = #{version},
+            select_number = #{selectNumber},
+            update_by     = #{updateBy.id},
+            update_date   = #{updateDate},
+            remarks       = #{remarks}
+        WHERE id = #{id}
+    </update>
+
+
+    <!--物理删除-->
+    <update id="delete">
+        DELETE
+        FROM md_module_block
+        WHERE id = #{id}
+    </update>
+
+    <!--逻辑删除-->
+    <update id="deleteByLogic">
+        UPDATE md_module_block
+        SET del_flag = #{DEL_FLAG_DELETE}
+        WHERE id = #{id}
+    </update>
+
+
+    <select id="scheduleProjectAll" resultType="com.jeeplus.modules.sg.scheduleView.entity.ScheduleView">
+        select require_name,
+               project_id,
+               clarificaiton_type,
+               status,
+               acquisition_status,
+               construction_status,
+               whether_close_status,
+               sett_status
+        from xm_project_details
+        <where>
+            1 = 1
+            <if test="projectList!=null and projectList.size>0 and projectList!=''">
+            and project_id in(
+                <foreach collection="projectList" item="item" separator=",">
+                    #{item}
+                </foreach>
+                )
+            </if>
+        </where>
+    </select>
+
+    <select id="disAll" resultType="com.jeeplus.modules.sg.scheduleView.entity.ScheduleView">
+        select a.require_name,
+            a.project_id,
+            a.clarificaiton_type,
+            a.status,
+            a.acquisition_status,
+            a.construction_status,
+            a.whether_close_status,
+            a.sett_status,
+            b.proc_ins_id,
+            c.channel
+            from xm_project_details a LEFT JOIN xm_construction_clarificaiton b
+        on a.project_id = b.project_id LEFT JOIN xm_disclose_conclusion c on b.proc_ins_id = c.proc_ins_id
+        <where>
+            1 = 1
+            <if test="projectList!=null and projectList.size>0 and projectList!=''">
+                and a.project_id in(
+                <foreach collection="projectList" item="item" separator=",">
+                    #{item}
+                </foreach>
+                )
+            </if>
+        </where>
+    </select>
+
+    <select id="recAll" resultType="com.jeeplus.modules.sg.scheduleView.entity.ScheduleView">
+        select a.require_name,
+               a.project_id,
+               a.clarificaiton_type,
+               a.status,
+               a.acquisition_status,
+               a.construction_status,
+               a.whether_close_status,
+               a.sett_status,
+               b.proc_ins_id,
+               b.the_number as 'receiveView.theNumber'
+        from xm_project_details a left join md_acquisition_process b on a.id = b.project_id
+        <where>
+            1 = 1
+            <if test="projectList!=null and projectList.size>0 and projectList!=''">
+                and a.project_id in(
+                <foreach collection="projectList" item="item" separator=",">
+                    #{item}
+                </foreach>
+                )
+            </if>
+        </where>
+    </select>
+    
+    <select id="settAll" resultType="com.jeeplus.modules.sg.scheduleView.entity.ScheduleView">
+        select a.require_name,
+               a.project_id,
+               a.clarificaiton_type,
+               a.status,
+               a.acquisition_status,
+               a.construction_status,
+               a.whether_close_status,
+               a.sett_status,
+               b.proc_ins_id
+        from xm_project_details a left join xm_settlement_process b on a.project_id = b.projectId
+        <where>
+            1 = 1
+            <if test="projectList!=null and projectList.size>0 and projectList!=''">
+                and a.project_id in(
+                <foreach collection="projectList" item="item" separator=",">
+                    #{item}
+                </foreach>
+                )
+            </if>
+        </where>
+    </select>
+</mapper>

+ 62 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/service/ScheduleViewService.java

@@ -0,0 +1,62 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.scheduleView.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.scheduleView.entity.ScheduleView;
+import com.jeeplus.modules.sg.scheduleView.mapper.ScheduleViewMapper;
+import com.jeeplus.modules.sg.settActivi.entity.SettActivi;
+import com.jeeplus.modules.sg.settActivi.entity.SettList;
+import com.jeeplus.modules.sg.settActivi.mapper.SettActiviMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 查询模块Service
+ * @author
+ * @version 2019-11-08
+ */
+@Service
+@Transactional(readOnly = true)
+public class ScheduleViewService extends CrudService<ScheduleViewMapper, ScheduleView> {
+
+	@Autowired
+	private ScheduleViewMapper scheduleViewMapper;
+
+
+	public Page<ScheduleView> scheduleProjectAll(Page<ScheduleView> page, ScheduleView scheduleView) {
+		dataRuleFilter(scheduleView);
+		scheduleView.setPage(page);
+		page.setList(scheduleViewMapper.scheduleProjectAll(scheduleView));
+		return page;
+	}
+
+	//List<ScheduleView> disAll(ScheduleView scheduleView);
+
+	public Page<ScheduleView> disAll(Page<ScheduleView> page, ScheduleView scheduleView) {
+		dataRuleFilter(scheduleView);
+		scheduleView.setPage(page);
+		page.setList(scheduleViewMapper.disAll(scheduleView));
+		return page;
+	}
+
+	public Page<ScheduleView> recAll(Page<ScheduleView> page, ScheduleView scheduleView) {
+		dataRuleFilter(scheduleView);
+		scheduleView.setPage(page);
+		page.setList(scheduleViewMapper.recAll(scheduleView));
+		return page;
+	}
+
+	public Page<ScheduleView> setAll(Page<ScheduleView> page, ScheduleView scheduleView) {
+		dataRuleFilter(scheduleView);
+		scheduleView.setPage(page);
+		page.setList(scheduleViewMapper.settAll(scheduleView));
+		return page;
+	}
+}

+ 784 - 0
src/main/java/com/jeeplus/modules/sg/scheduleView/web/ScheduleViewController.java

@@ -0,0 +1,784 @@
+package com.jeeplus.modules.sg.scheduleView.web;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
+import com.jeeplus.modules.sg.scheduleView.entity.*;
+import com.jeeplus.modules.sg.scheduleView.service.ScheduleViewService;
+import org.activiti.engine.history.HistoricActivityInstance;
+import org.activiti.engine.task.Task;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Controller
+@RequestMapping(value = "${adminPath}/scheduleView")
+public class ScheduleViewController extends BaseController {
+    @Autowired
+    private ScheduleViewService scheduleViewService;
+
+
+    /**
+     * 模块查看所有项目信息
+     */
+    @RequestMapping(value = "allView")
+    public String form(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/scheduleView";
+    }
+
+    /**
+     * 施工交底项目模块
+     */
+    @RequestMapping(value = "disView")
+    public String disView(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/disView";
+    }
+
+    /**
+     * 物资领料模块
+     */
+    @RequestMapping(value = "recView")
+    public String recView(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/recView";
+    }
+
+    /**
+     * 结算模块
+     */
+    @RequestMapping(value = "settView")
+    public String settView(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/settView";
+    }
+
+    /**
+     * 设计进度
+     */
+    @RequestMapping(value = "designView")
+    public String designView(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/designView";
+    }
+
+    /**
+     * 项目关闭进度
+     */
+    @RequestMapping(value = "closureView")
+    public String closureView(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/closureView";
+    }
+
+    /**
+     * 政策处理进度
+     */
+    @RequestMapping(value = "policyView")
+    public String policyView(ScheduleView scheduleView, Model model) {
+        model.addAttribute("scheduleView", scheduleView);
+        return "modules/sg/scheduleView/show/policyView";
+    }
+
+    /**
+     * 大体项目所有信息
+     */
+    @ResponseBody
+    @RequestMapping(value = "allData")
+    public Map<String, Object> useQuantityData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model) {
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.scheduleProjectAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        for (ScheduleView c : list) {
+            String status = c.getStatus();
+            String acquisitionStatus = c.getAcquisitionStatus();
+            String constructionStatus = c.getConstructionStatus();
+            String settStatus = c.getSettStatus();
+            if ("0".equalsIgnoreCase(status)) {
+                c.setStatus("未发起流程");
+            } else if ("1".equalsIgnoreCase(status)) {
+                c.setStatus("发起流程中");
+            } else {
+                c.setStatus("流程结束");
+            }
+
+            if ("0".equalsIgnoreCase(acquisitionStatus)) {
+                c.setAcquisitionStatus("未发起流程");
+            } else if ("1".equalsIgnoreCase(acquisitionStatus)) {
+                c.setAcquisitionStatus("发起流程中");
+            } else {
+                c.setAcquisitionStatus("流程结束");
+            }
+            if ("0".equalsIgnoreCase(constructionStatus)) {
+                c.setConstructionStatus("未发起流程");
+            } else if ("1".equalsIgnoreCase(constructionStatus)) {
+                c.setConstructionStatus("发起流程中");
+            } else {
+                c.setConstructionStatus("流程结束");
+            }
+            if ("0".equalsIgnoreCase(settStatus)) {
+                c.setSettStatus("未发起流程");
+            } else if ("1".equalsIgnoreCase(status)) {
+                c.setSettStatus("发起流程中");
+            } else {
+                c.setSettStatus("流程结束");
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+
+
+    /**
+     * 施工交底项目列表
+     */
+    @ResponseBody
+    @RequestMapping(value = "disData")
+    public Map<String, Object> disData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model) {
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.disAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String fin = "";
+        for (ScheduleView s : list) {
+            String procInsId = s.getProcInsId();
+            String clarificaitonType = s.getClarificaitonType();
+            if (procInsId != null && !"".equals(procInsId)) {
+                List<HistoricActivityInstance> historicActivityInstances = MyActiviUtils.hisTask(procInsId);
+                List<Task> tasks = MyActiviUtils.runNowTask(procInsId);
+                String runNowName = "";
+                for (Task a : tasks) {
+                    runNowName += a.getName();
+                }
+                for (HistoricActivityInstance a : historicActivityInstances) {
+                    String activityName = a.getActivityName();
+                    String format = formatter.format(a.getEndTime());
+                    if (s.getDisView() == null) {
+                        s.setDisView(new DisView());
+                    }
+                    if ("开始".equals(activityName)) {
+                        DisView disView = s.getDisView();
+                        if (disView != null) {
+                            s.getDisView().setFullTimeStart(format);
+                        } else {
+                            DisView disView1 = new DisView();
+                            disView1.setFullTimeStart(format);
+                            s.setDisView(disView1);
+                        }
+                    }
+                    if ("施工单位自行交底".equals(clarificaitonType)) {
+                        s.getDisView().setProjectManagerImport("施工单位交底没有此流程");
+                        if ("交底:施工单位组织交底".equals(activityName)) {
+                            s.getDisView().setUnitManagerJudge(format);
+                        }
+                        if ("交底:项目经理人工判断问题".equals(activityName)) {
+                            s.getDisView().setProjectManagerJudge(format);
+                            if (runNowName.contains("交底:判定设计变更")
+                                    || runNowName.contains("交底:项目经理判断是否需要再设计变更")
+                                    || runNowName.contains("交底:经研所设计变更")
+                                    || runNowName.contains("交底:运行人员审核图纸")
+                                    || runNowName.contains("交底:重新设计")
+                                    || runNowName.contains("交底:运行人员判断变更后材料")
+                                    || runNowName.contains("交底:配网项目经理判断变更后材料")
+                                    || runNowName.contains("交底:上传未盖章施工方案(行政政处(城区道路))")
+                                    || runNowName.contains("交底:项目经理判断是否需要政策处理")
+                                    || runNowName.contains("交底:施工方案盖章")
+                                    || runNowName.contains("交底:上传收据")
+                                    || runNowName.contains("交底:上传缴费单")
+                                    || runNowName.contains("交底:上传借款单据")
+                                    || runNowName.contains("交底:判断政策处理")
+                                    || runNowName.contains("交底:上传未签字版政策处理清单")
+                                    || runNowName.contains("交底:项目经理判断农村是否需要政策处理")
+                                    || runNowName.contains("交底:上传签字版政策处理清单")
+                                    || runNowName.contains("交底:上传签字版合同")
+                                    || runNowName.contains("交底:上传借款单据1")
+                                    || runNowName.contains("交底:判断项目是否需要关闭")
+                                    || runNowName.contains("交底:配网运行人员")
+                                    || runNowName.contains("交底:确认项目关闭")) {
+                                if (runNowName.contains("交底:判定设计变更")
+                                        || runNowName.contains("交底:项目经理判断是否需要再设计变更")
+                                        || runNowName.contains("交底:经研所设计变更")
+                                        || runNowName.contains("交底:运行人员审核图纸")
+                                        || runNowName.contains("交底:重新设计")
+                                        || runNowName.contains("交底:运行人员判断变更后材料")
+                                        || runNowName.contains("交底:配网项目经理判断变更后材料")) {
+                                    if (runNowName.contains("交底:判定设计变更")) {
+                                        s.getDisView().setDesignChange("交底:判定设计变更");
+                                    }
+                                    if (runNowName.contains("交底:项目经理判断是否需要再设计变更")) {
+                                        s.getDisView().setDesignChange("交底:项目经理判断是否需要再设计变更");
+                                    }
+                                    if (runNowName.contains("交底:经研所设计变更")) {
+                                        s.getDisView().setDesignChange("交底:经研所设计变更");
+                                    }
+                                    if (runNowName.contains("交底:运行人员审核图纸")) {
+                                        s.getDisView().setDesignChange("交底:运行人员审核图纸");
+                                    }
+                                    if (runNowName.contains("交底:重新设计")) {
+                                        s.getDisView().setDesignChange("交底:重新设计");
+                                    }
+                                    if (runNowName.contains("交底:运行人员判断变更后材料")) {
+                                        s.getDisView().setDesignChange("交底:运行人员判断变更后材料");
+                                    }
+                                    if (runNowName.contains("交底:配网项目经理判断变更后材料")) {
+                                        s.getDisView().setDesignChange("交底:配网项目经理判断变更后材料");
+                                    }
+                                }
+                                if (runNowName.contains("交底:上传未盖章施工方案(行政政处(城区道路))")
+                                        || runNowName.contains("交底:项目经理判断是否需要政策处理")
+                                        || runNowName.contains("交底:施工方案盖章")
+                                        || runNowName.contains("交底:上传收据")
+                                        || runNowName.contains("交底:上传缴费单")
+                                        || runNowName.contains("交底:上传借款单据")
+                                        || runNowName.contains("交底:判断政策处理")
+                                        || runNowName.contains("交底:上传未签字版政策处理清单")
+                                        || runNowName.contains("交底:项目经理判断农村是否需要政策处理")
+                                        || runNowName.contains("交底:上传签字版政策处理清单")
+                                        || runNowName.contains("交底:上传签字版合同")
+                                        || runNowName.contains("交底:上传借款单据1")) {
+                                    String info = "";
+                                    if (runNowName.contains("交底:上传未盖章施工方案(行政政处(城区道路))")) {
+                                        info += "交底:上传未盖章施工方案(行政政处(城区道路));";
+                                    }
+                                    if (runNowName.contains("交底:项目经理判断是否需要政策处理")) {
+                                        info += "交底:项目经理判断是否需要政策处理;";
+                                    }
+                                    if (runNowName.contains("交底:施工方案盖章")) {
+                                        info += "交底:施工方案盖章;";
+                                    }
+                                    if (runNowName.contains("交底:上传收据")) {
+                                        info += "交底:上传收据;";
+                                    }
+                                    if (runNowName.contains("交底:上传缴费单")) {
+                                        info += "交底:上传缴费单;";
+                                    }
+                                    if (runNowName.contains("交底:上传借款单据")) {
+                                        info += "交底:上传借款单据;";
+                                    }
+                                    if (runNowName.contains("交底:判断政策处理")) {
+                                        info += "交底:判断政策处理;";
+                                    }
+                                    if (runNowName.contains("交底:上传未签字版政策处理清单")) {
+                                        info += "交底:上传未签字版政策处理清单;";
+                                    }
+                                    if (runNowName.contains("交底:项目经理判断农村是否需要政策处理")) {
+                                        info += "交底:项目经理判断农村是否需要政策处理;";
+                                    }
+                                    if (runNowName.contains("交底:上传签字版政策处理清单")) {
+                                        info += "交底:上传签字版政策处理清单;";
+                                    }
+                                    if (runNowName.contains("交底:上传签字版合同")) {
+                                        info += "交底:上传签字版合同;";
+                                    }
+                                    if (runNowName.contains("交底:上传借款单据1")) {
+                                        info += "交底:农村上传借款单据;";
+                                    }
+                                    s.getDisView().setPolicyType(info);
+                                }
+                                if (runNowName.contains("交底:判断项目是否需要关闭")
+                                        || runNowName.contains("交底:配网运行人员")
+                                        || runNowName.contains("交底:确认项目关闭")) {
+                                    if (runNowName.contains("交底:判断项目是否需要关闭")) {
+                                        s.getDisView().setProjectClosure("交底:判断项目是否需要关闭");
+                                    }
+                                    if (runNowName.contains("交底:配网运行人员")) {
+                                        s.getDisView().setProjectClosure("交底:配网运行人员");
+                                    }
+                                    if (runNowName.contains("交底:确认项目关闭")) {
+                                        s.getDisView().setProjectClosure("交底:确认项目关闭");
+                                    }
+                                }
+                            }
+                        }
+
+                        if ("交底:配网项目经理判断变更后材料".equals(activityName)) {
+                            s.getDisView().setDesignChange(format);
+                        }
+                        if ("交底:上传借款单据".equals(activityName)) {
+                            s.getDisView().setPolicyType(format);
+                        }
+                        if ("交底:上传借款单据1".equals(activityName)) {
+                            s.getDisView().setPolicyType(format);
+                        }
+                        if ("交底:确认项目关闭".equals(activityName)) {
+                            s.getDisView().setProjectClosure(format);
+                        }
+                    } else {
+                        s.getDisView().setUnitManagerJudge("项目组织交底没有此流程");
+                        s.getDisView().setProjectManagerImport("项目组织交底没有此流程");
+                        //项目经理组织交底后
+                        if ("交底:项目经理组织交底".equals(activityName)||"交底:项目经理人工审核问题".equals(activityName)||"交底:项目经理人工判断问题".equals(activityName)) {
+                            s.getDisView().setProjectManagerImport(format);
+                        }
+                        if (runNowName!=null || !runNowName.equals("")) {
+                        if (runNowName.contains("交底:判定设计变更")
+                                || runNowName.contains("交底:项目经理判断是否需要再设计变更")
+                                || runNowName.contains("交底:经研所设计变更")
+                                || runNowName.contains("交底:运行人员审核图纸")
+                                || runNowName.contains("交底:重新设计")
+                                || runNowName.contains("交底:运行人员判断变更后材料")
+                                || runNowName.contains("交底:配网项目经理判断变更后材料")
+                                || runNowName.contains("交底:上传未盖章施工方案(行政政处(城区道路))")
+                                || runNowName.contains("交底:项目经理判断是否需要政策处理")
+                                || runNowName.contains("交底:施工方案盖章")
+                                || runNowName.contains("交底:上传收据")
+                                || runNowName.contains("交底:上传缴费单")
+                                || runNowName.contains("交底:上传借款单据")
+                                || runNowName.contains("交底:判断政策处理")
+                                || runNowName.contains("交底:上传未签字版政策处理清单")
+                                || runNowName.contains("交底:项目经理判断农村是否需要政策处理")
+                                || runNowName.contains("交底:上传签字版政策处理清单")
+                                || runNowName.contains("交底:上传签字版合同")
+                                || runNowName.contains("交底:上传借款单据1")
+                                || runNowName.contains("交底:判断项目是否需要关闭")
+                                || runNowName.contains("交底:配网运行人员")
+                                || runNowName.contains("交底:确认项目关闭")) {
+                            if (runNowName.contains("交底:判定设计变更")
+                                    || runNowName.contains("交底:项目经理判断是否需要再设计变更")
+                                    || runNowName.contains("交底:经研所设计变更")
+                                    || runNowName.contains("交底:运行人员审核图纸")
+                                    || runNowName.contains("交底:重新设计")
+                                    || runNowName.contains("交底:运行人员判断变更后材料")
+                                    || runNowName.contains("交底:配网项目经理判断变更后材料")) {
+                                if (runNowName.contains("交底:判定设计变更")) {
+                                    s.getDisView().setDesignChange("交底:判定设计变更");
+                                }
+                                if (runNowName.contains("交底:项目经理判断是否需要再设计变更")) {
+                                    s.getDisView().setDesignChange("交底:项目经理判断是否需要再设计变更");
+                                }
+                                if (runNowName.contains("交底:经研所设计变更")) {
+                                    s.getDisView().setDesignChange("交底:经研所设计变更");
+                                }
+                                if (runNowName.contains("交底:运行人员审核图纸")) {
+                                    s.getDisView().setDesignChange("交底:运行人员审核图纸");
+                                }
+                                if (runNowName.contains("交底:重新设计")) {
+                                    s.getDisView().setDesignChange("交底:重新设计");
+                                }
+                                if (runNowName.contains("交底:运行人员判断变更后材料")) {
+                                    s.getDisView().setDesignChange("交底:运行人员判断变更后材料");
+                                }
+                                if (runNowName.contains("交底:配网项目经理判断变更后材料")) {
+                                    s.getDisView().setDesignChange("交底:配网项目经理判断变更后材料");
+                                }
+                            }
+                            if (runNowName.contains("交底:上传未盖章施工方案(行政政处(城区道路))")
+                                    || runNowName.contains("交底:项目经理判断是否需要政策处理")
+                                    || runNowName.contains("交底:施工方案盖章")
+                                    || runNowName.contains("交底:上传收据")
+                                    || runNowName.contains("交底:上传缴费单")
+                                    || runNowName.contains("交底:上传借款单据")
+                                    || runNowName.contains("交底:判断政策处理")
+                                    || runNowName.contains("交底:上传未签字版政策处理清单")
+                                    || runNowName.contains("交底:项目经理判断农村是否需要政策处理")
+                                    || runNowName.contains("交底:上传签字版政策处理清单")
+                                    || runNowName.contains("交底:上传签字版合同")
+                                    || runNowName.contains("交底:上传借款单据1")) {
+                                String info = "";
+                                if (runNowName.contains("交底:上传未盖章施工方案(行政政处(城区道路))")) {
+                                    info += "交底:上传未盖章施工方案(行政政处(城区道路));";
+                                }
+                                if (runNowName.contains("交底:项目经理判断是否需要政策处理")) {
+                                    info += "交底:项目经理判断是否需要政策处理;";
+                                }
+                                if (runNowName.contains("交底:施工方案盖章")) {
+                                    info += "交底:施工方案盖章;";
+                                }
+                                if (runNowName.contains("交底:上传收据")) {
+                                    info += "交底:上传收据;";
+                                }
+                                if (runNowName.contains("交底:上传缴费单")) {
+                                    info += "交底:上传缴费单;";
+                                }
+                                if (runNowName.contains("交底:上传借款单据")) {
+                                    info += "交底:上传借款单据;";
+                                }
+                                if (runNowName.contains("交底:判断政策处理")) {
+                                    info += "交底:判断政策处理;";
+                                }
+                                if (runNowName.contains("交底:上传未签字版政策处理清单")) {
+                                    info += "交底:上传未签字版政策处理清单;";
+                                }
+                                if (runNowName.contains("交底:项目经理判断农村是否需要政策处理")) {
+                                    info += "交底:项目经理判断农村是否需要政策处理;";
+                                }
+                                if (runNowName.contains("交底:上传签字版政策处理清单")) {
+                                    info += "交底:上传签字版政策处理清单;";
+                                }
+                                if (runNowName.contains("交底:上传签字版合同")) {
+                                    info += "交底:上传签字版合同;";
+                                }
+                                if (runNowName.contains("交底:上传借款单据1")) {
+                                    info += "交底:农村上传借款单据;";
+                                }
+                                s.getDisView().setPolicyType(info);
+                            }
+                            if (runNowName.contains("交底:判断项目是否需要关闭")
+                                    || runNowName.contains("交底:配网运行人员")
+                                    || runNowName.contains("交底:确认项目关闭")) {
+                                if (runNowName.contains("交底:判断项目是否需要关闭")) {
+                                    s.getDisView().setProjectClosure("交底:判断项目是否需要关闭");
+                                }
+                                if (runNowName.contains("交底:配网运行人员")) {
+                                    s.getDisView().setProjectClosure("交底:配网运行人员");
+                                }
+                                if (runNowName.contains("交底:确认项目关闭")) {
+                                    s.getDisView().setProjectClosure("交底:确认项目关闭");
+                                }
+                            }
+                        }
+                        }
+                        if ("交底:配网项目经理判断变更后材料".equals(activityName)) {
+                            s.getDisView().setDesignChange(format);
+                        }
+                        if ("交底:上传借款单据".equals(activityName)) {
+                            s.getDisView().setPolicyType(format);
+                        }
+                        if ("交底:上传借款单据1".equals(activityName)) {
+                            s.getDisView().setPolicyType(format);
+                        }
+                        if ("交底:确认项目关闭".equals(activityName)) {
+                            s.getDisView().setProjectClosure(format);
+                        }
+                    }
+                    //
+                    if ("交底:配网项目经理判断变更后材料".equals(activityName)
+                            || "交底:上传借款单据".equals(activityName)
+                            || "交底:上传借款单据1".equals(activityName)
+                            || "交底:确认项目关闭".equals(activityName)) {
+                        if (fin.equals("")) {
+                            fin = format;
+                        }
+                        if ( fin.compareTo(format) < 1) {
+                            fin = format;
+                        }
+                    }
+                }
+                if ("2".equals(s.getStatus())) {
+                    s.getDisView().setFinTime(fin);
+                }
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "recData")
+    public Map<String, Object> recData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model){
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.recAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (ScheduleView s : list) {
+            String procInsId = s.getProcInsId();
+            if (procInsId != null && !"".equals(procInsId)) {
+                List<HistoricActivityInstance> historicActivityInstances = MyActiviUtils.hisTask(procInsId);
+                List<Task> tasks = MyActiviUtils.runNowTask(procInsId);
+                for (HistoricActivityInstance a : historicActivityInstances) {
+                    String activityName = a.getActivityName();
+                    String format = formatter.format(a.getEndTime());
+                    if (s.getReceiveView() == null) {
+                        s.setReceiveView(new ReceiveView());
+                    }
+                    if ("项目经理开领料单".equals(activityName)) {
+                        s.getReceiveView().setOpenList(format);
+                    }
+                    if ("领料:经理填写项目模块".equals(activityName)) {
+                        s.getReceiveView().setMangagerFile(format);
+                    }
+                    if ("领料:施工单位领导审核".equals(activityName)) {
+                        s.getReceiveView().setMaLeaderReviewed(format);
+                    }
+                    if ("领料:施工单位物资专职审核".equals(activityName)) {
+                        s.getReceiveView().setConUnitReviewed(format);
+                    }
+                    if ("领料:配网项目经理审核领料单".equals(activityName)) {
+                        s.getReceiveView().setConMangagerReviewed(format);
+                    }
+                    if ("领料:配网物资专职审核领料单".equals(activityName)) {
+                        s.getReceiveView().setFullReviewed(format);
+                    }
+                    if ("领料:项目中心领导审核领料单".equals(activityName)) {
+                        s.getReceiveView().setLeaderReviewed(format);
+                        s.getReceiveView().setRecFinTime(format);
+                    }
+                }
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+
+    /**
+     * 结算流程数据
+     * */
+    @ResponseBody
+    @RequestMapping(value = "settData")
+    public Map<String, Object> settData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model){
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.setAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (ScheduleView s : list) {
+            String procInsId = s.getProcInsId();
+            if (procInsId != null && !"".equals(procInsId)) {
+                List<HistoricActivityInstance> historicActivityInstances = MyActiviUtils.hisTask(procInsId);
+                for (HistoricActivityInstance a: historicActivityInstances) {
+                    String activityName = a.getActivityName();
+                    String format = formatter.format(a.getEndTime());
+                    if (s.getSettView() == null) {
+                        s.setSettView(new SettView());
+                    }
+                    if ("结算验收发起模块".equals(activityName)) {
+                        s.getSettView().setSettStart(format);
+                    }
+                    if ("填写现场使用数量".equals(activityName)) {
+                        s.getSettView().setSettNumber(format);
+                    }
+                    if ("审计现场复核数量".equals(activityName)) {
+                        s.getSettView().setSettReview(format);
+                    }
+                    if ("生成领料退料单".equals(activityName)) {
+                        s.getSettView().setSettFin(format);
+                    }
+                }
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+
+    /**
+     * 项目关闭数据列表
+     */
+    @ResponseBody
+    @RequestMapping(value = "closureData")
+    public Map<String, Object> closureData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model) {
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.disAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (ScheduleView s : list) {
+            String procInsId = s.getProcInsId();
+            if (procInsId != null && !"".equals(procInsId)) {
+                List<HistoricActivityInstance> historicActivityInstances = MyActiviUtils.hisTask(procInsId);
+                for (HistoricActivityInstance a : historicActivityInstances) {
+                    if (s.getClosureView() == null) {
+                        s.setClosureView(new ClosureView());
+                    }
+                    String activityName = a.getActivityName();
+                    String format = formatter.format(a.getEndTime());
+                    if ("交底:判断项目是否需要关闭".equals(activityName)) {
+                        s.getClosureView().setIfClose(format);
+                    }
+                    if ("交底:配网运行人员".equals(activityName)) {
+                        s.getClosureView().setRunMember(format);
+                    }
+                    if ("交底:确认项目关闭".equals(activityName)) {
+                        s.getClosureView().setIsClosed(format);
+                    }
+                }
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+
+    /**
+     * 项目关闭数据列表
+     */
+    @ResponseBody
+    @RequestMapping(value = "designData")
+    public Map<String, Object> designData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model) {
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.disAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (ScheduleView s : list) {
+            String procInsId = s.getProcInsId();
+            if (procInsId != null && !"".equals(procInsId)) {
+                List<HistoricActivityInstance> historicActivityInstances = MyActiviUtils.hisTask(procInsId);
+                for (HistoricActivityInstance a : historicActivityInstances) {
+                    if (s.getDesignView() == null) {
+                        s.setDesignView(new DesignView());
+                    }
+                    String activityName = a.getActivityName();
+                    String format = formatter.format(a.getEndTime());
+                    if ("交底:判定设计变更".equals(activityName)) {
+                        s.getDesignView().setDesignChange(format);
+                    }
+                    if ("交底:项目经理判断是否需要再设计变更".equals(activityName)) {
+                        s.getDesignView().setIfChange(format);
+                    }
+                    if ("交底:经研所设计变更".equals(activityName)) {
+                        s.getDesignView().setJYSChange(format);
+                    }
+                    if ("交底:运行人员审核图纸".equals(activityName)) {
+                        s.getDesignView().setUnitReview(format);
+                    }
+                    if ("交底:重新设计".equals(activityName)) {
+                        s.getDesignView().setDesignAgain(format);
+                    }
+                    if ("交底:运行人员判断变更后材料".equals(activityName)) {
+                        s.getDesignView().setChangeAfter(format);
+                    }
+                    if ("交底:配网项目经理判断变更后材料".equals(activityName)) {
+                        s.getDesignView().setManagerAfter(format);
+                    }
+                }
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+
+    /**
+     * 政策处理数据列表
+     */
+    @ResponseBody
+    @RequestMapping(value = "policyData")
+    public Map<String, Object> policyData(ScheduleView scheduleView, HttpServletRequest request, HttpServletResponse response, Model model) {
+        String projectId = scheduleView.getProjectId();
+        String[] projectList = null;
+        List<String> searchList = new ArrayList<>();
+        if (!projectId.equals("")) {
+            projectList = projectId.split("\\s+");
+            for (int i = 0; i < projectList.length; i++) {
+                searchList.add(projectList[i]);
+            }
+            scheduleView.setProjectList(searchList);
+        }
+        Page<ScheduleView> scheduleViewPage = scheduleViewService.disAll(new Page<ScheduleView>(request, response), scheduleView);
+        List<ScheduleView> list = scheduleViewPage.getList();
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (ScheduleView s : list) {
+            String procInsId = s.getProcInsId();
+            if (procInsId != null && !"".equals(procInsId)) {
+                List<HistoricActivityInstance> historicActivityInstances = MyActiviUtils.hisTask(procInsId);
+                for (HistoricActivityInstance a : historicActivityInstances) {
+                    if (s.getPolicyView() == null) {
+                        s.setPolicyView(new PolicyView());
+                    }
+                    String activityName = a.getActivityName();
+                    String format = formatter.format(a.getEndTime());
+                    if ("交底:上传未盖章施工方案(行政政处(城区道路))".equals(activityName)) {
+                        s.getPolicyView().setUrbanRoad(format);
+                    }
+                    if ("交底:项目经理判断是否需要政策处理".equals(activityName)) {
+                        s.getPolicyView().setPolicyNeed(format);
+                    }
+                    if ("交底:施工方案盖章".equals(activityName)) {
+                        s.getPolicyView().setSealScheme(format);
+                    }
+                    if ("交底:上传收据".equals(activityName)) {
+                        s.getPolicyView().setUploadReceipt(format);
+                    }
+                    if ("交底:上传缴费单".equals(activityName)) {
+                        s.getPolicyView().setPayment(format);
+                    }
+                    if ("交底:上传借款单据".equals(activityName)) {
+                        s.getPolicyView().setUploadLoan(format);
+                    }
+                    if ("交底:判断政策处理".equals(activityName)) {
+                        s.getPolicyView().setHandling(format);
+                    }
+                    if ("交底:上传未签字版政策处理清单".equals(activityName)) {
+                        s.getPolicyView().setUnsignedVersion(format);
+                    }
+                    if ("交底:项目经理判断农村是否需要政策处理".equals(activityName)) {
+                        s.getPolicyView().setRuralNeed(format);
+                    }
+                    if ("交底:上传签字版政策处理清单".equals(activityName)) {
+                        s.getPolicyView().setPolicyList(format);
+                    }
+                    if ("交底:上传签字版合同".equals(activityName)) {
+                        s.getPolicyView().setSignedContract(format);
+                    }
+                    if ("交底:上传借款单据1".equals(activityName)) {
+                        s.getPolicyView().setUploadLoan1(format);
+                    }
+                }
+            }
+        }
+        return getBootstrapData(scheduleViewPage);
+    }
+    /* *//**
+     * 导出excel文件
+     *//*
+    @ResponseBody
+    @RequestMapping(value = "exportSett")
+    public AjaxJson exportSett(SettList settList, HttpServletRequest request, HttpServletResponse response){
+        AjaxJson j = new AjaxJson();
+        try {
+            String fileName = "竣工甲供材核对表"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+            Page<SettList> page = settActiviService.useQuantityData(new Page<SettList>(request, response), settList);
+            new ExportExcel("竣工甲供材核对表", SettList.class).setDataList(page.getList()).write(response, fileName).dispose();
+            j.setSuccess(true);
+            j.setMsg("导出成功!");
+            return j;
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导出需求基本信息记录失败!失败信息:"+e.getMessage());
+        }
+        return j;
+    }*/
+}
+
+

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

@@ -70,8 +70,8 @@
                 jp.error("无不可以和其它类型一起选择");
                 return false;
             } else {
-                var number = val.indexOf('无');
                 if (val.indexOf('无') != 0){
+                    console.log(val);
                     if (policyHandlingInstructions == '') {
                         jp.error("政策处理说明不能为空");
                         return false;

+ 127 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/closureView.js

@@ -0,0 +1,127 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	$(document).ready(function() {
+		$('#settTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: true,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/scheduleView/closureData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [{
+					field: 'projectId',
+					title: '项目定义号',
+				}, {
+					field: 'requireName',
+					title: '需求项目名称',
+				}, {
+					field: 'closureView.ifClose',
+					title: '判断项目是否需要关闭',
+				}, {
+					field: 'closureView.runMember',
+					title: '配网运行人员',
+				}, {
+					field: 'closureView.isClosed',
+					title: '确认项目关闭',
+				}
+			]
+		});
+
+
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		function getTime(value, row, index) {
+			return [
+				"<input  id="+row.id+" type='number' name='usedQuantity' class='form-control required deal'  value="+row.usedQuantity+">",
+			].join('');
+		}
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+</script>

+ 67 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/closureView.jsp

@@ -0,0 +1,67 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="closureView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+        input[type="number"]{
+            -moz-appearance:textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+                <div class="panel-body">
+                    <div>
+                        <ul class="nav nav-tabs">
+                            <li role="presentation" ><a href="${ctx}/scheduleView/designView">设计变更问题</a></li>
+                            <li role="presentation" class="active"><a href="">项目关闭问题</a></li>
+                            <li role="presentation"><a href="${ctx}/scheduleView/policyView">政策处理问题</a> </li>
+                        </ul>
+                    </div>
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义号:">项目定义号:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 139 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/designView.js

@@ -0,0 +1,139 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	$(document).ready(function() {
+		$('#settTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: true,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/scheduleView/designData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [{
+					field: 'projectId',
+					title: '项目定义号',
+				}, {
+					field: 'requireName',
+					title: '需求项目名称',
+				}, {
+					field: 'designView.designChange',
+					title: '判定设计变更',
+				}, {
+					field: 'designView.ifChange',
+					title: '项目经理判断是否需要再设计变更',
+				}, {
+					field: 'designView.JYSChange',
+					title: '经研所设计变更',
+				}, {
+					field: 'designView.unitReview',
+					title: '运行人员审核图纸',
+				}, {
+					field: 'designView.designAgain',
+					title: '重新设计',
+				}, {
+					field: 'designView.changeAfter',
+					title: '运行人员判断变更后材料',
+				}, {
+					field: 'designView.managerAfter',
+					title: '配网项目经理判断变更后材料',
+				}
+			]
+		});
+
+
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		function getTime(value, row, index) {
+			return [
+				"<input  id="+row.id+" type='number' name='usedQuantity' class='form-control required deal'  value="+row.usedQuantity+">",
+			].join('');
+		}
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+</script>

+ 67 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/designView.jsp

@@ -0,0 +1,67 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="designView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+        input[type="number"]{
+            -moz-appearance:textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+                <div class="panel-body">
+                    <div>
+                        <ul class="nav nav-tabs">
+                            <li role="presentation" class="active"><a href="">设计变更问题</a></li>
+                            <li role="presentation"><a href="${ctx}/scheduleView/closureView">项目关闭问题</a></li>
+                            <li role="presentation"><a href="${ctx}/scheduleView/policyView">政策处理问题</a> </li>
+                        </ul>
+                    </div>
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义号:">项目定义号:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 189 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/disView.js

@@ -0,0 +1,189 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	$(document).ready(function() {
+		window.operateEvents = {
+			'change input': function (e, value, row, index) {
+				var ss = $('#'+row.id).val();
+				jp.confirm('确认要修改?', function () {
+					jp.get("${ctx}/settActivi/updateUsed?id="+row.id+"&usedQuantity="+ss, function (data) {
+						jp.success(data.msg);
+						$('#settTable').bootstrapTable('refresh');
+					})
+				},function () {
+					$('#settTable').bootstrapTable('refresh');
+				})
+			}
+		};
+		var procInsId = $('#procInsId').val();
+		$('#settTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: true,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/scheduleView/disData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [{
+					field: 'projectId',
+					title: '项目定义号',
+				}, {
+					field: 'requireName',
+					title: '需求项目名称',
+				}, {
+				field: 'clarificaitonType',
+				title: '项目交底类型',
+			}, {
+				field: 'disView.fullTimeStart',
+				title: '配网工程专职发起流程',
+			}, {
+				field: 'disView.projectManagerImport',
+				title: '配网项目经理导入交底结论',
+			}, {
+				field: 'disView.unitManagerJudge',
+				title: '施工单位项目经理判断是否存在问题',
+			}, {
+				field: 'disView.projectManagerJudge',
+				title: '配网项目经理判断是否存在问题',
+			}, {
+				field: 'disView.projectClosure',
+				title: '<span style="color:red">项目关闭</span>',
+				formatter:function(value, row , index){
+					if(value != null && value !=""){
+						value='<a href="${ctx}/scheduleView/closureView?projectId='+row.projectId+'"'+">"+value+"</a>";
+						return value;
+					}
+				}
+			}, {
+				field: 'disView.designChange',
+				title: '<span style="color:red">设计变更</span>',
+				formatter:function(value, row , index){
+					if(value != null && value !=""){
+						value='<a href="${ctx}/scheduleView/designView?projectId='+row.projectId+'"'+">"+value+"</a>";
+						return value;
+					}
+				}
+			}, {
+				field: 'disView.policyType',
+				title: '<span style="color:red">政策处理类型</span>',
+				formatter:function(value, row , index){
+					if(value != null && value !=""){
+						value='<a href="${ctx}/scheduleView/policyView?projectId='+row.projectId+'"'+">"+value+"</a>";
+						return value;
+					}
+				}
+			}, {
+				field: 'disView.finTime',
+				title: '完成技术交底时间',
+			}
+			]
+		});
+
+
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		function getTime(value, row, index) {
+			return [
+				"<input  id="+row.id+" type='number' name='usedQuantity' class='form-control required deal'  value="+row.usedQuantity+">",
+			].join('');
+		}
+
+		function moduleList(projectId){//没有权限时,不显示确定按钮
+			jp.openTab("${ctx}/scheduleView/closureView?projectId="+projectId);
+		}
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+
+		$("#printf").click(function () {
+			var procInsId = $("#procInsId").val();
+			// jp.downloadFile('${ctx}/settActivi/exportSett?procInsId='+procInsId);
+			 jp.downloadFile('${ctx}/settActivi/exportExcel?procInsId='+procInsId);
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+
+</script>

+ 64 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/disView.jsp

@@ -0,0 +1,64 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="disView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+        input[type="number"]{
+            -moz-appearance:textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+
+                <div class="panel-body">
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义号:">项目定义号:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 工具栏 -->
+                    <div id="toolbar">
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 154 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/policyView.js

@@ -0,0 +1,154 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	$(document).ready(function() {
+		$('#settTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: true,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/scheduleView/policyData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [{
+					field: 'projectId',
+					title: '项目定义号',
+				}, {
+					field: 'requireName',
+					title: '需求项目名称',
+				}, {
+					field: 'policyView.urbanRoad',
+					title: '上传未盖章施工方案(行政政处)',
+				}, {
+					field: 'policyView.policyNeed',
+					title: '项目经理判断是否需要政策处理行政政处(行政政处)',
+				}, {
+					field: 'policyView.sealScheme',
+					title: '施工方案盖章行政政处(行政政处)',
+				}, {
+					field: 'policyView.uploadReceipt',
+					title: '上传收据行政政处(行政政处)',
+				}, {
+					field: 'policyView.payment',
+					title: '上传缴费单行政政处(行政政处)',
+				}, {
+					field: 'policyView.uploadLoan',
+					title: '上传借款单据行政政处(行政政处)',
+				}, {
+					field: 'policyView.handling',
+					title: '判断政策处理',
+				}, {
+					field: 'policyView.unsignedVersion',
+					title: '上传未签字版政策处理清单',
+				}, {
+					field: 'policyView.ruralNeed',
+					title: '项目经理判断农村是否需要政策处理',
+				}, {
+					field: 'policyView.policyList',
+					title: '上传签字版政策处理清单',
+				}, {
+					field: 'policyView.signedContract',
+					title: '上传签字版合同',
+				}, {
+					field: 'policyView.uploadLoan1',
+					title: '上传借款单据',
+				}
+			]
+		});
+
+
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		function getTime(value, row, index) {
+			return [
+				"<input  id="+row.id+" type='number' name='usedQuantity' class='form-control required deal'  value="+row.usedQuantity+">",
+			].join('');
+		}
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+</script>

+ 67 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/policyView.jsp

@@ -0,0 +1,67 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="policyView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+        input[type="number"]{
+            -moz-appearance:textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+                <div class="panel-body">
+                    <div>
+                        <ul class="nav nav-tabs">
+                            <li role="presentation" ><a href="${ctx}/scheduleView/designView">设计变更问题</a></li>
+                            <li role="presentation" ><a href="${ctx}/scheduleView/closureView">项目关闭问题</a></li>
+                            <li role="presentation" class="active"><a href="">政策处理问题</a> </li>
+                        </ul>
+                    </div>
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义号:">项目定义号:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 153 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/recView.js

@@ -0,0 +1,153 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#settTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: false,
+        //显示 内容列下拉框
+        showColumns: false,
+        //显示到处按钮
+        showExport: false,
+        //显示切换分页按钮
+        showPaginationSwitch: false,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 10,
+        //可供选择的每页的行数(*)
+        pageList: [10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/scheduleView/recData",
+        //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+        ////查询参数,每次调用是会带上这个参数,可自定义
+        queryParams: function (params) {
+            var searchParam = $("#searchForm").serializeJSON();
+            searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+            searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+            searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+            return searchParam;
+        },
+        //分页方式:client客户端分页,server服务端分页(*)
+        sidePagination: "server",
+        contextMenuTrigger: "right",//pc端 按右键弹出菜单
+        contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+        contextMenu: '#context-menu',
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        formatNoMatches: function () {
+            return "你的自定义文字说明";
+        },
+        columns: [{
+                field: 'projectId',
+                title: '项目定义号',
+            }, {
+                field: 'requireName',
+                title: '需求项目名称',
+            }, {
+                field: 'receiveView.theNumber',
+                title: '项目第几次领料',
+            }, {
+                field: 'receiveView.openList',
+                title: '项目经理开领料单',
+            }, {
+                field: 'receiveView.mangagerFile',
+                title: '经理填写项目模块',
+            }, {
+                field: 'receiveView.maLeaderReviewed',
+                title: '施工单位领导审核',
+            }, {
+                field: 'receiveView.conUnitReviewed',
+                title: '施工单位物资专职审核',
+            }, {
+                field: 'receiveView.conMangagerReviewed',
+                title: '配网项目经理审核领料单',
+            }, {
+                field: 'receiveView.fullReviewed',
+                title: '配网物资专职审核领料单',
+            }, {
+                field: 'receiveView.leaderReviewed',
+                title: '项目中心领导审核领料单',
+            }, {
+                field: 'receiveView.recFinTime',
+                title: '完成时间',
+            }
+        ]
+    });
+
+
+    jp.ajaxForm("#inputForm", function (data) {
+        if (data.success) {
+            jp.alert(data.msg);
+            jp.go("${ctx}" + data.body.targetUrl);
+        } else {
+            jp.alert(data.msg);
+            $("#inputForm").find("button:submit").button("reset");
+        }
+    });
+
+    function getTime(value, row, index) {
+        return [
+            "<input  id=" + row.id + " type='number' name='usedQuantity' class='form-control required deal'  value=" + row.usedQuantity + ">",
+        ].join('');
+    }
+
+    $("#search").click("click", function() {// 绑定查询按扭
+        $('#settTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function() {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#settTable').bootstrapTable('refresh');
+    });
+
+
+    $("#printf").click(function () {
+        var procInsId = $("#procInsId").val();
+        // jp.downloadFile('${ctx}/settActivi/exportSett?procInsId='+procInsId);
+        jp.downloadFile('${ctx}/settActivi/exportExcel?procInsId=' + procInsId);
+    });
+
+    $('#acceptDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+
+    $('#examineDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    //富文本初始化
+    $('#reason').summernote({
+        height: 300,
+        lang: 'zh-CN',
+        callbacks: {
+            onChange: function (contents, $editable) {
+                $("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+            }
+        }
+    });
+})
+
+</script>

+ 64 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/recView.jsp

@@ -0,0 +1,64 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="recView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+        input[type="number"]{
+            -moz-appearance:textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+
+                <div class="panel-body">
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义编码:">项目定义编码:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 工具栏 -->
+                    <div id="toolbar">
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 141 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/scheduleView.js

@@ -0,0 +1,141 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	$(document).ready(function() {
+		$('#settTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: true,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/scheduleView/allData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [{
+					field: 'projectId',
+					title: '项目定义号',
+				}, {
+					field: 'requireName',
+					title: '需求项目名称',
+				}, {
+				field: 'clarificaitonType',
+				title: '项目交底类型',
+			}, {
+				field: 'status',
+				title: '施工交底状态',
+			}, {
+				field: 'acquisitionStatus',
+				title: '物资领料状态',
+			}, {
+				field: 'constructionStatus',
+				title: '施工状态',
+			}, {
+				field: 'settStatus',
+				title: '结算状态',
+			}
+			]
+		});
+
+
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		function getTime(value, row, index) {
+			return [
+				"<input  id="+row.id+" type='number' name='usedQuantity' class='form-control required deal'  value="+row.usedQuantity+">",
+			].join('');
+		}
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+
+		$("#printf").click(function () {
+			var procInsId = $("#procInsId").val();
+			// jp.downloadFile('${ctx}/settActivi/exportSett?procInsId='+procInsId);
+			 jp.downloadFile('${ctx}/settActivi/exportExcel?procInsId='+procInsId);
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+
+</script>

+ 67 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/scheduleView.jsp

@@ -0,0 +1,67 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@ include file="/webpage/include/bootstraptable.jsp" %>
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="scheduleView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+
+        input[type="number"] {
+            -moz-appearance: textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+
+                <div class="panel-body">
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义号:">项目定义号:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 工具栏 -->
+                    <div id="toolbar">
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 130 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/settView.js

@@ -0,0 +1,130 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	$(document).ready(function() {
+		$('#settTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: true,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/scheduleView/settData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [{
+					field: 'projectId',
+					title: '项目定义号',
+				}, {
+					field: 'requireName',
+					title: '需求项目名称',
+				}, {
+					field: 'disView.settStart',
+					title: '结算发起',
+				}, {
+					field: 'disView.settNumber',
+					title: '填写现场使用数量',
+				}, {
+					field: 'disView.settReview',
+					title: '审计现场复核数量',
+				}, {
+					field: 'disView.settFin',
+					title: '生成领料退料单',
+				}
+			]
+		});
+
+
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		function getTime(value, row, index) {
+			return [
+				"<input  id="+row.id+" type='number' name='usedQuantity' class='form-control required deal'  value="+row.usedQuantity+">",
+			].join('');
+		}
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#settTable').bootstrapTable('refresh');
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+</script>

+ 63 - 0
src/main/webapp/webpage/modules/sg/scheduleView/show/settView.jsp

@@ -0,0 +1,63 @@
+<%@ page pageEncoding="UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>所有项目信息</title>
+    <meta name="decorator" content="ani"/>
+    <!-- SUMMERNOTE -->
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="settView.js" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+        input[type="number"]{
+            -moz-appearance:textfield;
+        }
+    </style>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-heading">
+                    <h3 class="panel-title">
+                        <a class="panelButton" href="#" onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+                    </h3>
+                </div>
+                <div class="panel-body">
+                    <!-- 搜索 -->
+                    <div id="search-collapse" class="collapse">
+                        <div class="accordion-inner">
+                            <form:form id="searchForm" modelAttribute="scheduleView" class="form form-horizontal well clearfix">
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <label class="label-item single-overflow pull-left" title="项目定义号:">项目定义号:</label>
+                                    <form:input path="projectId" htmlEscape="false"  class=" form-control"/>
+                                </div>
+                                <div class="col-xs-12 col-sm-6 col-md-4">
+                                    <div style="margin-top:26px">
+                                        <a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+                                        <a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+                                    </div>
+                                </div>
+                            </form:form>
+                        </div>
+                    </div>
+                    <!-- 工具栏 -->
+                    <div id="toolbar">
+                    </div>
+                    <!-- 表格 -->
+                    <table id="settTable" data-toolbar="#toolbar" class="table"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>