package cn.com.lzt.car.defend.controller; import cn.afterturn.easypoi.entity.vo.NormalExcelConstants; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.com.lzt.car.cardoc.entity.CarEntity; import cn.com.lzt.car.cardoc.service.impl.CarServiceImpl; import cn.com.lzt.car.defend.service.CarDefendElxService; import cn.com.lzt.car.defend.service.impl.CarDefendElxServiceImpl; import cn.com.lzt.car.defend.service.impl.CarDefendServiceImpl; import com.daju.common.util.DataPage; import com.daju.mix.dao.entity.PDeviceDefend; import com.daju.mix.dao.entity.TBCar; import com.daju.mix.dao.entity.TBCarDefend; import com.daju.mix.dao.entity.TBCarDefendElx; import com.daju.mix.dao.mapper.TBCarMapper; import com.xcgl.utils.OrderNumTools; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.pojo.base.DictEntity; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** * @author :sahib.kio.m * @date :Created in 2021/7/30 上午11:39 */ @Controller @RequestMapping("/carDefendController") public class CarDefendController { @Resource private CarDefendServiceImpl CarDefendService; @Resource private CarDefendElxServiceImpl CarDefendElxService; @Resource private CarServiceImpl carService; @Resource TBCarMapper tbCarMapper; @Autowired SystemService systemService; @RequestMapping(params = "list") public ModelAndView carScheduleDoneStat(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/car/defend/defendList"); } @RequestMapping(params = "goAdd") public ModelAndView goAdd(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/car/defend/defendList-add"); } @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(HttpServletRequest request) { String id = request.getParameter("id"); TBCarDefend common = CarDefendService.getById(id); request.setAttribute("common", common); String carId = request.getParameter("carId"); CarEntity car = carService.get(CarEntity.class, carId); request.setAttribute("car", car); return new ModelAndView("cn/com/lzt/car/defend/defendList-update"); } @RequestMapping(params = "datagrid") public void datagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { Map param = new HashMap<>(); for (String key : request.getParameterMap().keySet()){ param.put(key, request.getParameter(key)); } DataPage result = CarDefendService.DefendList(param); TagUtil.datagrid(response, dataGrid, result); } @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(TBCarDefend common, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "档案添加成功"; j.setSuccess(true); try{ common.setCode(OrderNumTools.generateNextBillCode("LSCLYH" + getNowDate(),14, "p_device_defend", "code", 4)); CarDefendService.save(common); }catch(Exception e){ e.printStackTrace(); message = "档案添加失败"; j.setSuccess(false); throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } private static SimpleDateFormat sdfDate = new SimpleDateFormat("yyyyMMdd"); private static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static String getNowDate(){ Date now = new Date(); String time = sdfDate.format(now); return time; } public static String getNowDateTime(){ Date now = new Date(); String time = sdfTime.format(now); return time; } @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(TBCarDefend common, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "档案修改成功"; j.setSuccess(true); try{ CarDefendService.updateById(common); }catch(Exception e){ e.printStackTrace(); message = "档案修改失败"; j.setSuccess(false); throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(TBCarDefend common, HttpServletRequest request){ String message = null; AjaxJson j = new AjaxJson(); message = "档案删除成功"; try{ CarDefendService.removeById(common); }catch(Exception e){ e.printStackTrace(); message = "档案删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } @RequestMapping(params = "exportXls") public String exportXls(HttpServletRequest request,ModelMap modelMap) { Map param = new HashMap<>(); for (String key : request.getParameterMap().keySet()){ param.put(key, request.getParameter(key)); } List providers = CarDefendElxService.DefendListToDo(param); modelMap.put(NormalExcelConstants.FILE_NAME,"车辆养护记录档案"); modelMap.put(NormalExcelConstants.CLASS, TBCarDefendElx.class); modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("车辆养护记录档案", "导出人:"+ ResourceUtil.getSessionUser().getRealName(), "导出信息")); // 根据数据字典得到指定的map对象 // 车辆类型 List cartype = systemService.queryDict("", "cartype", ""); Map carTypeMap = cartype.stream().collect(Collectors.toMap(DictEntity::getTypecode, DictEntity::getTypename)); // 养护类型 List defendType = systemService.queryDict("", "defendType", ""); Map defendTypeMap = defendType.stream().collect(Collectors.toMap(DictEntity::getTypecode, DictEntity::getTypename)); if(providers != null && providers.size() > 0){ for (TBCarDefendElx tbCarDefend:providers){ tbCarDefend.setCarType(carTypeMap.getOrDefault(tbCarDefend.getCarType(),"未知车辆类型")); tbCarDefend.setType(defendTypeMap.getOrDefault(tbCarDefend.getType(),"未知养护类型")); } } modelMap.put(NormalExcelConstants.DATA_LIST, providers); return NormalExcelConstants.EASYPOI_EXCEL_VIEW; } /** * 车辆养护记录到期提醒 */ @RequestMapping(params = "carRemind") @ResponseBody public AjaxJson carRemind(){ List list = tbCarMapper.getCarRemind(); AjaxJson j = new AjaxJson(); j.setMsg("请求成功"); j.setObj(list); j.setSuccess(true); return j; } }