package com.ruoyi.api.third.controller; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.model.LoginBody; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.PdfTemplateUtil; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.framework.config.ServerConfig; import com.ruoyi.framework.web.service.SysLoginService; import com.ruoyi.system.service.ISysDictTypeService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.tms.domain.TmsDriver; import com.ruoyi.tms.domain.TmsFinanceDetail; import com.ruoyi.tms.domain.TmsTrip; import com.ruoyi.tms.service.ITmsDispatchOrderService; import com.ruoyi.tms.service.ITmsDriverService; import com.ruoyi.tms.service.ITmsFinanceDetailService; import com.ruoyi.tms.service.ITmsTripService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @RestController @RequestMapping("/app/car") public class CarWxController extends BaseController { @Autowired private SysLoginService loginService; @Autowired private ITmsDispatchOrderService tmsDispatchOrderService; @Autowired private ITmsTripService tmsTripService; @Autowired private ITmsFinanceDetailService tmsFinanceDetailService; @Autowired private ServerConfig serverConfig; @Autowired private ISysDictTypeService dictTypeService; @Value("${custom.upload.network-path}") private String networkPath; /** * 登录方法[pda] * * @param loginBody 登录信息 * @return 结果 */ @PostMapping("/login") public AjaxResult login(@RequestBody LoginBody loginBody) { AjaxResult ajax = AjaxResult.success(); // 生成令牌 String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(),null ,null); ajax.put(Constants.TOKEN, token); return ajax; } /** * 被指派行程列表 * @return */ @GetMapping("/assignedItineraryList") public AjaxResult assignedItineraryList(){ return tmsDispatchOrderService.assignedItineraryList(); } /** * 被指派行程列表 * @return */ @GetMapping("/assignedItineraryLogList") public AjaxResult assignedItineraryLogList(){ return tmsDispatchOrderService.assignedItineraryLogList(); } /** * 行程详情 */ @GetMapping("/dispatch/{dispatchId}") public AjaxResult selectAssignedItineraryDetail(@PathVariable Integer dispatchId){ return tmsDispatchOrderService.selectAssignedItineraryDetail(dispatchId); } /** * 行程历史 */ @GetMapping("/tmsTripList/{dispatchId}") public AjaxResult tmsTripList(@PathVariable Integer dispatchId){ return AjaxResult.success(tmsTripService.tmsTripList(dispatchId)); } /** * 获取垫付列表 * @return */ @GetMapping("/getTmsFinanceDetailList") public AjaxResult getTmsFinanceDetailList(Integer dispatchId){ return AjaxResult.success(tmsFinanceDetailService.getTmsFinanceDetailList(dispatchId)); } /** * 提交甩挂 */ @PostMapping("/submitDropHook") public AjaxResult submitDropHook(@RequestBody TmsTrip tmsTrip){ tmsTrip.setDataSource("1"); return tmsTripService.submitDropHook(tmsTrip); } /** * 提交接挂 */ @PostMapping("/submitPickHook") public AjaxResult submitPickHook(@RequestBody TmsTrip tmsTrip){ tmsTrip.setDataSource("1"); return tmsTripService.submitPickHook(tmsTrip); } /** * 上传行程 */ @PostMapping("/uploadTrip") public AjaxResult uploadTrip(@RequestBody TmsTrip tmsTrip) throws Exception { tmsTrip.setDataSource("1"); return AjaxResult.success(tmsTripService.insertTmsTrip(tmsTrip)); } /** * 上传垫付 */ @PostMapping("/uploadFinance") public AjaxResult uploadTrip(@RequestBody TmsFinanceDetail tmsFinanceDetail){ tmsFinanceDetail.setFinanceType(2); tmsFinanceDetail.setDataSource(1); return AjaxResult.success(tmsFinanceDetailService.insertTmsFinanceDetail(tmsFinanceDetail)); } /** * 通用上传请求 */ @PostMapping("/uploadImg") public AjaxResult uploadFile(MultipartFile file) throws Exception { try { // 上传文件路径 String filePath = RuoYiConfig.getUploadPath(); // 上传并返回新文件名称 String fileName = FileUploadUtils.upload(filePath, file); String url = networkPath + fileName; AjaxResult ajax = AjaxResult.success(); ajax.put("fileName", fileName); ajax.put("url", url); return ajax; } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } /** * 根据字典类型查询字典数据信息 */ @GetMapping(value = "/type/{dictType}") public AjaxResult dictType(@PathVariable String dictType) { List data = dictTypeService.selectDictDataByType(dictType); if (StringUtils.isNull(data)) { data = new ArrayList(); } return AjaxResult.success(data); } }