zx 3 vuotta sitten
vanhempi
commit
50f84564a8

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

@@ -515,6 +515,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"),

+ 31 - 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)) {
@@ -253,4 +270,11 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
         return success(capacityAllOrderList);
     }
 
+    @ApiOperation(value = "根据运单id关闭运输订单")
+    @PostMapping("/closeOrder")
+    public RESTfulResult closeOrder(@RequestParam Integer orderId){
+        int result = omstruckOrderSeparateService.closeOrder(orderId);
+        return success(result);
+    }
+
 }

+ 24 - 4
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);
@@ -268,8 +276,20 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     //通过订单id查询零星订单id,运力id
     Map<String, Object> getSporadicOrdermapAddOrder(BigDecimal orderId);
-//
-//    //通过订单查询趟次
-//    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);
 

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

@@ -24,6 +24,8 @@ public interface IOmstruckOrderSeparateService {
 
     // 承运商销售分派运输订单给司机
     Integer addSaleTruckOrder(Map<String, Object> mapValue);
+    // 关闭订单
+    int closeOrder(Integer orderId);
 
     //更改趟次
     int updateTimes(BigDecimal orderPlanId, int i);

+ 8 - 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);
 
@@ -187,4 +188,7 @@ public interface IOmstruckOrderService {
 
     //判断车是否为一车多趟
     void pushMessageToDriver(Map<String, Object> mapValue);
+
+    //撤销订单
+    int undoOrder(Map<String,Object> map);
 }

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

@@ -399,6 +399,20 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     public int updateTimes(BigDecimal orderPlanId, int times) {
         return omstruckOrderSeparateMapper.updateTimes(orderPlanId, times);
     }
+    /**
+     * 根据运单id关闭运输订单
+     * @param orderId
+     * @return
+     */
+    @Override
+    public int closeOrder(Integer orderId) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(new BigDecimal(orderId));
+        omstruckOrder.setOrderStatus(new BigDecimal(8));
+        int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        return result;
+    }
+
     /**
      * @Author TXF
      * @Date 2021/12/30 16:15

+ 76 - 7
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -112,6 +112,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 5:
             case 6:
             case 7:
+            case 17:
+            case 18:
                 i = addCGPurOrders(map);
                 break;
             case 8:
@@ -228,6 +230,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 6:
             case 7:
             case 8:
+            case 17:
+            case 18:
                 if (map.get("purchaseOrderId") != null)
                     omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("purchaseOrderId")));
                 if (map.get("unloadPointId") != null) // 添加卸货点
@@ -318,6 +322,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 6:
             case 7:
             case 8:
+            case 17:
+            case 18:
                 //生成子表主键
                 omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
                 omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
@@ -392,6 +398,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 6:
             case 7:
             case 8:
+            case 17:
+            case 18:
                 //修改运输订单子表物资重量
                 OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
                 //添加子表主键 通过订单ID查询出子表主键
@@ -520,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;
+    }
+
     /**
      * 销售物流,下发订单
      *
@@ -579,15 +637,20 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
             //添加各个实绩
             omstruckOrderSeparateService.addAllSonResult(orderMessage);
-
             //判断订单是否是一车多单
             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);
                 }
             }
@@ -826,7 +889,13 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         String carrierSsoId = (String) map.get("carrierSsoId");
         BigDecimal carrierId = omstruckOrderMapper.getCarrierIdBySSO(carrierSsoId);
         map.put("carrierId",carrierId);
-        return omstruckOrderMapper.selectTransportOrderForSale(map);
+        List<Map<String, Object>> mapList = omstruckOrderMapper.selectTransportOrderForSale(map);
+        int count = 1;
+        for (Map<String, Object> stringObjectMap : mapList) {
+            stringObjectMap.put("ROW_ID",count);
+            count ++;
+        }
+        return mapList;
     }
 
     @Override
@@ -1671,6 +1740,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 6:
             case 7:
             case 8:
+            case 17:
+            case 18:
                 mesMap = omstruckOrderMapper.getCGOrderMessageToApp(map);
                 break;
             case 9:
@@ -1683,8 +1754,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 15:
             case 16:
                 mesMap = omstruckOrderMapper.getSporadicOrder(map);
-
-
         }
         mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId));
         return mesMap;

+ 4 - 4
src/main/resources/application-dev.yml

@@ -11,13 +11,13 @@ spring:
 #feign设置
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8001}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8001}
   TmsTruckFeign:
-    url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8008}
+    url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
   AmsFeign:
-    url: ${AMSFEIGN_URL:172.16.33.166:8015}
+    url: ${AMSFEIGN_URL:172.16.33.162:8015}
   ImFeign:
-    url: ${IMFEIGN_URL:172.16.33.166:8018}
+    url: ${IMFEIGN_URL:172.16.33.162:8018}
 
 server:
   port: 8016

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

@@ -1,7 +1,7 @@
 api.version: api/v1/oms
 spring:
   profiles:
-    include: ${SPRING_PROFILES:dev}
+    include: ${SPRING_PROFILES:prod}
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8
@@ -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使用负载均衡
 

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

@@ -702,9 +702,12 @@
             <if test="orderTypee != null">
                 and OO.ORDER_TYPE = #{orderTypee}
             </if>
-            <if test="fuelOrder != null">
+            <if test="fuelOrder == 1">
                 and OO.ORDER_TYPE in (6, 7)
             </if>
+            <if test="fuelOrder == 2">
+                and OO.ORDER_TYPE in (17, 18)
+            </if>
             <if test="carrierSSOId != null">
                 and RCA.CARRIER_SSO_ID = #{carrierSSOId}
             </if>
@@ -1302,15 +1305,23 @@
                 on RCA.CARRIER_ID = RC.CARRIER_ID
         </if>
         <where>
-            <if test="orderStatus != null">
-                OO.ORDER_STATUS = #{orderStatus}
-            </if>
+            <choose>
+                <when test="orderStatus != 111">
+                    and OO.ORDER_STATUS = #{orderStatus}
+                </when>
+                <when test="orderStatus == 111">
+                    and OO.ORDER_STATUS in (0, 1, 2, 5)
+                </when>
+            </choose>
             <if test="orderTypee != null">
                 and OO.ORDER_TYPE = #{orderTypee}
             </if>
-            <if test="fuelOrder != null">
+            <if test="fuelOrder == 1">
                 and OO.ORDER_TYPE in (6, 7)
             </if>
+            <if test="fuelOrder == 2">
+                and OO.ORDER_TYPE in (17, 18)
+            </if>
             <if test="carrierSSOId != null">
                 and RCA.CARRIER_SSO_ID = #{carrierSSOId}
             </if>
@@ -2953,13 +2964,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">
@@ -2989,4 +3026,32 @@
             on oo.ORDER_PLAN_ID=aso.sporadic_order_id
         where oo.order_id= #{orderId}
     </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>

+ 32 - 9
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">
@@ -385,15 +390,16 @@
         *
         from
         (
-        select
-        OO.ORDER_ID "orderId",
-        TTR.RESULT_TOTAL_ID "resultTotalId",
-        ASO.SPORADIC_ORDER_NO "sporadicOrderNo",
-        OO.ORDER_NUMBER "orderNumber",
-        RS.SUPPLIER_NAME "sendCompany",
+        select OO.ORDER_ID         "orderId",
+        TTR.RESULT_TOTAL_ID        "resultTotalId",
+        ASO.SPORADIC_ORDER_NO      "sporadicOrderNo",
+        OO.ORDER_NUMBER            "orderNumber",
+        RS.SUPPLIER_NAME           "sendCompany",
         RC2.CONSIGNEE_COMPANY_NAME "receiveCompany",
-        ASO.INSERT_TIME "insertTime",
-        RC.CAPACITY_NUMBER "capacityNumber"
+        ASO.INSERT_TIME            "insertTime",
+        RC.CAPACITY_NUMBER         "capacityNumber",
+        RM.MATERIAL_NAME           "materialName",
+        rce.carrier_name           "carrierName"
         from OMSTRUCK_ORDER OO
         left join TMSTRUCK_TOTAL_RESULT TTR
         on TTR.ORDER_ID = OO.ORDER_ID
@@ -405,8 +411,16 @@
         on RS.SUPPLIER_ID = ASO.SEND_UNIT_ID
         left join RMS_CONSIGNEE RC2
         on RC2.CONSIGNEE_ID = ASO.RECEIVE_UNIT_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_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>
@@ -416,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>