UniversalController.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. package com.steerinfo.dil.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.steerinfo.dil.config.ImageFileUtils;
  4. import com.steerinfo.dil.mapper.UniversalMapper;
  5. import com.steerinfo.dil.service.impl.UniversalServiceImpl;
  6. import com.steerinfo.dil.util.BaseRESTfulController;
  7. import com.steerinfo.dil.util.ColumnDataUtil;
  8. import com.steerinfo.dil.util.DataChange;
  9. import com.steerinfo.dil.util.PageListAdd;
  10. import com.steerinfo.framework.controller.RESTfulResult;
  11. import com.steerinfo.framework.service.pagehelper.PageHelper;
  12. import io.swagger.annotations.*;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestBody;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import org.springframework.web.bind.annotation.*;
  19. import org.springframework.web.multipart.MultipartFile;
  20. import org.springframework.web.multipart.MultipartRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.io.File;
  23. import java.io.FileInputStream;
  24. import java.io.IOException;
  25. import java.io.OutputStream;
  26. import java.math.BigDecimal;
  27. import java.net.URLEncoder;
  28. import java.util.*;
  29. /**
  30. * @ author :TXF
  31. * @ time :2021/10/19 18:06
  32. * 通用接口
  33. */
  34. @RequestMapping("${api.version}/uc")
  35. @RestController
  36. public class UniversalController extends BaseRESTfulController {
  37. @Autowired
  38. UniversalServiceImpl universalService;
  39. @Autowired
  40. UniversalMapper universalMapper;
  41. @Autowired
  42. ColumnDataUtil columnDataUtil;
  43. @Autowired
  44. private ImageFileUtils imageFileUtils;
  45. @ApiModelProperty(value = "边输边查物资大类")
  46. @PostMapping("/getMaterialTypeByLike")
  47. public RESTfulResult getMaterialTypeByLike(@RequestBody(required = false) Map<String,Object> map) {
  48. List<Map<String, Object>> list = universalMapper.getMaterialTypeByLike(map);
  49. return success(list);
  50. }
  51. @ApiModelProperty(value = "边输边查物资")
  52. @PostMapping("/getMaterialByLike")
  53. public RESTfulResult getMaterialByLike(@RequestBody(required = false) Map<String,Object> map) {
  54. List<Map<String, Object>> list = universalMapper.getMaterialByLike(map);
  55. return success(list);
  56. }
  57. @ApiModelProperty(value = "边输边查运力类型")
  58. @PostMapping("/getCapacityTypeByLike")
  59. public RESTfulResult getCapacityTypeByLike(@RequestBody(required = false) Map<String,Object> map) {
  60. List<Map<String, Object>> list = universalMapper.getCapacityTypeByLike(map);
  61. //处理多ID
  62. for(Map<String,Object> item : list){
  63. List<Object> fuelTypeIds = JSONObject.parseObject(item.get("fuelTypeIds").toString(),ArrayList.class);
  64. item.put("fuelTypeIds",fuelTypeIds);
  65. }
  66. return success(list);
  67. }
  68. @ApiModelProperty(value = "边输边查公司单位")
  69. @PostMapping("/getCompanyMesByLike")
  70. public RESTfulResult getCompanyMesByLike(@RequestBody(required = false) Map<String,Object> map) {
  71. List<Map<String, Object>> list = universalMapper.getCompanyMesByLike(map);
  72. return success(list);
  73. }
  74. @ApiModelProperty(value = "边输边查公司计划单位")
  75. @PostMapping("/getCompanyMesByPlanLike")
  76. public RESTfulResult getCompanyMesByPlanLike(@RequestBody(required = false) Map<String,Object> map) {
  77. List<Map<String, Object>> list = universalMapper.getCompanyMesByPlanLike(map);
  78. return success(list);
  79. }
  80. @ApiModelProperty(value = "边输边查环保标准")
  81. @PostMapping("/getEmissionStandardByLike")
  82. public RESTfulResult getEmissionStandardByLike(@RequestBody(required = false) Map<String,Object> map) {
  83. List<Map<String, Object>> list = universalMapper.getEmissionStandardByLike(map);
  84. return success(list);
  85. }
  86. @ApiModelProperty(value = "边输边查作业点")
  87. @PostMapping("/getOperationPointByLike")
  88. public RESTfulResult getOperationPointByLike(@RequestBody(required = false) Map<String,Object> map) {
  89. //System.out.println(map.get("id"));
  90. List<Map<String, Object>> list = universalMapper.getOperationPointByLike(map);
  91. return success(list);
  92. }
  93. @ApiModelProperty(value = "边输边查人员")
  94. @PostMapping("/getPersonnelByLike")
  95. public RESTfulResult getPersonnelByLike(@RequestBody(required = false) Map<String,Object> map) {
  96. if("司机".equals(map.get("personnelPost"))) {
  97. List<Map<String, Object>> list = universalMapper.getDriverByLike(map);
  98. return success(list);
  99. }
  100. List<Map<String, Object>> list = universalMapper.getPersonnelByLike(map);
  101. return success(list);
  102. }
  103. @ApiModelProperty(value = "边输边查车牌号")
  104. @PostMapping("/getCapacityByLike")
  105. public RESTfulResult getCapacityByLike(@RequestBody(required = false) Map<String,Object> map) {
  106. List<Map<String, Object>> list = universalMapper.getCapacityByLike(map);
  107. return success(list);
  108. }
  109. @ApiModelProperty(value = "边输边查车牌号生产")
  110. @PostMapping("/getCapacityByLikeSc")
  111. public RESTfulResult getCapacityByLikeSc(@RequestBody(required = false) Map<String,Object> map) {
  112. List<Map<String, Object>> list = universalMapper.getCapacityByLikeSc(map);
  113. return success(list);
  114. }
  115. @ApiModelProperty(value = "边输边查快捷需求code")
  116. @PostMapping("/getCategoryCodeByLike")
  117. public RESTfulResult getCategoryCodeByLike(@RequestBody(required = false) Map<String,Object> map) {
  118. List<Map<String, Object>> list = universalMapper.getCategoryCodeByLike(map);
  119. return success(list);
  120. }
  121. @ApiModelProperty(value = "边输岗位信息")
  122. @PostMapping("/getJobInfosByLike")
  123. public RESTfulResult getrmsrmsjobinfosBylike(@RequestBody(required = false) Map<String,Object> map) {
  124. List<Map<String, Object>> list = universalMapper.getrmsrmsjobinfosBylike(map);
  125. return success(list);
  126. }
  127. @ApiModelProperty(value = "边输边查运输范围")
  128. @PostMapping("/getTransRangeByLike")
  129. public RESTfulResult getTransRange(@RequestBody(required = false) Map<String,Object> map) {
  130. List<Map<String, Object>> list = universalMapper.getTransRangeByLike(map);
  131. return success(list);
  132. }
  133. @ApiModelProperty(value = "边输边查作业路径")
  134. @PostMapping("/getLineByLike")
  135. public RESTfulResult getLineByLike(@RequestBody(required = false) Map<String,Object> map) {
  136. List<Map<String, Object>> list = universalMapper.getLineByLike(map);
  137. return success(list);
  138. }
  139. @ApiOperation("上传文件通用方法,返回成功后的url")
  140. @PostMapping("/uploadFile")
  141. public RESTfulResult uploadFile(MultipartRequest request) throws Exception {
  142. //添加到files数组
  143. List<MultipartFile> files = request.getFiles("file");
  144. //没有上传
  145. if(files.size() == 0){
  146. return success("","没有上传任何文件!");
  147. }
  148. try{
  149. //上传图片,拼接在一个url里
  150. String url="";
  151. for (int i=0;i<files.size();i++){
  152. MultipartFile file=files.get(i);
  153. url += imageFileUtils.updateFile(file,i + new Date().getTime())+';';
  154. }
  155. return success(url,"上传成功!");
  156. }catch (Exception e){
  157. e.printStackTrace();
  158. return failed(e.getMessage(),"上传失败!");
  159. }
  160. }
  161. @ApiOperation("表格查询显示和隐藏")
  162. @PostMapping("/getColumnShowHidden")
  163. public Map<String,Object> getColumnShowHidden(@RequestBody(required = false) Map<String,Object> map) {
  164. Map<String,Object> responseMap = universalService.getColumnShowHidden(map);
  165. return responseMap;
  166. }
  167. @ApiOperation("切换列的显示与隐藏")
  168. @PostMapping("updateColumnShowHidden")
  169. public RESTfulResult updateColumnShowHidden(@RequestBody Map<String,Object> map){
  170. return success(universalService.updateColumnShowHidden(map));
  171. }
  172. @ApiOperation("查询列的显示隐藏方案")
  173. @PostMapping("getColumShowHideScheme")
  174. public RESTfulResult getColumShowHideScheme(@RequestBody Map<String,Object> map) {
  175. return success(universalService.getColumShowHideScheme(map));
  176. }
  177. @GetMapping("/getWlUrl")
  178. public String getWlUrl() {
  179. return universalMapper.getWlUrl();
  180. }
  181. @ApiModelProperty(value = "边输边查业务类型")
  182. @PostMapping("/getBusinessTypeLike")
  183. public RESTfulResult getBusinessTypeLike(@RequestBody(required = false) Map<String,Object> map) {
  184. List<Map<String, Object>> list = universalMapper.getBusinessTypeLike(map);
  185. return success(list);
  186. }
  187. @ApiModelProperty(value = "边输边查燃料类型")
  188. @PostMapping("/getFuelTypeByLike")
  189. public RESTfulResult getFuelTypeByLike(@RequestBody(required = false) Map<String,Object> map) {
  190. List<Map<String, Object>> list = universalMapper.getFuelTypeByLike(map);
  191. return success(list);
  192. }
  193. @ApiOperation(value = "查询是否有正在执行的运单")
  194. @PostMapping("/getReceivedTransOrder")
  195. public RESTfulResult getReceivedTransOrder(@RequestBody(required = false)Map<String,Object> map) {
  196. List<Map<String,Object>> orderIds= universalMapper.getOrderIds(map);
  197. return success(orderIds);
  198. }
  199. @ApiOperation(value = "需求快捷编码")
  200. @PostMapping("/getDemandRulesCode")
  201. public RESTfulResult getDemandRulesCode(@RequestBody(required = false) Map<String,Object> map) {
  202. List<Map<String, Object>> demandRules = universalMapper.getDemandRulesCode(map);
  203. return success(demandRules);
  204. }
  205. @ApiOperation("获取身份证内码,用于判断该车辆是否有")
  206. @PostMapping("/getIdCardCode")
  207. public RESTfulResult getIdCardCode(@RequestBody Map<String,Object> map) {
  208. String idCardCode = universalMapper.getIdCardCode(map);
  209. return success(idCardCode);
  210. }
  211. @ApiOperation("根据物料编码获取物料信息")
  212. @PostMapping("/getMaterial")
  213. public RESTfulResult getMaterial(@RequestBody Map<String,Object>
  214. map, Integer apiId,
  215. Integer pageNum,
  216. Integer pageSize) {
  217. PageHelper.startPage(pageNum, pageSize);
  218. List<Map<String, Object>> material = universalMapper.getMaterial(map);
  219. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, material);
  220. return success(pageList);
  221. }
  222. @ApiOperation("根据车型获取剩余车辆")
  223. @PostMapping("/getcountCar")
  224. public RESTfulResult getcountCar(@RequestBody Map<String,Object> map) {
  225. List<Map<String, Object>> material = universalMapper.getcountCar(map);
  226. return success(material);
  227. }
  228. @ApiOperation("getShipContainer")
  229. @PostMapping("/getShipContainer")
  230. public RESTfulResult getShipContainer(@RequestBody Map<String,Object> map) {
  231. List<Map<String,Object>> containerList = universalMapper.getContainerList(map);
  232. return success(containerList);
  233. }
  234. @ApiOperation("获取通知单号")
  235. @PostMapping("/getRequirementNo")
  236. public RESTfulResult getRequirementNo(@RequestBody Map<String,Object> map) {
  237. BigDecimal requirementId = universalMapper.transRequirementId();
  238. String requirementNo = DataChange.generateEightDigitsNumber(map.get("businessFlag").toString(),requirementId.intValue());
  239. Map<String, Object> requireMap = new HashMap<>();
  240. requireMap.put("requirementId",requirementId);
  241. requireMap.put("requirementNo",requirementNo);
  242. return success(requireMap);
  243. }
  244. @ApiOperation("查询APP版本更新")
  245. @PostMapping("/getAppVersion")
  246. public RESTfulResult getAppVersion() {
  247. Map<String,Object> config = universalMapper.getConfigByName("APP最新版本");
  248. return success(config.get("valueString"));
  249. }
  250. }