package com.steerinfo.dil.controller; import com.alibaba.druid.support.json.JSONUtils; import com.steerinfo.dil.feign.ColumnDataFeign; import com.steerinfo.dil.feign.ESFeign; import com.steerinfo.dil.feign.JoinFeign; import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper; import com.steerinfo.dil.model.AmsDispatchSaleOrder; import com.steerinfo.dil.service.IAmsSaleOrderService; import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl; import com.steerinfo.dil.service.impl.AmsSaleOrderCarrierServiceImpl; import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl; import com.steerinfo.dil.util.*; 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.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; //import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; /** * 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 AmsDispatchSaleOrderMapper amsDispatchSaleOrderMapper; @Autowired ColumnDataUtil columnDataUtil; @Autowired ESFeign esFeign; @Autowired AmsSaleOrderCarrierServiceImpl amsSaleOrderCarrierService; @Autowired EASTestUtil easTestUtil; @Autowired EASUtil easUtil; @Autowired JoinFeign joinFeign; @Autowired EASDeleteUtil easDeleteUtil; @Autowired EASCapacityTestUtil easCapacityTestUtil; private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @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){ PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfo(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,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){ PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReported(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,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){ PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApproved(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,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); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrderDetail1 = amsSaleOrderService.getSaleOrderDetail(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrderDetail1); return success(pageList); } /** * 上传销售订单 * @param saleOrderId * @return */ @ApiOperation(value="上传销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/uploadSaleOrder") public RESTfulResult uploadSaleOrder(@RequestParam BigDecimal saleOrderId){ int i = amsSaleOrderService.uploadSaleOrder(saleOrderId); return success(i); } /** * 新增销售订单 * @param map * @return */ @ApiOperation(value="新增销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder") }) @PostMapping(value = "/addAmsSaleOrder") public RESTfulResult addAmsSaleOrder(@RequestBody(required = false) Map map) throws ParseException { int i = amsSaleOrderService.addAmsSaleOrder(map); return success(i); } /** * 通过主键渲染销售订单信息 * @param saleOrderId * @return */ @ApiOperation(value="通过主键渲染销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/getAmsSaleOrderBySaleOrderId") public RESTfulResult getAmsSaleOrderBySaleOrderId(@RequestParam BigDecimal saleOrderId){ Map maps = amsSaleOrderService.selectInfoBySaleOrderId(saleOrderId); List> maps1= amsSaleOrderService.selectMaterialInfoBySaleOrderId(saleOrderId); Map map=new HashMap(); map.put("maps",maps); map.put("maps1",maps1); return success(map); } /**steelMaterialId * 通过主键修改销售订单 * @param map * @return */ @ApiOperation(value="通过主键修改销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder") }) @PostMapping(value = "/updateAmsSaleOrder") public RESTfulResult updateAmsSaleOrder(@RequestBody(required = false) Map map) throws ParseException { int i = amsSaleOrderService.updateAmsSaleOrder(map); 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); PageHelper.startPage(pageNum,pageSize); List> amsSaleOrderUpdate1 = amsSaleOrderService.getSaleOrderUpdateLog(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrderUpdate1); return success(pageList); } /** * 获取销售计划名称 * @param * @return */ @ApiOperation(value="获取销售计划名称") @ApiImplicitParams({ }) @GetMapping(value = "/getSalePlanName") public RESTfulResult getSalePlanName(){ return success(amsSaleOrderService.getSalePlanName()); } /** * 获取发货单位 * @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, Integer status, String con) { if (status!=null){ mapValue.put("status",status); } PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSaleOrderList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList); return success(pageList); } /** * 销售公司查询已审核的订单 * */ @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("/getSaleOrderListBySaleCompany") public RESTfulResult getSaleOrderListBySaleCompany(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId) { PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList); return success(pageList); } /** * 固定派单:通过车序号查询收货地址,截取收货地址的区域,去资源管理中查询对应的承运商,将车序号与承运商绑定 */ @PostMapping("/addAmsDispatchSaleOrder") public RESTfulResult addAmsDispatchSaleOrder(@RequestBody(required = false) List> mapValue){ // if(mapValue==null){ // return failed(); // } // for (Map m:mapValue // ) { // Integer id = Integer.parseInt(m.get("saleOrderMaterialId").toString()) ; // System.out.println(id); // //通过主键Id获取地址id // Integer a=amsSaleOrderMaterialService.selectById(new BigDecimal(id)); // //通过地址id查询省市县 // Map province = amsSaleOrderService.getCarrier(a); // //根据省市县查询承运商 // List> carrierList=amsSaleOrderService.selectCarrierIdByprovince(province); // //判断是否只有一个承运商 // //如果收货地区为成都重庆,则有多个一个地区对应多个承运商 // if(carrierList.size()==1) { // //新增固定派单 // AmsDispatchSaleOrder ad = new AmsDispatchSaleOrder(); // ad.setDispatchId(DataChange.dataToBigDecimal(m.get("dispatchId"))); // ad.setSaleOrderMaterialId(new BigDecimal(id)); // ad.setCarrierId(carrierList.get(0)); // ad.setDispatchDealTime(new Date()); // ad.setDispatchTime(new Date()); // //成交类型(0:定向派单;1:公开抢单) // ad.setDispatchType(new BigDecimal(0)); // //销售订单车序号状态(0:已下发;1:未下发) // ad.setDispatchStatus(new BigDecimal(0)); // int i = amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(ad); // return success(i); // } // } int result = amsSaleOrderService.addAmsDispatchSaleOrder(mapValue); return success(result); } /** * 公开派单:查询未分派车辆的销售订单的车序号 */ @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, Integer status) { mapValue.put("status",status); PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = amsSaleOrderMaterialService.getSaleMaterial(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList); return success(data); } /** * 公开派单:新增公开派单 */ @PostMapping("/addOpenAmsDispatchSaleOrder/{orderMaterialId}") public RESTfulResult addOpenAmsDispatchSaleOrder(@PathVariable("orderMaterialId") BigDecimal orderMaterialId){ if(orderMaterialId==null){ return failed(); } //新增公开派单 AmsDispatchSaleOrder ad = new AmsDispatchSaleOrder(); Integer id = amsDispatchSaleOrderMapper.selectDispatchIdBySaleOrderMaterialId(orderMaterialId.intValue()); ad.setDispatchId(DataChange.dataToBigDecimal(id)); ad.setSaleOrderMaterialId(orderMaterialId); //成交类型(0:定向派单;1:公开抢单) ad.setDispatchType(new BigDecimal(1)); //销售订单车序号状态(0:已下发;1:未下发) ad.setDispatchStatus(new BigDecimal(1)); //更新公开派单状态 amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(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) { PageHelper.startPage(pageNum, pageSize); //分页查询数据 List> columnList = amsDispatchSaleOrderService.getOpenDispatchSaleOrder(mapValue); PageListAdd data = columnDataUtil.tableColumnData(apiId, null, 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("修改成功"); } @ApiOperation(value="查询未上报的销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getSaleOrderInfoes") public RESTfulResult getSaleOrderInfoes(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, String consigneeSsoId, String con, String startTime, String endTime, String saler ){ if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) { mapValue.put("consigneeSsoId",consigneeSsoId); } if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con",con); } if (saler != null && !"".equals(saler) && !"null".equals(saler)){ mapValue.put("saler",saler); } DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据 PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfoes(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null,amsSaleOrder1); return success(pageList); } @ApiOperation(value="查询已上报销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getSaleOrderReportedes") public RESTfulResult getSaleOrderReportedes(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, String consigneeSsoId, String con, String startTime, String endTime, String saler){ if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) { mapValue.put("consigneeSsoId",consigneeSsoId); } if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con",con); } if (saler != null && !"".equals(saler) && !"null".equals(saler)) { mapValue.put("saler",saler); } DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据 PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReportedes(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null,amsSaleOrder1); return success(pageList); } @ApiModelProperty(value = "展示已审核销售订单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "409/475", required = false, dataType = "BigDecimal") }) @PostMapping("/getSaleOrderListBySaleCompanyes") public RESTfulResult getSaleOrderListBySaleCompanyes(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con, Integer shipperId, @RequestParam(required = false) Integer saleType, String consigneeSsoId, @RequestParam(required = false) String startTime, @RequestParam(required = false)String endTime, String saler ) { if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con", con); } if(shipperId != null && !"".equals(shipperId) && !"null".equals(shipperId)){ mapValue.put("shipperId", shipperId); } if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) { mapValue.put("consigneeSsoId",consigneeSsoId); } if (saler != null && !"".equals(saler) && !"null".equals(saler)) { mapValue.put("saler",saler); } mapValue.put("saleType",saleType); DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据 // SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); // if(startDate != null && !"".equals(startDate) && !"null".equals(startDate)){ // Date startTime=new Date(Long.parseLong(startDate)); // String startTime1=simpleDateFormat.format(startTime); // mapValue.put("startTime",startTime1); // } // if(endDate != null && !"".equals(endDate) && !"null".equals(endDate)){ // Date endTime=new Date(Long.parseLong(endDate)); // String endTime1=simpleDateFormat.format(endTime); // mapValue.put("endTime",endTime1); // } //不分页筛选数据 PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null,saleOrderList); return success(pageList); } @ApiOperation(value="查询财务已审批销售订单信息") @ApiImplicitParams({ @ApiImplicitParam(name = "apiId(409)", value = "表头", required = false, dataType = "Interger") }) @PostMapping("/getAmsSaleOrderApprovedes") public RESTfulResult getAmsSaleOrderApprovedes(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, @RequestParam String con){ if (con != null && !"undefined".equals(con)) { mapValue.put("con", con); } PageHelper.startPage(pageNum,pageSize); List> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApprovedes(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1); return success(pageList); } /* * 根据销售订单主键展示销售基本信息、物资信息 * apiId:410 * */ @PostMapping(value="/getSaleOrderAndMaterialById") public RESTfulResult getSaleOrderAndMaterialById(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, BigDecimal saleOrderId){ if (mapValue == null) { mapValue = new HashMap<>(); } mapValue.put("saleOrderId",saleOrderId); PageHelper.startPage(pageNum,pageSize); List> columndata = amsSaleOrderService.getSaleOrderAndMaterialById(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,columndata); return success(pageList); } @ApiModelProperty(value = "展示销售焦炭订单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal") }) @PostMapping("/getCokeSaleOrderList") public RESTfulResult getCokeSaleOrderList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con) { if (con != null && !con.equals("undefined")) { mapValue.put("con","%" + con + "%"); } //不分页筛选数据 PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getCokeSaleOrderList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList); return success(pageList); } @ApiModelProperty(value = "销售订单批量授权给承运商") @PostMapping("/saleOrderEmpowerCarrier") public RESTfulResult saleOrderEmpowerCarrier(@RequestBody(required = false) Map mapValue) { //获得订单ID集合 saleOrderIds List> saleOrderIds= (List>) mapValue.get("saleOrderIds"); //获得承运商 carrierId BigDecimal carrierId= new BigDecimal(mapValue.get("carrierId").toString()); //销售订单授权承运商中间表 int i= amsSaleOrderCarrierService.addAmsSaleOrderCarrier(carrierId,saleOrderIds); return success(i); } @ApiModelProperty(value = "展示销售公司下发给承运商的销售订单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal") }) @PostMapping("/getSaleOrderListByCarrierSsoId") public RESTfulResult getSaleOrderListByCarrierSsoId(@RequestBody(required = false) Map mapValue, String carrierSsoId, Integer pageNum, Integer pageSize, Integer apiId, String con) { if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con", con); } if (carrierSsoId!=null){ mapValue.put("carrierSsoId",carrierSsoId); } //不分页筛选数据 PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSaleOrderListByCarrierSsoId(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList); return success(pageList); } @ApiModelProperty(value = "新增钢材销售订单") @PostMapping("/addSteelSaleOrder") public RESTfulResult addSteelSaleOrder(@RequestBody Map mapValue) { int result = amsSaleOrderService.addSteelSaleOrder(mapValue); return success(result); } @ApiModelProperty(value = "展示销售订单下的车序号和物资") @PostMapping("/getTruckNoAndMaterialList") public RESTfulResult getTruckNoAndMaterialList(@RequestParam Integer saleOrderId) { List> mapList = amsSaleOrderService.getTruckNoAndMaterialList(new BigDecimal(saleOrderId)); return success(mapList); } @ApiModelProperty(value = "钢材派单") @PostMapping("/dispatchSteelOrder") public RESTfulResult dispatchSteelOrder(@RequestBody List> mapList) throws Exception { int result = amsSaleOrderService.dispatchSteelOrder(mapList); if (result == 0) { return failed("匹配不到车牌号!"); } else { for (Map map : mapList) { // 调用EAS接口将车牌号传给金蝶 BigDecimal saleOrderMaterialId = new BigDecimal((Integer) map.get("saleOrderMaterialId")) ; Map input = joinFeign.findCarNumberByOrderId(saleOrderMaterialId); Map totalMap = easCapacityTestUtil.getTotalMap(); totalMap.put("input",input); System.out.println(totalMap); String json = JSONUtils.toJSONString(totalMap); System.out.println(json); Map s = joinFeign.pushCarNumberToEas(totalMap); if (s == null || s.size() == 0) { throw new Exception("登录金蝶失败"); } System.out.println(s); } return success(result); } } @ApiModelProperty(value = "根据详细地址匹配承运商") @GetMapping("/getCarrierByPlace") public RESTfulResult getCarrierByPlace(@RequestParam Integer placeId) { List> result = amsSaleOrderService.getCarrierByPlace(new BigDecimal(placeId)); return success(result); } @ApiModelProperty(value = "根据详细地址和承运商匹配单价") @PostMapping("/getPriceByCarrierAndPlace") public RESTfulResult getPriceByCarrierAndPlace(@RequestBody Map mapValue) { Map result = amsSaleOrderService.getPriceByCarrierAndPlace(mapValue); return success(result); } @ApiModelProperty(value = "将车序号下发给承运商") @PostMapping("/dispatchToCarrier") public RESTfulResult dispatchToCarrier(@RequestBody List> mapList) { int result = amsSaleOrderService.dispatchToCarrier(mapList); return success(result); } @ApiModelProperty(value = "销售钢材承运商查询销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal") }) @PostMapping("/getSaleOrderListToCarrier") public RESTfulResult getSaleOrderListToCarrier(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String carrierSsoId, String con) { if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con","%" + con + "%"); } if ((carrierSsoId != null && !"".equals(carrierSsoId)) && !"undefined".equals(carrierSsoId) && !"null".equals(carrierSsoId)) { mapValue.put("carrierSsoId",carrierSsoId); } //不分页筛选数据 PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSaleOrderListToCarrier(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList); return success(pageList); } /** * 展示未匹配承运商的车序号 * * @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 = "/getSteelTruckNoList") public RESTfulResult getSteelTruckNoList(@RequestBody(required = false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, String con) { if (con != null && !con.equals("undefined") && !con.equals("null")) { mapValue.put("con", "%" + con + "%"); } PageHelper.startPage(pageNum, pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSteelTruckNoList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList); return success(pageList); } @ApiModelProperty(value = "展示销售订单下的车序号和物资") @PostMapping("/getTruckNoMaterial") public RESTfulResult getTruckNoMaterial(@RequestParam Integer saleOrderMaterialId) { List> mapList = amsSaleOrderService.getTruckNoMaterial(new BigDecimal(saleOrderMaterialId)); return success(mapList); } /** * 展示已分配承运商但未派车的车序号 * * @param mapValue * @return */ @ApiOperation(value = "展示已分配承运商但未派车的车序号") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"), @ApiImplicitParam(name = "apiId", value = "466", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/getNoCarTruckNoList") public RESTfulResult getNoCarTruckNoList(@RequestBody(required = false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, String con) { if (con != null && !con.equals("undefined") && !con.equals("null")) { mapValue.put("con", "%" + con + "%"); } PageHelper.startPage(pageNum, pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getNoCarTruckNoList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList); return success(pageList); } /** * 展示已派车的车序号 * * @param mapValue * @return */ @ApiOperation(value = "展示已派车的车序号") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"), @ApiImplicitParam(name = "apiId", value = "466", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/getHaveCarTruckNoList") public RESTfulResult getHaveCarTruckNoList(@RequestBody(required = false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, String con, String startTime, String endTime) { if (con != null && !con.equals("undefined") && !con.equals("null")) { mapValue.put("con", "%" + con + "%"); } DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据 PageHelper.startPage(pageNum, pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getHaveCarTruckNoList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList); return success(pageList); } @ApiModelProperty(value = "删除上一条销售订单") @PostMapping("/deleteSaleOrderById") public RESTfulResult deleteSaleOrderById(@RequestParam Integer saleOrderId) { int result = amsSaleOrderService.deleteSaleOrderById(new BigDecimal(saleOrderId)); return success(result); } @ApiModelProperty(value = "查询出销售订单下的所有数据") @PostMapping("/getAllSaleMessages") public RESTfulResult getAllSaleMessages(@RequestParam Integer saleOrderId) { Map saleMap = amsSaleOrderService.getAllSaleMessages(new BigDecimal(saleOrderId)); return success(saleMap); } @ApiModelProperty(value = "修改承运商授权") @PostMapping("/updateTruckNoCarrier") public RESTfulResult updateTruckNoCarrier(@RequestBody Map mapValue) { int result = amsSaleOrderService.updateTruckNoCarrier(mapValue); return success(result); } /** * 批量上传销售订单 * @param saleOrderIdList * @return */ @ApiOperation(value="批量上传销售订单") @ApiImplicitParams({ @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal") }) @PostMapping(value = "/uploadSaleOrderList") public RESTfulResult uploadSaleOrderList(@RequestBody List> saleOrderIdList){ int i = amsSaleOrderService.uploadSaleOrderList(saleOrderIdList); return success(i); } @ApiModelProperty(value = "新增钒渣销售订单") @PostMapping("/addVanadiumSaleOrder") public RESTfulResult addVanadiumSaleOrder(@RequestBody Map mapValue) { int result = amsSaleOrderService.addVanadiumSaleOrder(mapValue); return success(result); } @ApiModelProperty(value = "自动匹配出最近的一个地址") @PostMapping("/matchingAddressRecently") public RESTfulResult matchingAddressRecently(@RequestParam BigDecimal receiveId) { List> mapList = amsSaleOrderService.matchingAddressRecently(receiveId); return success(mapList); } @ApiModelProperty(value = "自动匹配上一条运单的司机电话") @PostMapping("/matchingDriverTelRecently") public RESTfulResult matchingDriverTelRecently(@RequestParam String capacityNumber) { String driverTel = amsSaleOrderService.matchingDriverTelRecently(capacityNumber); return success(driverTel); } /** * 查询内转焦炭订单 * * @param mapValue * @return */ @ApiOperation(value = "查询内转焦炭订单") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "查询内转焦炭订单", required = false, dataType = "java.util.Map"), @ApiImplicitParam(name = "apiId", value = "168", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/getCokeInwardOrderList") public RESTfulResult getCokeInwardOrderList(@RequestBody(required = false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, Integer orderStatus, String con) { if (con != null && !con.equals("undefined") && !con.equals("null")) { mapValue.put("con", "%" + con + "%"); } if (orderStatus != null) { mapValue.put("orderStatus",orderStatus); } PageHelper.startPage(pageNum, pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getCokeInwardOrderList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList); return success(pageList); } /** * 修改收货地址 * * @param mapValue * @return */ @ApiOperation(value = "修改收货地址") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "修改收货地址", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/updateCarAddress") public RESTfulResult updateCarAddress(@RequestBody Map mapValue) { int result = amsSaleOrderService.updateCarAddress(mapValue); // 如果返回结果为0,则认定是关闭了车辆 if (result == 0) { BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(mapValue.get("saleOrderMaterialId")); List> saleMaterialIdList = amsSaleOrderService.getSaleMaterialId(saleOrderMaterialId); String wholeOrder = "0"; String status = "close"; String reason = "收货地址修改超过片区范围"; // 循环调用关闭金蝶分录接口 for (Map head : saleMaterialIdList) { head.put("wholeOrder",wholeOrder); head.put("status",status); head.put("reason",reason); Map input = new HashMap<>(); input.put("head",head); Map totalMap = easDeleteUtil.getTotalMap(); totalMap.put("input",input); String json = JSONUtils.toJSONString(totalMap); System.out.println(json); Map resultMap = joinFeign.deleteSaleOrderToEas(totalMap); System.out.println(resultMap); } } return success(result); } /** * 修改销售订单中的物资 * * @param mapValue * @return */ @ApiOperation(value = "修改销售订单中的物资") @ApiImplicitParams({ @ApiImplicitParam(name = "map", value = "修改收货地址", required = false, dataType = "java.util.Map") }) @PostMapping(value = "/updateAllMaterialInSale") public RESTfulResult updateAllMaterialInSale(@RequestBody Map mapValue) { //分页数据 int result = amsSaleOrderService.updateAllMaterialInSale(mapValue); BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId")); // 调用金蝶接口,将销售订单推送到金蝶系统 Map input = joinFeign.getSaleOrder(saleOrderId); Map head = (Map) input.get("head"); head.put("status", "update"); // 获得金蝶接口配置:正式 // Map totalMap = easUtil.getTotalMap(); // 获得金蝶接口配置:测试 Map totalMap = easUtil.getTotalMap(); // 组装报文 totalMap.put("input", input); System.out.println(totalMap); String json = JSONUtils.toJSONString(totalMap); System.out.println(json); Map resultMap = joinFeign.pushSaleOrderToEas(totalMap); System.out.println(resultMap); return success(result); } @ApiModelProperty(value = "展示副产品销售订单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "481", required = false, dataType = "BigDecimal") }) @PostMapping("/getFuSaleOrderList") public RESTfulResult getFuSaleOrderList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con, BigDecimal deleted, @RequestParam(required = false) String startTime, @RequestParam(required = false)String endTime ) { if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con", con); } DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据 mapValue.put("deleted",deleted); //不分页筛选数据 PageHelper.startPage(pageNum, pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getFuSaleOrderList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, saleOrderList); return success(pageList); } @ApiModelProperty(value = "同步关闭金蝶订单") @PostMapping("/deleteSaleOrderSame") public RESTfulResult deleteSaleOrderSame(@RequestBody Map mapValue) { int result = amsSaleOrderService.deleteSaleOrderSame(mapValue); return success(result); } @ApiModelProperty(value = "展示反审批的钢材订单") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "481", required = false, dataType = "BigDecimal") }) @PostMapping("/getSteelOrderDeletedList") public RESTfulResult getSteelOrderDeletedList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con, String consigneeSsoId, @RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime,String saler ) { if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con", con); } if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) { mapValue.put("consigneeSsoId", consigneeSsoId); } if (saler != null && !"".equals(saler) && !"null".equals(saler)) { mapValue.put("saler", saler); } DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据 //不分页筛选数据 PageHelper.startPage(pageNum, pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getSteelOrderDeletedList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, saleOrderList); return success(pageList); } @ApiModelProperty(value = "展示所有状态销售订单列表") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"), @ApiImplicitParam(name = "apiId", value = "409/475", required = false, dataType = "BigDecimal") }) @PostMapping("/getAllSteelSaleOrderList") public RESTfulResult getAllSteelSaleOrderList(@RequestBody(required = false) Map mapValue, Integer pageNum, Integer pageSize, Integer apiId, String con, Integer shipperId, @RequestParam(required = false) Integer saleType, String consigneeSsoId // String startDate, // String endDate ) { if (con != null && !"".equals(con) && !"null".equals(con)) { mapValue.put("con", con); } if(shipperId != null && !"".equals(shipperId) && !"null".equals(shipperId)){ mapValue.put("shipperId", shipperId); } if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) { mapValue.put("consigneeSsoId",consigneeSsoId); } mapValue.put("saleType",saleType); // SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); // if(startDate != null && !"".equals(startDate) && !"null".equals(startDate)){ // Date startTime=new Date(Long.parseLong(startDate)); // String startTime1=simpleDateFormat.format(startTime); // mapValue.put("startTime",startTime1); // } // if(endDate != null && !"".equals(endDate) && !"null".equals(endDate)){ // Date endTime=new Date(Long.parseLong(endDate)); // String endTime1=simpleDateFormat.format(endTime); // mapValue.put("endTime",endTime1); // } //不分页筛选数据 PageHelper.startPage(pageNum,pageSize); //分页数据 List> saleOrderList = amsSaleOrderService.getAllSteelSaleOrderList(mapValue); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList); return success(pageList); } @ApiModelProperty(value = "修改厂内未装货车辆的运单车牌号") @PostMapping("/updateCapacityNumberInFactory") public RESTfulResult updateCapacityNumberInFactory(@RequestBody Map mapValue) { int result = amsSaleOrderService.updateCapacityNumberInFactory(mapValue); if (result == 0) { return failed("已装货车辆不允许修改车牌"); } else { // 调用EAS接口将车牌号传给金蝶 BigDecimal saleOrderMaterialId = new BigDecimal((Integer) mapValue.get("saleOrderMaterialId")); Map input = joinFeign.findCarNumberByOrderId(saleOrderMaterialId); Map totalMap = easCapacityTestUtil.getTotalMap(); totalMap.put("input", input); System.out.println(totalMap); String json = JSONUtils.toJSONString(totalMap); System.out.println(json); Map s = joinFeign.pushCarNumberToEas(totalMap); System.out.println(s); return success(result); } } }