CarScheduleController.java 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951
  1. package cn.com.lzt.car.schedule.controller;
  2. import cn.com.lzt.car.cardoc.entity.CarEntity;
  3. import cn.com.lzt.car.cardoc.service.impl.CarServiceImpl;
  4. import cn.com.lzt.car.carfleet.service.impl.CarFleetServiceImpl;
  5. import cn.com.lzt.car.schedule.entity.CarListExcelEntity;
  6. import cn.com.lzt.car.schedule.entity.CarScheduleEntity;
  7. import cn.com.lzt.car.schedule.entity.ManListExcelEntity;
  8. import cn.com.lzt.car.schedule.entity.TBCarDrivingRecord;
  9. import cn.com.lzt.car.schedule.service.CarScheduleServiceI;
  10. import cn.com.lzt.car.schedule.service.impl.CarScheduleCountServiceImpl;
  11. import cn.com.lzt.car.schedule.service.impl.TBCarDrivingRecordServiceImpl;
  12. import cn.com.lzt.car.scheduledetail.entity.CarScheduleRouteEntity;
  13. import cn.com.lzt.car.scheduledetail.entity.TBCarScheduleCommon;
  14. import cn.com.lzt.car.scheduledetail.entity.TBCarScheduleCommonSection;
  15. import cn.hutool.core.date.DateUtil;
  16. import com.alibaba.fastjson.JSONObject;
  17. import com.baomidou.mybatisplus.core.metadata.IPage;
  18. import com.daju.common.constants.CarTypeEnum;
  19. import com.daju.common.constants.ScheduleAssignmentStyleEnum;
  20. import com.daju.common.util.DataPage;
  21. import com.daju.mix.dao.entity.PDeviceDetailRecord;
  22. import com.daju.mix.dao.entity.TBCarScheduleArrange;
  23. import org.apache.commons.lang3.StringUtils;
  24. import org.apache.log4j.Logger;
  25. import org.jeecgframework.core.beanvalidator.BeanValidators;
  26. import org.jeecgframework.core.common.controller.BaseController;
  27. import org.jeecgframework.core.common.exception.BusinessException;
  28. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  29. import org.jeecgframework.core.common.model.json.AjaxJson;
  30. import org.jeecgframework.core.common.model.json.DataGrid;
  31. import org.jeecgframework.core.constant.Globals;
  32. import org.jeecgframework.core.util.*;
  33. import org.jeecgframework.poi.excel.ExcelImportUtil;
  34. import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
  35. import cn.afterturn.easypoi.excel.entity.ExportParams;
  36. import org.jeecgframework.poi.excel.entity.ImportParams;
  37. import org.jeecgframework.tag.core.easyui.TagUtil;
  38. import org.jeecgframework.web.system.pojo.base.TSBaseUser;
  39. import org.jeecgframework.web.system.service.SystemService;
  40. import org.springframework.beans.factory.annotation.Autowired;
  41. import org.springframework.http.HttpHeaders;
  42. import org.springframework.http.HttpStatus;
  43. import org.springframework.http.MediaType;
  44. import org.springframework.http.ResponseEntity;
  45. import org.springframework.stereotype.Controller;
  46. import org.springframework.ui.ModelMap;
  47. import org.springframework.web.bind.annotation.*;
  48. import org.springframework.web.multipart.MultipartFile;
  49. import org.springframework.web.multipart.MultipartHttpServletRequest;
  50. import org.springframework.web.servlet.ModelAndView;
  51. import org.springframework.web.util.UriComponentsBuilder;
  52. import javax.annotation.Resource;
  53. import javax.servlet.http.HttpServletRequest;
  54. import javax.servlet.http.HttpServletResponse;
  55. import javax.validation.ConstraintViolation;
  56. import javax.validation.Validator;
  57. import java.io.IOException;
  58. import java.net.URI;
  59. import java.text.ParseException;
  60. import java.text.SimpleDateFormat;
  61. import java.time.LocalDateTime;
  62. import java.util.*;
  63. /**
  64. * @Title: Controller
  65. * @Description: 车辆作业计划
  66. * @author onlineGenerator
  67. * @date 2019-10-15 09:47:08
  68. * @version V1.0
  69. *
  70. */
  71. @Controller
  72. @RequestMapping("/carScheduleController")
  73. public class CarScheduleController extends BaseController {
  74. /**
  75. * Logger for this class
  76. */
  77. private static final Logger logger = Logger.getLogger(CarScheduleController.class);
  78. @Autowired
  79. private CarScheduleServiceI carScheduleService;
  80. @Resource
  81. private CarFleetServiceImpl carFleetService;
  82. @Resource
  83. private CarServiceImpl carService;
  84. @Autowired
  85. private SystemService systemService;
  86. @Autowired
  87. private Validator validator;
  88. @Resource
  89. private CarScheduleCountServiceImpl TBCarScheduleCountService;
  90. @Resource
  91. private TBCarDrivingRecordServiceImpl tbCarDrivingRecordService;
  92. @RequestMapping(params = "carScheduleDoneStat")
  93. public ModelAndView carScheduleDoneStat(HttpServletRequest request) {
  94. return new ModelAndView("cn/com/lzt/car/schedule/carScheduleDoneStat");
  95. }
  96. @RequestMapping(params = "carList")
  97. public ModelAndView carList(HttpServletRequest request) {
  98. return new ModelAndView("cn/com/lzt/schedule/carList");
  99. }
  100. @RequestMapping(params = "manList")
  101. public ModelAndView manList(HttpServletRequest request) {
  102. return new ModelAndView("cn/com/lzt/schedule/manList");
  103. }
  104. @RequestMapping(params = "drivingRecordList")
  105. public ModelAndView drivingRecordList(HttpServletRequest request) {
  106. return new ModelAndView("cn/com/lzt/schedule/drivingRecordList");
  107. }
  108. @RequestMapping(params = "detail")
  109. public ModelAndView goDetail(HttpServletRequest request) {
  110. if(request.getParameter("id") != null){
  111. String id = request.getParameter("id");
  112. String sqlStr = "SELECT\n" +
  113. "\ttbc.plate,\n" +
  114. "\tCONCAT(\n" +
  115. "\t\ttbcstd.yearmonth,\n" +
  116. "\t\t\"-\",\n" +
  117. "\t\ttbcstd.code_day\n" +
  118. "\t) scheduleDate,\n" +
  119. "\ttbcstd.username,\n" +
  120. "\ttbcst.`start` workStartTime,\n" +
  121. "\ttbcst.`end` workEndTime,\n" +
  122. "\tCONCAT('(',tbcst.`start`,'-',tbcst.`end`,')') workTime,\n" +
  123. "\ttbcst.arrange_name arrangeName,\n" +
  124. "\tIFNULL(tbcmr.`status`,0) workNumberToDay,\n" +
  125. "\ttbwr.place_code,\n" +
  126. "\ttbwr.place_name,\n" +
  127. "\ttbcsfar.finished_area\n" +
  128. "FROM\n" +
  129. "\tt_b_car tbc\n" +
  130. "LEFT JOIN t_b_car_schedule_task_detail tbcstd ON tbcstd.carid = tbc.id\n" +
  131. "LEFT JOIN t_b_car_schedule_task tbcst ON tbcst.id = tbcstd.pid\n" +
  132. "LEFT JOIN t_b_work_route_list tbwr ON tbwr.route_id = tbcst.work_route\n" +
  133. "LEFT JOIN t_b_archives_area tbaa ON tbaa.`code` = tbwr.place_code\n" +
  134. "LEFT JOIN t_b_car_mileage_record tbcmr ON tbcmr.schedule_date = CONCAT(\n" +
  135. "\t\ttbcstd.yearmonth,\n" +
  136. "\t\t\"-\",\n" +
  137. "\t\ttbcstd.code_day\n" +
  138. "\t) AND tbcmr.route_area_id = tbaa.id AND tbcmr.route_id = tbwr.route_id AND tbcmr.car_id = tbcstd.carid\n" +
  139. "LEFT JOIN t_b_car_schedule_finished_area_record tbcsfar ON tbcsfar.car_id = tbcstd.carid\n" +
  140. "AND tbcsfar.schedule_date = CONCAT(\n" +
  141. "\ttbcstd.yearmonth,\n" +
  142. "\t\"-\",\n" +
  143. "\ttbcstd.code_day\n" +
  144. ")\n" +
  145. "WHERE\n" +
  146. "\ttbcstd.id = '"+id+"';";
  147. if(request.getParameter("queryType") != null && "user".equals(request.getParameter("queryType"))){
  148. sqlStr = "SELECT\n" +
  149. "\tCONCAT(\n" +
  150. "\t\ttbcstd.yearmonth,\n" +
  151. "\t\t\"-\",\n" +
  152. "\t\ttbcstd.code_day\n" +
  153. "\t) scheduleDate,\n" +
  154. "\ttbcstd.username,\n" +
  155. "\ttbcst.`start` workStartTime,\n" +
  156. "\ttbcst.`end` workEndTime,\n" +
  157. "\tCONCAT('(',tbcst.`start`,'-',tbcst.`end`,')') workTime,\n" +
  158. "\ttbcst.arrange_name arrangeName,\n" +
  159. "\tIFNULL(tbcmr.`status`,0) workNumberToDay,\n" +
  160. "\ttbwr.place_code,\n" +
  161. "\ttbwr.place_name,\n" +
  162. "\ttbcsfar.finished_area\n" +
  163. "FROM\n" +
  164. "\tt_s_base_user tbc\n" +
  165. "LEFT JOIN t_b_car_schedule_task_detail tbcstd ON tbcstd.user_id = tbc.id\n" +
  166. "LEFT JOIN t_b_car_schedule_task tbcst ON tbcst.id = tbcstd.pid\n" +
  167. "LEFT JOIN t_b_work_route_list tbwr ON tbwr.route_id = tbcst.work_route\n" +
  168. "LEFT JOIN t_b_archives_area tbaa ON tbaa.`code` = tbwr.place_code\n" +
  169. "LEFT JOIN t_b_car_mileage_record tbcmr ON tbcmr.schedule_date = CONCAT(\n" +
  170. "\t\ttbcstd.yearmonth,\n" +
  171. "\t\t\"-\",\n" +
  172. "\t\ttbcstd.code_day\n" +
  173. "\t) AND tbcmr.route_area_id = tbaa.id AND tbcmr.route_id = tbwr.route_id AND tbcmr.car_id = tbcstd.user_id\n" +
  174. "LEFT JOIN t_b_car_schedule_finished_area_record tbcsfar ON tbcsfar.car_id = tbcstd.user_id\n" +
  175. "AND tbcsfar.schedule_date = CONCAT(\n" +
  176. "\ttbcstd.yearmonth,\n" +
  177. "\t\"-\",\n" +
  178. "\ttbcstd.code_day\n" +
  179. ")\n" +
  180. "WHERE\n" +
  181. "\ttbcstd.id = '"+id+"';";
  182. }
  183. List<Map<String,Object>> workInfo = systemService.findForJdbc(sqlStr);
  184. if(workInfo != null && workInfo.size() >0){
  185. for (Map<String,Object> workItem:workInfo){
  186. if(workItem.containsKey("username") && workItem.get("username") != null){
  187. String username = String.valueOf(workItem.get("username"));
  188. if(username.contains(",")){
  189. workItem.put("username",username.substring(0,username.indexOf(",")));
  190. workItem.put("usernames",username.substring(username.indexOf(",")+1));
  191. }
  192. }
  193. if(workItem.containsKey("finished_area") && workItem.get("finished_area") != null){
  194. String workArea = String.valueOf(workItem.get("finished_area"));
  195. String scheduleArea = String.valueOf(workItem.get("place_code"));
  196. String[] workAreas = workArea.contains("/") ? workArea.split("/") : new String[]{workArea};
  197. int workNumberToDay = 0;
  198. for (String workAreaItem:workAreas){
  199. if(workAreaItem.contains(scheduleArea)){
  200. if(workAreaItem.contains(",")){
  201. String[] workDate = workAreaItem.split(",");
  202. String[] workTimes = workDate[1].split(";");
  203. List<String> workTimeState = new ArrayList<>();
  204. if(workTimes.length > 0){
  205. // add-刘梦祥-2022年8月15日15:07:31(根据排班作业时间和作业元素完成时间区分状态)
  206. if(workItem.containsKey("scheduleDate") && workItem.get("scheduleDate") != null && workItem.containsKey("workStartTime") && workItem.get("workStartTime") != null && workItem.containsKey("workEndTime") && workItem.get("workEndTime") != null){
  207. String scheduleDate = String.valueOf(workItem.get("scheduleDate"));
  208. String workStartTime = String.valueOf(workItem.get("workStartTime"));
  209. String workEndTime = String.valueOf(workItem.get("workEndTime"));
  210. if(workStartTime.contains(":")){
  211. workStartTime.replaceAll(":",":");
  212. }
  213. if(workEndTime.contains(":")){
  214. workEndTime.replaceAll(":",":");
  215. }
  216. for (String workTime:workTimes){
  217. if(DateUtil.parseDateTime(workTime).after(DateUtil.parseDateTime(scheduleDate + " " + workStartTime + ":00")) && DateUtil.parseDateTime(workTime).before(DateUtil.parseDateTime(scheduleDate + " " + workEndTime + ":00"))) {
  218. workTimeState.add(workTime);
  219. workNumberToDay += 1;
  220. }
  221. }
  222. }
  223. }
  224. workItem.put("workTimes",workTimeState);
  225. }
  226. break;
  227. }
  228. }
  229. workItem.put("workNumberToDay",workNumberToDay);
  230. }else{
  231. workItem.put("workNumberToDay",0);
  232. }
  233. if(workItem.containsKey("workNumberToDay") && workItem.get("workNumberToDay") != null){
  234. String workNumberToDay = String.valueOf(workItem.get("workNumberToDay"));
  235. workItem.put("workState","0".equals(workNumberToDay) ? "未完成":"已完成");
  236. }
  237. }
  238. }
  239. request.setAttribute("queryType", request.getParameter("queryType"));
  240. request.setAttribute("workInfo", workInfo);
  241. }
  242. return new ModelAndView("cn/com/lzt/schedule/carList-detail");
  243. }
  244. @RequestMapping(params = "carListDatagrid")
  245. @ResponseBody
  246. public Object carListDatagrid(HttpServletRequest request){
  247. Map<String, String> param = new HashMap<>();
  248. for (String key : request.getParameterMap().keySet()) {
  249. param.put(key, request.getParameter(key));
  250. }
  251. return TBCarScheduleCountService.queryCarPageByScheduleId(param);
  252. }
  253. @RequestMapping(params = "manListDatagrid")
  254. @ResponseBody
  255. public Object manListDatagrid(HttpServletRequest request){
  256. Map<String, String> param = new HashMap<>();
  257. for (String key : request.getParameterMap().keySet()) {
  258. param.put(key, request.getParameter(key));
  259. }
  260. return TBCarScheduleCountService.queryUserPageByScheduleId(param);
  261. }
  262. @RequestMapping(params = "drivingRecordListDatagrid")
  263. @ResponseBody
  264. public Object drivingRecordListDatagrid(HttpServletRequest request){
  265. Map<String, String> param = new HashMap<>();
  266. for (String key : request.getParameterMap().keySet()) {
  267. param.put(key, request.getParameter(key));
  268. }
  269. List<String> carTypes = new ArrayList<>();
  270. String MENU_DATA_AUTHOR_RULE_SQL = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  271. if (!cn.com.lzt.common.util.StringUtil.isEmpty(MENU_DATA_AUTHOR_RULE_SQL)){
  272. if(MENU_DATA_AUTHOR_RULE_SQL.contains(",")){
  273. MENU_DATA_AUTHOR_RULE_SQL = MENU_DATA_AUTHOR_RULE_SQL.replaceAll(",","','");
  274. }
  275. String[] MENU_DATA_AUTHOR_RULE_SQL_Split = MENU_DATA_AUTHOR_RULE_SQL.split(" ");
  276. String getCarType = "select tsy.typename from t_s_type tsy LEFT JOIN t_s_typegroup tsyg on tsyg.id = tsy.typegroupid where tsyg.typegroupcode = \"cartype\" and tsy.typecode "+MENU_DATA_AUTHOR_RULE_SQL_Split[MENU_DATA_AUTHOR_RULE_SQL_Split.length-1]+";";
  277. carTypes = this.systemService.findListbySql(getCarType);
  278. }
  279. return tbCarDrivingRecordService.recordPage(param,carTypes);
  280. }
  281. /**
  282. * 车辆作业计划列表 页面跳转
  283. *
  284. * @return
  285. */
  286. @RequestMapping(params = "list")
  287. public ModelAndView list(HttpServletRequest request) {
  288. return new ModelAndView("cn/com/lzt/car/schedule/carScheduleList");
  289. }
  290. @RequestMapping(params = "detailBaidu")
  291. public ModelAndView detailBaidu(HttpServletRequest request) {
  292. return new ModelAndView("cn/com/lzt/car/schedule/carScheduleDetailListBaidu");
  293. }
  294. @RequestMapping(params = "listAndBaidu")
  295. public ModelAndView listAndBaidu(HttpServletRequest request) {
  296. String scheduleid = request.getParameter("scheduleid");
  297. CarScheduleEntity carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, scheduleid);
  298. request.setAttribute("schedule", carSchedule);
  299. if(carSchedule.getType().equals("route")) {
  300. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleDetailSet");
  301. } else if(carSchedule.getType().equals("section")) {
  302. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleSectionSet");
  303. } else if(carSchedule.getType().equals("place")) {
  304. return new ModelAndView("cn/com/lzt/car/scheduledetail/carSchedulePlaceSet");
  305. }
  306. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleDetailSet");
  307. }
  308. @RequestMapping(params = "archiveSet")
  309. public ModelAndView archiveSet(HttpServletRequest request) {
  310. String scheduleid = request.getParameter("scheduleid");
  311. CarScheduleEntity carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, scheduleid);
  312. TSBaseUser user = systemService.get(TSBaseUser.class, carSchedule.getUserId());
  313. request.setAttribute("schedule", carSchedule);
  314. request.setAttribute("user", user);
  315. if(carSchedule.getAssignmentStyle().equals(ScheduleAssignmentStyleEnum.DustBinClean.getCode())){
  316. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleArchiveSet");
  317. }
  318. if(carSchedule.getAssignmentStyle().equals(ScheduleAssignmentStyleEnum.TOILETS.getCode())){
  319. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleToiletSet");
  320. }
  321. return new ModelAndView("");
  322. }
  323. @RequestMapping(params = "archiveList")
  324. public ModelAndView archiveList(HttpServletRequest request) {
  325. String scheduleid = request.getParameter("scheduleid");
  326. CarScheduleEntity carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, scheduleid);
  327. TSBaseUser user = systemService.get(TSBaseUser.class, carSchedule.getUserId());
  328. request.setAttribute("schedule", carSchedule);
  329. request.setAttribute("user", user);
  330. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleArchiveList");
  331. }
  332. @RequestMapping(params = "doArchiveSectionAdd")
  333. @ResponseBody
  334. public AjaxJson doArchiveSectionAdd(HttpServletRequest request) throws ParseException {
  335. String message = null;
  336. TBCarScheduleCommonSection common = new TBCarScheduleCommonSection();
  337. common.setScheduleId(request.getParameter("scheduleId"));
  338. String date = request.getParameter("date");
  339. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  340. common.setDate(sdf.parse(date));
  341. AjaxJson j = new AjaxJson();
  342. message = "排班添加成功";
  343. j.setSuccess(true);
  344. if(carScheduleService.hasScheduleSection(common)) {
  345. message = "排班添加失败,已经存在相同排班";
  346. j.setMsg(message);
  347. j.setSuccess(false);
  348. return j;
  349. }
  350. try{
  351. common.setCreateDate(LocalDateTime.now());
  352. carScheduleService.addScheduleSection(common);
  353. }catch(Exception e){
  354. e.printStackTrace();
  355. message = "档案添加失败";
  356. j.setSuccess(false);
  357. throw new BusinessException(e.getMessage());
  358. }
  359. j.setMsg(message);
  360. return j;
  361. }
  362. @RequestMapping(params = "archiveAdd")
  363. public ModelAndView archiveAdd(HttpServletRequest request) {
  364. String scheduleid = request.getParameter("scheduleid");
  365. CarScheduleEntity carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, scheduleid);
  366. request.setAttribute("schedule", carSchedule);
  367. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleArchiveAdd");
  368. }
  369. @RequestMapping(params = "scheduleDoneDatagrid")
  370. public void scheduleDoneDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  371. Map<String, Object> param = new HashMap<>();
  372. for (String key : request.getParameterMap().keySet()){
  373. param.put(key, request.getParameter(key));
  374. }
  375. DataPage result = carScheduleService.getDoneList(param);
  376. TagUtil.datagrid(response, dataGrid, result);
  377. }
  378. @RequestMapping(params = "toiletSetDatagrid")
  379. public void toiletSetDatagrid(TBCarScheduleArrange object, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  380. DataPage result = carScheduleService.getToiletList(request.getParameter("scheduleId"));
  381. TagUtil.datagrid(response, dataGrid, result);
  382. }
  383. @RequestMapping(params = "archiveListDatagrid")
  384. public void archiveListDatagrid(TBCarScheduleArrange object, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  385. DataPage result = carScheduleService.getArchiveList(request.getParameter("scheduleId"));
  386. TagUtil.datagrid(response, dataGrid, result);
  387. }
  388. @RequestMapping(params = "archiveSetDatagrid")
  389. public void archiveSetDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  390. DataPage result = carScheduleService.getDustbinByScheduleCommon(request.getParameter("scheduleid"));
  391. TagUtil.datagrid(response, dataGrid, result);
  392. }
  393. @RequestMapping(params = "archiveListDetail")
  394. public ModelAndView archiveListDetail(HttpServletRequest request) {
  395. String scheduleid = request.getParameter("scheduleId");
  396. String date = request.getParameter("date");
  397. CarScheduleEntity carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, scheduleid);
  398. TSBaseUser user = systemService.get(TSBaseUser.class, carSchedule.getUserId());
  399. request.setAttribute("user", user);
  400. request.setAttribute("schedule", carSchedule);
  401. request.setAttribute("date", date);
  402. return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleArchiveListDetail");
  403. }
  404. @RequestMapping(params = "archiveListDetailDatagrid")
  405. public void archiveListDetail(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  406. Map<String, Object> param = new HashMap<>();
  407. for (String key : request.getParameterMap().keySet()){
  408. param.put(key, request.getParameter(key));
  409. }
  410. DataPage result = carScheduleService.archiveListDetail(param);
  411. TagUtil.datagrid(response, dataGrid, result);
  412. }
  413. @RequestMapping(params = "doArchiveAdd")
  414. @ResponseBody
  415. public AjaxJson doArchiveAdd(TBCarScheduleCommon common, HttpServletRequest request) {
  416. String message = null;
  417. AjaxJson j = new AjaxJson();
  418. message = "档案添加成功";
  419. j.setSuccess(true);
  420. if(carScheduleService.hasSchedule(common)) {
  421. message = "档案添加失败,已经存在相同档案";
  422. j.setMsg(message);
  423. j.setSuccess(false);
  424. return j;
  425. }
  426. try{
  427. common.setCreateDate(LocalDateTime.now());
  428. carScheduleService.addSchedule(common);
  429. }catch(Exception e){
  430. e.printStackTrace();
  431. message = "档案添加失败";
  432. j.setSuccess(false);
  433. throw new BusinessException(e.getMessage());
  434. }
  435. j.setMsg(message);
  436. return j;
  437. }
  438. @RequestMapping(params = "doArchiveSectionDel")
  439. @ResponseBody
  440. public AjaxJson doArchiveSectionDel(TBCarScheduleCommonSection common, HttpServletRequest request){
  441. String message = null;
  442. AjaxJson j = new AjaxJson();
  443. message = "排班删除成功";
  444. try{
  445. carScheduleService.delScheduleSection(common);
  446. }catch(Exception e){
  447. e.printStackTrace();
  448. message = "排班删除失败";
  449. throw new BusinessException(e.getMessage());
  450. }
  451. j.setMsg(message);
  452. return j;
  453. }
  454. @RequestMapping(params = "doArchiveDel")
  455. @ResponseBody
  456. public AjaxJson doArchiveDel(TBCarScheduleCommon common, HttpServletRequest request){
  457. String message = null;
  458. AjaxJson j = new AjaxJson();
  459. message = "档案删除成功";
  460. try{
  461. carScheduleService.delSchedule(common);
  462. }catch(Exception e){
  463. e.printStackTrace();
  464. message = "档案删除失败";
  465. throw new BusinessException(e.getMessage());
  466. }
  467. j.setMsg(message);
  468. return j;
  469. }
  470. @RequestMapping(params = "listArrange")
  471. public ModelAndView listArrange(HttpServletRequest request) {
  472. String scheduleid = request.getParameter("scheduleid");
  473. CarScheduleEntity carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, scheduleid);
  474. request.setAttribute("schedule", carSchedule);
  475. TSBaseUser user = systemService.get(TSBaseUser.class, carSchedule.getUserId());
  476. request.setAttribute("user", user);
  477. request.setAttribute("scheduleId", carSchedule.getId());
  478. // if(carSchedule.getType().equals("route")) {
  479. // return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleDetailSet");
  480. // } else if(carSchedule.getType().equals("section")) {
  481. // return new ModelAndView("cn/com/lzt/car/scheduledetail/carScheduleSectionSet");
  482. // } else if(carSchedule.getType().equals("place")) {
  483. // return new ModelAndView("cn/com/lzt/car/scheduledetail/carSchedulePlaceSet");
  484. // }
  485. return new ModelAndView("cn/com/lzt/car/schedule/scheduleArrangeList");
  486. }
  487. /**
  488. * easyui AJAX请求数据
  489. *
  490. * @param request
  491. * @param response
  492. * @param dataGrid
  493. */
  494. @RequestMapping(params = "datagrid")
  495. public void datagrid(CarScheduleEntity carSchedule,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  496. CriteriaQuery cq = new CriteriaQuery(CarScheduleEntity.class, dataGrid);
  497. //查询条件组装器
  498. if(StringUtils.isNotBlank(carSchedule.getCarname())) {
  499. //模糊查询
  500. cq.like("carname", "%"+carSchedule.getCarname()+"%");
  501. carSchedule.setCarname(null);
  502. }
  503. if(!ResourceUtil.isLoginUserAdmin()) {
  504. List<String> carIds = carService.getCarIdsCreateBy(ResourceUtil.getSessionUser().getMobilePhone());
  505. if(!ListUtils.isNullOrEmpty(carIds)) cq.in("carid", carIds.toArray());
  506. }
  507. //查询条件组装器
  508. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, carSchedule, request.getParameterMap());
  509. cq.add();
  510. this.carScheduleService.getDataGridReturn(cq, true);
  511. TagUtil.datagrid(response, dataGrid);
  512. }
  513. /**
  514. * 删除车辆作业计划
  515. *
  516. * @return
  517. */
  518. @RequestMapping(params = "doDel")
  519. @ResponseBody
  520. public AjaxJson doDel(CarScheduleEntity carSchedule, HttpServletRequest request) {
  521. String message = null;
  522. AjaxJson j = new AjaxJson();
  523. carSchedule = systemService.getEntity(CarScheduleEntity.class, carSchedule.getId());
  524. message = "车辆作业计划删除成功";
  525. try{
  526. systemService.executeSql("delete from t_b_car_schedule_route where scheduleid = ?", carSchedule.getId());
  527. carScheduleService.delete(carSchedule);
  528. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  529. }catch(Exception e){
  530. e.printStackTrace();
  531. message = "车辆作业计划删除失败";
  532. throw new BusinessException(e.getMessage());
  533. }
  534. j.setMsg(message);
  535. return j;
  536. }
  537. /**
  538. * 批量删除车辆作业计划
  539. *
  540. * @return
  541. */
  542. @RequestMapping(params = "doBatchDel")
  543. @ResponseBody
  544. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  545. String message = null;
  546. AjaxJson j = new AjaxJson();
  547. message = "车辆作业计划删除成功";
  548. try{
  549. for(String id:ids.split(",")){
  550. CarScheduleEntity carSchedule = systemService.getEntity(CarScheduleEntity.class,
  551. id
  552. );
  553. carScheduleService.delete(carSchedule);
  554. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  555. }
  556. }catch(Exception e){
  557. e.printStackTrace();
  558. message = "车辆作业计划删除失败";
  559. throw new BusinessException(e.getMessage());
  560. }
  561. j.setMsg(message);
  562. return j;
  563. }
  564. /**
  565. * 添加车辆作业计划
  566. *
  567. * @return
  568. */
  569. @RequestMapping(params = "doAdd")
  570. @ResponseBody
  571. public AjaxJson doAdd(CarScheduleEntity carSchedule, HttpServletRequest request) {
  572. String message = null;
  573. AjaxJson j = new AjaxJson();
  574. message = "车辆作业计划添加成功";
  575. if(hasCarSchedule(carSchedule)) {
  576. message = "车辆作业计划添加失败,已经存在同一时间段的作业计划,请检查修改后在保存";
  577. j.setMsg(message);
  578. j.setSuccess(false);
  579. return j;
  580. }
  581. try{
  582. String carId = carSchedule.getCarid();
  583. if(StringUtil.isNotEmpty(carId)) {
  584. CarEntity carEntity = systemService.get(CarEntity.class, carSchedule.getCarid());
  585. carSchedule.setUserId(carEntity.getDriverid());
  586. }
  587. carSchedule.setCarname(systemService.get(CarEntity.class,carSchedule.getCarid()).getName());
  588. carScheduleService.save(carSchedule);
  589. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  590. }catch(Exception e){
  591. e.printStackTrace();
  592. message = "车辆作业计划添加失败";
  593. throw new BusinessException(e.getMessage());
  594. }
  595. j.setMsg(message);
  596. return j;
  597. }
  598. private boolean hasCarSchedule(CarScheduleEntity carSchedule) {
  599. boolean hasSchedule = false;
  600. String sql = "select id From t_b_Car_Schedule sche where carid =? and ( (sche.start > ? and sche.start < ? ) or ( sche.end > ? and sche.end < ? ) )";
  601. List<Map<String, Object>> scheList = systemService.findForJdbc(sql, carSchedule.getCarid(),
  602. carSchedule.getStart(),carSchedule.getEnd(),
  603. carSchedule.getStart(),carSchedule.getEnd());
  604. if(scheList.size() > 0)
  605. hasSchedule = true;
  606. return hasSchedule;
  607. }
  608. /**
  609. * 更新车辆作业计划
  610. *
  611. * @return
  612. */
  613. @RequestMapping(params = "doUpdate")
  614. @ResponseBody
  615. public AjaxJson doUpdate(CarScheduleEntity carSchedule, HttpServletRequest request) {
  616. String message = null;
  617. AjaxJson j = new AjaxJson();
  618. message = "车辆作业计划更新成功";
  619. CarScheduleEntity t = carScheduleService.get(CarScheduleEntity.class, carSchedule.getId());
  620. try {
  621. MyBeanUtils.copyBeanNotNull2Bean(carSchedule, t);
  622. CarEntity carEntity = systemService.get(CarEntity.class, carSchedule.getCarid());
  623. t.setUserId(carEntity.getDriverid());
  624. t.setCarname(carEntity.getName());
  625. carScheduleService.saveOrUpdate(t);
  626. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  627. } catch (Exception e) {
  628. e.printStackTrace();
  629. message = "车辆作业计划更新失败";
  630. throw new BusinessException(e.getMessage());
  631. }
  632. j.setMsg(message);
  633. return j;
  634. }
  635. /**
  636. * 复制车辆作业计划
  637. *
  638. * @return
  639. */
  640. @RequestMapping(params = "doClone")
  641. @ResponseBody
  642. public AjaxJson doClone(String scheduleid, HttpServletRequest request) {
  643. String message = null;
  644. AjaxJson j = new AjaxJson();
  645. message = "车辆作业计划复制成功";
  646. CarScheduleEntity t = carScheduleService.get(CarScheduleEntity.class, scheduleid);
  647. List<CarScheduleRouteEntity> details = carScheduleService.findByProperty(CarScheduleRouteEntity.class, "scheduleid", scheduleid);
  648. try {
  649. CarScheduleEntity carSchedule = new CarScheduleEntity();
  650. MyBeanUtils.copyBean2Bean(carSchedule, t);
  651. carSchedule.setId(null);
  652. carScheduleService.save(carSchedule);
  653. for(CarScheduleRouteEntity detail : details) {
  654. CarScheduleRouteEntity newDetail = new CarScheduleRouteEntity();
  655. MyBeanUtils.copyBean2Bean(newDetail, detail);
  656. newDetail.setScheduleid(carSchedule.getId());
  657. newDetail.setId(null);
  658. systemService.save(newDetail);
  659. }
  660. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  661. } catch (Exception e) {
  662. e.printStackTrace();
  663. message = "车辆作业计划复制失败";
  664. throw new BusinessException(e.getMessage());
  665. }
  666. j.setMsg(message);
  667. return j;
  668. }
  669. /**
  670. * 车辆作业计划新增页面跳转
  671. *
  672. * @return
  673. */
  674. @RequestMapping(params = "goAdd")
  675. public ModelAndView goAdd(CarScheduleEntity carSchedule, HttpServletRequest req) {
  676. if (StringUtil.isNotEmpty(carSchedule.getId())) {
  677. carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, carSchedule.getId());
  678. req.setAttribute("carSchedulePage", carSchedule);
  679. }
  680. return new ModelAndView("cn/com/lzt/car/schedule/carSchedule-add");
  681. }
  682. /**
  683. * 车辆作业计划编辑页面跳转
  684. *
  685. * @return
  686. */
  687. @RequestMapping(params = "goUpdate")
  688. public ModelAndView goUpdate(CarScheduleEntity carSchedule, HttpServletRequest req) {
  689. if (StringUtil.isNotEmpty(carSchedule.getId())) {
  690. carSchedule = carScheduleService.getEntity(CarScheduleEntity.class, carSchedule.getId());
  691. req.setAttribute("carSchedulePage", carSchedule);
  692. }
  693. return new ModelAndView("cn/com/lzt/car/schedule/carSchedule-update");
  694. }
  695. /**
  696. * 导入功能跳转
  697. *
  698. * @return
  699. */
  700. @RequestMapping(params = "upload")
  701. public ModelAndView upload(HttpServletRequest req) {
  702. req.setAttribute("controller_name","carScheduleController");
  703. return new ModelAndView("common/upload/pub_excel_upload");
  704. }
  705. /**
  706. * 导出excel
  707. *
  708. * @param request
  709. * @param response
  710. */
  711. @RequestMapping(params = "exportXls")
  712. public String exportXls(CarScheduleEntity carSchedule,HttpServletRequest request,HttpServletResponse response
  713. , DataGrid dataGrid,ModelMap modelMap) {
  714. CriteriaQuery cq = new CriteriaQuery(CarScheduleEntity.class, dataGrid);
  715. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, carSchedule, request.getParameterMap());
  716. List<CarScheduleEntity> carSchedules = this.carScheduleService.getListByCriteriaQuery(cq,false);
  717. modelMap.put(NormalExcelConstants.FILE_NAME,"车辆作业计划");
  718. modelMap.put(NormalExcelConstants.CLASS,CarScheduleEntity.class);
  719. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("车辆作业计划列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  720. "导出信息"));
  721. modelMap.put(NormalExcelConstants.DATA_LIST,carSchedules);
  722. return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
  723. }
  724. /**
  725. * 导出excel 使模板
  726. *
  727. * @param request
  728. * @param response
  729. */
  730. @RequestMapping(params = "exportXlsByT")
  731. public String exportXlsByT(CarScheduleEntity carSchedule,HttpServletRequest request,HttpServletResponse response
  732. , DataGrid dataGrid,ModelMap modelMap) {
  733. modelMap.put(NormalExcelConstants.FILE_NAME,"车辆作业计划");
  734. modelMap.put(NormalExcelConstants.CLASS,CarScheduleEntity.class);
  735. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("车辆作业计划列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  736. "导出信息"));
  737. modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
  738. return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
  739. }
  740. @SuppressWarnings("unchecked")
  741. @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  742. @ResponseBody
  743. public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  744. AjaxJson j = new AjaxJson();
  745. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  746. Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  747. for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  748. MultipartFile file = entity.getValue();// 获取上传文件对象
  749. ImportParams params = new ImportParams();
  750. params.setTitleRows(2);
  751. params.setHeadRows(1);
  752. params.setNeedSave(true);
  753. try {
  754. List<CarScheduleEntity> listCarScheduleEntitys = ExcelImportUtil.importExcel(file.getInputStream(),CarScheduleEntity.class,params);
  755. for (CarScheduleEntity carSchedule : listCarScheduleEntitys) {
  756. carScheduleService.save(carSchedule);
  757. }
  758. j.setMsg("文件导入成功!");
  759. } catch (Exception e) {
  760. j.setMsg("文件导入失败!");
  761. logger.error(ExceptionUtil.getExceptionMessage(e));
  762. }finally{
  763. try {
  764. file.getInputStream().close();
  765. } catch (IOException e) {
  766. e.printStackTrace();
  767. }
  768. }
  769. }
  770. return j;
  771. }
  772. @RequestMapping(method = RequestMethod.GET)
  773. @ResponseBody
  774. public List<CarScheduleEntity> list() {
  775. List<CarScheduleEntity> listCarSchedules=carScheduleService.getList(CarScheduleEntity.class);
  776. return listCarSchedules;
  777. }
  778. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  779. @ResponseBody
  780. public ResponseEntity<?> get(@PathVariable("id") String id) {
  781. CarScheduleEntity task = carScheduleService.get(CarScheduleEntity.class, id);
  782. if (task == null) {
  783. return new ResponseEntity(HttpStatus.NOT_FOUND);
  784. }
  785. return new ResponseEntity(task, HttpStatus.OK);
  786. }
  787. @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  788. @ResponseBody
  789. public ResponseEntity<?> create(@RequestBody CarScheduleEntity carSchedule, UriComponentsBuilder uriBuilder) {
  790. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  791. Set<ConstraintViolation<CarScheduleEntity>> failures = validator.validate(carSchedule);
  792. if (!failures.isEmpty()) {
  793. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  794. }
  795. //保存
  796. try{
  797. carScheduleService.save(carSchedule);
  798. } catch (Exception e) {
  799. e.printStackTrace();
  800. return new ResponseEntity(HttpStatus.NO_CONTENT);
  801. }
  802. //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
  803. String id = carSchedule.getId();
  804. URI uri = uriBuilder.path("/rest/carScheduleController/" + id).build().toUri();
  805. HttpHeaders headers = new HttpHeaders();
  806. headers.setLocation(uri);
  807. return new ResponseEntity(headers, HttpStatus.CREATED);
  808. }
  809. @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
  810. public ResponseEntity<?> update(@RequestBody CarScheduleEntity carSchedule) {
  811. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  812. Set<ConstraintViolation<CarScheduleEntity>> failures = validator.validate(carSchedule);
  813. if (!failures.isEmpty()) {
  814. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  815. }
  816. //保存
  817. try{
  818. carScheduleService.saveOrUpdate(carSchedule);
  819. } catch (Exception e) {
  820. e.printStackTrace();
  821. return new ResponseEntity(HttpStatus.NO_CONTENT);
  822. }
  823. //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
  824. return new ResponseEntity(HttpStatus.NO_CONTENT);
  825. }
  826. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  827. @ResponseStatus(HttpStatus.NO_CONTENT)
  828. public void delete(@PathVariable("id") String id) {
  829. carScheduleService.deleteEntityById(CarScheduleEntity.class, id);
  830. }
  831. @RequestMapping(params = "carExcelExport")
  832. public String carExcelExport(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid, ModelMap modelMap) {
  833. modelMap.put(NormalExcelConstants.FILE_NAME, "车辆计划完成情况统计");
  834. modelMap.put(NormalExcelConstants.CLASS, CarListExcelEntity.class);
  835. modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("车辆计划完成情况统计", "导出人:"+ ResourceUtil.getSessionUser().getRealName(),
  836. "导出信息"));
  837. Map<String, String> param = new HashMap<String, String>();
  838. for(String key : request.getParameterMap().keySet()){
  839. param.put(key, request.getParameter(key));
  840. }
  841. IPage<Map<String, Object>> result = TBCarScheduleCountService.queryCarPageByScheduleId(param);
  842. List<CarListExcelEntity> list = new ArrayList<>();
  843. for(Map map : result.getRecords()){
  844. CarListExcelEntity pdr = JSONObject.parseObject(JSONObject.toJSONString(map),CarListExcelEntity.class);
  845. list.add(pdr);
  846. }
  847. modelMap.put(NormalExcelConstants.DATA_LIST, list);
  848. return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
  849. }
  850. @RequestMapping(params = "manExcelExport")
  851. public String manExcelExport(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid, ModelMap modelMap) {
  852. modelMap.put(NormalExcelConstants.FILE_NAME, "人员计划完成情况统计");
  853. modelMap.put(NormalExcelConstants.CLASS, ManListExcelEntity.class);
  854. modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("人员计划完成情况统计", "导出人:"+ ResourceUtil.getSessionUser().getRealName(),
  855. "导出信息"));
  856. Map<String, String> param = new HashMap<String, String>();
  857. for(String key : request.getParameterMap().keySet()){
  858. param.put(key, request.getParameter(key));
  859. }
  860. IPage<Map<String, Object>> result = TBCarScheduleCountService.queryUserPageByScheduleId(param);
  861. List<ManListExcelEntity> list = new ArrayList<>();
  862. for(Map map : result.getRecords()){
  863. ManListExcelEntity pdr = JSONObject.parseObject(JSONObject.toJSONString(map),ManListExcelEntity.class);
  864. list.add(pdr);
  865. }
  866. modelMap.put(NormalExcelConstants.DATA_LIST, list);
  867. return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
  868. }
  869. @RequestMapping(params = "drExcelExport")
  870. public String drExcelExport(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid, ModelMap modelMap) {
  871. modelMap.put(NormalExcelConstants.FILE_NAME, "车辆行驶记录统计");
  872. modelMap.put(NormalExcelConstants.CLASS, TBCarDrivingRecord.class);
  873. modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("车辆行驶记录统计", "导出人:"+ ResourceUtil.getSessionUser().getRealName(),
  874. "导出信息"));
  875. Map<String, String> param = new HashMap<String, String>();
  876. for(String key : request.getParameterMap().keySet()){
  877. param.put(key, request.getParameter(key));
  878. }
  879. List<String> carTypes = new ArrayList<>();
  880. String MENU_DATA_AUTHOR_RULE_SQL = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  881. if (!cn.com.lzt.common.util.StringUtil.isEmpty(MENU_DATA_AUTHOR_RULE_SQL)){
  882. if(MENU_DATA_AUTHOR_RULE_SQL.contains(",")){
  883. MENU_DATA_AUTHOR_RULE_SQL = MENU_DATA_AUTHOR_RULE_SQL.replaceAll(",","','");
  884. }
  885. String[] MENU_DATA_AUTHOR_RULE_SQL_Split = MENU_DATA_AUTHOR_RULE_SQL.split(" ");
  886. String getCarType = "select tsy.typename from t_s_type tsy LEFT JOIN t_s_typegroup tsyg on tsyg.id = tsy.typegroupid where tsyg.typegroupcode = \"cartype\" and tsy.typecode "+MENU_DATA_AUTHOR_RULE_SQL_Split[MENU_DATA_AUTHOR_RULE_SQL_Split.length-1]+";";
  887. carTypes = this.systemService.findListbySql(getCarType);
  888. }
  889. IPage<TBCarDrivingRecord> result = tbCarDrivingRecordService.recordPage(param,carTypes);
  890. List<TBCarDrivingRecord> list = new ArrayList<>();
  891. for(TBCarDrivingRecord map : result.getRecords()){
  892. TBCarDrivingRecord pdr = JSONObject.parseObject(JSONObject.toJSONString(map),TBCarDrivingRecord.class);
  893. list.add(pdr);
  894. }
  895. modelMap.put(NormalExcelConstants.DATA_LIST, list);
  896. return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
  897. }
  898. }