package com.steerinfo.dil.controller; import com.steerinfo.dil.feign.ColumnDataFeign; import com.steerinfo.dil.model.AmsDispatchSaleOrder; import com.steerinfo.dil.model.AmsSaleOrder; import com.steerinfo.dil.service.IAmsSaleOrderService; import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl; import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl; 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 io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * AmsSaleOrder RESTful接口: * @author generator * @version 1.0-SNAPSHORT 2021-09-06 07:10 * 类描述 * 修订历史: * 日期:2021-09-06 * 作者:generator * 参考: * 描述:AmsSaleOrder RESTful接口 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @RestController @RequestMapping("/${api.version}/amssaleorders") public class AmsSaleOrderController extends BaseRESTfulController { @Autowired IAmsSaleOrderService amsSaleOrderService; @Autowired AmsSaleOrderMaterialServiceImpl amsSaleOrderMaterialService; @Autowired AmsDispatchSaleOrderServiceImpl amsDispatchSaleOrderService; @Autowired ColumnDataFeign columnDataFeign; @Autowired ColumnDataUtil columnDataUtil; @ApiOperation(value="查询未上报销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(98)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getSaleOrderInfo") public RESTfulResult getSaleOrderInfo(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize){ List> amsSaleOrder = amsSaleOrderService.getSaleOrderInfo(mapValue); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfo(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrder,amsSaleOrder1); return success(pageList); } @ApiOperation(value="查询已上报销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(98)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getSaleOrderReported") public RESTfulResult getSaleOrderReported(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize){ List> amsSaleOrder = amsSaleOrderService.getSaleOrderReported(mapValue); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReported(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrder,amsSaleOrder1); return success(pageList); } @ApiOperation(value="查询财务已审批销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(105)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getAmsSaleOrderApproved") public RESTfulResult getAmsSaleOrderApproved(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize){ List> amsSaleOrder = amsSaleOrderService.getAmsSaleOrderApproved(mapValue); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApproved(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrder,amsSaleOrder1); return success(pageList); } @ApiOperation(value="根据销售订单号查询销售订单详细信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(100)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getSaleOrderDetail") public RESTfulResult getSaleOrderDetail(BigDecimal saleOrderId,@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize){ if (mapValue == null) { mapValue = new HashMap<>(); } mapValue.put("saleOrderId",saleOrderId); List> amsSaleOrderDetail = amsSaleOrderService.getSaleOrderDetail(mapValue); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrderDetail1 = amsSaleOrderService.getSaleOrderDetail(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrderDetail,amsSaleOrderDetail1); return success(pageList); } /** * 上传销售订单 * @param saleOrderId * @return */ @ApiOperation(value="上传销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/uploadSaleOrder/{saleOrderId}") public RESTfulResult uploadSaleOrder(@PathVariable("saleOrderId") BigDecimal saleOrderId){ int i = amsSaleOrderService.uploadSaleOrder(saleOrderId); return success(i); } /** * 新增销售订单 * @param amsSaleOrder * @return */ @ApiOperation(value="新增销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder") }) @PostMapping(value = "/addAmsSaleOrder") public RESTfulResult addAmsSaleOrder(@RequestBody(required = false) AmsSaleOrder amsSaleOrder){ int i = amsSaleOrderService.addAmsSaleOrder(amsSaleOrder); return success(i); } /** * 通过主键渲染销售订单信息 * @param saleOrderId * @return */ @ApiOperation(value="通过主键渲染销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/getAmsSaleOrderBySaleOrderId/{saleOrderId}") public RESTfulResult getAmsSaleOrderBySaleOrderId(@PathVariable("saleOrderId") BigDecimal saleOrderId){ List> maps = amsSaleOrderService.selectBySaleOrderId(saleOrderId); return success(maps); } /** * 通过主键修改销售订单 * @param amsSaleOrder * @return */ @ApiOperation(value="通过主键修改销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder") }) @PostMapping(value = "/updateAmsSaleOrder") public RESTfulResult updateAmsSaleOrder(@RequestBody(required = false) AmsSaleOrder amsSaleOrder){ int i = amsSaleOrderService.updateAmsSaleOrder(amsSaleOrder); return success(i); } /** * 通过主键删除销售订单 * @param saleOrderId * @return */ @ApiOperation(value="通过主键删除销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/deleteAmsSaleOrderBySaleOrderId") public RESTfulResult deleteAmsSaleOrderBySaleOrderId(BigDecimal saleOrderId){ int i = amsSaleOrderService.deleteAmsSaleOrderBySaleOrderId(saleOrderId); return success(i); } @ApiOperation(value="根据销售订单号查询销售订单修改日志") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(100)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getSaleOrderUpdateLog") public RESTfulResult getSaleOrderUpdateLog(BigDecimal saleOrderId,@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize){ if (mapValue == null) { mapValue = new HashMap<>(); } mapValue.put("saleOrderId",saleOrderId); List> amsSaleOrderUpdate = amsSaleOrderService.getSaleOrderUpdateLog(mapValue); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrderUpdate1 = amsSaleOrderService.getSaleOrderUpdateLog(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrderUpdate,amsSaleOrderUpdate1); return success(pageList); } /** * 获取销售片区 * @param * @return */ @ApiOperation(value="获取销售片区") @ApiImplicitParams({ }) @GetMapping(value = "/getSaleArea") public RESTfulResult getSaleArea(){ return success(amsSaleOrderService.getSaleArea()); } /** * 获取发货单位 * @param * @return */ @ApiOperation(value="获取发货单位") @ApiImplicitParams({ }) @GetMapping(value = "/getShipperName") public RESTfulResult getShipperName(){ return success(amsSaleOrderService.getShipperName()); } /** * 获取收货单位 * @param * @return */ @ApiOperation(value="获取收货单位") @ApiImplicitParams({ }) @GetMapping(value = "/getConsigneeCompanyName") public RESTfulResult getConsigneeCompanyName(){ return success(amsSaleOrderService.getConsigneeCompanyName()); } /** * 展示销售公司已审核销售订单的车序号列表 * @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 = "181", required = false, dataType = "BigDecimal") }) @PostMapping("/getSaleOrderList") public RESTfulResult getSaleOrderList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId) { List> list = amsSaleOrderService.getSaleOrderList(mapValue); PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = amsSaleOrderService.getSaleOrderList(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList); return success(data); } /** * 固定派单:通过车序号查询收货地址,截取收货地址的区域,去资源管理中查询对应的承运商,将车序号与承运商绑定 */ @PostMapping("/addAmsDispatchSaleOrder") public RESTfulResult addAmsDispatchSaleOrder(@RequestBody(required = false) List> mapValue){ if(mapValue==null){ return failed(); } for (Map m:mapValue ) { //Integer id=amsSaleOrderMaterialService.selectByCxh(m); Integer id=Integer.parseInt(m.get("orderMaterialId").toString()) ; System.out.println(id); //通过主键Id获取地址id Integer a=amsSaleOrderMaterialService.selectById(new BigDecimal(id)); //通过地址id查询承运商id List carriers = amsSaleOrderService.getCarrier(a); //判断是否只有一个承运商 if(carriers.size()==1) { //新增固定派单 AmsDispatchSaleOrder ad = new AmsDispatchSaleOrder(); ad.setDispatchId(amsDispatchSaleOrderService.selectMaxId()); ad.setSaleOrderMaterialId(new BigDecimal(id)); ad.setCarrierId(new BigDecimal(carriers.get(0))); ad.setDispatchDealTime(new Date()); ad.setDispatchTime(new Date()); //成交类型(0:定向派单;1:公开抢单) ad.setDispatchType(new BigDecimal(0)); //销售订单车序号状态(0:自由;1:锁定) ad.setDispatchStatus(new BigDecimal(1)); amsDispatchSaleOrderService.insert(ad); return success("插入成功"); } } return success(); } /** * 公开派单:查询未分派车辆的销售订单的车序号 */ @ApiModelProperty(value = "展示车序号列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "182", required = false, dataType = "BigDecimal") }) @PostMapping("/getAmsSaleOrderMaterial") public RESTfulResult getAmsSaleOrderMaterial(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId) { List> list = amsSaleOrderMaterialService.getSaleMaterial(mapValue); PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = amsSaleOrderMaterialService.getSaleMaterial(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList); return success(data); } /** * 公开派单:新增公开派单 */ @PostMapping("/addOpenAmsDispatchSaleOrder/{saleOrderMaterialId}") public RESTfulResult addOpenAmsDispatchSaleOrder(@PathVariable("saleOrderMaterialId") BigDecimal saleOrderMaterialId){ if(saleOrderMaterialId==null){ return failed(); } //新增公开派单 AmsDispatchSaleOrder ad = new AmsDispatchSaleOrder(); ad.setDispatchId(amsDispatchSaleOrderService.selectMaxId()); ad.setSaleOrderMaterialId(saleOrderMaterialId); //成交类型(0:定向派单;1:公开抢单) ad.setDispatchType(new BigDecimal(1)); //销售订单车序号状态(0:自由;1:锁定) ad.setDispatchStatus(new BigDecimal(0)); amsDispatchSaleOrderService.insert(ad); return success("插入成功"); } /** * 删除公开派单 */ @PostMapping("/deleteAmsDispatchSaleOrder/{dispatchId}") public RESTfulResult deleteAmsDispatchSaleOrder(@PathVariable("dispatchId") BigDecimal dispatchId) { amsDispatchSaleOrderService.delete(dispatchId); return success("删除成功"); } /** * 公开派单:查询公开派单 */ @ApiModelProperty(value = "展示公开派单") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "181", required = false, dataType = "BigDecimal") }) @PostMapping("/getOpenDispatchSaleOrder") public RESTfulResult getOpenDispatchSaleOrder(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId) { List> list = amsDispatchSaleOrderService.getOpenDispatchSaleOrder(mapValue); PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = amsDispatchSaleOrderService.getOpenDispatchSaleOrder(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList); return success(data); } /** *公开派单:修改公开派单 */ @PostMapping("/updateOpenDispatchSaleOrder") public RESTfulResult updateOpenDispatchSaleOrder(@RequestBody AmsDispatchSaleOrder amsDispatchSaleOrder) { if(amsDispatchSaleOrder.getCarrierId()!=null){ amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(1)); } amsDispatchSaleOrder.setDispatchDealTime(new Date()); amsDispatchSaleOrder.setUpdateTime(new Date()); amsDispatchSaleOrder.setUpdateUsername("admin"); amsDispatchSaleOrderService.modify(amsDispatchSaleOrder); return success("修改成功"); } }