zx hace 3 años
padre
commit
f54ca18b56

+ 23 - 4
src/main/java/com/steerinfo/dil/controller/AmstruckSporadicOrderController.java

@@ -11,6 +11,7 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -81,18 +82,36 @@ public class AmstruckSporadicOrderController extends BaseRESTfulController {
                                                Integer orderType,
                                                Integer issueStatus,
                                                String con,
-                                               Integer dispatchStatus) {
+                                               Integer dispatchStatus,
+                                               Integer sporadicStatus,
+                                               String carrierSsoId) {
         if (con != null && !con.equals("undefined")) {
             String index="get_sporadic_order_list";//设置要查询的索引名称
             return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
         }
-        mapValue.put("orderType",orderType);
-        mapValue.put("issueStatus",issueStatus);
+        int count=0;
+        if (orderType!=null){
+            mapValue.put("orderType",orderType);
+            count++;
+        }
+        if (issueStatus!=null){
+            mapValue.put("issueStatus",issueStatus);
+            count++;
+        }
         if (dispatchStatus!=null){
             mapValue.put("dispatchStatus",dispatchStatus);
+            count++;
+        }
+        if (sporadicStatus!=null){
+            mapValue.put("sporadicStatus",sporadicStatus);
+            count++;
+        }
+        if (carrierSsoId!=null){
+            mapValue.put("carrierSsoId",carrierSsoId);
+            count++;
         }
         List<Map<String, Object>> sporadicOrderList = null;
-        if (mapValue.size() == 3) {
+        if (mapValue.size() == count) {
             //将查询结果存入索引中
             sporadicOrderList =  amstruckSporadicOrderService.getSporadicOrdersList(mapValue);
             Map<String, Object> map1 = new HashMap<>();

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

@@ -65,4 +65,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     // 根据销售订单主键展示销售基本信息、物资信息
     List<Map<String, Object>> getSaleOrderAndMaterialById(Map<String,Object> mapValue);
+
+    // 销售订单物资
+    List<Map<String, Object>> getSaleMaterial(Map<String,Object> loserMap);
 }

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

@@ -3,6 +3,9 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmstruckSporadicMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import java.math.*;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 
@@ -11,4 +14,6 @@ public interface AmstruckSporadicMaterialMapper extends IBaseMapper<AmstruckSpor
     //设置主键id
     @Select("select seq_AMSTRUCK_SPORADIC_MATERIAL.nextval from dual")
     BigDecimal getSporadicMaterial();
+
+    List<Map<String, Object>> getSporadicOrdersList2(Map<String, Object> mapValue);
 }

+ 14 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -411,6 +411,20 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListBySaleCompanyes(map);
         String statusStr;
         for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
+            Map<String,Object> loserMap = new HashMap<>();
+            loserMap.put("saleOrderId",saleOrderId);
+            loserMap.put("con",map.get("con"));
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getSaleMaterial(loserMap);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
             BigDecimal saleOrderStatus = (BigDecimal) resultMap.get("saleOrderStatus");
 //            if (saleOrderStatus.intValue() == 2) {
 //                statusStr = "销售公司已审核";

+ 5 - 1
src/main/java/com/steerinfo/dil/service/impl/AmstruckSporadicOrderServiceImpl.java

@@ -310,7 +310,11 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
                 }
                 break;
             case 15:
-               mapList = amstruckSporadicOrderMapper.getSporadicOrdersList1(mapValue);
+                if(mapValue.get("sporadicStatus") != null){
+                    mapList = amstruckSporadicMaterialMapper.getSporadicOrdersList2(mapValue);
+                }else{
+                    mapList = amstruckSporadicOrderMapper.getSporadicOrdersList1(mapValue);
+                }
                 for (Map<String, Object> map1 : mapList) {
                     BigDecimal type = (BigDecimal) map1.get("type");
                     String orderType = "";

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

@@ -14,10 +14,6 @@ spring:
 
 
 
-  #   测试环境
-
-
-
 #eureka设置
 eureka:
   client:
@@ -56,6 +52,3 @@ mybatis:
     mapUnderscoreToCamelCase: true
     call-setters-on-nulls: true
 
-
-
-

+ 15 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1608,7 +1608,9 @@
     a_s_order.SALE_ORDER_TAX "saleOrderTax",
     a_s_order.SALE_REMARK "saleRemark",
     a_s_order.INSERT_TIME "insertTime",
-    a_s_order.SALE_ORDER_STATUS "saleOrderStatus"
+    a_s_order.SALE_ORDER_STATUS "saleOrderStatus",
+    a_s_order.SALE_ORDER_STATUS "statusStr",
+    a_s_order.INSERT_UPDATE_REMARK "materialName"
     from AMS_SALE_ORDER a_s_order
     left join RMS_SHIPPER r_shipper
     on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
@@ -1874,4 +1876,16 @@
       </if>
     </where>
   </select>
+
+  <select id="getSaleMaterial" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT
+        RM.MATERIAL_NAME AS "materialName"
+    FROM AMS_SALE_MATERIAL ASM
+      LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+    WHERE ASM.SALE_ORDER_ID = #{saleOrderId}
+<if test="con != null" >
+  AND RM.MATERIAL_NAME LIKE #{con}
+</if>
+  </select>
 </mapper>

+ 85 - 2
src/main/resources/com/steerinfo/dil/mapper/AmstruckSporadicMaterialMapper.xml

@@ -289,7 +289,8 @@
     <include refid="select" />
     <include refid="whereLike" />
   </select>
-  <insert id="batchInsert" parameterType="java.util.List">
+
+    <insert id="batchInsert" parameterType="java.util.List">
     insert into AMSTRUCK_SPORADIC_MATERIAL 
       (SPORADIC_ORDER_MATERIAL_ID, 
       MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_NUMBER, 
@@ -369,5 +370,87 @@
 
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+
+  <select id="getSporadicOrdersList2" resultType="java.util.Map">
+    select *
+    from(
+    SELECT
+    DISTINCT ASO.SPORADIC_ORDER_ID AS "sporadicOrderId",
+    ASO.SPORADIC_ORDER_NO AS "sporadicOrderNo",
+    RSU.SUPPLIER_NAME AS "supplierName",
+    RCO.CONSIGNEE_COMPANY_NAME AS "consigneeCompanyName",
+    RCA.CARRIER_NAME AS "carrierName",
+    ASO.INSERT_TIME AS "insertTime",
+    OO.ORDER_TYPE AS "type",
+    RM.MATERIAL_NAME AS "materialName",
+    ASO.SPORADIC_ORDER_TIMES "sporadicOrderTimes"
+    FROM AMSTRUCK_SPORADIC_ORDER ASO
+    LEFT JOIN RMS_CONSIGNEE RCO
+    ON ASO.RECEIVE_UNIT_ID = RCO.CONSIGNEE_ID
+    LEFT JOIN RMS_SUPPLIER RSU
+    ON ASO.SEND_UNIT_ID = RSU.SUPPLIER_ID
+    LEFT JOIN RMS_CARRIER RCA
+    ON RCA.CARRIER_ID = ASO.CARRIER_ID
+    LEFT JOIN OMSTRUCK_ORDER OO
+    ON OO.ORDER_PLAN_ID = ASO.SPORADIC_ORDER_ID
+    LEFT JOIN
+    OMSTRUCK_ORDER_MATERIAL OOM
+    ON OOM.ORDER_ID = OO.ORDER_ID
+    LEFT JOIN
+    RMS_MATERIAL RM
+    ON
+    OOM.MATERIAL_ID = RM.MATERIAL_ID
+    WHERE OO.ORDER_TYPE in (15,16)
+    AND ASO.ISSUE_STATUS =1
+    AND ASO.DELETED = 0
+    <if test="dispatchStatus != null">
+      AND ASO.DISPATCH_STATUS =  #{dispatchStatus}
+    </if>
+    )
+    <where>
+      <if test="sporadicOrderNo != null">
+        and
+        <foreach collection="sporadicOrderNo" item="item" open="(" separator="or" close=")">
+          "sporadicOrderNo" 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>
+      <if test="carrierName != null">
+        and
+        <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+          "carrierName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="insertTime != null">
+        and
+        <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
+          "insertTime" like to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+        </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>

+ 21 - 1
src/main/resources/com/steerinfo/dil/mapper/AmstruckSporadicOrderMapper.xml

@@ -468,7 +468,8 @@
         RCA.CARRIER_NAME AS "carrierName",
         ASO.INSERT_TIME AS "insertTime",
         OO.ORDER_TYPE AS "type",
-        OO.ORDER_ID "orderId"
+        OO.ORDER_ID "orderId",
+        RM.MATERIAL_NAME "materialName"
         FROM AMSTRUCK_SPORADIC_ORDER ASO
         LEFT JOIN RMS_CONSIGNEE RCO
         ON ASO.RECEIVE_UNIT_ID = RCO.CONSIGNEE_ID
@@ -478,6 +479,11 @@
         ON RCA.CARRIER_ID = ASO.CARRIER_ID
         LEFT JOIN OMSTRUCK_ORDER OO
         ON OO.ORDER_PLAN_ID = ASO.SPORADIC_ORDER_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
         WHERE OO.ORDER_TYPE in (12,13)
         AND ASO.ISSUE_STATUS = #{issueStatus}
         AND ASO.DELETED = 0
@@ -531,6 +537,7 @@
         ASO.INSERT_TIME AS "insertTime",
         OO.ORDER_TYPE AS "type",
         OO.ORDER_ID "orderId",
+        RM.MATERIAL_NAME AS "materialName",
         ASO.SPORADIC_ORDER_TIMES "sporadicOrderTimes"
         FROM AMSTRUCK_SPORADIC_ORDER ASO
         LEFT JOIN RMS_CONSIGNEE RCO
@@ -541,12 +548,25 @@
         ON RCA.CARRIER_ID = ASO.CARRIER_ID
         LEFT JOIN OMSTRUCK_ORDER OO
         ON OO.ORDER_PLAN_ID = ASO.SPORADIC_ORDER_ID
+        LEFT JOIN
+        OMSTRUCK_ORDER_MATERIAL OOM
+        ON OOM.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN
+        RMS_MATERIAL RM
+        ON
+        OOM.MATERIAL_ID = RM.MATERIAL_ID
             WHERE OO.ORDER_TYPE in (15,16)
             AND ASO.ISSUE_STATUS = #{issueStatus}
             AND ASO.DELETED = 0
             <if test="dispatchStatus != null">
                 AND ASO.DISPATCH_STATUS =  #{dispatchStatus}
             </if>
+            <if test="carrierSsoId != null">
+                and aso.carrier_id =
+                (select rce.carrier_id
+                from rms_carrier rce
+                where rce.carrier_sso_id = #{carrierSsoId})
+            </if>
             )
         <where>
             <if test="sporadicOrderNo != null">