Przeglądaj źródła

目基本信息——项目前期基本信息导出模板
项目基本信息——施工任务分配信息中经研所逻辑判断
设计单位上传文件驳回修改
自动化工程量显示
政策处理超权限需更名为政策处理允许进场超权限
政策处理节点名称变更-政策处理专职判断-添加驳回按钮(逻辑,流程图更新)
政策处理流程中添加政策处理清单/缴费单,填写金额
经研所判断方案变更才需上传变更方案
物资领料模块增加新材料时筛选无聊除物料编码外,添加通过物料描述进行筛选

[user3] 4 lat temu
rodzic
commit
2e321a4bf9
41 zmienionych plików z 2917 dodań i 181 usunięć
  1. 13 15
      jeeplus.iml
  2. 21 0
      src/main/java/com/jeeplus/modules/act/service/ActTaskService.java
  3. 33 13
      src/main/java/com/jeeplus/modules/act/web/ActTaskController.java
  4. 1 1
      src/main/java/com/jeeplus/modules/sg/audit/information/service/InformationService.java
  5. 70 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/Construction.java
  6. 56 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/ConstructionUpload.java
  7. 25 1
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/mapper/UploadImagesMapper.java
  8. 102 1
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/mapper/xml/UploadImagesMapper.xml
  9. 42 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/service/UploadImagesService.java
  10. 1 1
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/EndTaskListen.java
  11. 267 5
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java
  12. 0 6
      src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/mapper/xml/MaterialInfoMapper.xml
  13. 6 1
      src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/service/MaterialInfoService.java
  14. 228 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/entity/BeforeExport.java
  15. 2 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java
  16. 35 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml
  17. 7 4
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java
  18. 29 29
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/util/ProjectImportUtil.java
  19. 66 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/web/ProjectController.java
  20. 340 0
      src/main/resources/freemarker/before.ftl
  21. 3 0
      src/main/resources/properties/jeeplus.properties
  22. 0 21
      src/main/resources/rebel.xml
  23. 35 23
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/auditDrawings.jsp
  24. 136 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/conUpdate.jsp
  25. 5 6
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/editEng.jsp
  26. 24 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/engineering.js
  27. 39 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/engineering.jsp
  28. 390 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/operatorUploadAfter.js
  29. 433 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/operatorUploadAfter.jsp
  30. 3 3
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/operatorUploadList.jsp
  31. 247 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralFiles.js
  32. 27 19
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralFiles.jsp
  33. 24 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralJudge.jsp
  34. 1 1
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralLoan.jsp
  35. 136 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/updateConUpload.jsp
  36. 54 0
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/uploadAfter.jsp
  37. 2 2
      src/main/webapp/webpage/modules/sg/managementcenter/project/assignmentForm.jsp
  38. 4 25
      src/main/webapp/webpage/modules/sg/managementcenter/project/projectBasicInformation.js
  39. 8 2
      src/main/webapp/webpage/modules/sg/managementcenter/project/projectBasicInformation.jsp
  40. 1 1
      src/main/webapp/webpage/modules/sg/picking/activiti/netExamineTemUpload.jsp
  41. 1 1
      src/main/webapp/webpage/modules/sg/picking/activiti/netExamineUpload.jsp

+ 13 - 15
jeeplus.iml

@@ -1,6 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
   <component name="FacetManager">
+    <facet type="jpa" name="JPA">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <datasource-mapping>
+          <factory-entry name="jeeplus" />
+        </datasource-mapping>
+        <naming-strategy-map />
+      </configuration>
+    </facet>
     <facet type="web" name="Web">
       <configuration>
         <descriptors>
@@ -14,15 +23,6 @@
     <facet type="Spring" name="Spring">
       <configuration />
     </facet>
-    <facet type="jpa" name="JPA">
-      <configuration>
-        <setting name="validation-enabled" value="true" />
-        <datasource-mapping>
-          <factory-entry name="Entities" />
-        </datasource-mapping>
-        <naming-strategy-map />
-      </configuration>
-    </facet>
     <facet type="JRebel" name="JRebel">
       <configuration>
         <option name="ideModuleStorage">
@@ -30,12 +30,10 @@
             <entry key="com.zeroturnaround.jrebel.FormatVersion" value="7.0.0" />
             <entry key="com.zeroturnaround.jrebel.remoting.DeleteUnindexedFiles" value="false" />
             <entry key="com.zeroturnaround.jrebel.remoting.ModuleRemoteServerPreviousEnabledSelection" value="instance" />
-            <entry key="com.zeroturnaround.jrebel.remoting.ModuleRemoteServerSelection" value="off" />
+            <entry key="com.zeroturnaround.jrebel.remoting.ModuleRemoteServerSelection" value="instance" />
             <entry key="com.zeroturnaround.jrebel.remoting.ModuleSpecificSingleRemoteServer" />
             <entry key="jrebelEnabled" value="true" />
-            <entry key="lastExternalPluginCheckTime" value="1594945346289" />
-            <entry key="savedRebelXmlBuildTool" />
-            <entry key="savedRebelXmlContent" />
+            <entry key="lastExternalPluginCheckTime" value="1596500571436" />
           </map>
         </option>
       </configuration>
@@ -76,7 +74,7 @@
     <orderEntry type="module-library">
       <library name="Maven: com.alibaba:jconsole:1.8.0">
         <CLASSES>
-          <root url="jar://C:/Program Files/Java/jdk1.8.0_221/lib/jconsole.jar!/" />
+          <root url="jar://C:/Program Files/Java/jdk1.8.0_181/lib/jconsole.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />
@@ -85,7 +83,7 @@
     <orderEntry type="module-library">
       <library name="Maven: com.alibaba:tools:1.8.0">
         <CLASSES>
-          <root url="jar://C:/Program Files/Java/jdk1.8.0_221/lib/tools.jar!/" />
+          <root url="jar://C:/Program Files/Java/jdk1.8.0_181/lib/tools.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />

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

@@ -1473,6 +1473,7 @@ public class ActTaskService extends BaseService {
     }
 
 
+
     /**
      * 交底:项目经理交底内容自动分发
      */
@@ -1599,6 +1600,21 @@ public class ActTaskService extends BaseService {
     }
 
     /**
+     * 设计单位人员调整文件
+     */
+    @Transactional(readOnly = false)
+    public void operatorAfter(Act act) {
+        Map<String, Object> vars = Maps.newHashMap();
+        String flag = act.getFlag();
+        Project user = MyActiviUtils.findUser(act.getProcInsId());
+        vars.put("design", UserUtils.getByUserName(user.getAssignment().getRepUnit()).getLoginName());
+        // 设置意见
+        act.preUpdate();
+        // 提交流程任务
+        complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+    }
+
+    /**
      * 运行经理审核设计变更后
      */
     @Transactional(readOnly = false)
@@ -3523,6 +3539,7 @@ public class ActTaskService extends BaseService {
         vars.put("conditions",false);
         vars.put("close",false);
         vars.put("pass",false);
+        vars.put("return", false);
         if ("conditions".equals(flag)) {
             vars.put("conditions", true);
             vars.put("design", UserUtils.getByUserName(user.getAssignment().getOwnerManager()).getLoginName());
@@ -3535,6 +3552,10 @@ public class ActTaskService extends BaseService {
             vars.put("pass", true);
             vars.put("design", UserUtils.getByUserName(user.getAssignment().getDistributionPolicy()).getLoginName());
         }
+        if ("no".equals(flag)) {
+            vars.put("return", true);
+            vars.put("design", UserUtils.getByUserName(user.getAssignment().getOwnerManager()).getLoginName());
+        }
         // 设置意见
         act.preUpdate();
         // 提交流程任务

+ 33 - 13
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -544,23 +544,26 @@ public class ActTaskController extends BaseController {
      */
     @ResponseBody
     @RequestMapping(value = "engineering")
-    public AjaxJson engineering(Act act, Construction construction) {
+    public AjaxJson engineeringengineering(Act act, Construction construction) {
         AjaxJson j = new AjaxJson();
         try {
+            String flag = act.getFlag();
             Construction construction1 = constructionService.get(construction);
-            if (construction1.getQuantity() == null) {
-                j.setSuccess(false);
-                j.setMsg("请先导入工程量");
-                return j;
-            }
-            String comment = URLDecoder.decode(act.getComment(), "UTF-8");
-            act.setComment(comment);
-            String processingType = construction1.getQuantity().getProcessingType();
-            if (processingType == null || "".equals(processingType)) {
+            if ("yes".equals(flag)) {
+                if (construction1.getQuantity() == null) {
+                    j.setSuccess(false);
+                    j.setMsg("请先导入工程量");
+                    return j;
+                }
+                String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+                act.setComment(comment);
+                String processingType = construction1.getQuantity().getProcessingType();
+                if (processingType == null || "".equals(processingType)) {
 
-            } else {
-                //有政策处理问题,暂定为1
-                constructionService.updatePolicyStatus(construction1.getReserveProjectName(),"1");
+                } else {
+                    //有政策处理问题,暂定为1
+                    constructionService.updatePolicyStatus(construction1.getReserveProjectName(),"1");
+                }
             }
             actTaskService.engineering(act,construction1);
         } catch (UnsupportedEncodingException e) {
@@ -645,6 +648,23 @@ public class ActTaskController extends BaseController {
     }
 
     /**
+     * 设计单位人员调整文件
+     */
+    @ResponseBody
+    @RequestMapping(value = "operatorAfter")
+    public AjaxJson operatorAfter(Act act) {
+        AjaxJson j = new AjaxJson();
+        try {
+            act.setComment(URLDecoder.decode(act.getComment(), "UTF-8"));
+            actTaskService.operatorAfter(act);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        j.setMsg("审批成功");
+        return j;
+    }
+
+    /**
      * 交底:是否借款
      */
     @ResponseBody

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/audit/information/service/InformationService.java

@@ -36,12 +36,12 @@ public class InformationService extends CrudService<InformationMapper, Informati
 		return information;
 	}
 
+	@Override
 	public List<Information> findList(Information information) {
 		List<Information> list = super.findList(information);
 		String find = informationMapper.findOverTime("overTime");
 		int overTime = Integer.parseInt(find);
 		Calendar cal = Calendar.getInstance();
-
 		long between_days = 0;
 		for (Information in : list) {
 			//判断审定日期是否为空

+ 70 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/Construction.java

@@ -33,6 +33,20 @@ public class Construction extends ActEntity<Construction> {
     private Disclose disclose;
     //工程量信息
     private Quantity quantity;
+    //FTU,三遥数量
+    private String ftuThree;
+    //FTU,二遥数量
+    private String ftuTwo;
+    //DTU,三遥,遮蔽立式数量
+    private String dtuVertical;
+    //DTU,三遥,户外立式数量
+    private String dtuOutdoor;
+    //DTU,三遥,组屏式数量
+    private String dtuGroup;
+    //一二次融合成套环网箱(2进2出)数量
+    private String ringCages;
+    //一二次融合成套柱上负荷开关(户外)数量
+    private String poleMounted;
 
 
     public String getReserveProjectName() {
@@ -106,4 +120,60 @@ public class Construction extends ActEntity<Construction> {
     public void setQuantity(Quantity quantity) {
         this.quantity = quantity;
     }
+
+    public String getFtuThree() {
+        return ftuThree;
+    }
+
+    public void setFtuThree(String ftuThree) {
+        this.ftuThree = ftuThree;
+    }
+
+    public String getFtuTwo() {
+        return ftuTwo;
+    }
+
+    public void setFtuTwo(String ftuTwo) {
+        this.ftuTwo = ftuTwo;
+    }
+
+    public String getDtuVertical() {
+        return dtuVertical;
+    }
+
+    public void setDtuVertical(String dtuVertical) {
+        this.dtuVertical = dtuVertical;
+    }
+
+    public String getDtuOutdoor() {
+        return dtuOutdoor;
+    }
+
+    public void setDtuOutdoor(String dtuOutdoor) {
+        this.dtuOutdoor = dtuOutdoor;
+    }
+
+    public String getDtuGroup() {
+        return dtuGroup;
+    }
+
+    public void setDtuGroup(String dtuGroup) {
+        this.dtuGroup = dtuGroup;
+    }
+
+    public String getRingCages() {
+        return ringCages;
+    }
+
+    public void setRingCages(String ringCages) {
+        this.ringCages = ringCages;
+    }
+
+    public String getPoleMounted() {
+        return poleMounted;
+    }
+
+    public void setPoleMounted(String poleMounted) {
+        this.poleMounted = poleMounted;
+    }
 }

+ 56 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/ConstructionUpload.java

@@ -0,0 +1,56 @@
+package com.jeeplus.modules.sg.managementcenter.activiti.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+public class ConstructionUpload extends DataEntity<ConstructionUpload> {
+    //对方信息
+    private String projectInfo;
+    //对方金额
+    private String projectMoney;
+    //政策处理清单
+    private String processingList;
+    //缴费单
+    private String billList;
+    //储备项目暂定名称
+    private String reserveProjectName;
+
+    public String getProjectInfo() {
+        return projectInfo;
+    }
+
+    public void setProjectInfo(String projectInfo) {
+        this.projectInfo = projectInfo;
+    }
+
+    public String getProjectMoney() {
+        return projectMoney;
+    }
+
+    public void setProjectMoney(String projectMoney) {
+        this.projectMoney = projectMoney;
+    }
+
+    public String getProcessingList() {
+        return processingList;
+    }
+
+    public void setProcessingList(String processingList) {
+        this.processingList = processingList;
+    }
+
+    public String getBillList() {
+        return billList;
+    }
+
+    public void setBillList(String billList) {
+        this.billList = billList;
+    }
+
+    public String getReserveProjectName() {
+        return reserveProjectName;
+    }
+
+    public void setReserveProjectName(String reserveProjectName) {
+        this.reserveProjectName = reserveProjectName;
+    }
+}

+ 25 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/mapper/UploadImagesMapper.java

@@ -5,6 +5,7 @@ package com.jeeplus.modules.sg.managementcenter.activiti.mapper;
 
 import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.ConstructionUpload;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.UploadImages;
 
 import java.util.List;
@@ -30,5 +31,28 @@ public interface UploadImagesMapper extends BaseMapper<UploadImages> {
     UploadImages findWzById(String procInsId);
     //施工验收流程
     UploadImages findSgById(String procInsId);
-    //结算模块
+
+    void saveUpload(UploadImages uploadImages);
+
+    /**
+     * 政策处理上传政策书及缴费单
+     */
+    List<ConstructionUpload> findConList(ConstructionUpload constructionUpload);
+
+    /**
+     * 保存政策处理上传政策书及缴费单
+     */
+    void conUpdateSave(ConstructionUpload constructionUpload);
+
+    /**
+     * 修改政策处理上传政策书及缴费单
+     * */
+    void updateConUpload(ConstructionUpload constructionUpload);
+
+    /**
+     * 通过id获取政策处理上传政策书及缴费单
+     * */
+    ConstructionUpload getConUpload(ConstructionUpload constructionUpload);
+
+    void delConUpload(ConstructionUpload constructionUpload);
 }

+ 102 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/mapper/xml/UploadImagesMapper.xml

@@ -76,6 +76,9 @@
     	b.automated_remarks AS "project.automatedRemarks",
     	b.skill_by_full AS "project.skillByFull"
 	</sql>
+	<delete id="delConUpload">
+		delete from xm_construction_upload where id =#{id}
+	</delete>
 
 
 	<select id="get" resultType="com.jeeplus.modules.sg.managementcenter.activiti.entity.UploadImages" >
@@ -158,7 +161,37 @@
 			#{reserveProjectName}
 		)
 	</insert>
-	
+	<insert id="conUpdateSave">
+		insert into xm_construction_upload
+		(
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag,
+			projectInfo,
+			projectMoney,
+		 	processingList,
+			billList,
+			reserveProjectName
+		) VALUES (
+					 #{id},
+					 #{createBy.id},
+					 #{createDate},
+					 #{updateBy.id},
+					 #{updateDate},
+					 #{remarks},
+					 #{delFlag},
+					 #{projectInfo},
+					 #{projectMoney},
+					 #{processingList},
+					 #{billList},
+					 #{reserveProjectName}
+				 )
+	</insert>
+
 	<update id="update">
 		UPDATE xm_upload_images SET
 			path = #{path},
@@ -180,6 +213,11 @@
 			del_flag = #{DEL_FLAG_DELETE}
 		WHERE id = #{id}
 	</update>
+	<update id="saveUpload">
+		update xm_upload_images
+		set path = #{path}
+		where id = #{id};
+	</update>
 
 	<select id="findPathByProcInsID" resultType="java.lang.String">
 		select path from xm_upload_images where proc_ins_id = #{procInsId};
@@ -200,4 +238,67 @@
 	<select id="findSgById" resultType="com.jeeplus.modules.sg.managementcenter.activiti.entity.UploadImages">
 		select require_name,project_id from xm_project_details where id = (select project_id from sg_construction_process where proc_ins_id = #{procInsId})
 	</select>
+	
+	<select id="findConList"
+			resultType="com.jeeplus.modules.sg.managementcenter.activiti.entity.ConstructionUpload">
+		select id,
+			   create_by,
+			   create_date,
+			   update_by,
+			   update_date,
+			   del_flag,
+			   remarks,
+			   projectInfo,
+			   projectMoney,
+			   processingList,
+			   billList,
+			   reserveProjectName
+		from xm_construction_upload
+		<where>
+			1=1
+			<if test="reserveProjectName!= null and reserveProjectName!=''">
+				and reserveProjectName = #{reserveProjectName}
+			</if>
+			<if test="projectInfo != null and projectInfo !=''">
+				and projectInfo = #{projectInfo}
+			</if>
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
+	<select id="getConUpload"
+			resultType="com.jeeplus.modules.sg.managementcenter.activiti.entity.ConstructionUpload">
+		select id,
+			   create_by,
+			   create_date,
+			   update_by,
+			   update_date,
+			   del_flag,
+			   remarks,
+			   projectInfo,
+			   projectMoney,
+			   processingList,
+			   billList,
+			   reserveProjectName
+		from xm_construction_upload
+		where id = #{id}
+	</select>
+
+	<update id="updateConUpload">
+		update xm_construction_upload
+		set update_by      = #{update_by},
+			update_date    = #{update_date},
+			projectInfo    = #{projectInfo},
+			projectMoney   = #{projectMoney},
+			processingList = #{processingList},
+			billList       = #{billList}
+		where id = #{id}
+	</update>
 </mapper>

+ 42 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/service/UploadImagesService.java

@@ -5,6 +5,7 @@ package com.jeeplus.modules.sg.managementcenter.activiti.service;
 
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.ConstructionUpload;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.PersonnelManagement;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.UploadImages;
 import com.jeeplus.modules.sg.managementcenter.activiti.mapper.PersonnelManagementMapper;
@@ -17,6 +18,7 @@ import java.util.List;
 
 /**
  * 图片Service
+ *
  * @author
  * @version 2019-11-08
  */
@@ -75,4 +77,44 @@ public class UploadImagesService extends CrudService<UploadImagesMapper, UploadI
 		return uploadImagesMapper.findSgById(procInsId);
 	}
 
+	@Transactional(readOnly = false)
+	public void saveUpload(UploadImages uploadImages) {
+		uploadImagesMapper.saveUpload(uploadImages);
+	}
+
+	public List<ConstructionUpload> findConList(ConstructionUpload constructionUpload) {
+		return uploadImagesMapper.findConList(constructionUpload);
+	}
+
+	public Page<ConstructionUpload> findConPage(Page<ConstructionUpload> page, ConstructionUpload entity) {
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(uploadImagesMapper.findConList(entity));
+		return page;
+	}
+
+	@Transactional(readOnly = false)
+	public void conUpdateSave(ConstructionUpload constructionUpload) {
+		uploadImagesMapper.conUpdateSave(constructionUpload);
+	}
+
+	/**
+	 * 修改政策处理上传政策书及缴费单
+	 */
+	@Transactional(readOnly = false)
+	public void updateConUpload(ConstructionUpload constructionUpload) {
+		uploadImagesMapper.updateConUpload(constructionUpload);
+	}
+
+	/**
+	 * 通过id获取政策处理上传政策书及缴费单
+	 */
+	public ConstructionUpload getConUpload(ConstructionUpload constructionUpload) {
+		return uploadImagesMapper.getConUpload(constructionUpload);
+	}
+
+	@Transactional(readOnly = false)
+	public void delConUpload(ConstructionUpload constructionUpload) {
+		uploadImagesMapper.delConUpload(constructionUpload);
+	}
 }

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

@@ -89,7 +89,7 @@ public class EndTaskListen implements Serializable, ExecutionListener {
                         projectService.updateAdvanceStart(reserveProjectName, "1");
                         //启动土建流程
                         Map<String, Object> vars2 = Maps.newHashMap();
-                        vars2.put("noPass", false);
+                        vars2.put("nopass", false);
                         vars2.put("pass", true);
                         vars2.put("design", UserUtils.getByUserName(projectProc.getAssignment().getConstructionManage()).getLoginName());
                         String procDefId2 = projectService.findDefId("tjys");

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

@@ -19,12 +19,14 @@ import com.jeeplus.modules.sg.audit.information.utils.ResponseUtil;
 import com.jeeplus.modules.sg.financial.erpcredit.util.ExportUtil;
 import com.jeeplus.modules.sg.financial.erpcredit.util.ImportUtil;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.*;
+import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyImportUtils;
 import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
 import com.jeeplus.modules.sg.managementcenter.materialinfo.service.MaterialInfoService;
 import com.jeeplus.modules.sg.managementcenter.materialproject.entity.MaterialProject;
 import com.jeeplus.modules.sg.managementcenter.materialproject.service.MaterialProjectService;
+import com.jeeplus.modules.sg.managementcenter.moduleacquisition.entity.ModuleBlock;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project1;
 
@@ -44,11 +46,13 @@ import com.jeeplus.modules.sys.entity.DictValue;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.sys.web.FileController;
 import org.activiti.engine.*;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.ss.usermodel.Row;
+import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -79,13 +83,13 @@ public class ConstructionController extends BaseController {
     @Autowired
     private ActTaskService actTaskService;
     @Autowired
-    private RuntimeService runtimeService;
+    private UploadImagesService uploadImagesService;
     @Autowired
     private TaskService taskService;
     @Autowired
     private ProjectService projectService;
     @Autowired
-    private MaterialProjectService materialProjectService;
+    private FileController fileController;
     @Autowired
     private MaterialInfoService materialInfoService;
     @Autowired
@@ -200,6 +204,25 @@ public class ConstructionController extends BaseController {
     }
 
     /**
+     * 运行经理驳回-设计单位人员调整文件
+     */
+    @RequestMapping(value = "operatorUploadAfter")
+    public String operatorUploadAfter(Construction construction, Model model) {
+        model.addAttribute("construction", construction);
+        return "modules/sg/managementcenter/activiti/operatorUploadAfter";
+    }
+
+    /**
+     * 修改项目文件路径
+     */
+    @RequestMapping(value = "uploadAfter")
+    public String uploadAfter(UploadImages uploadImages, Model model) {
+        UploadImages uploadImages1 = uploadImagesService.get(uploadImages.getId());
+        model.addAttribute("uploadImages", uploadImages1);
+        return "modules/sg/managementcenter/activiti/uploadAfter";
+    }
+
+    /**
      * 运行经理审核设计变更后
      */
     @RequestMapping(value = "managerUploadList")
@@ -333,7 +356,6 @@ public class ConstructionController extends BaseController {
      */
     @RequestMapping(value = "singleForm")
     public String singleForm(Construction construction, Model model) {
-
         model.addAttribute("construction", construction);
         return "modules/sg/managementcenter/activiti/singleForm";
     }
@@ -390,6 +412,43 @@ public class ConstructionController extends BaseController {
         courseList.add("民事政处");
         model.addAttribute("courseList", courseList);
         model.addAttribute("construction", construction);
+        MaterialInfo materialInfo = new MaterialInfo();
+        materialInfo.setProjectName(construction.getReserveProjectName());
+        List<MaterialInfo> list = materialInfoService.findList(materialInfo);
+        Integer count = 0;
+        for (MaterialInfo m : list) {
+            String materialName = m.getMaterialName();
+            if (materialName != null && materialName != "") {
+                if (materialName.equals("FTU,三遥数量")) {
+                    count += 1;
+                }
+                if (materialName.equals("FTU,二遥数量")) {
+                    count += 1;
+                }
+                if (materialName.equals("DTU,三遥,遮蔽立式数量")) {
+                    count += 1;
+                }
+                if (materialName.equals("DTU,三遥,户外立式数量")) {
+                    count += 1;
+                }
+                if (materialName.equals("DTU,三遥,组屏式数量")) {
+                    count += 1;
+                }
+                if (materialName.equals("一二次融合成套环网箱(2进2出)数量")) {
+                    count += 1;
+                }
+                if (materialName.equals("一二次融合成套柱上负荷开关(户外)数量")) {
+                    count += 1;
+                }
+                if (count > 0) {
+                    construction.getQuantity().setIncludeAutomation("是");
+                } else {
+                    construction.getQuantity().setIncludeAutomation("否");
+                }
+
+            }
+        }
+
         return "modules/sg/managementcenter/activiti/editEng";
     }
 
@@ -418,6 +477,50 @@ public class ConstructionController extends BaseController {
      */
     @RequestMapping(value = "engineering")
     public String engineering(Construction construction, Model model) {
+        //获取项目的所有的领料数据
+        MaterialInfo materialInfo = new MaterialInfo();
+        materialInfo.setProjectName(construction.getReserveProjectName());
+        List<MaterialInfo> list = materialInfoService.findList(materialInfo);
+        Integer ftuThree = 0;
+        Integer ftuTwo = 0;
+        Integer dtuVertical = 0;
+        Integer dtuOutdoor = 0;
+        Integer dtuGroup = 0;
+        Integer ringCages = 0;
+        Integer poleMounted = 0;
+        for (MaterialInfo m : list) {
+            String materialName = m.getMaterialName();
+            if (materialName != null && materialName != "") {
+                if (materialName.equals("FTU,三遥数量")) {
+                    ftuThree += 1;
+                }
+                if (materialName.equals("FTU,二遥数量")) {
+                    ftuTwo += 1;
+                }
+                if (materialName.equals("DTU,三遥,遮蔽立式数量")) {
+                    dtuVertical += 1;
+                }
+                if (materialName.equals("DTU,三遥,户外立式数量")) {
+                    dtuOutdoor += 1;
+                }
+                if (materialName.equals("DTU,三遥,组屏式数量")) {
+                    dtuGroup += 1;
+                }
+                if (materialName.equals("一二次融合成套环网箱(2进2出)数量")) {
+                    ringCages += 1;
+                }
+                if (materialName.equals("一二次融合成套柱上负荷开关(户外)数量")) {
+                    poleMounted += 1;
+                }
+                construction.setFtuThree(ftuThree.toString());
+                construction.setFtuTwo(ftuTwo.toString());
+                construction.setDtuVertical(dtuVertical.toString());
+                construction.setDtuOutdoor(dtuOutdoor.toString());
+                construction.setDtuGroup(dtuGroup.toString());
+                construction.setRingCages(ringCages.toString());
+                construction.setPoleMounted(poleMounted.toString());
+            }
+        }
         model.addAttribute("construction", construction);
         return "modules/sg/managementcenter/activiti/engineering";
     }
@@ -1096,7 +1199,8 @@ public class ConstructionController extends BaseController {
                 construction = new Construction();
                 Row row = ei.getRow(i);
                 quantity.setReserveProjectName(ei.getCellValue(row, 0).toString());
-                quantity.setIncludeAutomation(ei.getCellValue(row, 1).toString());
+                //quantity.setIncludeAutomation(ei.getCellValue(row, 1).toString());
+
                 quantity.setWayOf(ei.getCellValue(row, 2).toString());
                 quantity.setAssignmentStyle(ei.getCellValue(row, 3).toString());
                 quantity.setOperationSubstation(ei.getCellValue(row, 4).toString());
@@ -1109,7 +1213,8 @@ public class ConstructionController extends BaseController {
                 quantity.setProcessingType(ei.getCellValue(row, 11).toString());
                 quantity.setProcessingDescription(ei.getCellValue(row, 12).toString());
                 construction.setQuantity(quantity);
-                String includeAutomation = quantity.getIncludeAutomation();
+//                String includeAutomation = quantity.getIncludeAutomation();
+                String includeAutomation = "";
                 String wayOf = quantity.getWayOf();
                 String assignmentStyle = quantity.getAssignmentStyle();
                 String operationSubstation = quantity.getOperationSubstation();
@@ -1119,6 +1224,44 @@ public class ConstructionController extends BaseController {
                 String policyIssues = quantity.getPolicyIssues();
                 String processingType = quantity.getProcessingType();
                 String processingDescription = quantity.getProcessingDescription();
+
+                MaterialInfo materialInfo = new MaterialInfo();
+                materialInfo.setProjectName(construction.getReserveProjectName());
+                List<MaterialInfo> list = materialInfoService.findList(materialInfo);
+                Integer count = 0;
+                for (MaterialInfo m : list) {
+                    String materialName = m.getMaterialName();
+                    if (materialName != null && materialName != "") {
+                        if (materialName.equals("FTU,三遥数量")) {
+                            count += 1;
+                        }
+                        if (materialName.equals("FTU,二遥数量")) {
+                            count += 1;
+                        }
+                        if (materialName.equals("DTU,三遥,遮蔽立式数量")) {
+                            count += 1;
+                        }
+                        if (materialName.equals("DTU,三遥,户外立式数量")) {
+                            count += 1;
+                        }
+                        if (materialName.equals("DTU,三遥,组屏式数量")) {
+                            count += 1;
+                        }
+                        if (materialName.equals("一二次融合成套环网箱(2进2出)数量")) {
+                            count += 1;
+                        }
+                        if (materialName.equals("一二次融合成套柱上负荷开关(户外)数量")) {
+                            count += 1;
+                        }
+                        if (count > 0) {
+                            includeAutomation = "是";
+                        } else {
+                            includeAutomation = "否";
+                        }
+
+                    }
+                }
+
                 can = true;
                 flag = "";
                 if ("".equals(includeAutomation)) {
@@ -1312,4 +1455,123 @@ public class ConstructionController extends BaseController {
         }
         return j;
     }
+
+    /**
+     * 设计人员审核不通过-修改文件
+     */
+    @ResponseBody
+    @RequestMapping(value = "saveUpload")
+    public AjaxJson saveOld(UploadImages uploadImages, Model model, HttpServletRequest request) throws Exception {
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(uploadImages);
+        if (StringUtils.isNotBlank(errMsg)) {
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        uploadImagesService.saveUpload(uploadImages);
+        j.setSuccess(true);
+        j.setMsg("保存模块成功");
+        return j;
+    }
+
+    /**
+     *所有政策处理清单,缴费单
+     * */
+    @ResponseBody
+    @RequestMapping(value = "conData")
+    public Map<String, Object> conPage(ConstructionUpload constructionUpload, HttpServletRequest request, HttpServletResponse response, Model model) {
+        Page<ConstructionUpload> page = uploadImagesService.findConPage(new Page<ConstructionUpload>(request, response), constructionUpload);
+        //当判定系统为linux的时候
+        if (Global.SYS_TYPE.equals("2")) {
+            List<ConstructionUpload> list = page.getList();
+            for (ConstructionUpload upload :
+                    list) {
+                String a = "";
+                String path = upload.getProcessingList();
+                String[] split = path.split("\\|");
+                for (int i = 0; i < split.length; i++) {
+                    a += "http://" + request.getServerName() + split[i] + "|";
+                }
+                upload.setProcessingList(a);
+
+                String b = "";
+                String billList = upload.getBillList();
+                String[] split1 = path.split("\\|");
+                for (int i = 0; i < split1.length; i++) {
+                    b += "http://" + request.getServerName() + split[i] + "|";
+                }
+                upload.setBillList(b);
+            }
+        }
+        return getBootstrapData(page);
+    }
+
+    /**
+     * 新增项目政策处理方案
+     */
+    @RequestMapping(value = "conUpdate")
+    public String conUpdate(ConstructionUpload constructionUpload, Model model) {
+        model.addAttribute("constructionUpload", constructionUpload);
+        return "modules/sg/managementcenter/activiti/conUpdate";
+    }
+
+    /**
+     * 修改交底结论页面
+     */
+    @RequestMapping(value = "updateConUpload")
+    public String updateConUpload(ConstructionUpload constructionUpload, Model model) {
+        ConstructionUpload conUpload = uploadImagesService.getConUpload(constructionUpload);
+        model.addAttribute("constructionUpload", conUpload);
+        return "modules/sg/managementcenter/activiti/updateConUpload";
+    }
+
+
+    @ResponseBody
+    @RequestMapping(value = "conUpdateSave")
+    public AjaxJson conUpdateSave(ConstructionUpload constructionUpload, Model model) throws Exception {
+        AjaxJson j = new AjaxJson();
+        try {
+            uploadImagesService.conUpdateSave(constructionUpload);
+            j.setSuccess(true);
+            j.setMsg("修改成功");
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("修改失败");
+        }
+        return j;
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "saveConUpload")
+    public AjaxJson saveConUpload(ConstructionUpload constructionUpload, Model model) throws Exception {
+        AjaxJson j = new AjaxJson();
+        try {
+            uploadImagesService.updateConUpload(constructionUpload);
+            j.setSuccess(true);
+            j.setMsg("修改成功");
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("修改失败");
+        }
+        return j;
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "delConUpload")
+    public AjaxJson delConUpload(ConstructionUpload constructionUpload, Model model) throws Exception {
+        AjaxJson j = new AjaxJson();
+        try {
+            uploadImagesService.delConUpload(constructionUpload);
+            j.setSuccess(true);
+            j.setMsg("删除成功");
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("删除失败");
+        }
+        return j;
+    }
 }

+ 0 - 6
src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/mapper/xml/MaterialInfoMapper.xml

@@ -38,12 +38,6 @@
 		<where>
 			a.del_flag = #{DEL_FLAG_NORMAL}
 			${dataScope}
-			<if test="projectNames != null ">
-				AND project_name in
-				<foreach collection="projectNames" index="index" item="item" open="(" separator="," close=")">
-					#{item}
-				</foreach>
-			</if>
 			<if test="projectName != null and projectName != '' ">
 				AND project_name LIKE CONCAT(CONCAT('%',#{projectName},'%'))
 			</if>

+ 6 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/materialinfo/service/MaterialInfoService.java

@@ -39,10 +39,12 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 	@Autowired
 	private MaterialProjectService materialProjectService;
 
+	@Override
 	public MaterialInfo get(String id) {
 		return super.get(id);
 	}
-	
+
+	@Override
 	public List<MaterialInfo> findList(MaterialInfo materialInfo) {
 		return super.findList(materialInfo);
 	}
@@ -51,11 +53,13 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 		return materialInfoMapper.findProjectName();
 	}
 	
+	@Override
 	public Page<MaterialInfo> findPage(Page<MaterialInfo> page, MaterialInfo materialInfo) {
 		return super.findPage(page, materialInfo);
 	}
 	
 	@Transactional(readOnly = false)
+	@Override
 	public void save(MaterialInfo materialInfo) {
 		super.save(materialInfo);
 	}
@@ -77,6 +81,7 @@ public class MaterialInfoService extends CrudService<MaterialInfoMapper, Materia
 	}
 	
 	@Transactional(readOnly = false)
+	@Override
 	public void delete(MaterialInfo materialInfo) {
 		super.delete(materialInfo);
 	}

+ 228 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/entity/BeforeExport.java

@@ -0,0 +1,228 @@
+package com.jeeplus.modules.sg.managementcenter.project.entity;
+
+import java.util.List;
+
+/**
+ * 项目前期基础信息导出类
+ * */
+public class BeforeExport {
+    private String id;
+    //储备项目暂定名称
+    private String reserveProjectName;
+    //项目定义
+    private String projectId;
+    //项目名称
+    private String projectName;
+    //市公司
+    private String municipalCompany;
+    //县公司
+    private String countyCompany;
+    //项目性质
+    private String projectNature;
+    //需求单位
+    private String demandUnit;
+    //运维单位
+    private String operationUnit;
+    //供电区域
+    private String powerSupplyArea;
+    //网格编号
+    private String gridNumber;
+    //单元格编号
+    private String cellNumber;
+    //项目储备编号
+    private String projectReserveNo;
+    //电网项目编号
+    private String gridProjectNo;
+    //ERP编号
+    private String erpNo;
+    //建设必要性及内容
+    private String necessityContent;
+    //变电站名称
+    private String subStationName;
+    //线路名称
+    private String lineName;
+    //项目类型
+    private String projectType;
+    //是否迎峰度夏项目
+    private String whetherSummer;
+    //项目基本说明
+    private String basicDescription;
+    //工区备注
+    private String workAreaRemarks;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getReserveProjectName() {
+        return reserveProjectName;
+    }
+
+    public void setReserveProjectName(String reserveProjectName) {
+        this.reserveProjectName = reserveProjectName;
+    }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getMunicipalCompany() {
+        return municipalCompany;
+    }
+
+    public void setMunicipalCompany(String municipalCompany) {
+        this.municipalCompany = municipalCompany;
+    }
+
+    public String getCountyCompany() {
+        return countyCompany;
+    }
+
+    public void setCountyCompany(String countyCompany) {
+        this.countyCompany = countyCompany;
+    }
+
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+
+    public String getOperationUnit() {
+        return operationUnit;
+    }
+
+    public void setOperationUnit(String operationUnit) {
+        this.operationUnit = operationUnit;
+    }
+
+    public String getPowerSupplyArea() {
+        return powerSupplyArea;
+    }
+
+    public void setPowerSupplyArea(String powerSupplyArea) {
+        this.powerSupplyArea = powerSupplyArea;
+    }
+
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+
+    public String getProjectReserveNo() {
+        return projectReserveNo;
+    }
+
+    public void setProjectReserveNo(String projectReserveNo) {
+        this.projectReserveNo = projectReserveNo;
+    }
+
+    public String getGridProjectNo() {
+        return gridProjectNo;
+    }
+
+    public void setGridProjectNo(String gridProjectNo) {
+        this.gridProjectNo = gridProjectNo;
+    }
+
+    public String getErpNo() {
+        return erpNo;
+    }
+
+    public void setErpNo(String erpNo) {
+        this.erpNo = erpNo;
+    }
+
+    public String getNecessityContent() {
+        return necessityContent;
+    }
+
+    public void setNecessityContent(String necessityContent) {
+        this.necessityContent = necessityContent;
+    }
+
+    public String getSubStationName() {
+        return subStationName;
+    }
+
+    public void setSubStationName(String subStationName) {
+        this.subStationName = subStationName;
+    }
+
+    public String getLineName() {
+        return lineName;
+    }
+
+    public void setLineName(String lineName) {
+        this.lineName = lineName;
+    }
+
+    public String getProjectType() {
+        return projectType;
+    }
+
+    public void setProjectType(String projectType) {
+        this.projectType = projectType;
+    }
+
+    public String getWhetherSummer() {
+        return whetherSummer;
+    }
+
+    public void setWhetherSummer(String whetherSummer) {
+        this.whetherSummer = whetherSummer;
+    }
+
+    public String getBasicDescription() {
+        return basicDescription;
+    }
+
+    public void setBasicDescription(String basicDescription) {
+        this.basicDescription = basicDescription;
+    }
+
+    public String getWorkAreaRemarks() {
+        return workAreaRemarks;
+    }
+
+    public void setWorkAreaRemarks(String workAreaRemarks) {
+        this.workAreaRemarks = workAreaRemarks;
+    }
+}

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

@@ -341,4 +341,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     //批量删除基础拆旧信息
     void deleteTearAll(String id);
+
+    List<BeforeExport> findBtnExport(BeforeExport beforeExport);
 }

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

@@ -170,8 +170,11 @@
     <select id="getAss" resultType="com.jeeplus.modules.sg.managementcenter.project.entity.Project">
         SELECT
         <include refid="projectColumns"/>,
+        <include refid="basicColumns"/>,
         <include refid="assignmentColumns"/>
         from xm_material_project a
+        left join xm_project_basicinformation b
+        on a.reserveProjectName = b.reserveProjectName
         left join xm_project_assignment c
         on a.reserveProjectName = c.reserveProjectName
         WHERE a.id = #{id}
@@ -1983,4 +1986,36 @@
         set whetherCloseStatus = '1'
         where id  = #{id}
     </update>
+
+    <select id="findBtnExport" resultType="com.jeeplus.modules.sg.managementcenter.project.entity.BeforeExport">
+        select
+        <include refid="projectColumns"/>,
+        b.municipalCompany,
+        b.countyCompany,
+        b.projectNature,
+        b.demandUnit,
+        b.operationUnit,
+        b.powerSupplyArea,
+        b.gridNumber,
+        b.cellNumber,
+        b.projectReserveNo,
+        b.gridProjectNo,
+        b.erpNo,
+        b.necessityContent,
+        b.subStationName,
+        b.lineName,
+        b.projectType,
+        b.whetherSummer,
+        b.basicDescription,
+        b.workAreaRemarks
+        from xm_material_project a
+        left join xm_project_basicinformation b
+        on a.reserveProjectName = b.reserveProjectName
+        <where>
+            1 = 1
+            and
+            a.secondPower = 0
+            and a.whetherCloseStatus = '0'
+        </where>
+    </select>
 </mapper>

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

@@ -8,10 +8,7 @@ import com.jeeplus.modules.sg.managementcenter.activiti.entity.EngineeringAmount
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.OtherAmount;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Quantity;
 import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
-import com.jeeplus.modules.sg.managementcenter.project.entity.Assignment;
-import com.jeeplus.modules.sg.managementcenter.project.entity.BasicInformation;
-import com.jeeplus.modules.sg.managementcenter.project.entity.ClosureManage;
-import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.managementcenter.project.entity.*;
 import com.jeeplus.modules.sg.managementcenter.project.mapper.ProjectMapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -668,5 +665,11 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
         projectMapper.wzStatusByName(status, reserveProjectName);
     }
 
+    /**
+     * 项目基础信息所有数据
+     * */
+     public List<BeforeExport> findBtnExport(BeforeExport beforeExport) {
+         return projectMapper.findBtnExport(beforeExport);
+     }
 
 }

+ 29 - 29
src/main/java/com/jeeplus/modules/sg/managementcenter/project/util/ProjectImportUtil.java

@@ -59,38 +59,38 @@ public class ProjectImportUtil {
                             continue;
                         }
                         project.getBasicInformation().setReserveProjectName(proByName.getBasicInformation().getReserveProjectName());
-                        project.getBasicInformation().setPowerSupplyArea((String) ei.getCellValue(row, 7));
-                        project.getBasicInformation().setGridNumber((String) ei.getCellValue(row, 8));
-                        project.getBasicInformation().setCellNumber((String) ei.getCellValue(row, 9));
-                        project.getBasicInformation().setProjectReserveNo((String) ei.getCellValue(row, 10));
-                        project.getBasicInformation().setGridProjectNo((String) ei.getCellValue(row, 11));
-                        project.getBasicInformation().setNecessityContent((String) ei.getCellValue(row, 13));
-                        project.getBasicInformation().setSubStationName((String) ei.getCellValue(row, 14));
-                        project.getBasicInformation().setLineName((String) ei.getCellValue(row, 15));
-                        project.getBasicInformation().setWhetherSummer((String) ei.getCellValue(row, 17));
-                        project.getBasicInformation().setBasicDescription((String) ei.getCellValue(row, 18));
-                        project.getBasicInformation().setWorkAreaRemarks((String) ei.getCellValue(row, 19));
+                        project.getBasicInformation().setPowerSupplyArea((String) ei.getCellValue(row, 9));
+                        project.getBasicInformation().setGridNumber((String) ei.getCellValue(row, 10));
+                        project.getBasicInformation().setCellNumber((String) ei.getCellValue(row, 11));
+                        project.getBasicInformation().setProjectReserveNo((String) ei.getCellValue(row, 12));
+                        project.getBasicInformation().setGridProjectNo((String) ei.getCellValue(row, 13));
+                        project.getBasicInformation().setNecessityContent((String) ei.getCellValue(row, 15));
+                        project.getBasicInformation().setSubStationName((String) ei.getCellValue(row, 16));
+                        project.getBasicInformation().setLineName((String) ei.getCellValue(row, 17));
+                        project.getBasicInformation().setWhetherSummer((String) ei.getCellValue(row, 19));
+                        project.getBasicInformation().setBasicDescription((String) ei.getCellValue(row, 20));
+                        project.getBasicInformation().setWorkAreaRemarks((String) ei.getCellValue(row, 21));
                         noCompareList.add(project);
                     } else {
                         project.getBasicInformation().setReserveProjectName((String) ei.getCellValue(row, 1));
-                        project.getBasicInformation().setMunicipalCompany((String) ei.getCellValue(row, 2));
-                        project.getBasicInformation().setCountyCompany((String) ei.getCellValue(row, 3));
-                        project.getBasicInformation().setProjectNature((String) ei.getCellValue(row, 4));
-                        project.getBasicInformation().setDemandUnit((String) ei.getCellValue(row, 5));
-                        project.getBasicInformation().setOperationUnit((String) ei.getCellValue(row, 6));
-                        project.getBasicInformation().setPowerSupplyArea((String) ei.getCellValue(row, 7));
-                        project.getBasicInformation().setGridNumber((String) ei.getCellValue(row, 8));
-                        project.getBasicInformation().setCellNumber((String) ei.getCellValue(row, 9));
-                        project.getBasicInformation().setProjectReserveNo((String) ei.getCellValue(row, 10));
-                        project.getBasicInformation().setGridProjectNo((String) ei.getCellValue(row, 11));
-                        project.getBasicInformation().setErpNo((String) ei.getCellValue(row, 12));
-                        project.getBasicInformation().setNecessityContent((String) ei.getCellValue(row, 13));
-                        project.getBasicInformation().setSubStationName((String) ei.getCellValue(row, 14));
-                        project.getBasicInformation().setLineName((String) ei.getCellValue(row, 15));
-                        project.getBasicInformation().setProjectType((String) ei.getCellValue(row, 16));
-                        project.getBasicInformation().setWhetherSummer((String) ei.getCellValue(row, 17));
-                        project.getBasicInformation().setBasicDescription((String) ei.getCellValue(row, 18));
-                        project.getBasicInformation().setWorkAreaRemarks((String) ei.getCellValue(row, 19));
+                        project.getBasicInformation().setMunicipalCompany((String) ei.getCellValue(row, 4));
+                        project.getBasicInformation().setCountyCompany((String) ei.getCellValue(row, 5));
+                        project.getBasicInformation().setProjectNature((String) ei.getCellValue(row, 6));
+                        project.getBasicInformation().setDemandUnit((String) ei.getCellValue(row, 7));
+                        project.getBasicInformation().setOperationUnit((String) ei.getCellValue(row, 8));
+                        project.getBasicInformation().setPowerSupplyArea((String) ei.getCellValue(row, 9));
+                        project.getBasicInformation().setGridNumber((String) ei.getCellValue(row, 10));
+                        project.getBasicInformation().setCellNumber((String) ei.getCellValue(row, 11));
+                        project.getBasicInformation().setProjectReserveNo((String) ei.getCellValue(row, 12));
+                        project.getBasicInformation().setGridProjectNo((String) ei.getCellValue(row, 13));
+                        project.getBasicInformation().setErpNo((String) ei.getCellValue(row, 14));
+                        project.getBasicInformation().setNecessityContent((String) ei.getCellValue(row, 15));
+                        project.getBasicInformation().setSubStationName((String) ei.getCellValue(row, 16));
+                        project.getBasicInformation().setLineName((String) ei.getCellValue(row, 17));
+                        project.getBasicInformation().setProjectType((String) ei.getCellValue(row, 18));
+                        project.getBasicInformation().setWhetherSummer((String) ei.getCellValue(row, 19));
+                        project.getBasicInformation().setBasicDescription((String) ei.getCellValue(row, 20));
+                        project.getBasicInformation().setWorkAreaRemarks((String) ei.getCellValue(row, 21));
                         compareList.add(project);
                     }
                 }

+ 66 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/web/ProjectController.java

@@ -6,6 +6,7 @@ package com.jeeplus.modules.sg.managementcenter.project.web;
 import java.io.*;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -20,6 +21,8 @@ import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.modules.act.service.ActProcessService;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.oa.service.OaNotifyService;
+import com.jeeplus.modules.sg.audit.information.utils.FreemarkerUtil;
+import com.jeeplus.modules.sg.audit.information.utils.ResponseUtil;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
 import com.jeeplus.modules.sg.managementcenter.materialInventory.service.MaterialInventoryService;
@@ -28,8 +31,12 @@ import com.jeeplus.modules.sg.managementcenter.project.service.PickingRequisitio
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sg.managementcenter.project.util.ProjectImportUtil;
 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 com.jeeplus.modules.sys.service.SystemService;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.shiro.authz.annotation.Logical;
@@ -385,6 +392,8 @@ public class ProjectController extends BaseController {
     @RequiresPermissions("sg:managementcenter:project:list")
     @RequestMapping(value = "data")
     public Map<String, Object> data(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -398,6 +407,8 @@ public class ProjectController extends BaseController {
     public Map<String, Object> dataSys(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
         project.setStatus("0");
         project.setWhetherCloseStatus("0");
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -412,6 +423,8 @@ public class ProjectController extends BaseController {
 		project1.setWhetherCloseStatus("0");
 		project1.setEarlyMaterial(1);
 		project1.setConstructionUnitManage(UserUtils.getUser().getLoginName());*/
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -428,6 +441,8 @@ public class ProjectController extends BaseController {
 		project1.setConstructionStatus("0");*/
         project.setAdvanceStatus("0");
         project.setStatus("2");
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -441,6 +456,8 @@ public class ProjectController extends BaseController {
         project.setAdvanceStatus("2");
         project.setConstructionStatus("0");
         project.setPreConstruction("1");
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -454,6 +471,8 @@ public class ProjectController extends BaseController {
         project.setAdvanceStatus("0");
         project.setAdvanceConstruction("0");
         project.setWhetherCloseStatus("0");
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -465,6 +484,8 @@ public class ProjectController extends BaseController {
     @RequestMapping(value = "advancePolicyData")
     public Map<String, Object> advancePolicyData(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
         project.setPolicyStatus("1");
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -477,6 +498,8 @@ public class ProjectController extends BaseController {
     public Map<String, Object> dataAdvance(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
 /*		project1.setPreConstruction(0);
 		project1.setConstructionUnitManage(UserUtils.getUser().getLoginName());//施工项目经理*/
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -487,6 +510,8 @@ public class ProjectController extends BaseController {
     @ResponseBody
     @RequestMapping(value = "pickingApplication")
     public Map<String, Object> pickingApplication(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -499,6 +524,8 @@ public class ProjectController extends BaseController {
     public Map<String, Object> settData(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
         project.setSettStatus("0");
         project.setConstructionStatus("2");
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
         Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
         return getBootstrapData(page);
     }
@@ -932,6 +959,8 @@ public class ProjectController extends BaseController {
             String fileName = "需求基本信息" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
             HttpSession session = request.getSession();
 //			Project projectEpo = (Project)session.getAttribute("projectEpo");
+            BasicInformation basicInformation = new BasicInformation();
+            project.setBasicInformation(basicInformation);
             Page<Project> page = projectService.findPage(new Page<Project>(request, response, -1), project);
             new ExportExcel("需求基本信息", Project.class).setDataList(page.getList()).write(response, fileName).dispose();
             j.setSuccess(true);
@@ -1461,4 +1490,41 @@ public class ProjectController extends BaseController {
         j.setMsg("删除请假表单成功");
         return j;
     }
+
+    /**
+     *到处项目前期基础信息
+     * */
+    @ResponseBody
+    @RequestMapping(value = "btnExport")
+    public void exportExcel(Project project, HttpServletRequest request, HttpServletResponse response) {
+        StringBuilder stringBuilder = new StringBuilder();
+        Template template = null;
+        response.setContentType("text/text;charset=utf-8");
+        response.setCharacterEncoding("UTF-8");
+        File path = new File(this.getClass().getResource("/").getPath() + "/freemarker");
+        Configuration cfg = new Configuration();
+        try {
+            cfg.setDefaultEncoding("UTF-8");
+            //配置cfg对象
+            cfg.setDirectoryForTemplateLoading(path);
+//            根据模板名称获取Template对象
+            template = cfg.getTemplate("before.ftl");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        Map<String, Object> data = new HashMap<>();
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
+        BeforeExport beforeExport = new BeforeExport();
+        List<BeforeExport> list = projectService.findBtnExport(beforeExport);
+        int i = 1;
+        for (BeforeExport s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+        data.put("list", list);
+        File docFile = new File(path + "\\项目前期基础信息.xls");
+        FreemarkerUtil.generateFile(data, template, docFile);
+        ResponseUtil.docResponse("项目前期基础信息.xls", docFile, response);
+    }
 }

+ 340 - 0
src/main/resources/freemarker/before.ftl

@@ -0,0 +1,340 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+  <Author>杨柳</Author>
+  <LastAuthor>enford</LastAuthor>
+  <Created>2015-06-05T18:19:00Z</Created>
+  <LastSaved>2020-08-05T02:24:54Z</LastSaved>
+  <Version>14.00</Version>
+ </DocumentProperties>
+ <CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+  <KSOProductBuildVer dt:dt="string">2052-11.1.0.9828</KSOProductBuildVer>
+ </CustomDocumentProperties>
+ <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
+  <AllowPNG/>
+ </OfficeDocumentSettings>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+  <WindowHeight>12540</WindowHeight>
+  <WindowWidth>28800</WindowWidth>
+  <WindowTopX>0</WindowTopX>
+  <WindowTopY>0</WindowTopY>
+  <ProtectStructure>False</ProtectStructure>
+  <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+  <Style ss:ID="Default" ss:Name="Normal">
+   <Alignment ss:Vertical="Bottom"/>
+   <Borders/>
+   <Font ss:FontName="等线" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
+   <Interior/>
+   <NumberFormat/>
+   <Protection/>
+  </Style>
+  <Style ss:ID="s67" ss:Name="常规 4">
+   <Alignment ss:Vertical="Center"/>
+   <Borders/>
+   <Font ss:FontName="等线" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
+   <Interior/>
+   <NumberFormat/>
+   <Protection/>
+  </Style>
+  <Style ss:ID="s60" ss:Name="常规 6 8">
+   <Alignment ss:Vertical="Center"/>
+   <Borders/>
+   <Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
+   <Interior/>
+   <NumberFormat/>
+   <Protection/>
+  </Style>
+  <Style ss:ID="m198734824" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="m198734844" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="m198734864" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="s72" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="s73" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior/>
+  </Style>
+  <Style ss:ID="s74" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#FF0000" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="s75" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:ShrinkToFit="1"
+    ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线" x:CharSet="134" ss:Size="9"/>
+  </Style>
+  <Style ss:ID="s77" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+   <NumberFormat ss:Format="0.00_);[Red]\(0.00\)"/>
+  </Style>
+  <Style ss:ID="s78" ss:Parent="s60">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:ShrinkToFit="1"
+    ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线" x:CharSet="134" ss:Size="9"/>
+  </Style>
+  <Style ss:ID="s80" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#FFFF00" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="s81" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:ShrinkToFit="1"
+    ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线" x:CharSet="134" ss:Size="9"/>
+   <NumberFormat ss:Format="0_);[Red]\(0\)"/>
+  </Style>
+  <Style ss:ID="s82" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Size="16" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="s84" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+  </Style>
+  <Style ss:ID="s88" ss:Parent="s67">
+   <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+   <Borders>
+    <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
+    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
+   </Borders>
+   <Font ss:FontName="等线 Light" x:CharSet="134" ss:Bold="1"/>
+   <Interior ss:Color="#00B0F0" ss:Pattern="Solid"/>
+   <NumberFormat ss:Format="0.00_);[Red]\(0.00\)"/>
+  </Style>
+ </Styles>
+ <Worksheet ss:Name="项目前期基本信息">
+  <Table ss:ExpandedColumnCount="22" ss:ExpandedRowCount="99999" x:FullColumns="1"
+   x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+   <Column ss:Index="19" ss:AutoFitWidth="0" ss:Width="155.25"/>
+   <Row ss:AutoFitHeight="0" ss:Height="18.75">
+    <Cell ss:MergeAcross="21" ss:StyleID="s82"><Data ss:Type="String">项目前期基本信息(肖文和导入)</Data></Cell>
+   </Row>
+   <Row>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">序号</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="m198734824"><Data ss:Type="String">储备项目名称</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="m198734844"><Data ss:Type="String">项目名称&#10;</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="m198734864"><Data ss:Type="String">项目定义&#10;</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">市公司</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">县公司</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">项目性质</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">需求单位</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">运维单位</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">供电区域</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">网格编号</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">单元格编号</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">项目储备编号</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">电网项目编号</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">ERP编号</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s88"><Data ss:Type="String">建设必要性及内容</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">变电站名称</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">线路名称</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s88"><Data ss:Type="String">项目类型</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s84"><Data ss:Type="String">是否迎峰度夏项目</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s88"><Data ss:Type="String">项目基本说明</Data></Cell>
+    <Cell ss:MergeDown="2" ss:StyleID="s88"><Data ss:Type="String">工区备注</Data></Cell>
+   </Row>
+   <Row ss:Index="5" ss:Height="51">
+    <Cell ss:StyleID="s72"/>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写相应的信息</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写相应的信息</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写相应的信息</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">国网镇江供电公司</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">本部</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">资本/成本</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">经研所/新区/丹徒/城区</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">新区/丹徒/城区</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">A/A+/B/C/无</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s77"><Data ss:Type="String">配变改造/配变新增/电缆项目/杆线项目/混合项目/纯自动化/纯土建/井盖维修/环网柜更换/箱变更换/其他特殊类</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">是/否</Data></Cell>
+    <Cell ss:StyleID="s77"><Data ss:Type="String">填写内容</Data></Cell>
+    <Cell ss:StyleID="s77"><Data ss:Type="String">填写内容</Data></Cell>
+   </Row>
+   <Row ss:Height="25.5">
+    <Cell ss:StyleID="s73"/>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s72"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s77"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s80"><Data ss:Type="String">必填,可修改</Data></Cell>
+    <Cell ss:StyleID="s80"><Data ss:Type="String">必填,可修改</Data></Cell>
+    <Cell ss:StyleID="s74"><Data ss:Type="String">必填,不可修改</Data></Cell>
+    <Cell ss:StyleID="s80"><Data ss:Type="String">必填,可修改</Data></Cell>
+    <Cell ss:StyleID="s77"><Data ss:Type="String">选填,非判定</Data></Cell>
+    <Cell ss:StyleID="s77"><Data ss:Type="String">选填,非判定</Data></Cell>
+   </Row>
+   <#list list as item>
+   <Row ss:Height="156">
+    <Cell ss:StyleID="s75"><Data ss:Type="Number">${item.id!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.reserveProjectName!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.projectName!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.projectId!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.municipalCompany!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.countyCompany!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.projectNature!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.demandUnit!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.operationUnit!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.powerSupplyArea!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.gridNumber!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.cellNumber!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.projectReserveNo!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.gridProjectNo!""}</Data></Cell>
+    <Cell ss:StyleID="s75"><Data ss:Type="String">${item.erpNo!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.necessityContent!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.subStationName!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.lineName!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.projectType!""}</Data></Cell>
+    <Cell ss:StyleID="s81"><Data ss:Type="String">${item.whetherSummer!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.basicDescription!""}</Data></Cell>
+    <Cell ss:StyleID="s78"><Data ss:Type="String">${item.workAreaRemarks!""}</Data></Cell>
+   </Row>
+   </#list>
+  </Table>
+  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+   <PageSetup>
+    <Header x:Margin="0.3"/>
+    <Footer x:Margin="0.3"/>
+    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
+   </PageSetup>
+   <Print>
+    <ValidPrinterInfo/>
+    <PaperSizeIndex>9</PaperSizeIndex>
+    <HorizontalResolution>600</HorizontalResolution>
+    <VerticalResolution>600</VerticalResolution>
+   </Print>
+   <TabColorIndex>13</TabColorIndex>
+   <Selected/>
+   <Panes>
+    <Pane>
+     <Number>3</Number>
+     <ActiveRow>6</ActiveRow>
+     <ActiveCol>8</ActiveCol>
+    </Pane>
+   </Panes>
+   <ProtectObjects>False</ProtectObjects>
+   <ProtectScenarios>False</ProtectScenarios>
+  </WorksheetOptions>
+ </Worksheet>
+</Workbook>

+ 3 - 0
src/main/resources/properties/jeeplus.properties

@@ -16,6 +16,9 @@ jdbc.type=mysql
 jdbc.driver=com.mysql.jdbc.Driver
 jdbc.url=jdbc:mysql://192.168.2.4:3306/sg_audit?useUnicode=true&amp;characterEncoding=utf-8&allowMultiQueries=true
 #jdbc.url=jdbc:mysql://localhost:3306/sg_audit?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
+#jdbc.url=jdbc:mysql://106.12.212.98:3306/sg_audit_0731?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
+#jdbc.username=root
+#jdbc.password=Xgxx1234!
 jdbc.username=root
 jdbc.password=root
 jdbc.testSql=SELECT 'x'

+ 0 - 21
src/main/resources/rebel.xml

@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
-  Refer to https://manuals.jrebel.com/jrebel/standalone/config.html for more information.
--->
-<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_1.xsd">
-
-	<classpath>
-		<dir name="D:/workspace/sgAudit/target/classes">
-		</dir>
-	</classpath>
-
-	<web>
-		<link target="/">
-			<dir name="D:/workspace/sgAudit/src/main/webapp">
-			</dir>
-		</link>
-	</web>
-
-</application>

+ 35 - 23
src/main/webapp/webpage/modules/sg/managementcenter/activiti/auditDrawings.jsp

@@ -11,30 +11,33 @@
         $(document).ready(function () {
             //审核通过
             $("#agree").click(function () {
-                var currentFileValues = $("input[name='pic']").val();
-                if (currentFileValues == "" || currentFileValues == null) {
-                    jp.error("请上传文件");
-                } else {
-                    jp.prompt("审核意见", function (message) {
-                        jp.post("${ctx}/act/task/auditDrawings", {
-                                "taskId": "${construction.act.taskId}",
-                                "taskName": "${construction.act.taskName}",
-                                "taskDefKey": "${construction.act.taskDefKey}",
-                                "procInsId": "${construction.act.procInsId}",
-                                "procDefId": "${construction.act.procDefId}",
-                                "flag": "yes",
-                                "path": currentFileValues,
-                                "reserveProjectName": "${construction.reserveProjectName}",
-                                "comment": window.encodeURI(message)
-                            },
-                            function (data) {
-                                if (data.success) {
-                                    jp.success(data.msg);
-                                    jp.go("${ctx}/act/task/todo")
-                                }
-                            })
-                    });
+                var ifMust = $("#ifMust").val();
+                if (ifMust == "是") {
+                    var currentFileValues = $("input[name='pic']").val();
+                    if (currentFileValues == "" || currentFileValues == null) {
+                        jp.error("请上传文件");
+                        return;
+                    }
                 }
+                jp.prompt("审核意见", function (message) {
+                    jp.post("${ctx}/act/task/auditDrawings", {
+                            "taskId": "${construction.act.taskId}",
+                            "taskName": "${construction.act.taskName}",
+                            "taskDefKey": "${construction.act.taskDefKey}",
+                            "procInsId": "${construction.act.procInsId}",
+                            "procDefId": "${construction.act.procDefId}",
+                            "flag": "yes",
+                            "path": currentFileValues,
+                            "reserveProjectName": "${construction.reserveProjectName}",
+                            "comment": window.encodeURI(message)
+                    },
+                    function (data) {
+                        if (data.success) {
+                            jp.success(data.msg);
+                            jp.go("${ctx}/act/task/todo")
+                        }
+                    })
+                });
             });
             //审核不通过
             $("#no").click(function () {
@@ -84,6 +87,15 @@
                                 <td class="width-35">
                                         ${fns:unescapeHtml(construction.reserveProjectName)}
                                 </td>
+                                <td class="width-15 active"><label class="pull-right">是否需要变更方案:</label></td>
+                                <td class="width-35">
+                                    <select id="ifMust" class="form-control">
+                                        <option value ="是" selected="selected">是</option>
+                                        <option value ="否">否</option>
+                                    </select>
+                                </td>
+                            </tr>
+                            <tr>
                                 <td class="width-15 active"><label class="pull-right">上传文件:</label></td>
                                 <td class="width-35">
                                     <sys:fileUpload path="pic" fileNumLimit="50" fileSizeLimit="50"

+ 136 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/conUpdate.jsp

@@ -0,0 +1,136 @@
+<%@ taglib prefix="from" uri="http://www.springframework.org/tags/form" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>政策处理上传文件</title>
+    <meta name="decorator" content="ani"/>
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <style type="text/css">
+        input::-webkit-input-placeholder {
+            color: red !important;
+        }
+
+        input::-moz-placeholder { /* Mozilla Firefox 19+ */
+            color: red !important;
+        }
+
+        input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
+            color: red !important;
+        }
+
+        input:-ms-input-placeholder { /* Internet Explorer 10-11 */
+            color: red !important;
+        }
+    </style>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $('#beginDate').datetimepicker({
+                format: "YYYY-MM-DD HH:mm:ss"
+            });
+            $('#endDate').datetimepicker({
+                format: "YYYY-MM-DD HH:mm:ss"
+            });
+            $('select').change(function () {
+                var includeAutomation = $('#includeAutomation').val();
+                var policyIssues = $('#policyIssues').val();
+                if (includeAutomation == '是') {
+                    $('#wayOf').attr('placeholder', '通信方式不能为空');
+                } else {
+                    $('#wayOf').removeAttr('placeholder');
+                }
+                if (policyIssues == '是') {
+                    $("#processingDescription").attr('placeholder', '政策处理描述不能为空');
+                } else {
+                    $("#processingDescription").removeAttr('placeholder');
+                }
+            });
+        });
+
+        function save() {
+            var b = check();
+            if (!b) {
+                jp.error("请正确填写信息");
+                return false;
+            }
+            jp.loading();
+            jp.post("${ctx}/managementcenter/activiti/conUpdateSave", $("#inputForm").serialize(), function (data) {
+                if (data.success) {
+                    jp.getParent().refresh();
+                    var dialogIndex = parent.layer.getFrameIndex(window.name); //获取窗口索引
+                    parent.layer.close(dialogIndex);
+                    jp.success(data.msg);
+                } else {
+                    jp.error(data.msg);
+                }
+            });
+        }
+
+        function check() {
+            var flag = true;
+            var projectInfo = $('#projectInfo').val();
+            var projectMoney = $('#projectMoney').val();
+            var processingList = $('#processingList').val();
+            var billList = $('#billList').val();
+            if (projectInfo == "" || projectMoney == "" || processingList == "" || billList == "") {
+                flag = false;
+            }
+            return flag;
+        }
+    </script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-body">
+                    <form:form id="inputForm" modelAttribute="constructionUpload" action="" method="post"
+                               class="form-horizontal">
+                        <form:hidden path="id"/>
+                        <input id="procInsId" type="hidden" value="${fns:unescapeHtml(construction.procInsId)}">
+                        <table class="table table-bordered">
+                            <tbody>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 储备项目暂定名称:</label></td>
+                                <td class="width-35">
+                                    <form:input id="reserveProjectName" path="reserveProjectName"
+                                                cssClass="form-control" readonly="true"/>
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">对方信息:</label></td>
+                                <td class="width-35">
+                                    <form:input id="projectInfo" path="projectInfo"
+                                                cssClass="form-control" placeholder="不能为空"/>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 对方金额:</label></td>
+                                <td class="width-35">
+                                    <from:input id="projectMoney" path="projectMoney" cssClass="form-control"
+                                                placeholder="不能为空"/>
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">政策处理清单:</label></td>
+                                <td class="width-35">
+                                    <sys:fileUpload path="processingList" fileNumLimit="50" fileSizeLimit="50"
+                                                    value="${constructionUpload.processingList}"
+                                                    uploadPath="/pick"></sys:fileUpload>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 缴费单:</label></td>
+                                <td class="width-35">
+                                    <sys:fileUpload path="billList" fileNumLimit="50" fileSizeLimit="50"
+                                                    value="${constructionUpload.billList}"
+                                                    uploadPath="/pick"></sys:fileUpload>
+                                </td>
+                            </tr>
+                            </tbody>
+                        </table>
+                    </form:form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 5 - 6
src/main/webapp/webpage/modules/sg/managementcenter/activiti/editEng.jsp

@@ -105,16 +105,15 @@
                             <tr>
                                 <td class="width-15 active"><label class="pull-right"> 是否含自动化:</label></td>
                                 <td class="width-35">
-                                    <form:select id="includeAutomation" path="quantity.includeAutomation"
-                                                 cssClass="form-control">
-                                        <form:option value="是"/>
-                                        <form:option value="否"/>
-                                    </form:select>
+                                    <form:input id="includeAutomation" path="quantity.includeAutomation"
+                                                cssClass="form-control" readonly="true"/>
                                 </td>
                                 <td class="width-15 active"><label class="pull-right">通信方式:</label></td>
                                 <td class="width-35">
+                                    <c:if test="${quantity.includeAutomation == '是'}">
                                     <form:input id="wayOf" path="quantity.wayOf"
                                                 cssClass="form-control" placeholder="通信方式不能为空"/>
+                                    </c:if>
                                 </td>
                             </tr>
                             <tr>
@@ -209,4 +208,4 @@
     </div>
 </div>
 </body>
-</html>
+</html>

+ 24 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/engineering.js

@@ -305,6 +305,30 @@ $(document).ready(function () {
         });
     });
 
+    $("#no").click(function () {
+        jp.prompt(" 审批意见", function (message) {
+            jp.post("${ctx}/act/task/engineering",
+                {
+                    "taskId": "${construction.act.taskId}",
+                    "taskName": "${construction.act.taskName}",
+                    "taskDefKey": "${construction.act.taskDefKey}",
+                    "procInsId": "${construction.act.procInsId}",
+                    "procDefId": "${construction.act.procDefId}",
+                    "id":"${construction.id}",
+                    "flag": "no",
+                    "comment": window.encodeURI(message)
+                },
+                function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        jp.go("${ctx}/act/task/todo");
+                    } else {
+                        jp.error(data.msg);
+                    }
+                }
+            )
+        });
+    });
 })
 
 //刷新列表

+ 39 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/engineering.jsp

@@ -457,6 +457,45 @@
                                         ${fns:unescapeHtml(construction.quantity.processingDescription)}
                                 </td>
                             </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 自动化工程量:</label></td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> FTU,三遥数量:</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.ftuThree)}
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">FTU,二遥数量:</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.ftuTwo)}
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> DTU,三遥,遮蔽立式数量</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.dtuVertical)}
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">DTU,三遥,户外立式数量</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.dtuOutdoor)}
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> DTU,三遥,组屏式数量</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.dtuGroup)}
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">一二次融合成套环网箱(2进2出)数量</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.ringCages)}
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 一二次融合成套柱上负荷开关(户外)数量:</label></td>
+                                <td class="width-35">
+                                        ${fns:unescapeHtml(construction.poleMounted)}
+                                </td>
+                            </tr>
                             </tbody>
                         </table>
                     </form:form>

+ 390 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/operatorUploadAfter.js

@@ -0,0 +1,390 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	$('#informationTable').bootstrapTable('hideLoading');
+	//定义方法---在bootstrap数据循环中使用,必须定义在bootstrapTable之前
+	window.operateEvents = {
+		'click #TableView': function (e, value, row, index) {
+			jp.openSaveDialog('模块清单', "${ctx}/managementcenter/activiti/uploadAfter?id="+row.id, '800px', '500px');
+		}
+	};
+	var procInsId = $("#procInsId").val();
+	// alert(procInsId);
+	$('#testPicTable').bootstrapTable({
+		//请求方法
+		method: 'post',
+		//类型json
+		dataType: "json",
+		contentType: "application/x-www-form-urlencoded",
+		//显示检索按钮
+		showSearch: true,
+		//显示刷新按钮
+		showRefresh: true,
+		//显示切换手机试图按钮
+		showToggle: true,
+		//显示 内容列下拉框
+		showColumns: true,
+		//显示到处按钮
+		showExport: true,
+		//显示切换分页按钮
+		showPaginationSwitch: true,
+		//最低显示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}/managementcenter/activiti/uploadData?procInsId="+procInsId,
+		//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+		//queryParamsType:'',
+		////查询参数,每次调用是会带上这个参数,可自定义
+		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',
+		onContextMenuItem: function(row, $el){
+			if($el.data("item") == "edit"){
+				edit(row.id);
+			}else if($el.data("item") == "view"){
+				view(row.id);
+			} else if($el.data("item") == "delete"){
+				jp.confirm('确认要删除该图片管理记录吗?', function(){
+					jp.loading();
+					jp.get("${ctx}/test/pic/testPic/delete?id="+row.id, function(data){
+						if(data.success){
+							$('#testPicTable').bootstrapTable('refresh');
+							jp.success(data.msg);
+						}else{
+							jp.error(data.msg);
+						}
+					})
+
+				});
+
+			}
+		},
+
+		onClickRow: function(row, $el){
+		},
+		onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+		columns: [{
+			field: 'path',
+			title: '文件路径',
+			sortable: true,
+			sortName: 'path',
+			formatter:function(value, row , index){
+				var valueArray = value.split("|");
+				var labelArray = [];
+				for(var i =0 ; i<valueArray.length; i++){
+					if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+					{
+						labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+					}else{
+						labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+					}
+				}
+				return labelArray.join(" ");
+			}
+
+		},{
+			field: 'imgName',
+			title: '上传用途',
+			sortable: true,
+			sortName: 'imgName',
+		},{
+			field: 'uid',
+			title: '上传人员',
+			sortable: true,
+			sortName: 'uid',
+		},{
+			field: 'operate',
+			title: '操作',
+			width: '80px',
+			events: operateEvents,
+			formatter: operateFormatter
+		}
+		]
+	});
+
+	function operateFormatter(value, row, index) {
+		return [
+			'<input id="TableView" type="button" value="修改" class="btn btn-default">',
+		].join('');
+	}
+
+	$('#projectTable').bootstrapTable({
+		//请求方法
+		method: 'post',
+		//类型json
+		dataType: "json",
+		contentType: "application/x-www-form-urlencoded",
+		//显示检索按钮
+		showSearch: false,
+		//显示刷新按钮
+		showRefresh: false,
+		//显示切换手机试图按钮
+		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: [5, 10, 25, 50, 150],
+		//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+		url: "${ctx}/sg/managementcenter/project/tearDownData?reserveProjectName=${construction.reserveProjectName}",
+		//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+		//queryParamsType:'',
+		////查询参数,每次调用是会带上这个参数,可自定义
+		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',
+		onContextMenuItem: function (row, $el) {
+			if ($el.data("item") == "edit") {
+				edit(row.id);
+			} else if ($el.data("item") == "view") {
+				view(row.id);
+			} else if ($el.data("item") == "delete") {
+				jp.confirm('确认要删除该表单记录吗?', function () {
+					jp.loading();
+					jp.get("${ctx}/sg/managementcenter/project/delete?id=" + row.id, function (data) {
+						if (data.success) {
+							$('#projectTable').bootstrapTable('refresh');
+							jp.success(data.msg);
+						} else {
+							jp.error(data.msg);
+						}
+					})
+				});
+			}
+		},
+
+		onClickRow: function (row, $el) {
+		},
+		onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+		columns:
+			[{
+				field: 'reserveProjectName',
+				width:160,
+				title: '储备项目暂定名称',
+			}
+				, {
+				field: 'projectId',
+				width:150,
+				title: '项目定义',
+			}
+				, {
+				field: 'projectName',
+				width:150,
+				title: '项目名称',
+			}
+				, {
+				field: 'tearDown.reservedName',
+				width:150,
+				title: '基础设备材料名称',
+			}
+				, {
+				field: 'tearDown.reserveModel',
+				width:150,
+				title: '基础-型号',
+			}
+				, {
+				field: 'tearDown.reserveUnit',
+				width:150,
+				title: '基础-单位',
+			}
+				, {
+				field: 'tearDown.reserveNumber',
+				width:150,
+				title: '基础-数量',
+			}
+				, {
+				field: 'tearDown.reserveBalance',
+				width:150,
+				title: '基础-差额',
+			}
+				, {
+				field: 'tearDown.reserveNotes',
+				width:150,
+				title: '基础-备注',
+			}
+				, {
+				field: 'tearDown.changeNumber',
+				width:150,
+				title: '设计变更-数量',
+			}
+				, {
+				field: 'tearDown.changeDifference',
+				width:150,
+				title: '设计变更-差额',
+			}
+				, {
+				field: 'tearDown.changeNotes',
+				width:150,
+				title: '设计变更-备注',
+			}
+			]
+	})
+
+
+
+	if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+
+		$('#testPicTable').bootstrapTable("toggleView");
+	}
+
+	$('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+		'check-all.bs.table uncheck-all.bs.table', function () {
+		$('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+		$('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+	});
+
+	$("#btnImport").click(function(){
+		jp.open({
+			type: 2,
+			area: [500, 200],
+			auto: true,
+			title:"导入数据",
+			content: "${ctx}/tag/importExcel" ,
+			btn: ['确定', '关闭'],
+			btn1: function(index, layero){
+				var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+				iframeWin.contentWindow.importExcel('${ctx}/sg/managementcenter/project/importDesTear?jumpName=${construction.reserveProjectName}', function (data) {
+					if(data.success){
+						jp.success(data.msg);
+						refresh2();
+					}else{
+						jp.error(data.msg);
+					}
+					jp.close(index);
+				});//调用保存事件
+				return false;
+			},
+			btn2: function(index){
+				jp.close(index);
+			}
+		});
+	});
+
+
+	$("#export").click(function(){//导出Excel文件
+		jp.downloadFile('${ctx}/test/pic/testPic/export');
+	});
+
+
+	$("#search").click("click", function() {// 绑定查询按扭
+		$('#testPicTable').bootstrapTable('refresh');
+	});
+
+	$("#reset").click("click", function() {// 绑定查询按扭
+		$("#searchForm  input").val("");
+		$("#searchForm  select").val("");
+		$("#searchForm  .select-item").html("");
+		$('#testPicTable').bootstrapTable('refresh');
+	});
+
+
+});
+
+function getIdSelections() {
+	return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+		return row.id
+	});
+}
+
+function deleteAll(){
+
+	jp.confirm('确认要删除该图片管理记录吗?', function(){
+		jp.loading();
+		jp.get("${ctx}/test/pic/testPic/deleteAll?ids=" + getIdSelections(), function(data){
+			if(data.success){
+				$('#testPicTable').bootstrapTable('refresh');
+				jp.success(data.msg);
+			}else{
+				jp.error(data.msg);
+			}
+		})
+
+	})
+}
+
+//刷新列表
+function refresh(){
+	$('#testPicTable').bootstrapTable('refresh');
+}
+
+function refresh2() {
+	$('#projectTable').bootstrapTable('refresh');
+}
+
+function add(){
+	jp.openSaveDialog('新增图片管理', "${ctx}/test/pic/testPic/form",'800px', '500px');
+}
+
+
+
+function edit(id){//没有权限时,不显示确定按钮
+	if(id == undefined){
+		id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+}
+
+function view(id){//没有权限时,不显示确定按钮
+	if(id == undefined){
+		id = getIdSelections();
+	}
+	jp.openViewDialog('查看图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+}
+
+
+
+</script>

+ 433 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/operatorUploadAfter.jsp

@@ -0,0 +1,433 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>设计单位人员调整文件</title>
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
+    <meta name="decorator" content="ani"/>
+    <%@ include file="/webpage/include/bootstraptable.jsp" %>
+    <%@include file="operatorUploadAfter.js" %>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $("#agree").click(function () {
+                jp.prompt("审核意见", function (message) {
+                    jp.post("${ctx}/act/task/operatorAfter",
+                        {
+                            "taskId": "${construction.act.taskId}",
+                            "taskName": "${construction.act.taskName}",
+                            "taskDefKey": "${construction.act.taskDefKey}",
+                            "procInsId": "${construction.act.procInsId}",
+                            "procDefId": "${construction.act.procDefId}",
+                            "flag": "yes",
+                            "reserveProjectName": "${construction.reserveProjectName}",
+                            "comment": window.encodeURI(message)
+                        },
+                        function (data) {
+                            if (data.success) {
+                                jp.success(data.msg);
+                                jp.go("${ctx}/act/task/todo")
+                            }
+                        }
+                    )
+                });
+            });
+        });
+    </script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="panel panel-primary">
+        <div class="panel-heading">
+            <h3 class="panel-title">设计单位人员重新设计</h3>
+        </div>
+        <div class="panel-body">
+            <!-- 工具栏 -->
+            <div id="toolbar">
+                <button id="btnImport" class="btn btn-info">
+                    <i class="fa fa-folder-open-o"></i> 导入拆旧表
+                </button>
+            </div>
+            <!-- 表格 -->
+            <table id="testPicTable" data-toolbar="#toolbar"></table>
+
+            <table id="projectTable"  style="table-layout:fixed"  data-toolbar="#toolbar"></table>
+
+            <div class="panel-body">
+                <form:form id="inputForm" modelAttribute="construction" action="${ctx}/managementcenter/divide/save"
+                           method="post" class="form-horizontal">
+                    <form:hidden path="id"/>
+                    <input id="procInsId" type="hidden" value="${fns:unescapeHtml(construction.procInsId)}">
+                    <input type="hidden" value="${fns:unescapeHtml(construction.id)}">
+                    <table class="table table-bordered">
+                        <tbody>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">储备项目暂定名称:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.reserveProjectName)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">项目号:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.projectId)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">项目名称:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.projectName)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">市公司:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.municipalCompany)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 县公司:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.countyCompany)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">项目性质:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.projectNature)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 需求单位:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.demandUnit)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">运维单位:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.operationUnit)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 供电区域:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.powerSupplyArea)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">网格编号:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.gridNumber)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 单元格编号:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.cellNumber)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">项目储备编号:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.projectReserveNo)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">电网项目编号</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.gridProjectNo)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> ERP编号</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.erpNo)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">建设必要性及内容:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.necessityContent)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> 变电站名称:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.subStationName)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">线路名称:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.lineName)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">项目类型:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.projectType)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">是否迎峰度夏项目:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.whetherSummer)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> 项目基本说明:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.basicDescription)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">工区备注:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.basicInformation.workAreaRemarks)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">是否已实施:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.hasImplemented)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 现场情况描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.sceneDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">是否有实施必要性:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.isImplement)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 实施无必要描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.noImplementation)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">图纸是否完整:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.whetherComplete)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 图纸完整性描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.drawingDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">图纸是否规范:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.whetherStandard)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right"> 图纸规范性描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.normativeDrawings)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">是否存在典设图问题:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.whetherDrawing)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">典设图问题描述</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.problemDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> 是否存在施工通道</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.whetherChannel)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">施工通道情况描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.constructionDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> 土建是否需要调整:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.civilAdjusted)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">土建方案变更内容描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.descriptionPlans)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right">土建工作量调整内容描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.descriptionAdjustment)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">电气方案是否需要调整:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.electricalAdjusted)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> 调整原因描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.adjustmentDescription)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">自动化是否需要变更:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.doesChange)}
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="width-15 active"><label class="pull-right"> 自动化方案调整内容:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.automatedContent)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">自动化工作内容调整:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.automatedAdjustment)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 其他方案是否需要调整:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.otherAdjusted)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">其他方案调整原因描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.descriptionReasons)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否存在难以解决的政处:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.difficultResolve)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">是否需要进行设计变更:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.designChanges)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否需要进行项目关闭:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.needsClosed)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">政处问题描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.affairsDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否需要规划报批:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.planningRequired)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">是否涉及高铁、高速:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.highSpeed)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否存在复杂民事政处:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.affairsOffice)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">图纸方案是否存在前置条件:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.preconditions)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 前置条件描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.preconditionDescription)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">是否需要定制物资:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.customizedMaterials)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否能定制:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.customizedCan)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">定制原因描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.reasonDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 定制物资描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.materialDescription)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">拆旧物资是否与设计一致:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.demolitionMaterials)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 型号不一致描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.modelDescription)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">数量不一致描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.quantityDescription)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 图纸标注是否存在问题:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.drawingAnnotation)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">图纸标注问题描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.drawingProblem)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否存在停电问题:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.powerOutage)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">停电问题问题描述:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.powerProblem)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否邻近带电线路:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.nearLiveLine)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">是否下穿高压线路:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.highVoltageLine)}
+                            </td>
+                        </tr>
+                        <tr>
+
+                            <td class="width-15 active"><label class="pull-right"> 是否存在复杂管线:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.complexPipeline)}
+                            </td>
+                            <td class="width-15 active"><label class="pull-right">是否涉及复杂停电:</label></td>
+                            <td class="width-35">
+                                    ${fns:unescapeHtml(construction.disclose.complicatedPower)}
+                            </td>
+                        </tr>
+                        </tbody>
+                    </table>
+                </form:form>
+                <div class="row">
+                    <div class="col-sm-3"></div>
+                    <div class="col-sm-6">
+                        <div class="form-group text-center">
+                            <input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="审核"/>&nbsp;
+                        </div>
+                    </div>
+                </div>
+                <c:if test="${not empty construction.id}">
+                    <act:flowChart procInsId="${construction.act.procInsId}"/>
+                    <act:histoicFlow procInsId="${construction.act.procInsId}"/>
+                </c:if>
+            </div>
+
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 3 - 3
src/main/webapp/webpage/modules/sg/managementcenter/activiti/operatorUploadList.jsp

@@ -14,11 +14,11 @@
                 var budget = $("input[name='budget']").val();
                 var civil = $("input[name='civil']").val();
                 if (currentFileValues == '' || currentFileValues == null) {
-                    jp.error("请上传文件");
+                    jp.error("请上传图纸");
                     return false;
                 }
                 if (civil == '' || civil == null) {
-                    jp.error("请上传土建工程量表");
+                    jp.error("请上传物资清册");
                     return false;
                 }
                 if (budget == '' || budget == null) {
@@ -91,7 +91,7 @@
                             </td>
                         </tr>
                         <tr>
-                            <td class="width-15 active"><label class="pull-right">土建工程量表:</label></td>
+                            <td class="width-15 active"><label class="pull-right">物资清册:</label></td>
                             <td class="width-35">
                                 <sys:fileUpload path="civil" fileNumLimit="50" fileSizeLimit="50"
                                                 value="${testPic.pic}" type="file"

+ 247 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralFiles.js

@@ -0,0 +1,247 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var procInsId = $("#procInsId").val();
+	//定义方法---在bootstrap数据循环中使用,必须定义在bootstrapTable之前
+	window.operateEvents = {
+		'click #TableView': function (e, value, row, index) {
+			jp.openSaveDialog('模块清单', "${ctx}/managementcenter/activiti/updateConUpload?id="+row.id, '800px', '500px');
+			refresh();
+		},
+		'click #del': function (e, value, row, index) {
+			jp.confirm('是否需要删除', function () {
+				jp.post("${ctx}/managementcenter/activiti/delConUpload" , {"id": row.id}, function () {
+					if (data.success) {
+						jp.success(data.msg);
+						jp.close(index);
+						refresh();
+					} else {
+						jp.error(data.msg);
+					}
+				})
+			}, function () {
+			});
+		}
+	};
+	$('#testPicTable').bootstrapTable({
+		//请求方法
+		method: 'post',
+		//类型json
+		dataType: "json",
+		contentType: "application/x-www-form-urlencoded",
+		//显示检索按钮
+		showSearch: false,
+		//显示刷新按钮
+		showRefresh: false,
+		//显示切换手机试图按钮
+		showToggle: false,
+		//显示 内容列下拉框
+		showColumns: false,
+		//显示到处按钮
+		showExport: false,
+		//显示切换分页按钮
+		showPaginationSwitch: false,
+		//最低显示2行
+		minimumCountColumns: 2,
+		//是否显示行间隔色
+		striped: true,
+		//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+		cache: false,
+		//是否显示分页(*)
+		pagination: false,
+		//排序方式
+		sortOrder: "asc",
+		//初始化加载第一页,默认第一页
+		pageNumber:1,
+		//每页的记录行数(*)
+		pageSize: 10,
+		//可供选择的每页的行数(*)
+		pageList: [10, 25, 50, 100],
+		//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+		url: "${ctx}/managementcenter/activiti/conData?reserveProjectName=${construction.reserveProjectName}",
+		//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+		//queryParamsType:'',
+		////查询参数,每次调用是会带上这个参数,可自定义
+		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',
+		onContextMenuItem: function(row, $el){
+			if($el.data("item") == "edit"){
+				edit(row.id);
+			}else if($el.data("item") == "view"){
+				view(row.id);
+			} else if($el.data("item") == "delete"){
+				jp.confirm('确认要删除该图片管理记录吗?', function(){
+					jp.loading();
+					jp.get("${ctx}/test/pic/testPic/delete?id="+row.id, function(data){
+						if(data.success){
+							$('#testPicTable').bootstrapTable('refresh');
+							jp.success(data.msg);
+						}else{
+							jp.error(data.msg);
+						}
+					})
+
+				});
+
+			}
+		},
+
+		onClickRow: function(row, $el){
+		},
+		onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+		columns: [{
+			field: 'reserveProjectName',
+			title: '储备项目暂定名称',
+		},{
+			field: 'projectInfo',
+			title: '对方信息',
+		},{
+			field: 'projectMoney',
+			title: '对方金额',
+		},{
+			field: 'billList',
+			title: '缴费单',
+			formatter:function(value, row , index){
+				var valueArray = value.split("|");
+				var labelArray = [];
+				for(var i =0 ; i<valueArray.length; i++){
+					if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+					{
+						labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+					}else{
+						labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+					}
+				}
+				return labelArray.join(" ");
+			}
+
+		},{
+			field: 'processingList',
+			title: '政策处理清单',
+			formatter:function(value, row , index){
+				var valueArray = value.split("|");
+				var labelArray = [];
+				for(var i =0 ; i<valueArray.length; i++){
+					if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+					{
+						labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+					}else{
+						labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+					}
+				}
+				return labelArray.join(" ");
+			}
+
+		},{
+			field: 'operate',
+			title: '操作',
+			width: '80px',
+			events: operateEvents,
+			formatter: operateFormatter
+		}]
+	});
+
+	function operateFormatter(value, row, index) {
+		return [
+			'<input id="TableView" type="button" value="修改" class="btn btn-default">',
+			'<input id="del" type="button" value="删除" class="btn btn-default">',
+		].join('');
+	}
+
+
+	if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+
+		$('#testPicTable').bootstrapTable("toggleView");
+	}
+
+	$('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+		'check-all.bs.table uncheck-all.bs.table', function () {
+		$('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+		$('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+	});
+	$("#export").click(function(){//导出Excel文件
+		jp.downloadFile('${ctx}/test/pic/testPic/export');
+	});
+	$("#search").click("click", function() {// 绑定查询按扭
+		$('#testPicTable').bootstrapTable('refresh');
+	});
+	$("#reset").click("click", function() {// 绑定查询按扭
+		$("#searchForm  input").val("");
+		$("#searchForm  select").val("");
+		$("#searchForm  .select-item").html("");
+		$('#testPicTable').bootstrapTable('refresh');
+	});
+
+	$("#btnImport").click(function () {
+		jp.openSaveDialog('填写信息及上传文件', "${ctx}/managementcenter/activiti/conUpdate?reserveProjectName=${construction.reserveProjectName}", '1000px', '800px');
+	})
+});
+
+function getIdSelections() {
+	return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+		return row.id
+	});
+}
+
+function deleteAll(){
+
+	jp.confirm('确认要删除该图片管理记录吗?', function(){
+		jp.loading();
+		jp.get("${ctx}/test/pic/testPic/deleteAll?ids=" + getIdSelections(), function(data){
+			if(data.success){
+				$('#testPicTable').bootstrapTable('refresh');
+				jp.success(data.msg);
+			}else{
+				jp.error(data.msg);
+			}
+		})
+
+	})
+}
+
+//刷新列表
+function refresh(){
+	$('#testPicTable').bootstrapTable('refresh');
+}
+
+function refresh2() {
+	$('#projectTable').bootstrapTable('refresh');
+}
+
+function add(){
+	jp.openSaveDialog('新增图片管理', "${ctx}/test/pic/testPic/form",'800px', '500px');
+}
+
+
+
+function edit(id){//没有权限时,不显示确定按钮
+	if(id == undefined){
+		id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+}
+
+function view(id){//没有权限时,不显示确定按钮
+	if(id == undefined){
+		id = getIdSelections();
+	}
+	jp.openViewDialog('查看图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+}
+
+
+
+
+</script>

+ 27 - 19
src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralFiles.jsp

@@ -5,10 +5,12 @@
     <title>农村上传文件</title>
     <meta name="decorator" content="ani"/>
     <%@include file="/webpage/include/summernote.jsp" %>
+    <%@include file="/webpage/include/bootstraptable.jsp"%>
+    <%@include file="ruralFiles.js" %>
     <script type="text/javascript">
         $(document).ready(function () {
             $("#conditions").click(function () {
-                var pic = $("input[name='pic']").val();
+/*                var pic = $("input[name='pic']").val();
                 if (pic == '' || pic == null) {
                     jp.error("请上传签字版政策处理清单");
                     return false;
@@ -17,7 +19,7 @@
                 if (payment == '' || payment == null) {
                     jp.error("请上传缴费单");
                     return false;
-                }
+                }*/
                 var val = $("#ifBorrow").val();
                 jp.prompt("审核通过", function (message) {
                     jp.post("${ctx}/act/task/ruralFiles",
@@ -29,8 +31,8 @@
                             "procDefId": "${construction.act.procDefId}",
                             "reserveProjectName": "${construction.reserveProjectName}",
                             "flag": "yes",
-                            "path": pic,
-                            "path1": payment,
+/*                            "path": pic,
+                            "path1": payment,*/
                             "ifBorrow": val,
                             "comment": window.encodeURI(message)
                         },
@@ -56,7 +58,14 @@
                         <h3 class="panel-title">农村上传文件</h3>
                     </h3>
                 </div>
+
+                <div id="toolbar">
+                    <button id="btnImport" class="btn btn-info">
+                        <i class="fa fa-folder-open-o"></i>填写项目信息及上传文件
+                    </button>
+                </div>
                 <div class="panel-body">
+                    <table id="testPicTable" data-toolbar="#toolbar"></table>
                     <form:form id="inputForm" modelAttribute="construction" action="${ctx}/managementcenter/divide/save"
                                method="post" class="form-horizontal">
                         <form:hidden path="id"/>
@@ -76,22 +85,21 @@
                                         <form:option value="否"/>
                                     </form:select>
                                 </td>
-
-                            </tr>
-                            <tr>
-                                <td class="width-15 active"><label class="pull-right">上传签字版政策处理清单:</label></td>
-                                <td class="width-35">
-                                    <sys:fileUpload path="pic" fileNumLimit="50" fileSizeLimit="50"
-                                                    value="${testPic.pic}" type="file"
-                                                    uploadPath="list"></sys:fileUpload>
-                                </td>
-                                <td class="width-15 active"><label class="pull-right">上传缴费单:</label></td>
-                                <td class="width-35">
-                                    <sys:fileUpload path="payment" fileNumLimit="50" fileSizeLimit="50"
-                                                    value="${testPic.pic}" type="file"
-                                                    uploadPath="list"></sys:fileUpload>
-                                </td>
                             </tr>
+<%--                            <tr>--%>
+<%--                                <td class="width-15 active"><label class="pull-right">上传签字版政策处理清单:</label></td>--%>
+<%--                                <td class="width-35">--%>
+<%--                                    <sys:fileUpload path="pic" fileNumLimit="50" fileSizeLimit="50"--%>
+<%--                                                    value="${testPic.pic}" type="file"--%>
+<%--                                                    uploadPath="list"></sys:fileUpload>--%>
+<%--                                </td>--%>
+<%--                                <td class="width-15 active"><label class="pull-right">上传缴费单:</label></td>--%>
+<%--                                <td class="width-35">--%>
+<%--                                    <sys:fileUpload path="payment" fileNumLimit="50" fileSizeLimit="50"--%>
+<%--                                                    value="${testPic.pic}" type="file"--%>
+<%--                                                    uploadPath="list"></sys:fileUpload>--%>
+<%--                                </td>--%>
+<%--                            </tr>--%>
                             <tr>
                                 <td class="width-15 active"><label class="pull-right">项目号:</label></td>
                                 <td class="width-35">

+ 24 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/ruralJudge.jsp

@@ -69,6 +69,28 @@
                         }
                     )
                 })
+            })
+
+            $("#no").click(function () {
+                jp.prompt("驳回", function (message) {
+                    jp.post("${ctx}/act/task/ruralJudge",
+                        {
+                            "taskId": "${construction.act.taskId}",
+                            "taskName": "${construction.act.taskName}",
+                            "taskDefKey": "${construction.act.taskDefKey}",
+                            "procInsId": "${construction.act.procInsId}",
+                            "procDefId": "${construction.act.procDefId}",
+                            "flag": "no",
+                            "comment": window.encodeURI(message)
+                        },
+                        function (data) {
+                            if (data.success) {
+                                jp.success(data.msg);
+                                jp.go("${ctx}/act/task/todo")
+                            }
+                        }
+                    )
+                })
             });
         })
     </script>
@@ -517,6 +539,8 @@
                                        value="项目关闭"/>
                                 <input id="pass" class="btn  btn-primary btn-lg btn-parsley" type="submit"
                                        value="上传文件"/>
+                                <input id="no" class="btn  btn-primary btn-lg btn-parsley" type="submit"
+                                       value="驳回"/>
                                 <%--									<input id="no" class="btn  btn-primary btn-lg btn-danger" type="submit" value="驳回" />&nbsp;--%>
                             </div>
                         </div>

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

@@ -468,7 +468,7 @@
                         <div class="col-sm-6">
                             <div class="form-group text-center">
                                 <input id="conditions" class="btn  btn-primary btn-lg btn-parsley" type="submit"
-                                       value="通过"/>&nbsp;
+                                       value="“完成”"/>&nbsp;
                             </div>
                         </div>
                     </div>

+ 136 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/updateConUpload.jsp

@@ -0,0 +1,136 @@
+<%@ taglib prefix="from" uri="http://www.springframework.org/tags/form" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>政策处理上传文件</title>
+    <meta name="decorator" content="ani"/>
+    <%@include file="/webpage/include/summernote.jsp" %>
+    <style type="text/css">
+        input::-webkit-input-placeholder {
+            color: red !important;
+        }
+
+        input::-moz-placeholder { /* Mozilla Firefox 19+ */
+            color: red !important;
+        }
+
+        input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
+            color: red !important;
+        }
+
+        input:-ms-input-placeholder { /* Internet Explorer 10-11 */
+            color: red !important;
+        }
+    </style>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $('#beginDate').datetimepicker({
+                format: "YYYY-MM-DD HH:mm:ss"
+            });
+            $('#endDate').datetimepicker({
+                format: "YYYY-MM-DD HH:mm:ss"
+            });
+            $('select').change(function () {
+                var includeAutomation = $('#includeAutomation').val();
+                var policyIssues = $('#policyIssues').val();
+                if (includeAutomation == '是') {
+                    $('#wayOf').attr('placeholder', '通信方式不能为空');
+                } else {
+                    $('#wayOf').removeAttr('placeholder');
+                }
+                if (policyIssues == '是') {
+                    $("#processingDescription").attr('placeholder', '政策处理描述不能为空');
+                } else {
+                    $("#processingDescription").removeAttr('placeholder');
+                }
+            });
+        });
+
+        function save() {
+            var b = check();
+            if (!b) {
+                jp.error("请正确填写信息");
+                return false;
+            }
+            jp.loading();
+            jp.post("${ctx}/managementcenter/activiti/saveConUpload", $("#inputForm").serialize(), function (data) {
+                if (data.success) {
+                    jp.getParent().refresh();
+                    var dialogIndex = parent.layer.getFrameIndex(window.name); //获取窗口索引
+                    parent.layer.close(dialogIndex);
+                    jp.success(data.msg);
+                } else {
+                    jp.error(data.msg);
+                }
+            });
+        }
+
+        function check() {
+            var flag = true;
+            var projectInfo = $('#projectInfo').val();
+            var projectMoney = $('#projectMoney').val();
+            var processingList = $('#processingList').val();
+            var billList = $('#billList').val();
+            if (projectInfo == "" || projectMoney == "" || processingList == "" || billList == "") {
+                flag = false;
+            }
+            return flag;
+        }
+    </script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="row">
+        <div class="col-md-12">
+            <div class="panel panel-primary">
+                <div class="panel-body">
+                    <form:form id="inputForm" modelAttribute="constructionUpload" action="" method="post"
+                               class="form-horizontal">
+                        <form:hidden path="id"/>
+                        <input id="procInsId" type="hidden" value="${fns:unescapeHtml(construction.procInsId)}">
+                        <table class="table table-bordered">
+                            <tbody>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 储备项目暂定名称:</label></td>
+                                <td class="width-35">
+                                    <form:input id="reserveProjectName" path="reserveProjectName"
+                                                cssClass="form-control" readonly="true"/>
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">对方信息:</label></td>
+                                <td class="width-35">
+                                    <form:input id="projectInfo" path="projectInfo"
+                                                cssClass="form-control" placeholder="不能为空"/>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 对方金额:</label></td>
+                                <td class="width-35">
+                                    <from:input id="projectMoney" path="projectMoney" cssClass="form-control"
+                                                placeholder="不能为空"/>
+                                </td>
+                                <td class="width-15 active"><label class="pull-right">政策处理清单:</label></td>
+                                <td class="width-35">
+                                    <sys:fileUpload path="processingList" fileNumLimit="50" fileSizeLimit="50"
+                                                    value="${constructionUpload.processingList}"
+                                                    uploadPath="/pick"></sys:fileUpload>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td class="width-15 active"><label class="pull-right"> 缴费单:</label></td>
+                                <td class="width-35">
+                                    <sys:fileUpload path="billList" fileNumLimit="50" fileSizeLimit="50"
+                                                    value="${constructionUpload.billList}"
+                                                    uploadPath="/pick"></sys:fileUpload>
+                                </td>
+                            </tr>
+                            </tbody>
+                        </table>
+                    </form:form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 54 - 0
src/main/webapp/webpage/modules/sg/managementcenter/activiti/uploadAfter.jsp

@@ -0,0 +1,54 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>模块表</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var mdImg = $("#mdImg").val();
+            var isValidate = jp.validateForm('#inputForm');//校验表单
+            if(!isValidate){
+                return false;
+			}else{
+                jp.loading();
+                jp.post("${ctx}/managementcenter/activiti/saveUpload",$('#inputForm').serialize(),function(data){
+                    if(data.success){
+                        jp.getParent().refresh();
+                        var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
+                        parent.layer.close(dialogIndex);
+                        jp.success(data.msg)
+
+                    }else{
+                        jp.error(data.msg);
+                    }
+                })
+			}
+
+        }
+	</script>
+</head>
+<body class="bg-white">
+		<form:form id="inputForm" modelAttribute="uploadImages" class="form-horizontal">
+		<form:hidden path="id"/>	
+		<table class="table table-bordered">
+			<tbody>
+				<tr>
+					<td class="width-15 active"><label class="pull-right"><font color="red">*</font>上传附件:</label></td>
+					<td class="width-35">
+						<sys:fileUpload  path="path" fileNumLimit="50" fileSizeLimit="50" value="${uploadImages.path	}"   uploadPath="/pick"></sys:fileUpload>
+					</td>
+				</tr>
+			</tbody>
+		</table>
+	</form:form>
+</body>
+</html>

+ 2 - 2
src/main/webapp/webpage/modules/sg/managementcenter/project/assignmentForm.jsp

@@ -294,11 +294,11 @@
 					<td class="width-15 active"><label class="">经研所角色:</label></td>
 					<td class="width-35">
 						<c:choose>
-							<c:when test="${not empty project.assignment}">
+							<c:when test="${project.basicInformation.demandUnit != '经研所'}">
 								<form:input path="assignment.instituteRole"  readonly="true" htmlEscape="false" class="form-control"/>
 							</c:when>
 							<c:otherwise>
-								<form:input path="assignment.instituteRole"  htmlEscape="false" class="form-control"/>
+								<form:input path="assignment.instituteRole"  htmlEscape="false" class="form-control required"/>
 							</c:otherwise>
 						</c:choose>
 					</td>

+ 4 - 25
src/main/webapp/webpage/modules/sg/managementcenter/project/projectBasicInformation.js

@@ -227,33 +227,12 @@ $(document).ready(function () {
             }
         });
     });
-    $("#btnImportPicking").click(function () {
-        jp.open({
-            type: 2,
-            area: [500, 200],
-            auto: true,
-            title: "导入领料单",
-            content: "${ctx}/tag/importExcel",
-            btn: ['确定', '关闭'],
-            btn1: function (index, layero) {
-                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
-                iframeWin.contentWindow.importExcel('${ctx}/sg/managementcenter/project/importPicking', function (data) {
-                    if (data.success) {
-                        jp.success(data.msg);
-                        refresh();
-                    } else {
-                        jp.error(data.msg);
-                    }
-                    jp.close(index);
-                });//调用保存事件
-                return false;
-            },
-            btn2: function (index) {
-                //  jp.close(index);
-            }
-        });
+
+    $("#btnExport").click(function () {
+        jp.downloadFile('${ctx}/sg/managementcenter/project/btnExport', '项目前期基本信息');
     });
 
+
     $("#export").click(function () {//导出Excel文件
         jp.downloadFile('${ctx}/sg/managementcenter/project/export');
     });

+ 8 - 2
src/main/webapp/webpage/modules/sg/managementcenter/project/projectBasicInformation.jsp

@@ -42,7 +42,14 @@
 				</button>
 			</shiro:hasPermission>
 			<shiro:hasPermission name="sg:managementcenter:project:import">
-				<button id="btnImport" class="btn btn-info"><i class="fa fa-folder-open-o"></i> 导入</button>
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="sg:managementcenter:project:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
 			</shiro:hasPermission>
 <%--			<shiro:hasPermission name="sg:managementcenter:project:export">
 	        		<button id="export" class="btn btn-warning">
@@ -50,7 +57,6 @@
 				</button>
 			</shiro:hasPermission>--%>
 		    </div>
-		
 	<!-- 表格 -->
 	<table id="projectTable"  style="table-layout:fixed"  data-toolbar="#toolbar"></table>
 

+ 1 - 1
src/main/webapp/webpage/modules/sg/picking/activiti/netExamineTemUpload.jsp

@@ -52,7 +52,7 @@
 				<td class="width-15 active"><label class="pull-right" style="float: left">物料信息:</label></td>
 				<td class="width-35">
 					<sys:itemselect url="${ctx}/sg/managementcenter/marterialProvided/searchData" id="project" name="projectId" value="${materialProvided.id}" labelName="materialProvided.materialDescription" labelValue="${materialProvided.materialDescription}"
-									title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('物料编码|物料描述|扩展编码|扩展编码描述|计量单位|参考概算价格|版本号')}" fieldKeys="materialCode|materialDescription|extendedCode|extendedDescription|measuringUnit|referencePrice|version" searchLabels="${fns:urlEncode('物料编码')}" searchKeys="materialCode"  isMultiSelected="false"></sys:itemselect>
+									title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('物料编码|物料描述|扩展编码|扩展编码描述|计量单位|参考概算价格|版本号')}" fieldKeys="materialCode|materialDescription|extendedCode|extendedDescription|measuringUnit|referencePrice|versionName" searchLabels="${fns:urlEncode('物料编码|物料描述')}" searchKeys="materialCode|materialDescription"  isMultiSelected="false"></sys:itemselect>
 				</td>
 			</tr>
 			<tr>

+ 1 - 1
src/main/webapp/webpage/modules/sg/picking/activiti/netExamineUpload.jsp

@@ -49,7 +49,7 @@
 				<td class="width-15 active"><label class="pull-right" style="float: left">物料信息:</label></td>
 				<td class="width-35">
 					<sys:itemselect url="${ctx}/sg/managementcenter/marterialProvided/searchData" id="project" name="projectId" value="${materialProvided.id}" labelName="materialProvided.materialDescription" labelValue="${materialProvided.materialDescription}"
-									title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('物料编码|物料描述|扩展编码|扩展编码描述|计量单位|参考概算价格|版本号')}" fieldKeys="materialCode|materialDescription|extendedCode|extendedDescription|measuringUnit|referencePrice|version" searchLabels="${fns:urlEncode('物料编码')}" searchKeys="materialCode"  isMultiSelected="false"></sys:itemselect>
+									title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('物料编码|物料描述|扩展编码|扩展编码描述|计量单位|参考概算价格|版本号')}" fieldKeys="materialCode|materialDescription|extendedCode|extendedDescription|measuringUnit|referencePrice|versionName" searchLabels="${fns:urlEncode('物料编码|物料描述')}" searchKeys="materialCode|materialDescription"  isMultiSelected="false"></sys:itemselect>
 				</td>
 			</tr>
 			<tr>