package com.zhcs.dt.controller.information.annualPlan; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import javax.annotation.Resource; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.zhcs.dt.controller.base.BaseController; import com.zhcs.dt.service.information.annualPlan.AnnualPlanManager; import com.zhcs.dt.service.information.annualPlan.impl.AnnualDailyCompService; import com.zhcs.dt.service.information.annualPlan.impl.HighwayReserveFeeCompService; import com.zhcs.dt.util.AppUtil; import com.zhcs.dt.util.Jurisdiction; import com.zhcs.dt.util.PageData; /** * 类名称:高速预备费使用情况 */ @Controller @RequestMapping(value="/HighwayReserveFeeComp") class HighwayReserveFeeController extends BaseController { @Resource(name="highwayReserveFeeCompService") private HighwayReserveFeeCompService highwayReserveFeeCompService; // @Resource(name="annualDailyCompService") // private AnnualDailyCompService annualDailyCompService; @Resource(name="annualPlanService") private AnnualPlanManager annualPlanService; private ShowTableRecodUtil showTableRecodUtil = new ShowTableRecodUtil(); /**显示、编辑子表格 * @param * @throws Exception */ /* @RequestMapping(value="/showTableRecod") public ModelAndView showTableRecod()throws Exception{ ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); //int viewType = setViewType(pd.getString("TABLETYPE")); List varList = new ArrayList(); String name = pd.getString("NAME"); String projectName = ""; if(name.contains("---")){ projectName = name.split("---")[1]; } pd.put("PROJECT_NAME", projectName); //varList = showTableRecodUtil.showTableRecod(annualDailyCompService, pd); varList = highwayReserveFeeCompService.getAllRecords(pd); String mode = "edit"; mv.addObject("dataMap", JSONObject.fromObject(varList.get(0))); JSONArray arr = JSONArray.fromObject(varList); mv.addObject("varList", arr); pd.put("mode", mode); mv.setViewName("information/annualPlan/annualTableRecord/"+pd.getString("TABLETYPE")); mv.addObject("pd", pd); mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 return mv; }*/ @RequestMapping(value="/saveData") @ResponseBody public Object saveData() throws Exception{ ModelAndView mv = this.getModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); JSONArray jsonarray = JSONArray.fromObject(pd.get("data")); List varList = new ArrayList(); varList = highwayReserveFeeCompService.hasTableRecod2(pd); Map map = dealWithData(pd,varList,jsonarray); return AppUtil.returnObject(new PageData(), map); } /** * 处理新增编辑数据 */ @ResponseBody public Map dealWithData(PageData pd,List varList,JSONArray jsonarray) throws Exception{ for (Object object : jsonarray) { JSONObject arrMap = JSONObject.fromObject(object); Set entryarray = arrMap.entrySet(); ArrayList keyarray = new ArrayList(); ArrayList valuearray = new ArrayList(); for (Object entry : entryarray) { Object[] arr = entry.toString().split("="); boolean saveFlag = true; //编辑 if (varList != null && varList.size() != 0){ saveFlag = !"ROAD".equals(arr[0])&&!"YEAR".equals(arr[0])&&!"COMPANY".equals(arr[0]) &&!"ROAD_ID".equals(arr[0])&&!"COMPANY_ID".equals(arr[0])&&!"PROJECT_NAME".equals(arr[0]); saveFlag = saveFlag && !"STATUS".equals(arr[0]); } if (saveFlag) { keyarray.add(arr[0]); if (arr.length > 1) { valuearray.add(arr[1]); }else { valuearray.add(null); } } } pd.put("KEYS", StringUtils.join(keyarray.toArray(), ",")); pd.put("KEYARRAY", keyarray); pd.put("VALUEARRAY", valuearray); //pd.put("ROAD_ID", arrMap.get("ROAD_ID")); //pd.put("PROJECT_NAME", arrMap.get("PROJECT_NAME")); //新增 if (varList == null || varList.size() == 0) highwayReserveFeeCompService.saveTableRecod(pd); //编辑 else if (keyarray.size() > 0) highwayReserveFeeCompService.editTableRecod(pd); } Map map = new HashMap(); map.put("msg","success"); return map; } }