浏览代码

需求信息修改

xs 5 年之前
父节点
当前提交
d944be7914

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/materialproject/web/MaterialProjectController.java

@@ -192,7 +192,7 @@ public class MaterialProjectController extends BaseController {
 	@ResponseBody
 	@RequiresPermissions("managementcenter:materialproject:export")
     @RequestMapping(value = "export")
-    public AjaxJson exportFile(MaterialProject materialProject, HttpServletRequest request, HttpServletResponse response) throws IOException {
+    public AjaxJson exportFile(MaterialProject materialProject, HttpServletRequest request, HttpServletResponse response){
 		AjaxJson j = new AjaxJson();
 		HttpSession session = request.getSession();
 		MaterialProject materialProject1 = (MaterialProject)session.getAttribute("materialPro");

+ 123 - 34
src/main/java/com/jeeplus/modules/sg/managementcenter/project/entity/Project.java

@@ -10,13 +10,22 @@ public class Project extends DataEntity<Project> {
     private String bdzName;//变电站名称
     private String lineName;//线路名称
     private String requireName;//需求项目名称
-
     private String projectId;//工程编号
     private String projectName;//项目名称
     private String projectNumber;//项目定义号
     private String projectManageRole;//项目经理角色
+    private String distributionEngineering;//配网工程专职角色
+    private String distributionMaterials;//配网物资专职角色
+    private String distributionSystem;//配网系统专职角色
+    private String distributionPolicy;//配网政策处理专职角色
+    private String managementLeader;//项目管理中心领导角色
+    private String runUnit;//运行单位
+    private String runUnitRole;//运行单位角色
+    private String throughResearchRole;//经研所角色
     private String constructionUnit;//施工单位
     private String constructionUnitRole;//施工单位角色
+    private String designUnit;//设计单位
+    private String designUnitRole;//设计单位角色
     private String clarificaitonType;//交底类型
     private String bulidClassificationResons;//建设理由分类
     private String bulbidResons;//建设理由
@@ -27,7 +36,6 @@ public class Project extends DataEntity<Project> {
     private String whetherRheUpwind;//是否迎风期度夏项目
     private String sureDaDate;//确定下达时间
     private String textRemark;//备注
-
     private String powerLine;//停电线路
     private String powerScope;//停电范围
     private String projectType;//项目类型
@@ -152,10 +160,75 @@ public class Project extends DataEntity<Project> {
         return projectManageRole;
     }
 
+    @ExcelField(title="配网工程专职角色", align=2, sort=10)
+    public String getDistributionEngineering() {
+        return distributionEngineering;
+    }
+
+    public void setDistributionEngineering(String distributionEngineering) {
+        this.distributionEngineering = distributionEngineering;
+    }
+    @ExcelField(title="配网物资专职角色", align=2, sort=11)
+    public String getDistributionMaterials() {
+        return distributionMaterials;
+    }
+
+    public void setDistributionMaterials(String distributionMaterials) {
+        this.distributionMaterials = distributionMaterials;
+    }
+    @ExcelField(title="配网系统专职角色", align=2, sort=12)
+    public String getDistributionSystem() {
+        return distributionSystem;
+    }
+
+    public void setDistributionSystem(String distributionSystem) {
+        this.distributionSystem = distributionSystem;
+    }
+    @ExcelField(title="配网政策处理专职角色", align=2, sort=13)
+    public String getDistributionPolicy() {
+        return distributionPolicy;
+    }
+
+    public void setDistributionPolicy(String distributionPolicy) {
+        this.distributionPolicy = distributionPolicy;
+    }
+    @ExcelField(title="项目管理中心领导角色", align=2, sort=14)
+    public String getManagementLeader() {
+        return managementLeader;
+    }
+
+    public void setManagementLeader(String managementLeader) {
+        this.managementLeader = managementLeader;
+    }
+    @ExcelField(title="运行单位", align=2, sort=15)
+    public String getRunUnit() {
+        return runUnit;
+    }
+
+    public void setRunUnit(String runUnit) {
+        this.runUnit = runUnit;
+    }
+    @ExcelField(title="运行单位角色", align=2, sort=16)
+    public String getRunUnitRole() {
+        return runUnitRole;
+    }
+
+    public void setRunUnitRole(String runUnitRole) {
+        this.runUnitRole = runUnitRole;
+    }
+    @ExcelField(title="经研所角色", align=2, sort=17)
+    public String getThroughResearchRole() {
+        return throughResearchRole;
+    }
+
+    public void setThroughResearchRole(String throughResearchRole) {
+        this.throughResearchRole = throughResearchRole;
+    }
+
     public void setProjectManageRole(String projectManageRole) {
         this.projectManageRole = projectManageRole;
     }
-    @ExcelField(title="施工单位", align=2, sort=10)
+    @ExcelField(title="施工单位", align=2, sort=18)
     public String getConstructionUnit() {
         return constructionUnit;
     }
@@ -163,15 +236,31 @@ public class Project extends DataEntity<Project> {
     public void setConstructionUnit(String constructionUnit) {
         this.constructionUnit = constructionUnit;
     }
-    @ExcelField(title="施工单位角色", align=2, sort=11)
+    @ExcelField(title="施工单位角色", align=2, sort=19)
     public String getConstructionUnitRole() {
         return constructionUnitRole;
     }
+    @ExcelField(title="设计单位", align=2, sort=20)
+    public String getDesignUnit() {
+        return designUnit;
+    }
+
+    public void setDesignUnit(String designUnit) {
+        this.designUnit = designUnit;
+    }
+    @ExcelField(title="设计单位角色", align=2, sort=21)
+    public String getDesignUnitRole() {
+        return designUnitRole;
+    }
+
+    public void setDesignUnitRole(String designUnitRole) {
+        this.designUnitRole = designUnitRole;
+    }
 
     public void setConstructionUnitRole(String constructionUnitRole) {
         this.constructionUnitRole = constructionUnitRole;
     }
-    @ExcelField(title="交底类型", align=2, sort=12)
+    @ExcelField(title="交底类型", align=2, sort=22)
     public String getClarificaitonType() {
         return clarificaitonType;
     }
@@ -183,7 +272,7 @@ public class Project extends DataEntity<Project> {
     public void setRequireName(String requireName) {
         this.requireName = requireName;
     }
-    @ExcelField(title="建设理由分类", align=2, sort=13)
+    @ExcelField(title="建设理由分类", align=2, sort=23)
     public String getBulidClassificationResons() {
         return bulidClassificationResons;
     }
@@ -191,7 +280,7 @@ public class Project extends DataEntity<Project> {
     public void setBulidClassificationResons(String bulidClassificationResons) {
         this.bulidClassificationResons = bulidClassificationResons;
     }
-    @ExcelField(title="建设理由", align=2, sort=14)
+    @ExcelField(title="建设理由", align=2, sort=24)
     public String getBulbidResons() {
         return bulbidResons;
     }
@@ -199,7 +288,7 @@ public class Project extends DataEntity<Project> {
     public void setBulbidResons(String bulbidResons) {
         this.bulbidResons = bulbidResons;
     }
-    @ExcelField(title="设备基本情况", align=2, sort=15)
+    @ExcelField(title="设备基本情况", align=2, sort=25)
     public String getAsicEquipment() {
         return asicEquipment;
     }
@@ -207,7 +296,7 @@ public class Project extends DataEntity<Project> {
     public void setAsicEquipment(String asicEquipment) {
         this.asicEquipment = asicEquipment;
     }
-    @ExcelField(title="运行班", align=2, sort=16)
+    @ExcelField(title="运行班", align=2, sort=26)
     public String getRunTheClass() {
         return runTheClass;
     }
@@ -215,7 +304,7 @@ public class Project extends DataEntity<Project> {
     public void setRunTheClass(String runTheClass) {
         this.runTheClass = runTheClass;
     }
-    @ExcelField(title="项目组", align=2, sort=17)
+    @ExcelField(title="项目组", align=2, sort=27)
     public String getProjectTeam() {
         return projectTeam;
     }
@@ -223,7 +312,7 @@ public class Project extends DataEntity<Project> {
     public void setProjectTeam(String projectTeam) {
         this.projectTeam = projectTeam;
     }
-    @ExcelField(title="费用估算", align=2, sort=18)
+    @ExcelField(title="费用估算", align=2, sort=28)
     public Double getCostEstimate() {
         return costEstimate;
     }
@@ -231,7 +320,7 @@ public class Project extends DataEntity<Project> {
     public void setCostEstimate(Double costEstimate) {
         this.costEstimate = costEstimate;
     }
-    @ExcelField(title="是否迎风期度夏项目", align=2, sort=19)
+    @ExcelField(title="是否迎风期度夏项目", align=2, sort=29)
     public String getWhetherRheUpwind() {
         return whetherRheUpwind;
     }
@@ -239,7 +328,7 @@ public class Project extends DataEntity<Project> {
     public void setWhetherRheUpwind(String whetherRheUpwind) {
         this.whetherRheUpwind = whetherRheUpwind;
     }
-    @ExcelField(title="确定下达时间", align=2, sort=20)
+    @ExcelField(title="确定下达时间", align=2, sort=30)
     public String getSureDaDate() {
         return sureDaDate;
     }
@@ -248,7 +337,7 @@ public class Project extends DataEntity<Project> {
         this.sureDaDate = sureDaDate;
     }
 
-    @ExcelField(title="备注", align=2, sort=21)
+    @ExcelField(title="备注", align=2, sort=31)
     public String getTextRemark() {
         return textRemark;
     }
@@ -261,7 +350,7 @@ public class Project extends DataEntity<Project> {
         this.textRemark = textRemark;
     }
 
-    @ExcelField(title="停电线路", align=2, sort=22)
+    @ExcelField(title="停电线路", align=2, sort=32)
     public String getPowerLine() {
         return powerLine;
     }
@@ -269,7 +358,7 @@ public class Project extends DataEntity<Project> {
     public void setPowerLine(String powerLine) {
         this.powerLine = powerLine;
     }
-    @ExcelField(title="停电范围", align=2, sort=23)
+    @ExcelField(title="停电范围", align=2, sort=33)
     public String getPowerScope() {
         return powerScope;
     }
@@ -277,7 +366,7 @@ public class Project extends DataEntity<Project> {
     public void setPowerScope(String powerScope) {
         this.powerScope = powerScope;
     }
-    @ExcelField(title="项目类型", align=2, sort=24)
+    @ExcelField(title="项目类型", align=2, sort=34)
     public String getProjectType() {
         return projectType;
     }
@@ -285,7 +374,7 @@ public class Project extends DataEntity<Project> {
     public void setProjectType(String projectType) {
         this.projectType = projectType;
     }
-    @ExcelField(title="是否为停电打包项目", align=2, sort=25)
+    @ExcelField(title="是否为停电打包项目", align=2, sort=35)
     public String getPowerFlagPackage() {
         return powerFlagPackage;
     }
@@ -293,7 +382,7 @@ public class Project extends DataEntity<Project> {
     public void setPowerFlagPackage(String powerFlagPackage) {
         this.powerFlagPackage = powerFlagPackage;
     }
-    @ExcelField(title="证处初步判断", align=2, sort=26)
+    @ExcelField(title="证处初步判断", align=2, sort=36)
     public String getPreliminaryJudgment() {
         return preliminaryJudgment;
     }
@@ -301,7 +390,7 @@ public class Project extends DataEntity<Project> {
     public void setPreliminaryJudgment(String preliminaryJudgment) {
         this.preliminaryJudgment = preliminaryJudgment;
     }
-    @ExcelField(title="是否含土建(不含钢管杆)", align=2, sort=27)
+    @ExcelField(title="是否含土建(不含钢管杆)", align=2, sort=37)
     public String getFlagCivilEngineering() {
         return flagCivilEngineering;
     }
@@ -309,7 +398,7 @@ public class Project extends DataEntity<Project> {
     public void setFlagCivilEngineering(String flagCivilEngineering) {
         this.flagCivilEngineering = flagCivilEngineering;
     }
-    @ExcelField(title="钢管杆基础类型", align=2, sort=28)
+    @ExcelField(title="钢管杆基础类型", align=2, sort=38)
     public String getSteelTubePole() {
         return steelTubePole;
     }
@@ -317,7 +406,7 @@ public class Project extends DataEntity<Project> {
     public void setSteelTubePole(String steelTubePole) {
         this.steelTubePole = steelTubePole;
     }
-    @ExcelField(title="是否需要规矩报批", align=2, sort=29)
+    @ExcelField(title="是否需要规矩报批", align=2, sort=39)
     public String getFlagApprovalPlanning() {
         return flagApprovalPlanning;
     }
@@ -325,7 +414,7 @@ public class Project extends DataEntity<Project> {
     public void setFlagApprovalPlanning(String flagApprovalPlanning) {
         this.flagApprovalPlanning = flagApprovalPlanning;
     }
-    @ExcelField(title="设备改造类型", align=2, sort=30)
+    @ExcelField(title="设备改造类型", align=2, sort=40)
     public String getEquCreateType() {
         return equCreateType;
     }
@@ -333,7 +422,7 @@ public class Project extends DataEntity<Project> {
     public void setEquCreateType(String equCreateType) {
         this.equCreateType = equCreateType;
     }
-    @ExcelField(title="改造设备尺寸及间隔数", align=2, sort=31)
+    @ExcelField(title="改造设备尺寸及间隔数", align=2, sort=41)
     public String getEquCreateSize() {
         return equCreateSize;
     }
@@ -341,7 +430,7 @@ public class Project extends DataEntity<Project> {
     public void setEquCreateSize(String equCreateSize) {
         this.equCreateSize = equCreateSize;
     }
-    @ExcelField(title="是否新设备命名", align=2, sort=32)
+    @ExcelField(title="是否新设备命名", align=2, sort=42)
     public String getFlagNewEquName() {
         return flagNewEquName;
     }
@@ -349,7 +438,7 @@ public class Project extends DataEntity<Project> {
     public void setFlagNewEquName(String flagNewEquName) {
         this.flagNewEquName = flagNewEquName;
     }
-    @ExcelField(title="是否含变电站新闻隔投运", align=2, sort=33)
+    @ExcelField(title="是否含变电站新闻隔投运", align=2, sort=43)
     public String getIncludeBdzNews() {
         return includeBdzNews;
     }
@@ -357,7 +446,7 @@ public class Project extends DataEntity<Project> {
     public void setIncludeBdzNews(String includeBdzNews) {
         this.includeBdzNews = includeBdzNews;
     }
-    @ExcelField(title="是否非涉电电气施工", align=2, sort=34)
+    @ExcelField(title="是否非涉电电气施工", align=2, sort=44)
     public String getFlagNoElectrical() {
         return flagNoElectrical;
     }
@@ -365,7 +454,7 @@ public class Project extends DataEntity<Project> {
     public void setFlagNoElectrical(String flagNoElectrical) {
         this.flagNoElectrical = flagNoElectrical;
     }
-    @ExcelField(title="图纸标注的带点作业情况", align=2, sort=35)
+    @ExcelField(title="图纸标注的带点作业情况", align=2, sort=45)
     public String getDrawingsWork() {
         return drawingsWork;
     }
@@ -373,7 +462,7 @@ public class Project extends DataEntity<Project> {
     public void setDrawingsWork(String drawingsWork) {
         this.drawingsWork = drawingsWork;
     }
-    @ExcelField(title="是否含自动化", align=2, sort=36)
+    @ExcelField(title="是否含自动化", align=2, sort=46)
     public String getFlagAutomation() {
         return flagAutomation;
     }
@@ -381,7 +470,7 @@ public class Project extends DataEntity<Project> {
     public void setFlagAutomation(String flagAutomation) {
         this.flagAutomation = flagAutomation;
     }
-    @ExcelField(title="二摇或三摇", align=2, sort=37)
+    @ExcelField(title="二摇或三摇", align=2, sort=47)
     public String getTwoAndThreeRemote() {
         return twoAndThreeRemote;
     }
@@ -389,7 +478,7 @@ public class Project extends DataEntity<Project> {
     public void setTwoAndThreeRemote(String twoAndThreeRemote) {
         this.twoAndThreeRemote = twoAndThreeRemote;
     }
-    @ExcelField(title="通信方式", align=2, sort=38)
+    @ExcelField(title="通信方式", align=2, sort=48)
     public String getPhoneStyle() {
         return phoneStyle;
     }
@@ -397,7 +486,7 @@ public class Project extends DataEntity<Project> {
     public void setPhoneStyle(String phoneStyle) {
         this.phoneStyle = phoneStyle;
     }
-    @ExcelField(title="stayOpenArea", align=2, sort=39)
+    @ExcelField(title="柱开集中或就业地", align=2, sort=49)
     public String getStayOpenArea() {
         return stayOpenArea;
     }
@@ -405,7 +494,7 @@ public class Project extends DataEntity<Project> {
     public void setStayOpenArea(String stayOpenArea) {
         this.stayOpenArea = stayOpenArea;
     }
-    @ExcelField(title="环网柜", align=2, sort=40)
+    @ExcelField(title="环网柜", align=2, sort=50)
     public String getRingNetworkCabinet() {
         return ringNetworkCabinet;
     }
@@ -413,7 +502,7 @@ public class Project extends DataEntity<Project> {
     public void setRingNetworkCabinet(String ringNetworkCabinet) {
         this.ringNetworkCabinet = ringNetworkCabinet;
     }
-    @ExcelField(title="站房DTU", align=2, sort=41)
+    @ExcelField(title="站房DTU", align=2, sort=51)
     public String getStationDtu() {
         return stationDtu;
     }

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

@@ -30,4 +30,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
     public List<Project> findListById(String[] proListId);
 
     int insertList(@Param("list") List<Project> list);
+
+    List<Project> findListProject(List<Project> projects);
 }

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

@@ -19,8 +19,22 @@
 	  	a.project_name AS "projectName",
 	  	a.project_number AS "projectNumber",
 		a.project_manage_role AS "projectManageRole",
+
+		a.distribution_engineering AS "distributionEngineering",
+		a.distribution_materials AS "distributionMaterials",
+		a.distribution_system AS "distributionSystem",
+		a.distribution_policy AS "distributionPolicy",
+		a.management_leader AS "managementLeader",
+		a.run_unit AS "runUnit",
+		a.run_unit_role AS "runUnitRole",
+		a.through_research_role AS "throughResearchRole",
+
 		a.construction_unit AS "constructionUnit",
 		a.construction_unit_role AS "constructionUnitRole",
+
+    	a.design_unit AS "design_unit",
+		a.design_unit_role AS "designUnitRole",
+
 		a.clarificaiton_type AS "clarificaitonType",
 		a.build_classification_resons As "bulidClassificationResons",
 		a.bulbid_resons As "bulbidResons",
@@ -42,6 +56,7 @@
     	a.equ_create_type AS "equCreateType",
     	a.equ_create_size AS "equCreateSize",
     	a.flag_new_equ_name AS "flagNewEquName",
+    	a.include_bdz_news AS "includeBdzNews",
     	a.flag_no_electrical AS "flagNoElectrical",
 		a.drawings_work AS "drawingsWork",
     	a.flag_automation AS "flagAutomation",
@@ -129,8 +144,18 @@
 			project_name,
 			project_number,
 			project_manage_role,
+			distribution_engineering,
+			distribution_materials,
+			distribution_system,
+			distribution_policy,
+			management_leader,
+			run_unit,
+			run_unit_role,
+			through_research_role,
 			construction_unit,
 			construction_unit_role,
+			design_unit,
+			design_unit_role,
 			clarificaiton_type,
 			build_classification_resons,
 			bulbid_resons,
@@ -152,6 +177,7 @@
 			equ_create_type,
 			equ_create_size,
 			flag_new_equ_name,
+			include_bdz_news,
 			flag_no_electrical,
 			drawings_work,
 			flag_automation,
@@ -181,8 +207,18 @@
 			#{projectName},
 			#{projectNumber},
 			#{projectManageRole},
+			#{distributionEngineering},
+			#{distributionMaterials},
+			#{distributionSystem},
+			#{distributionPolicy},
+			#{managementLeader},
+			#{runUnit},
+			#{runUnitRole},
+			#{throughResearchRole},
 			#{constructionUnit},
 			#{constructionUnitRole},
+			#{design_unit},
+			#{design_unit_role},
 			#{clarificaitonType},
     		#{bulidClassificationResons},
     		#{bulbidResons},
@@ -204,6 +240,7 @@
     		#{equCreateType},
     		#{equCreateSize},
     	 	#{flagNewEquName},
+    	 	#{includeBdzNews},
     		#{flagNoElectrical},
 			#{drawingsWork},
     	 	#{flagAutomation},
@@ -237,8 +274,18 @@
 		project_name,
 		project_number,
 		project_manage_role,
+		distribution_engineering,
+		distribution_materials,
+		distribution_system,
+		distribution_policy,
+		management_leader,
+		run_unit,
+		run_unit_role,
+		through_research_role,
 		construction_unit,
 		construction_unit_role,
+		design_unit,
+		design_unit_role,
 		clarificaiton_type,
 		build_classification_resons,
 		bulbid_resons,
@@ -260,6 +307,7 @@
 		equ_create_type,
 		equ_create_size,
 		flag_new_equ_name,
+		include_bdz_news,
 		flag_no_electrical,
 		drawings_work,
 		flag_automation,
@@ -291,8 +339,18 @@
 			#{item.projectName},
 			#{item.projectNumber},
 			#{item.projectManageRole},
+			#{item.distributionEngineering},
+			#{item.distributionMaterials},
+			#{item.distributionSystem},
+			#{item.distributionPolicy},
+			#{item.managementLeader},
+			#{item.runUnit},
+			#{item.runUnitRole},
+			#{item.throughResearchRole},
 			#{item.constructionUnit},
 			#{item.constructionUnitRole},
+			#{item.designUnit},
+			#{item.designUnitRole},
 			#{item.clarificaitonType},
 			#{item.bulidClassificationResons},
 			#{item.bulbidResons},
@@ -314,6 +372,7 @@
 			#{item.equCreateType},
 			#{item.equCreateSize},
 			#{item.flagNewEquName},
+			#{item.includeBdzNews},
 			#{item.flagNoElectrical},
 			#{item.drawingsWork},
 			#{item.flagAutomation},
@@ -335,12 +394,12 @@
 			update_by = #{updateBy.id},
 			update_date = #{updateDate},
 			remarks = #{remarks},
-			del_flag = #{delFlag},
-			pro_type = #{type},
-			demand_unit = #{demandUnit},
 			bdz_name = #{bdzName},
 			line_name = #{lineName},
 			require_name = #{requireName},
+			project_id = #{projectId},
+			project_name = #{projectName},
+			project_number = #{projectNumber},
 			build_classification_resons = #{bulidClassificationResons},
 			bulbid_resons = #{bulbidResons},
 			asic_equipment = #{asicEquipment},
@@ -349,7 +408,27 @@
 			cost_estimate = #{costEstimate},
 			whether_rhe_upwind = #{whetherRheUpwind},
 			sure_da_date = #{sureDaDate},
-			text_remark = #{textRemark}
+			text_remark = #{textRemark},
+			power_line = #{powerLine},
+			power_scope = #{powerScope},
+			project_type = #{projectType},
+			power_flag_package = #{powerFlagPackage},
+			preliminary_judgment = #{preliminaryJudgment},
+			flag_civil_engineering = #{flagCivilEngineering},
+			steel_tube_pole = #{steelTubePole},
+			flag_approval_planning = #{flagApprovalPlanning},
+			equ_create_type = #{equCreateType},
+			equ_create_size = #{equCreateSize},
+			flag_new_equ_name = #{flagNewEquName},
+			include_bdz_news = #{includeBdzNews},
+			flag_no_electrical = #{flagNoElectrical},
+			drawings_work = #{drawingsWork},
+			flag_automation = #{flagAutomation},
+			two_and_three_remote = #{twoAndThreeRemote},
+			phone_style = #{phoneStyle},
+			stay_open_area = #{stayOpenArea},
+			ring_network_cabinet = #{ringNetworkCabinet},
+			station_dtu = #{stationDtu}
 		WHERE id = #{id}
 	</update>
 	
@@ -398,5 +477,18 @@
 		</foreach>
 	</select>
 
+	<select id="findListProject" parameterType="java.util.List" resultType="com.jeeplus.modules.sg.managementcenter.project.entity.Project">
+		select
+		<include refid="projectColumns"/>
+		FROM xm_project_details a
+		WHERE a.del_flag = '0'
+		and a.require_name in
+		<if test="list != null">
+			<foreach collection="list" index="index" item="item" open="("
+					 separator="," close=")">
+				#{item.requireName}
+			</foreach>
+		</if>
+	</select>
 
 </mapper>

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

@@ -94,6 +94,20 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 					acquisitionStatus = project2.getAcquisitionStatus();
 					constructionStatus = project2.getConstructionStatus();
 					whetherCloseStatus = project2.getWhetherCloseStatus();
+					project.setProjectManageRole(project2.getProjectManageRole());//项目经理角色
+					project.setDistributionEngineering(project2.getDistributionEngineering());//配网工程专职角色
+					project.setDistributionMaterials(project2.getDistributionMaterials());//配网物资专职角色
+					project.setDistributionSystem(project2.getDistributionSystem());//配网系统专职角色
+					project.setDistributionPolicy(project2.getDistributionPolicy());//配网政策处理专职角色
+					project.setManagementLeader(project2.getManagementLeader());//项目管理中心领导角色
+					project.setRunUnit(project2.getRunUnit());//运行单位
+					project.setRunUnitRole(project2.getRunUnitRole());//运行单位角色
+					project.setThroughResearchRole(project2.getThroughResearchRole());//经研所角色
+					project.setConstructionUnit(project2.getConstructionUnit());//施工单位
+					project.setConstructionUnitRole(project2.getConstructionUnitRole());//施工单位角色
+					project.setDesignUnit(project2.getDesignUnit());//设计单位
+					project.setDesignUnitRole(project2.getDesignUnitRole());//设计单位角色
+					project.setClarificaitonType(project2.getClarificaitonType());//交底类型
 					break;
 				}
 			}
@@ -105,4 +119,8 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 		}
 		projectMapper.insertList(projects);
 	}
+	//根据id查找项目
+	public List<Project> getListProject(List<Project> projects){
+		return  projectMapper.findListProject(projects);
+	}
 }

+ 302 - 32
src/main/java/com/jeeplus/modules/sg/managementcenter/project/util/ProExcelInfo.java

@@ -1,5 +1,6 @@
 package com.jeeplus.modules.sg.managementcenter.project.util;
 import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sys.utils.UserUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.Row;
 
@@ -8,6 +9,23 @@ import java.util.List;
 import java.util.UUID;
 
 public  class ProExcelInfo {
+
+    public static String[] PRO_TYPE={"配网资本","配网成本"};
+    public static String[] PRO_NAME={"配电运检室","经研所","新区"};
+    public static String[] PRO_CLARIFICAITON = {"施工单位自行交底","项目经理组织交底"};
+    public static String[] PRO_POWERSCOPE={"670","67001+","67002+","67002-","67003-","68101-"};
+    public static String[] PRO_PROJECT_TYPE={"配变改造","配变新增","电缆项目","杆线项目","混合项目","纯自动化","纯土建","井盖维修","环网柜更换","箱变更换","其他特殊类"};//项目类型
+    public static String[] PRO_FLAG = {"是","否"};
+    public static String[] PRO_PRE_JUDGEMENT = {"行政政处(城区道路)","民事政处/行政政处(公路/水利)","无","农村政处"};//政策初步判断
+    public static String[] PRO_FLAG_CIVIL = {"可能有土建","无土建","含土建","纯土建"};//是否含土建
+    public static String[] PRO_STEEL_TUBE = {"无","压桩","灌注桩"};//钢管杆基础类类型
+    public static String[] PRO_EQU_TYPE = {"无","环网柜","箱变","干变","其他"};//设备改造类型
+    public static String[] PRO_DRAWING_WORK = {"带电作业","停电作业","非涉电作业","未标注"};//图纸标注的带点作业情况
+    public static String[] PRO_TWO_THREE = {"二遥","三遥"};//二或三
+    public static String[] PRO_PHONE_STYLE = {"光纤","公网","专网"};//通信方式
+    public static String[] PRO_STAY_AREA={"集中","就地"};//柱开集中或就业地
+    public static String[] PRO_RING_NETWORK = {"户内","户外"};//环网柜
+
     /**
      * 获取表格数据
      * @param importUtil
@@ -32,41 +50,52 @@ public  class ProExcelInfo {
                 project.setProjectName((String)importUtil.getCellValue(row,7));//项目名称
                 project.setProjectNumber((String)importUtil.getCellValue(row,8));//项目定义号
                 project.setProjectManageRole((String)importUtil.getCellValue(row,9));//项目经理角色
-                project.setConstructionUnit((String)importUtil.getCellValue(row,10));//施工单位
-                project.setConstructionUnitRole((String)importUtil.getCellValue(row,11));//施工单位角色
-                project.setClarificaitonType((String)importUtil.getCellValue(row,12));//交底类型
-                project.setBulidClassificationResons((String)importUtil.getCellValue(row,13));//建设理由分类
-                project.setBulbidResons((String)importUtil.getCellValue(row,14));//建设理由
-                project.setAsicEquipment((String)importUtil.getCellValue(row,15));//设备基本状况
-                project.setRunTheClass((String)importUtil.getCellValue(row,16));//运行班
-                project.setProjectTeam((String)importUtil.getCellValue(row,17));//项目组
-                costEstimate = (String) importUtil.getCellValue(row,18);
+
+                project.setDistributionEngineering((String)importUtil.getCellValue(row,10));//配网工程专职角色
+                project.setDistributionMaterials((String)importUtil.getCellValue(row,11));//配网物资专职角色
+                project.setDistributionSystem((String)importUtil.getCellValue(row,12));//配网系统专职角色
+                project.setDistributionPolicy((String)importUtil.getCellValue(row,13));//配网政策处理专职角色
+                project.setManagementLeader((String)importUtil.getCellValue(row,14));//项目管理中心领导角色'
+                project.setRunUnit((String)importUtil.getCellValue(row,15));//运行单位
+                project.setRunUnitRole((String)importUtil.getCellValue(row,16));//运行单位角色
+                project.setThroughResearchRole((String)importUtil.getCellValue(row,17));//经研所角色
+                project.setConstructionUnit((String)importUtil.getCellValue(row,18));//施工单位
+                project.setConstructionUnitRole((String)importUtil.getCellValue(row,19));//施工单位角色
+                project.setDesignUnit((String)importUtil.getCellValue(row,20));//设计单位
+                project.setDesignUnitRole((String)importUtil.getCellValue(row,21));//设计单位角色
+                project.setClarificaitonType((String)importUtil.getCellValue(row,22));//交底类型
+                project.setBulidClassificationResons((String)importUtil.getCellValue(row,23));//建设理由分类
+                project.setBulbidResons((String)importUtil.getCellValue(row,24));//建设理由
+                project.setAsicEquipment((String)importUtil.getCellValue(row,25));//设备基本状况
+                project.setRunTheClass((String)importUtil.getCellValue(row,26));//运行班
+                project.setProjectTeam((String)importUtil.getCellValue(row,27));//项目组
+                costEstimate = (String) importUtil.getCellValue(row,28);
                 if (null!=costEstimate&&!costEstimate.equals("")){
                     project.setCostEstimate(Double.parseDouble(costEstimate));//费用估算
                 }
-                project.setWhetherRheUpwind((String)importUtil.getCellValue(row,19));//是否迎风期度夏项目
-                project.setSureDaDate((String)importUtil.getCellValue(row,20));//确定下达时间
-                project.setTextRemark((String)importUtil.getCellValue(row,21));//备注
-                project.setPowerLine((String)importUtil.getCellValue(row,22));//停电线路
-                project.setPowerScope((String)importUtil.getCellValue(row,23));//停电范围
-                project.setProjectType((String)importUtil.getCellValue(row,24));//项目类型
-                project.setPowerFlagPackage((String)importUtil.getCellValue(row,25));//是否为停电打包项目
-                project.setPreliminaryJudgment((String)importUtil.getCellValue(row,26));//证处初步判断
-                project.setFlagCivilEngineering((String)importUtil.getCellValue(row,27));//是否含土建
-                project.setSteelTubePole((String)importUtil.getCellValue(row,28));//钢管杆基础类型
-                project.setFlagApprovalPlanning((String)importUtil.getCellValue(row,29));//是否需要规划报批
-                project.setEquCreateType((String)importUtil.getCellValue(row,30));//设备改造类型
-                project.setEquCreateSize((String)importUtil.getCellValue(row,31));//间隔数
-                project.setFlagNewEquName((String)importUtil.getCellValue(row,32));//是否新设备命名
-                project.setIncludeBdzNews((String)importUtil.getCellValue(row,33));//是否含变电站新闻格投运
-                project.setFlagNoElectrical((String)importUtil.getCellValue(row,34));//是否非射电电气施工
-                project.setDrawingsWork((String)importUtil.getCellValue(row,35));//图纸标注的带点作业情况
-                project.setFlagAutomation((String)importUtil.getCellValue(row,36));//是否含自动化
-                project.setTwoAndThreeRemote((String)importUtil.getCellValue(row,37));//二遥或三
-                project.setPhoneStyle((String)importUtil.getCellValue(row,38));//通信方式
-                project.setStayOpenArea((String)importUtil.getCellValue(row,39));//柱开集中或就业地
-                project.setRingNetworkCabinet((String)importUtil.getCellValue(row,40));//环网柜
-                project.setStationDtu((String)importUtil.getCellValue(row,41));//站房dtu
+                project.setWhetherRheUpwind((String)importUtil.getCellValue(row,29));//是否迎风期度夏项目
+                project.setSureDaDate((String)importUtil.getCellValue(row,30));//确定下达时间
+                project.setTextRemark((String)importUtil.getCellValue(row,31));//备注
+                project.setPowerLine((String)importUtil.getCellValue(row,32));//停电线路
+                project.setPowerScope((String)importUtil.getCellValue(row,33));//停电范围
+                project.setProjectType((String)importUtil.getCellValue(row,34));//项目类型
+                project.setPowerFlagPackage((String)importUtil.getCellValue(row,35));//是否为停电打包项目
+                project.setPreliminaryJudgment((String)importUtil.getCellValue(row,36));//证处初步判断
+                project.setFlagCivilEngineering((String)importUtil.getCellValue(row,37));//是否含土建
+                project.setSteelTubePole((String)importUtil.getCellValue(row,38));//钢管杆基础类型
+                project.setFlagApprovalPlanning((String)importUtil.getCellValue(row,39));//是否需要规划报批
+                project.setEquCreateType((String)importUtil.getCellValue(row,40));//设备改造类型
+                project.setEquCreateSize((String)importUtil.getCellValue(row,41));//间隔数
+                project.setFlagNewEquName((String)importUtil.getCellValue(row,42));//是否新设备命名
+                project.setIncludeBdzNews((String)importUtil.getCellValue(row,43));//是否含变电站新闻格投运
+                project.setFlagNoElectrical((String)importUtil.getCellValue(row,44));//是否非射电电气施工
+                project.setDrawingsWork((String)importUtil.getCellValue(row,45));//图纸标注的带点作业情况
+                project.setFlagAutomation((String)importUtil.getCellValue(row,46));//是否含自动化
+                project.setTwoAndThreeRemote((String)importUtil.getCellValue(row,47));//二遥或三
+                project.setPhoneStyle((String)importUtil.getCellValue(row,48));//通信方式
+                project.setStayOpenArea((String)importUtil.getCellValue(row,49));//柱开集中或就业地
+                project.setRingNetworkCabinet((String)importUtil.getCellValue(row,50));//环网柜
+                project.setStationDtu((String)importUtil.getCellValue(row,51));//站房dtu
                 project.setStatus("0");
                 list.add(project);
             }
@@ -91,6 +120,211 @@ public  class ProExcelInfo {
         }
         return flag;
     }
+
+    /*
+        对值进行验证
+     */
+    public static Boolean getJudgeValue(List<Project> projects){
+        Boolean flag = false;
+        for (Project project:projects){
+            if (null==project.getDistributionEngineering()){//配网工程专职角色
+                flag = true;
+            }
+            if (null==project.getDistributionMaterials()){//配网物资专职角色
+                flag = true;
+            }
+            if (null==project.getDistributionSystem()){//配网系统专职角色
+                flag = true;
+            }
+            if (null==project.getDistributionPolicy()){//配网政策处理专职角色
+                flag = true;
+            }
+            if (null==project.getManagementLeader()){//项目管理中心领导角色
+                flag = true;
+            }
+            if (null==project.getRunUnit()){//运行单位
+                flag = true;
+            }
+            if (null==project.getRunUnitRole()){//运行单位角色
+                flag = true;
+            }
+            if (null==project.getThroughResearchRole()){//经研所角色
+                flag = true;
+            }
+            if (null==project.getConstructionUnit()){//施工单位
+                flag = true;
+            }
+            if (null==project.getConstructionUnitRole()){//施工单位:施工单位角色
+                flag = true;
+            }
+            if (null==project.getDesignUnit()){//设计单位
+                flag = true;
+            }
+            if (null==project.getDesignUnitRole()){//设计单位角色
+                flag = true;
+            }
+            if (flag){
+                break;
+            }
+            if (null!=project.getType()){
+                flag = getJudge(project.getType(), PRO_TYPE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getDemandUnit()){
+                flag = getJudge(project.getDemandUnit(),PRO_NAME);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getProjectManageRole()){//项目经理角色
+                String loginName = UserUtils.getUser().getLoginName();
+                if (!loginName.equals(project.getProjectManageRole())){
+                    flag= true;
+                }else {
+                    flag = false;
+                }
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getClarificaitonType()){//交底类型
+                flag = getJudge(project.getClarificaitonType(),PRO_CLARIFICAITON);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getPowerScope()){//停电范围
+                flag = getJudge(project.getPowerScope(), PRO_POWERSCOPE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getProjectType()){//项目类型
+                flag = getJudge(project.getProjectType(), PRO_PROJECT_TYPE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getPowerFlagPackage()){//是否为停电打包项目
+                flag = getJudge(project.getPowerFlagPackage(), PRO_FLAG);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getPreliminaryJudgment()){//政策初步判断
+                flag = getJudge(project.getPreliminaryJudgment(), PRO_PRE_JUDGEMENT);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getFlagCivilEngineering()){//是否含土建
+                flag = getJudge(project.getFlagCivilEngineering(),PRO_FLAG_CIVIL);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getSteelTubePole()){//钢管杆基础类类型
+                flag = getJudge(project.getSteelTubePole(),PRO_STEEL_TUBE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getFlagApprovalPlanning()){//是否需要规划报批
+                flag = getJudge(project.getFlagApprovalPlanning(),PRO_FLAG);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getEquCreateType()){//设备改造类型
+                flag = getJudge(project.getEquCreateType(),PRO_EQU_TYPE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getFlagNewEquName()){//是否含新设备命名
+                flag = getJudge(project.getFlagNewEquName(),PRO_FLAG);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getIncludeBdzNews()){//是否含变电站新间间隔投运
+                flag = getJudge(project.getIncludeBdzNews(),PRO_FLAG);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getFlagNoElectrical()){//是否含非设电电气施工
+                flag = getJudge(project.getFlagNoElectrical(),PRO_FLAG);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getDrawingsWork()){//图纸标注的带点作业情况
+                flag = getJudge(project.getDrawingsWork(),PRO_DRAWING_WORK);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getFlagAutomation()){//是否含自动化
+                flag = getJudge(project.getFlagAutomation(),PRO_FLAG);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getTwoAndThreeRemote()){//二或三
+                flag = getJudge(project.getTwoAndThreeRemote(),PRO_TWO_THREE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getPhoneStyle()){//通信方式
+                flag = getJudge(project.getPhoneStyle(),PRO_PHONE_STYLE);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getStayOpenArea()){//柱开集中或就业地
+                flag = getJudge(project.getStayOpenArea(),PRO_STAY_AREA);
+                if (flag){
+                    break;
+                }
+            }
+            if (null!=project.getRingNetworkCabinet()){//环网柜
+                flag = getJudge(project.getRingNetworkCabinet(),PRO_RING_NETWORK);
+                if (flag){
+                    break;
+                }
+            }
+
+        }
+        return flag;
+    }
+
+    public static Boolean getJudge(String name,String[] strings){
+        boolean flag = true;
+        if (null!=name){
+            for (String str:strings){
+                if (str.equals(name)){
+                    flag = false;
+                    break;
+                }
+            }
+        }
+        return flag;
+    }
+
+    public static Boolean getJudgeCheck(String[] strings){
+        boolean flag = false;
+        for (String str:strings){
+            if (null==str){
+                flag = true;
+                break;
+            }
+        }
+        return flag;
+    }
     /**
      * 生成随机数
      * @return
@@ -104,3 +338,39 @@ public  class ProExcelInfo {
         return  (machineId+String.format("%015d",hashCodeV));
     }
 }
+//            if (null!=project.getDistributionEngineering()){//配网工程专职角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getDistributionMaterials()){//配网物资专职角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getDistributionSystem()){//配网系统专职角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getDistributionPolicy()){//配网政策处理专职角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getManagementLeader()){//项目管理中心领导角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getRunUnit()){//运行单位
+//                    flag = false;
+//                    }
+//                    if (null!=project.getRunUnitRole()){//运行单位角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getThroughResearchRole()){//经研所角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getConstructionUnit()){//施工单位
+//                    flag = false;
+//                    }
+//                    if (null!=project.getConstructionUnitRole()){//施工单位:施工单位角色
+//                    flag = false;
+//                    }
+//                    if (null!=project.getDesignUnit()){//设计单位
+//                    flag = false;
+//                    }
+//                    if (null!=project.getDesignUnitRole()){//设计单位角色
+//                    flag = false;
+//                    }

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

@@ -4,6 +4,7 @@
 package com.jeeplus.modules.sg.managementcenter.project.web;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -15,6 +16,7 @@ import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sg.managementcenter.project.util.ImportUtil;
 import com.jeeplus.modules.sg.managementcenter.project.util.ProExcelInfo;
+import com.jeeplus.modules.sys.utils.UserUtils;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -128,10 +130,25 @@ public class ProjectController extends BaseController {
 			j.setMsg(errMsg);
 			return j;
 		}
-		//新增或编辑表单保存
-		projectService.save(project);//保存
-		j.setSuccess(true);
-		j.setMsg("保存项目明细数据成功");
+		if (project.getIsNewRecord()){
+			project.preInsert();
+			List<Project> projects = new ArrayList<Project>();
+			projects.add(project);
+			Boolean judgeValue = ProExcelInfo.getJudgeValue(projects);
+			if (judgeValue){
+				j.setSuccess(false);
+				j.setMsg("新建失败:数据不符合规范");
+				return j;
+			}
+			projectService.saveList(projects);
+			j.setSuccess(true);
+			j.setMsg("保存需求基本信息成功");
+		}else{
+			project.preUpdate();
+			projectService.save(project);
+			j.setSuccess(true);
+			j.setMsg("修改需求基本信息成功");
+		}
 		return j;
 	}
 	
@@ -143,8 +160,24 @@ public class ProjectController extends BaseController {
 	@RequestMapping(value = "delete")
 	public AjaxJson delete(Project project) {
 		AjaxJson j = new AjaxJson();
+		String requireName="";
+		boolean flag = false;
+		List<Project> listProject = projectService.findList(project);
+		for (Project project1:listProject){
+			flag = false;
+			requireName = project1.getRequireName();
+			if (!project1.getStatus().equals("0")||!project1.getConstructionStatus().equals("0")
+					||!project1.getWhetherCloseStatus().equals("0")||!project1.getAcquisitionStatus().equals("0")){
+				flag = true;
+			}
+		}
+		if (flag){
+			j.setSuccess(false);
+			j.setMsg(requireName+":该项目在流程中运行,禁止删除");
+			return  j;
+		}
 		projectService.delete(project);
-		j.setMsg("删除项目明细数据成功");
+		j.setMsg("删除需求基本信息成功");
 		return j;
 	}
 	
@@ -156,11 +189,27 @@ public class ProjectController extends BaseController {
 	@RequestMapping(value = "deleteAll")
 	public AjaxJson deleteAll(String ids) {
 		AjaxJson j = new AjaxJson();
+		Project project = new Project();
 		String idArray[] =ids.split(",");
+		List<Project> listById = projectService.findListById(idArray);
+		boolean flag=false;
+		String requireName="";
+		for (Project project1:listById){
+			if (!project1.getStatus().equals("0")||!project1.getConstructionStatus().equals("0")
+					||!project1.getWhetherCloseStatus().equals("0")||!project1.getAcquisitionStatus().equals("0")){
+				flag = true;
+				requireName += project1.getRequireName()+"、";
+			}
+		}
+		if (flag){
+			j.setSuccess(false);
+			j.setMsg(requireName+"项目已经在流程中运行,禁止删除");
+			return  j;
+		}
 		for(String id : idArray){
 			projectService.delete(projectService.get(id));
 		}
-		j.setMsg("删除项目明细数据成功");
+		j.setMsg("删除需求基本信息成功");
 		return j;
 	}
 	
@@ -173,15 +222,15 @@ public class ProjectController extends BaseController {
     public AjaxJson exportFile(Project project, HttpServletRequest request, HttpServletResponse response) {
 		AjaxJson j = new AjaxJson();
 		try {
-            String fileName = "项目明细表"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+            String fileName = "需求基本信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
             Page<Project> page = projectService.findPage(new Page<Project>(request, response, -1), project);
-    		new ExportExcel("项目明细表", Project.class).setDataList(page.getList()).write(response, fileName).dispose();
+    		new ExportExcel("需求基本信息", Project.class).setDataList(page.getList()).write(response, fileName).dispose();
     		j.setSuccess(true);
     		j.setMsg("导出成功!");
     		return j;
 		} catch (Exception e) {
 			j.setSuccess(false);
-			j.setMsg("导出项目明细表表单记录失败!失败信息:"+e.getMessage());
+			j.setMsg("导出需求基本信息记录失败!失败信息:"+e.getMessage());
 		}
 			return j;
     }
@@ -193,7 +242,7 @@ public class ProjectController extends BaseController {
 	@ResponseBody
 	@RequiresPermissions("sg:managementcenter:project:import")
     @RequestMapping(value = "import")
-   	public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+   	public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request){
 		AjaxJson j = new AjaxJson();
 		try {
 			ImportUtil importUtil = new ImportUtil(file, 0, 0);
@@ -204,11 +253,17 @@ public class ProjectController extends BaseController {
 				return j;
 			}
 			List<Project> projects = ProExcelInfo.getProjectUtil(importUtil);
+			Boolean judgeValue = ProExcelInfo.getJudgeValue(projects);
+			if (judgeValue){
+				j.setSuccess(false);
+				j.setMsg("导入失败:数据不符合规范");
+				return j;
+			}
 			projectService.saveList(projects);
 			j.setMsg( "已成功导入 "+projects.size()+" 条项目表单记录");
 		} catch (Exception e) {
 			j.setSuccess(false);
-			j.setMsg("导入项目表单失败!失败信息:"+e.getMessage());
+			j.setMsg("导入需求基本信息表单失败!失败信息:"+e.getMessage());
 		}
 		return j;
     }

+ 39 - 26
src/main/webapp/webpage/modules/bpm/task/todo/taskTodoList.js

@@ -3,7 +3,7 @@
 $(document).ready(function() {
 	var nameSelect = "";
 	$('#actTable').bootstrapTable({
-		 
+
 		  //请求方法
 				method: 'post',
 				//类型json
@@ -25,23 +25,23 @@ $(document).ready(function() {
     	       minimumCountColumns: 2,
                //是否显示行间隔色
                striped: true,
-               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)     
-               cache: false,    
-               //是否显示分页(*)  
-               pagination: true,   
-                //排序方式 
-               sortOrder: "asc",  
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: true,
+                //排序方式
+               sortOrder: "asc",
                //初始化加载第一页,默认第一页
-               pageNumber:1,   
-               //每页的记录行数(*)   
-               pageSize: 10,  
-               //可供选择的每页的行数(*)    
+               pageNumber:1,
+               //每页的记录行数(*)
+               pageSize: 10,
+               //可供选择的每页的行数(*)
                pageList: [10, 25, 50, 100],
-               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
                url: "${ctx}/act/task/todo/data?nameSelect="+nameSelect,
                //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
-               //queryParamsType:'',   
-               ////查询参数,每次调用是会带上这个参数,可自定义                         
+               //queryParamsType:'',
+               ////查询参数,每次调用是会带上这个参数,可自定义
                queryParams : function(params) {
                	var searchParam = $("#searchForm").serializeJSON();
                	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
@@ -54,15 +54,28 @@ $(document).ready(function() {
 				onShowSearch: function () {
 					$("#search-collapse").slideToggle();
 				},
+				onLoadSuccess:function(data){
+                    var tb = document.getElementById('actTable');    // table 的 id
+                    var rows = tb.rows;                           // 获取表格所有行
+                    for(var i = 1; i<rows.length; i++ ){
+                    	var time1 = rows[i].cells[4].innerHTML;
+                        var currentDateLong = new Date(time1.replace(new RegExp("-","gm"),"/")).getTime();
+						// alert(currentDateLong);
+                        if (new Date().getTime()-currentDateLong>3*24*60*60*1000){
+                        	// alert(new Date().getTime()-currentDateLong)
+                            rows[i].style.color = "red";
+						}
+                    }
+				},
                columns: [/*{
 		        checkbox: true
-		       
+
 		    }
 
 			,*/{
 		        field: 'vars.title',
 		        title: '实例标题'
-		       
+
 		    },{
 			   field: 'procDef.name',
 			   title: '流程名称'
@@ -81,7 +94,7 @@ $(document).ready(function() {
 			   formatter:function (value, row, index) {
 				   return jp.dateFormat(value, "yyyy-MM-dd hh:mm:ss");
 			   }
-		       
+
 		    }, {
                        field: 'operate',
                        title: '操作',
@@ -107,29 +120,29 @@ $(document).ready(function() {
                        }
                    }
 		     ]
-		
+
 		});
-		
-		  
+
+
 	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
 
-		 
+
 		  $('#actTable').bootstrapTable("toggleView");
 		}
-	  
+
 	  $('#actTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
                 'check-all.bs.table uncheck-all.bs.table', function () {
             $('#remove').prop('disabled', ! $('#actTable').bootstrapTable('getSelections').length);
             $('#edit').prop('disabled', $('#actTable').bootstrapTable('getSelections').length!=1);
         });
-		  
+
 
 	  $("#search").click("click", function() {// 绑定查询按扭
 		  nameSelect = $("#nameSelect").val();
 		  console.log(nameSelect);
 		  $('#actTable').bootstrapTable('refresh');
 		});
-	 
+
 	 $("#reset").click("click", function() {// 绑定查询按扭
 		  $("#searchForm  input").val("");
 		  // $("#searchForm  select").val("");
@@ -137,14 +150,14 @@ $(document).ready(function() {
 		  $("#searchForm  .select-item").html("");
 		  $('#actTable').bootstrapTable('refresh');
 		});
-		
+
 		$('#beginDate').datetimepicker({
 			 format: "YYYY-MM-DD HH:mm:ss"
 		});
 		$('#endDate').datetimepicker({
 			 format: "YYYY-MM-DD HH:mm:ss"
 		});
-		
+
 	});
 		
   function getIdSelections() {

+ 195 - 15
src/main/webapp/webpage/modules/sg/managementcenter/project/projectForm.jsp

@@ -21,7 +21,7 @@
                 return false;
 			}else{
                 jp.loading();
-                jp.post("${ctx}/sg/financial/project/save",$('#inputForm').serialize(),function(data){
+                jp.post("${ctx}/sg/managementcenter/project/save",$('#inputForm').serialize(),function(data){
                     if(data.success){
                         jp.getParent().refresh();
                         var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
@@ -43,13 +43,33 @@
 		<table class="table table-bordered">
 			<tbody>
 				<tr>
-					<td class="width-15 active"><label class="pull-right" style="float: left">类型:</label></td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>项目需求名称:</label></td>
 					<td class="width-35">
-						<form:input path="type" htmlEscape="false" class="form-control"/>
+						<form:input path="requireName" htmlEscape="false"    class="form-control required"/>
 					</td>
-					<td class="width-15 active"><label class="pull-right">需求提出单位:</label></td>
+					<td class="width-15 active"><label class="">工程编号:</label></td>
 					<td class="width-35">
-						<form:input path="demandUnit" htmlEscape="false"   class="form-control"/>
+						<form:input path="projectId" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">项目名称:</label></td>
+					<td class="width-35">
+						<form:input path="projectName" htmlEscape="false"    class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">项目定义号:</label></td>
+					<td class="width-35">
+						<form:input path="projectNumber" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>类型:</label></td>
+					<td class="width-35">
+						<form:input path="type" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right"><font color="red">*</font>需求提出单位:</label></td>
+					<td class="width-35">
+						<form:input path="demandUnit" htmlEscape="false"   class="form-control required"/>
 					</td>
 				</tr>
 				<tr>
@@ -63,54 +83,214 @@
 					</td>
 				</tr>
 				<tr>
-					<td class="width-15 active"><label class="">项目需求名称:</label></td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>项目经理角色:</label></td>
 					<td class="width-35">
-						<form:input path="requireName" htmlEscape="false"    class="form-control"/>
+						<form:input path="projectManageRole" htmlEscape="false" class="form-control required"/>
 					</td>
-					<td class="width-15 active"><label class="">建设理由分类:</label></td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>配网工程专职角色:</label></td>
 					<td class="width-35">
-						<form:input path="bulidClassificationResons" htmlEscape="false"    class="form-control"/>
+						<form:input path="distributionEngineering" htmlEscape="false" class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>配网物资专职角色:</label></td>
+					<td class="width-35">
+						<form:input path="distributionMaterials" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>配网系统专职角色:</label></td>
+					<td class="width-35">
+						<form:input path="distributionSystem" htmlEscape="false" class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>配网政策处理专职:</label></td>
+					<td class="width-35">
+						<form:input path="distributionPolicy" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>项目管理中心领导角色:</label></td>
+					<td class="width-35">
+						<form:input path="managementLeader" htmlEscape="false" class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>运行单位:</label></td>
+					<td class="width-35">
+						<form:input path="runUnit" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>运行单位角色:</label></td>
+					<td class="width-35">
+						<form:input path="runUnitRole" htmlEscape="false" class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>经研所角色:</label></td>
+					<td class="width-35">
+						<form:input path="throughResearchRole" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>施工单位:</label></td>
+					<td class="width-35">
+						<form:input path="constructionUnit" htmlEscape="false" class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>施工单位角色:</label></td>
+					<td class="width-35">
+						<form:input path="constructionUnitRole" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>设计单位:</label></td>
+					<td class="width-35">
+						<form:input path="designUnit" htmlEscape="false" class="form-control required"/>
 					</td>
 				</tr>
 				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>设计单位角色:</label></td>
+					<td class="width-35">
+						<form:input path="designUnitRole" htmlEscape="false" class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>交底类型:</label></td>
+					<td class="width-35">
+						<form:input path="clarificaitonType" htmlEscape="false" class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">建设理由分类:</label></td>
+					<td class="width-35">
+						<form:input path="bulidClassificationResons" htmlEscape="false"    class="form-control"/>
+					</td>
 					<td class="width-15 active"><label class="">建设理由:</label></td>
 					<td class="width-35">
 						<form:textarea path="bulbidResons" htmlEscape="false" rows="4"    class="form-control "/>
 					</td>
+				</tr>
+				<tr>
 					<td class="width-15 active"><label class="">设备基本情况:</label></td>
 					<td class="width-35">
 						<form:input path="asicEquipment" htmlEscape="false"    class="form-control"/>
 					</td>
-				</tr>
-				<tr>
 					<td class="width-15 active"><label class="">运行班:</label></td>
 					<td class="width-35">
 						<form:input path="runTheClass" htmlEscape="false"    class="form-control"/>
 					</td>
+				</tr>
+				<tr>
 					<td class="width-15 active"><label class="">项目组:</label></td>
 					<td class="width-35">
 						<form:input path="projectTeam" htmlEscape="false"    class="form-control"/>
 					</td>
-				</tr>
-				<tr>
 					<td class="width-15 active"><label class="">费用估算:</label></td>
 					<td class="width-35">
 						<form:input path="costEstimate" htmlEscape="false"    class="form-control number"/>
 					</td>
+				</tr>
+				<tr>
 					<td class="width-15 active"><label class="">是否迎风期度夏项目:</label></td>
 					<td class="width-35">
 						<form:input path="whetherRheUpwind" htmlEscape="false"    class="form-control"/>
 					</td>
-				</tr>
-				<tr>
 					<td class="width-15 active"><label class="">确定下达时间:</label></td>
 					<td class="width-35">
 						<form:input path="sureDaDate" htmlEscape="false"    class="form-control"/>
 					</td>
+				</tr>
+				<tr>
 					<td class="width-15 active"><label class="">备注:</label></td>
 					<td class="width-35">
 						<form:textarea path="textRemark" htmlEscape="false" rows="4"    class="form-control "/>
 					</td>
+					<td class="width-15 active"><label class="">停电线路:</label></td>
+					<td class="width-35">
+						<form:input path="powerLine" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>停电范围:</label></td>
+					<td class="width-35">
+						<form:input path="powerScope" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>项目类型:</label></td>
+					<td class="width-35">
+						<form:input path="projectType" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否为停电打包项目:</label></td>
+					<td class="width-35">
+						<form:input path="preliminaryJudgment" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否含土建(不含钢管杆):</label></td>
+					<td class="width-35">
+						<form:input path="flagCivilEngineering" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>钢管杆基础类型:</label></td>
+					<td class="width-35">
+						<form:input path="steelTubePole" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否需要规矩报批:</label></td>
+					<td class="width-35">
+						<form:input path="flagApprovalPlanning" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>设备改造类型:</label></td>
+					<td class="width-35">
+						<form:input path="equCreateType" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class="">改造设备尺寸及间隔数:</label></td>
+					<td class="width-35">
+						<form:input path="equCreateSize" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否新设备命名:</label></td>
+					<td class="width-35">
+						<form:input path="flagNewEquName" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否含变电站新间格投运:</label></td>
+					<td class="width-35">
+						<form:input path="includeBdzNews" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否非涉电电气施工:</label></td>
+					<td class="width-35">
+						<form:input path="flagNoElectrical" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>图纸标注的带点作业情况:</label></td>
+					<td class="width-35">
+						<form:input path="drawingsWork" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>是否含自动化:</label></td>
+					<td class="width-35">
+						<form:input path="flagAutomation" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>二遥或三摇:</label></td>
+					<td class="width-35">
+						<form:input path="twoAndThreeRemote" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>通讯方式:</label></td>
+					<td class="width-35">
+						<form:input path="phoneStyle" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>柱开集中或就业地:</label></td>
+					<td class="width-35">
+						<form:input path="stayOpenArea" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>环网柜:</label></td>
+					<td class="width-35">
+						<form:input path="ringNetworkCabinet" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class="">站房dtu:</label></td>
+					<td class="width-35">
+						<form:input path="stationDtu" htmlEscape="false"    class="form-control"/>
+					</td>
 				</tr>
 			</tbody>
 		</table>

+ 53 - 2
src/main/webapp/webpage/modules/sg/managementcenter/project/projectList.js

@@ -149,6 +149,49 @@ $(document).ready(function() {
 
                    }
                    ,{
+                       field: 'distributionEngineering',
+                       title: '配网工程专职角色',
+                       width:150
+
+                   }
+                   ,{
+                       field: 'distributionMaterials',
+                       title: '配网物资专职角色',
+                       width:150
+
+                   }
+                   ,{
+                       field: 'distributionSystem',
+                       title: '配网系统专职角色',
+                       width:150
+
+                   }
+                   ,{
+                       field: 'distributionPolicy',
+                       title: '配网政策处理专职角色',
+                       width:150
+                   }
+                   ,{
+                       field: 'managementLeader',
+                       title: '项目管理中心领导角色',
+                       width:150
+                   }
+                   ,{
+                       field: 'runUnit',
+                       title: '运行单位',
+                       width:90
+                   }
+                   ,{
+                       field: 'runUnitRole',
+                       title: '运行单位角色',
+                       width:100
+                   }
+                   ,{
+                       field: 'throughResearchRole',
+                       title: '经研所角色',
+                       width:90
+                   }
+                   ,{
                        field: 'constructionUnit',
                        title: '施工单位',
                        width:120
@@ -159,6 +202,16 @@ $(document).ready(function() {
                        width:110
                    }
                    ,{
+                       field: 'designUnit',
+                       title: '设计单位',
+                       width:110
+                   }
+                   ,{
+                       field: 'designUnitRole',
+                       width:110
+                   }
+                   ,{
+                       title: '设计单位角色',
                        field: 'clarificaitonType',
                        title: '交底类型',
                        width:100
@@ -363,8 +416,6 @@ $(document).ready(function() {
 	    	       }
 			}); 
 		});
-		
-		
 	 $("#export").click(function(){//导出Excel文件
 			jp.downloadFile('${ctx}/sg/managementcenter/project/export');
 	  });