123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- package com.zhcs.dt.controller.information.annualPlan;
- import java.util.ArrayList;
- import java.util.List;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- import com.zhcs.dt.controller.base.BaseController;
- import com.zhcs.dt.entity.Page;
- import com.zhcs.dt.service.information.annualPlan.AnnualBaseInfoManager;
- import com.zhcs.dt.service.information.annualPlan.AnnualPlanManager;
- import com.zhcs.dt.service.information.annualPlan.DownloadZip;
- import com.zhcs.dt.service.information.annualPlan.MultExcelUtils;
- import com.zhcs.dt.service.information.annualPlan.TotalAmountUtil;
- import com.zhcs.dt.service.information.annualPlan.impl.AnnualPlanCompService;
- import com.zhcs.dt.util.Jurisdiction;
- import com.zhcs.dt.util.PageData;
- /**
- * 类名称:年度养护计划
- * 创建人:Yuanf
- * 创建时间:2018-11-12
- */
- @Controller
- @RequestMapping(value="/baseInfo")
- class BaseInfoController extends BaseController {
- String menuUrl = "baseInfo/list.do"; //菜单地址(权限用)
- @Resource(name="annualPlanCompService")
- private AnnualPlanCompService annualPlanCompService;
- @Resource(name="annualPlanService")
- private AnnualPlanManager annualPlanService;
-
- @Resource(name="annualBaseInfoService")
- private AnnualBaseInfoManager annualBaseInfoService;
-
- List<String> newTables = new ArrayList<String>();
-
- /**列表
- * @param page
- * @throws Exception
- */
- @RequestMapping(value="/list")
- public ModelAndView list(Page page) throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"养护计划完成情况");
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- //通过username获取对应的公司和路段,控股集团管理员只可以看到状态为“待审批”和“已完成”的计划,路公司管理员和路段管理员可以看到本公司所有计划,admin没有权限控制
- PageData userInfo = annualPlanService.getCompanyAndRoad(Jurisdiction.getUsername().toString()); //通过username获取公司和路段
- //通过ROLE_ID获取角色
- String roleName = annualPlanService.getRoleName(userInfo.get("ROLE_ID").toString());
- pd = this.getPageData();
- if("控股集团管理员".equalsIgnoreCase(roleName)){
- List<String> yearList = annualPlanService.getKGPlanYearList(pd); //列出状态不为编制中、新建的年度计划列表
- mv.setViewName("information/annualPlan/annualBaseInfo/annualBaseInfo_kg_list");
- mv.addObject("varList", yearList);
- }
- mv.addObject("pd", pd);
- mv.addObject("userInfo", userInfo);
- mv.addObject("roleName", roleName);
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
-
- /**查询所选汇总表
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/showBaseInfoTable")
- public ModelAndView showBaseInfoTable(Model model)throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- mv.setViewName("information/annualPlan/annualBaseInfo/"+pd.get("type"));
- pd.put("table", "oa_department_"+pd.getString("YEAR").toString());
- PageData result = annualBaseInfoService.getBaseInfo(pd);
- mv.addObject("varList", result.get("companyList"));
- mv.addObject("total", result.get("total"));
- mv.addObject("pd", pd);
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
- @RequestMapping("/exportBaseInfo")
- public String exporthz(HttpServletRequest request,HttpServletResponse response) throws Exception{
- String path = request.getSession().getServletContext().getRealPath("/uploadFiles/file");
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- List<String> paths = new ArrayList<String>();
- List<String> result = new ArrayList<String>();
- //excel文档
- List<PageData> exceldata = setMultExcelData(pd);
- MultExcelUtils ex = new MultExcelUtils();
- String excelpath = ex.exportExcel(pd.getString("exportname")+".xlsx",path,response,exceldata);
- result.add(excelpath);
- //zip压缩下载
- DownloadZip.downloadZip(response,request,result,path);
- return null;
- }
-
- public List<PageData> setMultExcelData(PageData param) throws Exception {
- List<PageData> result = new ArrayList<PageData>();
- String[] modelNames = {"控股系统公路道路技术状况现状汇总表","控股系统公路主要病害汇总表",
- "控股系统交通等信息综合统计表","控股系统养护质量目标表汇总表"};
- String[] keyStrs = {
- "DESIGN_KM,CARE_KM,"
- + "MQI,QUALITY_GRADE,SECOND_ROAD_RATIO,PQI,SCI,BCI,TCI,"
- + "PCI,RQI,RDI,PBI,PWI,SRI,PSSI,"
- + "ONE_BRIDGE_NUM,ONE_BRIDGE_PRO,TWO_BRIDGE_NUM,TWO_BRIDGE_PRO,THREE_BRIDGE_NUM,THREE_BRIDGE_PRO,FOUR_BRIDGE_NUM,FOUR_BRIDGE_PRO,FIVE_BRIDGE_NUM,FIVE_BRIDGE_PRO,BRIDGE_TOTAL_NUM"
- ,"DESIGN_KM,CARE_KM,ROAD_CONDITION,SUBGRADE_EXPLAIN,PAVEMENT_EXPLAIN,BRIDGE_EXPLAIN,OTHER_EXPLAIN,OTHER_MATTER"
- ,"DESIGN_KM,CARE_KM,TRAFFIC_AMOUNT,CAR_INFO,TOTAL_COST,DAILY_COST,DAILY_KM_COST"
- ,"DESIGN_KM,CARE_KM,MQI_STATUS,MQI_TARGET,RATE_STATUS,RATE_TARGET,PQI_STATUS,PQI_TARGET,"
- + "PCI_STATUS,PCI_TARGET,RQI_STATUS,RQI_TARGET,RDI_STATUS,RDI_TARGET,PBI_STATUS,PBI_TARGET,"
- + "PWI_STATUS,PWI_TARGET,SRI_STATUS,SRI_TARGET,PSSI_STATUS,PSSI_TARGET,SCI_STATUS,SCI_TARGET,"
- + "BCI_STATUS,BCI_TARGET,TCI_STATUS,TCI_TARGET,TECHNOLOGY_STATUS,TECHNOLOGY_TARGET"
- };
- String[] tableNames = {"highway_technica_statable","highway_technica_statable",
- "highway_traiffcinfo_sumtable","highway_quality_goals_table"};
- int[] startRowIndexs = {4,3,3,3};
- int[] tabletype = {6,6,6,6};
- int[] totalRange = {2,2,2,2};
- String[][][] funcArrys = {
- {
- {"mmul","MQI","IF(ISERROR((D#row#*F#row#)),\"0.00\",(D#row#*F#row#))"},
- {"mmul","SECOND_ROAD_RATIO","IF(ISERROR((H#row#/D#row#)),\"0.00\",(H#row#/D#row#))"},
- {"mmul","PQI","IF(ISERROR((D#row#*I#row#)),\"0.00\",(D#row#*I#row#))"},
- {"mmul","SCI","IF(ISERROR((D#row#*J#row#)),\"0.00\",(D#row#*J#row#))"},
- {"mmul","BCI","IF(ISERROR((D#row#*K#row#)),\"0.00\",(D#row#*K#row#))"},
- {"mmul","TCI","IF(ISERROR((D#row#*L#row#)),\"0.00\",(D#row#*L#row#))"},
- {"mmul","PCI","IF(ISERROR((D#row#*M#row#)),\"0.00\",(D#row#*M#row#))"},
- {"mmul","RQI","IF(ISERROR((D#row#*N#row#)),\"0.00\",(D#row#*N#row#))"},
- {"mmul","RDI","IF(ISERROR((D#row#*O#row#)),\"0.00\",(D#row#*O#row#))"},
- {"mmul","PBI","IF(ISERROR((D#row#*P#row#)),\"0.00\",(D#row#*P#row#))"},
- {"mmul","PWI","IF(ISERROR((D#row#*Q#row#)),\"0.00\",(D#row#*Q#row#))"},
- {"mmul","SRI","IF(ISERROR((D#row#*R#row#)),\"0.00\",(D#row#*R#row#))"},
- {"mmul","PSSI","IF(ISERROR((D#row#*S#row#)),\"0.00\",(D#row#*S#row#))"},
- {"percent","ONE_BRIDGE_PRO","IF(ISERROR((T#row#/AD#row#)*100),\"0.00\",(T#row#/AD#row#)*100)"},
- {"percent","TWO_BRIDGE_PRO","IF(ISERROR((V#row#/AD#row#)*100),\"0.00\",(V#row#/AD#row#)*100)"},
- {"percent","THREE_BRIDGE_PRO","IF(ISERROR((X#row#/AD#row#)*100),\"0.00\",(X#row#/AD#row#)*100)"},
- {"percent","FOUR_BRIDGE_PRO","IF(ISERROR((Z#row#/AD#row#)*100),\"0.00\",(Z#row#/AD#row#)*100)"},
- {"percent","FIVE_BRIDGE_PRO","IF(ISERROR((AB#row#/AD#row#)*100),\"0.00\",(AB#row#/AD#row#)*100)"},
- },
- {},{},
- {
- {"mmul","MQI_STATUS","IF(ISERROR((D#row#*F#row#)),\"0.00\",(D#row#*F#row#))"},
- {"mmul","RATE_STATUS","IF(ISERROR((D#row#*H#row#)),\"0.00\",(D#row#*H#row#))"},
- {"mmul","PQI_STATUS","IF(ISERROR((D#row#*J#row#)),\"0.00\",(D#row#*J#row#))"},
- {"mmul","PCI_STATUS","IF(ISERROR((D#row#*L#row#)),\"0.00\",(D#row#*L#row#))"},
- {"mmul","RQI_STATUS","IF(ISERROR((D#row#*N#row#)),\"0.00\",(D#row#*N#row#))"},
- {"mmul","RDI_STATUS","IF(ISERROR((D#row#*P#row#)),\"0.00\",(D#row#*P#row#))"},
- {"mmul","PBI_STATUS","IF(ISERROR((D#row#*R#row#)),\"0.00\",(D#row#*R#row#))"},
- {"mmul","PWI_STATUS","IF(ISERROR((D#row#*T#row#)),\"0.00\",(D#row#*T#row#))"},
- {"mmul","SRI_STATUS","IF(ISERROR((D#row#*V#row#)),\"0.00\",(D#row#*V#row#))"},
- {"mmul","PSSI_STATUS","IF(ISERROR((D#row#*X#row#)),\"0.00\",(D#row#*X#row#))"},
- {"mmul","SCI_STATUS","IF(ISERROR((D#row#*Z#row#)),\"0.00\",(D#row#*Z#row#))"},
- {"mmul","BCI_STATUS","IF(ISERROR((D#row#*AB#row#)),\"0.00\",(D#row#*AB#row#))"},
- {"mmul","TCI_STATUS","IF(ISERROR((D#row#*AD#row#)),\"0.00\",(D#row#*AD#row#))"},
- {"mmul","TECHNOLOGY_STATUS","IF(ISERROR((D#row#*AF#row#)),\"0.00\",(D#row#*AF#row#))"},
- }
- };
- PageData pd = new PageData();
- for (int i = 0; i < tableNames.length; i++) {
- PageData data = new PageData();
- pd.put("type", tableNames[i]);
- pd.put("YEAR", param.get("YEAR"));
- pd.put("table", "oa_department_"+param.get("YEAR").toString());
- List<PageData> list = annualPlanCompService.getBaseInfoData(pd);
- data.put("list", list);
- data.put("modelName", modelNames[i]);
- data.put("keyStr", keyStrs[i]);
- data.put("startRowIndex", startRowIndexs[i]);
- data.put("tabletype", tabletype[i]);
- data.put("funcArry", funcArrys[i]);
- data.put("totalRange", totalRange[i]);
- data.put("pd", pd);
- result.add(data);
- }
- return result;
- }
- }
|