@@ -3,34 +3,26 @@
*/
package com.jeeplus.modules.act.web;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Date;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import com.jeeplus.common.json.AjaxJson;
import com.jeeplus.common.utils.SpringContextHolder;
import com.jeeplus.common.websocket.service.system.SystemInfoSocketHandler;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.act.entity.Act;
import com.jeeplus.modules.act.service.ActModelService;
+import com.jeeplus.modules.act.service.ActTaskService;
+import com.jeeplus.modules.act.utils.ActUtils;
import com.jeeplus.modules.oa.entity.OaNotify;
import com.jeeplus.modules.oa.entity.OaNotifyRecord;
import com.jeeplus.modules.oa.service.OaNotifyService;
-import com.jeeplus.modules.sg.managementcenter.activiti.entity.*;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Disclose;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Quantity;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.UploadImages;
import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
import com.jeeplus.modules.sg.managementcenter.activiti.service.DiscloseService;
-import com.jeeplus.modules.sg.managementcenter.activiti.service.ProcessPersonnelService;
import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
-import com.jeeplus.modules.sg.managementcenter.constructionProject.entity.ConstructionProject;
import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
import com.jeeplus.modules.sg.managementcenter.materialproject.entity.MaterialProject;
import com.jeeplus.modules.sg.managementcenter.materialproject.service.MaterialProjectService;
@@ -41,13 +33,12 @@ import com.jeeplus.modules.sg.materialmodule.activiti.entity.MaterialModule;
import com.jeeplus.modules.sg.materialmodule.activiti.entity.NonPower;
import com.jeeplus.modules.sg.materialmodule.activiti.service.MaterialModuleService;
import com.jeeplus.modules.sg.materialmodule.activiti.service.NonPowerService;
-import com.jeeplus.modules.sg.picking.activiti.entity.PickApplication;
import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
-import com.jeeplus.modules.sg.settActivi.entity.SettActivi;
import com.jeeplus.modules.sg.settActivi.entity.SettList;
import com.jeeplus.modules.sg.settActivi.service.SettActiviService;
import com.jeeplus.modules.sys.service.SystemService;
+import com.jeeplus.modules.sys.utils.UserUtils;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
@@ -74,12 +65,16 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import com.jeeplus.core.persistence.Page;
-import com.jeeplus.core.web.BaseController;
-import com.jeeplus.modules.act.entity.Act;
-import com.jeeplus.modules.act.service.ActTaskService;
-import com.jeeplus.modules.act.utils.ActUtils;
-import com.jeeplus.modules.sys.utils.UserUtils;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* 流程个人任务相关Controller
@@ -156,11 +151,11 @@ public class ActTaskController extends BaseController {
@ResponseBody
@RequestMapping(value = "todo/data")
public Map<String, Object> todoListData(Act act, HttpServletRequest request, HttpServletResponse response, Model model, String reserveProjectName, String projectId, String projectName) throws Exception {
-/* Page<HashMap<String, String>> page = actTaskService.todoList(new Page<HashMap<String, String>>(request, response), act);
- return getBootstrapData(page);*/
- Page<HashMap<String, String>> page = actTaskService.newTodoList(new Page<HashMap<String, String>>(request, response), act, reserveProjectName, projectId, projectName);
- Map<String, Object> map = new HashMap<String, Object>();
+ Page<HashMap<String, String>> page = actTaskService.todoList(new Page<HashMap<String, String>>(request, response), act);
return getBootstrapData(page);
+// Page<HashMap<String, String>> page = actTaskService.newTodoList(new Page<HashMap<String, String>>(request, response), act, reserveProjectName, projectId, projectName);
+// Map<String, Object> map = new HashMap<String, Object>();
+// return getBootstrapData(page);
}
@@ -0,0 +1,93 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+/**
+ * 预算书审前审后数据
+ * @author: 王强
+ * @create: 2022-08-10 10:39
+ **/
+public class BudgetBook extends DataEntity<BudgetBook> {
+ private String projectReserveId; //项目储备编号
+ private String pretrialBudgetTaxInclude; //审前概算(含税)
+ private String pretrialBudgetTaxNoInclude; //审前概算(不含税)
+ private String pretrialSupervisionFeeTaxNoInclude; //审前监理费(不含税)
+ private String pretrialDesignFeeTaxNoInclude; //审前设计费(不含税)
+ private String afterTrialBudgetTaxInclude; //审后概算(含税)
+ private String afterTrialBudgetTaxNoInclude; //审后概算(不含税)
+ private String afterTrialSupervisionFeeTaxNoInclude; //审后监理费(不含税)
+ private String afterTrialDesignFeeTaxNoInclude; //审后设计费(不含税)
+ public String getProjectReserveId() {
+ return projectReserveId;
+ }
+ public void setProjectReserveId(String projectReserveId) {
+ this.projectReserveId = projectReserveId;
+ public String getPretrialBudgetTaxInclude() {
+ return pretrialBudgetTaxInclude;
+ public void setPretrialBudgetTaxInclude(String pretrialBudgetTaxInclude) {
+ this.pretrialBudgetTaxInclude = pretrialBudgetTaxInclude;
+ public String getPretrialBudgetTaxNoInclude() {
+ return pretrialBudgetTaxNoInclude;
+ public void setPretrialBudgetTaxNoInclude(String pretrialBudgetTaxNoInclude) {
+ this.pretrialBudgetTaxNoInclude = pretrialBudgetTaxNoInclude;
+ public String getPretrialSupervisionFeeTaxNoInclude() {
+ return pretrialSupervisionFeeTaxNoInclude;
+ public void setPretrialSupervisionFeeTaxNoInclude(String pretrialSupervisionFeeTaxNoInclude) {
+ this.pretrialSupervisionFeeTaxNoInclude = pretrialSupervisionFeeTaxNoInclude;
+ public String getPretrialDesignFeeTaxNoInclude() {
+ return pretrialDesignFeeTaxNoInclude;
+ public void setPretrialDesignFeeTaxNoInclude(String pretrialDesignFeeTaxNoInclude) {
+ this.pretrialDesignFeeTaxNoInclude = pretrialDesignFeeTaxNoInclude;
+ public String getAfterTrialBudgetTaxInclude() {
+ return afterTrialBudgetTaxInclude;
+ public void setAfterTrialBudgetTaxInclude(String afterTrialBudgetTaxInclude) {
+ this.afterTrialBudgetTaxInclude = afterTrialBudgetTaxInclude;
+ public String getAfterTrialBudgetTaxNoInclude() {
+ return afterTrialBudgetTaxNoInclude;
+ public void setAfterTrialBudgetTaxNoInclude(String afterTrialBudgetTaxNoInclude) {
+ this.afterTrialBudgetTaxNoInclude = afterTrialBudgetTaxNoInclude;
+ public String getAfterTrialSupervisionFeeTaxNoInclude() {
+ return afterTrialSupervisionFeeTaxNoInclude;
+ public void setAfterTrialSupervisionFeeTaxNoInclude(String afterTrialSupervisionFeeTaxNoInclude) {
+ this.afterTrialSupervisionFeeTaxNoInclude = afterTrialSupervisionFeeTaxNoInclude;
+ public String getAfterTrialDesignFeeTaxNoInclude() {
+ return afterTrialDesignFeeTaxNoInclude;
+ public void setAfterTrialDesignFeeTaxNoInclude(String afterTrialDesignFeeTaxNoInclude) {
+ this.afterTrialDesignFeeTaxNoInclude = afterTrialDesignFeeTaxNoInclude;
+}
@@ -0,0 +1,66 @@
+ * 拆旧材料清册
+ * @create: 2022-08-04 17:04
+public class Demolite extends DataEntity<Demolite> {
+ private String name; //名称
+ private String specification; //规格
+ private String unit; //单位
+ private String count; //数量
+ private String remark; //备注
+ public String getName() {
+ return name;
+ public void setName(String name) {
+ this.name = name;
+ public String getSpecification() {
+ return specification;
+ public void setSpecification(String specification) {
+ this.specification = specification;
+ public String getUnit() {
+ return unit;
+ public void setUnit(String unit) {
+ this.unit = unit;
+ public String getCount() {
+ return count;
+ public void setCount(String count) {
+ this.count = count;
+ public String getRemark() {
+ return remark;
+ public void setRemark(String remark) {
+ this.remark = remark;
@@ -0,0 +1,120 @@
+ * 预算问题反馈记录
+ * @create: 2022-08-10 10:47
+public class FeedBackBudget extends DataEntity<FeedBackBudget> {
+ private String preferedCase; //甲供材优选情况
+ private String transferSituation; //甲供转乙供情况
+ private String budgetTemplateCheck; //预算模板核对
+ private String quotaApplicationCheck; //定额套用核对
+ private String workLoadCheck; //工作流核对
+ private String checkTheFee; //取费核对
+ private String supplyCheck; //甲供物资核对
+ private String materialCheck; //乙供物资核对
+ private String liveWorkFeeCheck; //带电作业费核对
+ private String demolitionEngineeringProblems; //拆除工程问题
+ private String otherProblem; //其他问题
+ public String getPreferedCase() {
+ return preferedCase;
+ public void setPreferedCase(String preferedCase) {
+ this.preferedCase = preferedCase;
+ public String getTransferSituation() {
+ return transferSituation;
+ public void setTransferSituation(String transferSituation) {
+ this.transferSituation = transferSituation;
+ public String getBudgetTemplateCheck() {
+ return budgetTemplateCheck;
+ public void setBudgetTemplateCheck(String budgetTemplateCheck) {
+ this.budgetTemplateCheck = budgetTemplateCheck;
+ public String getQuotaApplicationCheck() {
+ return quotaApplicationCheck;
+ public void setQuotaApplicationCheck(String quotaApplicationCheck) {
+ this.quotaApplicationCheck = quotaApplicationCheck;
+ public String getWorkLoadCheck() {
+ return workLoadCheck;
+ public void setWorkLoadCheck(String workLoadCheck) {
+ this.workLoadCheck = workLoadCheck;
+ public String getCheckTheFee() {
+ return checkTheFee;
+ public void setCheckTheFee(String checkTheFee) {
+ this.checkTheFee = checkTheFee;
+ public String getSupplyCheck() {
+ return supplyCheck;
+ public void setSupplyCheck(String supplyCheck) {
+ this.supplyCheck = supplyCheck;
+ public String getMaterialCheck() {
+ return materialCheck;
+ public void setMaterialCheck(String materialCheck) {
+ this.materialCheck = materialCheck;
+ public String getLiveWorkFeeCheck() {
+ return liveWorkFeeCheck;
+ public void setLiveWorkFeeCheck(String liveWorkFeeCheck) {
+ this.liveWorkFeeCheck = liveWorkFeeCheck;
+ public String getDemolitionEngineeringProblems() {
+ return demolitionEngineeringProblems;
+ public void setDemolitionEngineeringProblems(String demolitionEngineeringProblems) {
+ this.demolitionEngineeringProblems = demolitionEngineeringProblems;
+ public String getOtherProblem() {
+ return otherProblem;
+ public void setOtherProblem(String otherProblem) {
+ this.otherProblem = otherProblem;
@@ -0,0 +1,39 @@
+ * 在线开甲供材
+ * @create: 2022-08-12 16:52
+public class MaterialSupply extends DataEntity<MaterialSupply> {
+ private String materialCode; //物料编码
+ private String count; //总量
+ public String getMaterialCode() {
+ return materialCode;
+ public void setMaterialCode(String materialCode) {
+ this.materialCode = materialCode;
@@ -2,8 +2,6 @@ package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
import com.jeeplus.core.persistence.DataEntity;
* 储备项目交底信息汇总统计表
* @author: 王强
@@ -51,7 +49,7 @@ public class ReserveSummary extends DataEntity<ReserveSummary> {
private String preliminaryConstructionUnitProjectManager; //初定施工单位项目经理
private String handConstructionSketches; //是否移交施工草图
- private String openProcessStatus; //开启流程状态 0-未开启 1-开启
+ /*private String openProcessStatus; //开启流程状态 0-未开启 1-开启
public String getOpenProcessStatus() {
return openProcessStatus;
@@ -59,7 +57,7 @@ public class ReserveSummary extends DataEntity<ReserveSummary> {
public void setOpenProcessStatus(String openProcessStatus) {
this.openProcessStatus = openProcessStatus;
- }
+ }*/
public String getProjectYear() {
return projectYear;
@@ -0,0 +1,313 @@
+import com.jeeplus.core.persistence.ActEntity;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ScaleDetails;
+ * 储备流程实体类
+ * @create: 2022-08-03 09:02
+public class ReserveSummaryProcess extends ActEntity<ReserveSummaryProcess> {
+ /**
+ * 储备项目编号
+ * */
+ private String projectReserveId;
+ * 项目名称
+ private String projectName;
+ * 储备项目基础数据
+ */
+ private ReserveSummary reserveSummary;
+ private FeedBackBudget feedBackBudget;
+ * 预算书
+ private String budgetStatement;
+ * 项目建议书
+ private String projectProposal;
+ * 图纸
+ private String drawings;
+ * 甲供材清册
+ private ScaleDetails scaleDetails;
+ * 施工图设计说明书
+ private String drawingSpecification;
+ private String demolition;
+ //预算书审前审后数据
+ //预算问题反馈记录
+ public String getProjectName() {
+ return projectName;
+ public void setProjectName(String projectName) {
+ this.projectName = projectName;
+ public ReserveSummary getReserveSummary() {
+ return reserveSummary;
+ public void setReserveSummary(ReserveSummary reserveSummary) {
+ this.reserveSummary = reserveSummary;
+ public FeedBackBudget getFeedBackBudget() {
+ return feedBackBudget;
+ public void setFeedBackBudget(FeedBackBudget feedBackBudget) {
+ this.feedBackBudget = feedBackBudget;
+ public String getBudgetStatement() {
+ return budgetStatement;
+ public void setBudgetStatement(String budgetStatement) {
+ this.budgetStatement = budgetStatement;
+ public String getProjectProposal() {
+ return projectProposal;
+ public void setProjectProposal(String projectProposal) {
+ this.projectProposal = projectProposal;
+ public String getDrawings() {
+ return drawings;
+ public void setDrawings(String drawings) {
+ this.drawings = drawings;
+ public ScaleDetails getScaleDetails() {
+ return scaleDetails;
+ public void setScaleDetails(ScaleDetails scaleDetails) {
+ this.scaleDetails = scaleDetails;
+ public String getDrawingSpecification() {
+ return drawingSpecification;
+ public void setDrawingSpecification(String drawingSpecification) {
+ this.drawingSpecification = drawingSpecification;
+ public String getDemolition() {
+ return demolition;
+ public void setDemolition(String demolition) {
+ this.demolition = demolition;
@@ -0,0 +1,20 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.BudgetBook;
+ * 预算书审前审后数据 mapper
+ * @create: 2022-08-10 15:13
+@MyBatisMapper
+public interface BudgetBookMapper extends BaseMapper<BudgetBook> {
+ * 根据 projectReserveId将相关的材料拆旧清册数据清空
+ * @param projectReserveId
+ void deleteByProjectReserveId(String projectReserveId);
@@ -0,0 +1,29 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.Demolite;
+import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
+import org.apache.ibatis.annotations.Param;
+ * 拆旧材料清册 mapper
+ * @create: 2022-08-04 17:18
+public interface DemoliteMapper extends BaseMapper<Demolite> {
+ * 插入对应的项目甲供材信息
+ void insertList(@Param("list") List<Demolite> list);
@@ -0,0 +1,27 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.FeedBackBudget;
+ * 预算问题反馈记录 mapper
+ * @create: 2022-08-10 16:01
+public interface FeedBackBudgetMapper extends BaseMapper<FeedBackBudget> {
+ * 根据projectReserveId查询出相关的预算问题反馈记录
+ * @return
+ FeedBackBudget findByProjectReserveId(String projectReserveId);
@@ -0,0 +1,28 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.MaterialSupply;
+ * @create: 2022-08-12 16:58
+public interface MaterialSupplyMapper extends BaseMapper<MaterialSupply> {
+ void insertList(@Param("list") List<MaterialSupply> list);
@@ -100,4 +100,11 @@ public interface ReserveProcessProjectMapper extends BaseMapper<ReserveProcessPr
* @param key 流程定义表key标识
* */
String findDefId(String key);
+ * 通过流程定实例id查询储备人员信息
+ * @return 人员流转信息
+ * @param procInsId 流程实例id
+ ReserveProcessProject findCgUser(String procInsId);
@@ -0,0 +1,62 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummaryProcess;
+ * @create: 2022-08-03 10:13
+public interface ReserveSummaryProcessMapper extends BaseMapper<ReserveSummaryProcess> {
+ * 通过procInsId查询项目定义号
+ String findProjectId(ReserveSummaryProcess reserveProcess);
+ * 通过项目名称删除对应甲供材信息数据
+ void deleteMaterial(String projectName);
+ void insertList(@Param("list") List<MaterialInfo> list);
+ * 通过储备项目编号查询项目是否有甲供材清册
+ Integer findMaterialData(String procInsId);
+ * 修改项目设计单位信息
+ void updateDesign(ReserveSummaryProcess reserveProcess);
+ * 通过流程定义号删除流程对应信息
+ void deleteAct(String projectReserveId);
+ * 储备文件管理,
+ List<ReserveSummaryProcess> findAllUpload(ReserveSummaryProcess reserveProcess);
+ * 储备流程当前流程所有的甲供材数据
+ List<MaterialInfo> findMaterialList(MaterialInfo entity);
+ * 通过项目名称导出符合条件的数据
+ List<MaterialInfo> findMaterialActiviti(String projectName);
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.BudgetBookMapper">
+ <insert id="insert">
+ insert into cg_budget_book (
+ id,
+ create_by,
+ create_date,
+ update_by,
+ update_date,
+ del_flag,
+ projectReserveId,
+ pretrialBudgetTaxInclude,
+ pretrialBudgetTaxNoInclude,
+ pretrialSupervisionFeeTaxNoInclude,
+ pretrialDesignFeeTaxNoInclude,
+ afterTrialBudgetTaxInclude,
+ afterTrialBudgetTaxNoInclude,
+ afterTrialSupervisionFeeTaxNoInclude,
+ afterTrialDesignFeeTaxNoInclude
+ )
+ values
+ (
+ #{id},
+ #{createBy.id},
+ #{createDate},
+ #{updateBy.id},
+ #{updateDate},
+ #{delFlag},
+ #{projectReserveId},
+ #{pretrialBudgetTaxInclude},
+ #{pretrialBudgetTaxNoInclude},
+ #{pretrialSupervisionFeeTaxNoInclude},
+ #{pretrialDesignFeeTaxNoInclude},
+ #{afterTrialBudgetTaxInclude},
+ #{afterTrialBudgetTaxNoInclude},
+ #{afterTrialSupervisionFeeTaxNoInclude},
+ #{afterTrialDesignFeeTaxNoInclude}
+ </insert>
+ <delete id="deleteByProjectReserveId">
+ delete from cg_budget_book where projectReserveId = #{projectReserveId}
+ </delete>
+</mapper>
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.DemoliteMapper">
+ <insert id="insertList">
+ insert INTO cg_demolition_list(
+ name,
+ specification,
+ unit,
+ count,
+ remark
+ ) VALUES
+ <foreach collection="list" item="item" index="index" separator="," >
+ #{item.id},
+ #{item.createBy.id},
+ #{item.createDate},
+ #{item.updateBy.id},
+ #{item.updateDate},
+ #{item.delFlag},
+ #{item.name},
+ #{item.specification},
+ #{item.unit},
+ #{item.count},
+ #{item.projectReserveId},
+ #{item.remark}
+ </foreach>
+ delete from cg_demolition_list where projectReserveId = #{projectReserveId}
@@ -0,0 +1,55 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.FeedBackBudgetMapper">
+ insert into cg_feedback_on_budget (
+ preferedCase,
+ transferSituation,
+ budgetTemplateCheck,
+ quotaApplicationCheck,
+ workLoadCheck,
+ checkTheFee,
+ supplyCheck,
+ materialCheck,
+ liveWorkFeeCheck,
+ demolitionEngineeringProblems,
+ otherProblem
+ #{preferedCase},
+ #{transferSituation},
+ #{budgetTemplateCheck},
+ #{quotaApplicationCheck},
+ #{workLoadCheck},
+ #{checkTheFee},
+ #{supplyCheck},
+ #{materialCheck},
+ #{liveWorkFeeCheck},
+ #{demolitionEngineeringProblems},
+ #{otherProblem}
+ delete from cg_feedback_on_budget where projectReserveId = #{projectReserveId}
+ <select id="findByProjectReserveId"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.FeedBackBudget">
+ select * from cg_feedback_on_budget where projectReserveId = #{projectReserveId}
+ </select>
@@ -0,0 +1,33 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.MaterialSupplyMapper">
+ insert INTO cg_material_supply_online(
+ materialCode,
+ count
+ #{materialCode},
+ #{count}
+ delete from cg_material_supply_online where projectReserveId = #{projectReserveId}
@@ -489,4 +489,10 @@
where KEY_ = #{key}
and VERSION_ = (select MAX(VERSION_) FROM act_re_procdef where KEY_ = #{key})
</select>
+ <select id="findCgUser"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+ select *
+ from cg_reserve_process
+ where projectReserveId = (select projectReserveId from cg_personnel_activiti where proc_ins_id = #{procInsId})
</mapper>
@@ -0,0 +1,247 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveSummaryProcessMapper">
+ <sql id="standardColumns">
+ a.id as "id",
+ a.create_by AS "createBy.id",
+ a.create_date AS "createDate",
+ a.update_by AS "updateBy.id",
+ a.update_date AS "updateDate",
+ a.del_flag AS "delFlag",
+ a.projectReserveId,
+ a.projectName,
+ a.projectYear as 'reserveSummary.projectYear',
+ a.projectNature as 'reserveSummary.projectNature',
+ a.demandUnit as 'reserveSummary.demandUnit',
+ a.district as 'reserveSummary.district',
+ a.projectGroup as 'reserveSummary.projectGroup',
+ a.reserveBatches as 'reserveSummary.reserveBatches',
+ a.blockSupply as 'reserveSummary.blockSupply',
+ a.gridNumber as 'reserveSummary.gridNumber',
+ a.cellNumber as 'reserveSummary.cellNumber',
+ a.projectReserveId as 'reserveSummary.projectReserveId',
+ a.projectName as 'reserveSummary.projectName',
+ a.constructionNecessityAndContent as 'reserveSummary.constructionNecessityAndContent',
+ a.substationName as 'reserveSummary.substationName',
+ a.circuitName as 'reserveSummary.circuitName',
+ a.netRackProjectDivide as 'reserveSummary.netRackProjectDivide',
+ a.requirementType as 'reserveSummary.requirementType',
+ a.costEstimate as 'reserveSummary.costEstimate',
+ a.basicRemarks as 'reserveSummary.basicRemarks',
+ a.reserveProgress as 'reserveSummary.reserveProgress',
+ a.includeReserve as 'reserveSummary.includeReserve',
+ a.majorProblemClassification as 'reserveSummary.majorProblemClassification',
+ a.problemDescription as 'reserveSummary.problemDescription',
+ a.changePlan as 'reserveSummary.changePlan',
+ a.programChangeDescription as 'reserveSummary.programChangeDescription',
+ a.cancelConfirmationDepartment as 'reserveSummary.cancelConfirmationDepartment',
+ a.truthRemark as 'reserveSummary.truthRemark',
+ a.demandUnitPriority as 'reserveSummary.demandUnitPriority',
+ a.implementPlan as 'reserveSummary.implementPlan',
+ a.initialImplementBatch as 'reserveSummary.initialImplementBatch',
+ a.preliminaryConstructionUnit as 'reserveSummary.preliminaryConstructionUnit',
+ a.preliminaryConstructionUnitProjectManager as 'reserveSummary.preliminaryConstructionUnitProjectManager',
+ a.handConstructionSketches as 'reserveSummary.handConstructionSketches'
+ </sql>
+ insert into cg_personnel_activiti (
+ remarks,
+ projectReserveId)
+ values (#{id},
+ #{remarks},
+ #{projectReserveId})
+ insert INTO cg_material_data(
+ projectName,
+ materialName,
+ extendDescription ,
+ unit ,
+ totalCount,
+ weightKg,
+ weightTon,
+ supplyType,
+ note,
+ state
+ #{item.remarks},
+ #{item.projectName},
+ #{item.materialCode},
+ #{item.materialName},
+ #{item.extendDescription},
+ #{item.totalCount},
+ #{item.weightKg},
+ #{item.weightTon},
+ #{item.supplyType},
+ #{item.note},
+ #{item.state}
+ <update id="updateDesign">
+ update cg_personnel_activiti
+ set budgetStatement = #{budgetStatement},
+ projectProposal = #{projectProposal},
+ drawings = #{drawings},
+ drawingSpecification = #{drawingSpecification}
+ where projectReserveId = #{projectReserveId}
+ </update>
+ <delete id="deleteMaterial">
+ delete from cg_material_data
+ where projectName = #{projectName}
+ <delete id="deleteAct">
+ delete
+ from cg_personnel_activiti
+ <select id="findProjectId" resultType="java.lang.String">
+ select projectReserveId from cg_personnel_activiti where id = #{id};
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummaryProcess">
+ select
+ <include refid="standardColumns"/>,
+ cpa.budgetStatement,
+ cpa.projectProposal,
+ cpa.drawings,
+ cpa.drawingSpecification,
+ cpa.submittedApproval,
+ cpa.constructionCost,
+ cpa.amountFunds,
+ cpa.otherExpenses,
+ cpa.preliminaryCost,
+ cpa.investigationFee,
+ cpa.designFee,
+ cpa.supervisionFee,
+ cpa.examineIncluding,
+ cpa.deductibleTaxes,
+ cpa.examineInExcluding,
+ cpa.constructionTax,
+ cpa.amountTax,
+ cpa.otherTax,
+ cpa.preliminaryTax,
+ cpa.investigationTax,
+ cpa.designTax,
+ cpa.supervisionTax,
+ fe.preferedCase,
+ fe.transferSituation,
+ fe.budgetTemplateCheck,
+ fe.quotaApplicationCheck,
+ fe.workLoadCheck,
+ fe.checkTheFee,
+ fe.supplyCheck,
+ fe.materialCheck,
+ fe.liveWorkFeeCheck,
+ fe.demolitionEngineeringProblems,
+ fe.otherProblem
+ from cg_reserve_summary_statistics a
+ left join cg_personnel_activiti cpa on a.projectReserveId = cpa.projectReserveId
+ left join cg_feedback_on_budget fe on a.projectReserveId = fe.projectReserveId
+ where a.projectReserveId = #{projectReserveId}
+ <select id="findMaterialData" resultType="java.lang.Integer">
+ select count(id)
+ from cg_material_data
+ where projectName =
+ (select projectName from cg_reserve_summary_statistics where projectReserveId = (
+ select projectReserveId from cg_personnel_activiti where proc_ins_id = #{procInsId}))
+ <select id="findAllUpload"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummaryProcess">
+ b.id,
+ b.projectReserveId,
+ b.projectName,
+ a.budgetStatement,
+ a.projectProposal,
+ a.drawings,
+ a.drawingSpecification
+ from cg_personnel_activiti a
+ left join cg_reserve_summary_statistics b on a.projectReserveId = b.projectReserveId
+ <where>
+ 1=1
+ <if test="projectReserveId!=null and projectReserveId !=''">
+ and b.projectReserveId = #{projectReserveId}
+ </if>
+ </where>
+ <select id="findMaterialList"
+ resultType="com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo">
+ SELECT
+ a.id AS "id",
+ a.remarks AS "remarks",
+ a.projectName AS "projectName",
+ a.materialCode AS "materialCode",
+ a.materialName AS "materialName",
+ a.extendDescription AS "extendDescription",
+ a.unit AS "unit",
+ a.totalCount AS "totalCount",
+ a.weightKg AS "weightKg",
+ a.weightTon AS "weightTon",
+ a.supplyType AS "supplyType",
+ a.note AS "note",
+ a.state AS "state"
+ FROM cg_material_data a
+ <if test="projectName!=null and projectName != ''">
+ and a.projectName = #{projectName}
+ <select id="findMaterialActiviti"
+ extendDescription,
+ from
+ cg_material_data
@@ -84,8 +84,7 @@
initialImplementBatch,
preliminaryConstructionUnit,
preliminaryConstructionUnitProjectManager,
- handConstructionSketches,
- openProcessStatus
+ handConstructionSketches
)
values
(
@@ -126,8 +125,7 @@
#{initialImplementBatch},
#{preliminaryConstructionUnit},
#{preliminaryConstructionUnitProjectManager},
- #{handConstructionSketches},
- #{openProcessStatus}
+ #{handConstructionSketches}
</insert>
@@ -0,0 +1,37 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.BudgetBookMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+ * @create: 2022-08-10 15:21
+@Service
+@Transactional(readOnly = true)
+public class BudgetBookService extends CrudService<BudgetBookMapper, BudgetBook> {
+ @Autowired
+ private BudgetBookMapper dao;
+ * 新增方法
+ * @param entity
+ @Transactional(readOnly = false)
+ public void save(BudgetBook entity) {
+ entity.preInsert();
+ mapper.insert(entity);
+ public void deleteByProjectReserveId(String projectReserveId){
+ dao.deleteByProjectReserveId(projectReserveId);
@@ -0,0 +1,41 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.DemoliteMapper;
+import org.activiti.engine.TaskService;
+ * @create: 2022-08-04 17:49
+public class DemoliteService extends CrudService<DemoliteMapper, Demolite> {
+ private DemoliteMapper dao;
+ private TaskService taskService;
+ public void insertList(@Param("list") List<Demolite> list){
+ for(Demolite maintainData : list){
+ maintainData.preInsert();
+ dao.insertList(list);
@@ -0,0 +1,40 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.FeedBackBudgetMapper;
+ * 预算问题反馈记录 service
+ * @create: 2022-08-10 16:11
+public class FeedBackBudgetService extends CrudService<FeedBackBudgetMapper, FeedBackBudget> {
+ private FeedBackBudgetMapper dao;
+ public void save(FeedBackBudget entity) {
+ public FeedBackBudget findByProjectReserveId(String projectReserveId){
+ return dao.findByProjectReserveId(projectReserveId);
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.MaterialSupplyMapper;
+ * @create: 2022-08-12 17:06
+public class MaterialSupplyService extends CrudService<MaterialSupplyMapper, MaterialSupply> {
+ private MaterialSupplyMapper dao;
+ public void insertList(@Param("list") List<MaterialSupply> list){
+ for(MaterialSupply maintainData : list){
@@ -4,9 +4,7 @@ import com.jeeplus.core.persistence.Page;
import com.jeeplus.core.service.CrudService;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveProcessProjectMapper;
-import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ExportScheme;
import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ProgressSchedule;
-import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -184,4 +182,11 @@ public class ReserveProcessProjectService extends CrudService<ReserveProcessProj
public String findDefId(String key) {
return dao.findDefId(key);
+ public ReserveProcessProject findCgUser(String procInsId) {
+ return dao.findCgUser(procInsId);
@@ -0,0 +1,356 @@
+import com.google.common.collect.Maps;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.*;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveSummaryProcessMapper;
+import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
+import com.jeeplus.modules.sg.managementcenter.materialinfo.util.MaterialInfoUtil;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.ss.usermodel.Row;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+ * @create: 2022-08-03 10:15
+public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProcessMapper, ReserveSummaryProcess> {
+ private SummaryStatisticService statisticService;
+ private BudgetBookService budgetBookService;
+ private FeedBackBudgetService budgetService;
+ public void insert(ReserveSummaryProcess entity) {
+ public void deleteAct(String projectReserveId) {
+ mapper.deleteAct(projectReserveId);
+ @Override
+ public ReserveSummaryProcess get(String id) {
+ ReserveSummaryProcess entity = new ReserveSummaryProcess();
+ entity.setId(id);
+ String projectId = mapper.findProjectId(entity);
+ ReserveSummaryProcess reserveProcess = mapper.get(projectId);
+ return reserveProcess;
+ *在年度物资上报统计表中保存项目信息,在年度上报明细表中保存物资信息
+ public void saveData(MultipartFile file) throws IOException, InvalidFormatException {
+ ImportExcel module = new ImportExcel(file,1,"模块表");
+ Row row = module.getRow(0);
+ Object obj = module.getCellValue(row, 1);
+ if(obj==null){
+ throw new RuntimeException("找不到项目名称!");
+ String projectName = ((String) obj).trim();
+ //删除对应项目名称的甲供材信息
+ mapper.deleteMaterial(projectName);
+ ImportExcel pick = new ImportExcel(file,7,"领料清单");
+ List<MaterialInfo> materialInfos = MaterialInfoUtil.getCbData(pick,projectName); //获取领料清单数据
+ List<MaterialInfo> list = MaterialInfoUtil.combineData(materialInfos); //合并数据
+ //通过甲供材信息比对物料规范获得项目建设规模
+ saveList(list);
+ public void saveList(List<MaterialInfo> list) {
+ for(MaterialInfo maintainData : list){
+ mapper.insertList(list);
+ private String returnKva(String materialDescription) {
+ if (null != materialDescription && !"".equals(materialDescription)) {
+ boolean kVA = materialDescription.contains("kVA");
+ if (kVA) {
+ int kVA1 = materialDescription.lastIndexOf("kVA");
+ String substring = materialDescription.substring(kVA1 - 3, kVA1+3);
+ return substring;
+ return "";
+ public Integer findMaterialData(String procInsId) {
+ return mapper.findMaterialData(procInsId);
+ public void updateDesign(ReserveSummaryProcess reserveProcess) {
+ mapper.updateDesign(reserveProcess);
+ * 设计单位判定是否关闭
+ public void actDesignUnit(Act act, ReserveSummaryProcess reserveProcess) {
+ // 对不同环节的业务逻辑进行操作
+ String taskDefKey = act.getTaskDefKey();
+ //提交流程任务
+ Map<String, Object> vars = Maps.newHashMap();
+ ReserveProcessProject user = MyActiviUtils.findCgUser(act.getProcInsId());
+ //候选人
+ List list = new ArrayList<>();
+ list.add(UserUtils.getByUserName(user.getOwnerProjectManager()).getLoginName());
+ list.add(UserUtils.getByUserName(user.getOwnerReserveFullTime()).getLoginName());
+ vars.put("person",list);
+ //指定代理人
+ vars.put("manager",UserUtils.getByUserName(user.getOwnerProjectManager()).getLoginName());
+ // 提交流程任务
+ complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+ * 提交任务, 并保存意见
+ *
+ * @param taskId 任务ID
+ * @param procInsId 流程实例ID,如果为空,则不保存任务提交意见
+ * @param comment 任务提交意见的内容
+ * @param vars 任务变量
+ public void complete(String taskId, String procInsId, String comment, Map<String, Object> vars) {
+ complete(taskId, procInsId, comment, "", vars);
+ public void complete(String taskId, String procInsId, String comment, String title, Map<String, Object> vars) {
+ // 添加意见
+ if (StringUtils.isNotBlank(procInsId) && StringUtils.isNotBlank(comment)) {
+ taskService.addComment(taskId, procInsId, comment);
+ // 设置流程变量
+ if (vars == null) {
+ vars = Maps.newHashMap();
+ // 设置流程标题
+ if (StringUtils.isNotBlank(title)) {
+ vars.put("title", title);
+ // 提交任务
+ taskService.complete(taskId, vars);
+ public Page<ReserveSummaryProcess> findAllUploadPage(Page<ReserveSummaryProcess> page, ReserveSummaryProcess entity) {
+ dataRuleFilter(entity);
+ entity.setPage(page);
+ page.setList(mapper.findAllUpload(entity));
+ return page;
+ public Page<MaterialInfo> findMaterialPage(Page<MaterialInfo> page, MaterialInfo entity) {
+ page.setList(mapper.findMaterialList(entity));
+ public List<MaterialInfo> findMaterialActiviti(String projectName) {
+ return mapper.findMaterialActiviti(projectName);
+ * 项目经理判定是否通过
+ public void actDrawingReview(Act act) {
+ String flag = act.getFlag();
+ //签收
+ /*taskService.claim(act.getTaskId(),UserUtils.getByUserName(user.getOwnerProjectManager()).getId());
+ logger.info(taskService.createTaskQuery().singleResult().getAssignee());
+ act.preUpdate();*/
+ if ("yes".equals(flag)) {
+ //通过流程到-设计人员上传预算书、项目建议书/可研报告、设计说明书
+ vars.put("manager", UserUtils.getByUserName(user.getDesigner()).getLoginName());
+ vars.put("pass",true);
+ vars.put("no",false);
+ vars.put("rural",false);
+ vars.put("tg",false);
+ } else if ("disagree".equals(flag)){
+ //不通过-回到上一个流程
+ vars.put("pass",false);
+ vars.put("tg",true);
+ } else if ("cancel".equals(flag)){
+ //取消-项目取消,修改第六张表的状态
+ //先把表的状态改为取消
+ ReserveSummary reserveSummary = new ReserveSummary();
+ reserveSummary.setProjectReserveId(user.getProjectReserveId());
+ ReserveSummary summary = statisticService.queryByProjectReserveId(reserveSummary);
+ summary.setIncludeReserve("取消");
+ statisticService.update(summary);
+ vars.put("no",true);
+ } else if ("pending".equals(flag)){
+ //待定 修改第六张表的状态
+ summary.setIncludeReserve("待定");
+ vars.put("rural",true);
+ act.preUpdate();
+ //查询出未完成的任务
+ /*List<Task> list = taskService.createTaskQuery().processInstanceId(act.getProcInsId()).list();
+ //将联合审图中未完成的任务设置为完成状态
+ taskService.complete(list.get(0).getId());*/
+ //完成后不显示给该用户
+// taskService.deleteTask(list.get(0).getId(),true);
+ * 技经人员判定是否关闭
+ public void actBudgetUnit(Act act,ReserveSummaryProcess reserveProcess) {
+ String projectReserveId = "";
+ String budgetRevision = "";
+ //修改储备项目概预算统计表的-是否完成概算修改 和 概算修改完成时间字段
+ //根据项目储备编号修改 是否完成概算修改状态
+ projectReserveId = reserveProcess.getProjectReserveId();
+ budgetRevision = "无需修改";
+ //将预算书审前审后数据放入数据库
+ BudgetBook budgetBook = new BudgetBook();
+ budgetBook.setProjectReserveId(reserveProcess.getProjectReserveId());
+ budgetBook.setPretrialBudgetTaxInclude(reserveProcess.getPretrialBudgetTaxInclude());
+ budgetBook.setPretrialBudgetTaxNoInclude(reserveProcess.getPretrialBudgetTaxNoInclude());
+ budgetBook.setPretrialSupervisionFeeTaxNoInclude(reserveProcess.getPretrialSupervisionFeeTaxNoInclude());
+ budgetBook.setPretrialDesignFeeTaxNoInclude(reserveProcess.getPretrialDesignFeeTaxNoInclude());
+ budgetBook.setAfterTrialBudgetTaxInclude(reserveProcess.getAfterTrialBudgetTaxInclude());
+ budgetBook.setAfterTrialBudgetTaxNoInclude(reserveProcess.getAfterTrialBudgetTaxNoInclude());
+ budgetBook.setAfterTrialSupervisionFeeTaxNoInclude(reserveProcess.getAfterTrialSupervisionFeeTaxNoInclude());
+ budgetBook.setAfterTrialDesignFeeTaxNoInclude(reserveProcess.getAfterTrialDesignFeeTaxNoInclude());
+ //插入前先清空该项目相关的预算书数据
+ budgetBookService.deleteByProjectReserveId(budgetBook.getProjectReserveId());
+ //插入
+ budgetBookService.save(budgetBook);
+ } else if ("no".equals(flag)){
+ budgetRevision = "修改中";
+ //将预算问题反馈记录保存到数据库
+ FeedBackBudget budget = new FeedBackBudget();
+ budget.setProjectReserveId(reserveProcess.getProjectReserveId());
+ budget.setPreferedCase(reserveProcess.getPreferedCase());
+ budget.setTransferSituation(reserveProcess.getTransferSituation());
+ budget.setBudgetTemplateCheck(reserveProcess.getBudgetTemplateCheck());
+ budget.setQuotaApplicationCheck(reserveProcess.getQuotaApplicationCheck());
+ budget.setWorkLoadCheck(reserveProcess.getWorkLoadCheck());
+ budget.setCheckTheFee(reserveProcess.getCheckTheFee());
+ budget.setSupplyCheck(reserveProcess.getSupplyCheck());
+ budget.setMaterialCheck(reserveProcess.getMaterialCheck());
+ budget.setLiveWorkFeeCheck(reserveProcess.getLiveWorkFeeCheck());
+ budget.setDemolitionEngineeringProblems(reserveProcess.getDemolitionEngineeringProblems());
+ budget.setOtherProblem(reserveProcess.getOtherProblem());
+ budgetService.deleteByProjectReserveId(budget.getProjectReserveId());
+ budgetService.save(budget);
+ //设置完成时间
+ Date date = new Date();
+ DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String time = format.format(date);
@@ -648,10 +648,6 @@ public class ReserveProcessProjectExportUtil {
Cell cell38 = crateCell(workbook,row,38); //需求单位优先级
Cell cell39 = crateCell(workbook,row,39); //需求单位优先级
ReserveSummary reserveManagement = list.get(i);
cell0.setCellValue(String.valueOf(index++));
@@ -1,14 +1,9 @@
package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.*;
-import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
-import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
-import com.jeeplus.modules.sg.managementcenter.reserveManagement.utils.ReserveManagementUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Row;
-import org.springframework.beans.factory.annotation.Autowired;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -661,4 +656,29 @@ public class ReserveProcessProjectProUtil {
return list;
+ * 获取储备项目政策处理信息表格数据
+ * @param importUtil
+ * @return List<ReserveManagementMapper> 导入表格数据
+ public static List<Demolite> getDemoliteUtil(ImportUtil importUtil,String projectReserveId) throws ParseException {
+ int lastRow = importUtil.getLastDataRowNum();
+ List<Demolite> list = new ArrayList<Demolite>();
+ Demolite reserveManagement = null;
+ for(int i=1; i<=lastRow;i++){
+ reserveManagement = new Demolite();
+ Row row = importUtil.getRow(i);
+ reserveManagement.setName((String) importUtil.getCellValue(row,1));
+ reserveManagement.setSpecification((String) importUtil.getCellValue(row,2));
+ reserveManagement.setUnit((String) importUtil.getCellValue(row,3));
+ reserveManagement.setCount((String) importUtil.getCellValue(row,4));
+ reserveManagement.setRemark((String) importUtil.getCellValue(row,5));
+ reserveManagement.setProjectReserveId(projectReserveId);
+ list.add(reserveManagement);
+ return list;
@@ -0,0 +1,331 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+import com.jeeplus.common.config.Global;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.DateUtils;
+import com.jeeplus.common.utils.excel.ExportExcel;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.DemoliteService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.FeedBackBudgetService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.MaterialSupplyService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveSummaryProcessService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveProcess;
+import com.jeeplus.modules.sg.raiseCapital.service.RaiseCapitalService;
+import org.springframework.mock.web.MockMultipartFile;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+import java.io.File;
+import java.io.FileInputStream;
+ * @create: 2022-08-03 10:33
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/process")
+public class ProcessController extends BaseController {
+ private ReserveSummaryProcessService reserveProcessService;
+ private DemoliteService demoliteService;
+ private RaiseCapitalService raiseCapitalService;
+ private MaterialSupplyService materialSupplyService;
+ @ModelAttribute
+ public ReserveSummaryProcess get(@RequestParam(required = false) String id) {
+ ReserveSummaryProcess entity = null;
+ if (StringUtils.isNotBlank(id)) {
+ entity = reserveProcessService.get(id);
+ if (entity == null) {
+ entity = new ReserveSummaryProcess();
+ return entity;
+ * 设计单位审核
+ @RequestMapping(value = "designUnit")
+ public String designUnit(ReserveSummaryProcess reserveProcess, Model model) {
+ model.addAttribute("reserveProcess", reserveProcess);
+ return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/designUnit";
+ * 设计单位审核-上传预算书
+ @RequestMapping(value = "designUnitAgain")
+ public String designUnitAgain(ReserveSummaryProcess reserveProcess, Model model) {
+ return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/designUnitAgain";
+ * 设计单位审核-上传预算书,查看驳回意见
+ @RequestMapping(value = "designUnitAgainTwo")
+ public String designUnitAgainTwo(ReserveSummaryProcess reserveProcess, Model model) {
+ return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/designUnitAgainTwo";
+ * 联合审图(储备专职/配网项目经理)
+ @RequestMapping(value = "drawingReview")
+ public String drawingReview(ReserveSummaryProcess reserveProcess, Model model) {
+ return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/drawingReview";
+ * 技经人员审预算
+ @RequestMapping(value = "budgetReview")
+ public String budgetReview(ReserveSummaryProcess reserveProcess, Model model) {
+ reserveProcess.setPreferedCase("");
+ reserveProcess.setTransferSituation("");
+ reserveProcess.setBudgetTemplateCheck("");
+ reserveProcess.setQuotaApplicationCheck("");
+ reserveProcess.setWorkLoadCheck("");
+ reserveProcess.setCheckTheFee("");
+ reserveProcess.setSupplyCheck("");
+ reserveProcess.setMaterialCheck("");
+ reserveProcess.setLiveWorkFeeCheck("");
+ reserveProcess.setDemolitionEngineeringProblems("");
+ reserveProcess.setOtherProblem("");
+ return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/budgetReview";
+ * 年度物资上报明细 多文件导入验证
+ @ResponseBody
+ @RequestMapping(value = "importCGValidations")
+ public AjaxJson importCGValidations(@RequestParam("file") MultipartFile[] file) {
+ AjaxJson j = new AjaxJson();
+ try {
+ for (int k = 0; k < file.length; k++) {
+ reserveProcessService.saveData(file[k]);
+ j.setSuccess(true);
+ j.setErrorCode("0");
+ j.setMsg("导入成功");
+ } catch (Exception e) {
+ j.setMsg("导入失败!失败信息:" + e.getMessage());
+ return j;
+ /***
+ @RequestMapping(value = "actDesignUnit")
+ public AjaxJson actDesignUnit(Act act, ReserveSummaryProcess reserveProcess) throws Exception {
+ if (reserveProcess.getDemolition() != null) {
+ //在将拆旧清册数据存入数据库前先查出库中有没有这个project ReserveId的相关数据
+ String projectReserveId = reserveProcess.getProjectReserveId();
+ demoliteService.deleteByProjectReserveId(projectReserveId);
+ //获取拆旧清册数据
+ File file = new File(reserveProcess.getDemolition());
+ System.out.println("file.getAbsolutePath():" + file.getAbsolutePath());
+ String path = file.getAbsolutePath().replace("\\a", "");
+ System.out.println("path: " + path);
+ File demoFile = new File(path);
+ InputStream inputStream = new FileInputStream(demoFile);
+ MultipartFile multipartFile = new MockMultipartFile("file", demoFile.getName(), null, inputStream);
+ ImportUtil importUtil = new ImportUtil(multipartFile, 0, 0);
+ //获取导入表格所有数据
+ List<Demolite> reserveManagementList = ReserveProcessProjectProUtil.getDemoliteUtil(importUtil, projectReserveId);
+ //将数据存入数据库
+ demoliteService.insertList(reserveManagementList);
+ String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+ act.setComment(comment);
+ //通过流程流程定义号查询项目编码,查询是否存在甲供材信息
+ Integer materialData = reserveProcessService.findMaterialData(act.getProcInsId());
+ if (materialData <= 0) {
+ j.setMsg("该项目没有甲供材清册");
+ j.setSuccess(false);
+ } else {
+ //修改项目设计单位上传文件部分
+ reserveProcessService.updateDesign(reserveProcess);
+ reserveProcessService.actDesignUnit(act, reserveProcess);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ j.setMsg("审批成功");
+ * 储备流程,文件显示管理
+ @RequestMapping(value = "allUploadData")
+ public Map<String, Object> allUploadData(ReserveSummaryProcess reserveProcess, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<ReserveSummaryProcess> page = reserveProcessService.findAllUploadPage(new Page<ReserveSummaryProcess>(request, response), reserveProcess);
+ //当判定系统为linux的时候
+ if (Global.SYS_TYPE.equals("2")) {
+ List<ReserveSummaryProcess> list = page.getList();
+ for (ReserveSummaryProcess upload :
+ list) {
+ String a = "";
+ String b = "";
+ String c = "";
+ String d = "";
+ String path = upload.getBudgetStatement();
+ if (null != path && !"".equals(path)) {
+ String[] split = path.split("\\|");
+ for (int i = 0; i < split.length; i++) {
+ a += "http://" + request.getServerName() + split[i] + "|";
+ upload.setBudgetStatement(a);
+ String projectProposal = upload.getProjectProposal();
+ if (null != projectProposal && !"".equals(projectProposal)) {
+ String[] split1 = projectProposal.split("\\|");
+ for (int i = 0; i < split1.length; i++) {
+ b += "http://" + request.getServerName() + split1[i] + "|";
+ upload.setProjectProposal(b);
+ String drawings = upload.getDrawings();
+ if (null != drawings && !"".equals(drawings)) {
+ String[] split2 = drawings.split("\\|");
+ for (int i = 0; i < split2.length; i++) {
+ c += "http://" + request.getServerName() + split2[i] + "|";
+ upload.setDrawings(c);
+ String drawingSpecification = upload.getDrawingSpecification();
+ if (null != drawingSpecification && !"".equals(drawingSpecification)) {
+ String[] split3 = drawingSpecification.split("\\|");
+ for (int i = 0; i < split3.length; i++) {
+ d += "http://" + request.getServerName() + split3[i] + "|";
+ upload.setDrawingSpecification(d);
+ return getBootstrapData(page);
+ * 甲供材 列表数据
+ @RequestMapping(value = "materialData")
+ public Map<String, Object> data(MaterialInfo materialInfo, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<MaterialInfo> page = reserveProcessService.findMaterialPage(new Page<MaterialInfo>(request, response), materialInfo);
+ @RequestMapping(value = "exportAct")
+ public AjaxJson exportAct(String projectName, ReserveProcess reserveProcess, HttpServletRequest request, HttpServletResponse response) {
+ String fileName = "甲供材清册" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
+ List<MaterialInfo> list = reserveProcessService.findMaterialActiviti(projectName);
+ new ExportExcel("甲供材清册", MaterialInfo.class).setDataList(list).write(response, fileName).dispose();
+ j.setMsg("导出成功!");
+ j.setMsg("导出甲供材清册失败!失败信息:" + e.getMessage());
+ @RequestMapping(value = "actDrawingReview")
+ public AjaxJson actDrawingReview(Act act) {
+ reserveProcessService.actDrawingReview(act);
+ * 技经人员审核
+ @RequestMapping(value = "actBudgetUnit")
+ public AjaxJson actBudgetUnit(Act act, ReserveSummaryProcess reserveProcess) throws Exception {
+ reserveProcessService.actBudgetUnit(act,reserveProcess);
+ @RequestMapping(value = "saveJgc")
+ public void saveJgc(@RequestBody List<MaterialSupply> materialSupplyList){
+ materialSupplyService.insertList(materialSupplyList);
@@ -4,23 +4,21 @@ import com.google.common.collect.Maps;
import com.jeeplus.common.utils.DateUtils;
import com.jeeplus.common.utils.StringUtils;
-import com.jeeplus.common.utils.excel.ImportExcel;
import com.jeeplus.core.persistence.Page;
import com.jeeplus.core.web.BaseController;
import com.jeeplus.modules.act.service.ActProcessService;
import com.jeeplus.modules.act.service.ActTaskService;
-import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessEntity;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.SummaryStatisticService;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.BudgetStatsService;
-import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.PersonnelTurnover;
-import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveProcess;
import com.jeeplus.modules.sg.managementcenter.reserveManagement.service.PersonnelTurnoverService;
-import com.jeeplus.modules.sg.managementcenter.reserveManagement.service.ReserveProcessService;
import com.jeeplus.modules.sys.utils.UserUtils;
import org.activiti.engine.repository.ProcessDefinition;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -39,7 +37,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
-import java.util.UUID;
* 储备项目交底信息汇总统计 controller
@@ -66,7 +63,10 @@ public class SummaryStatisticController extends BaseController {
private ActTaskService actTaskService;
@Autowired
- private ReserveProcessService reserveProcessService;
+ private BudgetStatsService statsService;
@ModelAttribute
@@ -238,28 +238,61 @@ public class SummaryStatisticController extends BaseController {
//已存在数据
List<ReserveSummary> existList = (List<ReserveSummary>) map.get("exist");
- for (ReserveSummary s : withoutList){
- s.preInsert();
- s.setOpenProcessStatus("1");
- System.out.println("ReserveSummary:" + s);
- statisticService.insert(s);
- ReserveProcess reserveProcess = new ReserveProcess();
- reserveProcess.preInsert();
- reserveProcess.setProjectReserveId(s.getProjectReserveId());
- //发送流程,更改项目状态
- Map<String, Object> vars = Maps.newHashMap();
- ReserveProcessProject processProject = projectService.queryByProjectId(s.getProjectReserveId());
- vars.put("manager", UserUtils.getByUserName(processProject.getDesigner()).getLoginName());
- String procDefId = projectService.findDefId("test");
- ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
- String title = s.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
- actTaskService.startProcess(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
+ if (withoutList.size()>0){
+ for (ReserveSummary s : withoutList){
+ /*s.setOpenProcessStatus("1");
+ System.out.println("ReserveSummary:" + s);*/
+ statisticService.insert(s);
+ if (s.getIncludeReserve().equals("是")){
+ ReserveSummaryProcess reserveProcess = new ReserveSummaryProcess();
+ reserveProcess.preInsert();
+ reserveProcess.setProjectReserveId(s.getProjectReserveId());
+ //更新
+ reserveProcessService.insert(reserveProcess);
+ //发送流程,更改项目状态
+ ReserveProcessProject processProject = projectService.queryByProjectId(s.getProjectReserveId());
+ //审核代理人
+ vars.put("manager", UserUtils.getByUserName(processProject.getDesigner()).getLoginName());
+ String procDefId = projectService.findDefId("cblc");
+ ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
+ String title = s.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+ actTaskService.startProcess(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
+ /*int count = statsService.selectCount(reserveProcess.getProjectReserveId());
+ if (count>0){
+ statsService.updateStats("设计单位在线开甲供材",null,null,reserveProcess.getProjectReserveId());
+ //对已存在的数据进行修改
+ if(existList.size()>0){
+ for (ReserveSummary reserveManagement : existList) {
+ //去掉之前的流程,重新开始流程
+ reserveProcessService.deleteAct(reserveManagement.getProjectReserveId());
+ statisticService.update(reserveManagement);
+ if (reserveManagement.getIncludeReserve().equals("是")){
+ reserveProcess.setProjectReserveId(reserveManagement.getProjectReserveId());
+ ReserveProcessProject processProject = projectService.queryByProjectId(reserveManagement.getProjectReserveId());
+ String title = reserveManagement.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+ actTaskService.startProcessNew(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
int i = withoutList.size() + existList.size();
j.setMsg("已成功导入" + i + "条项目储备信息记录");
@@ -307,12 +340,4 @@ public class SummaryStatisticController extends BaseController {
return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByzz";
- /**
- * 设计单位审核
- * */
- @RequestMapping(value = "designUnit")
- public String designUnit(ReserveProcess reserveProcess, Model model) {
- model.addAttribute("reserveProcess", reserveProcess);
- return "modules/sg/managementcenter/reserveManagement/designUnit";
@@ -0,0 +1,402 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity;
+ * 储备项目概预算统计表
+ * @create: 2022-08-16 09:11
+public class BudgetStats extends DataEntity<BudgetStats> {
+ private String reserveProgress; //储备进度
+ private String implementPlan; //是否纳入实施计划
+ private String implementBatch; //初定实施批次
+ private String pretrialEstimateAmount; //概算信息(审前)- 总概算金额(含税)
+ private String pretrialEstimateAmountExcludeTax; //概算信息(审前)- 总概算金额(不含税)
+ private String pretrialDeductibleAmount; //概算信息(审前)- 可抵扣金额(税金)
+ private String pretrialConstructeConsts; //概算信息(审前)- 施工费(含税)
+ private String pretrialMaterialAmount; //概算信息(审前)- 甲供物资金额(含税)
+ private String pretrialOtherExpanses; //概算信息(审前)- 其他费用(含税)
+ private String pretrialPreliminaryConstructeFee; //概算信息(审前)- 前期工程费(含税)
+ private String pretrialSurveyFee; //概算信息(审前)- 勘察费(含税)
+ private String pretrialDesignFee; //概算信息(审前)- 设计费(含税)
+ private String pretrialSupervisionFee; //概算信息(审前)- 监理费(含税)
+ private String afterTrialEstimateAmount; //概算信息(审后)- 总概算金额(含税)
+ private String afterTrialEstimateAmountExcludeTax; //概算信息(审后)- 总概算金额(不含税)
+ private String afterTrialDeductibleAmount; //概算信息(审后)- 可抵扣金额(税金)
+ private String afterTrialConstructeConsts; //概算信息(审后)- 施工费(含税)
+ private String afterTrialMaterialAmount; //概算信息(审后)- 甲供物资金额(含税)
+ private String afterTrialOtherExpanses; //概算信息(审后)- 其他费用(含税)
+ private String afterTrialPreliminaryConstructeFee; //概算信息(审后)- 前期工程费(含税)
+ private String afterTrialSurveyFee; //概算信息(审后)- 勘察费(含税)
+ private String afterTrialDesignFee; //概算信息(审后)- 设计费(含税)
+ private String afterTrialSupervisionFee; //概算信息(审后)- 监理费(含税)
+ private String budgetRevision; //是否完成概算修改
+ private String completeTime; //概算修改完成时间
+ //储备项目基本信息
+ private String projectYear; //项目年份
+ private String projectNature; //项目性质
+ private String demandUnit; //需求单位
+ private String district; //区域
+ private String projectGroup; //项目分组
+ private String reserveBatches; //储备批次
+ private String blockSupply; //供电区域
+ private String gridNumber; //网格编号
+ private String cellNumber; //单元格编号
+ private String projectName; //项目名称
+ private String constructionNecessityAndContent; //建设必要性及内容
+ private String substationName; //变电站名称
+ private String circuitName; //线路名称
+ private String netRackProjectDivide; //网架项目划分
+ private String requirementType; //需求类型
+ private String costEstimate; //费用估算
+ private String basicRemarks; //备注
+ public String getReserveProgress() {
+ return reserveProgress;
+ public void setReserveProgress(String reserveProgress) {
+ this.reserveProgress = reserveProgress;
+ public String getImplementPlan() {
+ return implementPlan;
+ public void setImplementPlan(String implementPlan) {
+ this.implementPlan = implementPlan;
+ public String getImplementBatch() {
+ return implementBatch;
+ public void setImplementBatch(String implementBatch) {
+ this.implementBatch = implementBatch;
+ public String getPretrialEstimateAmount() {
+ return pretrialEstimateAmount;
+ public void setPretrialEstimateAmount(String pretrialEstimateAmount) {
+ this.pretrialEstimateAmount = pretrialEstimateAmount;
+ public String getPretrialEstimateAmountExcludeTax() {
+ return pretrialEstimateAmountExcludeTax;
+ public void setPretrialEstimateAmountExcludeTax(String pretrialEstimateAmountExcludeTax) {
+ this.pretrialEstimateAmountExcludeTax = pretrialEstimateAmountExcludeTax;
+ public String getPretrialDeductibleAmount() {
+ return pretrialDeductibleAmount;
+ public void setPretrialDeductibleAmount(String pretrialDeductibleAmount) {
+ this.pretrialDeductibleAmount = pretrialDeductibleAmount;
+ public String getPretrialConstructeConsts() {
+ return pretrialConstructeConsts;
+ public void setPretrialConstructeConsts(String pretrialConstructeConsts) {
+ this.pretrialConstructeConsts = pretrialConstructeConsts;
+ public String getPretrialMaterialAmount() {
+ return pretrialMaterialAmount;
+ public void setPretrialMaterialAmount(String pretrialMaterialAmount) {
+ this.pretrialMaterialAmount = pretrialMaterialAmount;
+ public String getPretrialOtherExpanses() {
+ return pretrialOtherExpanses;
+ public void setPretrialOtherExpanses(String pretrialOtherExpanses) {
+ this.pretrialOtherExpanses = pretrialOtherExpanses;
+ public String getPretrialPreliminaryConstructeFee() {
+ return pretrialPreliminaryConstructeFee;
+ public void setPretrialPreliminaryConstructeFee(String pretrialPreliminaryConstructeFee) {
+ this.pretrialPreliminaryConstructeFee = pretrialPreliminaryConstructeFee;
+ public String getPretrialSurveyFee() {
+ return pretrialSurveyFee;
+ public void setPretrialSurveyFee(String pretrialSurveyFee) {
+ this.pretrialSurveyFee = pretrialSurveyFee;
+ public String getPretrialDesignFee() {
+ return pretrialDesignFee;
+ public void setPretrialDesignFee(String pretrialDesignFee) {
+ this.pretrialDesignFee = pretrialDesignFee;
+ public String getPretrialSupervisionFee() {
+ return pretrialSupervisionFee;
+ public void setPretrialSupervisionFee(String pretrialSupervisionFee) {
+ this.pretrialSupervisionFee = pretrialSupervisionFee;
+ public String getAfterTrialEstimateAmount() {
+ return afterTrialEstimateAmount;
+ public void setAfterTrialEstimateAmount(String afterTrialEstimateAmount) {
+ this.afterTrialEstimateAmount = afterTrialEstimateAmount;
+ public String getAfterTrialEstimateAmountExcludeTax() {
+ return afterTrialEstimateAmountExcludeTax;
+ public void setAfterTrialEstimateAmountExcludeTax(String afterTrialEstimateAmountExcludeTax) {
+ this.afterTrialEstimateAmountExcludeTax = afterTrialEstimateAmountExcludeTax;
+ public String getAfterTrialDeductibleAmount() {
+ return afterTrialDeductibleAmount;
+ public void setAfterTrialDeductibleAmount(String afterTrialDeductibleAmount) {
+ this.afterTrialDeductibleAmount = afterTrialDeductibleAmount;
+ public String getAfterTrialConstructeConsts() {
+ return afterTrialConstructeConsts;
+ public void setAfterTrialConstructeConsts(String afterTrialConstructeConsts) {
+ this.afterTrialConstructeConsts = afterTrialConstructeConsts;
+ public String getAfterTrialMaterialAmount() {
+ return afterTrialMaterialAmount;
+ public void setAfterTrialMaterialAmount(String afterTrialMaterialAmount) {
+ this.afterTrialMaterialAmount = afterTrialMaterialAmount;
+ public String getAfterTrialOtherExpanses() {
+ return afterTrialOtherExpanses;
+ public void setAfterTrialOtherExpanses(String afterTrialOtherExpanses) {
+ this.afterTrialOtherExpanses = afterTrialOtherExpanses;
+ public String getAfterTrialPreliminaryConstructeFee() {
+ return afterTrialPreliminaryConstructeFee;
+ public void setAfterTrialPreliminaryConstructeFee(String afterTrialPreliminaryConstructeFee) {
+ this.afterTrialPreliminaryConstructeFee = afterTrialPreliminaryConstructeFee;
+ public String getAfterTrialSurveyFee() {
+ return afterTrialSurveyFee;
+ public void setAfterTrialSurveyFee(String afterTrialSurveyFee) {
+ this.afterTrialSurveyFee = afterTrialSurveyFee;
+ public String getAfterTrialDesignFee() {
+ return afterTrialDesignFee;
+ public void setAfterTrialDesignFee(String afterTrialDesignFee) {
+ this.afterTrialDesignFee = afterTrialDesignFee;
+ public String getAfterTrialSupervisionFee() {
+ return afterTrialSupervisionFee;
+ public void setAfterTrialSupervisionFee(String afterTrialSupervisionFee) {
+ this.afterTrialSupervisionFee = afterTrialSupervisionFee;
+ public String getBudgetRevision() {
+ return budgetRevision;
+ public void setBudgetRevision(String budgetRevision) {
+ this.budgetRevision = budgetRevision;
+ public String getCompleteTime() {
+ return completeTime;
+ public void setCompleteTime(String completeTime) {
+ this.completeTime = completeTime;
+ public String getProjectYear() {
+ return projectYear;
+ public void setProjectYear(String projectYear) {
+ this.projectYear = projectYear;
+ 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 getBlockSupply() {
+ return blockSupply;
+ public void setBlockSupply(String blockSupply) {
+ this.blockSupply = blockSupply;
+ public String getGridNumber() {
+ return gridNumber;
+ public void setGridNumber(String gridNumber) {
+ this.gridNumber = gridNumber;
+ public String getCellNumber() {
+ return cellNumber;
+ public void setCellNumber(String cellNumber) {
+ this.cellNumber = cellNumber;
+ public String 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 getRequirementType() {
+ return requirementType;
+ public void setRequirementType(String requirementType) {
+ this.requirementType = requirementType;
+ public String getCostEstimate() {
+ return costEstimate;
+ public void setCostEstimate(String costEstimate) {
+ this.costEstimate = costEstimate;
+ public String getBasicRemarks() {
+ return basicRemarks;
+ public void setBasicRemarks(String basicRemarks) {
+ this.basicRemarks = basicRemarks;
@@ -0,0 +1,377 @@
+ * 储备项目建设规模统计表
+ * @create: 2022-08-16 09:46
+public class ConstructeScale extends DataEntity<ConstructeScale> {
+ private String cityCompany; //市公司
+ private String constructePurpose; //建设目的
+ private String factoryPrefab; //土建工厂化预制
+ private String ancillaryFacility; //附属设施
+ private String constructionWorkMethod; //施工作业方式(完全不停电作业、部分不停电作业、停电作业)
+ private String workWithoutInterruption; //不停电作业
+ private int powerFailureHouseNum; //停电时户数
+ private String peakSummerProject; //是否迎峰度夏项目
+ private String projectReview; //通过第几批项目评审
+ //表一:储备项目基本信息字段
+ private String district; //县公司
+ //统计表-:概预算统计表
+ private String afterTrialEstimateAmount; //概算
+ //从其字段
+ private String reserveProgress; //项目进度
+ private String switchCabinet; //开关柜
+ private String overheadLine; //架空线路
+ private String powerCable; //电力电缆
+ private String cableBranchBox; //电缆分支箱
+ private String outdoorRingCage; //户外环网箱
+ private String ringRoom; //环网室(开关站)
+ private String onColumnSwitch; //柱上开关
+ private String switchRoomKVA; //配电室kva
+ private String switchRoom; //配电室
+ private String boxChangeKVA; //箱变kva
+ private String boxChange; //箱变
+ private String distributionTransformerKVA; //配电变压器kva
+ private String distributionTransformer; //配电变压器
+ private String lowVoltageLine; //低压线路
+ private String lowVoltageCable; //低压电缆
+ private String lowVoltageCableBox; //低压电缆分支箱
+ private String lowVoltageCabinet; //低压配电柜
+ private String distributeAutoMateTerminalFTU; //配电自动化终端ftu
+ private String distributeAutoMateTerminalDTU; //配电自动化终端dtu
+ private String opticalCable; //光缆
+ private String cablePassage; //电缆通道
+ public String getCityCompany() {
+ return cityCompany;
+ public void setCityCompany(String cityCompany) {
+ this.cityCompany = cityCompany;
+ public String getLowVoltageCable() {
+ return lowVoltageCable;
+ public void setLowVoltageCable(String lowVoltageCable) {
+ this.lowVoltageCable = lowVoltageCable;
+ public String getConstructePurpose() {
+ return constructePurpose;
+ public void setConstructePurpose(String constructePurpose) {
+ this.constructePurpose = constructePurpose;
+ public String getFactoryPrefab() {
+ return factoryPrefab;
+ public void setFactoryPrefab(String factoryPrefab) {
+ this.factoryPrefab = factoryPrefab;
+ public String getAncillaryFacility() {
+ return ancillaryFacility;
+ public void setAncillaryFacility(String ancillaryFacility) {
+ this.ancillaryFacility = ancillaryFacility;
+ public String getConstructionWorkMethod() {
+ return constructionWorkMethod;
+ public void setConstructionWorkMethod(String constructionWorkMethod) {
+ this.constructionWorkMethod = constructionWorkMethod;
+ public String getWorkWithoutInterruption() {
+ return workWithoutInterruption;
+ public void setWorkWithoutInterruption(String workWithoutInterruption) {
+ this.workWithoutInterruption = workWithoutInterruption;
+ public int getPowerFailureHouseNum() {
+ return powerFailureHouseNum;
+ public void setPowerFailureHouseNum(int powerFailureHouseNum) {
+ this.powerFailureHouseNum = powerFailureHouseNum;
+ public String getPeakSummerProject() {
+ return peakSummerProject;
+ public void setPeakSummerProject(String peakSummerProject) {
+ this.peakSummerProject = peakSummerProject;
+ public String getProjectReview() {
+ return projectReview;
+ public void setProjectReview(String projectReview) {
+ this.projectReview = projectReview;
+ public String getSwitchCabinet() {
+ return switchCabinet;
+ public void setSwitchCabinet(String switchCabinet) {
+ this.switchCabinet = switchCabinet;
+ public String getOverheadLine() {
+ return overheadLine;
+ public void setOverheadLine(String overheadLine) {
+ this.overheadLine = overheadLine;
+ public String getPowerCable() {
+ return powerCable;
+ public void setPowerCable(String powerCable) {
+ this.powerCable = powerCable;
+ public String getCableBranchBox() {
+ return cableBranchBox;
+ public void setCableBranchBox(String cableBranchBox) {
+ this.cableBranchBox = cableBranchBox;
+ public String getOutdoorRingCage() {
+ return outdoorRingCage;
+ public void setOutdoorRingCage(String outdoorRingCage) {
+ this.outdoorRingCage = outdoorRingCage;
+ public String getRingRoom() {
+ return ringRoom;
+ public void setRingRoom(String ringRoom) {
+ this.ringRoom = ringRoom;
+ public String getOnColumnSwitch() {
+ return onColumnSwitch;
+ public void setOnColumnSwitch(String onColumnSwitch) {
+ this.onColumnSwitch = onColumnSwitch;
+ public String getSwitchRoomKVA() {
+ return switchRoomKVA;
+ public void setSwitchRoomKVA(String switchRoomKVA) {
+ this.switchRoomKVA = switchRoomKVA;
+ public String getSwitchRoom() {
+ return switchRoom;
+ public void setSwitchRoom(String switchRoom) {
+ this.switchRoom = switchRoom;
+ public String getBoxChangeKVA() {
+ return boxChangeKVA;
+ public void setBoxChangeKVA(String boxChangeKVA) {
+ this.boxChangeKVA = boxChangeKVA;
+ public String getBoxChange() {
+ return boxChange;
+ public void setBoxChange(String boxChange) {
+ this.boxChange = boxChange;
+ public String getDistributionTransformerKVA() {
+ return distributionTransformerKVA;
+ public void setDistributionTransformerKVA(String distributionTransformerKVA) {
+ this.distributionTransformerKVA = distributionTransformerKVA;
+ public String getDistributionTransformer() {
+ return distributionTransformer;
+ public void setDistributionTransformer(String distributionTransformer) {
+ this.distributionTransformer = distributionTransformer;
+ public String getLowVoltageLine() {
+ return lowVoltageLine;
+ public void setLowVoltageLine(String lowVoltageLine) {
+ this.lowVoltageLine = lowVoltageLine;
+ public String getLowVoltageCableBox() {
+ return lowVoltageCableBox;
+ public void setLowVoltageCableBox(String lowVoltageCableBox) {
+ this.lowVoltageCableBox = lowVoltageCableBox;
+ public String getLowVoltageCabinet() {
+ return lowVoltageCabinet;
+ public void setLowVoltageCabinet(String lowVoltageCabinet) {
+ this.lowVoltageCabinet = lowVoltageCabinet;
+ public String getDistributeAutoMateTerminalFTU() {
+ return distributeAutoMateTerminalFTU;
+ public void setDistributeAutoMateTerminalFTU(String distributeAutoMateTerminalFTU) {
+ this.distributeAutoMateTerminalFTU = distributeAutoMateTerminalFTU;
+ public String getDistributeAutoMateTerminalDTU() {
+ return distributeAutoMateTerminalDTU;
+ public void setDistributeAutoMateTerminalDTU(String distributeAutoMateTerminalDTU) {
+ this.distributeAutoMateTerminalDTU = distributeAutoMateTerminalDTU;
+ public String getOpticalCable() {
+ return opticalCable;
+ public void setOpticalCable(String opticalCable) {
+ this.opticalCable = opticalCable;
+ public String getCablePassage() {
+ return cablePassage;
+ public void setCablePassage(String cablePassage) {
+ this.cablePassage = cablePassage;
@@ -0,0 +1,75 @@
+ * 储备项目拆旧物资汇总表
+ * @create: 2022-08-16 10:06
+public class DemoliteList extends DataEntity<DemoliteList> {
+ private String materialName; //物料名称
+ public String getMaterialName() {
+ return materialName;
+ public void setMaterialName(String materialName) {
+ this.materialName = materialName;
@@ -0,0 +1,413 @@
+ * 立杆和土建工程量统计
+ * @create: 2022-08-16 09:51
+public class EnginnerQuery extends DataEntity<EnginnerQuery> {
+ private String pole190X10; //立杆信息Φ190×10×M×I
+ private String pole190X12; //立杆信息Φ190×12×M×G
+ private String pole190X15; //立杆信息Φ190×15×M×G
+ private String pole230X15; //立杆信息Φ230×15×N
+ private String pole230X18; //立杆信息Φ230×18×N×G
+ private String pole300X9; //立杆信息Φ300×9
+ private String pole350X15; //立杆信息Φ350×15×T×BY
+ private String steelPipeGNH31Contains; //钢管杆信息GNH31-13B(含钢管桩)
+ private String steelPipeGNH31NoContains; //钢管杆信息GNH31-13B(不含钢管桩)
+ private String steelPipeGNH3113DContains; //钢管杆信息GNH31-13D(含钢管桩)
+ private String steelPipeGNH3113DNoContains; //钢管杆信息GNH31-13D(不含钢管桩)
+ private String steelPipeCNH35Contains; //钢管杆信息GNH35-13B(含钢管桩)
+ private String steelPipeCNH35NoContains; //钢管杆信息GNH35-13B(不含钢管桩)
+ private String steelPipeCNH3513EContains; //钢管杆信息GNH35-13E(含钢管桩)
+ private String steelPipeCNH3513ENoContains; //钢管杆信息GNH35-13E(不含钢管桩)
+ private String steelPipeCNH39Contains; //钢管杆信息GNH39-13B(含钢管桩)
+ private String steelPipeCNH39NoContains; //钢管杆信息GNH39-13B(不含钢管桩)
+ //预制化信息
+ private String prefabricatedWell; //预制化井
+ private String prefabricatedBase; //预制化基础
+ private String prefabricatedPackage; //预制化包封
+ private String projectType; //项目类型
+ //其他
+ private String civilWork; //是否含土建工作量
+ private String poleWorkload; //是否立杆工作量
+ public String getPole190X10() {
+ return pole190X10;
+ public void setPole190X10(String pole190X10) {
+ this.pole190X10 = pole190X10;
+ public String getPole190X12() {
+ return pole190X12;
+ public void setPole190X12(String pole190X12) {
+ this.pole190X12 = pole190X12;
+ public String getPole190X15() {
+ return pole190X15;
+ public void setPole190X15(String pole190X15) {
+ this.pole190X15 = pole190X15;
+ public String getPole230X15() {
+ return pole230X15;
+ public void setPole230X15(String pole230X15) {
+ this.pole230X15 = pole230X15;
+ public String getPole230X18() {
+ return pole230X18;
+ public void setPole230X18(String pole230X18) {
+ this.pole230X18 = pole230X18;
+ public String getPole300X9() {
+ return pole300X9;
+ public void setPole300X9(String pole300X9) {
+ this.pole300X9 = pole300X9;
+ public String getPole350X15() {
+ return pole350X15;
+ public void setPole350X15(String pole350X15) {
+ this.pole350X15 = pole350X15;
+ public String getSteelPipeGNH31Contains() {
+ return steelPipeGNH31Contains;
+ public void setSteelPipeGNH31Contains(String steelPipeGNH31Contains) {
+ this.steelPipeGNH31Contains = steelPipeGNH31Contains;
+ public String getSteelPipeGNH31NoContains() {
+ return steelPipeGNH31NoContains;
+ public void setSteelPipeGNH31NoContains(String steelPipeGNH31NoContains) {
+ this.steelPipeGNH31NoContains = steelPipeGNH31NoContains;
+ public String getSteelPipeGNH3113DContains() {
+ return steelPipeGNH3113DContains;
+ public void setSteelPipeGNH3113DContains(String steelPipeGNH3113DContains) {
+ this.steelPipeGNH3113DContains = steelPipeGNH3113DContains;
+ public String getSteelPipeGNH3113DNoContains() {
+ return steelPipeGNH3113DNoContains;
+ public void setSteelPipeGNH3113DNoContains(String steelPipeGNH3113DNoContains) {
+ this.steelPipeGNH3113DNoContains = steelPipeGNH3113DNoContains;
+ public String getSteelPipeCNH35Contains() {
+ return steelPipeCNH35Contains;
+ public void setSteelPipeCNH35Contains(String steelPipeCNH35Contains) {
+ this.steelPipeCNH35Contains = steelPipeCNH35Contains;
+ public String getSteelPipeCNH35NoContains() {
+ return steelPipeCNH35NoContains;
+ public void setSteelPipeCNH35NoContains(String steelPipeCNH35NoContains) {
+ this.steelPipeCNH35NoContains = steelPipeCNH35NoContains;
+ public String getSteelPipeCNH3513EContains() {
+ return steelPipeCNH3513EContains;
+ public void setSteelPipeCNH3513EContains(String steelPipeCNH3513EContains) {
+ this.steelPipeCNH3513EContains = steelPipeCNH3513EContains;
+ public String getSteelPipeCNH3513ENoContains() {
+ return steelPipeCNH3513ENoContains;
+ public void setSteelPipeCNH3513ENoContains(String steelPipeCNH3513ENoContains) {
+ this.steelPipeCNH3513ENoContains = steelPipeCNH3513ENoContains;
+ public String getSteelPipeCNH39Contains() {
+ return steelPipeCNH39Contains;
+ public void setSteelPipeCNH39Contains(String steelPipeCNH39Contains) {
+ this.steelPipeCNH39Contains = steelPipeCNH39Contains;
+ public String getSteelPipeCNH39NoContains() {
+ return steelPipeCNH39NoContains;
+ public void setSteelPipeCNH39NoContains(String steelPipeCNH39NoContains) {
+ this.steelPipeCNH39NoContains = steelPipeCNH39NoContains;
+ public String getPrefabricatedWell() {
+ return prefabricatedWell;
+ public void setPrefabricatedWell(String prefabricatedWell) {
+ this.prefabricatedWell = prefabricatedWell;
+ public String getPrefabricatedBase() {
+ return prefabricatedBase;
+ public void setPrefabricatedBase(String prefabricatedBase) {
+ this.prefabricatedBase = prefabricatedBase;
+ public String getPrefabricatedPackage() {
+ return prefabricatedPackage;
+ public void setPrefabricatedPackage(String prefabricatedPackage) {
+ this.prefabricatedPackage = prefabricatedPackage;
+ public String getProjectType() {
+ return projectType;
+ public void setProjectType(String projectType) {
+ this.projectType = projectType;
+ public String getCivilWork() {
+ return civilWork;
+ public void setCivilWork(String civilWork) {
+ this.civilWork = civilWork;
+ public String getPoleWorkload() {
+ return poleWorkload;
+ public void setPoleWorkload(String poleWorkload) {
+ this.poleWorkload = poleWorkload;
@@ -0,0 +1,36 @@
+ * @create: 2022-08-17 17:43
+public class History {
+ private String name;
+ private String startTime;
+ private String endTime;
+ public String getEndTime() {
+ return endTime;
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ public String getStartTime() {
+ return startTime;
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
@@ -0,0 +1,18 @@
+ * activity的历史意见表
+ * @create: 2022-08-18 17:35
+public class HistoryComment {
+ private String message;
+ public String getMessage() {
+ return message;
+ public void setMessage(String message) {
+ this.message = message;
@@ -0,0 +1,19 @@
+ * 历史变量表
+ * @create: 2022-08-19 09:14
+public class HistoryVarinst {
@@ -0,0 +1,99 @@
+ * @create: 2022-08-22 09:27
+public class MaterialData {
+ private String remarks; //备注信息
+ private String extendDescription; //扩展描述
+ private String totalCount; //总量
+ private String weightKg; //单重/kg
+ private String weightTon; //总重/吨
+ private String supplyType; //甲乙供
+ private String note; //备注
+ public String getRemarks() {
+ return remarks;
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ public String getExtendDescription() {
+ return extendDescription;
+ public void setExtendDescription(String extendDescription) {
+ this.extendDescription = extendDescription;
+ public String getTotalCount() {
+ return totalCount;
+ public void setTotalCount(String totalCount) {
+ this.totalCount = totalCount;
+ public String getWeightKg() {
+ return weightKg;
+ public void setWeightKg(String weightKg) {
+ this.weightKg = weightKg;
+ public String getWeightTon() {
+ return weightTon;
+ public void setWeightTon(String weightTon) {
+ this.weightTon = weightTon;
+ public String getSupplyType() {
+ return supplyType;
+ public void setSupplyType(String supplyType) {
+ this.supplyType = supplyType;
+ public String getNote() {
+ return note;
+ public void setNote(String note) {
+ this.note = note;
@@ -0,0 +1,21 @@
+ * 储备项目规范性审核记录表
+ * @create: 2022-08-16 10:18
+public class NormativeAudit extends DataEntity<NormativeAudit> {
@@ -0,0 +1,429 @@
+ * 储备进度统计表
+ * @create: 2022-08-16 09:20
+public class ProgressStats extends DataEntity<ProgressStats> {
+ private String inspectDepartmentReview; //是否通过运检部评审
+ private String inspectDepartmentReviewTime; //通过运检部评审时间
+ private String releaseReserveTime; //运检部下达储备时间
+ private String designCommission; //是否发出设计委托
+ private String designCommissionIssueTime; //设计委托发出时间
+ private String onSiteConfess; //是否进行现场交底
+ private String confessCompleteTime; //交底完成时间
+ private String completeDesign; //是否完成初设
+ private String submitTime; //初设提交时间
+ private String completeDraw; //是否完成审图
+ private String drawAudit; //是否通过图纸审核
+ private String reasonForFailure; //未通过原因分析
+ private String passAuditDate; //通过审核日期
+ private String changeDesign; //是否需设计变更
+ private String completeReview; //概预算-是否完成审核
+ private String expertReview; //概预算-是否通过专家审核
+ private String estimateReasonForFailure; //概预算-未通过原因分析
+ private String estimatePassAuditDate; //概预算-通过审核日期
+ private String estimateChangeDesign; //概预算-是否需设计变更
+ private String provincialCompanyReview; //是否参加省公司评审
+ private String provincialCompanyReviewBatch; //省公司评审批次
+ private String passProvincialCompanyReview; //是否通过省公司评审
+ private String causeAnalysis; //未通过原因分析
+ private String designChange; //是否需设计变更
+ private String drawingReview; //图纸联合审查-是否进行图纸审查
+ private String reviewDate; //图纸联合审查-审图日期
+ private String passDrawingReview; //图纸联合审查-是否通过图纸审查
+ private String reviewComment; //图纸联合审查未通过审图意见
+ private String approvedDate; //图纸联合审查通过审核日期
+ private String jointReviewDesignChange; //图纸联合审查-是否需设计变更
+ private String drawingFinalize; //图纸是否定稿
+ private String finalDate; //定稿日期
+ private String formalDrawing; //是否打印正式图纸
+ private String drawingDate; //通知出图日期
+ private String transferProjectCenterDate; //正式图纸移交项目中心日期
+ private String transferToConstructionUnitDate; //正式图纸移交施工单位日期
+ //储备项目交底信息汇总统计表
+ private String initialImplementBatch; //初定实施批次
+ private String includeReserve; //是否纳入储备
+ public String getInspectDepartmentReview() {
+ return inspectDepartmentReview;
+ public void setInspectDepartmentReview(String inspectDepartmentReview) {
+ this.inspectDepartmentReview = inspectDepartmentReview;
+ public String getInspectDepartmentReviewTime() {
+ return inspectDepartmentReviewTime;
+ public void setInspectDepartmentReviewTime(String inspectDepartmentReviewTime) {
+ this.inspectDepartmentReviewTime = inspectDepartmentReviewTime;
+ public String getReleaseReserveTime() {
+ return releaseReserveTime;
+ public void setReleaseReserveTime(String releaseReserveTime) {
+ this.releaseReserveTime = releaseReserveTime;
+ public String getDesignCommission() {
+ return designCommission;
+ public void setDesignCommission(String designCommission) {
+ this.designCommission = designCommission;
+ public String getDesignCommissionIssueTime() {
+ return designCommissionIssueTime;
+ public void setDesignCommissionIssueTime(String designCommissionIssueTime) {
+ this.designCommissionIssueTime = designCommissionIssueTime;
+ public String getOnSiteConfess() {
+ return onSiteConfess;
+ public void setOnSiteConfess(String onSiteConfess) {
+ this.onSiteConfess = onSiteConfess;
+ public String getConfessCompleteTime() {
+ return confessCompleteTime;
+ public void setConfessCompleteTime(String confessCompleteTime) {
+ this.confessCompleteTime = confessCompleteTime;
+ public String getCompleteDesign() {
+ return completeDesign;
+ public void setCompleteDesign(String completeDesign) {
+ this.completeDesign = completeDesign;
+ public String getSubmitTime() {
+ return submitTime;
+ public void setSubmitTime(String submitTime) {
+ this.submitTime = submitTime;
+ public String getCompleteDraw() {
+ return completeDraw;
+ public void setCompleteDraw(String completeDraw) {
+ this.completeDraw = completeDraw;
+ public String getDrawAudit() {
+ return drawAudit;
+ public void setDrawAudit(String drawAudit) {
+ this.drawAudit = drawAudit;
+ public String getReasonForFailure() {
+ return reasonForFailure;
+ public void setReasonForFailure(String reasonForFailure) {
+ this.reasonForFailure = reasonForFailure;
+ public String getPassAuditDate() {
+ return passAuditDate;
+ public void setPassAuditDate(String passAuditDate) {
+ this.passAuditDate = passAuditDate;
+ public String getChangeDesign() {
+ return changeDesign;
+ public void setChangeDesign(String changeDesign) {
+ this.changeDesign = changeDesign;
+ public String getCompleteReview() {
+ return completeReview;
+ public void setCompleteReview(String completeReview) {
+ this.completeReview = completeReview;
+ public String getExpertReview() {
+ return expertReview;
+ public void setExpertReview(String expertReview) {
+ this.expertReview = expertReview;
+ public String getEstimateReasonForFailure() {
+ return estimateReasonForFailure;
+ public void setEstimateReasonForFailure(String estimateReasonForFailure) {
+ this.estimateReasonForFailure = estimateReasonForFailure;
+ public String getEstimatePassAuditDate() {
+ return estimatePassAuditDate;
+ public void setEstimatePassAuditDate(String estimatePassAuditDate) {
+ this.estimatePassAuditDate = estimatePassAuditDate;
+ public String getEstimateChangeDesign() {
+ return estimateChangeDesign;
+ public void setEstimateChangeDesign(String estimateChangeDesign) {
+ this.estimateChangeDesign = estimateChangeDesign;
+ public String getProvincialCompanyReview() {
+ return provincialCompanyReview;
+ public void setProvincialCompanyReview(String provincialCompanyReview) {
+ this.provincialCompanyReview = provincialCompanyReview;
+ public String getProvincialCompanyReviewBatch() {
+ return provincialCompanyReviewBatch;
+ public void setProvincialCompanyReviewBatch(String provincialCompanyReviewBatch) {
+ this.provincialCompanyReviewBatch = provincialCompanyReviewBatch;
+ public String getPassProvincialCompanyReview() {
+ return passProvincialCompanyReview;
+ public void setPassProvincialCompanyReview(String passProvincialCompanyReview) {
+ this.passProvincialCompanyReview = passProvincialCompanyReview;
+ public String getCauseAnalysis() {
+ return causeAnalysis;
+ public void setCauseAnalysis(String causeAnalysis) {
+ this.causeAnalysis = causeAnalysis;
+ public String getDesignChange() {
+ return designChange;
+ public void setDesignChange(String designChange) {
+ this.designChange = designChange;
+ public String getDrawingReview() {
+ return drawingReview;
+ public void setDrawingReview(String drawingReview) {
+ this.drawingReview = drawingReview;
+ public String getReviewDate() {
+ return reviewDate;
+ public void setReviewDate(String reviewDate) {
+ this.reviewDate = reviewDate;
+ public String getPassDrawingReview() {
+ return passDrawingReview;
+ public void setPassDrawingReview(String passDrawingReview) {
+ this.passDrawingReview = passDrawingReview;
+ public String getReviewComment() {
+ return reviewComment;
+ public void setReviewComment(String reviewComment) {
+ this.reviewComment = reviewComment;
+ public String getApprovedDate() {
+ return approvedDate;
+ public void setApprovedDate(String approvedDate) {
+ this.approvedDate = approvedDate;
+ public String getJointReviewDesignChange() {
+ return jointReviewDesignChange;
+ public void setJointReviewDesignChange(String jointReviewDesignChange) {
+ this.jointReviewDesignChange = jointReviewDesignChange;
+ public String getDrawingFinalize() {
+ return drawingFinalize;
+ public void setDrawingFinalize(String drawingFinalize) {
+ this.drawingFinalize = drawingFinalize;
+ public String getFinalDate() {
+ return finalDate;
+ public void setFinalDate(String finalDate) {
+ this.finalDate = finalDate;
+ public String getFormalDrawing() {
+ return formalDrawing;
+ public void setFormalDrawing(String formalDrawing) {
+ this.formalDrawing = formalDrawing;
+ public String getDrawingDate() {
+ return drawingDate;
+ public void setDrawingDate(String drawingDate) {
+ this.drawingDate = drawingDate;
+ public String getTransferProjectCenterDate() {
+ return transferProjectCenterDate;
+ public void setTransferProjectCenterDate(String transferProjectCenterDate) {
+ this.transferProjectCenterDate = transferProjectCenterDate;
+ public String getTransferToConstructionUnitDate() {
+ return transferToConstructionUnitDate;
+ public void setTransferToConstructionUnitDate(String transferToConstructionUnitDate) {
+ this.transferToConstructionUnitDate = transferToConstructionUnitDate;
+ public String getInitialImplementBatch() {
+ return initialImplementBatch;
+ public void setInitialImplementBatch(String initialImplementBatch) {
+ this.initialImplementBatch = initialImplementBatch;
+ public String getIncludeReserve() {
+ return includeReserve;
+ public void setIncludeReserve(String includeReserve) {
+ this.includeReserve = includeReserve;
@@ -0,0 +1,365 @@
+ * 特殊物资统计
+ * @create: 2022-08-16 09:57
+public class SpecialSupply extends DataEntity<SpecialSupply> {
+ private String materialStatisticA; //20kV物资统计-A物资
+ private String materialStatisticB; //20kV物资统计-B物资
+ private String materialStatisticC; //20kV物资统计-C物资
+ private String materialStatisticD; //20kV物资统计-D物资
+ private String switchCabinet10KV; //环网柜,AC10kV,630A,负荷开关柜,SF6,户内
+ private String switchCabinet10KV02; //环网柜,AC10kV,630A,负荷开关柜,SF6,户内
+ private String switchCabinetIncomeLine; //低压开关柜,AC380V,抽屉式,进线,2500A,65kA
+ private String switchCabinetSegment; //低压开关柜,AC380V,抽屉式,分段,2500A,65kA
+ private String switchCabinetFeeder; //低压开关柜,AC380V,抽屉式,馈线,2500A,50kA
+ private String numberOfBranchBoxFourWay; //电缆分支箱,AC400V,塑壳断路器,四路,400A
+ private String numberOfBranchBoxFiveWay; //电缆分支箱,AC400V,塑壳断路器,五路,630A
+ private String numberOfBranchBoxSevenWay; //电缆分支箱,AC400V,塑壳断路器,七路,630A
+ private String numberOfBox; //箱变路数
+ private String specialSizeA; //特殊尺寸物资统计-特殊物资A
+ private String specialSizeB; //特殊尺寸物资统计-特殊物资B
+ private String specialSizeC; //特殊尺寸物资统计-特殊物资C
+ private String specialSizeD; //特殊尺寸物资统计-特殊物资D
+ public String getMaterialStatisticA() {
+ return materialStatisticA;
+ public void setMaterialStatisticA(String materialStatisticA) {
+ this.materialStatisticA = materialStatisticA;
+ public String getMaterialStatisticB() {
+ return materialStatisticB;
+ public void setMaterialStatisticB(String materialStatisticB) {
+ this.materialStatisticB = materialStatisticB;
+ public String getMaterialStatisticC() {
+ return materialStatisticC;
+ public void setMaterialStatisticC(String materialStatisticC) {
+ this.materialStatisticC = materialStatisticC;
+ public String getMaterialStatisticD() {
+ return materialStatisticD;
+ public void setMaterialStatisticD(String materialStatisticD) {
+ this.materialStatisticD = materialStatisticD;
+ public String getSwitchCabinet10KV() {
+ return switchCabinet10KV;
+ public void setSwitchCabinet10KV(String switchCabinet10KV) {
+ this.switchCabinet10KV = switchCabinet10KV;
+ public String getSwitchCabinet10KV02() {
+ return switchCabinet10KV02;
+ public void setSwitchCabinet10KV02(String switchCabinet10KV02) {
+ this.switchCabinet10KV02 = switchCabinet10KV02;
+ public String getSwitchCabinetIncomeLine() {
+ return switchCabinetIncomeLine;
+ public void setSwitchCabinetIncomeLine(String switchCabinetIncomeLine) {
+ this.switchCabinetIncomeLine = switchCabinetIncomeLine;
+ public String getSwitchCabinetSegment() {
+ return switchCabinetSegment;
+ public void setSwitchCabinetSegment(String switchCabinetSegment) {
+ this.switchCabinetSegment = switchCabinetSegment;
+ public String getSwitchCabinetFeeder() {
+ return switchCabinetFeeder;
+ public void setSwitchCabinetFeeder(String switchCabinetFeeder) {
+ this.switchCabinetFeeder = switchCabinetFeeder;
+ public String getNumberOfBranchBoxFourWay() {
+ return numberOfBranchBoxFourWay;
+ public void setNumberOfBranchBoxFourWay(String numberOfBranchBoxFourWay) {
+ this.numberOfBranchBoxFourWay = numberOfBranchBoxFourWay;
+ public String getNumberOfBranchBoxFiveWay() {
+ return numberOfBranchBoxFiveWay;
+ public void setNumberOfBranchBoxFiveWay(String numberOfBranchBoxFiveWay) {
+ this.numberOfBranchBoxFiveWay = numberOfBranchBoxFiveWay;
+ public String getNumberOfBranchBoxSevenWay() {
+ return numberOfBranchBoxSevenWay;
+ public void setNumberOfBranchBoxSevenWay(String numberOfBranchBoxSevenWay) {
+ this.numberOfBranchBoxSevenWay = numberOfBranchBoxSevenWay;
+ public String getNumberOfBox() {
+ return numberOfBox;
+ public void setNumberOfBox(String numberOfBox) {
+ this.numberOfBox = numberOfBox;
+ public String getSpecialSizeA() {
+ return specialSizeA;
+ public void setSpecialSizeA(String specialSizeA) {
+ this.specialSizeA = specialSizeA;
+ public String getSpecialSizeB() {
+ return specialSizeB;
+ public void setSpecialSizeB(String specialSizeB) {
+ this.specialSizeB = specialSizeB;
+ public String getSpecialSizeC() {
+ return specialSizeC;
+ public void setSpecialSizeC(String specialSizeC) {
+ this.specialSizeC = specialSizeC;
+ public String getSpecialSizeD() {
+ return specialSizeD;
+ public void setSpecialSizeD(String specialSizeD) {
+ this.specialSizeD = specialSizeD;
+ * 物料规范数据
+ * @create: 2022-08-22 09:17
+public class StandardDetail {
+ private String remarks; //简介
+ private String projectCategory; //项目类别
+ private String materialDescription; //物料描述
+ public String getProjectCategory() {
+ return projectCategory;
+ public void setProjectCategory(String projectCategory) {
+ this.projectCategory = projectCategory;
+ public String getMaterialDescription() {
+ return materialDescription;
+ public void setMaterialDescription(String materialDescription) {
+ this.materialDescription = materialDescription;
@@ -0,0 +1,69 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.History;
+ * @create: 2022-08-16 10:23
+public interface BudgetStatsMapper extends BaseMapper<BudgetStats> {
+ * 批量添加储备项目概预算统计信息
+ * @param list
+ void insertList(@Param("list") List<BudgetStats> list);
+ int selectCount(String projectReserveId);
+ * 导出数据查询
+ * @param budgetStats
+ List<BudgetStats> exportFindList(BudgetStats budgetStats);
+ * 根据projectReserveId查出proc_ins_id
+ String getByProjectReserveId(String projectReserveId);
+ * 根据executeId查出当前节点的名称
+ * @param executeId
+ String getByExecuteId(String executeId);
+ * 根据executeId查出历史节点信息
+ List<History> getHistoryByExecuteId(String executeId);
+ * 根据executeId和节点名称查出历史节点信息
+ List<History> getHistoryByActName(@Param("executeId") String executeId,
+ @Param("name") String name);
+ * 根据节点的时间和executeId来查找
+ * @param time
+ History getHistoryByTime(@Param("time")String time,@Param("executeId")String executeId);
@@ -0,0 +1,67 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.StandardDetail;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale;
+ * @create: 2022-08-19 13:52
+public interface ConstructeScaleMapper extends BaseMapper<ConstructeScale> {
+ void insertList(@Param("list") List<ConstructeScale> list);
+ * @param constructeScale
+ List<ConstructeScale> exportFindList(ConstructeScale constructeScale);
+ * 查出物料规范数据
+ List<StandardDetail> getStandardDetail();
+ * 获取在线开甲供材数据
+ List<MaterialData> getMaterialData(String projectName);
@@ -0,0 +1,25 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.DemoliteList;
+ * @create: 2022-08-23 08:39
+public interface DemoliteListMapper extends BaseMapper<DemoliteList> {
+ * @param demoliteList
+ List<DemoliteList> exportFindList(DemoliteList demoliteList);
@@ -0,0 +1,54 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery;
+ * @create: 2022-08-22 15:06
+public interface EnginnerQueryMapper extends BaseMapper<EnginnerQuery> {
+ * @param enginnerQuery
+ List<EnginnerQuery> exportFindList(EnginnerQuery enginnerQuery);
+ * 根据物料编码、甲乙供、扩展描述、备注获取在线开甲供材数据总量
+ Double getData(@Param("materialCode") String materialCode,
+ @Param("extendDescription")String extendDescription,
+ @Param("note")String note);
@@ -0,0 +1,82 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.HistoryComment;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.HistoryVarinst;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats;
+ * @create: 2022-08-17 15:23
+public interface ProgressStatsMapper extends BaseMapper<ProgressStats> {
+ void insertList(@Param("list") List<ProgressStats> list);
+ * @param progressStats
+ List<ProgressStats> exportFindList(ProgressStats progressStats);
+ HistoryComment getCommentByTime(@Param("time")String time,@Param("executeId")String executeId);
+ * 在历史遍历表中,根据procInstId和时间来判断是哪条流程线
+ * @param procInstId
+ HistoryVarinst getByProcInstId(@Param("time")String time,@Param("procInstId")String procInstId);
@@ -0,0 +1,53 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.SpecialSupply;
+ * @create: 2022-08-22 17:52
+public interface SpecialSupplyMapper extends BaseMapper<SpecialSupply> {
+ * @param specialSupply
+ List<SpecialSupply> exportFindList(SpecialSupply specialSupply);
@@ -0,0 +1,219 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.BudgetStatsMapper">
+ <sql id="reserveManagementColumns">
+ a.pretrialEstimateAmount,
+ a.pretrialEstimateAmountExcludeTax,
+ a.pretrialDeductibleAmount,
+ a.pretrialConstructeConsts,
+ a.pretrialMaterialAmount,
+ a.pretrialOtherExpanses,
+ a.pretrialPreliminaryConstructeFee,
+ a.pretrialSurveyFee,
+ a.pretrialDesignFee,
+ a.pretrialSupervisionFee,
+ a.afterTrialEstimateAmount,
+ a.afterTrialEstimateAmountExcludeTax,
+ a.afterTrialDeductibleAmount,
+ a.afterTrialConstructeConsts,
+ a.afterTrialMaterialAmount,
+ a.afterTrialOtherExpanses,
+ a.afterTrialPreliminaryConstructeFee,
+ a.afterTrialSurveyFee,
+ a.afterTrialDesignFee,
+ a.afterTrialSupervisionFee,
+ b.projectYear,
+ b.projectNature,
+ b.demandUnit,
+ b.district,
+ b.projectGroup,
+ b.reserveBatches,
+ b.blockSupply,
+ b.gridNumber,
+ b.cellNumber,
+ b.constructionNecessityAndContent,
+ b.substationName,
+ b.circuitName,
+ b.netRackProjectDivide,
+ b.requirementType,
+ b.costEstimate,
+ b.basicRemarks,
+ c.implementPlan,
+ c.initialImplementBatch as implementBatch
+ insert into cg_budget_stats (
+ pretrialEstimateAmount,
+ pretrialEstimateAmountExcludeTax,
+ pretrialDeductibleAmount,
+ pretrialConstructeConsts,
+ pretrialMaterialAmount,
+ pretrialOtherExpanses,
+ pretrialPreliminaryConstructeFee,
+ pretrialSurveyFee,
+ pretrialDesignFee,
+ pretrialSupervisionFee,
+ afterTrialEstimateAmount,
+ afterTrialEstimateAmountExcludeTax,
+ afterTrialDeductibleAmount,
+ afterTrialConstructeConsts,
+ afterTrialMaterialAmount,
+ afterTrialOtherExpanses,
+ afterTrialPreliminaryConstructeFee,
+ afterTrialSurveyFee,
+ afterTrialDesignFee,
+ afterTrialSupervisionFee
+ #{item.pretrialEstimateAmount},
+ #{item.pretrialEstimateAmountExcludeTax},
+ #{item.pretrialDeductibleAmount},
+ #{item.pretrialConstructeConsts},
+ #{item.pretrialMaterialAmount},
+ #{item.pretrialOtherExpanses},
+ #{item.pretrialPreliminaryConstructeFee},
+ #{item.pretrialSurveyFee},
+ #{item.pretrialDesignFee},
+ #{item.pretrialSupervisionFee},
+ #{item.afterTrialEstimateAmount},
+ #{item.afterTrialEstimateAmountExcludeTax},
+ #{item.afterTrialDeductibleAmount},
+ #{item.afterTrialConstructeConsts},
+ #{item.afterTrialMaterialAmount},
+ #{item.afterTrialOtherExpanses},
+ #{item.afterTrialPreliminaryConstructeFee},
+ #{item.afterTrialSurveyFee},
+ #{item.afterTrialDesignFee},
+ #{item.afterTrialSupervisionFee}
+ <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats">
+ <include refid="reserveManagementColumns"/>
+ from cg_budget_stats a
+ left join cg_reserve_process b
+ on a.projectReserveId = b.projectReserveId
+ left join cg_reserve_summary_statistics c
+ on a.projectReserveId = c.projectReserveId
+ a.del_flag = 0
+ <if test="projectReserveId!=null and projectReserveId!=''">
+ and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+ <if test="projectName!=null and projectName!=''">
+ and b.projectName like concat('%', #{projectName}, '%')
+ <if test="dataScope != null and dataScope != ''">
+ ${dataScope}
+ <choose>
+ <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+ ORDER BY ${page.orderBy}
+ </when>
+ <otherwise>
+ ORDER BY a.update_date DESC
+ </otherwise>
+ </choose>
+ <update id="delete">
+ delete from
+ cg_budget_stats
+ where id = #{id}
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats">
+ where a.id = #{id}
+ <select id="selectCount" resultType="java.lang.Integer">
+ select count(*) from cg_budget_stats where projectReserveId = #{projectReserveId}
+ <select id="exportFindList"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats">
+ <select id="getByExecuteId" resultType="java.lang.String">
+ SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
+ <select id="getByProjectReserveId" resultType="java.lang.String">
+ SELECT proc_ins_id from cg_personnel_activiti where projectReserveId = #{projectReserveId}
+ <select id="getHistoryByExecuteId" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.History">
+ select ACT_NAME_ as name,START_TIME_ as startTime,END_TIME_ as endTime from act_hi_actinst
+ WHERE EXECUTION_ID_ = #{executeId} and ACT_NAME_ is not null ORDER BY startTime desc
+ <select id="getHistoryByActName"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.History">
+ WHERE EXECUTION_ID_ = #{executeId} and ACT_NAME_ is not null and ACT_NAME_ = #{name}
+ ORDER BY startTime desc
+ <select id="getHistoryByTime"
+ WHERE EXECUTION_ID_ = #{executeId}
+ and START_TIME_ = #{time} and ACT_NAME_ is not null
@@ -0,0 +1,170 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.ConstructeScaleMapper">
+ a.constructePurpose,
+ a.factoryPrefab,
+ a.ancillaryFacility,
+ a.constructionWorkMethod,
+ a.workWithoutInterruption,
+ a.powerFailureHouseNum,
+ a.peakSummerProject,
+ a.projectReview,
+ c.afterTrialEstimateAmount
+ insert into cg_constructe_scale (
+ constructePurpose,
+ factoryPrefab,
+ ancillaryFacility,
+ constructionWorkMethod,
+ workWithoutInterruption,
+ powerFailureHouseNum,
+ peakSummerProject,
+ projectReview
+ #{item.constructePurpose},
+ #{item.factoryPrefab},
+ #{item.ancillaryFacility},
+ #{item.constructionWorkMethod},
+ #{item.workWithoutInterruption},
+ #{item.powerFailureHouseNum},
+ #{item.peakSummerProject},
+ #{item.projectReview}
+ <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale">
+ from cg_constructe_scale a
+ left join cg_budget_stats c
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale">
+ cg_constructe_scale
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale">
+ <select id="getHistoryByExecuteId"
+ WHERE EXECUTION_ID_ = #{executeId} and ACT_NAME_ is not null
+ ORDER BY START_TIME_ desc
+ <select id="getStandardDetail"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.StandardDetail">
+ select remarks,projectCategory,materialCode,materialDescription from cb_standard_detail
+ <select id="getMaterialData"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData">
+ select remarks,materialCode,materialName,extendDescription,unit,totalCount,weightKg,
+ weightTon,supplyType,note from cg_material_data where projectName = #{projectName}
@@ -0,0 +1,94 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.DemoliteListMapper">
+ a.id,
+ a.specification,
+ a.unit,
+ a.count,
+ a.remark,
+ a.name as materialName,
+ b.projectName
+ <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.DemoliteList">
+ from cg_demolition_list a
+ <if test="count!=null and count!=''">
+ and a.count = #{count}
+ ORDER BY b.update_date DESC
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.DemoliteList">
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.DemoliteList">
+ cg_demolition_list
@@ -0,0 +1,119 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.EnginnerQueryMapper">
+ <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery">
+ from cg_reserve_process b
+ on b.projectReserveId = c.projectReserveId
+ b.del_flag = 0
+ and b.projectReserveId like concat('%', #{projectReserveId}, '%')
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery">
+ where b.id = #{id}
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery">
+ <select id="getData" resultType="java.lang.Double">
+ select sum(totalCount) from cg_material_data
+ <if test="materialCode!=null and materialCode!=''">
+ materialCode = #{materialCode}
+ <if test="extendDescription!=null and extendDescription!=''">
+ and extendDescription = #{extendDescription}
+ <if test="note!=null and note!=''">
+ and note = #{note}
@@ -0,0 +1,220 @@
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.ProgressStatsMapper">
+ a.inspectDepartmentReview,
+ a.inspectDepartmentReviewTime,
+ a.releaseReserveTime,
+ a.onSiteConfess,
+ a.confessCompleteTime,
+ a.provincialCompanyReview,
+ a.provincialCompanyReviewBatch,
+ a.passProvincialCompanyReview,
+ a.causeAnalysis,
+ a.designChange,
+ a.drawingReview,
+ a.reviewDate,
+ a.passDrawingReview,
+ a.reviewComment,
+ a.approvedDate,
+ a.jointReviewDesignChange,
+ a.formalDrawing,
+ a.drawingDate,
+ a.transferProjectCenterDate,
+ a.transferToConstructionUnitDate,
+ c.initialImplementBatch,
+ c.includeReserve
+ insert into cg_progress_stats (
+ inspectDepartmentReview,
+ inspectDepartmentReviewTime,
+ releaseReserveTime,
+ onSiteConfess,
+ confessCompleteTime,
+ provincialCompanyReview,
+ provincialCompanyReviewBatch,
+ passProvincialCompanyReview,
+ causeAnalysis,
+ designChange,
+ drawingReview,
+ reviewDate,
+ passDrawingReview,
+ reviewComment,
+ approvedDate,
+ jointReviewDesignChange,
+ formalDrawing,
+ drawingDate,
+ transferProjectCenterDate,
+ transferToConstructionUnitDate
+ #{item.inspectDepartmentReview},
+ #{item.inspectDepartmentReviewTime},
+ #{item.releaseReserveTime},
+ #{item.onSiteConfess},
+ #{item.confessCompleteTime},
+ #{item.provincialCompanyReview},
+ #{item.provincialCompanyReviewBatch},
+ #{item.passProvincialCompanyReview},
+ #{item.causeAnalysis},
+ #{item.designChange},
+ #{item.drawingReview},
+ #{item.reviewDate},
+ #{item.passDrawingReview},
+ #{item.reviewComment},
+ #{item.approvedDate},
+ #{item.jointReviewDesignChange},
+ #{item.formalDrawing},
+ #{item.drawingDate},
+ #{item.transferProjectCenterDate},
+ #{item.transferToConstructionUnitDate}
+ <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats">
+ from cg_progress_stats a
+ cg_progress_stats
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats">
+ select count(*) from cg_progress_stats where projectReserveId = #{projectReserveId}
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats">
+ <select id="getCommentByTime"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.HistoryComment">
+ SELECT MESSAGE_ FROM `act_hi_comment`
+ WHERE PROC_INST_ID_ = #{executeId} and TIME_ = #{time}
+ <select id="getByProcInstId"
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.HistoryVarinst">
+ select * from act_hi_varinst where PROC_INST_ID_ = #{procInstId} and CREATE_TIME_ = #{time}
+ and LAST_UPDATED_TIME_ = #{time}
+ and LONG_ != 0
+<mapper namespace="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.SpecialSupplyMapper">
+ <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.SpecialSupply">
+ resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.SpecialSupply">
+ <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.SpecialSupply">
@@ -0,0 +1,77 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.BudgetStatsMapper;
+ * @create: 2022-08-16 13:43
+public class BudgetStatsService extends CrudService<BudgetStatsMapper, BudgetStats> {
+ private BudgetStatsMapper dao;
+ public void insertList(@Param("list") List<BudgetStats> list){
+ for(BudgetStats budgetStats : list){
+ budgetStats.preInsert();
+ public Page<BudgetStats> findPage(Page<BudgetStats> page, BudgetStats budgetStats) {
+ Page<BudgetStats> pageList = super.findPage(page, budgetStats);
+ return pageList;
+ * 删除方法
+ public void delete(BudgetStats budgetStats) {
+ super.delete(budgetStats);
+ public int selectCount(String projectReserveId){
+ return dao.selectCount(projectReserveId);
+ public List<BudgetStats> exportFindList( BudgetStats budgetStats) {
+ List<BudgetStats> pageList = dao.exportFindList(budgetStats);
+ public String getByProjectReserveId(String projectReserveId){
+ return dao.getByProjectReserveId(projectReserveId);
+ public String getByExecuteId(String executeId){
+ return dao.getByExecuteId(executeId);
+ public List<History> getHistoryByExecuteId(String executeId){
+ return dao.getHistoryByExecuteId(executeId);
+ public List<History> getHistoryByActName(String executeId,String name){
+ return dao.getHistoryByActName(executeId, name);
+ public History getHistoryByTime(String time,String executeId){
+ return dao.getHistoryByTime(time, executeId);
@@ -0,0 +1,78 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.ConstructeScaleMapper;
+ * @create: 2022-08-19 14:13
+public class ConstructeScaleService extends CrudService<ConstructeScaleMapper, ConstructeScale> {
+ private ConstructeScaleMapper dao;
+ public void insertList(@Param("list") List<ConstructeScale> list) {
+ for (ConstructeScale constructeScale : list) {
+ constructeScale.preInsert();
+ public Page<ConstructeScale> findPage(Page<ConstructeScale> page, ConstructeScale constructeScale) {
+ Page<ConstructeScale> pageList = super.findPage(page, constructeScale);
+ public void delete(ConstructeScale constructeScale) {
+ super.delete(constructeScale);
+ public List<ConstructeScale> exportFindList(ConstructeScale constructeScale) {
+ List<ConstructeScale> pageList = dao.exportFindList(constructeScale);
+ public String getByProjectReserveId(String projectReserveId) {
+ public String getByExecuteId(String executeId) {
+ public List<History> getHistoryByExecuteId(String executeId) {
+ public List<StandardDetail> getStandardDetail() {
+ return dao.getStandardDetail();
+ public List<MaterialData> getMaterialData(String projectName) {
+ return dao.getMaterialData(projectName);
@@ -0,0 +1,43 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.DemoliteListMapper;
+ * @create: 2022-08-23 08:50
+public class DemoliteListService extends CrudService<DemoliteListMapper, DemoliteList> {
+ private DemoliteListMapper mapper;
+ public Page<DemoliteList> findPage(Page<DemoliteList> page, DemoliteList demoliteList) {
+ Page<DemoliteList> pageList = super.findPage(page, demoliteList);
+ public void delete(DemoliteList demoliteList) {
+ super.delete(demoliteList);
+ public List<DemoliteList> exportFindList(DemoliteList demoliteList) {
+ List<DemoliteList> pageList = mapper.exportFindList(demoliteList);
@@ -0,0 +1,51 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.EnginnerQueryMapper;
+ * @create: 2022-08-22 15:17
+public class EnginnerQueryService extends CrudService<EnginnerQueryMapper, EnginnerQuery> {
+ private EnginnerQueryMapper queryMapper;
+ public Page<EnginnerQuery> findPage(Page<EnginnerQuery> page, EnginnerQuery enginnerQuery) {
+ Page<EnginnerQuery> pageList = super.findPage(page, enginnerQuery);
+ public List<EnginnerQuery> exportFindList(EnginnerQuery enginnerQuery) {
+ List<EnginnerQuery> pageList = queryMapper.exportFindList(enginnerQuery);
+ public Double getData(String code,String extendDescription,String note) {
+ return queryMapper.getData(code, extendDescription, note);
+ return queryMapper.getByProjectReserveId(projectReserveId);
+ return queryMapper.getHistoryByExecuteId(executeId);
+ return queryMapper.getByExecuteId(executeId);
@@ -0,0 +1,87 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.ProgressStatsMapper;
+ * @create: 2022-08-18 09:16
+public class ProgressStatsService extends CrudService<ProgressStatsMapper, ProgressStats> {
+ private ProgressStatsMapper dao;
+ public void insertList(@Param("list") List<ProgressStats> list){
+ for(ProgressStats progressStats : list){
+ progressStats.preInsert();
+ public Page<ProgressStats> findPage(Page<ProgressStats> page, ProgressStats progressStats) {
+ Page<ProgressStats> pageList = super.findPage(page, progressStats);
+ public void delete(ProgressStats progressStats) {
+ super.delete(progressStats);
+ public List<ProgressStats> exportFindList(ProgressStats progressStats) {
+ List<ProgressStats> pageList = dao.exportFindList(progressStats);
+ public HistoryComment getCommentByTime(String time, String executeId){
+ return dao.getCommentByTime(time, executeId);
+ public HistoryVarinst getByProcInstId(String time, String procInstId){
+ return dao.getByProcInstId(time, procInstId);
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.SpecialSupplyMapper;
+ * @create: 2022-08-22 17:58
+public class SpecialSupplyService extends CrudService<SpecialSupplyMapper, SpecialSupply> {
+ private SpecialSupplyMapper supplyMapper;
+ public Page<SpecialSupply> findPage(Page<SpecialSupply> page, SpecialSupply specialSupply) {
+ Page<SpecialSupply> pageList = super.findPage(page, specialSupply);
+ public List<SpecialSupply> exportFindList(SpecialSupply specialSupply) {
+ List<SpecialSupply> pageList = supplyMapper.exportFindList(specialSupply);
+ return supplyMapper.getData(code, extendDescription, note);
+ return supplyMapper.getByProjectReserveId(projectReserveId);
+ return supplyMapper.getHistoryByExecuteId(executeId);
+ return supplyMapper.getByExecuteId(executeId);
@@ -0,0 +1,714 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.*;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import java.io.*;
+import java.net.URLEncoder;
+ * @create: 2022-08-17 13:59
+public class ExcelExportUtil {
+ private XSSFCellStyle style = null;
+ public static ExcelExportUtil getOne(){
+ return new ExcelExportUtil();
+ * 传入excel模板名称 获取workbook对象
+ * @param fileName excel模板名称
+ public XSSFWorkbook getWorkbook(String fileName){
+ InputStream inputStream = null;
+ XSSFWorkbook workbook = null;
+ File file = new File(this.getClass().getResource("/").getPath() + "/freemarker/excelmodel/"+fileName+".xlsx");
+ inputStream = new FileInputStream(file);// 将excel文件转为输入流
+ workbook = new XSSFWorkbook(inputStream);// 创建个workbook,
+ return workbook;
+ * 创建Cell对象 同时设置style
+ * @param workbook
+ * @param row
+ * @param num
+ Cell crateCell(XSSFWorkbook workbook,Row row, int num){
+ Cell cell = row.createCell(num);
+ if(style == null){
+ style =workbook.createCellStyle();
+ style.setWrapText(true);
+ style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
+ cell.setCellStyle(style);
+ return cell;
+ * 导出储备项目概预算统计表信息
+ * @param response
+ public void exportBasic(HttpServletResponse response, XSSFWorkbook workbook, List<BudgetStats> list){
+ int index = 1;//第一列序号
+ int rowNum = 3;//数据起始列
+ Sheet sheet = workbook.getSheetAt(0);
+ for(int i=0;i<list.size();i++){
+ Row row = sheet.createRow(rowNum+i);
+ Cell cell0 = crateCell(workbook,row,0); //序号
+ Cell cell1 = crateCell(workbook,row,1); //项目年份
+ Cell cell2 = crateCell(workbook,row,2); //项目性质
+ Cell cell3 = crateCell(workbook,row,3); //需求单位
+ Cell cell4 = crateCell(workbook,row,4); //区域
+ Cell cell5 = crateCell(workbook,row,5); //项目分组
+ Cell cell6 = crateCell(workbook,row,6); //储备批次
+ Cell cell7 = crateCell(workbook,row,7); //供电区域
+ Cell cell8 = crateCell(workbook,row,8); //网格编号
+ Cell cell9 = crateCell(workbook,row,9); //单元格编号
+ Cell cell10 = crateCell(workbook,row,10); //项目储备编号
+ Cell cell11 = crateCell(workbook,row,11); //项目名称
+ Cell cell12 = crateCell(workbook,row,12); //建设必要性及内容
+ Cell cell13 = crateCell(workbook,row,13); //变电站名称
+ Cell cell14 = crateCell(workbook,row,14); //线路名称
+ Cell cell15 = crateCell(workbook,row,15); //网架项目划分
+ Cell cell16 = crateCell(workbook,row,16); //需求类型
+ Cell cell17 = crateCell(workbook,row,17); //费用估算
+ Cell cell18 = crateCell(workbook,row,18); //备注
+ Cell cell19 = crateCell(workbook,row,19); //储备进度
+ Cell cell20 = crateCell(workbook,row,20); //是否纳入实施计划
+ Cell cell21 = crateCell(workbook,row,21); //初定实施批次
+ Cell cell22 = crateCell(workbook,row,22); //审前总概算金额(含税)
+ Cell cell23 = crateCell(workbook,row,23); //审前总概算金额(不含税)
+ Cell cell24 = crateCell(workbook,row,24); //审前可抵扣金额(税金)
+ Cell cell25 = crateCell(workbook,row,25); //审前施工费(含税)
+ Cell cell26 = crateCell(workbook,row,26); //审前甲供物资金额(含税)
+ Cell cell27 = crateCell(workbook,row,27); //审前其他费用(含税)
+ Cell cell28 = crateCell(workbook,row,28); //审前前期工程费(含税)
+ Cell cell29 = crateCell(workbook,row,29); //审前勘察费(含税)
+ Cell cell30 = crateCell(workbook,row,30); //审前设计费(含税)
+ Cell cell31 = crateCell(workbook,row,31); //审前监理费(含税)
+ Cell cell32 = crateCell(workbook,row,32); //审后总概算金额(含税)
+ Cell cell33 = crateCell(workbook,row,33); //审后总概算金额(不含税)
+ Cell cell34 = crateCell(workbook,row,34); //审后可抵扣金额(税金)
+ Cell cell35 = crateCell(workbook,row,35); //审后施工费(含税)
+ Cell cell36 = crateCell(workbook,row,36); //审后甲供物资金额(含税)
+ Cell cell37 = crateCell(workbook,row,37); //审后其他费用(含税)
+ Cell cell38 = crateCell(workbook,row,38); //审后前期工程费(含税)
+ Cell cell39 = crateCell(workbook,row,39); //审后勘察费(含税)
+ Cell cell40 = crateCell(workbook,row,40); //审后设计费(含税)
+ Cell cell41 = crateCell(workbook,row,41); //审后监理费(含税)
+ Cell cell42 = crateCell(workbook,row,42); //是否完成概算修改
+ Cell cell43 = crateCell(workbook,row,43); //概算修改完成时间
+ BudgetStats budgetStats = list.get(i);
+ cell0.setCellValue(String.valueOf(index++));
+ cell1.setCellValue(budgetStats.getProjectYear());
+ cell2.setCellValue(budgetStats.getProjectNature());
+ cell3.setCellValue(budgetStats.getDemandUnit());
+ cell4.setCellValue(budgetStats.getDistrict());
+ cell5.setCellValue(budgetStats.getProjectGroup());
+ cell6.setCellValue(budgetStats.getReserveBatches());
+ cell7.setCellValue(budgetStats.getBlockSupply());
+ cell8.setCellValue(budgetStats.getGridNumber());
+ cell9.setCellValue(budgetStats.getCellNumber());
+ cell10.setCellValue(budgetStats.getProjectReserveId());
+ cell11.setCellValue(budgetStats.getProjectName());
+ cell12.setCellValue(budgetStats.getConstructionNecessityAndContent());
+ cell13.setCellValue(budgetStats.getSubstationName());
+ cell14.setCellValue(budgetStats.getCircuitName());
+ cell15.setCellValue(budgetStats.getNetRackProjectDivide());
+ cell16.setCellValue(budgetStats.getRequirementType());
+ String costEstimateStr= budgetStats.getCostEstimate().toString();
+ if(StringUtils.isNotBlank(costEstimateStr)){
+ cell17.setCellValue(Double.parseDouble(costEstimateStr));
+ cell18.setCellValue(budgetStats.getBasicRemarks());
+ cell19.setCellValue(budgetStats.getReserveProgress());
+ cell20.setCellValue(budgetStats.getImplementPlan());
+ cell21.setCellValue(budgetStats.getImplementBatch());
+ cell22.setCellValue(budgetStats.getPretrialEstimateAmount());
+ cell23.setCellValue(budgetStats.getPretrialEstimateAmountExcludeTax());
+ cell24.setCellValue(budgetStats.getPretrialDeductibleAmount());
+ cell25.setCellValue(budgetStats.getPretrialConstructeConsts());
+ cell26.setCellValue(budgetStats.getPretrialMaterialAmount());
+ cell27.setCellValue(budgetStats.getPretrialOtherExpanses());
+ cell28.setCellValue(budgetStats.getPretrialPreliminaryConstructeFee());
+ cell29.setCellValue(budgetStats.getPretrialSurveyFee());
+ cell30.setCellValue(budgetStats.getPretrialDesignFee());
+ cell31.setCellValue(budgetStats.getPretrialSupervisionFee());
+ cell32.setCellValue(budgetStats.getAfterTrialEstimateAmount());
+ cell33.setCellValue(budgetStats.getAfterTrialEstimateAmountExcludeTax());
+ cell34.setCellValue(budgetStats.getAfterTrialDeductibleAmount());
+ cell35.setCellValue(budgetStats.getAfterTrialConstructeConsts());
+ cell36.setCellValue(budgetStats.getAfterTrialMaterialAmount());
+ cell37.setCellValue(budgetStats.getAfterTrialOtherExpanses());
+ cell38.setCellValue(budgetStats.getAfterTrialPreliminaryConstructeFee());
+ cell39.setCellValue(budgetStats.getAfterTrialSurveyFee());
+ cell40.setCellValue(budgetStats.getAfterTrialDesignFee());
+ cell41.setCellValue(budgetStats.getAfterTrialSupervisionFee());
+ cell42.setCellValue(budgetStats.getBudgetRevision());
+ cell43.setCellValue(budgetStats.getCompleteTime());
+ String str = URLEncoder.encode("储备项目概预算统计表.xlsx", "UTF8");
+ response.setHeader("Content-Disposition", "attachment;filename="+str);
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ OutputStream outputStream = response.getOutputStream();
+ workbook.write(outputStream);
+ outputStream.flush();
+ outputStream.close();
+ } catch (IOException e) {
+ public void exportProgress(HttpServletResponse response, XSSFWorkbook workbook, List<ProgressStats> list){
+ Cell cell1 = crateCell(workbook,row,1); //储备项目编号
+ Cell cell2 = crateCell(workbook,row,2); //储备项目名称
+ Cell cell3 = crateCell(workbook,row,3); //储备项目类型
+ Cell cell4 = crateCell(workbook,row,4); //需求提出单位
+ Cell cell5 = crateCell(workbook,row,5); //储备批次
+ Cell cell6 = crateCell(workbook,row,6); //备注
+ Cell cell7 = crateCell(workbook,row,7); //储备进度
+ Cell cell8 = crateCell(workbook,row,8); //是否纳入实施计划
+ Cell cell9 = crateCell(workbook,row,9); //初定实施批次
+ Cell cell10 = crateCell(workbook,row,10); //是否通过运检部评审
+ Cell cell11 = crateCell(workbook,row,11); //通过运检部评审时间
+ Cell cell12 = crateCell(workbook,row,12); //运检部下达储备时间
+ Cell cell13 = crateCell(workbook,row,13); //是否发出设计委托
+ Cell cell14 = crateCell(workbook,row,14); //设计委托发出时间
+ Cell cell15 = crateCell(workbook,row,15); //初设提交限定日期
+ Cell cell16 = crateCell(workbook,row,16); //是否进行现场交底
+ Cell cell17 = crateCell(workbook,row,17); //交底完成时间
+ Cell cell18 = crateCell(workbook,row,18); //是否进行储备
+ Cell cell19 = crateCell(workbook,row,19); //是否完成初设
+ Cell cell20 = crateCell(workbook,row,20); //初设提交时间
+ Cell cell21 = crateCell(workbook,row,21); //是否完成审图
+ Cell cell22 = crateCell(workbook,row,22); //是否通过图纸审核
+ Cell cell23 = crateCell(workbook,row,23); //未通过原因分析
+ Cell cell24 = crateCell(workbook,row,24); //通过审核日期
+ Cell cell25 = crateCell(workbook,row,25); //是否需设计变更
+ Cell cell26 = crateCell(workbook,row,26); //是否完成审核
+ Cell cell27 = crateCell(workbook,row,27); //是否通过专家审核
+ Cell cell28 = crateCell(workbook,row,28); //未通过原因分析
+ Cell cell29 = crateCell(workbook,row,29); //通过审核日期
+ Cell cell30 = crateCell(workbook,row,30); //是否需设计变更
+ Cell cell31 = crateCell(workbook,row,31); //是否参加省公司评审
+ Cell cell32 = crateCell(workbook,row,32); //省公司评审批次
+ Cell cell33 = crateCell(workbook,row,33); //是否通过省公司评审
+ Cell cell34 = crateCell(workbook,row,34); //未通过原因分析
+ Cell cell35 = crateCell(workbook,row,35); //是否需设计变更
+ Cell cell36 = crateCell(workbook,row,36); //是否进行图纸审查
+ Cell cell37 = crateCell(workbook,row,37); //审图日期
+ Cell cell38 = crateCell(workbook,row,38); //是否通过图纸审查
+ Cell cell39 = crateCell(workbook,row,39); //未通过审图意见
+ Cell cell40 = crateCell(workbook,row,40); //通过审核日期
+ Cell cell41 = crateCell(workbook,row,41); //是否需设计变更
+ Cell cell42 = crateCell(workbook,row,42); //图纸是否定稿
+ Cell cell43 = crateCell(workbook,row,43); //定稿日期
+ Cell cell44 = crateCell(workbook,row,44); //是否打印正式图纸
+ Cell cell45 = crateCell(workbook,row,45); //通知出图日期
+ Cell cell46 = crateCell(workbook,row,46); //正式图纸移交项目中心日期
+ Cell cell47 = crateCell(workbook,row,47); //正式图纸移交施工单位日期
+ ProgressStats progressStats = list.get(i);
+ cell1.setCellValue(progressStats.getProjectReserveId());
+ cell2.setCellValue(progressStats.getProjectName());
+ cell3.setCellValue(progressStats.getRequirementType());
+ cell4.setCellValue(progressStats.getDemandUnit());
+ cell5.setCellValue(progressStats.getReserveBatches());
+ cell6.setCellValue(progressStats.getBasicRemarks());
+ cell7.setCellValue(progressStats.getReserveProgress());
+ cell8.setCellValue(progressStats.getImplementPlan());
+ cell9.setCellValue(progressStats.getInitialImplementBatch());
+ cell10.setCellValue(progressStats.getInspectDepartmentReview());
+ cell11.setCellValue(progressStats.getInspectDepartmentReviewTime());
+ cell12.setCellValue(progressStats.getReleaseReserveTime());
+ cell13.setCellValue(progressStats.getDesignCommission());
+ cell14.setCellValue(progressStats.getDesignCommissionIssueTime());
+ cell15.setCellValue("");
+ cell16.setCellValue(progressStats.getOnSiteConfess());
+ cell17.setCellValue(progressStats.getConfessCompleteTime());
+ cell18.setCellValue(progressStats.getIncludeReserve());
+ cell19.setCellValue(progressStats.getCompleteDesign());
+ cell20.setCellValue(progressStats.getSubmitTime());
+ cell21.setCellValue(progressStats.getCompleteDraw());
+ cell22.setCellValue(progressStats.getDrawAudit());
+ cell23.setCellValue(progressStats.getReasonForFailure());
+ cell24.setCellValue(progressStats.getPassAuditDate());
+ cell25.setCellValue(progressStats.getChangeDesign());
+ cell26.setCellValue(progressStats.getCompleteReview());
+ cell27.setCellValue(progressStats.getExpertReview());
+ cell28.setCellValue(progressStats.getEstimateReasonForFailure());
+ cell29.setCellValue(progressStats.getEstimatePassAuditDate());
+ cell30.setCellValue(progressStats.getEstimateChangeDesign());
+ cell31.setCellValue(progressStats.getProvincialCompanyReview());
+ cell32.setCellValue(progressStats.getProvincialCompanyReviewBatch());
+ cell33.setCellValue(progressStats.getPassProvincialCompanyReview());
+ cell34.setCellValue(progressStats.getCauseAnalysis());
+ cell35.setCellValue(progressStats.getDesignChange());
+ cell36.setCellValue(progressStats.getDrawingReview());
+ cell37.setCellValue(progressStats.getReviewDate());
+ cell38.setCellValue(progressStats.getPassDrawingReview());
+ cell39.setCellValue(progressStats.getReviewComment());
+ cell40.setCellValue(progressStats.getApprovedDate());
+ cell41.setCellValue(progressStats.getJointReviewDesignChange());
+ cell42.setCellValue(progressStats.getDrawingFinalize());
+ cell43.setCellValue(progressStats.getFinalDate());
+ cell44.setCellValue(progressStats.getFormalDrawing());
+ cell45.setCellValue(progressStats.getDrawingDate());
+ cell46.setCellValue(progressStats.getTransferProjectCenterDate());
+ cell47.setCellValue(progressStats.getTransferToConstructionUnitDate());
+ String str = URLEncoder.encode("储备进度统计表.xlsx", "UTF8");
+ public void exportConstructe(HttpServletResponse response, XSSFWorkbook workbook, List<ConstructeScale> list){
+ int rowNum = 2;//数据起始列
+ Cell cell1 = crateCell(workbook,row,1); //市公司
+ Cell cell2 = crateCell(workbook,row,2); //县公司
+ Cell cell3 = crateCell(workbook,row,3); //供电区域
+ Cell cell4 = crateCell(workbook,row,4); //网格编号
+ Cell cell5 = crateCell(workbook,row,5); //单元格编号
+ Cell cell6 = crateCell(workbook,row,6); //项目编号
+ Cell cell7 = crateCell(workbook,row,7); //项目名称
+ Cell cell8 = crateCell(workbook,row,8); //建设必要性及内容
+ Cell cell9 = crateCell(workbook,row,9); //建设目的
+ Cell cell10 = crateCell(workbook,row,10); //项目进度
+ Cell cell11 = crateCell(workbook,row,11); //开关柜
+ Cell cell12 = crateCell(workbook,row,12); //架空线路
+ Cell cell13 = crateCell(workbook,row,13); //电力电缆
+ Cell cell14 = crateCell(workbook,row,14); //电缆分支箱
+ Cell cell15 = crateCell(workbook,row,15); //户外环网箱
+ Cell cell16 = crateCell(workbook,row,16); //环网室(开关站)
+ Cell cell17 = crateCell(workbook,row,17); //柱上开关
+ Cell cell18 = crateCell(workbook,row,18); //配电室kva
+ Cell cell19 = crateCell(workbook,row,19); //配电室
+ Cell cell20 = crateCell(workbook,row,20); //箱变kva
+ Cell cell21 = crateCell(workbook,row,21); //箱变
+ Cell cell22 = crateCell(workbook,row,22); //配电变压器kva
+ Cell cell23 = crateCell(workbook,row,23); //配电变压器
+ Cell cell24 = crateCell(workbook,row,24); //低压线路
+ Cell cell25 = crateCell(workbook,row,25); //低压电缆
+ Cell cell26 = crateCell(workbook,row,26); //低压电缆分支箱
+ Cell cell27 = crateCell(workbook,row,27); //低压配电柜
+ Cell cell28 = crateCell(workbook,row,28); //配电自动化终端(FTU)
+ Cell cell29 = crateCell(workbook,row,29); //配电自动化终端(DTU)
+ Cell cell30 = crateCell(workbook,row,30); //光缆
+ Cell cell31 = crateCell(workbook,row,31); //电缆通道
+ Cell cell32 = crateCell(workbook,row,32); //土建工厂化预制
+ Cell cell33 = crateCell(workbook,row,33); //附属设施
+ Cell cell34 = crateCell(workbook,row,34); //施工作业方式(完全不停电作业、部分不停电作业、停电作业)
+ Cell cell35 = crateCell(workbook,row,35); //不停电作业
+ Cell cell36 = crateCell(workbook,row,36); //停电时户数
+ Cell cell37 = crateCell(workbook,row,37); //费用估算
+ Cell cell38 = crateCell(workbook,row,38); //是否迎峰度夏项目
+ Cell cell39 = crateCell(workbook,row,39); //通过第几批项目评审
+ Cell cell40 = crateCell(workbook,row,40); //概算
+ ConstructeScale constructeScale = list.get(i);
+ cell1.setCellValue("国网镇江供电公司");
+ cell2.setCellValue(constructeScale.getDistrict());
+ cell3.setCellValue(constructeScale.getBlockSupply());
+ cell4.setCellValue(constructeScale.getGridNumber());
+ cell5.setCellValue(constructeScale.getCellNumber());
+ cell6.setCellValue(constructeScale.getProjectReserveId());
+ cell7.setCellValue(constructeScale.getProjectName());
+ cell8.setCellValue(constructeScale.getConstructionNecessityAndContent());
+ cell9.setCellValue(constructeScale.getConstructePurpose());
+ cell10.setCellValue(constructeScale.getReserveProgress());
+ cell11.setCellValue(constructeScale.getSwitchCabinet());
+ cell12.setCellValue(constructeScale.getOverheadLine());
+ cell13.setCellValue(constructeScale.getPowerCable());
+ cell14.setCellValue(constructeScale.getCableBranchBox());
+ cell15.setCellValue(constructeScale.getOutdoorRingCage());
+ cell16.setCellValue(constructeScale.getRingRoom());
+ cell17.setCellValue(constructeScale.getOnColumnSwitch());
+ cell18.setCellValue(constructeScale.getSwitchRoomKVA());
+ cell19.setCellValue(constructeScale.getSwitchRoom());
+ cell20.setCellValue(constructeScale.getBoxChangeKVA());
+ cell21.setCellValue(constructeScale.getBoxChange());
+ cell22.setCellValue(constructeScale.getDistributionTransformerKVA());
+ cell23.setCellValue(constructeScale.getDistributionTransformer());
+ cell24.setCellValue(constructeScale.getLowVoltageLine());
+ cell25.setCellValue(constructeScale.getLowVoltageCable());
+ cell26.setCellValue(constructeScale.getLowVoltageCableBox());
+ cell27.setCellValue(constructeScale.getLowVoltageCabinet());
+ cell28.setCellValue(constructeScale.getDistributeAutoMateTerminalFTU());
+ cell29.setCellValue(constructeScale.getDistributeAutoMateTerminalDTU());
+ cell30.setCellValue(constructeScale.getOpticalCable());
+ cell31.setCellValue(constructeScale.getCablePassage());
+ cell32.setCellValue(constructeScale.getFactoryPrefab());
+ cell33.setCellValue(constructeScale.getAncillaryFacility());
+ cell34.setCellValue(constructeScale.getConstructionWorkMethod());
+ cell35.setCellValue(constructeScale.getWorkWithoutInterruption());
+ cell36.setCellValue(constructeScale.getPowerFailureHouseNum());
+ cell37.setCellValue(constructeScale.getCostEstimate());
+ cell38.setCellValue(constructeScale.getPeakSummerProject());
+ cell39.setCellValue(constructeScale.getProjectReview());
+ cell40.setCellValue(constructeScale.getAfterTrialEstimateAmount());
+ String str = URLEncoder.encode("储备项目建设规模统计表.xlsx", "UTF8");
+ public void exportEnginnerQuery(HttpServletResponse response, XSSFWorkbook workbook, List<EnginnerQuery> list){
+ Cell cell17 = crateCell(workbook,row,17); //项目类型
+ Cell cell18 = crateCell(workbook,row,18); //费用估算
+ Cell cell19 = crateCell(workbook,row,19); //备注
+ Cell cell20 = crateCell(workbook,row,20); //储备进度
+ Cell cell21 = crateCell(workbook,row,21); //是否纳入实施计划
+ Cell cell22 = crateCell(workbook,row,22); //初定实施批次
+ Cell cell23 = crateCell(workbook,row,23); //是否含土建工作量
+ Cell cell24 = crateCell(workbook,row,24); //是否立杆工作量
+ Cell cell25 = crateCell(workbook,row,25); //立杆信息Φ190×10×M×I
+ Cell cell26 = crateCell(workbook,row,26); //立杆信息Φ190×12×M×G
+ Cell cell27 = crateCell(workbook,row,27); //立杆信息Φ190×15×M×G
+ Cell cell28 = crateCell(workbook,row,28); //立杆信息Φ230×15×N
+ Cell cell29 = crateCell(workbook,row,29); //立杆信息Φ230×18×N×G
+ Cell cell30 = crateCell(workbook,row,30); //立杆信息Φ300×9
+ Cell cell31 = crateCell(workbook,row,31); //立杆信息Φ350×15×T×BY
+ Cell cell32 = crateCell(workbook,row,32); //钢管杆信息GNH31-13B(含钢管桩)
+ Cell cell33 = crateCell(workbook,row,33); //钢管杆信息GNH31-13B(不含钢管桩)
+ Cell cell34 = crateCell(workbook,row,34); //钢管杆信息GNH31-13D(含钢管桩)
+ Cell cell35 = crateCell(workbook,row,35); //钢管杆信息GNH31-13D(不含钢管桩)
+ Cell cell36 = crateCell(workbook,row,36); //钢管杆信息GNH35-13B(含钢管桩)
+ Cell cell37 = crateCell(workbook,row,37); //钢管杆信息GNH35-13B(不含钢管桩)
+ Cell cell38 = crateCell(workbook,row,38); //钢管杆信息GNH35-13E(含钢管桩)
+ Cell cell39 = crateCell(workbook,row,39); //钢管杆信息GNH35-13E(不含钢管桩)
+ Cell cell40 = crateCell(workbook,row,40); //钢管杆信息GNH39-13B(含钢管桩)
+ Cell cell41 = crateCell(workbook,row,41); //钢管杆信息GNH39-13B(不含钢管桩)
+ Cell cell42 = crateCell(workbook,row,42); //预制化井
+ Cell cell43 = crateCell(workbook,row,43); //预制化基础
+ Cell cell44 = crateCell(workbook,row,44); //预制化包封
+ EnginnerQuery enginnerQuery = list.get(i);
+ cell1.setCellValue(enginnerQuery.getProjectYear());
+ cell2.setCellValue(enginnerQuery.getProjectNature());
+ cell3.setCellValue(enginnerQuery.getDemandUnit());
+ cell4.setCellValue(enginnerQuery.getDistrict());
+ cell5.setCellValue(enginnerQuery.getProjectGroup());
+ cell6.setCellValue(enginnerQuery.getReserveBatches());
+ cell7.setCellValue(enginnerQuery.getBlockSupply());
+ cell8.setCellValue(enginnerQuery.getGridNumber());
+ cell9.setCellValue(enginnerQuery.getCellNumber());
+ cell10.setCellValue(enginnerQuery.getProjectReserveId());
+ cell11.setCellValue(enginnerQuery.getProjectName());
+ cell12.setCellValue(enginnerQuery.getConstructionNecessityAndContent());
+ cell13.setCellValue(enginnerQuery.getSubstationName());
+ cell14.setCellValue(enginnerQuery.getCircuitName());
+ cell15.setCellValue(enginnerQuery.getNetRackProjectDivide());
+ cell16.setCellValue(enginnerQuery.getRequirementType());
+ cell17.setCellValue(enginnerQuery.getProjectType());
+ String costEstimateStr= enginnerQuery.getCostEstimate().toString();
+ cell18.setCellValue(Double.parseDouble(costEstimateStr));
+ cell19.setCellValue(enginnerQuery.getBasicRemarks());
+ cell20.setCellValue(enginnerQuery.getReserveProgress());
+ cell21.setCellValue(enginnerQuery.getImplementPlan());
+ cell22.setCellValue(enginnerQuery.getImplementBatch());
+ cell23.setCellValue(enginnerQuery.getCivilWork());
+ cell24.setCellValue(enginnerQuery.getPoleWorkload());
+ cell25.setCellValue(enginnerQuery.getPole190X10());
+ cell26.setCellValue(enginnerQuery.getPole190X12());
+ cell27.setCellValue(enginnerQuery.getPole190X15());
+ cell28.setCellValue(enginnerQuery.getPole230X15());
+ cell29.setCellValue(enginnerQuery.getPole230X18());
+ cell30.setCellValue(enginnerQuery.getPole300X9());
+ cell31.setCellValue(enginnerQuery.getPole350X15());
+ cell32.setCellValue(enginnerQuery.getSteelPipeGNH31Contains());
+ cell33.setCellValue(enginnerQuery.getSteelPipeGNH31NoContains());
+ cell34.setCellValue(enginnerQuery.getSteelPipeGNH3113DContains());
+ cell35.setCellValue(enginnerQuery.getSteelPipeGNH3113DNoContains());
+ cell36.setCellValue(enginnerQuery.getSteelPipeCNH35Contains());
+ cell37.setCellValue(enginnerQuery.getSteelPipeCNH35NoContains());
+ cell38.setCellValue(enginnerQuery.getSteelPipeCNH3513EContains());
+ cell39.setCellValue(enginnerQuery.getSteelPipeCNH3513ENoContains());
+ cell40.setCellValue(enginnerQuery.getSteelPipeCNH39Contains());
+ cell41.setCellValue(enginnerQuery.getSteelPipeCNH39NoContains());
+ cell42.setCellValue(enginnerQuery.getPrefabricatedWell());
+ cell43.setCellValue(enginnerQuery.getPrefabricatedBase());
+ cell44.setCellValue(enginnerQuery.getPrefabricatedPackage());
+ String str = URLEncoder.encode("立杆和土建工程量统计表.xlsx", "UTF8");
+ * 特殊物资统计表信息
+ public void exportSpecialSupply(HttpServletResponse response, XSSFWorkbook workbook, List<SpecialSupply> list){
+ Cell cell23 = crateCell(workbook,row,23); //A物资
+ Cell cell24 = crateCell(workbook,row,24); //B物资
+ Cell cell25 = crateCell(workbook,row,25); //C物资
+ Cell cell26 = crateCell(workbook,row,26); //D物资
+ Cell cell27 = crateCell(workbook,row,27); //环网柜AC10kV
+ Cell cell28 = crateCell(workbook,row,28); //环网柜AC10kV02
+ Cell cell29 = crateCell(workbook,row,29); //低压开关柜进线
+ Cell cell30 = crateCell(workbook,row,30); //低压开关柜分段
+ Cell cell31 = crateCell(workbook,row,31); //低压开关柜馈线
+ Cell cell32 = crateCell(workbook,row,32); //电缆分支箱四路
+ Cell cell33 = crateCell(workbook,row,33); //电缆分支箱五路
+ Cell cell34 = crateCell(workbook,row,34); //电缆分支箱七路
+ Cell cell35 = crateCell(workbook,row,35); //箱变路数
+ Cell cell36 = crateCell(workbook,row,36); //特殊物资A
+ Cell cell37 = crateCell(workbook,row,37); //特殊物资B
+ Cell cell38 = crateCell(workbook,row,38); //特殊物资C
+ Cell cell39 = crateCell(workbook,row,39); //特殊物资D
+ SpecialSupply specialSupply = list.get(i);
+ cell1.setCellValue(specialSupply.getProjectYear());
+ cell2.setCellValue(specialSupply.getProjectNature());
+ cell3.setCellValue(specialSupply.getDemandUnit());
+ cell4.setCellValue(specialSupply.getDistrict());
+ cell5.setCellValue(specialSupply.getProjectGroup());
+ cell6.setCellValue(specialSupply.getReserveBatches());
+ cell7.setCellValue(specialSupply.getBlockSupply());
+ cell8.setCellValue(specialSupply.getGridNumber());
+ cell9.setCellValue(specialSupply.getCellNumber());
+ cell10.setCellValue(specialSupply.getProjectReserveId());
+ cell11.setCellValue(specialSupply.getProjectName());
+ cell12.setCellValue(specialSupply.getConstructionNecessityAndContent());
+ cell13.setCellValue(specialSupply.getSubstationName());
+ cell14.setCellValue(specialSupply.getCircuitName());
+ cell15.setCellValue(specialSupply.getNetRackProjectDivide());
+ cell16.setCellValue(specialSupply.getRequirementType());
+ cell17.setCellValue(specialSupply.getProjectType());
+ String costEstimateStr= specialSupply.getCostEstimate().toString();
+ cell19.setCellValue(specialSupply.getBasicRemarks());
+ cell20.setCellValue(specialSupply.getReserveProgress());
+ cell21.setCellValue(specialSupply.getImplementPlan());
+ cell22.setCellValue(specialSupply.getImplementBatch());
+ cell23.setCellValue(specialSupply.getMaterialStatisticA());
+ cell24.setCellValue(specialSupply.getMaterialStatisticB());
+ cell25.setCellValue(specialSupply.getMaterialStatisticC());
+ cell26.setCellValue(specialSupply.getMaterialStatisticD());
+ cell27.setCellValue(specialSupply.getSwitchCabinet10KV());
+ cell28.setCellValue(specialSupply.getSwitchCabinet10KV02());
+ cell29.setCellValue(specialSupply.getSwitchCabinetIncomeLine());
+ cell30.setCellValue(specialSupply.getSwitchCabinetSegment());
+ cell31.setCellValue(specialSupply.getSwitchCabinetFeeder());
+ cell32.setCellValue(specialSupply.getNumberOfBranchBoxFourWay());
+ cell33.setCellValue(specialSupply.getNumberOfBranchBoxFiveWay());
+ cell34.setCellValue(specialSupply.getNumberOfBranchBoxSevenWay());
+ cell35.setCellValue(specialSupply.getNumberOfBox());
+ cell36.setCellValue(specialSupply.getSpecialSizeA());
+ cell37.setCellValue(specialSupply.getSpecialSizeB());
+ cell38.setCellValue(specialSupply.getSpecialSizeC());
+ cell39.setCellValue(specialSupply.getSpecialSizeD());
+ String str = URLEncoder.encode("特殊物资统计表.xlsx", "UTF8");
+ public void exportDemoliteList(HttpServletResponse response, XSSFWorkbook workbook, List<DemoliteList> list){
+ Cell cell1 = crateCell(workbook,row,1); //储备项目名称
+ Cell cell2 = crateCell(workbook,row,2); //储备项目编码
+ Cell cell3 = crateCell(workbook,row,3); //物料名称
+ Cell cell4 = crateCell(workbook,row,4); //规格型号
+ Cell cell5 = crateCell(workbook,row,5); //单位
+ Cell cell6 = crateCell(workbook,row,6); //数量
+ Cell cell7 = crateCell(workbook,row,7); //备注
+ DemoliteList demoliteList = list.get(i);
+ cell1.setCellValue(demoliteList.getProjectName());
+ cell2.setCellValue(demoliteList.getProjectReserveId());
+ cell3.setCellValue(demoliteList.getMaterialName());
+ cell4.setCellValue(demoliteList.getSpecification());
+ cell5.setCellValue(demoliteList.getUnit());
+ cell6.setCellValue(demoliteList.getCount());
+ cell7.setCellValue(demoliteList.getRemark());
+ String str = URLEncoder.encode("储备项目拆旧物资汇总表.xlsx", "UTF8");
@@ -0,0 +1,158 @@
+import java.text.ParseException;
+ * @create: 2022-08-16 15:01
+public class ExcelImportUtil {
+ * 获取储备项目概预算统计表表格数据
+ * @return List<BudgetStats> 导入表格数据
+ public static List<BudgetStats> getBudgetUtil(ImportUtil importUtil) throws ParseException {
+ List<BudgetStats> list = new ArrayList<BudgetStats>();
+ BudgetStats budgetStats = null;
+ for(int i=2; i<=lastRow;i++) {
+ budgetStats = new BudgetStats();
+ String reserveProjectName = (String) importUtil.getCellValue(row, 1);
+ //获取项目储备编号
+ String projectReserveId = (String) importUtil.getCellValue(row, 10);
+ if (StringUtils.isNotBlank(reserveProjectName)) {
+ if (StringUtils.isNotBlank(projectReserveId)) {
+ budgetStats.setProjectReserveId((String) importUtil.getCellValue(row, 10));
+ budgetStats.setPretrialEstimateAmount((String) importUtil.getCellValue(row, 22));
+ budgetStats.setPretrialEstimateAmountExcludeTax((String) importUtil.getCellValue(row, 23));
+ budgetStats.setPretrialDeductibleAmount((String) importUtil.getCellValue(row, 24));
+ budgetStats.setPretrialConstructeConsts((String) importUtil.getCellValue(row, 25));
+ budgetStats.setPretrialMaterialAmount((String) importUtil.getCellValue(row, 26));
+ budgetStats.setPretrialOtherExpanses((String) importUtil.getCellValue(row, 27));
+ budgetStats.setPretrialPreliminaryConstructeFee((String) importUtil.getCellValue(row, 28));
+ budgetStats.setPretrialSurveyFee((String) importUtil.getCellValue(row, 29));
+ budgetStats.setPretrialDesignFee((String) importUtil.getCellValue(row, 30));
+ budgetStats.setPretrialSupervisionFee((String) importUtil.getCellValue(row, 31));
+ budgetStats.setAfterTrialEstimateAmount((String) importUtil.getCellValue(row, 32));
+ budgetStats.setAfterTrialEstimateAmountExcludeTax((String) importUtil.getCellValue(row, 33));
+ budgetStats.setAfterTrialDeductibleAmount((String) importUtil.getCellValue(row, 34));
+ budgetStats.setAfterTrialConstructeConsts((String) importUtil.getCellValue(row, 35));
+ budgetStats.setAfterTrialMaterialAmount((String) importUtil.getCellValue(row, 36));
+ budgetStats.setAfterTrialOtherExpanses((String) importUtil.getCellValue(row, 37));
+ budgetStats.setAfterTrialPreliminaryConstructeFee((String) importUtil.getCellValue(row, 38));
+ budgetStats.setAfterTrialSurveyFee((String) importUtil.getCellValue(row, 39));
+ budgetStats.setAfterTrialDesignFee((String) importUtil.getCellValue(row, 40));
+ budgetStats.setAfterTrialSupervisionFee((String) importUtil.getCellValue(row, 41));
+ list.add(budgetStats);
+ * 获取储备进度统计表表格数据
+ public static List<ProgressStats> getProgressUtil(ImportUtil importUtil) throws ParseException {
+ List<ProgressStats> list = new ArrayList<ProgressStats>();
+ ProgressStats progressStats = null;
+ for (int i = 3; i <= lastRow; i++) {
+ progressStats = new ProgressStats();
+ String projectReserveId = (String) importUtil.getCellValue(row, 0);
+ progressStats.setProjectReserveId((String) importUtil.getCellValue(row, 0));//项目储备编号
+ progressStats.setInspectDepartmentReview((String) importUtil.getCellValue(row, 9));//是否通过运检部评审
+ progressStats.setInspectDepartmentReviewTime((String) importUtil.getCellValue(row, 10));//通过运检部评审时间
+ progressStats.setReleaseReserveTime((String) importUtil.getCellValue(row, 11));//运检部下达储备时间
+ progressStats.setOnSiteConfess((String) importUtil.getCellValue(row, 15));//是否进行现场交底
+ progressStats.setConfessCompleteTime((String) importUtil.getCellValue(row, 16));//交底完成时间
+ progressStats.setProvincialCompanyReview((String) importUtil.getCellValue(row, 30));//省公司评审-是否参加省公司评审
+ progressStats.setProvincialCompanyReviewBatch((String) importUtil.getCellValue(row, 31));//省公司评审-省公司评审批次
+ progressStats.setPassProvincialCompanyReview((String) importUtil.getCellValue(row, 32));//省公司评审-是否通过省公司评审
+ progressStats.setCauseAnalysis((String) importUtil.getCellValue(row, 33));//省公司评审-未通过原因分析
+ progressStats.setDesignChange((String) importUtil.getCellValue(row, 34));//省公司评审-是否需设计变更
+ progressStats.setDrawingReview((String) importUtil.getCellValue(row, 35));//图纸联合审查-是否进行图纸审查
+ progressStats.setReviewDate((String) importUtil.getCellValue(row, 36));//图纸联合审查-审图日期
+ progressStats.setPassDrawingReview((String) importUtil.getCellValue(row, 37));//图纸联合审查-是否通过图纸审查
+ progressStats.setReviewComment((String) importUtil.getCellValue(row, 38));//图纸联合审查-未通过审图意见
+ progressStats.setApprovedDate((String) importUtil.getCellValue(row, 39));//图纸联合审查-通过审核日期
+ progressStats.setJointReviewDesignChange((String) importUtil.getCellValue(row, 40));//图纸联合审查-是否需设计变更
+ progressStats.setFormalDrawing((String) importUtil.getCellValue(row, 43));//是否打印正式图纸
+ progressStats.setDrawingDate((String) importUtil.getCellValue(row, 44));//通知出图日期
+ progressStats.setTransferProjectCenterDate((String) importUtil.getCellValue(row, 45));//正式图纸移交项目中心日期
+ progressStats.setTransferToConstructionUnitDate((String) importUtil.getCellValue(row, 46));//正式图纸移交施工单位日期
+ list.add(progressStats);
+ * 获取储备项目建设规模统计表表格数据
+ public static List<ConstructeScale> getConstructeUtil(ImportUtil importUtil) throws ParseException {
+ List<ConstructeScale> list = new ArrayList<ConstructeScale>();
+ ConstructeScale constructeScale = null;
+ constructeScale = new ConstructeScale();
+ String reserveProjectName = (String) importUtil.getCellValue(row, 7);
+ String projectReserveId = (String) importUtil.getCellValue(row, 6);
+ constructeScale.setProjectReserveId((String) importUtil.getCellValue(row, 6));//项目储备编号
+ constructeScale.setConstructePurpose((String) importUtil.getCellValue(row, 9));//建设目的
+ constructeScale.setFactoryPrefab((String) importUtil.getCellValue(row, 32));//土建工厂化预制
+ constructeScale.setAncillaryFacility((String) importUtil.getCellValue(row, 33));//附属设施
+ constructeScale.setConstructionWorkMethod((String) importUtil.getCellValue(row, 34));//施工作业方式
+ constructeScale.setWorkWithoutInterruption((String) importUtil.getCellValue(row, 35));//不停电作业
+ String number = (String)importUtil.getCellValue(row, 36) == ""? "0" : (String)importUtil.getCellValue(row, 36);
+ int num = Integer.parseInt(number);
+ constructeScale.setPowerFailureHouseNum(num);//停电时户数
+ constructeScale.setPeakSummerProject((String) importUtil.getCellValue(row, 38));//是否迎峰度夏项目
+ constructeScale.setProjectReview((String) importUtil.getCellValue(row, 39));//通过第几批项目评审
+ list.add(constructeScale);
@@ -0,0 +1,238 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.web;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.SummaryStatisticService;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelImportUtil;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+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;
+ * @create: 2022-08-16 13:47
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/budgetStats")
+public class BudgetStatsController extends BaseController {
+ public BudgetStats get(@RequestParam(required = false) String id) {
+ BudgetStats entity = null;
+ entity = statsService.get(id);
+ entity = new BudgetStats();
+ * 储备项目概预算列表页面
+ * @param model
+ @RequiresPermissions("cg:reservemanagementcenter:budgetStats:list")
+ @RequestMapping(value = "budgetList")
+ public String budgetList(BudgetStats budgetStats, Model model) {
+ model.addAttribute("budgetStats", budgetStats);
+ return "modules/cg/statisticalTable/budgetStats/budgetStats";
+ * 储备项目概预算数据列表
+ * @param request
+ @RequestMapping(value = "list")
+ public Map<String, Object> basicData(BudgetStats budgetStats, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<BudgetStats> page = statsService.findPage(new Page<BudgetStats>(request, response), budgetStats);
+ List<BudgetStats> list = page.getList();
+ List<BudgetStats> statsList = new ArrayList<>();
+ BudgetStats stats = null;
+ for (int i=0;i<list.size();i++){
+ stats = list.get(i);
+ //根据projectReserveId查出流程表的proc_ins_id
+ String procInsId = statsService.getByProjectReserveId(stats.getProjectReserveId());
+ //根据procInsId查出历史流程名称和时间
+ List<History> histories = statsService.getHistoryByExecuteId(procInsId);
+ //当size>0时待办有历史流程,
+ if (histories.size()>0){
+ //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
+ String name = statsService.getByExecuteId(procInsId);
+ //设置项目进度
+ stats.setReserveProgress(name);
+ //设置是否完成概算修改
+ //第一种情况,修改中 先在历史表中查出技经人员审预算相关的信息
+ List<History> his = statsService.getHistoryByActName(procInsId,"技经人员审预算");
+ if (his.size()>0){
+ //根据他的完成时间来找下一个节点的信息
+ String strTime = his.get(0).getEndTime();
+ History history = statsService.getHistoryByTime(strTime,procInsId);
+ if (history == null){
+ stats.setBudgetRevision("无需修改");
+ stats.setCompleteTime(strTime);
+ }else {
+ //修改中的状态
+ if (history.getName().equals("设计单位查看错误原因")){
+ List<History> historyByActName = statsService.getHistoryByActName(procInsId,"设计单位查看错误原因");
+ String endTime = historyByActName.get(0).getEndTime();
+ if (endTime == null){
+ stats.setBudgetRevision("修改中");
+ //未完成状态
+ stats.setBudgetRevision("未完成");
+ stats.setReserveProgress("");
+ statsList.add(stats);
+ page.setList(statsList);
+ * 导入Excel数据
+ @RequiresPermissions("cg:reservemanagementcenter:budgetStats:import")
+ @RequestMapping(value = "import")
+ public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+ ImportUtil importUtil = new ImportUtil(file, 0, 0);
+ List<BudgetStats> budgetStats = ExcelImportUtil.getBudgetUtil(importUtil);
+ statsService.insertList(budgetStats);
+ j.setMsg("导入储备项目概预算信息失败!失败信息:" + e.getMessage());
+ * 删除表单
+ @RequiresPermissions(value={"cg:reservemanagementcenter:budgetStats:del"},logical= Logical.OR)
+ @RequestMapping(value = "deleteAll")
+ public AjaxJson delete(String ids){
+ String idArray[] =ids.split(",");
+ for(String id : idArray){
+ statsService.delete(statsService.get(id));
+ j.setMsg("删除储备项目概预算信息成功");
+ //导出excel
+ @RequiresPermissions("cg:reservemanagementcenter:budgetStats:export")
+ @RequestMapping(value = "export")
+ public void exportExcel(BudgetStats budgetStats, HttpServletRequest request, HttpServletResponse response) {
+ List<BudgetStats> list = statsService.exportFindList(budgetStats);
+ //生成序列号
+ int i = 1;
+ for (BudgetStats s : statsList) {
+ s.setId(String.valueOf(i));
+ i++;
+ ExcelExportUtil util = ExcelExportUtil.getOne();
+ XSSFWorkbook workbook = util.getWorkbook("budgetStats");
+ util.exportBasic(response,workbook,statsList);
@@ -0,0 +1,481 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.ConstructeScaleService;
+ * @create: 2022-08-19 14:17
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/constructeScale")
+public class ConstructeScaleController extends BaseController {
+ private ConstructeScaleService scaleService;
+ public ConstructeScale get(@RequestParam(required = false) String id) {
+ ConstructeScale entity = null;
+ entity = scaleService.get(id);
+ entity = new ConstructeScale();
+ @RequiresPermissions(value={"cg:reservemanagementcenter:constructeScale:del"},logical= Logical.OR)
+ scaleService.delete(scaleService.get(id));
+ j.setMsg("删除储备进度信息成功");
+ * 储备项目建设规模统计列表页面
+ @RequiresPermissions("cg:reservemanagementcenter:constructeScale:list")
+ @RequestMapping(value = "scaleList")
+ public String scaleList(ConstructeScale constructeScale, Model model) {
+ model.addAttribute("constructeScale", constructeScale);
+ return "modules/cg/statisticalTable/constructeScale/constructeScale";
+ *储备项目建设规模统计数据列表
+ public Map<String, Object> basicData(ConstructeScale constructeScale, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<ConstructeScale> page = scaleService.findPage(new Page<ConstructeScale>(request, response), constructeScale);
+ //获取到建设规模统计数据
+ List<ConstructeScale> scaleList = page.getList();
+ //创建一个新的list来接收处理过后的数据
+ List<ConstructeScale> list = new ArrayList<>();
+ ConstructeScale scale = null;
+ //赋值操作
+ for (int i=0;i<scaleList.size();i++){
+ scale = scaleList.get(i);
+ String procInsId = scaleService.getByProjectReserveId(scale.getProjectReserveId());
+ String name = scaleService.getByExecuteId(procInsId);
+ List<History> histories = scaleService.getHistoryByExecuteId(procInsId);
+ scale.setReserveProgress(name);
+ scale.setCityCompany("国网镇江供电公司");
+ //根据相关规则设置物料信息
+ //根物料规范的数据比对,判断在线开甲供材属于哪一类型的数据
+ //先从物料详细数据中查出规范数据
+ List<StandardDetail> detailList = scaleService.getStandardDetail();
+ //在从在线开甲供材的表中查出所有数据
+ List<MaterialData> materialDataList = scaleService.getMaterialData(scale.getProjectName());
+ //进行对比
+ if (materialDataList.size()>0){
+ double kgSum = 0;
+ double xlSum = 0;
+ double dlSum = 0;
+ double fzxSum = 0;
+ double hwxSum = 0;
+ double hwsSum = 0;
+ double zskgSum = 0;
+ double pdSum = 0;
+ double pdsSum = 0;
+ double xbSum = 0;
+ double xbkvaSum = 0;
+ double pdkvaSum = 0;
+ double pdkSum = 0;
+ double dyxlSum = 0;
+ double dydlSum = 0;
+ double dlfzxSum = 0;
+ double dlfzgSum = 0;
+ double pdftuSum = 0;
+ double pddtuSum = 0;
+ double glSum = 0;
+ double dltdSum = 0;
+ String num = "";
+ for (int j=0;j<materialDataList.size();j++){
+ for (int k=0;k<detailList.size();k++){
+ //通过物料编码和物料描述来进行对比
+ if (detailList.get(k).getMaterialCode().equals(materialDataList.get(j).getMaterialCode())
+ && detailList.get(k).getMaterialDescription().equals(materialDataList.get(j).getMaterialName())){
+ if (detailList.get(k).getProjectCategory().equals("开关柜")){
+ kgSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ scale.setSwitchCabinet(num);
+ if (detailList.get(k).getProjectCategory().equals("架空线路")){
+ xlSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = xlSum + "";
+ scale.setOverheadLine(num);
+ if (detailList.get(k).getProjectCategory().equals("电力电缆")){
+ dlSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = dlSum + "";
+ scale.setPowerCable(num);
+ if (detailList.get(k).getProjectCategory().equals("电缆分支箱")){
+ fzxSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = fzxSum + "";
+ scale.setCableBranchBox(num);
+ if (detailList.get(k).getProjectCategory().equals("户外环网箱")){
+ hwxSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = hwxSum + "";
+ scale.setOutdoorRingCage(num);
+ if (detailList.get(k).getProjectCategory().equals("环网箱/室")){
+ hwsSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = hwsSum + "";
+ scale.setRingRoom(num);
+ if (detailList.get(k).getProjectCategory().equals("柱上开关")){
+ zskgSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = zskgSum + "";
+ scale.setOnColumnSwitch(num);
+ if (detailList.get(k).getProjectCategory().equals("配电室kva")){
+ pdSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = pdSum + "";
+ scale.setSwitchRoomKVA(num);
+ if (detailList.get(k).getProjectCategory().equals("配电室")){
+ pdsSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = pdsSum + "";
+ scale.setSwitchRoom(num);
+ if (detailList.get(k).getProjectCategory().equals("箱变kva")){
+ xbkvaSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = xbkvaSum + "";
+ scale.setBoxChangeKVA(num);
+ if (detailList.get(k).getProjectCategory().equals("箱变")){
+ xbSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = xbSum + "";
+ scale.setBoxChange(num);
+ if (detailList.get(k).getProjectCategory().equals("配电变压器kva")){
+ pdkvaSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = pdkvaSum + "";
+ scale.setDistributionTransformerKVA(num);
+ if (detailList.get(k).getProjectCategory().equals("配电变压器")){
+ pdkSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = pdkSum + "";
+ scale.setDistributionTransformer(num);
+ if (detailList.get(k).getProjectCategory().equals("低压线路")){
+ dyxlSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = dyxlSum + "";
+ scale.setLowVoltageLine(num);
+ if (detailList.get(k).getProjectCategory().equals("低压电缆")){
+ dydlSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = dydlSum + "";
+ scale.setLowVoltageCable(num);
+ if (detailList.get(k).getProjectCategory().equals("低压电缆分支箱")){
+ dlfzxSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = dlfzxSum + "";
+ scale.setLowVoltageCableBox(num);
+ if (detailList.get(k).getProjectCategory().equals("低压配电箱(柜)")){
+ dlfzgSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = dlfzgSum + "";
+ scale.setLowVoltageCabinet(num);
+ if (detailList.get(k).getProjectCategory().equals("配电自动化终端(FTU)")){
+ pdftuSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = pdftuSum + "";
+ scale.setDistributeAutoMateTerminalFTU(num);
+ if (detailList.get(k).getProjectCategory().equals("配电自动化终端(DTU)")){
+ pddtuSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = pddtuSum + "";
+ scale.setDistributeAutoMateTerminalDTU(num);
+ if (detailList.get(k).getProjectCategory().equals("光缆")){
+ glSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = glSum + "";
+ scale.setOpticalCable(num);
+ if (detailList.get(k).getProjectCategory().equals("电缆通道")){
+ dltdSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
+ num = dltdSum + "";
+ scale.setCablePassage(num);
+ scale.setReserveProgress("");
+ list.add(scale);
+ System.out.println("list:" + list);
+ page.setList(list);
+ @RequiresPermissions("cg:reservemanagementcenter:constructeScale:import")
+ List<ConstructeScale> budgetStats = ExcelImportUtil.getConstructeUtil(importUtil);
+ scaleService.insertList(budgetStats);
+ j.setMsg("导入储备进度信息失败!失败信息:" + e.getMessage());
+ @RequiresPermissions("cg:reservemanagementcenter:constructeScale:export")
+ public void exportExcel(ConstructeScale constructeScale, HttpServletRequest request, HttpServletResponse response) {
+ List<ConstructeScale> scaleList = scaleService.exportFindList(constructeScale);
+ for (ConstructeScale s : list) {
+ XSSFWorkbook workbook = util.getWorkbook("constructeScale");
+ util.exportConstructe(response,workbook,list);
@@ -0,0 +1,114 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.DemoliteListService;
+ * @create: 2022-08-23 08:52
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/demoliteList")
+public class DemoliteListController extends BaseController {
+ private DemoliteListService listService;
+ public DemoliteList get(@RequestParam(required = false) String id) {
+ DemoliteList entity = null;
+ entity = listService.get(id);
+ entity = new DemoliteList();
+ * 储备项目拆旧物资汇总表页面
+ @RequiresPermissions("cg:reservemanagementcenter:demoliteList:list")
+ @RequestMapping(value = "demoliteList")
+ public String demoliteList(DemoliteList demoliteList, Model model) {
+ model.addAttribute("demoliteList", demoliteList);
+ return "modules/cg/statisticalTable/demoliteList/demoliteList";
+ * 储备项目拆旧物资汇总列表
+ public Map<String, Object> basicData(DemoliteList demoliteList, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<DemoliteList> page = listService.findPage(new Page<DemoliteList>(request, response), demoliteList);
+ @RequiresPermissions(value={"cg:reservemanagementcenter:demoliteList:del"},logical= Logical.OR)
+ listService.delete(listService.get(id));
+ j.setMsg("删除储备项目拆旧物资汇总列表信息成功");
+ @RequiresPermissions("cg:reservemanagementcenter:demoliteList:export")
+ public void exportExcel(DemoliteList demoliteList, HttpServletRequest request, HttpServletResponse response) {
+ List<DemoliteList> list = listService.exportFindList(demoliteList);
+ for (DemoliteList s : list) {
+ XSSFWorkbook workbook = util.getWorkbook("demoliteList");
+ util.exportDemoliteList(response,workbook,list);
@@ -0,0 +1,215 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.EnginnerQueryService;
+ * @create: 2022-08-22 15:19
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/enginnerQuery")
+public class EnginnerQueryController extends BaseController {
+ private EnginnerQueryService queryService;
+ public EnginnerQuery get(@RequestParam(required = false) String id) {
+ EnginnerQuery entity = null;
+ entity = queryService.get(id);
+ entity = new EnginnerQuery();
+ * 立杆和土建工程量统计列表页面
+ @RequiresPermissions("cg:reservemanagementcenter:enginnerQuery:list")
+ @RequestMapping(value = "queryList")
+ public String budgetList(EnginnerQuery enginnerQuery, Model model) {
+ model.addAttribute("enginnerQuery", enginnerQuery);
+ return "modules/cg/statisticalTable/enginnerQuery/enginnerQuery";
+ * 立杆和土建工程量统计数据列表
+ public Map<String, Object> basicData(EnginnerQuery enginnerQuery, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<EnginnerQuery> page = queryService.findPage(new Page<EnginnerQuery>(request, response), enginnerQuery);
+ List<EnginnerQuery> list = page.getList();
+ List<EnginnerQuery> queryList = new ArrayList<>();
+ EnginnerQuery query = null;
+ query = list.get(i);
+ String procInsId = queryService.getByProjectReserveId(query.getProjectReserveId());
+ List<History> histories = queryService.getHistoryByExecuteId(procInsId);
+ String name = queryService.getByExecuteId(procInsId);
+ query.setReserveProgress(name);
+ //设置立杆信息数据
+ //根据物料编码查询物料总量
+ Double sum1 = queryService.getData("500033660","","");
+ Double sum2 = queryService.getData("500013972","","");
+ Double sum3 = queryService.getData("500013974","","");
+ Double sum4 = queryService.getData("500033743","","");
+ Double sum5 = queryService.getData("乙供","等径水泥杆,300mm,9m,18φ16,下","");
+ Double sum6 = queryService.getData("500124726","","");
+ query.setPole190X10(sum1 == null ? "" : sum1 + "");
+ query.setPole190X12(sum2 == null ? "" : sum2 + "");
+ query.setPole190X15(sum3 == null ? "" : sum3 + "");
+ query.setPole230X15("");
+ query.setPole230X18(sum4 == null ? "" : sum4 + "");
+ query.setPole300X9(sum5 == null ? "" : sum5 + "");
+ query.setPole350X15(sum6 == null ? "" : sum6 + "");
+ //设置钢管杆信息
+ Double guan1 = queryService.getData("","配农网用,整套杆,GNH31-13-B","每基6.18吨(含基础+地脚螺栓)");
+ Double guan2 = queryService.getData("","配农网用,整套杆,GNH31-13-B","每基2.78吨(不含基础,含地脚螺栓)");
+ Double guan3 = queryService.getData("","配农网用,整套杆,GNH31-13-D","每基6.42吨(含基础+地脚螺栓)");
+ Double guan4 = queryService.getData("","配农网用,整套杆,GNH31-13-D","每基3.02吨(不含基础,含地脚螺栓)");
+ Double guan5 = queryService.getData("","配农网用,整套杆,GNH35-13-B","每基8.71吨(含基础+地脚螺栓)");
+ Double guan6 = queryService.getData("","配农网用,整套杆,GNH35-13-B","每基4.01吨(不含基础,含地脚螺栓)");
+ Double guan7 = queryService.getData("","配农网用,整套杆,GNH35-13-E","每基8.1吨(含基础+地脚螺栓)");
+ Double guan8 = queryService.getData("","配农网用,整套杆,GNH35-13-E","每基4.31吨(不含基础,含地脚螺栓)");
+ Double guan9 = queryService.getData("","配农网用,整套杆,GNH39-13-B","每基11.24吨(含基础+地脚螺栓)");
+ Double guan10 = queryService.getData("","配农网用,整套杆,GNH39-13-B","每基5.8吨(不含基础,含地脚螺栓)");
+ query.setSteelPipeGNH31Contains(guan1 == null ? "" : guan1 + "");
+ query.setSteelPipeGNH31NoContains(guan2 == null ? "" : guan2 + "");
+ query.setSteelPipeGNH3113DContains(guan3 == null ? "" : guan3 + "");
+ query.setSteelPipeGNH3113DNoContains(guan4 == null ? "" : guan4 + "");
+ query.setSteelPipeCNH35Contains(guan5 == null ? "" : guan5 + "");
+ query.setSteelPipeCNH35NoContains(guan6 == null ? "" : guan6 + "");
+ query.setSteelPipeCNH3513EContains(guan7 == null ? "" : guan7 + "");
+ query.setSteelPipeCNH3513ENoContains(guan8 == null ? "" : guan8 + "");
+ query.setSteelPipeCNH39Contains(guan9 == null ? "" : guan9 + "");
+ query.setSteelPipeCNH39NoContains(guan10 == null ? "" : guan10 + "");
+ query.setPrefabricatedWell("");
+ query.setPrefabricatedBase("");
+ query.setPrefabricatedPackage("");
+ queryList.add(query);
+ page.setList(queryList);
+ @RequiresPermissions("cg:reservemanagementcenter:enginnerQuery:export")
+ public void exportExcel(EnginnerQuery enginnerQuery, HttpServletRequest request, HttpServletResponse response) {
+ List<EnginnerQuery> list = queryService.exportFindList(enginnerQuery);
+ for (EnginnerQuery s : queryList) {
+ XSSFWorkbook workbook = util.getWorkbook("enginnerQuery");
+ util.exportEnginnerQuery(response,workbook,queryList);
@@ -0,0 +1,523 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.ProgressStatsService;
+ * @create: 2022-08-18 09:20
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/progressStats")
+public class ProgressStatsController extends BaseController {
+ private ProgressStatsService statsService;
+ private ReserveProcessProjectService projectService;
+ public ProgressStats get(@RequestParam(required = false) String id) {
+ ProgressStats entity = null;
+ entity = new ProgressStats();
+ @RequiresPermissions("cg:reservemanagementcenter:progressStats:list")
+ @RequestMapping(value = "progressList")
+ public String progressList(ProgressStats progressStats, Model model) {
+ model.addAttribute("progressStats", progressStats);
+ return "modules/cg/statisticalTable/progressStats/progressStats";
+ * 储备进度统计表数据列表
+ public Map<String, Object> basicData(ProgressStats progressStats, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<ProgressStats> page = statsService.findPage(new Page<ProgressStats>(request, response), progressStats);
+ List<ProgressStats> list = page.getList();
+ List<ProgressStats> statsList = new ArrayList<>();
+ ProgressStats stats = null;
+ //进行赋值操作
+ //查出proc_ins_id
+ //设置是否纳入实施计划 及 初定实施批次 及是否纳入储备
+ ReserveSummary summary = new ReserveSummary();
+ summary.setProjectReserveId(stats.getProjectReserveId());
+ ReserveSummary reserveSummary = statisticService.queryByProjectReserveId(summary);
+ stats.setImplementPlan(reserveSummary.getImplementPlan());
+ stats.setInitialImplementBatch(reserveSummary.getInitialImplementBatch());
+ stats.setIncludeReserve(reserveSummary.getIncludeReserve());
+ //设置项目名称,储备项目类型,需求提出单位,储备批次,备注
+ ReserveProcessProject process = new ReserveProcessProject();
+ process.setProjectReserveId(stats.getProjectReserveId());
+ ReserveProcessProject project = projectService.queryByProjectReserveId(process);
+ stats.setProjectName(project.getProjectName());
+ stats.setRequirementType(project.getRequirementType());
+ stats.setDemandUnit(project.getDemandUnit());
+ stats.setReserveBatches(project.getReserveBatches());
+ stats.setBasicRemarks(project.getBasicRemarks());
+ //设置设计委托发出时间 及 是否发出设计委托
+ //查看历史流程节点信息
+ //没有流程的情况
+ if (histories.size()==0){
+ //设置是否发出设计委托
+ stats.setDesignCommission("否");
+ stats.setDesignCommissionIssueTime(null);
+ //设置初设提交时间 及 是否完成初设
+ stats.setCompleteDesign("否");
+ stats.setSubmitTime(null);
+ //设置是否完成审图,是否通过图纸审核,未通过原因分析,通过审核日期,是否需设计变更
+ stats.setCompleteDraw("");
+ stats.setDrawAudit("");
+ stats.setReasonForFailure("");
+ stats.setPassAuditDate(null);
+ stats.setChangeDesign("");
+ //设置是否完成审核,是否通过专家审核,未通过原因分析,通过审核日期,是否需设计变更
+ stats.setCompleteReview("");
+ stats.setExpertReview("");
+ stats.setEstimateReasonForFailure("");
+ stats.setEstimatePassAuditDate(null);
+ stats.setEstimateChangeDesign("");
+ //设置图纸是否定稿,定稿日期
+ stats.setDrawingFinalize("");
+ stats.setFinalDate(null);
+ //根据procInsId查出当前流程名称
+ if (name == null){
+ stats.setReserveProgress("流程结束");
+ //设置储备进度
+ //有流程的情况
+ String startTime = histories.get(histories.size() - 1).getStartTime();
+ stats.setDesignCommission("是");
+ stats.setDesignCommissionIssueTime(startTime);
+ //根据节点名称查找
+ List<History> history = statsService.getHistoryByActName(procInsId, "设计单位上传施工图纸");
+ String endTime = history.get(history.size() - 1).getEndTime();
+ if (endTime != null){
+ stats.setCompleteDesign("是");
+ stats.setSubmitTime(endTime);
+ //在历史表中根据节点名称查找
+ List<History> history02 = statsService.getHistoryByActName(procInsId, "联合审图配网项目经理审图");
+ if (history02.size()>0){
+ String endTime02 = history02.get(0).getEndTime();
+ //刚进入联合审图的情况
+ if (endTime02 == null){
+ //根据时间来查找下一个节点的(联合审图下一步)信息
+ History historyByTime = statsService.getHistoryByTime(endTime02, procInsId);
+ HistoryComment comment = statsService.getCommentByTime(endTime02, procInsId);
+ if (historyByTime != null){
+ //通过的情况
+ if (historyByTime.getName().equals("设计单位上传预算书")){
+ stats.setCompleteDraw("是");
+ stats.setDrawAudit("是");
+ stats.setPassAuditDate(endTime02);
+ stats.setChangeDesign("否");
+ }else if (historyByTime.getName().equals("设计单位上传施工图纸")){
+ //不通过
+ stats.setCompleteDraw("否");
+ stats.setDrawAudit("不通过");
+ stats.setReasonForFailure(comment.getMessage());
+ stats.setChangeDesign("是");
+ //还有一种是 取消、待定的情况 流程结束
+ //判断是哪条流程线
+ HistoryVarinst byProcInstId = statsService.getByProcInstId(endTime02, procInsId);
+ if (byProcInstId.getName().equals("no")){
+ stats.setDrawAudit("取消");
+ }else if (byProcInstId.getName().equals("rural")){
+ stats.setDrawAudit("待定");
+ //设置是否完成审核,是否通过专家审核,未通过原因分析,通过审核日期,是否需设计变更 概预算审核
+ //在历史表中根据节点名称查找是否就行了概预算审核
+ List<History> history03 = statsService.getHistoryByActName(procInsId, "技经人员审预算");
+ if (history03.size()>0){
+ String endTime03 = history03.get(0).getEndTime();
+ //刚进入审预算的情况
+ if (endTime03 == null){
+ //根据时间来查找下一个节点的信息(是通过还是驳回)
+ History hi = statsService.getHistoryByTime(endTime03,procInsId);
+ HistoryComment comment = statsService.getCommentByTime(endTime03, procInsId);
+ if (hi == null){
+ stats.setCompleteReview("是");
+ stats.setExpertReview("是");
+ stats.setEstimatePassAuditDate(endTime03);
+ stats.setEstimateChangeDesign("否");
+ stats.setDrawingFinalize("是");
+ stats.setFinalDate(endTime03);
+ //驳回的情况
+ stats.setCompleteReview("否");
+ stats.setExpertReview("否");
+ stats.setEstimateReasonForFailure(comment.getMessage());
+ stats.setEstimateChangeDesign("是");
+ stats.setDrawingFinalize("否");
+ stats.setFinalDate("");
+ System.out.println(list);
+ @RequiresPermissions(value={"cg:reservemanagementcenter:progressStats:del"},logical= Logical.OR)
+ @RequiresPermissions("cg:reservemanagementcenter:progressStats:import")
+ List<ProgressStats> budgetStats = ExcelImportUtil.getProgressUtil(importUtil);
+ @RequiresPermissions("cg:reservemanagementcenter:progressStats:export")
+ public void exportExcel(ProgressStats progressStats, HttpServletRequest request, HttpServletResponse response) {
+ List<ProgressStats> list = statsService.exportFindList(progressStats);
+ for (ProgressStats s : statsList) {
+ XSSFWorkbook workbook = util.getWorkbook("progressStats");
+ util.exportProgress(response,workbook,statsList);
@@ -0,0 +1,179 @@
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.SpecialSupplyService;
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/specialSupply")
+public class SpecialSupplyController extends BaseController {
+ private SpecialSupplyService supplyService;
+ public SpecialSupply get(@RequestParam(required = false) String id) {
+ SpecialSupply entity = null;
+ entity = supplyService.get(id);
+ entity = new SpecialSupply();
+ * 特殊物资统计表页面
+ @RequiresPermissions("cg:reservemanagementcenter:specialSupply:list")
+ @RequestMapping(value = "supplyList")
+ public String supplyList(SpecialSupply specialSupply, Model model) {
+ model.addAttribute("specialSupply", specialSupply);
+ return "modules/cg/statisticalTable/specialSupply/specialSupply";
+ * 特殊物资统计数据列表
+ public Map<String, Object> basicData(SpecialSupply specialSupply, HttpServletRequest request, HttpServletResponse response, Model model) {
+ Page<SpecialSupply> page = supplyService.findPage(new Page<SpecialSupply>(request, response), specialSupply);
+ List<SpecialSupply> list = page.getList();
+ List<SpecialSupply> supplyList = new ArrayList<>();
+ SpecialSupply supply = null;
+ supply = list.get(i);
+ String procInsId = supplyService.getByProjectReserveId(supply.getProjectReserveId());
+ List<History> histories = supplyService.getHistoryByExecuteId(procInsId);
+ String name = supplyService.getByExecuteId(procInsId);
+ supply.setReserveProgress(name);
+ //设置20kv物资统计
+ //设置高低压开关柜统计
+ Double kgg1 = supplyService.getData("500116761", "环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,带避雷器,电动,端子排", "");
+ Double kgg2 = supplyService.getData("500116761", "环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,不带避雷器,电动,端子排", "");
+ Double kgg3 = supplyService.getData("500006630", "", "");
+ Double kgg4 = supplyService.getData("500006556", "", "");
+ Double kgg5 = supplyService.getData("500006703", "", "");
+ Double kgg6 = supplyService.getData("500107555", "", "");
+ Double kgg7 = supplyService.getData("500107558", "", "");
+ Double kgg8 = supplyService.getData("500107562", "", "");
+ supply.setSwitchCabinet10KV(kgg1 == null ? "" : kgg1 + "");
+ supply.setSwitchCabinet10KV02(kgg2 == null ? "" : kgg2 + "");
+ supply.setSwitchCabinetIncomeLine(kgg3 == null ? "" : kgg3 + "");
+ supply.setSwitchCabinetSegment(kgg4 == null ? "" : kgg4 + "");
+ supply.setSwitchCabinetFeeder(kgg5 == null ? "" : kgg5 + "");
+ supply.setNumberOfBranchBoxFourWay(kgg6 == null ? "" : kgg6 + "");
+ supply.setNumberOfBranchBoxFiveWay(kgg7 == null ? "" : kgg7 + "");
+ supply.setNumberOfBranchBoxSevenWay(kgg8 == null ? "" : kgg8 + "");
+ //设置低压分支箱路上统计
+ //设置箱变路数统计
+ //设置特殊尺寸物资统计
+ supplyList.add(supply);
+ page.setList(supplyList);
+ @RequiresPermissions("cg:reservemanagementcenter:specialSupply:export")
+ public void exportExcel(SpecialSupply specialSupply, HttpServletRequest request, HttpServletResponse response) {
+ List<SpecialSupply> list = supplyService.exportFindList(specialSupply);
+ for (SpecialSupply s : supplyList) {
+ XSSFWorkbook workbook = util.getWorkbook("specialSupply");
+ util.exportSpecialSupply(response,workbook,supplyList);
@@ -2,6 +2,8 @@ package com.jeeplus.modules.sg.managementcenter.activiti.utils;
import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
import com.jeeplus.modules.sg.managementcenter.activiti.entity.FindTask;
import com.jeeplus.modules.sg.managementcenter.activiti.mapper.ConstructionMapper;
@@ -40,6 +42,8 @@ public class MyActiviUtils {
private TaskService taskService;
+ private static ReserveProcessProjectService processProjectService = SpringContextHolder.getBean(ReserveProcessProjectService.class);
private RuntimeService runtimeService;
private static ConstructionService constructionService = SpringContextHolder.getBean(ConstructionService.class);
@@ -279,6 +283,14 @@ public class MyActiviUtils {
+ public static ReserveProcessProject findCgUser(String procInsId) {
+ ReserveProcessProject user = processProjectService.findCgUser(procInsId);
+ return user;
* 通过流程定义号查询项目的流转人员信息-转资流程
public static Project findFundUser(String procInsId) {
@@ -252,6 +252,7 @@ public class ShowListController extends BaseController {
@RequestMapping(value = "raiseData")
public Map<String, Object> raiseData(ShowList showList, HttpServletRequest request, HttpServletResponse response, Model model) {
Page<ShowList> page = showListService.findRaisePage(new Page<ShowList>(request, response), showList);
+ System.out.println(showList);
@@ -64,7 +64,7 @@ public class RaiseCapitalController extends BaseController {
private ShowListService showListService;
public RaiseCapital get(@RequestParam(required=false) String id) {
RaiseCapital entity = null;
@@ -76,7 +76,7 @@ public class RaiseCapitalController extends BaseController {
return entity;
* 提资表单列表页面
@@ -88,7 +88,21 @@ public class RaiseCapitalController extends BaseController {
model.addAttribute("raiseCapital", raiseCapital);
return "modules/sg/raiseCapital/raiseCapital";
+ * 在线开甲供材列表页面
+ @RequiresPermissions("test:raiseCapital:jgcList")
+ @RequestMapping(value = {"jgcList", ""})
+ public String jgcList(RaiseCapital raiseCapital, Model model,String projectName,String projectReserveId) {
+ List<PickList> pickListList = raiseCapitalService.newAllList();
+// raiseCapital.setProjectName(projectName);
+ model.addAttribute("pickListList", pickListList);
+ model.addAttribute("raiseCapital", raiseCapital);
+ model.addAttribute("projectName", projectName);
+ return "modules/cg/reservemanagementcenter/raiseCapital/raiseCapital";
* 提资表单列表数据
@@ -96,7 +110,7 @@ public class RaiseCapitalController extends BaseController {
@RequiresPermissions("test:raiseCapital:list")
@RequestMapping(value = "data")
public Map<String, Object> data(RaiseCapital raiseCapital, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<RaiseCapital> page = raiseCapitalService.findPage(new Page<RaiseCapital>(request, response), raiseCapital);
+ Page<RaiseCapital> page = raiseCapitalService.findPage(new Page<RaiseCapital>(request, response), raiseCapital);
@@ -133,7 +147,7 @@ public class RaiseCapitalController extends BaseController {
j.setMsg("保存提资表单成功");
return j;
* 删除提资表单
@@ -146,7 +160,7 @@ public class RaiseCapitalController extends BaseController {
j.setMsg("删除提资表单成功");
* 批量删除提资表单
@@ -197,7 +211,7 @@ public class RaiseCapitalController extends BaseController {
* 下载导入提资表单数据模板
@@ -208,7 +222,7 @@ public class RaiseCapitalController extends BaseController {
AjaxJson j = new AjaxJson();
try {
String fileName = "提资表单数据导入模板.xlsx";
- List<RaiseCapital> list = Lists.newArrayList();
+ List<RaiseCapital> list = Lists.newArrayList();
new ExportExcel("提资表单数据", RaiseCapital.class, 1).setDataList(list).write(response, fileName).dispose();
return null;
} catch (Exception e) {
@@ -275,4 +289,4 @@ public class RaiseCapitalController extends BaseController {
-}
@@ -350,4 +350,4 @@ public class FileController extends BaseController {
@@ -208,4 +208,4 @@ function claim(taskId) {
});
-</script>
+</script>
@@ -0,0 +1,390 @@
+<%@ page contentType = "text/html;charset=UTF-8" %>
+ <script>
+ $(document).ready(function () {
+ window.operateEvents = {
+ 'change input': function (e, value, row, index) {
+ var ss = $('#' + row.id).val();
+ jp.confirm('确认要修改?', function () {
+ jp.get("${ctx}/picking/activiti/raiseUpdate?id=" + row.id + "&mdTotalAmount=" + ss, function (data) {
+ jp.success(data.msg);
+ refresh();
+ })
+ }, function () {
+ $('#informationTable').bootstrapTable('refresh');
+ };
+ var item = "";
+ //bootstrapTable加载数据
+ $('#informationTable').bootstrapTable({
+ //请求方法
+ method: 'post',
+ //类型json
+ dataType: "json",
+ contentType: "application/x-www-form-urlencoded",
+ //显示检索按钮
+ showSearch: false,
+ //显示刷新按钮
+ showRefresh: false,
+ //显示切换手机试图按钮
+ showToggle: false,
+ //显示 内容列下拉框
+ showColumns: false,
+ //显示到处按钮
+ showExport: false,
+ //显示切换分页按钮
+ showPaginationSwitch: false,
+ //最低显示2行
+ minimumCountColumns: 2,
+ //是否显示行间隔色
+ striped: true,
+ //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+ cache: false,
+ //是否显示分页(*)
+ pagination: false,
+ //排序方式
+ sortOrder: "asc",
+ //初始化加载第一页,默认第一页
+ pageNumber: 1,
+ //每页的记录行数(*)
+ pageSize: 10,
+ //可供选择的每页的行数(*)
+ pageList: [10, 25, 50, 100],
+ //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+ url: "${ctx}/picking/showlist/raiseData",
+ //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+ ////查询参数,每次调用是会带上这个参数,可自定义
+ queryParams: function (params) {
+ var searchParam = $("#searchForm").serializeJSON();
+ searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+ searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+ searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+ return searchParam;
+ },
+ //分页方式:client客户端分页,server服务端分页(*)
+ sidePagination: "server",
+ contextMenuTrigger: "right",//pc端 按右键弹出菜单
+ contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+ contextMenu: '#context-menu',
+ onClickRow: function (row, $el) {
+ onShowSearch: function () {
+ $("#search-collapse").slideToggle();
+ formatNoMatches: function () {
+ return "你的自定义文字说明";
+ columns: [
+ {
+ checkbox: true
+ field: 'materialCode',
+ title: '物料编码',
+ }, {
+ field: 'materialDescription',
+ title: '物料名称',
+ field: 'extensionDescription',
+ title: '扩展描述',
+ field: 'mdUnits',
+ title: '单位',
+ field: 'mdTotalAmount',
+ title: '总量',
+ events: operateEvents,
+ formatter: getTime
+ field: 'mdSingleWeight',
+ title: '单重/kg',
+ field: 'mdTotalWeight',
+ title: '总重/吨',
+ field: 'mdTheParty',
+ title: '甲乙供',
+ field: 'mdText',
+ title: '备注',
+ ]
+ });
+ $('#informationTable2').bootstrapTable({
+ url: "${ctx}/picking/showlist/mkData",
+ field: 'mdBigClass',
+ title: '模块大类',
+ field: 'mdTheClass',
+ title: '模块中类',
+ field: 'mdName',
+ title: '模块名称',
+ function getTime(value, row, index) {
+ return [
+ "<input id=" + row.id + " type='number' name='changeAmount' class='form-control required deal' value=" + row.mdTotalAmount + ">",
+ ].join('');
+ if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+ $('#informationTable').bootstrapTable("toggleView");
+ $('#informationTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+ 'check-all.bs.table uncheck-all.bs.table', function () {
+ $('#remove').prop('disabled', !$('#informationTable').bootstrapTable('getSelections').length);
+ // 绑定查询按扭
+ $("#search").click("click", function () {
+ $("#click1").click("click", function () {
+ // alert("1");
+ $("#click2").attr("style", "");
+ $("#click3").attr("style", "");
+ $("#click1").attr("style", "border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+ $("#click2").click("click", function () {
+ $("#click1").attr("style", "");
+ $("#click2").attr("style", "border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+ $("#click3").attr("style", "border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)");
+ // 绑定查询重置按扭
+ $("#reset").click("click", function () {
+ $("#searchForm input").val("");
+ $("#searchForm select").val("");
+ $("#dq").click("click", function () {
+ $("#div1").attr("style", "display:block;");
+ $("#div2").attr("style", "display:none;");
+ $("#div3").attr("style", "display:none;");
+ $("#qd").click("click", function () {
+ let projectName = $("#projectName").val();
+ $('input[name="need"]').each(function () {
+ var val = $(this).val();
+ if (val != null && val != "" && val > 0) {
+ item += $(this).attr("id") + ":" + val + ";"
+ //将item提交,遍历后保存数据
+ if (projectName == null || projectName == "") {
+ jp.error("项目名称不能为空!");
+ } else if (item == null || item == "") {
+ jp.error("请填写模块表");
+ $("#div1").attr("style", "display:none;");
+ $("#div2").attr("style", "display:block;");
+ jp.post("${ctx}/picking/showlist/saveData",
+ "item": item,
+ "projectName": projectName
+ function (data) {
+ // console.log(projectName);
+ $('#informationTable').bootstrapTable('refresh', {
+ query:
+ projectName: projectName
+ $("#mkqd").click("click", function () {
+ $("#div3").attr("style", "display:block;");
+ // console.log(item + "\t");
+ $('#informationTable2').bootstrapTable('refresh', {
+ item: item
+ /*$("#agree").click(function () {
+ console.log(item + "\t");
+ jp.post("${ctx}/raiseCapital/exportCache",
+ if (data.success) {
+ jp.downloadFile('${ctx}/raiseCapital/export?projectName=' + projectName, 'raiseCapital');//给个name是为了能够在某些条件下下载两个文件
+ jp.success("下载成功")
+ refreshWindows();
+ });*/
+ function refreshWindows() {
+ location.reload();
+ function addRow(list, idx, tpl, row) {
+ $(list).append(Mustache.render(tpl, {
+ idx: idx, delBtn: true, row: row
+ }));
+//刷新列表
+function refresh() {
+function getIdSelections() {
+ return $.map($("#informationTable").bootstrapTable('getSelections'), function (row) {
+ return row.id
+function deleteAll() {
+ jp.confirm('确认要删除该领料信息?', function () {
+ jp.loading();
+ jp.get("${ctx}/picking/activiti/deleteRaiseAll?ids=" + getIdSelections(), function (data) {
+function add() {
+ var projectName = $("#projectName").val();
+ jp.openSaveDialog('新增领料信息', "${ctx}/picking/activiti/netRaise?projectName=" + projectName, '800px', '500px');
@@ -0,0 +1,181 @@
+<%@ 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="raiseCapital.js" %>
+ <style type="text/css">
+ #div1{
+ margin-top: 10px;
+ .well-class-body{
+ width: 150px;
+ word-wrap: break-word;
+ word-break: break-all;
+ /*text-align: right;*/
+ margin: 2px;
+ .list-lig-one{
+ color: #0C0C0C;
+ /*text-align: center;*/
+ font-size: 17px;
+ background-color: whitesmoke;
+ .list-lig-two{
+ /*background-color: #6495ED;*/
+ color: #333333;
+ font-size: 14px;
+ </style>
+</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>
+ <ul class="nav nav-tabs">
+ <li role="presentation" id="click1" style="border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)"><a id="dq" href="javascript:void(0)">填写需要材料</a></li>
+ <%--<li role="presentation" id="click3" ><a id="mkqd" href="javascript:void(0)">查看模块清单</a></li>--%>
+ <li role="presentation" id="click2" ><a id="qd" href="javascript:void(0)">查看领料清单</a></li>
+ </ul>
+ <!-- 表格 -->
+ <div id="div1">
+ <input type="hidden" id="projectName" value="${projectName}}">
+ <%--<table class="table table-bordered">
+ <tbody>
+ <tr>
+ <td class="width-15 active"><label class="pull-right">项目编号:</label></td>
+ <td class="width-35">
+ <input id="projectNo" cssClass="form-control" placeholder="项目编号"/>
+ </td>
+ <td class="width-15 active"><label class="pull-right">批准人:</label></td>
+ <input id="approver" cssClass="form-control" placeholder="批准人"/>
+ </tr>
+ <td class="width-15 active"><label class="pull-right">erp编码:</label></td>
+ <input id="erpCode" cssClass="form-control" placeholder="erp编码"/>
+ <td class="width-15 active"><label class="pull-right">审核人:</label></td>
+ <input id="reviewer" cssClass="form-control" placeholder="审核人"/>
+ <td class="width-15 active"><label class="pull-right">项目名称:<font color='red'>*</font></label></td>
+ <input id="projectName" cssClass="form-control required" placeholder="必填"/>
+ <td class="width-15 active"><label class="pull-right">制单人:</label></td>
+ <input id="preparedBy" cssClass="form-control required" placeholder="制单人"/>
+ <td class="width-15 active"><label class="pull-right">甲方项目经理确认:</label></td>
+ <input id="manager" cssClass="form-control required" placeholder="甲方项目经理确认"/>
+ <td class="width-15 active"><label class="pull-right">领用单位:</label></td>
+ <input id="reqUnit" cssClass="form-control required" placeholder="领用单位"/>
+ <td class="width-15 active"><label class="pull-right">制单时间:</label></td>
+ <input id="preTime" cssClass="form-control" placeholder="制单时间"/>
+ </tbody>
+ </table>--%>
+ <table class="table table-view">
+ <c:forEach items="${pickListList}" var="items" varStatus="status">
+ <c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+ </c:if>
+ <td colspan="4" class="list-lig-one">${items.name}</td>
+ <c:if test="${status.count % 1 eq 0 || status.count eq 1}">
+ <c:forEach items="${items.mdTheClassList}" var="items" varStatus="status">
+ <td colspan="4" class="list-lig-two">${items.name}</td>
+ <c:forEach items="${items.mdSmallClassList}" var="itemss" varStatus="status">
+ <c:if test="${status.count eq 1 || (status.count-1) % 4 eq 0}">
+ <td style="text-align: center;vertical-align: middle">
+ <div class="well-class-body" style="float: left;">
+ <a href="javascript:jp.openViewDialog('模块清单','${ctx}/managementcenter/moduleacquisition/moduleListing/list?blockId=${itemss.id}', '800px', '500px');">
+ ${itemss.name}
+ </a>
+ <div style="float: left;margin-left: 5px;margin: auto">
+ <input style="width:40px;" placeholder="0" type="number" min="0" name="need" id="${itemss.id}"/><span> ${itemss.mdUnit}</span>
+<%-- <span><img onclick="jp.showPic('${itemss.mdImg}')" src="${itemss.mdImg}" height="50px"></span>--%>
+ <c:if test="${not empty itemss.mdImg}">
+ <a id="imgButton" class="btn btn-success btn-xs waves-effect m-r-5" href="javascript:jp.openViewDialog('查看附件','${ctx}/picking/activiti/pickPic?id=${itemss.id}', '800px', '500px')">显示附件</a>
+ <c:if test="${status.count % 4 eq 0 || status.count eq 4}">
+ </c:forEach>
+ </table>
+<%-- //领料--%>
+ <div id="div2" style="display: none">
+ <!-- 工具栏 -->
+ <div style="margin-top: 10px;">
+ <button id="add" class="btn btn-primary" onclick="add()">
+ <i class="glyphicon glyphicon-plus"></i> 新建
+ </button>
+ <button id="remove" class="btn btn-danger" disabled onclick="deleteAll()">
+ <i class="glyphicon glyphicon-remove"></i> 删除
+ <table id="informationTable" data-toolbar="#toolbar" class="table"></table>
+ <%--<div class="row">
+ <div class="col-sm-3"></div>
+ <div class="col-sm-6">
+ <div class="form-group text-center">
+ <input id="agree" class="btn btn-primary btn-lg btn-parsley" type="submit" value="导出文档" />
+ </div>--%>
+<%-- //模块清单
+ <div id="div3" style="display: none">
+ <table id="informationTable2" data-toolbar="#toolbar" class="table"></table>
+</body>
+</html>
@@ -0,0 +1,395 @@
+<%@ include file="/webpage/include/taglib.jsp" %>
+ <title>技经人员审预算</title>
+ <script type="text/javascript">
+ $('#disclosureFinishDate').datetimepicker({
+ format: "YYYY-MM-DD"
+ $("#agree").click(function () {
+ jp.prompt("通过", function (message) {
+ var projectReserveId = $("#projectReserveId").val();
+ var pretrialBudgetTaxInclude = $("#pretrialBudgetTaxInclude").val();
+ var pretrialBudgetTaxNoInclude = $("#pretrialBudgetTaxNoInclude").val();
+ var pretrialSupervisionFeeTaxNoInclude = $("#pretrialSupervisionFeeTaxNoInclude").val();
+ var pretrialDesignFeeTaxNoInclude = $("#pretrialDesignFeeTaxNoInclude").val();
+ var afterTrialBudgetTaxInclude = $("#afterTrialBudgetTaxInclude").val();
+ var afterTrialBudgetTaxNoInclude = $("#afterTrialBudgetTaxNoInclude").val();
+ var afterTrialSupervisionFeeTaxNoInclude = $("#afterTrialSupervisionFeeTaxNoInclude").val();
+ var afterTrialDesignFeeTaxNoInclude = $("#afterTrialDesignFeeTaxNoInclude").val();
+ jp.post("${ctx}/cg/reservemanagementcenter/process/actBudgetUnit",
+ "taskId": "${reserveProcess.act.taskId}",
+ "taskName": "${reserveProcess.act.taskName}",
+ "taskDefKey": "${reserveProcess.act.taskDefKey}",
+ "procInsId": "${reserveProcess.act.procInsId}",
+ "procDefId": "${reserveProcess.act.procDefId}",
+ "flag": "yes",
+ "projectReserveId": projectReserveId,
+ "projectName": projectName,
+ "pretrialBudgetTaxInclude": pretrialBudgetTaxInclude,
+ "pretrialBudgetTaxNoInclude": pretrialBudgetTaxNoInclude,
+ "pretrialSupervisionFeeTaxNoInclude": pretrialSupervisionFeeTaxNoInclude,
+ "pretrialDesignFeeTaxNoInclude": pretrialDesignFeeTaxNoInclude,
+ "afterTrialBudgetTaxInclude": afterTrialBudgetTaxInclude,
+ "afterTrialBudgetTaxNoInclude": afterTrialBudgetTaxNoInclude,
+ "afterTrialSupervisionFeeTaxNoInclude": afterTrialSupervisionFeeTaxNoInclude,
+ "afterTrialDesignFeeTaxNoInclude": afterTrialDesignFeeTaxNoInclude,
+ "comment": window.encodeURI(message)
+ jp.go("${ctx}/act/task/todo");
+ jp.error(data.msg);
+ );
+ $("#no").click(function () {
+ var preferedCase = $("#preferedCase").val();
+ var transferSituation = $("#transferSituation").val();
+ var budgetTemplateCheck = $("#budgetTemplateCheck").val();
+ var quotaApplicationCheck = $("#quotaApplicationCheck").val();
+ var workLoadCheck = $("#workLoadCheck").val();
+ var checkTheFee = $("#checkTheFee").val();
+ var supplyCheck = $("#supplyCheck").val();
+ var materialCheck = $("#materialCheck").val();
+ var liveWorkFeeCheck = $("#liveWorkFeeCheck").val();
+ var demolitionEngineeringProblems = $("#demolitionEngineeringProblems").val();
+ var otherProblem = $("#otherProblem").val();
+ jp.prompt("不通过", function (message) {
+ jp.post("${ctx}/cg/reservemanagementcenter/process/actBudgetUnit", {
+ "flag": "no",
+ "preferedCase": preferedCase,
+ "transferSituation": transferSituation,
+ "budgetTemplateCheck": budgetTemplateCheck,
+ "quotaApplicationCheck": quotaApplicationCheck,
+ "workLoadCheck": workLoadCheck,
+ "checkTheFee": checkTheFee,
+ "supplyCheck": supplyCheck,
+ "materialCheck": materialCheck,
+ "liveWorkFeeCheck": liveWorkFeeCheck,
+ "demolitionEngineeringProblems": demolitionEngineeringProblems,
+ "otherProblem": otherProblem,
+ jp.go("${ctx}/act/task/todo")
+ </script>
+<body class="bg-white">
+<div class="wrapper wrapper-content">
+ <div class="row">
+ <div class="col-md-12">
+ <h3 class="panel-title">
+ <h3 class="panel-title">技经人员审预算</h3>
+ </h3>
+ <form:form id="inputForm" modelAttribute="reserveProcess" class="form-horizontal">
+ <form:hidden path="id"/>
+ <form:hidden path="act.taskId"/>
+ <form:hidden path="act.taskName"/>
+ <form:hidden path="act.taskDefKey"/>
+ <form:hidden path="act.procInsId"/>
+ <form:hidden path="act.procDefId"/>
+ <form:hidden id="flag" path="act.flag"/>
+ <table class="table table-bordered">
+ <td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+ <td class="width-15 active"><label class="">项目年份:</label></td>
+ <form:input path="reserveSummary.projectYear" htmlEscape="false" readonly="true"
+ class="form-control"/>
+ <td class="width-15 active"><label class="">项目性质:</label></td>
+ <form:input path="reserveSummary.projectNature" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">需求单位:</label></td>
+ <form:input path="reserveSummary.demandUnit" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">区域:</label></td>
+ <form:input path="reserveSummary.district" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">项目分组:</label></td>
+ <form:input path="reserveSummary.projectGroup" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">储备批次:</label></td>
+ <form:input path="reserveSummary.reserveBatches" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">供电区域:</label></td>
+ <form:input path="reserveSummary.blockSupply" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">网格编号:</label></td>
+ <form:input path="reserveSummary.gridNumber" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">单元格编号:</label></td>
+ <form:input path="reserveSummary.cellNumber" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">项目储备编号:</label></td>
+ <form:input path="reserveSummary.projectReserveId" htmlEscape="false"
+ readonly="true" class="form-control"/>
+ <form:input path="projectReserveId" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">项目名称:</label></td>
+ <form:input path="projectName" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">建设必要性及内容:</label></td>
+ <form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false"
+ <td class="width-15 active"><label class="">变电站名称:</label></td>
+ <form:input path="reserveSummary.substationName" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">线路名称:</label></td>
+ <form:input path="reserveSummary.circuitName" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">网架项目划分:</label></td>
+ <form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false"
+ readonly="true" class="form-control number money"/>
+ <td class="width-15 active"><label class="">需求类型:</label></td>
+ <form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true"
+ class="form-control number money"/>
+ <td class="width-15 active"><label class="">费用估算:</label></td>
+ <form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true"
+ <td class="width-15 active"><label class="">备注:</label></td>
+ <form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true"
+ <td colspan="4" class="width-15 active"><label class="">预算书审前审后数据:</label></td>
+ <td class="width-15 active"><label class="">审前概算(含税):</label></td>
+ <form:input path="pretrialBudgetTaxInclude" htmlEscape="false"
+ <td class="width-15 active"><label class="">审前概算(不含税):</label></td>
+ <form:input path="pretrialBudgetTaxNoInclude" htmlEscape="false"
+ <td class="width-15 active"><label class="">审前监理费(不含税):</label></td>
+ <form:input path="pretrialSupervisionFeeTaxNoInclude" htmlEscape="false"
+ <td class="width-15 active"><label class="">审前设计费(不含税):</label></td>
+ <form:input path="pretrialDesignFeeTaxNoInclude" htmlEscape="false"
+ <td class="width-15 active"><label class="">审后概算(含税):</label></td>
+ <form:input path="afterTrialBudgetTaxInclude" htmlEscape="false"
+ <td class="width-15 active"><label class="">审后概算(不含税):</label></td>
+ <form:input path="afterTrialBudgetTaxNoInclude" htmlEscape="false"
+ <td class="width-15 active"><label class="">审后监理费(不含税):</label></td>
+ <form:input path="afterTrialSupervisionFeeTaxNoInclude"
+ htmlEscape="false" class="form-control number money"/>
+ <td class="width-15 active"><label class="">审后设计费(不含税):</label></td>
+ <form:input path="afterTrialDesignFeeTaxNoInclude" htmlEscape="false"
+ <td colspan="4" class="width-15 active"><label class="">预算问题反馈记录:</label></td>
+ <td class="width-15 active"><label class="">甲供材优选情况:</label></td>
+ <form:input path="preferedCase" htmlEscape="false"
+ <td class="width-15 active"><label class="">甲供转乙供情况:</label></td>
+ <form:input path="transferSituation" htmlEscape="false"
+ <td class="width-15 active"><label class="">预算模板核对:</label></td>
+ <form:input path="budgetTemplateCheck" htmlEscape="false"
+ <td class="width-15 active"><label class="">定额套用核对:</label></td>
+ <form:input path="quotaApplicationCheck" htmlEscape="false"
+ <td class="width-15 active"><label class="">工作流核对:</label></td>
+ <form:input path="workLoadCheck" htmlEscape="false"
+ <td class="width-15 active"><label class="">取费核对:</label></td>
+ <form:input path="checkTheFee" htmlEscape="false"
+ <td class="width-15 active"><label class="">甲供物资核对:</label></td>
+ <form:input path="supplyCheck" htmlEscape="false"
+ <td class="width-15 active"><label class="">乙供物资核对:</label></td>
+ <form:input path="materialCheck" htmlEscape="false"
+ <td class="width-15 active"><label class="">带电作业费核对:</label></td>
+ <form:input path="liveWorkFeeCheck" htmlEscape="false"
+ <td class="width-15 active"><label class="">拆除工程问题:</label></td>
+ <form:input path="demolitionEngineeringProblems" htmlEscape="false"
+ <td class="width-15 active"><label class="">其他问题:</label></td>
+ <form:input path="otherProblem" htmlEscape="false"
+ </form:form>
+ <input id="agree" class="btn btn-primary btn-lg btn-parsley" type="submit" value="通过"/>
+ <input id="no" class="btn btn-danger btn-lg btn-parsley" type="submit" value="不通过"/>
+ <c:if test="${not empty reserveProcess.id}">
+ <act:flowChart procInsId="${reserveProcess.act.procInsId}"/>
+ <act:histoicFlow procInsId="${reserveProcess.act.procInsId}"/>
+</div>
@@ -0,0 +1,305 @@
+ <title>设计单位上传施工图</title>
+<%-- <%@include file="/webpage/modules/bpm/task/history/taskHistoricList.js" %>--%>
+ $(document).ready(function() {
+ // var budgetStatement = $("input[name='budgetStatement']").val();
+ // var projectProposal = $("input[name='projectProposal']").val();
+ var drawings = $("input[name='drawings']").val();
+ // var drawingSpecification = $("input[name='drawingSpecification']").val();
+ // console.log(budgetStatement)
+ // console.log(projectProposal)
+ console.log(drawings)
+ // console.log(drawingSpecification)
+ if (drawings == ""
+ || drawings == undefined
+ || drawings == 'undefined') {
+ jp.error("不能为空");
+ jp.post("${ctx}/cg/reservemanagementcenter/process/actDesignUnit",
+ "projectReserveId":projectReserveId,
+ "projectName":projectName,
+ "drawings":drawings,
+ jp.prompt("取消流程", function (message) {
+ jp.post("${ctx}/cg/reservemanagementcenter/process/actDesignUnit",{
+ $("#moreImport").click(function(){
+ jp.open({
+ type: 2,
+ area: [800, 400],
+ auto: true,
+ title:"导入数据",
+ content: "${ctx}/managementcenter/materialinfo/importMore/Process",
+ btn: ['确定', '关闭'],
+ btn1: function(index, layero){
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+ iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/process/importCGValidations', function (data) {
+ if(data.success){
+ jp.close(index);
+ }else{
+ });//调用保存事件
+ return false;
+ btn2: function(index){
+ $("#onLine").click(function(){
+ area: [1000, 600],
+ title:"在线开甲供材",
+ content: "${ctx}/raiseCapital/jgcList?projectReserveId=" + projectReserveId +"&projectName=" + projectName ,
+ var body = top.layer.getChildFrame('body', index);
+ var materialCode = body.find('#materialCode');
+ jp.post("${ctx}/cg/reservemanagementcenter/process/saveJgc?materialCode=" + materialCode,informationTable.serialize(),function(data){
+ alert(data.msg);
+ console.log("测试")
+ console.log(informationTable)
+ // var inputForm = body.find('#inputForm');
+ <h3 class="panel-title">设计单位上传施工图</h3>
+ <form:input path="reserveSummary.projectYear" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.projectNature" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.demandUnit" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.district" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.projectGroup" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.reserveBatches" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.blockSupply" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.gridNumber" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.cellNumber" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.projectReserveId" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="projectReserveId" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="projectName" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.substationName" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.circuitName" htmlEscape="false" readonly="true" class="form-control"/>
+ <form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false" readonly="true" class="form-control number money"/>
+ <form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true" class="form-control number money"/>
+ <form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true" class="form-control number money"/>
+ <form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true" class="form-control number money"/>
+ <td colspan="4" class="width-15 active"><label class="">设计资料:</label></td>
+ <td class="width-15 active"><label class="">施工图纸:</label></td>
+ <sys:fileUpload path="drawings" value="${reserveProcess.drawings}" type="*" uploadPath="/personnelTurnover" readonly="false"/>
+ <td class="width-15 active"><label class="">甲供材清册:</label></td>
+ <a id="moreImport" class="btn btn-info">
+ <i class="fa fa-file-excel-o"></i> 多文件导入
+ <a id="onLine" class="btn btn-info">
+ <i class="fa fa-file-excel-o"></i> 在线开甲供材
+<%-- <input id="no" class="btn btn-danger btn-lg btn-parsley" type="submit" value="取消流程"/>--%>
+ <act:histoicFlow procInsId="${reserveProcess.act.procInsId}" />
@@ -0,0 +1,327 @@
+ <title>设计单位上传预算书</title>
+ var budgetStatement = $("input[name='budgetStatement']").val();
+ var projectProposal = $("input[name='projectProposal']").val();
+ var demolition = $("input[name='demolition']").val();
+ var drawingSpecification = $("input[name='drawingSpecification']").val();
+ || drawings == 'undefined'
+ || budgetStatement == ""
+ || budgetStatement == undefined
+ || budgetStatement == 'undefined'
+ || projectProposal == ""
+ || projectProposal == undefined
+ || projectProposal == 'undefined'
+ || demolition == ""
+ || demolition == undefined
+ || demolition == 'undefined'
+ || drawingSpecification == ""
+ || drawingSpecification == undefined
+ || drawingSpecification == 'undefined') {
+ "projectProposal":projectProposal,
+ "drawingSpecification":drawingSpecification,
+ "budgetStatement":budgetStatement,
+ "demolition":demolition,
+ /*$("#moreImport").click(function(){
+ content: "${ctx}/managementcenter/materialinfo/importMore/Process" ,
+ content: "${ctx}/raiseCapital/list" ,
+ var body = top.layer.getChildFrame('body',index);
+ var inputForm = body.find('#informationTable');
+ console.log('测试')
+ console.log(inputForm)
+ <h3 class="panel-title">设计单位上传预算书</h3>
+ <td class="width-15 active"><label class="">预算书:</label></td>
+ <sys:fileUpload path="budgetStatement" value="${reserveProcess.budgetStatement}" type="*" uploadPath="/personnelTurnover" readonly="false"/>
+ <td class="width-15 active"><label class="">项目建议书:</label></td>
+ <sys:fileUpload path="projectProposal" value="${reserveProcess.projectProposal}" type="*" uploadPath="/personnelTurnover" readonly="false"/>
+ <sys:fileUpload path="drawings" value="${reserveProcess.drawings}" type="*" uploadPath="/personnelTurnover" readonly="true"/>
+ <td class="width-15 active"><label class="">施工图设计说明书:</label></td>
+ <sys:fileUpload path="drawingSpecification" value="${reserveProcess.drawingSpecification}" type="*" uploadPath="/personnelTurnover" readonly="false"/>
+ <td class="width-15 active"><label class="">拆旧清册:</label></td>
+ <sys:fileUpload path="demolition" value="${reserveProcess.demolition}" type="*" uploadPath="/personnelTurnover" readonly="false"/>
@@ -0,0 +1,347 @@
+ class="form-control number money" readonly="true"/>
@@ -0,0 +1,337 @@
+<script>
+$(document).ready(function() {
+ $('#testPicTable').bootstrapTable({
+ pagination: true,
+ pageNumber:1,
+ url: "${ctx}/cg/reservemanagementcenter/process/allUploadData",
+ //queryParamsType:'',
+ queryParams : function(params) {
+ var searchParam = $("#inputForm").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;
+ contextMenuTrigger:"right",//pc端 按右键弹出菜单
+ contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+ onContextMenuItem: function(row, $el){
+ onClickRow: function(row, $el){
+ field: 'budgetStatement',
+ title: '预算书',
+ formatter:function(value, row , index){
+ if (value){
+ var valueArray = value.split("|");
+ var labelArray = [];
+ for(var i =0 ; i<valueArray.length; i++){
+ if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+ labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+ labelArray[i] = '<img onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+ return labelArray.join(" ");
+ field: 'projectProposal',
+ title: '项目建议书',
+ field: 'drawings',
+ title: '图纸',
+ field: 'drawingSpecification',
+ title: '施工图设计说明书',
+ console.log(value);
+ $('#dataTable').bootstrapTable({
+ showRefresh: true,
+ url: "${ctx}/cg/reservemanagementcenter/process/materialData",
+ searchParam.projectName = $("#projectName").val();
+ onLoadSuccess: function () { //加载成功时执行
+ field: 'projectName',
+ width:230,
+ title: '项目名称'
+ ,{
+ width:100,
+ title: '物料编码'
+ field: 'materialName',
+ width:200,
+ title: '物料名称'
+ field: 'extendDescription',
+ title: '扩展描述'
+ field: 'unit',
+ width:60,
+ title: '单位'
+ field: 'totalCount',
+ title: '总量'
+ field: 'weightKg',
+ width:80,
+ title: '单重/kg'
+ field: 'weightTon',
+ title: '总重/吨'
+ field: 'supplyType',
+ title: '甲乙供'
+ if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+ $('#testPicTable').bootstrapTable("toggleView");
+ $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+ $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+ $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+ $("#export").click(function(){//导出甲供材清册
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/process/exportAct?projectName=' + projectName);
+ $("#search").click("click", function() {// 绑定查询按扭
+ $('#testPicTable').bootstrapTable('refresh');
+ $("#reset").click("click", function() {// 绑定查询按扭
+ $("#searchForm .select-item").html("");
+ function getIdSelections() {
+ return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+ function deleteAll(){
+ jp.confirm('确认要删除该图片管理记录吗?', function(){
+ jp.get("${ctx}/managementcenter/upload/delete?ids=" + getIdSelections(), function(data){
+ //刷新列表
+ function refresh(){
+ function add(){
+ jp.openSaveDialog('新增图片管理', "${ctx}/managementcenter/upload/list",'800px', '500px');
+ function edit(id){//没有权限时,不显示确定按钮
+ if(id == undefined){
+ id = getIdSelections();
+ jp.openSaveDialog('编辑图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+ function view(id){//没有权限时,不显示确定按钮
+ jp.openViewDialog('查看图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
@@ -0,0 +1,263 @@
+ <title>联合审图</title>
+ <%@ include file="/webpage/include/treeview.jsp" %>
+ <%@ include file="drawingReview.js"%>
+ jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReview",
+ $("#disagree").click(function () {
+ "flag": "disagree",
+ $("#cancel").click(function () {
+ jp.prompt("取消", function (message) {
+ "flag": "cancel",
+ $("#pending").click(function () {
+ jp.prompt("待定", function (message) {
+ "flag": "pending",
+ <h3 class="panel-title">联合审图</h3>
+ <table id="testPicTable" data-toolbar="#toolbar"></table>
+ <div id="toolbar">
+ <button id="export" class="btn btn-warning">
+ <i class="fa fa-file-excel-o"></i> 导出甲供材清册
+ <table id="dataTable" data-toolbar="#toolbar"></table>
+ <input id="disagree" class="btn btn-danger btn-lg btn-parsley" type="submit" value="不通过"/>
+ <input id="cancel" class="btn btn-danger btn-lg btn-parsley" type="submit" value="取消"/>
+ <input id="pending" class="btn btn-danger btn-lg btn-parsley" type="submit" value="待定"/>
@@ -0,0 +1,459 @@
+<script >
+$(document).ready(function () {
+ $('#projectTable').bootstrapTable({
+ showSearch: true,
+ showToggle: true,
+ showColumns: true,
+ showExport: true,
+ showPaginationSwitch: true,
+ pageSize: 5,
+ pageList: [5, 10, 25, 50, 100],
+ url: "${ctx}/cg/reservemanagementcenter/budgetStats/list",
+ 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.get("${ctx}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+ $('#projectTable').bootstrapTable('refresh');
+ columns:
+ [
+ checkbox: true,
+ width:36,
+ field: 'projectYear',
+ width: 65,
+ title: '项目</br>年份',
+ , {
+ field: 'projectNature',
+ width:65,
+ title: '项目</br>性质',
+ },{
+ field: 'demandUnit',
+ width:70,
+ title: '需求</br>单位',
+ field: 'district',
+ title: '区域',
+ field: 'projectGroup',
+ title: '项目</br>分组',
+ field: 'reserveBatches',
+ title: '储备</br>批次',
+ field: 'blockSupply',
+ title: '供电</br>区域',
+ field: 'gridNumber',
+ width:90,
+ title: '网格编号',
+ field: 'cellNumber',
+ title: '单元格编号',
+ field: 'projectReserveId',
+ width:150,
+ title: '项目储备编号',
+ /*formatter:function(value, row , index){
+ if(value == null || value ==""){
+ value = "-";
+ <c:choose>
+ <c:when test="${fns:hasPermission('cg:reservemanagementcenter:reserveManage:view')}">
+ return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+ </c:when>
+ <c:otherwise>
+ return value;
+ </c:otherwise>
+ </c:choose>
+ title: '项目名称',
+ field: 'constructionNecessityAndContent',
+ width:400,
+ title: '建设必要性及内容',
+ field: 'substationName',
+ title: '变电站</br>名称',
+ field: 'circuitName',
+ title: '线路名称',
+ field: 'netRackProjectDivide',
+ title: '网架项目</br>划分',
+ field: 'requirementType',
+ title: '需求类型',
+ field: 'costEstimate',
+ title: '费用</br>估算',
+ field: 'basicRemarks',
+ field: 'reserveProgress',
+ title: '储备</br>进度',
+ field: 'implementPlan',
+ title: '是否纳入</br>实施计划',
+ field: 'implementBatch',
+ title: '初定实施</br>批次',
+ field: 'pretrialEstimateAmount',
+ title: '总概算金额</br>(含税)',
+ field: 'pretrialEstimateAmountExcludeTax',
+ width:120,
+ title: '审前总概算</br>金额(不含税)',
+ field: 'pretrialDeductibleAmount',
+ title: '审前可抵扣</br>金额(税金)',
+ field: 'pretrialConstructeConsts',
+ title: '审前施工费</br>(含税)',
+ field: 'pretrialMaterialAmount',
+ title: '审前甲供物资</br>金额(含税)',
+ field: 'pretrialOtherExpanses',
+ width:110,
+ title: '审前其他</br>费用(含税)',
+ field: 'pretrialPreliminaryConstructeFee',
+ title: '审前前期工</br>程费(含税)',
+ field: 'pretrialSurveyFee',
+ title: '审前勘察费</br>(含税)',
+ field: 'pretrialDesignFee',
+ title: '审前设计费</br>(含税)',
+ field: 'pretrialSupervisionFee',
+ title: '审前监理费</br>(含税)',
+ field: 'afterTrialEstimateAmount',
+ title: '审后总概算</br>金额(含税)',
+ field: 'afterTrialEstimateAmountExcludeTax',
+ title: '审后总概算</br>金额(不含税)',
+ field: 'afterTrialDeductibleAmount',
+ title: '审后可抵扣</br>金额(税金)',
+ field: 'afterTrialConstructeConsts',
+ title: '审后施工费</br>(含税)',
+ field: 'afterTrialMaterialAmount',
+ title: '审后甲供物资金额</br>(含税)',
+ field: 'afterTrialOtherExpanses',
+ title: '审后其他费用</br>(含税)',
+ field: 'afterTrialPreliminaryConstructeFee',
+ title: '审后前期工程费</br>(含税)',
+ field: 'afterTrialSurveyFee',
+ title: '审后勘察费</br>(含税)',
+ field: 'afterTrialDesignFee',
+ title: '审后设计费</br>(含税)',
+ field: 'afterTrialSupervisionFee',
+ title: '审后监理费</br>(含税)',
+ field: 'budgetRevision',
+ title: '是否完成</br>概算修改',
+ field: 'completeTime',
+ title: '概算修改</br>完成时间',
+ $('#projectTable').bootstrapTable("toggleView");
+ $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+ $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+ $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').bootstrapTable('getSelections').length != 1);
+ $("#btnImport").click(function () {
+ area: [500, 200],
+ title: "导入数据",
+ content: "${ctx}/tag/importExcel",
+ btn1: function (index, layero) {
+ iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/budgetStats/import', function (data) {
+ btn2: function (index) {
+ // jp.close(index);
+ $("#jlImport").click(function () {
+ iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveManage/jlImport', function (data) {
+ $("#btnExport").click(function () {
+ console.log(projectReserveId)
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/budgetStats/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+ $("#search").click("click", function () {// 绑定查询按扭
+ $("#reset").click("click", function () {// 绑定查询按扭
+ $('#beginBeginDate').datetimepicker({
+ format: "YYYY-MM-DD HH:mm:ss"
+ $('#endBeginDate').datetimepicker({
+ $('#endDate').datetimepicker({
+});
+ return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+ jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/form", '800px', '500px');
+function edit(id) {//没有权限时,不显示确定按钮
+ if (id == undefined) {
+ jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/form?id=" + id, '800px', '500px');
+function jlEdit(id) {//没有权限时,不显示确定按钮
+ jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/jlEdit?id=" + id, '800px', '500px');
+function view(id) {//没有权限时,不显示确定按钮
+ jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/view?id=" + id, '800px', '500px');
+function deleteAll(){
+ jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+ jp.get("${ctx}/cg/reservemanagementcenter/budgetStats/deleteAll?ids=" + getIdSelections(), function(data){
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+ var dateVal = cellval + "";
+ if (cellval != null) {
+ var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+ var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+ var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+ var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+ var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+ return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
@@ -0,0 +1,103 @@
+ <title>项目储备信息</title>
+ <%@include file="/webpage/include/treeview.jsp" %>
+ <%@include file="budgetStats.js" %>
+ .table {
+ table-layout: fixed;
+ text-align: center;
+ .table th, .table td {
+ vertical-align: middle !important;
+ <h3 class="panel-title">项目储备信息</h3>
+ <!-- 搜索 -->
+ <div id="search-collapse" class="collapse">
+ <div class="accordion-inner">
+ <form:form id="searchForm" modelAttribute="budgetStats" 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"/>
+ <label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+ <form:input path="projectName" htmlEscape="false" maxlength="100" class=" form-control"/>
+ <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>
+ <%--<shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:add">
+ <i class="glyphicon glyphicon-plus"></i> 新增
+ </shiro:hasPermission>
+ <shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:edit">
+ <button id="edit" class="btn btn-primary" onclick="edit()">
+ <i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+ <shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+ <button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+ <i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+ <shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:del">
+ <button id="remove" class="btn btn-danger" onclick="deleteAll()">
+ </shiro:hasPermission>--%>
+ <shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:del">
+ <shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:import">
+ <button id="btnImport" class="btn btn-info">
+ <i class="fa fa-folder-open-o"></i> 导入
+ <%--<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+ <button id="jlImport" class="btn btn-info">
+ <i class="fa fa-folder-open-o"></i> 导入 <!--经理导入-->
+ <shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:export">
+ <button id="btnExport" class="btn btn-warning">
+ <i class="fa fa-file-excel-o"></i> 导出
+ <table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
@@ -0,0 +1,449 @@
+ url: "${ctx}/cg/reservemanagementcenter/constructeScale/list",
+ field: 'cityCompany',
+ title: '市公司',
+ title: '县公司',
+ title: '供电区域',
+ field: 'constructePurpose',
+ title: '建设目的',
+ title: '项目进度',
+ field: 'switchCabinet',
+ title: '开关柜',
+ field: 'overheadLine',
+ title: '架空线路',
+ field: 'powerCable',
+ title: '电力电缆',
+ field: 'cableBranchBox',
+ title: '电缆分支箱',
+ field: 'outdoorRingCage',
+ title: '户外环网箱',
+ field: 'ringRoom',
+ title: '环网室<br>(开关站)',
+ field: 'onColumnSwitch',
+ title: '柱上开关',
+ field: 'switchRoomKVA',
+ title: '配电室(KVA)',
+ field: 'switchRoom',
+ title: '配电室',
+ field: 'boxChangeKVA',
+ title: '箱变(KVA)',
+ field: 'boxChange',
+ title: '箱变',
+ field: 'distributionTransformerKVA',
+ title: '配电变压器<br>(KVA)',
+ field: 'distributionTransformer',
+ title: '配电变压器',
+ field: 'lowVoltageLine',
+ title: '低压线路',
+ field: 'lowVoltageCable',
+ title: '低压电缆',
+ field: 'lowVoltageCableBox',
+ title: '低压电缆<br>分支箱',
+ field: 'lowVoltageCabinet',
+ title: '低压配电柜',
+ field: 'distributeAutoMateTerminalFTU',
+ title: '配电自动<br>化终端(FTU)',
+ field: 'distributeAutoMateTerminalDTU',
+ title: '配电自动<br>化终端(DTU)',
+ field: 'opticalCable',
+ title: '光缆',
+ field: 'cablePassage',
+ title: '电缆通道',
+ title: '土建工厂化<br>预制',
+ field: 'ancillaryFacility',
+ title: '附属设施',
+ field: 'constructionWorkMethod',
+ title: '施工作业<br>方式',
+ field: 'workWithoutInterruption',
+ title: '不停电作业',
+ field: 'powerFailureHouseNum',
+ title: '停电时户数',
+ title: '费用估算',
+ field: 'peakSummerProject',
+ title: '是否迎峰<br>度夏项目',
+ field: 'projectReview',
+ title: '通过第几批<br>项目评审',
+ title: '概算',
+ iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/constructeScale/import', function (data) {
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/constructeScale/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+ jp.get("${ctx}/cg/reservemanagementcenter/constructeScale/deleteAll?ids=" + getIdSelections(), function(data){
@@ -0,0 +1,80 @@
+ <%@include file="constructeScale.js" %>
+ <form:form id="searchForm" modelAttribute="constructeScale" class="form form-horizontal well clearfix">
+ <shiro:hasPermission name="cg:reservemanagementcenter:constructeScale:del">
+ <shiro:hasPermission name="cg:reservemanagementcenter:constructeScale:import">
+ <shiro:hasPermission name="cg:reservemanagementcenter:constructeScale:export">
@@ -0,0 +1,290 @@
+ url: "${ctx}/cg/reservemanagementcenter/demoliteList/list",
+ width: 80,
+ field: 'specification',
+ title: '规格型号',
+ field: 'count',
+ title: '数量',
+ field: 'remark',
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/demoliteList/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+ jp.confirm('确认要删除该储备项目拆旧物资汇总信息吗?', function(){
+ jp.get("${ctx}/cg/reservemanagementcenter/demoliteList/deleteAll?ids=" + getIdSelections(), function(data){
@@ -0,0 +1,83 @@
+ <%@include file="demoliteList.js" %>
+ <form:form id="searchForm" modelAttribute="demoliteList" class="form form-horizontal well clearfix">
+ <label class="label-item single-overflow pull-left" title="数量:">数量:</label>
+ <form:input path="count" htmlEscape="false" maxlength="100" class=" form-control"/>
+ <shiro:hasPermission name="cg:reservemanagementcenter:demoliteList:del">
+ <%--<shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:import">
+ <shiro:hasPermission name="cg:reservemanagementcenter:demoliteList:export">
@@ -0,0 +1,464 @@
+ url: "${ctx}/cg/reservemanagementcenter/enginnerQuery/list",
+ field: 'projectType',
+ title: '项目类型',
+ title: '储备进度',
+ field: 'civilWork',
+ title: '是否含土</br>建工作量',
+ field: 'poleWorkload',
+ title: '是否含立</br>杆工作量',
+ field: 'pole190X10',
+ title: 'Φ190×10×M×I',
+ field: 'pole190X12',
+ title: 'Φ190×12×M×G',
+ field: 'pole190X15',
+ title: 'Φ190×15×M×G',
+ field: 'pole230X15',
+ title: 'Φ230×15×N',
+ field: 'pole230X18',
+ title: 'Φ230×18×N×G',
+ field: 'pole300X9',
+ title: 'Φ300×9',
+ field: 'pole350X15',
+ title: 'Φ350×15×T×BY',
+ field: 'steelPipeGNH31Contains',
+ title: 'GNH31-13B<br>(含钢管桩)',
+ field: 'steelPipeGNH31NoContains',
+ title: 'GNH31-13B<br>(不含钢管桩)',
+ field: 'steelPipeGNH3113DContains',
+ title: 'GNH31-13D<br>(含钢管桩)',
+ field: 'steelPipeGNH3113DNoContains',
+ title: 'GNH31-13D<br>(不含钢管桩)',
+ field: 'steelPipeCNH35Contains',
+ title: 'GNH35-13B<br>(含钢管桩)',
+ field: 'steelPipeCNH35NoContains',
+ title: 'GNH35-13B<br>(不含钢管桩)',
+ field: 'steelPipeCNH3513EContains',
+ title: 'GNH35-13E<br>(含钢管桩)',
+ field: 'steelPipeCNH3513ENoContains',
+ title: 'GNH35-13E<br>(不含钢管桩)',
+ field: 'steelPipeCNH39Contains',
+ title: 'GNH39-13B<br>(含钢管桩)',
+ field: 'steelPipeCNH39NoContains',
+ title: 'GNH39-13B<br>(不含钢管桩)',
+ field: 'prefabricatedWell',
+ title: '预制化井',
+ field: 'prefabricatedBase',
+ title: '预制化基础',
+ field: 'prefabricatedPackage',
+ title: '预制化包封',
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/enginnerQuery/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+ <%@include file="enginnerQuery.js" %>
+ <form:form id="searchForm" modelAttribute="enginnerQuery" class="form form-horizontal well clearfix">
+ <%--<shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:del">
+ <shiro:hasPermission name="cg:reservemanagementcenter:enginnerQuery:export">
@@ -0,0 +1,544 @@
+ url: "${ctx}/cg/reservemanagementcenter/progressStats/list",
+ title: '需求提出<br>单位',
+ title: '储备批次',
+ title: '是否纳入<br>实施计划',
+ field: 'initialImplementBatch',
+ title: '初定实施<br>批次',
+ field: 'inspectDepartmentReview',
+ title: '是否通过<br>运检部评审',
+ field: 'inspectDepartmentReviewTime',
+ width:160,
+ title: '通过运检部<br>评审时间',
+ field: 'releaseReserveTime',
+ title: '运检部下达<br>储备时间',
+ field: 'designCommission',
+ title: '是否发出<br>设计委托',
+ field: 'designCommissionIssueTime',
+ title: '设计委托<br>发出时间',
+ field: 'onSiteConfess',
+ title: '是否进行<br>现场交底',
+ field: 'confessCompleteTime',
+ title: '交底完成时间',
+ field: 'includeReserve',
+ title: '是否进行<br>储备',
+ field: 'completeDesign',
+ title: '是否完成<br>初设',
+ field: 'submitTime',
+ title: '初设提交时间',
+ field: 'completeDraw',
+ title: '是否完成<br>审图',
+ field: 'drawAudit',
+ title: '是否通过<br>图纸审核',
+ field: 'reasonForFailure',
+ title: '未通过原因<br>分析',
+ field: 'passAuditDate',
+ title: '通过审核日期',
+ field: 'changeDesign',
+ title: '是否需设计<br>变更',
+ field: 'completeReview',
+ title: '是否完成<br>审核',
+ field: 'expertReview',
+ title: '是否通过<br>专家审核',
+ field: 'estimateReasonForFailure',
+ field: 'estimatePassAuditDate',
+ field: 'estimateChangeDesign',
+ field: 'provincialCompanyReview',
+ title: '是否参加<br>省公司评审',
+ field: 'provincialCompanyReviewBatch',
+ title: '省公司评审<br>批次',
+ field: 'passProvincialCompanyReview',
+ title: '是否通过<br>省公司评审',
+ field: 'causeAnalysis',
+ field: 'designChange',
+ field: 'drawingReview',
+ title: '是否进行<br>图纸审查',
+ field: 'reviewDate',
+ title: '审图日期',
+ field: 'passDrawingReview',
+ title: '是否通过<br>图纸审查',
+ field: 'reviewComment',
+ title: '未通过审图<br>意见',
+ field: 'approvedDate',
+ field: 'jointReviewDesignChange',
+ title: '是否需<br>设计变更',
+ field: 'drawingFinalize',
+ title: '图纸是否<br>定稿',
+ field: 'finalDate',
+ title: '定稿日期',
+ field: 'formalDrawing',
+ title: '是否打印<br>正式图纸',
+ field: 'drawingDate',
+ title: '通知出图日期',
+ title: '正式图纸移交<br>项目中心日期',
+ title: '正式图纸移交<br>施工单位日期',
+ iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/progressStats/import', function (data) {
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/progressStats/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+ jp.get("${ctx}/cg/reservemanagementcenter/progressStats/deleteAll?ids=" + getIdSelections(), function(data){
+ <%@include file="progressStats.js" %>
+ <form:form id="searchForm" modelAttribute="progressStats" class="form form-horizontal well clearfix">
+ <shiro:hasPermission name="cg:reservemanagementcenter:progressStats:del">
+ <shiro:hasPermission name="cg:reservemanagementcenter:progressStats:import">
+ <shiro:hasPermission name="cg:reservemanagementcenter:progressStats:export">
@@ -0,0 +1,444 @@
+ url: "${ctx}/cg/reservemanagementcenter/specialSupply/list",
+ field: 'materialStatisticA',
+ title: 'A物资',
+ field: 'materialStatisticB',
+ title: 'B物资',
+ field: 'materialStatisticC',
+ title: 'C物资',
+ field: 'materialStatisticD',
+ title: 'D物资',
+ field: 'switchCabinet10KV',
+ title: '环网柜</br>AC10kV',
+ field: 'switchCabinet10KV02',
+ title: '环网柜</br>AC10kV02',
+ field: 'switchCabinetIncomeLine',
+ title: '低压开关</br>柜进线',
+ field: 'switchCabinetSegment',
+ title: '低压开关</br>柜分段',
+ field: 'switchCabinetFeeder',
+ title: '低压开关</br>柜馈线',
+ field: 'numberOfBranchBoxFourWay',
+ title: '电缆分支</br>箱四路',
+ field: 'numberOfBranchBoxFiveWay',
+ title: '电缆分支</br>箱五路',
+ field: 'numberOfBranchBoxSevenWay',
+ title: '电缆分支</br>箱七路',
+ field: 'numberOfBox',
+ title: '箱变路数',
+ field: 'specialSizeA',
+ title: '特殊物资A',
+ field: 'specialSizeB',
+ title: '特殊物资B',
+ field: 'specialSizeC',
+ title: '特殊物资C',
+ field: 'specialSizeD',
+ title: '特殊物资D',
+ iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/specialSupply/import', function (data) {
+ jp.downloadFile('${ctx}/cg/reservemanagementcenter/specialSupply/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);