123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- package com.zhcs.dt.controller.information.monthProgress;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import javax.annotation.Resource;
- import net.sf.json.JSONArray;
- 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.AnnualPlanManager;
- import com.zhcs.dt.service.information.monthProgress.MonthProgressManager;
- import com.zhcs.dt.util.Jurisdiction;
- import com.zhcs.dt.util.PageData;
- /**
- * 类名称:年度养护计划
- * 创建人:Yuanf
- * 创建时间:2018-11-12
- */
- @Controller
- @RequestMapping(value="/monthProgress")
- class MonthProgressController extends BaseController {
- String menuUrl = "monthProgress/list.do"; //菜单地址(权限用)
- @Resource(name="monthProgressService")
- private MonthProgressManager monthProgressService;
- @Resource(name="annualPlanService")
- private AnnualPlanManager annualPlanService;
- /**列表
- * @param page
- * @throws Exception
- */
- @RequestMapping(value="/list")
- public ModelAndView list(Page page) throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"月度养护计划实施情况");
- //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- //通过username获取对应的公司和路段,控股集团管理员只可以看到状态为“待审批”和“已完成”的计划,路公司管理员和路段管理员可以看到本公司所有计划,admin没有权限控制
- PageData userInfo = annualPlanService.getCompanyAndRoad(Jurisdiction.getUsername().toString()); //通过username获取公司和路段
- //通过ROLE_ID获取角色
- String roleName = annualPlanService.getRoleName(userInfo.get("ROLE_ID").toString());
- List<String> varList = new ArrayList<String>();
- if(!"控股集团管理员".equalsIgnoreCase(roleName) && !"admin".equalsIgnoreCase(Jurisdiction.getUsername().toString())){
- String company_id = monthProgressService.getCompanyid(userInfo.get("COMPANY").toString());
- pd.put("COMPANY", userInfo.get("COMPANY"));
- pd.put("COMPANY_ID", company_id);
- varList = monthProgressService.getCompPlanList(pd); //列出本公司已审核通过的年计划 (次数读取oa_department基础信息)
- mv.setViewName("information/monthProgress/monthProgress_list");
- mv.addObject("varList", varList);
- }else{
- varList = monthProgressService.getCompPlanList(pd); //列出已审核通过的年计划
- mv.setViewName("information/monthProgress/monthProgress_kg_list");
- mv.addObject("varList", varList);
- }
- mv.addObject("pd", pd);
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
-
- /**查询所选汇总表
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/showSumTable")
- public ModelAndView showSumTable(Model model)throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- mv.setViewName("information/monthProgress/monthSumTable/"+pd.get("type"));
- List<PageData> varList = new ArrayList<PageData>();
- if("monthly_test_project_completion".equalsIgnoreCase(pd.get("type").toString())
- || "monthly_equipment_overhaul_completion".equalsIgnoreCase(pd.get("type").toString())){
- varList = monthProgressService.getTestdata(pd);
- }else if("monthly_scientific_project_completion".equalsIgnoreCase(pd.get("type").toString())){
- varList = monthProgressService.getScidata(pd);
- }else{
- varList = monthProgressService.getdata(pd);
- }
- if(varList ==null || varList.equals(" ") || varList.isEmpty() ) {
- mv.addObject("varList", "");
- }
- // else if("highway_reserve_fees_sumtable_view".equalsIgnoreCase(pd.get("type").toString())){
- // List<PageData> feeList = annualPlanCompService.getTotalFee(pd);
- // varList = getReserveFee(varList, feeList);
- // mv.addObject("dettList", varList);
- // }
- else {
- LinkedHashMap<String, LinkedHashMap<String, ArrayList<PageData>>> varMap = new LinkedHashMap<String, LinkedHashMap<String, ArrayList<PageData>>>();
- Double sumPlanCost = (double) 0;
- Double sumActualCost = (double) 0;
- String prevCompanyName = "";
- String prevCompanyId="";
- for(PageData tpd : varList){
- LinkedHashMap<String, ArrayList<PageData>> xjroadMap = new LinkedHashMap<String, ArrayList<PageData>>();
- String company = tpd.get("COMPANY").toString();
- String road = tpd.get("ROAD").toString();
- String companyId = tpd.get("COMPANY_ID").toString();
- if(varMap.containsKey(company)){
- LinkedHashMap<String, ArrayList<PageData>> roadMap = varMap.get(company);
- if(roadMap != null && roadMap.containsKey(road)){
- ArrayList<PageData> pList = roadMap.get(road);
- pList.add(tpd);
- }else{
- ArrayList<PageData> npList = new ArrayList<PageData>();
- npList.add(tpd);
- roadMap.put(road, npList);
- }
- xjroadMap = roadMap;
- prevCompanyName = company;
- prevCompanyId = companyId;
- }else{
- if(varMap.size() > 0){
- ArrayList<PageData> xjList = new ArrayList<PageData>();
- PageData xjPd = new PageData();
- xjPd.put("COMPANY", prevCompanyName);
- xjPd.put("ROAD", "小计");
- xjPd.put("PROJECT_NAME", "");
- xjPd.put("COMPANY_ID", prevCompanyId);
- // xjPd.put("PROJECT_TYPE", "");
- // xjPd.put("SCALE", "");
- // xjPd.put("PLAN_QUANTITIES", "");
- // xjPd.put("PLAN_COST", sumPlanCost);
- // xjPd.put("ACTUAL_QUANTITIES", "");
- // xjPd.put("REMARKS", "");
- // xjPd.put("ACTUAL_COST", sumActualCost);
- xjList.add(xjPd);
- xjroadMap = varMap.get(prevCompanyName);
- xjroadMap.put("小计", xjList);
- varMap.put(prevCompanyName, xjroadMap);
- }
- ArrayList<PageData> mpList = new ArrayList<PageData>();
- LinkedHashMap<String, ArrayList<PageData>> mroadMap = new LinkedHashMap<String, ArrayList<PageData>>();
- mpList.add(tpd);
- mroadMap.put(road, mpList);
- varMap.put(company, mroadMap);
- prevCompanyName = company;
- prevCompanyId = companyId;
- }
- }
-
- PageData lastxjPd = new PageData();
- lastxjPd.put("COMPANY", prevCompanyName);
- lastxjPd.put("ROAD", "小计");
- lastxjPd.put("PROJECT_NAME", "");
- lastxjPd.put("COMPANY_ID", prevCompanyId);
-
- List<PageData> dettListNew = new ArrayList<PageData>();
- for(Entry<String, LinkedHashMap<String, java.util.ArrayList<PageData>>> centry : varMap.entrySet()){
- HashMap<String, java.util.ArrayList<PageData>> roadMap = centry.getValue();
- for(Entry<String, java.util.ArrayList<PageData>> rentry : roadMap.entrySet()){
- ArrayList<PageData> projectList = rentry.getValue();
- for(PageData ppd : projectList){
- dettListNew.add(ppd);
- }
- }
- }
- dettListNew.add(lastxjPd);
- mv.addObject("varList", dettListNew);
- }
- mv.addObject("pd", pd);
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
-
- /**显示对应的报表列表
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/goReport")
- public ModelAndView goReport()throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- mv.setViewName("information/monthProgress/monthProgress_list2");
- /*mv.addObject("varList", varList);
- mv.addObject("pd", pd);*/
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
-
- /**显示、编辑子表格
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/showTableRecod")
- public ModelAndView showTableRecod()throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- // List<PageData> varList = monthProgressService.findTableById(pd); //获取对应的表格列表
- mv.setViewName("information/monthProgress/monthProgress_edit");
- // mv.addObject("varList", varList);
- mv.addObject("pd", pd);
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
-
- /**查询日常月度完成情况表
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/showDailyTable")
- public ModelAndView showDailyTable(Model model)throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- pd.put("table","oa_department_"+pd.get("YEAR").toString());
- mv.setViewName("information/monthProgress/monthSumTable/dailyCompletion_list");
- List<PageData> varList = new ArrayList<PageData>();
- List<PageData> companyRoadList = monthProgressService.getCompanyRoadList(pd);
- Map<String,List<String>> companyRoad = new HashMap<String,List<String>>();
- List<String> companyList = new ArrayList<String>();
- for(PageData tpd : companyRoadList){
- if(tpd.get("PARENT_ID").equals("0")){
- companyList.add(tpd.get("NAME").toString());
- List<String> roadList = new ArrayList<String>();
- for(PageData tempPd : companyRoadList){
- if(tempPd.get("PARENT_ID").equals(tpd.get("DEPARTMENT_ID"))){
- roadList.add(tempPd.get("NAME").toString());
- }
- }
- companyRoad.put(tpd.get("NAME").toString(), roadList);
- }
- }
- mv.addObject("companyList", companyList);
- mv.addObject("companyRoad", JSONArray.fromObject(companyRoad));
- mv.addObject("pd", pd);
- //mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- }
- }
|