ソースを参照

'采购燃料'

HUJIANGUO 3 年 前
コミット
1d49f58ce6

+ 1 - 1
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -385,7 +385,7 @@ public class OmstruckOrderController extends BaseRESTfulController {
             mapValue.put("orderStatus", orderStatus);
             count++;
         }
-        if (planId != null || !"undefined".equals(planId)) {
+        if (planId != null && !"undefined".equals(planId)) {
             mapValue.put("planId", planId);
             count++;
         }

+ 77 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderSeparateController.java

@@ -1,13 +1,21 @@
 package com.steerinfo.dil.controller;
 
+import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
 import com.steerinfo.dil.service.impl.OmstruckOrderSeparateServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -27,6 +35,12 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
     @Autowired
     private TmsTruckFeign tmsTruckFeign;
 
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    ESFeign esFeign;
+
     @PostMapping("/getOrderMes")
     public RESTfulResult getMes(@RequestBody(required = false) Map<String, Object> map){
         Integer integer = tmsTruckFeign.addTotalResult(map);
@@ -72,4 +86,67 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
         String s = omstruckOrderSeparateService.pushMesToWebsocket(map);
         return success(s);
     }
+
+    @ApiOperation(value = "查看承运商所属的订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(86)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getInputOrderList")
+    public RESTfulResult getInputOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                          Integer apiId,
+                                          Integer pageNum,
+                                          Integer pageSize,
+                                          Integer carrierId,
+                                          Integer orderType,
+                                          Integer orderStatus,
+                                          String  con) {
+        int count = 0;
+        if (orderStatus != null) {
+            mapValue.put("orderStatus", orderStatus);
+            count++;
+        }
+        if (orderType != null) {
+            mapValue.put("orderType", orderType);
+            count++;
+        }
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_input_order_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allTruckOrder = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            allTruckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_input_order_list");
+            //添加id
+            map.put("indexId", "truckOrderId");
+            allTruckOrder.add(map);
+            //新建索引
+            esFeign.insertIndex(allTruckOrder);
+            //删除
+            allTruckOrder.remove(allTruckOrder.size() - 1);
+        }
+        if (allTruckOrder == null)
+            allTruckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> truckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allTruckOrder, truckOrder);
+        return success(pageList);
+    }
 }

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

@@ -64,4 +64,7 @@ public interface OmstruckOrderSeparateMapper {
 
     //通过总实绩ID和路段顺序号查询退货实绩数据
     Map<String, Object> getReturnMes(Map<String, Object> map);
+
+    // 查看承运商所属的订单
+    List<Map<String, Object>> getInputOrderList(Map<String, Object> mapValue);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderSeparateService.java

@@ -1,5 +1,8 @@
 package com.steerinfo.dil.service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 运输订单第二个 service
  * @ author    :TXF
@@ -7,4 +10,6 @@ package com.steerinfo.dil.service;
  */
 
 public interface IOmstruckOrderSeparateService {
+
+    List<Map<String, Object>> getInputOrderList(Map<String, Object> mapValue);
 }

+ 10 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -277,4 +277,14 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         List<Map<String, Object>> orderResult = getOrderResult(orderId);
         return orderResult;
     }
+
+    /**
+     * 查看承运商所属的订单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getInputOrderList(Map<String, Object> mapValue) {
+        return omstruckOrderSeparateMapper.getInputOrderList(mapValue);
+    }
 }

+ 12 - 4
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -322,10 +322,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
                 omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
                 omstruckOrderMaterial.setOrderId(orderId);
-                if (map.get("orderMaterialWeight") != null)
-                    omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
-                if(map.get("orderMaterialNumber") != null)
-                    omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map.get("orderMaterialNumber")));
+                Object orderMaterialWeight =  map.get("orderMaterialWeight");
+                if (orderMaterialWeight != null) {
+                    if (orderMaterialWeight.toString().length() != 0) {
+                        omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
+                    }
+                }
+                Object orderMaterialNumber =  map.get("orderMaterialNumber");
+                if(orderMaterialNumber != null ) {
+                    if (orderMaterialNumber.toString().length() != 0) {
+                        omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map.get("orderMaterialNumber")));
+                    }
+                }
                 omstruckOrderMaterial.setInsertUsername("admin");
                 omstruckOrderMaterial.setInsertTime(new Date());
                 omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);

+ 1 - 1
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -152,7 +152,7 @@ public class DataChange {
                         ? "0000" + id : id < 100000
                         ? "000" + id : id < 1000000
                         ? "00" + id : id < 10000000
-                        ? "0" + id : id
+                        ? "0" + id : id.toString()
         );
         return sb.toString();
     }

+ 3 - 3
src/main/resources/bootstrap.yml

@@ -16,7 +16,7 @@ spring:
 eureka:
   client:
     service-url:
-      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8061}/eureka/
+      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.162}:${EUREKA_PORT:8081}/eureka/
   instance:
     prefer-ip-address: true
     status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
@@ -43,13 +43,13 @@ redis:
 #feign设置
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:localhost:8083}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8083}
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:localhost:8088}
   AmsFeign:
     url: ${AMSFEIGN_URL:localhost:8079}
   ImFeign:
-    url: ${IMFEIGN_URL:localhost:8099}
+    url: ${IMFEIGN_URL:172.16.33.162:8055}
 
 
 mybatis:

+ 156 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -221,5 +221,161 @@
         where TWR.RESULT_TOTAL_ID = #{resultTotalId} and TWR.TARE_SEGMENT_SQE = #{segmentSqe}
     </select>
 
+    <!-- 查询承运商所属的采购进口矿运输订单信息 -->
+    <select id="getInputOrderList" parameterType="java.util.Map" resultType="java.util.Map" >
+        select
+        *
+        from
+        (
+        select
+        OO.ORDER_ID "orderId",
+        APO.PURCHASE_ORDER_ID "purchaseOrderId",
+        AP.PLAN_ID "planId",
+        APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+        RM.MATERIAL_NAME "materialName",
+        AP.PLAN_NO "planNo",
+        RC.CAPACITY_NUMBER "capacityNumber",
+        RC.CAPACITY_ID "capacityId",
+        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+        to_char(AP.PLAN_TRUCK_TIME, 'yyyy-mm-dd')"planTruckTime",
+        to_char(AP.PLAN_INCOMING_TIME, 'yyyy-mm-dd') "planIncomingTime",
+        OO.INSERT_USERNAME "insertUsername",
+        OO.INSERT_TIME "insertTime",
+        OO.ORDER_NUMBER "orderNumber",
+        RW.WAREHOUSE_NAME "warehouseName", --卸货点
+        to_char(OO.ORDER_ENTRY_TIME, 'yyyy-mm-dd') "orderEntryTime", --进厂时间
+        RS.SUPPLIER_NAME "supplierName", --发货单位
+        RCSE.CONSIGNEE_COMPANY_NAME "consigneeCompanyName", --收货单位,
+        OO.ORDER_ISSUE_TIME "orderIssueTime"
+        from OMSTRUCK_ORDER OO
+        left join AMS_PURCHASE_ORDER APO
+        on OO.ORDER_PLAN_ID = APO.PURCHASE_ORDER_ID
+        left join AMSTRUCK_PURPLAN AP
+        on AP.BATCH_ID = APO.BATCH_ID and AP.PLAN_STATUS != 3
+        left join RMS_CAPACITY RC
+        on RC.CAPACITY_ID = OO.CAPACITY_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM
+        on OOM.ORDER_ID = OO.ORDER_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = OOM.MATERIAL_ID
+        left join RMS_WAREHOUSE RW
+        on OO.UNLOAD_POINT_ID = RW.WAREHOUSE_ID
+        left join RMS_SUPPLIER RS
+        on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+        left join RMS_CONSIGNEE RCSE
+        on APO.RECEIVE_UNIT_ID = RCSE.CONSIGNEE_ID
+        <where>
+            <choose>
+                <when test="orderStatus != 8">
+                    and OO.ORDER_STATUS = #{orderStatus}
+                </when>
+                <otherwise>
+                    and OO.ORDER_STATUS in (0, 1, 2, 4, 5, 6)
+                </otherwise>
+            </choose>
+            <if test="carrierId != null ">
+                and AP.CARRIER_ID = #{carrierId}
+            </if>
+            <if test="orderType != null">
+                and OO.ORDER_TYPE = #{orderType}
+            </if>
+            <if test="orderType != null">
+                and OO.ORDER_TYPE in (6, 7)
+            </if>
+        </where>
+        )
+        <where>
+            <if test="materialName != null">
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderMaterialWeight != null">
+                and
+                <foreach collection="orderMaterialWeight" item="item" open="(" separator="or" close=")">
+                    "orderMaterialWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planNo != null">
+                and
+                <foreach collection="planNo" item="item" open="(" separator="or" close=")">
+                    "planNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planTruckTime != null">
+                and
+                <foreach collection="planTruckTime" item="item" open="(" separator="or" close=")">
+                    "planTruckTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planIncomingTime != null">
+                and
+                <foreach collection="planIncomingTime" item="item" open="(" separator="or" close=")">
+                    "planIncomingTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="insertUsername != null">
+                and
+                <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
+                    "insertUsername" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="insertTime != null">
+                and
+                <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
+                    "insertTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="warehouseName != null">
+                and
+                <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+                    "warehouseName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderNumber != null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="orderEntryTime != null">
+                and
+                <foreach collection="orderEntryTime" item="item" open="(" separator="or" close=")">
+                    "orderEntryTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="supplierName != null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
+                    "supplierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeCompanyName != null">
+                and
+                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+                    "consigneeCompanyName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
+        </if>
+    </select>
 
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+    </sql>
 </mapper>