Sfoglia il codice sorgente

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API into dev

txf 3 anni fa
parent
commit
af3d9a07d0

+ 53 - 3
src/main/java/com/steerinfo/dil/controller/AmsDispatchSaleOrderController.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.controller;
 
 import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
@@ -14,6 +15,7 @@ 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;
 
@@ -40,6 +42,8 @@ public class AmsDispatchSaleOrderController extends BaseRESTfulController {
     ColumnDataFeign columnDataFeign;
     @Autowired
     ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
 
     @ApiOperation(value="查询app端公开抢单")
     @PostMapping("/getDispatchSaleOrderList")
@@ -65,14 +69,18 @@ public class AmsDispatchSaleOrderController extends BaseRESTfulController {
 
     @ApiOperation(value="展示pc端司机已经抢到的订单")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "apiId()", value = "表头", required = false, dataType = "Interger")
+            @ApiImplicitParam(name = "apiId(233)", value = "表头", required = false, dataType = "Interger")
     })
     @PostMapping("/selectDispatchSaleOrderList")
     public RESTfulResult selectDispatchSaleOrderList(@RequestBody(required=false) Map<String,Object> mapValue,
                                               Integer apiId,
                                               Integer pageNum,
-                                              Integer pageSize){
-
+                                              Integer pageSize,
+                                              Integer carrierId){
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        mapValue.put("carrierId",new BigDecimal(carrierId));
         List<Map<String, Object>> amsSaleOrder = amsDispatchSaleOrderService.getLockDispatchSaleOrderListForPc(mapValue);
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsDispatchSaleOrderService.getLockDispatchSaleOrderListForPc(mapValue);
@@ -80,4 +88,46 @@ public class AmsDispatchSaleOrderController extends BaseRESTfulController {
         return success(pageList);
     }
 
+    @ApiOperation(value="查询PC端公开抢单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(242)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getPCDispatchSaleOrderList")
+    public RESTfulResult getPCDispatchSaleOrderList(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize,
+                                                    Integer dispatchType,
+                                                    String con){
+        if (con != null) {
+            if(!"undefined".equals(con)){
+                String index="get_pc_dispatch";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        mapValue.put("dispatchType",dispatchType);
+        List<Map<String, Object>> dispatchSaleOrderList = null;
+        if (mapValue.size() == 1) {
+            //将查询结果存入索引中
+            dispatchSaleOrderList =  amsDispatchSaleOrderService.getPCDispatchSaleOrderList(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_pc_dispatch");
+            //添加id
+            map1.put("indexId","dispatchId");
+            dispatchSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(dispatchSaleOrderList);
+            //删除
+            dispatchSaleOrderList.remove(dispatchSaleOrderList.size()-1);
+        }
+        if (dispatchSaleOrderList == null) {
+            dispatchSaleOrderList = amsDispatchSaleOrderService.getPCDispatchSaleOrderList(mapValue);
+        }
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> columnList = amsDispatchSaleOrderService.getPCDispatchSaleOrderList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, dispatchSaleOrderList,columnList);
+        return success(pageList);
+    }
+
 }

+ 14 - 0
src/main/java/com/steerinfo/dil/controller/AmsPurchaseOrderController.java

@@ -51,4 +51,18 @@ public class AmsPurchaseOrderController extends BaseRESTfulController {
         PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
         return success(data);
     }
+
+    @ApiModelProperty(value = "APP展示采购订单列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "81", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getAppPurchaseOrderList")
+    public RESTfulResult getAppPurchaseOrderList(Integer carrierId) {
+
+        List<Map<String, Object>> list = amsPurchaseOrderService.getAppPurchaseOrderList(carrierId);
+        return success(list);
+
+    }
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.java

@@ -31,4 +31,10 @@ public interface AmsDispatchSaleOrderMapper extends IBaseMapper<AmsDispatchSaleO
 
     //pc端,展示已经接收到了承运商的订单
     List<Map<String,Object>> getLockDispatchSaleOrderListForPc(Map<String,Object> map);
+
+    // 查询PC端公开抢单
+    List<Map<String, Object>> getPCDispatchSaleOrderList(Map<String, Object> mapValue);
+
+    // 空与非空
+    List<BigDecimal> getNullOrNotNull(BigDecimal dispatchId);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/AmsPurchaseOrderMapper.java

@@ -27,4 +27,9 @@ public interface AmsPurchaseOrderMapper extends IBaseMapper<AmsPurchaseOrder, Bi
 
     @Select("select seq_AMS_PURCHASE.nextval from dual")
     BigDecimal selectPurchaseId();
+
+    /*
+    App端查询采购订单
+     */
+    List<Map<String, Object>> getAppPurchaseOrderList(Integer carrierId);
 }

+ 1 - 0
src/main/java/com/steerinfo/dil/service/IAmsContractTruckPriceService.java

@@ -42,4 +42,5 @@ public interface IAmsContractTruckPriceService {
     List<Map<String, Object>> getOriginAndNowOilPrice();
     //油价联动导致运价变动,批量修改运价,同时修改吨公里的数值
     int batchUpdateTransportPriceByOilPrice();
+
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/service/IAmsDispatchSaleOrderService.java

@@ -54,4 +54,11 @@ public interface IAmsDispatchSaleOrderService{
 
     //pc端,展示已经接收到了承运商的订单
     List<Map<String,Object>> getLockDispatchSaleOrderListForPc(Map<String,Object> map);
+
+    /**
+     * 查询PC端公开抢单
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> getPCDispatchSaleOrderList(Map<String, Object> mapValue);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IAmsPurchaseOrderService.java

@@ -24,4 +24,6 @@ public interface IAmsPurchaseOrderService {
      * @return
      */
     BigDecimal selectMaxId();
+
+    List<Map<String, Object>> getAppPurchaseOrderList(Integer carrierId);
 }

+ 19 - 11
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -125,6 +125,10 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.getOriginAndNowOilPrice();
     }
 
+    /**
+     * 批量修改油价
+     * @return
+     */
     @Override
     public int batchUpdateTransportPriceByOilPrice() {
         //获取所有油价信息
@@ -145,7 +149,7 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         //获取原运价和吨公里数
         List<Map<String, Object>> priceValueAndPriceTonKilometer = amsContractTruckPriceMapper.getPriceValueAndPriceTonKilometer();
 
-        if(updateOilPrice>0.05||updateOilPrice<-0.05){
+        if(updateOilPrice>0.05||updateOilPrice<-0.05) {
             //逐条修改吨公里数
             for (Map<String, Object> stringObjectMap : priceValueAndPriceTonKilometer) {
                 //主键Id
@@ -154,18 +158,22 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
                 BigDecimal priceValue = (BigDecimal) stringObjectMap.get("priceValue");
                 //吨公里数
                 BigDecimal priceTonKilometer = (BigDecimal) stringObjectMap.get("priceTonKilometer");
-                //参考距离
-                BigDecimal distance = priceValue.divide(priceTonKilometer,2,BigDecimal.ROUND_HALF_UP);
-                //现运价
-                Double nowPriceValue = priceValue.doubleValue()*0.65+priceValue.doubleValue()*0.35*(1+updateOilPrice);
-                BigDecimal nowPriceValue1 = new BigDecimal(nowPriceValue);
-                //新吨公里数
-                BigDecimal newPriceTonKilometer = nowPriceValue1.divide(distance,4,BigDecimal.ROUND_HALF_UP);
-                //通过主键修改一条吨公里数
-                amsContractTruckPriceMapper.updatePriceTonKilometer(priceId,newPriceTonKilometer);
+                //参考距离,四舍五入,保留两位小数
+                BigDecimal distance;
+                if (priceTonKilometer.doubleValue() != 0) {
+                    distance = priceValue.divide(priceTonKilometer, 2, BigDecimal.ROUND_HALF_UP);
+                    //现运价
+                    Double nowPriceValue = priceValue.doubleValue() * 0.65 + priceValue.doubleValue() * 0.35 * (1 + updateOilPrice);
+                    BigDecimal nowPriceValue1 = new BigDecimal(nowPriceValue);
+                    //新吨公里数
+                    BigDecimal newPriceTonKilometer = nowPriceValue1.divide(distance, 4, BigDecimal.ROUND_HALF_UP);
+                    //通过主键修改一条吨公里数
+                    amsContractTruckPriceMapper.updatePriceTonKilometer(priceId, newPriceTonKilometer);
+                }
+                return amsContractTruckPriceMapper.batchUpdateTransportPriceByOilPrice(updateOilPrice);
             }
-            return amsContractTruckPriceMapper.batchUpdateTransportPriceByOilPrice(updateOilPrice);
         }
         return 0;
     }
+
 }

+ 198 - 6
src/main/java/com/steerinfo/dil/service/impl/AmsDispatchSaleOrderServiceImpl.java

@@ -84,6 +84,7 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
             String allMaterialName = "";
             String allMaterialNumber = "";
             String allMaterialTheoreticalWeight = "";
+            String allMaterialSpecificationModel = "";
             for (Map<String,Object> materialMap : materialMessages) {
                 if (materialMap != null) {
                     String materialName = (String) materialMap.get("materialName");
@@ -94,11 +95,16 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
                     }
                     String saleOrderMaterialNumber = materialMap.get("saleOrderMaterialNumber").toString();
                     allMaterialNumber += saleOrderMaterialNumber + "/";
+                    String specificationModel = materialMap.get("specificationModel").toString();
+                    if (specificationModel != null) {
+                        allMaterialSpecificationModel += specificationModel + "/";
+                    }
                 }
             }
             String subMaterialName = null;
             String subMaterialNumber = null;
             String subMaterialTheoreticalWeight = null;
+            String subMaterialSpecificationModel = null;
             if (allMaterialName.length() >= 2) {
                 subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
             }
@@ -109,17 +115,24 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
                 subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 2);
             }
             if (allMaterialNumber.length() < 2) {
-                subMaterialName = allMaterialNumber;
+                subMaterialNumber = allMaterialNumber;
             }
             if (allMaterialTheoreticalWeight.length() >= 2) {
                 subMaterialTheoreticalWeight = allMaterialTheoreticalWeight.substring(0, allMaterialTheoreticalWeight.length() - 2);
             }
             if (allMaterialTheoreticalWeight.length() < 2) {
-                subMaterialName = allMaterialTheoreticalWeight;
+                subMaterialTheoreticalWeight = allMaterialTheoreticalWeight;
+            }
+            if (allMaterialSpecificationModel.length() >= 2) {
+                subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
+            }
+            if (allMaterialSpecificationModel.length() < 2) {
+                subMaterialSpecificationModel = allMaterialSpecificationModel;
             }
             map.put("allMaterialName",subMaterialName);
             map.put("allMaterialNumber",subMaterialNumber);
             map.put("allMaterialTheoreticalWeight",subMaterialTheoreticalWeight);
+            map.put("allMaterialSpecificationModel",subMaterialSpecificationModel);
         }
         return dispatchSaleOrderList;
     }
@@ -154,10 +167,15 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
         }
         for (Map<String, Object> map : mapList) {
             BigDecimal dispatchId = (BigDecimal) map.get("dispatchId");
+            List<BigDecimal> orderIdList = amsDispatchSaleOrderMapper.getNullOrNotNull(dispatchId);
+            if (orderIdList != null || orderIdList.size() != 0) {
+                mapList.remove(map);
+            }
             List<Map<String, Object>> materialMessages = amsDispatchSaleOrderMapper.getMaterialMessages(dispatchId);
             String allMaterialName = "";
             String allMaterialNumber = "";
             String allMaterialTheoreticalWeight = "";
+            String allMaterialSpecificationModel = "";
             if (materialMessages != null) {
                 for (Map<String, Object> materialMap : materialMessages) {
                     if (materialMap != null) {
@@ -169,11 +187,16 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
                         }
                         String saleOrderMaterialNumber = materialMap.get("saleOrderMaterialNumber").toString();
                         allMaterialNumber += saleOrderMaterialNumber + "/";
+                        String specificationModel = materialMap.get("specificationModel").toString();
+                        if (specificationModel != null) {
+                            allMaterialSpecificationModel += specificationModel + "/";
+                        }
                     }
                 }
                 String subMaterialName = null;
                 String subMaterialNumber = null;
                 String subMaterialTheoreticalWeight = null;
+                String subMaterialSpecificationModel = null;
                 if (allMaterialName.length() >= 2) {
                     subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
                 }
@@ -184,17 +207,24 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
                     subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 2);
                 }
                 if (allMaterialNumber.length() < 2) {
-                    subMaterialName = allMaterialNumber;
+                    subMaterialNumber = allMaterialNumber;
                 }
                 if (allMaterialTheoreticalWeight.length() >= 2) {
                     subMaterialTheoreticalWeight = allMaterialTheoreticalWeight.substring(0, allMaterialTheoreticalWeight.length() - 2);
                 }
                 if (allMaterialTheoreticalWeight.length() < 2) {
-                    subMaterialName = allMaterialTheoreticalWeight;
+                    subMaterialTheoreticalWeight = allMaterialTheoreticalWeight;
+                }
+                if (allMaterialSpecificationModel.length() >= 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
+                }
+                if (allMaterialSpecificationModel.length() < 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel;
                 }
                 map.put("allMaterialName",subMaterialName);
                 map.put("allMaterialNumber",subMaterialNumber);
                 map.put("allMaterialTheoreticalWeight",subMaterialTheoreticalWeight);
+                map.put("allMaterialSpecificationModel",subMaterialSpecificationModel);
             }
 //            // 将已经清空的map里面put进一个map和一个list<Map>
 //            map.put("materialMessages",materialMessages);
@@ -203,13 +233,175 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
                 map.put("allMaterialName",allMaterialName);
                 map.put("allMaterialNumber",allMaterialNumber);
                 map.put("allMaterialTheoreticalWeight",allMaterialTheoreticalWeight);
+                map.put("allMaterialSpecificationModel",allMaterialSpecificationModel);
             }
         }
         return mapList;
     }
 
+    /**
+     * 展示pc端司机已经抢到的订单
+     * @param mapValue
+     * @return
+     */
     @Override
-    public List<Map<String, Object>> getLockDispatchSaleOrderListForPc(Map<String,Object> map) {
-        return amsDispatchSaleOrderMapper.getLockDispatchSaleOrderListForPc(map);
+    public List<Map<String, Object>> getLockDispatchSaleOrderListForPc(Map<String,Object> mapValue) {
+        List<Map<String, Object>> mapList = amsDispatchSaleOrderMapper.getLockDispatchSaleOrderListForPc(mapValue);
+        if (mapList == null) {
+            return null;
+        }
+        for (Map<String, Object> map : mapList) {
+            BigDecimal dispatchId = (BigDecimal) map.get("dispatchId");
+            List<BigDecimal> orderIdList = amsDispatchSaleOrderMapper.getNullOrNotNull(dispatchId);
+            if (orderIdList != null || orderIdList.size() != 0) {
+                mapList.remove(map);
+            }
+            List<Map<String, Object>> materialMessages = amsDispatchSaleOrderMapper.getMaterialMessages(dispatchId);
+            String allMaterialName = "";
+            String allMaterialNumber = "";
+            String allMaterialTheoreticalWeight = "";
+            String allMaterialSpecificationModel = "";
+            if (materialMessages != null) {
+                for (Map<String, Object> materialMap : materialMessages) {
+                    if (materialMap != null) {
+                        String materialName = (String) materialMap.get("materialName");
+                        allMaterialName += materialName + "/";
+                        String materialTheoreticalWeight = materialMap.get("materialTheoreticalWeight").toString();
+                        if (materialTheoreticalWeight != null) {
+                            allMaterialTheoreticalWeight += materialTheoreticalWeight + "/";
+                        }
+                        String saleOrderMaterialNumber = materialMap.get("saleOrderMaterialNumber").toString();
+                        allMaterialNumber += saleOrderMaterialNumber + "/";
+                        String specificationModel = materialMap.get("specificationModel").toString();
+                        if (specificationModel != null) {
+                            allMaterialSpecificationModel += specificationModel + "/";
+                        }
+                    }
+                }
+                String subMaterialName = null;
+                String subMaterialNumber = null;
+                String subMaterialTheoreticalWeight = null;
+                String subMaterialSpecificationModel = null;
+                if (allMaterialName.length() >= 2) {
+                    subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
+                }
+                if (allMaterialName.length() < 2) {
+                    subMaterialName = allMaterialName;
+                }
+                if (allMaterialNumber.length() >= 2) {
+                    subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 2);
+                }
+                if (allMaterialNumber.length() < 2) {
+                    subMaterialNumber = allMaterialNumber;
+                }
+                if (allMaterialTheoreticalWeight.length() >= 2) {
+                    subMaterialTheoreticalWeight = allMaterialTheoreticalWeight.substring(0, allMaterialTheoreticalWeight.length() - 2);
+                }
+                if (allMaterialTheoreticalWeight.length() < 2) {
+                    subMaterialTheoreticalWeight = allMaterialTheoreticalWeight;
+                }
+                if (allMaterialSpecificationModel.length() >= 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
+                }
+                if (allMaterialSpecificationModel.length() < 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel;
+                }
+                map.put("allMaterialName",subMaterialName);
+                map.put("allMaterialNumber",subMaterialNumber);
+                map.put("allMaterialTheoreticalWeight",subMaterialTheoreticalWeight);
+                map.put("allMaterialSpecificationModel",subMaterialSpecificationModel);
+            }
+//            // 将已经清空的map里面put进一个map和一个list<Map>
+//            map.put("materialMessages",materialMessages);
+//            map.put("saleMap",saleMap);
+            else {
+                map.put("allMaterialName",allMaterialName);
+                map.put("allMaterialNumber",allMaterialNumber);
+                map.put("allMaterialTheoreticalWeight",allMaterialTheoreticalWeight);
+                map.put("allMaterialSpecificationModel",allMaterialSpecificationModel);
+            }
+        }
+        return mapList;
+    }
+
+    /**
+     * 查询PC端公开抢单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getPCDispatchSaleOrderList(Map<String, Object> mapValue) {
+        List<Map<String, Object>> dispatchSaleOrderList = amsDispatchSaleOrderMapper.getPCDispatchSaleOrderList(mapValue);
+        for (Map<String,Object> map: dispatchSaleOrderList) {
+//            Date dispatchDealTime = (Date) map.get("dispatchDealTime");
+            BigDecimal dispatchId = (BigDecimal) map.get("dispatchId");
+//            String isDeal;
+//            if (dispatchDealTime == null) {
+//                isDeal = "已成交";
+//            }
+//            else {
+//                isDeal = "未成交";
+//            }
+//            map.put("isDeal",isDeal);
+//            // 先把map中的key-value放到新的saleMap里面
+//            Map<String,Object> saleMap = new HashMap<>();
+//            saleMap.putAll(map);
+            // 使用Map清空工具迭代删除map中的所有key-value
+//            MapRemoveUtil.removeMap(map);
+            List<Map<String, Object>> materialMessages = amsDispatchSaleOrderMapper.getMaterialMessages(dispatchId);
+            String allMaterialName = "";
+            String allMaterialNumber = "";
+            String allMaterialTheoreticalWeight = "";
+            String allMaterialSpecificationModel = "";
+            for (Map<String,Object> materialMap : materialMessages) {
+                if (materialMap != null) {
+                    String materialName = (String) materialMap.get("materialName");
+                    allMaterialName += materialName + "/";
+                    String materialTheoreticalWeight = materialMap.get("materialTheoreticalWeight").toString();
+                    if (materialTheoreticalWeight != null) {
+                        allMaterialTheoreticalWeight += materialTheoreticalWeight + "/";
+                    }
+                    String saleOrderMaterialNumber = materialMap.get("saleOrderMaterialNumber").toString();
+                    allMaterialNumber += saleOrderMaterialNumber + "/";
+                    String specificationModel = materialMap.get("specificationModel").toString();
+                    if (specificationModel != null) {
+                        allMaterialSpecificationModel += specificationModel + "/";
+                    }
+                }
+            }
+            String subMaterialName = null;
+            String subMaterialNumber = null;
+            String subMaterialTheoreticalWeight = null;
+            String subMaterialSpecificationModel = null;
+            if (allMaterialName.length() >= 2) {
+                subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
+            }
+            if (allMaterialName.length() < 2) {
+                subMaterialName = allMaterialName;
+            }
+            if (allMaterialNumber.length() >= 2) {
+                subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 2);
+            }
+            if (allMaterialNumber.length() < 2) {
+                subMaterialNumber = allMaterialNumber;
+            }
+            if (allMaterialTheoreticalWeight.length() >= 2) {
+                subMaterialTheoreticalWeight = allMaterialTheoreticalWeight.substring(0, allMaterialTheoreticalWeight.length() - 2);
+            }
+            if (allMaterialTheoreticalWeight.length() < 2) {
+                subMaterialTheoreticalWeight = allMaterialTheoreticalWeight;
+            }
+            if (allMaterialSpecificationModel.length() >= 2) {
+                subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
+            }
+            if (allMaterialSpecificationModel.length() < 2) {
+                subMaterialSpecificationModel = allMaterialSpecificationModel;
+            }
+            map.put("allMaterialName",subMaterialName);
+            map.put("allMaterialNumber",subMaterialNumber);
+            map.put("allMaterialTheoreticalWeight",subMaterialTheoreticalWeight);
+            map.put("allMaterialSpecificationModel",subMaterialSpecificationModel);
+        }
+        return dispatchSaleOrderList;
     }
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsPurchaseOrderServiceImpl.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.AmsPurchaseOrderMapper;
 import com.steerinfo.dil.service.IAmsPurchaseOrderService;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -39,4 +40,9 @@ public class AmsPurchaseOrderServiceImpl implements IAmsPurchaseOrderService {
     public BigDecimal selectMaxId() {
         return amsPurchaseOrderMapper.selectPurchaseId();
     }
+
+    @Override
+    public List<Map<String, Object>> getAppPurchaseOrderList(Integer carrierId) {
+        return amsPurchaseOrderMapper.getAppPurchaseOrderList(carrierId);
+    }
 }

+ 121 - 22
src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml

@@ -404,9 +404,9 @@
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
     <!--根据车序号查找公开派单主键    -->
     <select id="selectDispatchIdBySaleOrderMaterialId" resultType="java.lang.Integer" parameterType="java.lang.Integer">
-        select  ADSO.DISPATCH_ID "dispatchId"
+        select ADSO.DISPATCH_ID "dispatchId"
         from AMS_DISPATCH_SALE_ORDER ADSO
-        where ADSO.SALE_ORDER_MATERIAL_ID=#{saleOrderMaterialId}
+        where ADSO.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
     </select>
     <!-- 展示所有公开抢单的销售订单的车序号 -->
     <select id="getOpenDispatchSaleOrder" parameterType="java.util.Map" resultType="java.util.Map">
@@ -450,9 +450,10 @@
     </select>
 
     <select id="getMaterialMessages" parameterType="DECIMAL" resultType="java.util.Map">
-        SELECT RM.MATERIAL_NAME                 AS "materialName",
-               ASTM.MATERIAL_THEORETICAL_WEIGHT AS "materialTheoreticalWeight",
-               ASTM.SALE_ORDER_MATERIAL_NUMBER  AS "saleOrderMaterialNumber"
+        SELECT RM.MATERIAL_NAME                               AS "materialName",
+               ASTM.MATERIAL_THEORETICAL_WEIGHT               AS "materialTheoreticalWeight",
+               ASTM.SALE_ORDER_MATERIAL_NUMBER                AS "saleOrderMaterialNumber",
+               RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "specificationModel"
         FROM AMS_DISPATCH_SALE_ORDER ADSO
                  LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
                            ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
@@ -466,32 +467,31 @@
     <!-- 查询app端已抢的销售订单 -->
     <select id="getLockDispatchSaleOrderList" parameterType="DECIMAL" resultType="java.util.Map">
         SELECT ADSO.DISPATCH_ID                  AS "dispatchId",
-               ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
+               aaaa.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
                ASO.SALE_NUMBER                   AS "saleNumber",
                ADSO.DISPATCH_DEAL_TIME           AS "dispatchDealTime",
                RSH.SHIPPER_NAME                  AS "shipperName",
                RC.CONSIGNEE_COMPANY_NAME         AS "consigneeCompanyName",
                RRA.ADDRESS_DELIVERY_ADDRESS      AS "addressDeliveryAddress",
-               ASOM.SALE_ORDER_CONSIGNEE         AS "saleOrderConsignee",
-               ASOM.SALE_ORDER_CONSIGNEE_TEL     AS "saleOrderConsigneeTel",
+               aaaa.SALE_ORDER_CONSIGNEE         AS "saleOrderConsignee",
+               aaaa.SALE_ORDER_CONSIGNEE_TEL     AS "saleOrderConsigneeTel",
                RCA.CARRIER_NAME                  AS "carrierName"
+
         FROM AMS_DISPATCH_SALE_ORDER ADSO
-                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
-                           ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
-                 LEFT JOIN AMS_SALE_ORDER ASO
-                           ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
-                 LEFT JOIN RMS_SHIPPER RSH
-                           ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
-                 LEFT JOIN RMS_CONSIGNEE RC
-                           ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
-                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
-                           ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
-                 LEFT JOIN RMS_CARRIER RCA
-                           ON RCA.CARRIER_ID = ADSO.CARRIER_ID
+                 LEFT JOIN (SELECT *
+                            FROM AMS_SALE_ORDER_MATERIAL asom
+                                     LEFT JOIN OMSTRUCK_ORDER oo ON asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
+                            WHERE oo.ORDER_PLAN_ID IS NULL) aaaa
+                           ON ADSO.SALE_ORDER_MATERIAL_ID = aaaa.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = aaaa.SALE_ORDER_ID
+                 LEFT JOIN RMS_SHIPPER RSH ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+                 LEFT JOIN RMS_CONSIGNEE RC ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA ON aaaa.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+                 LEFT JOIN RMS_CARRIER RCA ON RCA.CARRIER_ID = ADSO.CARRIER_ID
         WHERE ADSO.DISPATCH_STATUS = 0
           AND ADSO.CARRIER_ID = #{carrierId}
     </select>
-<!-- pc端公开抢单界面显示   -->
+    <!-- 展示已经接收到了承运商的订单   -->
     <select id="getLockDispatchSaleOrderListForPc" parameterType="DECIMAL" resultType="java.util.Map">
         SELECT ADSO.DISPATCH_ID                  AS "dispatchId",
                ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
@@ -516,6 +516,105 @@
                            ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
                  LEFT JOIN RMS_CARRIER RCA
                            ON RCA.CARRIER_ID = ADSO.CARRIER_ID
-        WHERE ADSO.DISPATCH_STATUS = 0 and ADSO.DISPATCH_TYPE=1
+        WHERE ADSO.DISPATCH_STATUS = 0
+          AND ADSO.CARRIER_ID = #{carrierId}
     </select>
+
+    <select id="getNullOrNotNull" parameterType="DECIMAL" resultType="java.util.List">
+        SELECT OO.ORDER_ID AS "orderId"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ASOM.SALE_ORDER_MATERIAL_ID = ADSO.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN OMSTRUCK_ORDER OO
+                           ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE ADSO.DISPATCH_ID = #{dispatchId}
+    </select>
+
+    <!-- 查询PC端公开抢单 -->
+    <select id="getPCDispatchSaleOrderList" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT *
+        FROM (
+        SELECT ADSO.DISPATCH_ID AS "dispatchId",
+        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
+        ASO.SALE_NUMBER AS "saleNumber",
+        ADSO.DISPATCH_DEAL_TIME AS "dispatchDealTime",
+        RSH.SHIPPER_NAME AS "shipperName",
+        RC.CONSIGNEE_COMPANY_NAME AS "consigneeCompanyName",
+        RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
+        ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
+        ADSO.INSERT_TIME AS "insertTime"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER ASO
+        ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER RSH
+        ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE RC
+        ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+        WHERE ADSO.DISPATCH_TYPE = #{dispatchType}
+        AND ADSO.DISPATCH_STATUS = 1
+        )
+        <where>
+            <if test="saleOrderMaterialTruckNo != null">
+                and
+                <foreach collection="saleOrderMaterialTruckNo" item="item" open="(" separator="or" close=")">
+                    "saleOrderMaterialTruckNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleNumber != null">
+                and
+                <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+                    "saleNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="shipperName != null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+                    "shipperName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="addressDeliveryAddress != null">
+                and
+                <foreach collection="addressDeliveryAddress" item="item" open="(" separator="or" close=")">
+                    "addressDeliveryAddress" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleOrderConsignee != null">
+                and
+                <foreach collection="saleOrderConsignee" item="item" open="(" separator="or" close=")">
+                    "saleOrderConsignee" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleOrderConsigneeTel != null">
+                and
+                <foreach collection="saleOrderConsigneeTel" item="item" open="(" separator="or" close=")">
+                    "saleOrderConsigneeTel" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
+        </if>
+    </sql>
+
 </mapper>

+ 3 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsPurchaseOrderMapper.xml

@@ -589,4 +589,7 @@
     </where>
      <include refid="orderByInsertTime"></include>
   </select>
+  <select id="getAppPurchaseOrderList" resultType="java.util.Map">
+    select * from AMS_PURCHASE_ORDER APO
+  </select>
 </mapper>