HUJIANGUO 3 éve
szülő
commit
3c0e23b7c6

+ 3 - 3
pom.xml

@@ -104,12 +104,12 @@
                 <version>3.0</version>
                 <configuration>
                     <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>
-                    <user>DIL</user>
-                    <password>Dil123789</password>
+                    <user>DAGANG</user>
+                    <password>root123</password>
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-<!--                        <param>Omstruck_Order</param>-->
+                        <table>AMSTRUCK_SPORADIC_ORDER</table>
 <!--                        <param>TMSTRAIN_WEIGHT_RESULT</param>-->
                     </tables>
                 </configuration>

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

@@ -315,7 +315,6 @@ public class OmstruckOrderController extends BaseRESTfulController {
     })
     @PostMapping("/pushMessageToDriver")
     public RESTfulResult pushMessageToDriver(@RequestBody Map<String,Object> mapValue){
-
         omstruckOrderService.pushMessageToDriver(mapValue);
         return null;
     }
@@ -512,6 +511,21 @@ public class OmstruckOrderController extends BaseRESTfulController {
         return success(i);
     }
 
+
+
+    @ApiOperation(value = "撤销订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),
+            @ApiImplicitParam(name = "orderId", value = "运输订单类型:1表示销售订单,3表示运输订单", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "saleOrderId", value = "销售订单", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/undoOrder")
+    public RESTfulResult undoOrder(@RequestBody(required = false) Map<String, Object> mapValue) {
+        int i = omstruckOrderService.undoOrder(mapValue);
+        return success(i);
+    }
+
+
     @ApiOperation(value = "新增采购进口矿订单 ")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),

+ 24 - 7
src/main/java/com/steerinfo/dil/controller/OmstruckOrderSeparateController.java

@@ -167,13 +167,17 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
     })
     @PostMapping("/getOthersOrderMesToSend")
     public RESTfulResult getOthersOrderMesToSend(@RequestBody(required = false) Map<String, Object> mapValue,
-                                           Integer apiId,
-                                           Integer pageNum,
-                                           Integer pageSize,
-                                           Integer type,
-                                           Integer orderStatus,
-                                           String carrierId,
-                                           String  con) {
+                                                 Integer apiId,
+                                                 Integer pageNum,
+                                                 Integer pageSize,
+                                                 Integer type,
+                                                 Integer orderStatus,
+                                                 String carrierId,
+                                                 String  con,
+                                                 String userId,
+                                                 String usersId,
+                                                 Integer type1
+                                                 ) {
         int count = 0;
         if (orderStatus != null) {
             mapValue.put("status", orderStatus);
@@ -183,10 +187,23 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
             mapValue.put("type", type);
             count++;
         }
+        if (type1!=null){
+            mapValue.put("type1",type1);
+            count++;
+        }
         if (carrierId != null && !"undefined".equals(carrierId)) {
             mapValue.put("carrierId", carrierId);
             count++;
         }
+
+        if (userId!=null){
+            mapValue.put("userId",userId);
+            count++;
+        }
+        if (usersId!=null){
+            mapValue.put("usersId",usersId);
+            count++;
+        }
         //框计算
         if (con != null) {
             if (!"undefined".equals(con)) {

+ 23 - 1
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -241,14 +241,19 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     // 销售中的运输订单
     Map<String, Object> getSaleMap(BigDecimal orderId);
+
     // 内转钢材的运输订单
     Map<String, Object> getSteelInwardMap(BigDecimal orderId);
+
     // 采购的运输订单
     Map<String, Object> getPurchaseMap(BigDecimal orderId);
+
     // 内转的运输订单
     Map<String, Object> getInwardMap(BigDecimal orderId);
+
     // 判断是走采购,销售还是内转
     List<Map<String, Object>> getResultListByCapacity(String capacityNumber);
+
     // 通过卸货点名称查询卸货点id
     BigDecimal getUnloadPointId(String unloadPoint);
 
@@ -258,7 +263,10 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     List<Map<String, Object>> getOrderMaterialList(BigDecimal orderId);
 
     //通过订单查询趟次
-    Integer getSporadicOrderTimes(BigDecimal orderId);
+    Map<String,Object> getSporadicOrderTimes(BigDecimal orderId);
+
+    //根据运输订单id查找所有实绩id
+    Map<String,Object> getAllResultId(BigDecimal orderId);
 
     //查询订单是否确认
     Integer getDriverConfirmation(BigDecimal orderId);
@@ -274,5 +282,19 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 //
 //    //通过订单查询趟次
 //    Integer getSporadicOrderTimes(BigDecimal orderId);
+   //删除计重实绩
+   int deleteWeightResult(BigDecimal weightResultId);
+
+   //删除装货实绩
+   int deleteLoadResult(BigDecimal loadResultId);
+
+   //删除出厂实绩
+   int deleteLeaveResult(BigDecimal leaveResultId);
+
+   //删除卸货实绩
+   int deleteUnloadResult(BigDecimal unloadResultId);
+
+   //删除进厂实绩
+   int deleteEnResult(BigDecimal enFactoryId);
 
 }

+ 6 - 1
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.java

@@ -76,9 +76,14 @@ public interface OmstruckOrderSeparateMapper {
     // 查询销售订单的物资件数或重量
     List<Map<String, Object>> getWeightOrNumber(BigDecimal saleOrderMaterialId);
 
-
+    //修改零星订单运输趟次
     int updateTimes(@Param("orderPlanId") BigDecimal orderPlanId, @Param("times")int times);
 
+    //修改已运输趟次
+    int updateTranTimes(@Param("orderPlanId") BigDecimal orderPlanId, @Param("times")int times);
+
+
+
     //查询当前车辆之前所有已完成的订单
     List<Map<String, Object>> getCapacityAllOrder(String capacityNumber);
 

+ 9 - 4
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -104,19 +104,15 @@ public interface IOmstruckOrderService {
     //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
     Map<String, Object> selectNewOrderId(Map<String, Object> map);
 
-
     //查询司机接单信息
     Map<String, Object> sendMesToDriverApp(Map<String, Object> map);
 
-
     //销售分派钢材运输订单
     int dispatchSteelOrder(Map<String, Object> map);
 
-
     //下发销售订单
     int IssueSteelOrder(Map<String, Object> map);
 
-
     //销售模块,查看所有订单
     List<Map<String, Object>> selectAllOrderForSale(Map<String, Object> map);
 
@@ -149,14 +145,19 @@ public interface IOmstruckOrderService {
 
     // 查询所有车牌号和司机
     List<Map<String, Object>> getCapacityAndDriverList(Map<String, Object> mapValue);
+
     //关闭运输订单
     int closeOrder(Map<String,Object> map);
+
     // 分解内转计划(新增运输订单)
     int addInwardOrder(Map<String, Object> mapValue);
+
     // 查询分解计划
     List<Map<String, Object>> getInwardOrderList(Map<String, Object> mapValue);
+
     // 下发计划
     int issuePlanOrder(List<Map<String, Object>> mapList);
+
     // 分派计划
     int apportionInwardOrder(List<Map<String, Object>> mapList);
 
@@ -185,5 +186,9 @@ public interface IOmstruckOrderService {
 
     void pushMesToWebsocket(Map<String, Object> map);
 
+    //判断车是否为一车多趟
     void pushMessageToDriver(Map<String, Object> mapValue);
+
+    //撤销订单
+    int undoOrder(Map<String,Object> map);
 }

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

@@ -58,14 +58,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         int result = 0;
         //通过总实绩Id 查询关联的线路子表顺序
         List<Map<String, Object>> segmentList = omstruckOrderSeparateMapper.getLineMesByOrderId(lineId);
-        //通过订单ID查询物资信息
-        List<Integer> materialIdList = omstruckOrderSeparateMapper.getMaterialIdByTotalId(resultTotalId);
-        BigDecimal materialId = null;
-        if(materialIdList.size() == 1){
-            materialId = new BigDecimal(materialIdList.get(0));
-        }
         Map<String,Object> totalIdMap = new HashMap<>();
-        totalIdMap.put("materialId", materialId);
         totalIdMap.put("resultTotalId",resultTotalId);
         totalIdMap.put("lineId", lineId);
         // 遍历路段顺序号子表

+ 59 - 5
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -528,6 +528,56 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         }
     }
 
+    //撤销订单
+    @Override
+    public int undoOrder(Map<String, Object> map) {
+        int result=0;
+        Integer orderId =(Integer) map.get("orderId");
+        OmstruckOrder omstruckOrder=new OmstruckOrder();
+        omstruckOrder.setOrderId(DataChange.dataToBigDecimal(orderId));
+        //根据运输订单号获取planId
+        Map<String, Object> messageMap = omstruckOrderSeparateMapper.getOmstruckOrderResult(new BigDecimal(orderId));
+        BigDecimal orderPlanId =(BigDecimal) messageMap.get("orderPlanId");
+        omstruckOrder.setOrderStatus(new BigDecimal(4));
+        result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        Map<String, Object> allResultId = omstruckOrderMapper.getAllResultId(DataChange.dataToBigDecimal(orderId));
+        BigDecimal weightResultId =(BigDecimal) allResultId.get("weightResultId");
+        result += omstruckOrderMapper.deleteWeightResult(weightResultId);
+        BigDecimal loadResultId =(BigDecimal) allResultId.get("loadResultId");
+        if (loadResultId!=null) {
+            result += omstruckOrderMapper.deleteLoadResult(loadResultId);
+        }
+        BigDecimal leaveResultId=(BigDecimal) allResultId.get("leaveResultId");
+        result += omstruckOrderMapper.deleteLeaveResult(leaveResultId);
+        BigDecimal unloadResultId =(BigDecimal) allResultId.get("unloadResultId");
+        if (unloadResultId!=null) {
+            result += omstruckOrderMapper.deleteUnloadResult(unloadResultId);
+        }
+        BigDecimal enFactoryId =(BigDecimal) allResultId.get("enFactoryId");
+        result +=omstruckOrderMapper.deleteEnResult(enFactoryId);
+        //删除所有实绩
+        Integer orderType = omstruckOrderMapper.getOrderTypeByOrderNumber(new BigDecimal(orderId));
+        switch (orderType){
+            case 12:
+            case 13:
+            case 15:
+            case 16:
+                    Map<String, Object> sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(new BigDecimal(orderId));
+
+                    BigDecimal orderTimes =(BigDecimal)sporadicOrderTimes.get("orderTimes");
+                    BigDecimal transTimes = (BigDecimal)sporadicOrderTimes.get("transTimes");
+                    //更新趟次
+                    omstruckOrderSeparateService.updateTimes(orderPlanId,orderTimes.intValue()+1);
+                    //更新已运输趟次
+                    if (transTimes.intValue()>0) {
+                        omstruckOrderSeparateMapper.updateTranTimes(orderPlanId, transTimes.intValue() - 1);
+                    }
+                    break;
+        }
+
+        return result;
+    }
+
     /**
      * 销售物流,下发订单
      *
@@ -591,10 +641,16 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             BigDecimal orderType = (BigDecimal) orderMessage.get("orderType");
             if (orderType.intValue()==15 || orderType.intValue()==16) {
                 //通过订单查询趟次
-                Integer sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
+                Map<String, Object> sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
+                BigDecimal orderTimes = DataChange.dataToBigDecimal(sporadicOrderTimes.get("orderTimes"));
+                //通过订单id查询已运输趟次
+                BigDecimal transTimes=DataChange.dataToBigDecimal(sporadicOrderTimes.get("transTimes"));
                 //生成作业实绩之后、更改订单数量
-                if (orderMessage.containsKey("orderPlanId") && sporadicOrderTimes > 0) {
-                    int state = omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()), sporadicOrderTimes - 1);
+                if (orderMessage.containsKey("orderPlanId") && orderTimes.intValue() > 0) {
+                    int state =0;
+                     state+=omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()), orderTimes.intValue() - 1);
+                     //接收订单以后已运输订单趟次+1
+                     state+=omstruckOrderSeparateMapper.updateTranTimes(DataChange.dataToBigDecimal(orderMessage.get("orderPlanId").toString()),transTimes.intValue()+1);
                     System.out.println(state);
                 }
             }
@@ -1698,8 +1754,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 15:
             case 16:
                 mesMap = omstruckOrderMapper.getSporadicOrder(map);
-                
-
         }
         mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId));
         return mesMap;

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

@@ -51,7 +51,7 @@ public class DataChange {
                     try {
                         decimal = new BigDecimal(str);
                     } catch (Exception e) {
-                        e.printStackTrace();
+                        System.out.println(data + ":数据解析失败!返回0");
                         return new BigDecimal(0);
                     }
                 }
@@ -90,7 +90,12 @@ public class DataChange {
             for (String s : key) {
                 //从map中取 date的值 并转换成字符串类型的日期
                 String stringDate = dateToDayDate(map.get(s));
-                map.put(s, stringDate);
+                if(stringDate.length() == 0){
+                    break;
+                }else {
+                    //修改map中的值
+                    map.put(s, stringDate);
+                }
             }
         }
     }
@@ -105,10 +110,15 @@ public class DataChange {
         for (Map<String, Object> map : list) {
             for (String s : key) {
                 //修改数据为带两位小数
-                BigDecimal oldDate = (BigDecimal) map.get(s);
-                DecimalFormat df =  new DecimalFormat("0.00");
-                String resultDeduction = df.format(oldDate.doubleValue());
-                map.put(s, resultDeduction);
+                try {
+                    BigDecimal oldDate = (BigDecimal) map.get(s);
+                    DecimalFormat df =  new DecimalFormat("0.00");
+                    String resultDeduction = df.format(oldDate.doubleValue());
+                    map.put(s, resultDeduction);
+                } catch (Exception e) {
+                    System.out.println("原料扣减量数据有误");
+                }
+
             }
         }
     }
@@ -156,4 +166,26 @@ public class DataChange {
         return sb.toString();
     }
 
+    /**
+     * 根据时间段查询数据
+     * @Author TXF
+     * @Date 2022/1/10 23:21
+     * @param startTime
+     * @param endTime
+     * @param map
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDate(String startTime, String endTime, Map<String, Object> map, SimpleDateFormat sdf){
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime) + 86400000)));
+        } else if (startTime != null && !"null".equals(startTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(startTime))));
+        } else if (endTime != null && !"null".equals(endTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(endTime))));
+        } else {
+            map.put("oneDate", sdf.format(new Date()));
+        }
+    }
 }

+ 1 - 0
src/main/resources/application-dev.yml

@@ -19,6 +19,7 @@ openfeign:
   ImFeign:
     url: ${IMFEIGN_URL:172.16.33.166:8055}
 
+
 server:
   port: 8016
 

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

@@ -16,7 +16,7 @@ spring:
 eureka:
   client:
     service-url:
-      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.166}:${EUREKA_PORT:8081}/eureka/
+      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8081}/eureka/
     register-with-eureka: false #表示向EurekaServer注册自己 默认为true
     fetch-registry: false #是否从EurekaServer抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
 

+ 60 - 3
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2754,7 +2754,8 @@
                OO.ORDER_NUMBER    "orderNumber",
                OO.ORDER_LINE_SEQUENCE   "orderLineSequence",
                RC.CAPACITY_NUMBER "capacityNumber",
-               RS.SUPPLIER_NAME   "loadName",
+               RS.SUPPLIER_NAME   "shipperName",
+               RCON.CONSIGNEE_COMPANY_NAME  "consigneeCompanyName",
                RW.WAREHOUSE_NAME  "unloadName",
                OO.ORDER_TYPE      "orderType"
         FROM OMSTRUCK_ORDER OO
@@ -2766,6 +2767,8 @@
                            ON APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
                  LEFT JOIN RMS_SUPPLIER RS
                            ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                 LEFT JOIN RMS_CONSIGNEE RCON
+                           ON RCON.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
         WHERE OO.ORDER_ID = #{orderId}
         <if test="status == null">
             AND OO.ORDER_STATUS in (4, 5)
@@ -2968,13 +2971,39 @@
         WHERE OOM.ORDER_ID = #{orderId}
     </select>
 
-    <select id="getSporadicOrderTimes" resultType="java.lang.Integer">
-         select aso.sporadic_order_times from OMSTRUCK_ORDER oo
+    <select id="getSporadicOrderTimes" resultType="java.util.Map">
+         select aso.sporadic_order_times "orderTimes",
+                aso.SPORADIC_TRANS_TIMES "transTimes"
+         from OMSTRUCK_ORDER oo
             left join  AMSTRUCK_SPORADIC_ORDER  aso
             on oo.ORDER_PLAN_ID=aso.sporadic_order_id
             where oo.order_id= #{orderId}
     </select>
 
+    <select id="getAllResultId" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+        SELECT  DISTINCT TTR.RESULT_TOTAL_ID "resultTotalId",
+                         TWR.WEIGHT_TASK_RESULT_ID "weightResultId",
+                         TLR.RESULT_ID "loadResultId",
+                         TLFR.RESULT_ID "leaveResultId",
+                         TUR.RESULT_ID "unloadResultId",
+                         TER.RESULT_ID "enFactoryId"
+
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON OO.ORDER_ID=TTR.ORDER_ID
+                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                           ON TWR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
+                           ON  TTR.RESULT_TOTAL_ID= TLR.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+                           ON TLFR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR
+                           ON TUR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+                           ON TER.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+        where OO.ORDER_ID=#{orderId}
+    </select>
+
 
     <!--  查询订单是否确认  -->
     <select id="getDriverConfirmation" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
@@ -3010,4 +3039,32 @@
         FROM RMS_LINE RL
         WHERE RL.LINE_ID = #{lineId}
     </select>
+<!--删除计重实绩id-->
+    <delete id="deleteWeightResult" parameterType="java.math.BigDecimal">
+        delete from TMSTRUCK_WEIGHT_RESULT
+        where WEIGHT_TASK_RESULT_ID = #{weightResultId}
+    </delete>
+<!-- 删除装车实绩   -->
+    <delete id="deleteLoadResult" parameterType="java.math.BigDecimal">
+        delete from TMSTRUCK_LOAD_RESULT
+        where RESULT_ID = #{loadResultId}
+    </delete>
+
+<!--  删除出厂实绩-->
+    <delete id="deleteLeaveResult" parameterType="java.math.BigDecimal">
+        delete from TMSTRUCK_LEAVE_FACTORY_RESULT
+        where RESULT_ID = #{leaveResultId}
+    </delete>
+
+<!--删除卸货实绩-->
+    <delete id="deleteUnloadResult" parameterType="java.math.BigDecimal">
+        delete from TMSTRUCK_UNLOAD_RESULT
+        where RESULT_ID = #{unloadResultId}
+    </delete>
+<!--删除进厂实绩-->
+    <delete id="deleteEnResult" parameterType="java.math.BigDecimal">
+        delete from TMSTRUCK_ENFACTORY_RESULT
+        where RESULT_ID = #{enFactoryId}
+    </delete>
+
 </mapper>

+ 17 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -52,6 +52,11 @@
         update AMSTRUCK_SPORADIC_ORDER  set sporadic_order_times =#{times}
         where sporadic_order_id= #{orderPlanId}
     </update>
+    <!--    修改运输订单已运输趟次-->
+    <update id="updateTranTimes">
+        update AMSTRUCK_SPORADIC_ORDER  set SPORADIC_TRANS_TIMES =#{times}
+        where sporadic_order_id= #{orderPlanId}
+    </update>
     
     <!-- 得到运单id -->
     <select id="getOrderIdByTotalId" parameterType="DECIMAL" resultType="DECIMAL">
@@ -413,7 +418,9 @@
         left join rms_carrier rce
         on rce.carrier_id = aso.carrier_id
         <where>
-            OO.ORDER_STATUS = #{status}
+            <if test="status != null">
+             and  OO.ORDER_STATUS = #{status}
+           </if>
             <if test="type == 1">
                 and OO.ORDER_TYPE in (12, 13)
             </if>
@@ -423,10 +430,19 @@
             <if test="type == 3">
                 and OO.ORDER_TYPE in (15,16)
             </if>
+            <if test="type1!=null">
+                 and OO.ORDER_STATUS IN (2,5)
+            </if>
             <if test="carrierId != null">
                 and ASO.CARRIER_ID = (select rc.carrier_id from rms_carrier rc
                 where rc.carrier_sso_id= #{carrierId})
             </if>
+            <if test="userId != null">
+                and ASO.INSERT_USERNAME= #{userId}
+            </if>
+            <if test="usersId != null">
+                and ASO.UPDATE_USERNAME= #{usersId}
+            </if>
         </where>
         )
         <where>