package com.steerinfo.dil.controller; import com.steerinfo.dil.feign.ColumnDataFeign; import com.steerinfo.dil.feign.ESFeign; import com.steerinfo.dil.model.AmsSaleOrderMaterial; import com.steerinfo.dil.service.IAmsSaleOrderMaterialService; 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.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; /** * AmsSaleOrderMaterial RESTful接口: * @author generator * @version 1.0-SNAPSHORT 2021-09-06 07:10 * 类描述 * 修订历史: * 日期:2021-09-06 * 作者:generator * 参考: * 描述:AmsSaleOrderMaterial RESTful接口 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @RestController @RequestMapping("/${api.version}/amssaleordermaterials") public class AmsSaleOrderMaterialController extends BaseRESTfulController { @Autowired IAmsSaleOrderMaterialService amsSaleOrderMaterialService; @Autowired ColumnDataFeign columnDataFeign; @Autowired ColumnDataUtil columnDataUtil; @Autowired ESFeign esFeign; /** * 新增销售订单物资信息 * @param amsSaleOrderMaterial * @return */ @ApiOperation(value="新增销售订单物资信息") @ApiImplicitParams({ @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial") }) @PostMapping(value = "/addAmsSaleOrderMaterial") public RESTfulResult addAmsSaleOrderMaterial(@RequestBody(required = false) AmsSaleOrderMaterial amsSaleOrderMaterial){ int i = amsSaleOrderMaterialService.addAmsSaleOrderMaterial(amsSaleOrderMaterial); return success(i); } /** * 通过主键渲染销售订单物资信息 * @param saleOrderMaterialId * @return */ @ApiOperation(value="通过主键渲染销售订单物资信息") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/getAmsSaleOrderMaterialBySaleOrderMaterialId") public RESTfulResult getAmsSaleOrderMaterialBySaleOrderMaterialId(@RequestParam BigDecimal saleOrderMaterialId){ List> maps = amsSaleOrderMaterialService.selectBySaleOrderMaterialId(saleOrderMaterialId); return success(maps); } /** * 通过主键修改销售订单物资信息 * @param amsSaleOrderMaterial * @return */ @ApiOperation(value="通过主键修改销售订单物资信息") @ApiImplicitParams({ @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial") }) @PostMapping(value = "/updateAmsSaleOrderMaterial") public RESTfulResult updateAmsSaleOrderMaterial(@RequestBody(required = false) AmsSaleOrderMaterial amsSaleOrderMaterial){ int i = amsSaleOrderMaterialService.updateAmsSaleOrderMaterial(amsSaleOrderMaterial); return success(i); } /** * 通过主键删除销售订单物资信息 * @param saleOrderMaterialId * @return */ @ApiOperation(value="通过主键删除销售订单物资信息") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/deleteAmsSaleOrderMaterialBySaleOrderMaterialId") public RESTfulResult deleteAmsSaleOrderMaterialBySaleOrderMaterialId(BigDecimal saleOrderMaterialId){ int i = amsSaleOrderMaterialService.deleteAmsSaleOrderMaterialBySaleOrderMaterialId(saleOrderMaterialId); return success(i); } /** * 通过主键获取收货地址 * @param saleOrderMaterialId * @return */ @ApiOperation(value="通过主键获取收货地址") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/getAddress") public RESTfulResult getAddress(@RequestParam BigDecimal saleOrderMaterialId){ String address = amsSaleOrderMaterialService.getAddress(saleOrderMaterialId); return success(address); } /** * 通过主键修改销售订单信息(新增一条),过去的成为历史记录 * @param map * @return */ @ApiOperation(value="通过主键修改销售订单信息(新增一条),过去的成为历史记录") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/updateAddress") public RESTfulResult updateAddress(@RequestBody(required = false) Map map){ int i = amsSaleOrderMaterialService.updateAddress(map); return success(i); } /** * 获取收货地址 * @param * @return */ @ApiOperation(value="获取收货地址") @ApiImplicitParams({ }) @GetMapping(value = "/getAddressDeliveryAddress") public RESTfulResult getAddressDeliveryAddress(){ return success(amsSaleOrderMaterialService.getAddressDeliveryAddress()); } /** * 展示车序号信息 * @param mapValue * @return */ @ApiOperation(value="展示车序号信息") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"), @ApiImplicitParam(name = "apiId", value = "411", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/getTruckNoList") public RESTfulResult getTruckNoList(@RequestBody(required = false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, Integer issueStatus, String con){ int count=0; if(con != null){ if(!"undefined".equals(con)){ String index="get_truckno_list";//设置要查询的索引名称 return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果 } } if (issueStatus != null) { mapValue.put("issueStatus",issueStatus); count++; } //不分页筛选数据 List> allSaleOrderList = null; //如果有条件查询则跳过初始化,和创建索引 if(mapValue.size() == count){ //将查询结果存入索引中 allSaleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue); Map map1 = new HashMap<>(); //添加索引 map1.put("index","get_truckno_list"); //添加id map1.put("indexId","saleOrderMaterialId"); allSaleOrderList.add(map1); //新建索引 esFeign.insertIndex(allSaleOrderList); //删除 allSaleOrderList.remove(allSaleOrderList.size()-1); } if(allSaleOrderList== null) allSaleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue); PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allSaleOrderList,saleOrderList); return success(pageList); } /** * 车序号与物资新增 * @param mapList * @return */ @ApiOperation(value="车序号与物资新增") @ApiImplicitParams({ @ApiImplicitParam(name = "addTruckNo", value = "车序号与物资新增", required = false, dataType = "AmsSaleOrderMaterial") }) @PostMapping(value = "/addTruckNo") public RESTfulResult addTruckNo(@RequestBody List> mapList){ System.out.println("mapList"+mapList); int result = amsSaleOrderMaterialService.addTruckNo(mapList); return success(result); } /** * 下发车序号 * @param mapList * @return */ @ApiOperation(value="下发车序号") @ApiImplicitParams({ @ApiImplicitParam(name = "issueTruckNo", value = "车序号列表", required = false, dataType = "AmsSaleOrderMaterial") }) @PostMapping(value = "/issueTruckNo") public RESTfulResult issueTruckNo(@RequestBody List> mapList){ int result = amsSaleOrderMaterialService.issueTruckNo(mapList); return success(result); } /** * 展示车序号下的物资详情 * @param saleOrderMaterialId * @return */ @ApiOperation(value="展示车序号下的物资详情") @PostMapping(value = "/getTruckNoMaterialList") public RESTfulResult getTruckNoMaterialList(@RequestParam Integer saleOrderMaterialId){ List> truckNoMaterialList = amsSaleOrderMaterialService.getTruckNoMaterialList(new BigDecimal(saleOrderMaterialId)); return success(truckNoMaterialList); } /** * 展示销售订单下的物资详情 * @param saleOrderId * @return */ @ApiOperation(value="展示销售订单下的物资详情") @PostMapping(value = "/getSaleMaterialList") public RESTfulResult getSaleMaterialList(@RequestParam Integer saleOrderId){ List> saleMaterialList = amsSaleOrderMaterialService.getSaleMaterialList(new BigDecimal(saleOrderId)); return success(saleMaterialList); } @ApiOperation(value="销售直接选择车牌号派发运输订单") @PostMapping("dispatchTruckOrderBySale") public RESTfulResult dispatchTruckOrderBySale(@RequestBody Map mapValue){ int result = amsSaleOrderMaterialService.dispatchTruckOrderBySale(mapValue); if (result == -1) { return failed("该销售订单的净重已达到97%"); } else { return success(result); } } @ApiOperation(value="承运商直接选择车牌号派发运输订单") @PostMapping("dispatchTruckOrderByCarrier") public RESTfulResult dispatchTruckOrderByCarrier(@RequestBody Map mapValue){ int result = amsSaleOrderMaterialService.dispatchTruckOrderByCarrier(mapValue); return success(result); } @ApiOperation(value="关闭销售订单") @PostMapping("closeSaleOrder") public RESTfulResult closeSaleOrder(@RequestParam Integer saleOrderId){ int result = amsSaleOrderMaterialService.closeSaleOrder(new BigDecimal(saleOrderId)); return success(result); } @ApiOperation(value = "得到单价和单价id") @PostMapping("/getPriceMap") public RESTfulResult getPriceMap(@RequestBody Map map) { Map priceMap = amsSaleOrderMaterialService.getPriceMap(map); return success(priceMap); } @ApiOperation(value = "得到单价和单价id") @PostMapping("/getBenPrice") public RESTfulResult getBenPrice(@RequestBody Map map) { Map priceMap = amsSaleOrderMaterialService.getBenPrice(map); return success(priceMap); } @ApiOperation(value="销售直接选择车牌号派发副产品运输订单") @PostMapping("dispatchByproductOrderBySale") public RESTfulResult dispatchByproductOrderBySale(@RequestBody Map mapValue){ int result = amsSaleOrderMaterialService.dispatchByproductOrderBySale(mapValue); if (result == -1) { return failed("该销售订单的净重已达到97%"); } else { return success(result); } } }