소스 검색

项目储备信息模块

user5 4 년 전
부모
커밋
35d3c5d2a0

+ 620 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/reserveManagement/entity/ReserveManagement.java

@@ -0,0 +1,620 @@
+package com.jeeplus.modules.sg.managementcenter.reserveManagement.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 项目储备信息 Entity
+ * @author 徐滕
+ * @version 2020-09-14
+ */
+public class ReserveManagement extends DataEntity<ReserveManagement> {
+
+    private String projectNature;  //varchar(64) NULL 项目性质
+    private String demandUnit;  //varchar(64) NULL 需求单位
+    private String district;  //varchar(64) NULL 区域
+    private String projectGroup;  //varchar(64) NULL 项目分组
+    private String reserveBatches;  //varchar(64) NULL 储备批次
+    private String projectReserveId;  //varchar(64) NOT NULL 项目储备编号
+    private String projectName;  //varchar(64) NULL 项目名称
+    private String constructionNecessityAndContent;  //varchar(64) NULL 建设必要性及内容
+    private String substationName;  //varchar(64) NULL 变电站名称
+    private String circuitName;  //varchar(64) NULL 线路名称
+    private String netRackProjectDivide;  //varchar(64) NULL 网架项目划分
+    private String projectType;  //varchar(64) NULL 项目类型
+    private Double costEstimate;  //double(64,4) NULL 费用估算
+    private Integer whetherWindwardProject;  //tinyint(4) NULL 是否迎峰度夏项目(1:是,0:否 2:取消)
+    private Integer projectUrgencyDegree;  //tinyint(4) NULL  项目紧急程度(不是数字默认为空)
+    private String implementIssuedYear;  //varchar(64) NULL  拟实施下达年份
+    private String implementBatch;  //varchar(64) NULL  拟实施批次
+    private String basicRemarks;  //varchar(255) NULL  备注
+
+    private Integer designCondition;  //tinyint(4) NULL  设计状态(1:已完成,0:未完成)
+    private Integer whetherPassReview;  //tinyint(4) NULL  是否通过省公司评审(1:已通过,0:未通过)
+    private Integer whetherNeedWiringDiagram;  //tinyint(4) NULL  是否需提交路径图(政处)(1:是,0:否)
+    private Integer whetherFinishMaterials;  //tinyint(4) NULL  是否完成物资清册编制(1:是,0:否)
+    private Integer whetherFinishDrawing;  //tinyint(4) NULL  是否完成图纸移交(1:是,0:否)
+
+    private String disclosureToCoordinate;  //varchar(64) NULL  交底牵头部门
+    private String disclosureParticipate;  //varchar(64) NULL  交底参与部门
+    private Integer whetherFinishDisclosure;  //tinyint(4) NULL  是否完成交底(1:是,0:否)
+    private String projectManagementPeople;  //varchar(64) NULL  项目管理中心人员
+    private String designingInstitutePeople;  //varchar(64) NULL  设计院人员
+    private String ifoPeople;  //varchar(64) NULL  经研所人员
+    private String regionalCenterPeople;  //varchar(64) NULL  区域中心人员
+    private String uninterruptedOperationPeople;  //varchar(64) NULL  不停电作业中心人员
+    private String workMode;  //varchar(64) NULL  作业方式
+    private Date disclosureFinishDate;  //datetime NULL  交底完成日期
+    private String disclosureRemarks;  //varchar(255) NULL  备注
+
+    private String projectDescription;  //varchar(255) NULL  立项说明
+    private String doNotPossessProjectDescription;  //varchar(255) NULL  不具备立项条件说明
+    private String changedProgramsExplain;  //varchar(255) NULL  方案变更说明
+    private String initialDifficulty;  //varchar(64) NULL  政处难度初判
+    private Integer capitalEquipment;  //tinyint(4) NULL  是否有资本设备(1:是,0:否)
+    private Integer substationNewLine;  //tinyint(4) NULL  是否有变电站新出线(1:是,0:否)
+    private Integer whetherImplement;  //tinyint(4) NULL  是否已实施(1:是,0:否)
+    private String fieldDescription;  //varchar(255) NULL  现场情况描述
+    private Integer necessaryOfImplementation;  //tinyint(4) NULL  是否有实施必要性(1:是,0:否)
+    private String unnecessaryDescription;  //varchar(255) NULL  实施无必要描述
+    private Integer precondition;  //tinyint(4) NULL  是否存在前置条件(1:是,0:否)
+    private String conditionsDescribed;  //varchar(255) NULL  前置条件描述
+    private Integer constructionSchemeProblem;  //tinyint(4) NULL  是否存在施工方案问题(1:是,0:否)
+    private String problemDescriptionOfConstructionScheme;  //varchar(255) NULL  施工方案问题描述
+    private Integer existingSecurityThreat;  //tinyint(4) NULL  现场是否存在安全隐患(1:是,0:否)
+    private String safetyHazardDescription;  //varchar(255) NULL  安全隐患描述
+    private Integer customizedMaterials;  //tinyint(4) NULL  是否需要定制物资(1:是,0:否)
+    private String materialDescription;  //varchar(255) NULL  定制物资描述
+    private Integer dismantlingTheOldMaterial;  //tinyint(4) NULL  是否有拆旧物资(1:是,0:否)
+    private String operatingType;  //varchar(64) NULL  作业方式
+    private String problemDescription;  //varchar(255) NULL  停电问题描述
+    private Integer civilWork;  //tinyint(4) NULL  是否有土建工作量(1:是,0:否)
+    private Integer verticalRodWorkload;  //tinyint(4) NULL  是否有立杆工作量(1:是,0:否)
+    private String totalWorkloadDescription;  //varchar(255) NULL  总工作量描述
+    private String regionalCenter;  //varchar(64) NULL  区域中心
+    private String powerSupplyArea;  //varchar(64) NULL  供电所辖区
+    private String zhengLocation;  //varchar(64) NULL  政处地点
+    private String zhengType;  //varchar(64) NULL  政处类型(可多类)
+    private String zhengObject;  //varchar(64) NULL  政处对象(产权单位)
+    private String zhengDescribe;  //varchar(255) NULL  政处描述
+    private Integer projectApproval;  //tinyint(4) NULL  是否需规划报批(1:是,0:否)
+    private Integer courseEvaluationProcedures;  //tinyint(4) NULL  是否需办理安评航评手续(1:是,0:否)
+    private String zhengDifficultyWarn;  //varchar(64) NULL  政处难点提醒
+
+    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 getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+
+    public String getProjectType() {
+        return projectType;
+    }
+
+    public void setProjectType(String projectType) {
+        this.projectType = projectType;
+    }
+
+    public Double getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(Double costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+
+    public Integer getWhetherWindwardProject() {
+        return whetherWindwardProject;
+    }
+
+    public void setWhetherWindwardProject(Integer whetherWindwardProject) {
+        this.whetherWindwardProject = whetherWindwardProject;
+    }
+
+    public Integer getProjectUrgencyDegree() {
+        return projectUrgencyDegree;
+    }
+
+    public void setProjectUrgencyDegree(Integer projectUrgencyDegree) {
+        this.projectUrgencyDegree = projectUrgencyDegree;
+    }
+
+    public String getImplementIssuedYear() {
+        return implementIssuedYear;
+    }
+
+    public void setImplementIssuedYear(String implementIssuedYear) {
+        this.implementIssuedYear = implementIssuedYear;
+    }
+
+    public String getImplementBatch() {
+        return implementBatch;
+    }
+
+    public void setImplementBatch(String implementBatch) {
+        this.implementBatch = implementBatch;
+    }
+
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+
+    public Integer getDesignCondition() {
+        return designCondition;
+    }
+
+    public void setDesignCondition(Integer designCondition) {
+        this.designCondition = designCondition;
+    }
+
+    public Integer getWhetherPassReview() {
+        return whetherPassReview;
+    }
+
+    public void setWhetherPassReview(Integer whetherPassReview) {
+        this.whetherPassReview = whetherPassReview;
+    }
+
+    public Integer getWhetherNeedWiringDiagram() {
+        return whetherNeedWiringDiagram;
+    }
+
+    public void setWhetherNeedWiringDiagram(Integer whetherNeedWiringDiagram) {
+        this.whetherNeedWiringDiagram = whetherNeedWiringDiagram;
+    }
+
+    public Integer getWhetherFinishMaterials() {
+        return whetherFinishMaterials;
+    }
+
+    public void setWhetherFinishMaterials(Integer whetherFinishMaterials) {
+        this.whetherFinishMaterials = whetherFinishMaterials;
+    }
+
+    public Integer getWhetherFinishDrawing() {
+        return whetherFinishDrawing;
+    }
+
+    public void setWhetherFinishDrawing(Integer whetherFinishDrawing) {
+        this.whetherFinishDrawing = whetherFinishDrawing;
+    }
+
+    public String getDisclosureToCoordinate() {
+        return disclosureToCoordinate;
+    }
+
+    public void setDisclosureToCoordinate(String disclosureToCoordinate) {
+        this.disclosureToCoordinate = disclosureToCoordinate;
+    }
+
+    public String getDisclosureParticipate() {
+        return disclosureParticipate;
+    }
+
+    public void setDisclosureParticipate(String disclosureParticipate) {
+        this.disclosureParticipate = disclosureParticipate;
+    }
+
+    public Integer getWhetherFinishDisclosure() {
+        return whetherFinishDisclosure;
+    }
+
+    public void setWhetherFinishDisclosure(Integer whetherFinishDisclosure) {
+        this.whetherFinishDisclosure = whetherFinishDisclosure;
+    }
+
+    public String getProjectManagementPeople() {
+        return projectManagementPeople;
+    }
+
+    public void setProjectManagementPeople(String projectManagementPeople) {
+        this.projectManagementPeople = projectManagementPeople;
+    }
+
+    public String getDesigningInstitutePeople() {
+        return designingInstitutePeople;
+    }
+
+    public void setDesigningInstitutePeople(String designingInstitutePeople) {
+        this.designingInstitutePeople = designingInstitutePeople;
+    }
+
+    public String getIfoPeople() {
+        return ifoPeople;
+    }
+
+    public void setIfoPeople(String ifoPeople) {
+        this.ifoPeople = ifoPeople;
+    }
+
+    public String getRegionalCenterPeople() {
+        return regionalCenterPeople;
+    }
+
+    public void setRegionalCenterPeople(String regionalCenterPeople) {
+        this.regionalCenterPeople = regionalCenterPeople;
+    }
+
+    public String getUninterruptedOperationPeople() {
+        return uninterruptedOperationPeople;
+    }
+
+    public void setUninterruptedOperationPeople(String uninterruptedOperationPeople) {
+        this.uninterruptedOperationPeople = uninterruptedOperationPeople;
+    }
+
+    public String getWorkMode() {
+        return workMode;
+    }
+
+    public void setWorkMode(String workMode) {
+        this.workMode = workMode;
+    }
+
+    public Date getDisclosureFinishDate() {
+        return disclosureFinishDate;
+    }
+
+    public void setDisclosureFinishDate(Date disclosureFinishDate) {
+        this.disclosureFinishDate = disclosureFinishDate;
+    }
+
+    public String getDisclosureRemarks() {
+        return disclosureRemarks;
+    }
+
+    public void setDisclosureRemarks(String disclosureRemarks) {
+        this.disclosureRemarks = disclosureRemarks;
+    }
+
+    public String getProjectDescription() {
+        return projectDescription;
+    }
+
+    public void setProjectDescription(String projectDescription) {
+        this.projectDescription = projectDescription;
+    }
+
+    public String getDoNotPossessProjectDescription() {
+        return doNotPossessProjectDescription;
+    }
+
+    public void setDoNotPossessProjectDescription(String doNotPossessProjectDescription) {
+        this.doNotPossessProjectDescription = doNotPossessProjectDescription;
+    }
+
+    public String getChangedProgramsExplain() {
+        return changedProgramsExplain;
+    }
+
+    public void setChangedProgramsExplain(String changedProgramsExplain) {
+        this.changedProgramsExplain = changedProgramsExplain;
+    }
+
+    public String getInitialDifficulty() {
+        return initialDifficulty;
+    }
+
+    public void setInitialDifficulty(String initialDifficulty) {
+        this.initialDifficulty = initialDifficulty;
+    }
+
+    public Integer getCapitalEquipment() {
+        return capitalEquipment;
+    }
+
+    public void setCapitalEquipment(Integer capitalEquipment) {
+        this.capitalEquipment = capitalEquipment;
+    }
+
+    public Integer getSubstationNewLine() {
+        return substationNewLine;
+    }
+
+    public void setSubstationNewLine(Integer substationNewLine) {
+        this.substationNewLine = substationNewLine;
+    }
+
+    public Integer getWhetherImplement() {
+        return whetherImplement;
+    }
+
+    public void setWhetherImplement(Integer whetherImplement) {
+        this.whetherImplement = whetherImplement;
+    }
+
+    public String getFieldDescription() {
+        return fieldDescription;
+    }
+
+    public void setFieldDescription(String fieldDescription) {
+        this.fieldDescription = fieldDescription;
+    }
+
+    public Integer getNecessaryOfImplementation() {
+        return necessaryOfImplementation;
+    }
+
+    public void setNecessaryOfImplementation(Integer necessaryOfImplementation) {
+        this.necessaryOfImplementation = necessaryOfImplementation;
+    }
+
+    public String getUnnecessaryDescription() {
+        return unnecessaryDescription;
+    }
+
+    public void setUnnecessaryDescription(String unnecessaryDescription) {
+        this.unnecessaryDescription = unnecessaryDescription;
+    }
+
+    public Integer getPrecondition() {
+        return precondition;
+    }
+
+    public void setPrecondition(Integer precondition) {
+        this.precondition = precondition;
+    }
+
+    public String getConditionsDescribed() {
+        return conditionsDescribed;
+    }
+
+    public void setConditionsDescribed(String conditionsDescribed) {
+        this.conditionsDescribed = conditionsDescribed;
+    }
+
+    public Integer getConstructionSchemeProblem() {
+        return constructionSchemeProblem;
+    }
+
+    public void setConstructionSchemeProblem(Integer constructionSchemeProblem) {
+        this.constructionSchemeProblem = constructionSchemeProblem;
+    }
+
+    public String getProblemDescriptionOfConstructionScheme() {
+        return problemDescriptionOfConstructionScheme;
+    }
+
+    public void setProblemDescriptionOfConstructionScheme(String problemDescriptionOfConstructionScheme) {
+        this.problemDescriptionOfConstructionScheme = problemDescriptionOfConstructionScheme;
+    }
+
+    public Integer getExistingSecurityThreat() {
+        return existingSecurityThreat;
+    }
+
+    public void setExistingSecurityThreat(Integer existingSecurityThreat) {
+        this.existingSecurityThreat = existingSecurityThreat;
+    }
+
+    public String getSafetyHazardDescription() {
+        return safetyHazardDescription;
+    }
+
+    public void setSafetyHazardDescription(String safetyHazardDescription) {
+        this.safetyHazardDescription = safetyHazardDescription;
+    }
+
+    public Integer getCustomizedMaterials() {
+        return customizedMaterials;
+    }
+
+    public void setCustomizedMaterials(Integer customizedMaterials) {
+        this.customizedMaterials = customizedMaterials;
+    }
+
+    public String getMaterialDescription() {
+        return materialDescription;
+    }
+
+    public void setMaterialDescription(String materialDescription) {
+        this.materialDescription = materialDescription;
+    }
+
+    public Integer getDismantlingTheOldMaterial() {
+        return dismantlingTheOldMaterial;
+    }
+
+    public void setDismantlingTheOldMaterial(Integer dismantlingTheOldMaterial) {
+        this.dismantlingTheOldMaterial = dismantlingTheOldMaterial;
+    }
+
+    public String getOperatingType() {
+        return operatingType;
+    }
+
+    public void setOperatingType(String operatingType) {
+        this.operatingType = operatingType;
+    }
+
+    public String getProblemDescription() {
+        return problemDescription;
+    }
+
+    public void setProblemDescription(String problemDescription) {
+        this.problemDescription = problemDescription;
+    }
+
+    public Integer getCivilWork() {
+        return civilWork;
+    }
+
+    public void setCivilWork(Integer civilWork) {
+        this.civilWork = civilWork;
+    }
+
+    public Integer getVerticalRodWorkload() {
+        return verticalRodWorkload;
+    }
+
+    public void setVerticalRodWorkload(Integer verticalRodWorkload) {
+        this.verticalRodWorkload = verticalRodWorkload;
+    }
+
+    public String getTotalWorkloadDescription() {
+        return totalWorkloadDescription;
+    }
+
+    public void setTotalWorkloadDescription(String totalWorkloadDescription) {
+        this.totalWorkloadDescription = totalWorkloadDescription;
+    }
+
+    public String getRegionalCenter() {
+        return regionalCenter;
+    }
+
+    public void setRegionalCenter(String regionalCenter) {
+        this.regionalCenter = regionalCenter;
+    }
+
+    public String getPowerSupplyArea() {
+        return powerSupplyArea;
+    }
+
+    public void setPowerSupplyArea(String powerSupplyArea) {
+        this.powerSupplyArea = powerSupplyArea;
+    }
+
+    public String getZhengLocation() {
+        return zhengLocation;
+    }
+
+    public void setZhengLocation(String zhengLocation) {
+        this.zhengLocation = zhengLocation;
+    }
+
+    public String getZhengType() {
+        return zhengType;
+    }
+
+    public void setZhengType(String zhengType) {
+        this.zhengType = zhengType;
+    }
+
+    public String getZhengObject() {
+        return zhengObject;
+    }
+
+    public void setZhengObject(String zhengObject) {
+        this.zhengObject = zhengObject;
+    }
+
+    public String getZhengDescribe() {
+        return zhengDescribe;
+    }
+
+    public void setZhengDescribe(String zhengDescribe) {
+        this.zhengDescribe = zhengDescribe;
+    }
+
+    public Integer getProjectApproval() {
+        return projectApproval;
+    }
+
+    public void setProjectApproval(Integer projectApproval) {
+        this.projectApproval = projectApproval;
+    }
+
+    public Integer getCourseEvaluationProcedures() {
+        return courseEvaluationProcedures;
+    }
+
+    public void setCourseEvaluationProcedures(Integer courseEvaluationProcedures) {
+        this.courseEvaluationProcedures = courseEvaluationProcedures;
+    }
+
+    public String getZhengDifficultyWarn() {
+        return zhengDifficultyWarn;
+    }
+
+    public void setZhengDifficultyWarn(String zhengDifficultyWarn) {
+        this.zhengDifficultyWarn = zhengDifficultyWarn;
+    }
+}

+ 14 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/reserveManagement/mapper/ReserveManagementMapper.java

@@ -0,0 +1,14 @@
+package com.jeeplus.modules.sg.managementcenter.reserveManagement.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
+
+/**
+ * 项目储备信息 Mapper
+ * @author 徐滕
+ * @version 2020-09-14
+ */
+@MyBatisMapper
+public interface ReserveManagementMapper extends BaseMapper<ReserveManagement> {
+}

+ 18 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/reserveManagement/service/ReserveManagementService.java

@@ -0,0 +1,18 @@
+package com.jeeplus.modules.sg.managementcenter.reserveManagement.service;
+
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.mapper.ReserveManagementMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 项目储备信息 Service
+ * @author 徐滕
+ * @version 2020-09-14
+ */
+@Service
+@Transactional(readOnly = true)
+public class ReserveManagementService extends CrudService<ReserveManagementMapper, ReserveManagement> {
+
+}

+ 83 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/reserveManagement/web/ReserveManagementController.java

@@ -0,0 +1,83 @@
+package com.jeeplus.modules.sg.managementcenter.reserveManagement.web;
+
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.service.ReserveManagementService;
+import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 项目储备信息 Controller
+ * @author 徐滕
+ * @version 2020-09-14
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/sg/managementCenter/reserveManagement")
+public class ReserveManagementController extends BaseController {
+
+    @Autowired
+    private ReserveManagementService service;
+
+    @ModelAttribute
+    public ReserveManagement get(@RequestParam(required = false) String id) {
+        ReserveManagement entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = service.get(id);
+        }
+        if (entity == null) {
+            entity = new ReserveManagement();
+        }
+        return entity;
+    }
+
+    /**
+     * 工程管理表单列表页面
+     */
+    @RequiresPermissions("sg:managementcenter:reserveManagement:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReserveManagement reserveManagement, Model model) {
+        User user = UserUtils.getUser();
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/sg/managementcenter/reserveManagement/resrerveManagementInformation";
+    }
+
+    /**
+     * 项目前期基本信息 数据列表
+     */
+    @ResponseBody
+    @RequiresPermissions("sg:managementcenter:reserveManagement:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReserveManagement reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+        /*String reserveProjectName = project.getReserveProjectName();
+        List<String> reserveList = new ArrayList<>();
+        if (!"".equals(reserveProjectName)) {
+            String[] split = reserveProjectName.split("\\s+");
+            String reserveName = "";
+            for (int i = 0; i < split.length; i++) {
+                reserveName = split[i];
+                reserveList.add(reserveName);
+            }
+            project.setReserveList(reserveList);
+        }
+        BasicInformation basicInformation = new BasicInformation();
+        project.setBasicInformation(basicInformation);
+        Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
+        return getBootstrapData(page);*/
+        return null;
+    }
+}

+ 636 - 0
src/main/webapp/webpage/modules/sg/managementcenter/reserveManagement/resrerveManagementInformation.js

@@ -0,0 +1,636 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').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: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/sg/managementcenter/project/basicData",
+        //默认值为 '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:
+
+            [[
+                {
+                    title: "2021年镇江本部配网项目储备表",
+                    halign:"center",
+                    align:"center",
+                    width:8000,
+                    colspan: 67,
+                }
+            ],[
+                {
+                    title: "储备项目基本信息",
+                    halign:"center",
+                    align:"center",
+                    width:2100,
+                    colspan:19,
+                },{
+                    title: "设计及评审情况",
+                    halign:"center",
+                    align:"center",
+                    width:500,
+                    colspan:5,
+                },{
+                    title: "方案交底组织",
+                    halign:"center",
+                    align:"center",
+                    width:1100,
+                    colspan:11,
+                },{
+                    title: "方案交底结论",
+                    halign:"center",
+                    align:"center",
+                    width:3300,
+                    colspan:33,
+                }
+            ],[
+                {
+                    checkbox: true,
+                    width:50,
+                    rowspan:2,
+                }
+                , {
+                    field: 'projectNature',
+                    width:100,
+                    title: '项目性质',
+                    rowspan:2,
+                },{
+                    field: 'demandUnit',
+                    width:100,
+                    title: '需求单位',
+                    rowspan:2,
+                },{
+                    field: 'district',
+                    width:100,
+                    title: '区域',
+                    rowspan:2,
+                },{
+                    field: 'projectGroup',
+                    width:100,
+                    title: '项目分组',
+                    rowspan:2,
+                },{
+                    field: 'reserveBatches',
+                    width:100,
+                    title: '储备批次',
+                    rowspan:2,
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+                    rowspan:2,
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+                    rowspan:2,
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:200,
+                    title: '建设必要性及内容',
+                    rowspan:2,
+                },{
+                    field: 'substationName',
+                    width:100,
+                    title: '变电站名称',
+                    rowspan:2,
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+                    rowspan:2,
+                },{
+                    field: 'netRackProjectDivide',
+                    width:100,
+                    title: '网架项目划分',
+                    rowspan:2,
+                },{
+                    field: 'projectType',
+                    width:100,
+                    title: '项目类型',
+                    rowspan:2,
+                },{
+                    field: 'costEstimate',
+                    width:100,
+                    title: '费用估算',
+                    rowspan:2,
+                },{
+                    field: 'whetherWindwardProject',
+                    width:100,
+                    title: '是否迎峰度夏项目',
+                    rowspan:2,
+                },{
+                    field: 'projectUrgencyDegree',
+                    width:100,
+                    title: '项目紧急程度',
+                    rowspan:2,
+                },{
+                    field: 'implementIssuedYear',
+                    width:100,
+                    title: '拟实施下达年份',
+                    rowspan:2,
+                },{
+                    field: 'implementBatch',
+                    width:100,
+                    title: '拟实施批次',
+                    rowspan:2,
+                },{
+                    field: 'basicRemarks',
+                    width:100,
+                    title: '备注',
+                    rowspan:2,
+                },
+/*设计及评审情况*/
+                {
+                    field: 'designCondition',
+                    width:100,
+                    title: '设计状态',
+                    rowspan:2,
+                },{
+                    field: 'whetherPassReview',
+                    width:100,
+                    title: '是否通过省公司评审',
+                    rowspan:2,
+                },{
+                    field: 'whetherNeedWiringDiagram',
+                    width:100,
+                    title: '是否需提交路径图',
+                    rowspan:2,
+                },{
+                    field: 'whetherFinishMaterials',
+                    width:100,
+                    title: '是否完成物资清册编制',
+                    rowspan:2,
+                },{
+                    field: 'whetherFinishDrawing',
+                    width:100,
+                    title: '是否完成图纸移交',
+                    rowspan:2,
+                },
+/*方案交底组织*/
+                {
+                    field: 'disclosureToCoordinate',
+                    width:100,
+                    title: '交底牵头部门',
+                    rowspan:2,
+                },{
+                    field: 'disclosureParticipate',
+                    width:100,
+                    title: '交底参与部门',
+                    rowspan:2,
+                },{
+                    field: 'whetherFinishDisclosure',
+                    width:100,
+                    title: '是否完成交底',
+                    rowspan:2,
+                },{
+                    field: 'projectManagementPeople',
+                    width:100,
+                    title: '项目管理中心人员',
+                    rowspan:2,
+                },{
+                    field: 'designingInstitutePeople',
+                    width:100,
+                    title: '设计院人员',
+                    rowspan:2,
+                },{
+                    field: 'ifoPeople',
+                    width:100,
+                    title: '经研所人员',
+                    rowspan:2,
+                },{
+                    field: 'regionalCenterPeople',
+                    width:100,
+                    title: '区域中心人员',
+                    rowspan:2,
+                },{
+                    field: 'uninterruptedOperationPeople',
+                    width:100,
+                    title: '不停电作业中心人员',
+                    rowspan:2,
+                },{
+                    field: 'workMode',
+                    width:100,
+                    title: '作业方式',
+                    rowspan:2,
+                },{
+                    field: 'disclosureFinishDate',
+                    width:100,
+                    title: '交底完成日期',
+                    rowspan:2,
+                },{
+                    field: 'disclosureRemarks',
+                    width:100,
+                    title: '备注',
+                    rowspan:2,
+                },
+/*方案交底结论*/
+                {
+                    title: "交底结论",
+                    halign:"center",
+                    align:"center",
+                    width:400,
+                    colspan:4,
+                },{
+                    title: "成本资本划分",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "现场是否实施",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "实施必要性",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "施工前置条件检查",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "施工方案可行性检查",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "方案安全性检查",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "物资交底",
+                    halign:"center",
+                    align:"center",
+                    width:300,
+                    colspan:3,
+                },{
+                    title: "作业方式",
+                    halign:"center",
+                    align:"center",
+                    width:200,
+                    colspan:2,
+                },{
+                    title: "工作量描述",
+                    halign:"center",
+                    align:"center",
+                    width:300,
+                    colspan:3,
+                },{
+                    title: "政处交底",
+                    halign:"center",
+                    align:"center",
+                    width:900,
+                    colspan:9,
+                }
+            ],[
+                {
+                    field: 'projectDescription',
+                    width:100,
+                    title: '立项说明',
+                },
+                {
+                    field: 'doNotPossessProjectDescription',
+                    width:100,
+                    title: '不具备立项条件说明',
+                },
+                {
+                    field: 'changedProgramsExplain',
+                    width:100,
+                    title: '方案变更说明',
+                },
+                {
+                    field: 'initialDifficulty',
+                    width:100,
+                    title: '政处难度初判',
+                },
+                {
+                    field: 'capitalEquipment',
+                    width:100,
+                    title: '是否有资本设备',
+                },
+                {
+                    field: 'substationNewLine',
+                    width:100,
+                    title: '是否有变电站新出线',
+                },
+                {
+                    field: 'whetherImplement',
+                    width:100,
+                    title: '是否已实施',
+                },
+                {
+                    field: 'fieldDescription',
+                    width:100,
+                    title: '现场情况描述',
+                },
+                {
+                    field: 'necessaryOfImplementation',
+                    width:100,
+                    title: '是否有实施必要性',
+                },
+                {
+                    field: 'unnecessaryDescription',
+                    width:100,
+                    title: '实施无必要描述',
+                },
+                {
+                    field: 'precondition',
+                    width:100,
+                    title: '是否存在前置条件',
+                },
+                {
+                    field: 'conditionsDescribed',
+                    width:100,
+                    title: '前置条件描述',
+                },
+                {
+                    field: 'constructionSchemeProblem',
+                    width:100,
+                    title: '是否存在施工方案问题',
+                },
+                {
+                    field: 'problemDescriptionOfConstructionScheme',
+                    width:100,
+                    title: '施工方案问题描述',
+                },
+                {
+                    field: 'existingSecurityThreat',
+                    width:100,
+                    title: '现场是否存在安全隐患',
+                },
+                {
+                    field: 'safetyHazardDescription',
+                    width:100,
+                    title: '安全隐患描述',
+                },
+                {
+                    field: 'customizedMaterials',
+                    width:100,
+                    title: '是否需要定制物资',
+                },
+                {
+                    field: 'materialDescription',
+                    width:100,
+                    title: '定制物资描述',
+                },
+                {
+                    field: 'dismantlingTheOldMaterial',
+                    width:100,
+                    title: '是否有拆旧物资',
+                },
+                {
+                    field: 'operatingType',
+                    width:100,
+                    title: '作业方式',
+                },
+                {
+                    field: 'problemDescription',
+                    width:100,
+                    title: '停电问题描述',
+                },
+                {
+                    field: 'civilWork',
+                    width:100,
+                    title: '是否有土建工作量',
+                },
+                {
+                    field: 'verticalRodWorkload',
+                    width:100,
+                    title: '是否有立杆工作量',
+                },
+                {
+                    field: 'totalWorkloadDescription',
+                    width:100,
+                    title: '总工作量描述',
+                },
+                {
+                    field: 'regionalCenter',
+                    width:100,
+                    title: '区域中心',
+                },
+                {
+                    field: 'powerSupplyArea',
+                    width:100,
+                    title: '供电所辖区',
+                },
+                {
+                    field: 'zhengLocation',
+                    width:100,
+                    title: '政处地点',
+                },
+                {
+                    field: 'zhengType',
+                    width:100,
+                    title: '政处类型',
+                },
+                {
+                    field: 'zhengObject',
+                    width:100,
+                    title: '政处对象',
+                },
+                {
+                    field: 'zhengDescribe',
+                    width:100,
+                    title: '政处描述',
+                },
+                {
+                    field: 'projectApproval',
+                    width:100,
+                    title: '是否需规划报批',
+                },
+                {
+                    field: 'courseEvaluationProcedures',
+                    width:100,
+                    title: '是否需办理安评航评手续',
+                },
+                {
+                    field: 'zhengDifficultyWarn',
+                    width:100,
+                    title: '政处难点提醒',
+                }
+            ]
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit').prop('disabled', $('#projectTable').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/importBasic', 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 () {
+        var id = getIdSelections();
+        var projectId = $("#projectId").val();
+        var reserveProjectName = $("#reserveProjectName").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/sg/managementcenter/project/btnExport?id=' + id + '&reserveProjectName=' + reserveProjectName + '&projectId=' + projectId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增项目管理表单', "${ctx}/sg/managementcenter/project/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑项目管理表单', "${ctx}/sg/managementcenter/project/basicInformationForm?id=" + id, '800px', '500px');
+}
+
+function view(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看项目管理表单', "${ctx}/sg/managementcenter/project/basicInformationForm?id=" + id, '800px', '500px');
+}
+
+
+</script>

+ 66 - 0
src/main/webapp/webpage/modules/sg/managementcenter/reserveManagement/resrerveManagementInformation.jsp

@@ -0,0 +1,66 @@
+<%@ 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="/webpage/include/treeview.jsp" %>
+	<%@include file="resrerveManagementInformation.js" %>
+</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="search-collapse" class="collapse">
+			<div class="accordion-inner">
+				<form:form id="searchForm" modelAttribute="reserveManagement" class="form form-horizontal well clearfix">
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="储备编码:">储备编码:</label>
+						<form:input path="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<div style="margin-top:26px">
+							<a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>
+							<a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>
+						</div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+	
+	<!-- 工具栏 -->
+	<div id="toolbar">
+			<shiro:hasPermission name="sg:managementcenter:reserveManagement:add">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="sg:managementcenter:reserveManagement:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="sg:managementcenter:reserveManagement:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable"  style="table-layout:fixed"  data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>