package com.steerinfo.dil.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.google.common.collect.Maps; import com.steerinfo.dil.config.ImageFileUtils; import com.steerinfo.dil.mapper.UniversalMapper; import com.steerinfo.dil.service.impl.UniversalServiceImpl; import com.steerinfo.dil.util.*; import com.steerinfo.framework.controller.RESTfulResult; import com.steerinfo.framework.service.pagehelper.PageHelper; import io.swagger.annotations.*; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartRequest; import org.springframework.web.multipart.commons.CommonsMultipartFile; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.crypto.Data; import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import java.math.BigDecimal; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; import java.util.List; import static com.steerinfo.dil.util.EasyExcelUitl.exportExcelFile; import static com.steerinfo.dil.util.HTTPRequestUtils.getJsonData; import static com.steerinfo.dil.util.HTTPRequestUtils.sendPost; /** * @ author :TXF * @ time :2021/10/19 18:06 * 通用接口 */ @RequestMapping("${api.version}/uc") @RestController public class UniversalController extends BaseRESTfulController { @Autowired UniversalServiceImpl universalService; @Autowired UniversalMapper universalMapper; @Autowired ColumnDataUtil columnDataUtil; @Autowired private ImageFileUtils imageFileUtils; @ApiModelProperty(value = "边输边查物资大类") @PostMapping("/getMaterialTypeByLike") public RESTfulResult getMaterialTypeByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getMaterialTypeByLike(map); return success(list); } @ApiModelProperty(value = "边输边查物资") @PostMapping("/getMaterialByLike") public RESTfulResult getMaterialByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getMaterialByLike(map); return success(list); } @ApiModelProperty(value = "边输边查运力类型") @PostMapping("/getCapacityTypeByLike") public RESTfulResult getCapacityTypeByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getCapacityTypeByLike(map); //处理多ID for(Map item : list){ List fuelTypeIds = JSONObject.parseObject(item.get("fuelTypeIds").toString(),ArrayList.class); item.put("fuelTypeIds",fuelTypeIds); } return success(list); } @ApiModelProperty(value = "边输边查公司单位") @PostMapping("/getCompanyMesByLike") public RESTfulResult getCompanyMesByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getCompanyMesByLike(map); return success(list); } @ApiModelProperty(value = "边输边查公司计划单位") @PostMapping("/getCompanyMesByPlanLike") public RESTfulResult getCompanyMesByPlanLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getCompanyMesByPlanLike(map); return success(list); } @ApiModelProperty(value = "边输边查环保标准") @PostMapping("/getEmissionStandardByLike") public RESTfulResult getEmissionStandardByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getEmissionStandardByLike(map); return success(list); } @ApiModelProperty(value = "边输边查作业点") @PostMapping("/getOperationPointByLike") public RESTfulResult getOperationPointByLike(@RequestBody(required = false) Map map) { //System.out.println(map.get("id")); List> list = universalMapper.getOperationPointByLike(map); return success(list); } @ApiModelProperty(value = "边输边查作业点") @PostMapping("/getOperationPointByLikeNoCode") public RESTfulResult getOperationPointByLikeNoCode(@RequestBody(required = false) Map map) { //System.out.println(map.get("id")); List> list = universalMapper.getOperationPointByLikeNoCode(map); return success(list); } @ApiModelProperty(value = "边输边查人员") @PostMapping("/getPersonnelByLike") public RESTfulResult getPersonnelByLike(@RequestBody(required = false) Map map) { if("司机".equals(map.get("personnelPost"))) { List> list = universalMapper.getDriverByLike(map); return success(list); } List> list = universalMapper.getPersonnelByLike(map); return success(list); } @ApiModelProperty(value = "边输边查车牌号") @PostMapping("/getCapacityByLike") public RESTfulResult getCapacityByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getCapacityByLike(map); return success(list); } @ApiModelProperty(value = "边输边查车牌号生产") @PostMapping("/getCapacityByLikeSc") public RESTfulResult getCapacityByLikeSc(@RequestBody(required = false) Map map) { List> list = universalMapper.getCapacityByLikeSc(map); return success(list); } @ApiModelProperty(value = "边输边查快捷需求code") @PostMapping("/getCategoryCodeByLike") public RESTfulResult getCategoryCodeByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getCategoryCodeByLike(map); return success(list); } @ApiModelProperty(value = "边输岗位信息") @PostMapping("/getJobInfosByLike") public RESTfulResult getrmsrmsjobinfosBylike(@RequestBody(required = false) Map map) { List> list = universalMapper.getrmsrmsjobinfosBylike(map); return success(list); } @ApiModelProperty(value = "边输边查运输范围") @PostMapping("/getTransRangeByLike") public RESTfulResult getTransRange(@RequestBody(required = false) Map map) { List> list = universalMapper.getTransRangeByLike(map); return success(list); } @ApiModelProperty(value = "边输边查作业路径") @PostMapping("/getLineByLike") public RESTfulResult getLineByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getLineByLike(map); return success(list); } @ApiOperation("上传文件通用方法,返回成功后的url") @PostMapping("/uploadFile") public RESTfulResult uploadFile(MultipartRequest request) throws Exception { //添加到files数组 List files = request.getFiles("file"); //没有上传 if(files.size() == 0){ return success("","没有上传任何文件!"); } try{ //上传图片,拼接在一个url里 String url=""; for (int i=0;i getColumnShowHidden(@RequestBody(required = false) Map map) { Map responseMap = universalService.getColumnShowHidden(map); return responseMap; } @ApiOperation("切换列的显示与隐藏") @PostMapping("updateColumnShowHidden") public RESTfulResult updateColumnShowHidden(@RequestBody Map map){ return success(universalService.updateColumnShowHidden(map)); } @ApiOperation("查询列的显示隐藏方案") @PostMapping("getColumShowHideScheme") public RESTfulResult getColumShowHideScheme(@RequestBody Map map) { return success(universalService.getColumShowHideScheme(map)); } @GetMapping("/getWlUrl") public String getWlUrl() { return universalMapper.getWlUrl(); } @ApiModelProperty(value = "边输边查业务类型") @PostMapping("/getBusinessTypeLike") public RESTfulResult getBusinessTypeLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getBusinessTypeLike(map); return success(list); } @ApiModelProperty(value = "边输边查燃料类型") @PostMapping("/getFuelTypeByLike") public RESTfulResult getFuelTypeByLike(@RequestBody(required = false) Map map) { List> list = universalMapper.getFuelTypeByLike(map); return success(list); } @ApiOperation(value = "查询是否有正在执行的运单") @PostMapping("/getReceivedTransOrder") public RESTfulResult getReceivedTransOrder(@RequestBody(required = false)Map map) { List> orderIds= universalMapper.getOrderIds(map); return success(orderIds); } @ApiOperation(value = "需求快捷编码") @PostMapping("/getDemandRulesCode") public RESTfulResult getDemandRulesCode(@RequestBody(required = false) Map map) { List> demandRules = universalMapper.getDemandRulesCode(map); return success(demandRules); } @ApiOperation("获取身份证内码,用于判断该车辆是否有") @PostMapping("/getIdCardCode") public RESTfulResult getIdCardCode(@RequestBody Map map) { String idCardCode = universalMapper.getIdCardCode(map); return success(idCardCode); } @ApiOperation("根据物料编码获取物料信息") @PostMapping("/getMaterial") public RESTfulResult getMaterial(@RequestBody Map map, Integer apiId, Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List> material = universalMapper.getMaterial(map); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, material); return success(pageList); } @ApiOperation("根据车型获取剩余车辆") @PostMapping("/getcountCar") public RESTfulResult getcountCar(@RequestBody Map map) { List> material = universalMapper.getcountCar(map); return success(material); } @ApiOperation("getShipContainer") @PostMapping("/getShipContainer") public RESTfulResult getShipContainer(@RequestBody Map map) { List> containerList = universalMapper.getContainerList(map); return success(containerList); } @ApiOperation("获取通知单号") @PostMapping("/getRequirementNo") public RESTfulResult getRequirementNo(@RequestBody Map map) { Map requireMap = new HashMap<>(); BigDecimal requirementId = universalMapper.transRequirementId(); if (map.get("businessFlag").toString().equals("XS")) { //获取当天最大的作业记录号 String serialNumber = universalMapper.getMaxSerialNumber(); requireMap.put("requirementId", requirementId); requireMap.put("requirementNo", serialNumber); } else { String requirementNo = DataChange.generateEightDigitsNumber(map.get("businessFlag").toString(), requirementId.intValue()); requireMap.put("requirementId", requirementId); requireMap.put("requirementNo", requirementNo); } return success(requireMap); } @ApiOperation("通知单边输边查") @PostMapping("/getRequirementByLike") public RESTfulResult getRequirementByLike(@RequestBody Map map) { List> list = universalMapper.getRequirementByLike(map); return success(list); } @ApiOperation("查询APP版本更新") @PostMapping("/getAppVersion") public RESTfulResult getAppVersion() { Map config = universalMapper.getConfigByName("APP最新版本"); return success(config.get("valueString")); } @ApiOperation("查询运单中最近的司机排班") @PostMapping("/getCapacityDriver") public RESTfulResult getCapacityDriver(@RequestBody Map map) { return success(universalMapper.getCapacityDriver(map)); } @ApiOperation("查询运单中所有的司机排班") @PostMapping("/getCapacityDriverSelect") public RESTfulResult getCapacityDriverSelect(@RequestBody Map map) { List> list = universalMapper.getCapacityDriverSelect(map); List> result = new ArrayList<>(); Set set = new HashSet<>(); //对list去重 for (Map item : list) { //只保留5条 if(result.size() >= 5){ break; } //去重 String key = item.get("capacityId") + "-" +item.get("driverId"); if(set.contains(key)){ continue; }else{ set.add(key); result.add(item); } } return success(result); } @ApiOperation("获取车辆信息") @PostMapping("/getCapacityInfo") public RESTfulResult getCapacityInfo(@RequestBody Map map) { return success(universalMapper.getCapacityInfo(map)); } @ApiOperation("获取司机信息") @PostMapping("/getDriverInfo") public RESTfulResult getDriverInfo(@RequestBody Map map) { return success(universalMapper.getDriverInfo(map)); } @ApiOperation("需求边输边查") @PostMapping("/getRequireByLike") public RESTfulResult getRequireByLike(@RequestBody Map map) { return success(universalMapper.getRequireByLike(map)); } @ApiOperation("通用导出") @PostMapping("/excleExport") public RESTfulResult excleExport(@RequestBody Map map, HttpServletRequest httpServletRequest) throws IOException { JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(map)); jsonObject.putAll( JSONObject.parseObject(JSONObject.toJSONString(map.get("requestQuery")))); String url = "http://172.16.90.202:80"+map.get("requestUrl").toString() + "&pageNum=1&pageSize=10000"; JSONObject json = HttpUtil.sendPost(url,jsonObject,httpServletRequest.getHeader("cookie")); Map data = (Map) json.get("data"); List> listMap = (List>) data.get("list"); List> columnData = (List>) data.get("columnData"); LinkedHashMap columnMaps = Maps.newLinkedHashMap(); for (int i = 0; i response = new HashMap<>(); response.put("fileName",name); response.put("filePath",path + name); return success(response); } @ApiModelProperty(value = "边输边查公司单位审批流程使用") @PostMapping("/getCompanyMesByLike2") public RESTfulResult getCompanyMesByLike2(@RequestBody(required = false) Map map) { List> list = universalMapper.getCompanyMesByLike2(map); return success(list); } @ApiOperation(value = "获取排队网格") @PostMapping("/getQueueGridList") public RESTfulResult getQueueGridList(@RequestBody(required = false) Map map) { List> list = universalMapper.getQueueGridList(map); return success(list); } }