ソースを参照

'销售直接派车'

HUJIANGUO 3 年 前
コミット
53aa4e7e45

+ 3 - 27
src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java

@@ -195,35 +195,11 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
                                                    Integer pageNum,
                                                    Integer pageSize,
                                                    String con){
-
-
-
-
-        if(con != null){
-            if(!"undefined".equals(con)){
-                String index="get_address_delivery";//设置要查询的索引名称
-                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
-            }
+        if (con != null && !con.equals("undefined")) {
+            mapValue.put("con","%" + con + "%");
         }
         //不分页筛选数据
-        List<Map<String, Object>> allSaleOrderList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if(mapValue.size() == 0){
-            //将查询结果存入索引中
-            allSaleOrderList =  amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
-            Map<String, Object> map1 = new HashMap<>();
-            //添加索引
-            map1.put("index","get_address_delivery");
-            //添加id
-            map1.put("indexId","addressDeliveryId");
-            allSaleOrderList.add(map1);
-            //新建索引
-            esFeign.insertIndex(allSaleOrderList);
-            //删除
-            allSaleOrderList.remove(allSaleOrderList.size()-1);
-        }
-        if(allSaleOrderList== null)
-            allSaleOrderList =  amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
+        List<Map<String, Object>>  allSaleOrderList =  amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
         List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);

+ 11 - 56
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -349,34 +349,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     public RESTfulResult getSaleOrderListBySaleCompany(@RequestBody(required = false) Map<String,Object> mapValue,
                                           Integer pageNum,
                                           Integer pageSize,
-                                          Integer apiId,
-                                          String con) {
-
-        if(con != null){
-            if(!"undefined".equals(con)){
-                String index="get_sale_companylist";//设置要查询的索引名称
-                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
-            }
-        }
-        //不分页筛选数据
-        List<Map<String, Object>> saleCompanyList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if(mapValue.size() == 0){
-            //将查询结果存入索引中
-            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
-            Map<String, Object> map1 = new HashMap<>();
-            //添加索引
-            map1.put("index","get_sale_orderlist");
-            //添加id
-            map1.put("indexId","saleOrderId");
-            saleCompanyList.add(map1);
-            //新建索引
-            esFeign.insertIndex(saleCompanyList);
-            //删除
-            saleCompanyList.remove(saleCompanyList.size()-1);
-        }
-        if(saleCompanyList== null)
-            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
+                                          Integer apiId) {
+        List<Map<String, Object>> saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
         List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
@@ -554,7 +528,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         return success(pageList);
     }
 
-    @ApiModelProperty(value = "展示销售公司已审核销售订单的车序号列表")
+    @ApiModelProperty(value = "展示销售公司已审核销售订单列表")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
@@ -566,38 +540,16 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                          Integer pageSize,
                                                          Integer apiId,
                                                          String con) {
-
-        if(con != null){
-            if(!"undefined".equals(con)){
-                String index="get_sales_companylist";//设置要查询的索引名称
-                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
-            }
+        if (con != null && !con.equals("undefined")) {
+            mapValue.put("con","%" + con + "%");
         }
         //不分页筛选数据
-        List<Map<String, Object>> saleCompanyList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if(mapValue.size() == 0){
-            //将查询结果存入索引中
-            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
-            Map<String, Object> map1 = new HashMap<>();
-            //添加索引
-            map1.put("index","get_sales_orderlist");
-            //添加id
-            map1.put("indexId","saleOrderIdes");
-            saleCompanyList.add(map1);
-            //新建索引
-            esFeign.insertIndex(saleCompanyList);
-            //删除
-            saleCompanyList.remove(saleCompanyList.size()-1);
-        }
-        if(saleCompanyList== null)
-            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
+        List<Map<String, Object>> saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
         List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, saleCompanyList,saleOrderList);
         return success(pageList);
-
     }
 
     @ApiOperation(value="查询财务已审批销售订单信息")
@@ -608,8 +560,11 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     public RESTfulResult getAmsSaleOrderApprovedes(@RequestBody(required=false) Map<String,Object> mapValue,
                                                    Integer apiId,
                                                    Integer pageNum,
-                                                   Integer pageSize){
-
+                                                   Integer pageSize,
+                                                   @RequestParam String index){
+        if (index != null && !index.equals("undefined")) {
+            mapValue.put("index", "%" + index + "%");
+        }
         List<Map<String, Object>> amsSaleOrder = amsSaleOrderService.getAmsSaleOrderApprovedes(mapValue);
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApprovedes(mapValue);

+ 12 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java

@@ -261,4 +261,16 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
         return success(saleMaterialList);
     }
 
+    @ApiOperation(value="销售直接选择车牌号派发运输订单")
+    @PostMapping("dispatchTruckOrderBySale")
+    public RESTfulResult dispatchTruckOrderBySale(@RequestBody Map<String,Object> mapValue){
+        int result = amsSaleOrderMaterialService.dispatchTruckOrderBySale(mapValue);
+        if (result == -1) {
+            return failed("该销售订单的净重已达到97%");
+        }
+        else {
+            return success(result);
+        }
+    }
+
 }

+ 15 - 0
src/main/java/com/steerinfo/dil/feign/IMFeign.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+
+@FeignClient(value = "DIL-IM-DEV", url = "${openfeign.ImFeign.url}")
+public interface IMFeign {
+    @PostMapping("/websocket/sendToUser")
+    @ResponseBody
+    String sendToUser(@RequestBody HashMap map);
+}

+ 45 - 0
src/main/java/com/steerinfo/dil/feign/TmsTruckFeign.java

@@ -0,0 +1,45 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/27 13:58
+ */
+
+@FeignClient(value = "dil-tms-truck-dev", url = "${openfeign.TmsTruckFeign.url}")
+public interface TmsTruckFeign {
+
+    //添加总实绩 map:订单Id
+    @PostMapping("api/v1/truckTms/tmstrucktotalresults/addTotalResult")
+    Integer addTotalResult(@RequestBody(required = false) Map<String, Object> map);
+
+    //生成进厂作业实绩: 总实绩Id
+    @PostMapping("api/v1/truckTms/tmstruckenfactoryresults/addEnFactoryResult")
+    RESTfulResult addEnFactoryResult(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成出厂实绩:总实绩ID
+    @PostMapping("api/v1/truckTms/tmstruckleavefactoryresults/addLeaveFactory")
+    RESTfulResult addLeaveFactory(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成计量实绩:总实绩ID、物资Id
+    @PostMapping("api/v1/truckTms/tmstruckweightresults/addWeightResult")
+    RESTfulResult addWeightResult(@RequestBody Map<String, Object> mapValue);
+
+    //生成卸货实绩:总实绩ID
+    @PostMapping("api/v1/truckTms/tmstruckunloadresult/addUnloadResult")
+    RESTfulResult addUnloadResult(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成退货实绩:总实绩ID
+    @PostMapping("api/v1/truckTms/tmstruckreturnresults/addReturnGoodsResult")
+    RESTfulResult addReturnGoodsResult(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //生成装车实绩: 运输订单Id、物资Id
+    @PostMapping("api/v1/truckTms/tmstruckloadresults/addLoadResult")
+    RESTfulResult addLoadResult(@RequestBody(required = false) Map<String, Object> map);
+}

+ 8 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java

@@ -40,4 +40,12 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
 
     // 销售订单下的
     List<Map<String, Object>> getSaleMaterialList(BigDecimal saleOrderId);
+
+    // 通过车牌号查询运力id
+    BigDecimal getCapacityId(String capacityNumber);
+
+    //计算同一销售订单的物资重量
+    BigDecimal getMaterialWeightByOrderId(BigDecimal saleOrderId);
+    //计算同一销售下的物资总净量
+    BigDecimal getMaterialNetWeightBySaleId(BigDecimal saleOrderId);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -18,4 +18,7 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     @Select("select seq_omstruck_order.nextval from dual")
     BigDecimal selectMaxId();
 
+    //通过运输订单ID查询数据 用于websocket推送数据
+    Map<String, Object> pushMesToWebsocket(Map<String, Object> map);
+
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java

@@ -54,4 +54,8 @@ public interface IAmsSaleOrderMaterialService{
 
     // 销售订单下的物资
     List<Map<String, Object>> getSaleMaterialList(BigDecimal saleOrderId);
+
+    // 销售直接派发销售订单
+    int dispatchTruckOrderBySale(Map<String, Object> mapValue);
+
 }

+ 206 - 8
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -1,10 +1,10 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.controller.AmsSaleTrucknoMaterialController;
-import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
-import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
-import com.steerinfo.dil.model.AmsSaleOrderMaterial;
-import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
+import com.steerinfo.dil.feign.IMFeign;
+import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.mapper.*;
+import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IAmsSaleOrderMaterialService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,10 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
 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 java.util.*;
 
 /**
  * AmsSaleOrderMaterial服务实现:
@@ -39,6 +36,16 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     private AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
     @Autowired
     AmsSaleTrucknoMaterialMapper amsSaleTrucknoMaterialMapper;
+    @Autowired
+    AmsDispatchSaleOrderMapper amsDispatchSaleOrderMapper;
+    @Autowired
+    OmstruckOrderMapper omstruckOrderMapper;
+    @Autowired
+    OmstruckOrderMaterialMapper omstruckOrderMaterialMapper;
+    @Autowired
+    IMFeign imFeign;
+    @Autowired
+    TmsTruckFeign tmsTruckFeign;
 
     @Override
     public int addAmsSaleOrderMaterial(AmsSaleOrderMaterial amsSaleOrderMaterial) {
@@ -285,4 +292,195 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         List<Map<String, Object>> saleMaterialList = amsSaleOrderMaterialMapper.getSaleMaterialList(saleOrderId);
         return saleMaterialList;
     }
+
+    /**
+     * 销售直接派发销售订单
+     * @param mapValue
+     * @return
+     */
+    @Transactional
+    @Override
+    public int dispatchTruckOrderBySale(Map<String, Object> mapValue) {
+        int result = 0;
+        // 得到列内容
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        // 销售订单主键
+        BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
+        // 遍历每一个列
+        for (Map<String, Object> map : mapList) {
+            // 销售订单-物资中间表id
+            BigDecimal saleMaterialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
+            // 物资id
+            BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+            // 收货地址id
+            BigDecimal saleShippingAddressId = DataChange.dataToBigDecimal(map.get("saleShippingAddressId"));
+            // 承运商id
+            BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
+            // 运输线路id
+            BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 物资重量
+            BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("orderPlanWeight"));
+            // 车牌号
+            String capacityNumber = (String) map.get("capacityNumber");
+            // 得到运力id
+            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            // 收货方姓名
+            String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
+            // 收货方电话
+            String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
+            // 收货日期
+            String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+            Date dateOfReceipt = null;
+            if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
+                dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
+            }
+            // 车序号计数
+            int count = 1;
+            /*
+             车序号表
+             */
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            // 主键
+            BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
+            amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+            // 销售订单主键
+            amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+            // 车序号
+            amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(count));
+            // 收货地址
+            amsSaleOrderMaterial.setSaleShippingAddressId(saleShippingAddressId);
+            // 收货日期
+            amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
+            // 收货方姓名
+            if (!consigneeName.equals("null") && !consigneeName.equals("undefined")) {
+                amsSaleOrderMaterial.setSaleOrderConsignee(consigneeName);
+            }
+            // 收货方联系方式
+            if (!consigneeTel.equals("null") && !consigneeTel.equals("undefined")) {
+                amsSaleOrderMaterial.setSaleOrderConsigneeTel(consigneeTel);
+            }
+            // 下发状态
+            amsSaleOrderMaterial.setIssueStatus(new BigDecimal(2));
+            /*
+             车序号与物资子表
+             */
+            AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+            // 主键
+            BigDecimal truckNoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(truckNoMaterialId);
+            // 销售订单-物资中间表id
+            amsSaleTrucknoMaterial.setMaterialId(saleMaterialId);
+            // 车序号主键
+            amsSaleTrucknoMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+            // 物资重量
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
+            /*
+             定向派单表
+             */
+            AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
+            // 主键
+            BigDecimal dispatchId = amsDispatchSaleOrderMapper.selectOtherId();
+            amsDispatchSaleOrder.setDispatchId(dispatchId);
+            // 车序号表id
+            amsDispatchSaleOrder.setSaleOrderMaterialId(saleOrderMaterialId);
+            // 承运商id
+            amsDispatchSaleOrder.setCarrierId(carrierId);
+            // 派单时间和成交时间
+            amsDispatchSaleOrder.setDispatchTime(new Date());
+            amsDispatchSaleOrder.setDispatchDealTime(new Date());
+            // 成交类型
+            amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
+            // 车序号状态
+            amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
+            /*
+             运输订单
+             */
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            // 运输订单主键
+            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+            omstruckOrder.setOrderId(orderId);
+            // 车序号主键
+            omstruckOrder.setOrderPlanId(saleOrderMaterialId);
+            // 运输订单号
+            omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
+            // 运力id
+            omstruckOrder.setCapacityId(capacityId);
+            // 下发时间
+            omstruckOrder.setOrderIssueTime(new Date());
+            // 运单状态
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            // 订单类型
+            omstruckOrder.setOrderType(new BigDecimal(1));
+            // 运输线路id
+            omstruckOrder.setLineId(lineId);
+            /*
+             运输订单子表
+             */
+            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+            // 主键
+            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+            // 运输订单id
+            omstruckOrderMaterial.setOrderId(orderId);
+            // 物资id
+            omstruckOrderMaterial.setMaterialId(materialId);
+            // 物资重量
+            omstruckOrderMaterial.setOrderMaterialWeight(materialNumber);
+            // 新增车序号表
+            result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            // 新增车序号-物资中间表
+            result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
+            // 新增定向派单表
+            result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
+            // 新增运输订单
+            result += omstruckOrderMapper.insertSelective(omstruckOrder);
+            // 新增运输订单子表
+            result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+            // 调用websocket
+            Map<String,Object> orderIdMap = new HashMap<>();
+            orderIdMap.put("orderId",orderId);
+            pushMesToWebsocket(orderIdMap);
+            // 生成运输执行总实绩
+            result += tmsTruckFeign.addTotalResult(orderIdMap);
+            // 车序号累加
+            count++;
+        }
+        // 得到销售订单中的总重量和销售订单下的总净重
+        BigDecimal saleMaterialWeight = amsSaleOrderMaterialMapper.getMaterialWeightByOrderId(saleOrderId);
+        BigDecimal saleMaterialNetWeight = amsSaleOrderMaterialMapper.getMaterialNetWeightBySaleId(saleOrderId);
+        if (saleMaterialNetWeight == null) {
+            saleMaterialNetWeight = new BigDecimal(0);
+        }
+        // 计算净重所占销售订单中的比例
+        Double percent = saleMaterialNetWeight.doubleValue()/saleMaterialWeight.doubleValue();
+        if (percent >= 0.97) {
+            result = -1;
+        }
+        return result;
+    }
+
+    /**
+     * 发送消息到 websocket 推送消息
+     * orderId  订单Id
+     * @return
+     */
+    public String pushMesToWebsocket(Map<String, Object> map) {
+        Map<String, Object> mesMap = omstruckOrderMapper.pushMesToWebsocket(map);
+        //添加消息实体
+        HashMap<Object, Object> mapp = new HashMap<>();
+        mapp.put("messageType", 3);
+        mapp.put("sendPerson", "system");
+        mapp.put("receivePerson", mesMap.get("capacityNumber"));
+        mapp.put("messageContent",(String) mesMap.get("orderNumber") + new Date());
+        mapp.put("createTime", new Date());
+        ArrayList<Object> list = new ArrayList<>();
+        list.add(mapp);
+        //调用websocket接口推送
+        HashMap<Object, Object> sendMap = new HashMap<>();
+        //将消息实体放入list中存到map中
+        sendMap.put("messages", list);
+        String s = imFeign.sendToUser(sendMap);
+        System.out.println(s);
+        return s;
+    }
 }

+ 9 - 0
src/main/resources/bootstrap.yml

@@ -18,12 +18,21 @@ openfeign:
     url: ${ESFEIGN_URL:172.16.33.166:8089}
   ColumnDataFeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
+  TmsTruckFeign:
+    url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8088}
+  ImFeign:
+    url: ${IMFEIGN_URL:172.16.33.166:8055}
+
 
 #   测试环境
 #  ESFeign:
 #    url: ${ESFEIGN_URL:172.16.33.162:8011}
 #  ColumnDataFeign:
 #    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8001}
+#  TmsTruckFeign:
+#    url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
+#  ImFeign:
+#    url: ${IMFEIGN_URL:172.16.33.162:8018}
 
 #eureka设置
 eureka:

+ 7 - 7
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -634,13 +634,13 @@
   </select>
 
   <select id="getAddressDeliveryAddress" resultType="java.util.LinkedHashMap">
-    SELECT
-      RRA.ADDRESS_ID "addressId",
-      CONCAT( CONCAT( CONCAT( RRA.ADDRESS_PROVINCE, RRA.ADDRESS_DISTRICT ), RRA.ADDRESS_TOWN ), RRA.ADDRESS_DELIVERY_ADDRESS )  "address"
-    FROM
-      RMS_RECEIVE_ADDRESS RRA
-
-    where ROWNUM &lt; 100
+    SELECT * FROM
+      (SELECT RRA.ADDRESS_ID "addressId",
+              CONCAT(CONCAT(CONCAT(RRA.ADDRESS_PROVINCE, RRA.ADDRESS_DISTRICT), RRA.ADDRESS_TOWN), RRA.ADDRESS_DELIVERY_ADDRESS) "address"
+       FROM RMS_RECEIVE_ADDRESS RRA) RRRA
+    <if test="con != null" >
+      WHERE RRRA."address" LIKE #{con}
+    </if>
   </select>
 
   <select id="selectByPriceId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">

+ 87 - 81
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1613,87 +1613,93 @@
     on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
     left join RMS_CONSIGNEE r_consignee
     on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
-    where a_s_order.SALE_ORDER_STATUS in (2,4))
-    <where>
-      <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="consigneeWarrantyAmount != null">
-        and
-        <foreach collection="consigneeWarrantyAmount" item="item" open="(" separator="or" close=")">
-          "consigneeWarrantyAmount" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="consigneeWarrantyWeight != null">
-        and
-        <foreach collection="consigneeWarrantyWeight" item="item" open="(" separator="or" close=")">
-          "consigneeWarrantyWeight" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleOrderIsselfMention != null">
-        and
-        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">
-          "saleOrderIsselfMention" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleAccountBalance != null">
-        and
-        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">
-          "saleAccountBalance" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleCurrentOrderAmount != null">
-        and
-        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">
-          "saleCurrentOrderAmount" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleHistoricalOrderAmout != null">
-        and
-        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">
-          "saleHistoricalOrderAmout" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleOrderReceiveCustomer != null">
-        and
-        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">
-          "saleOrderReceiveCustomer" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleUnitPrice != null">
-        and
-        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">
-          "saleUnitPrice" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleOrderTax != null">
-        and
-        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">
-          "saleOrderTax" like '%${item}%'
-        </foreach>
-      </if>
-      <if test="saleRemark != null">
-        and
-        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">
-          "saleRemark" like '%${item}%'
-        </foreach>
-      </if>
-    </where>
+    where a_s_order.SALE_ORDER_STATUS in (2,4)) SSSR
+    <if test="con != null" >
+      where SSSR."consigneeCompanyName" LIKE #{con}
+    </if>
+    <if test="con != null" >
+      or SSSR."saleNumber" LIKE #{con}
+    </if>
+<!--    <where>-->
+<!--      <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="consigneeWarrantyAmount != null">-->
+<!--        and-->
+<!--        <foreach collection="consigneeWarrantyAmount" item="item" open="(" separator="or" close=")">-->
+<!--          "consigneeWarrantyAmount" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="consigneeWarrantyWeight != null">-->
+<!--        and-->
+<!--        <foreach collection="consigneeWarrantyWeight" item="item" open="(" separator="or" close=")">-->
+<!--          "consigneeWarrantyWeight" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleOrderIsselfMention != null">-->
+<!--        and-->
+<!--        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">-->
+<!--          "saleOrderIsselfMention" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleAccountBalance != null">-->
+<!--        and-->
+<!--        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">-->
+<!--          "saleAccountBalance" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleCurrentOrderAmount != null">-->
+<!--        and-->
+<!--        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">-->
+<!--          "saleCurrentOrderAmount" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleHistoricalOrderAmout != null">-->
+<!--        and-->
+<!--        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">-->
+<!--          "saleHistoricalOrderAmout" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleOrderReceiveCustomer != null">-->
+<!--        and-->
+<!--        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">-->
+<!--          "saleOrderReceiveCustomer" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleUnitPrice != null">-->
+<!--        and-->
+<!--        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">-->
+<!--          "saleUnitPrice" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleOrderTax != null">-->
+<!--        and-->
+<!--        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">-->
+<!--          "saleOrderTax" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--      <if test="saleRemark != null">-->
+<!--        and-->
+<!--        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">-->
+<!--          "saleRemark" like '%${item}%'-->
+<!--        </foreach>-->
+<!--      </if>-->
+<!--    </where>-->
     <include refid="orderBy"></include>
   </select>
 

+ 29 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -676,4 +676,33 @@ WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
         ON ASM.MATERIAL_ID = RM.MATERIAL_ID
         WHERE ASM.SALE_ORDER_ID = #{saleOrderId}
   </select>
+
+<!--  通过车牌号查询运力id-->
+  <select id="getCapacityId" parameterType="java.lang.String" resultType="DECIMAL" >
+    SELECT RC.CAPACITY_ID AS "capacityId"
+    FROM RMS_CAPACITY RC
+    WHERE RC.CAPACITY_NUMBER = #{capacityNumber}
+  </select>
+
+  <!-- 查询销售订单中的总重量 -->
+  <select id="getMaterialWeightByOrderId" parameterType="DECIMAL" resultType="DECIMAL">
+    select sum(ASM.MATERIAL_WEIGHT)
+    from AMS_SALE_MATERIAL ASM
+    where ASM.SALE_ORDER_ID=#{saleOrderId}
+  </select>
+
+  <!-- 查询销售订单下的总净重 -->
+  <select id="getMaterialNetWeightBySaleId" parameterType="DECIMAL" resultType="DECIMAL">
+    select sum(TWR.RESULT_NET_WEIGHT)
+    from TMSTRUCK_WEIGHT_RESULT TWR
+    left join TMSTRUCK_TOTAL_RESULT TTR
+    on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+    left join OMSTRUCK_ORDER OO
+    on OO.ORDER_ID = TTR.ORDER_ID
+    left join AMS_SALE_ORDER_MATERIAL ASOM
+    on ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+    LEFT JOIN AMS_SALE_ORDER ASO
+    ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+  </select>
 </mapper>

+ 11 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -626,4 +626,15 @@
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
+    <!--通过运输订单ID查询数据 用于websocket推送数据  如果订单实绩中有卸货点  没有卸货点通过传入的卸货点进行查询-->
+    <select id="pushMesToWebsocket" parameterType="java.util.Map" resultType="java.util.Map">
+        select OO.ORDER_NUMBER           "orderNumber",
+               RC.CAPACITY_NUMBER        "capacityNumber"
+        from OMSTRUCK_ORDER OO
+                 left join RMS_CAPACITY RC
+                           on RC.CAPACITY_ID = OO.CAPACITY_ID
+        where OO.ORDER_ID = #{orderId}
+          and rownum = 1
+    </select>
+
 </mapper>