package com.steerinfo.dil.controller; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageHelper; import com.steerinfo.dil.feign.ESFeign; import com.steerinfo.dil.service.impl.BmstruckStatementServiceImpl; 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 io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: * @Author:HuJianGuo * @GreateTime:2021/9/24 17:29 * @Version:V2.0 */ @RestController @RequestMapping("/${api.version}/bmstruckstatement") public class BmstruckStatementController extends BaseRESTfulController { @Autowired BmstruckStatementServiceImpl bmstruckStatementService; @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 = "179", required = false, dataType = "BigDecimal") }) @PostMapping("/getTruckStatementList") public RESTfulResult getTruckStatementList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con) { if (con != null) { if (!"undefined".equals(con)) { //设置要查询的索引名称 String index = "get_truck_statement_list"; //获取查询结果 return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con)); } } //初始化过滤 List> truckStatementList = null; //如果有条件查询则跳过初始化,和创建索引 if (mapValue.size() == 0) { //将查询结果存入索引中 truckStatementList = bmstruckStatementService.getTruckStatementList(mapValue); Map map = new HashMap<>(); //添加索引 map.put("index", "get_truck_statement_list"); //添加id map.put("indexId", "statementId"); truckStatementList.add(map); //新建索引 String s = JSON.toJSONString(truckStatementList); esFeign.insertIndex(truckStatementList); //删除 truckStatementList.remove(truckStatementList.size() - 1); } if (truckStatementList == null) { truckStatementList = bmstruckStatementService.getTruckStatementList(mapValue); } PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = bmstruckStatementService.getTruckStatementList(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, truckStatementList, columnList); return success(data); } /** * 生成汽运账单 * * @param mapList * @return */ @ApiModelProperty(value = "生成汽运账单") @ApiImplicitParams({ @ApiImplicitParam(name = "mapList", value = "详单列表", required = false, dataType = "java.util.List"), }) @PostMapping("/addTruckStatement") public RESTfulResult addTruckStatement(@RequestBody List> mapList) { int code1 = bmstruckStatementService.addTruckStatement(mapList); return success(code1); } /** * 展示账单下的详单 * * @param mapValue * @param pageNum * @param pageSize * @param apiId * @return */ @ApiOperation(value = "展示账单下的详单", notes = "分页查询") @ApiImplicitParams({ @ApiImplicitParam(name = "statementId", value = "账单id", required = false, dataType = "BigDecimal"), @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "177", required = false, dataType = "BigDecimal"), }) @PostMapping(value = "/getSaleTruckStatementDetailsOrderList") public RESTfulResult getSaleTruckStatementDetailsOrderList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, BigDecimal statementId, String con) { if (mapValue == null) { mapValue = new HashMap<>(); } mapValue.put("statementId", statementId); if (con != null) { if (!"undefined".equals(con)) { //设置要查询的索引名称 String index = "get_sale_details_list"; //获取查询结果 return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con)); } } //初始化过滤 List> truckStatementList = null; //如果有条件查询则跳过初始化,和创建索引 if (mapValue.size() == 0) { //将查询结果存入索引中 truckStatementList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue); Map map = new HashMap<>(); //添加索引 map.put("index", "get_sale_details_list"); //添加id map.put("indexId", "detailsId"); truckStatementList.add(map); //新建索引 String s = JSON.toJSONString(truckStatementList); esFeign.insertIndex(truckStatementList); //删除 truckStatementList.remove(truckStatementList.size() - 1); } if (truckStatementList == null) { truckStatementList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue); } com.steerinfo.framework.service.pagehelper.PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, truckStatementList, columnList); return success(data); } /** * 生成内转汽运账单 * * @param mapList * @return */ @ApiModelProperty(value = "生成内转汽运账单") @ApiImplicitParams({ @ApiImplicitParam(name = "mapList", value = "详单列表", required = false, dataType = "java.util.List"), }) @PostMapping("/addConvertedTruckStatement") public RESTfulResult addConvertedTruckStatement(@RequestBody List> mapList, Integer orderType) { int code1 = bmstruckStatementService.addConvertedTruckStatement(mapList, orderType); return success(code1); } /** * 删除汽运账单 */ @PostMapping("/deleteConvertedTruckStatement/{statementId}") public RESTfulResult deleteConvertedTruckStatement(@PathVariable("statementId") BigDecimal statementId) { bmstruckStatementService.delete(statementId); return success("删除成功"); } /** * 审批计费账单 */ @PostMapping("/updateConvertedTruckStatement/{statementId}") public RESTfulResult updateConvertedTruckStatement(@PathVariable("statementId") BigDecimal statementId) { bmstruckStatementService.update(statementId); return success("修改成功"); } }