package com.steerinfo.dil.controller; import com.alibaba.fastjson.JSON; import com.steerinfo.dil.feign.ESFeign; import com.steerinfo.dil.service.impl.BmstrainDetailsOrderServiceImpl; import com.steerinfo.dil.util.BaseRESTfulController; import com.steerinfo.dil.util.ColumnDataUtil; import com.steerinfo.dil.util.PageListAdd; import com.steerinfo.framework.controller.RESTfulResult; import com.steerinfo.framework.service.pagehelper.PageHelper; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiModelProperty; 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 java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: * @Author:HuJianGuo * @GreateTime:2021/9/14 9:26 * @Version:V2.0 */ @RestController @RequestMapping("/${api.version}/bmstraindetailsorders") public class BmstrainDetailsOrderController extends BaseRESTfulController { @Autowired BmstrainDetailsOrderServiceImpl bmstrainDetailsOrderService; @Autowired ColumnDataUtil columnDataUtil; @Autowired ESFeign esFeign; /** * 展示火运详单列表 * * @param mapValue * @param pageNum * @param pageSize * @param apiId * @return */ @ApiModelProperty(value = "展示火运详单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "118", required = false, dataType = "Integer") }) @PostMapping("/getTrainDetailsOrderList") public RESTfulResult getTrainDetailsOrderList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con) { if (con != null) { if (!"undefined".equals(con)) { //设置要查询的索引名称 String index = "get_train_details_list"; //获取查询结果 return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con)); } } //初始化过滤 List> trainDetailListTotal = null; //如果有条件查询则跳过初始化,和创建索引 if (mapValue.size() == 0) { //将查询结果存入索引中 trainDetailListTotal = bmstrainDetailsOrderService.getTrainDetailsOrderList(null); Map map = new HashMap<>(); //添加索引 map.put("index", "get_train_details_list"); //添加id map.put("indexId", "detailsId"); trainDetailListTotal.add(map); //新建索引 String s = JSON.toJSONString(trainDetailListTotal); esFeign.insertIndex(trainDetailListTotal); //删除 trainDetailListTotal.remove(trainDetailListTotal.size() - 1); } if (trainDetailListTotal == null) { trainDetailListTotal = bmstrainDetailsOrderService.getTrainDetailsOrderList(mapValue); } PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = bmstrainDetailsOrderService.getTrainDetailsOrderList(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, trainDetailListTotal, columnList); return success(data); } /** * 展示未转账单的火运详单列表 * * @param mapValue * @param pageNum * @param pageSize * @param apiId * @return */ @ApiModelProperty(value = "展示未转账单的火运详单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "118", required = false, dataType = "BigDecimal") }) @PostMapping("/getUncomplateTrainDetailsList") public RESTfulResult getUncomplateTrainDetailsList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con) { if (con != null) { if (!"undefined".equals(con)) { //设置要查询的索引名称 String index = "get_uncomplate_train_details_list"; //获取查询结果 return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con)); } } //初始化过滤 List> trainDetailListTotal = null; //如果有条件查询则跳过初始化,和创建索引 if (mapValue.size() == 0) { //将查询结果存入索引中 trainDetailListTotal = bmstrainDetailsOrderService.getTrainDetailsOrderList(null); Map map = new HashMap<>(); //添加索引 map.put("index", "get_uncomplate_train_details_list"); //添加id map.put("indexId", "detailsId"); trainDetailListTotal.add(map); //新建索引 String s = JSON.toJSONString(trainDetailListTotal); esFeign.insertIndex(trainDetailListTotal); //删除 trainDetailListTotal.remove(trainDetailListTotal.size() - 1); } if (trainDetailListTotal == null) { trainDetailListTotal = bmstrainDetailsOrderService.getTrainDetailsOrderList(mapValue); } PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = bmstrainDetailsOrderService.getUmcomplateTrainDetailsList(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, trainDetailListTotal, columnList); return success(data); } /** * 展示火运实绩 * * @param mapValue * @param pageNum * @param pageSize * @param apiId * @return */ @ApiModelProperty(value = "展示火运实绩") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "122", required = false, dataType = "BigDecimal") }) @PostMapping("/getTrainResultList") public RESTfulResult getTrainResultList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId) { List> list = bmstrainDetailsOrderService.getTrainResultList(mapValue); PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = bmstrainDetailsOrderService.getTrainResultList(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList); return success(data); } /** * 生成火运详单 * * @param map * @return */ @ApiModelProperty(value = "生成火运详单") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "火运实绩", required = false, dataType = "java.util.List"), }) @PostMapping("/addTrainDetails") public RESTfulResult addTrainDetails(@RequestBody Map map) { int code = bmstrainDetailsOrderService.insertSelective(map); return success(code); } }