package cn.com.lzt.oilconsumption.controller; import cn.com.lzt.common.util.StringUtil; import cn.com.lzt.oilconsumption.entity.TBCarGasRefuelEntity; import cn.com.lzt.oilconsumption.entity.TBCarGasRep; import cn.com.lzt.oilconsumption.service.TBCarGasRefuelService; import cn.com.lzt.useractiviti.data.controller.ActivitiToolsController; import com.alibaba.fastjson.JSONObject; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigInteger; import java.util.List; import java.util.logging.Logger; import java.util.stream.Collectors; @Controller @RequestMapping("/tBCarGasRefuelController") public class TBCarGasRefuelController extends ActivitiToolsController { private static final Logger logger = Logger.getLogger(String.valueOf(TBCarGasRefuelController.class)); @Autowired private TBCarGasRefuelService tBCarGasRefuelService; @Autowired private CommonService commonService; @Autowired private SystemService systemService; /** * 车辆加油管理列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/sign/tBCarGasRefuel/tBCarGasRefuelList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid") public void datagrid(TBCarGasRep tBCarGasRefuel, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { //查询条件组装器 StringBuilder listCondition = new StringBuilder(); listCondition.append("SELECT \n" + "\tcgr.car_plate carPlate,\n" + "\tc.type carType,\n" + "\tcgr.refuel_date refuelDate,\n" + "\tcgr.quantity quantity,\n" + "\tcgr.gas_station gasStation,\n" + "\tIF(cgr.refuel_money = NULL,'0',cgr.refuel_money) refuelMoney \n" ); StringBuilder totalCondition = new StringBuilder(); totalCondition.append("SELECT count(*) "); StringBuilder condition = new StringBuilder(); condition.append(" FROM\n" + "\t`t_b_car_gas_refuel` cgr\n" + "\tLEFT JOIN t_b_car c ON c.id = cgr.car_id where c.id is not NULL"); if (!StringUtil.isEmpty(tBCarGasRefuel.getCarPlate())) { condition.append(" and cgr.car_plate='").append(tBCarGasRefuel.getCarPlate()).append("'"); } if (!StringUtil.isEmpty(tBCarGasRefuel.getCarType())) { condition.append(" and c.type='").append(tBCarGasRefuel.getCarType()).append("'"); } if (!StringUtil.isEmpty(tBCarGasRefuel.getRefuelDate())) { condition.append(" and cgr.refuel_date='").append(tBCarGasRefuel.getRefuelDate()).append("'"); } if (!StringUtil.isEmpty(tBCarGasRefuel.getGasStation())) { condition.append(" and cgr.gas_station='").append(tBCarGasRefuel.getGasStation()).append("'"); } String beginRow = String.valueOf((dataGrid.getPage() - 1) * dataGrid.getRows()); listCondition.append(condition).append(" ORDER BY cgr.refuel_date DESC limit ").append(beginRow).append(",").append(dataGrid.getRows()); List list = systemService.findListbySql(listCondition.toString()); List collect = list.stream().map(e -> { TBCarGasRep rep = new TBCarGasRep(); rep.setCarPlate(e[0].toString()); rep.setCarType(e[1].toString()); rep.setRefuelDate(e[2].toString()); rep.setQuantity(Double.parseDouble(e[3].toString())/100); rep.setGasStation(e[4].toString()); rep.setRefuelMoney(Double.parseDouble(e[5].toString())/100); return rep; }).collect(Collectors.toList()); dataGrid.setResults(collect); List total = systemService.findListbySql(totalCondition.append(condition).toString()); dataGrid.setTotal(total.get(0).intValue()); TagUtil.datagrid(response, dataGrid); } }