瀏覽代碼

排队修改,以及钢材订单显示库房修改

txf 3 年之前
父節點
當前提交
2d26ece5ac

+ 8 - 0
pom.xml

@@ -94,6 +94,14 @@
             <artifactId>framework</artifactId>
             <version>1.0</version>
         </dependency>
+
+        <!--中交新路的包这个问杨-->
+        <dependency>
+            <groupId>com.ZhongJiaoXingLu</groupId>
+            <artifactId>openapi-sdk</artifactId>
+            <version>6.0</version>
+        </dependency>
+
     </dependencies>
     <build>
         <plugins>

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

@@ -198,7 +198,7 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     Map<String, Object> getInwardOrderMap(BigDecimal orderId);
 
     //通过订单Id查询该订单下所有的物资
-    List<Map<String,Object>> getMaterialMes(@Param("orderId") BigDecimal orderId);
+    List<Map<String,Object>> getMaterialMes(@Param("orderId") BigDecimal orderId, @Param("steelJudge") String steelJudge);
 
     //根据运输订单查询车牌号
     String selectCapacityNumber(BigDecimal orderId);
@@ -332,4 +332,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     Map<String, Object> getSteelOrderMessageToApp(Map<String, Object> map);
 
     List<Map<String, Object>> getLoadForLoadCarResult(Map<String, Object> map);
+
+    String getCapacityNumberByCapacityId(BigDecimal capacityNumber);
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.java

@@ -4,6 +4,7 @@ import com.steerinfo.dil.model.OmstruckOrder;
 import com.steerinfo.dil.model.OmstruckOrderMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
@@ -50,4 +51,10 @@ public interface OmstruckOrderMaterialMapper extends IBaseMapper<OmstruckOrderMa
 
     //修改出库实绩
     int updateOutBoundResult(OmstruckOrderMaterial omstruckOrderMaterial);
+
+    //修改出库实绩
+    Map<String, Object> getSaleOrderMaterialNum(@Param("orderId")BigDecimal orderId,@Param("materialId") BigDecimal materialId);
+
+
+    int updateSaleOrderMaterialMes(BigDecimal saleMaterialId, BigDecimal materialNum, BigDecimal newWeight);
 }

+ 29 - 0
src/main/java/com/steerinfo/dil/mapper/ZJXLUtilMapper.java

@@ -0,0 +1,29 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.*;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface ZJXLUtilMapper {
+    //获取区域Id
+    @Select("select DV.VERSION_VALUE from DIL_VERSION DV where DV.VERSION_TYPE = 2")
+    String getAreaId();
+
+    //更新区域ID
+    @Update("update DIL_VERSION DV set DV.VERSION_VALUE = #{areaId}, UPDATE_TIME = SYSDATE where DV.VERSION_TYPE = 2")
+    int updateAreaId(@Param("areaId") String areaId);
+
+    @Select("select VERSION_VALUE from DIL_VERSION where VERSION_TYPE = 3")
+    String getToken();
+
+    @Update("update DIL_VERSION set VERSION_VALUE = #{token}, UPDATE_TIME = SYSDATE where VERSION_TYPE = 3")
+    int updateToken(@Param("token") String token);
+
+    @Select("select seq_QMS_SUB_CAPACITY.nextval from dual")
+    BigDecimal getSubCapacityMaxId();
+
+    int insertSubCapacity(@Param("subCapacityId")BigDecimal subCapacityId, @Param("capacityNumber")String capacityNumber, @Param("resultTotalId")BigDecimal resultTotalId);
+
+    int cancelSubCapacity(@Param("capacityNumber")String capacityNumber);
+}

+ 24 - 5
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java

@@ -293,14 +293,33 @@ public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialS
     public int updateMaterialMes(Map<String, Object> map){
         OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
         List<Map<String,Object>>mapList = (List<Map<String, Object>>) map.get("mapList");
-        for (Map<String, Object>map1:mapList
-             ) {
-            omstruckOrderMaterial.setOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
-            omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map1.get("materialId")));
-            omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map1.get("materialNum")));
+        for (Map<String, Object>map1 : mapList) {
+            BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+            BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
+            BigDecimal materialNum = DataChange.dataToBigDecimal(map1.get("materialNum"));
+            //修改物资子表总理重 通过订单ID找到件数和总理重,算出单件理重
+            Map<String, Object> saleMaterialMes = omstruckOrderMaterialMapper.getSaleOrderMaterialNum(orderId, materialId);
+            BigDecimal saleMaterialId = DataChange.dataToBigDecimal(saleMaterialMes.get("saleMaterialId"));//销售订单存放物资子表id
+            BigDecimal materialWeight = DataChange.dataToBigDecimal(saleMaterialMes.get("materialWeight"));//旧总理重
+            BigDecimal newWeight = null;
+            if(materialWeight.intValue() != 0){ //如果总重量不为0,才进行重量更新
+                BigDecimal orderMaterialNumber = DataChange.dataToBigDecimal(saleMaterialMes.get("orderMaterialNumber"));//旧件数
+                BigDecimal theoreticalWeight = materialWeight.divide(orderMaterialNumber, 4);
+                newWeight = theoreticalWeight.multiply(theoreticalWeight); //得到现有理重
+
+                omstruckOrderMaterial.setOrderMaterialWeight(newWeight);
+            }
+            //修改销售订单物资子表
+            omstruckOrderMaterialMapper.updateSaleOrderMaterialMes(saleMaterialId, materialNum, newWeight);
+
+            //修改订单物资子表 与出库实绩
+            omstruckOrderMaterial.setOrderId(orderId);
+            omstruckOrderMaterial.setMaterialId(materialId);
+            omstruckOrderMaterial.setOrderMaterialNumber(materialNum);
             omstruckOrderMaterial.setUpdateTime(new Date());
             omstruckOrderMaterialMapper.updateMaterialMes(omstruckOrderMaterial);
             omstruckOrderMaterialMapper.updateOutBoundResult(omstruckOrderMaterial);
+
         }
         return 1;
     }

+ 40 - 10
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -65,6 +65,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Autowired
     OmstruckOrderSeparateMapper omstruckOrderSeparateMapper;
 
+    @Autowired
+    private ZJXLUtilServiceImpl zjxlUtilService;
+
+    @Autowired
+    private ZJXLUtilMapper zjxlUtilMapper;
+
     /**
      * 用于远程调用运输订单新增
      *
@@ -547,7 +553,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     }
 
     //撤销订单
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int undoOrder(Map<String, Object> map) throws Exception{
         int result=0;
@@ -576,6 +582,19 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 result += omstruckOrderMapper.deleteTimeTaskByTotalId(resultTotalId);
             }
         }
+        if(orderType == 1){
+            //取消订阅车辆
+            String remark = String.valueOf(mesMap.get("insertUpdateRemark"));
+            if("电子围栏订阅成功".equals(remark)){
+                String capacityNumber = String.valueOf(map.get("capacityNumber"));
+                map.put("capacityNumber", capacityNumber + "_2");
+//                int i = zjxlUtilService.cancelSubsCapacity(map, 1);
+                int i = 1;
+                if(i == 1){
+                    zjxlUtilMapper.cancelSubCapacity(capacityNumber);
+                }
+            }
+        }
         //通过总实绩ID删除所有已经生成的实绩
         result += omstruckOrderMapper.deleteEnResult(resultTotalId);
         result += omstruckOrderMapper.deleteWeightResult(resultTotalId);
@@ -595,7 +614,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderSeparateMapper.updateTranTimes(orderPlanId, transTimes.intValue() - 1);
             }
         }
-
         return result;
     }
    //修改运力
@@ -795,6 +813,20 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 throw new RuntimeException("订单已被接收或已被拒绝!");
             }
             int orderType = DataChange.dataToBigDecimal(orderMessage.get("orderType")).intValue();
+            if(orderType == 1){
+                //订阅车辆 查询车牌号
+                String capacityNumber = omstruckOrderMapper.getCapacityNumberByCapacityId(DataChange.dataToBigDecimal(orderMessage.get("capacityId")));
+                Map<String, Object> subMap = new HashMap<>();
+                subMap.put("capacityNumber", capacityNumber + "_2");
+                String s = zjxlUtilService.subsCapacity(subMap, 1);
+                if(!"成功".equals(s.substring(s.length() - 2))){
+                    System.out.println("车辆订阅失败:" + capacityNumber);
+                    omstruckOrder.setInsertUpdateRemark("电子围栏订阅失败");
+                }else{
+                    omstruckOrder.setInsertUpdateRemark("电子围栏订阅成功");
+                    zjxlUtilMapper.insertSubCapacity(zjxlUtilMapper.getSubCapacityMaxId(), capacityNumber, DataChange.dataToBigDecimal(orderMessage.get("resultTotalId")));
+                }
+            }
             if(orderType == 11){
                 //发送计量委托
                 orderMessage.put("asd", 1);
@@ -1588,7 +1620,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             BigDecimal orderId = (BigDecimal) map.get("orderId");
             BigDecimal orderType = (BigDecimal) map.get("orderType");
             // 查询物资信息
-            List<Map<String,Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId);
+            List<Map<String,Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId, null);
             String allMaterialName = "";
             String allMaterialNumber = "";
             String allMaterialWeight = "";
@@ -1772,7 +1804,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             BigDecimal orderId = (BigDecimal) map.get("orderId");
             BigDecimal orderType = (BigDecimal) map.get("orderType");
             // 查询物资信息
-            List<Map<String, Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId);
+            List<Map<String, Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId, null);
             String allMaterialName = "";
             String allMaterialNumber = "";
             String allMaterialWeight = "";
@@ -1893,11 +1925,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      **/
     public boolean getDriverConfirmation(Map<String, Object> map){
         Integer driverConfirmation = omstruckOrderMapper.getDriverConfirmation(DataChange.dataToBigDecimal(map.get("orderId")));
-        if(driverConfirmation == null){
-            return true;
-        }else {
-            return false;
-        }
+        return driverConfirmation == null;
     }
 
     /**
@@ -1915,9 +1943,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             orderType = DataChange.dataToBigDecimal(map.get("orderType")).intValue();
         }
         Map<String, Object> mesMap = new HashMap<>();
+        String steelJudge = null;
         switch (orderType){
             case 1:
                 mesMap = omstruckOrderMapper.getSteelOrderMessageToApp(map);
+                steelJudge = "steel";
                 break;
             case 2:
                 mesMap = omstruckOrderMapper.getXSOrderMessageToApp(map);
@@ -1963,7 +1993,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                  mesMap=omstruckOrderMapper.getSporadicOrder(map);
                  mesMap.put("type", "零星退货");
         }
-        mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId));
+        mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId, steelJudge));
 
         return mesMap;
     }

+ 218 - 0
src/main/java/com/steerinfo/dil/service/impl/ZJXLUtilServiceImpl.java

@@ -0,0 +1,218 @@
+package com.steerinfo.dil.service.impl;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.openapi.sdk.service.DataExchangeService;
+import com.steerinfo.dil.mapper.ZJXLUtilMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2022/1/11 15:27
+ */
+
+@Service
+public class ZJXLUtilServiceImpl {
+
+    @Autowired
+    private ZJXLUtilMapper zjxlUtilMapper;
+
+    @Value("${str.ZhongJiaoXingLu.cid}")
+    private  String cid;
+    @Value("${str.ZhongJiaoXingLu.srt}")
+    private  String srt;
+    @Value("${str.ZhongJiaoXingLu.user}")
+    private  String user;
+    @Value("${str.ZhongJiaoXingLu.pwd}")
+    private  String pwd;
+
+
+    private String userflag = "DaZhouGangTie";  //标识
+
+    private String lonlat = "107.4628199,31.1925279"; //中心点坐标
+
+    private String radius = "3000"; //半径
+
+    /**
+     * 车辆订阅接口
+     * @Author TXF
+     * @Date 2022/1/12 14:18
+     * @param map
+     * @return
+     **/
+    public String subsCapacity(Map<String, Object> map,int i){
+
+        if (i==3){
+            return "超出递归次数限制";
+        }
+
+        if (map.get("capacityNumber")==null||"".equals(map.get("capacityNumber").toString())){
+            return "参数【capacityNumber】车号,为空";
+        }
+        Map<String, String> mesMap = new HashMap<>();
+        mesMap.put("token", zjxlUtilMapper.getToken());
+        mesMap.put("cid", cid);
+        mesMap.put("srt", srt);
+        mesMap.put("userflag", userflag);
+        String areaId = zjxlUtilMapper.getAreaId();
+        if(areaId==null){
+            return "区域id为空";
+        }
+        mesMap.put("areaid", areaId);
+        mesMap.put("vnos", (String) map.get("capacityNumber"));
+        String url = "https://openapi.sinoiov.cn/save/apis/vnoReg";
+        try {
+            DataExchangeService des = new DataExchangeService(5000, 8000);
+            // 通过 https 方式调用,此方法内部会使用私钥生成签名参数 sign,私钥不会发送
+            String res = des.postHttps(url, mesMap);
+            Map<String, Object> jsonMap = JSON.parseObject(res);
+            Object status = jsonMap.get("status");
+            if("1016".equals(status.toString())){
+                if(login() == 1){
+                    return subsCapacity(map,i+1); //递归订阅
+                }else {
+                    return "登录失败,状态码:"+status;
+                }
+            }
+            if("1001".equals(status.toString())){
+                if("2".equals(jsonMap.get("result").toString())){
+                    //如果是自定义区域不存在则重新注册自定义区域
+                    if(registerAreaReg() == 1){
+                        return subsCapacity(map,i+1);
+                    }
+                }else {
+                    return "订阅成功";
+                }
+            }
+        } catch (Exception e) {
+            System.out.println("错误信息:" + e.getMessage());
+        }
+        return "订阅失败";
+    }
+
+    /**
+     * 自定义区域注册接口
+     * @Author TXF
+     * @Date 2022/1/12 14:36
+     * @param
+     * @return 1 成功  0 失败
+     **/
+    public int registerAreaReg(){
+        Map<String, String> mesMap = new HashMap<>(9);
+        mesMap.put("token",  zjxlUtilMapper.getToken());
+        mesMap.put("cid", cid);
+        mesMap.put("srt", srt);
+        mesMap.put("userflag", userflag);
+        mesMap.put("areaname", "达州钢铁老厂区");
+        mesMap.put("lonlat", lonlat);
+        mesMap.put("radius", radius);
+        mesMap.put("type", "1");
+        mesMap.put("actiontype", "1");
+        String url = "https://openapi.sinoiov.cn/save/apis/areaReg";
+        try {
+            DataExchangeService des = new DataExchangeService(5000, 8000);
+            // 通过 https 方式调用,此方法内部会使用私钥生成签名参数 sign,私钥不会发送
+            String res = des.postHttps(url, mesMap);
+            Map<String, Object> jsonMap = JSON.parseObject(res);
+            if("1001".equals(jsonMap.get("status").toString())){
+                // 更新注册区域ID
+                Map<String, Object> areaIdMap = (Map<String, Object>) jsonMap.get("result");
+                if("1".equals(areaIdMap.get("state").toString())){
+                    String areaid = String.valueOf(areaIdMap.get("areaid"));
+                    int i = zjxlUtilMapper.updateAreaId(areaid);
+                    if(i==0){
+                        return 0;
+                    }
+                    System.out.println("new areaid: " + areaid);
+                    return 1;
+                }else {
+                    return 0;
+                }
+            }
+        } catch (Exception e) {
+            System.out.println("错误信息:" + e.getMessage());
+        }
+        return 0;
+    }
+
+
+    /**
+     * 登录接口
+     * @Author TXF
+     * @Date 2022/1/12 15:23
+     * @param
+     * @return 1 成功 0 失败
+     **/
+    public int login() {
+        try {
+            Map<String, String> map = new HashMap<>(4);
+            map.put("user", user);
+            map.put("pwd", pwd);
+            map.put("cid", cid);
+            map.put("srt", srt);
+            String url = "https://openapi.sinoiov.cn/save/apis/login/";
+            DataExchangeService des = new DataExchangeService(5000, 8000);
+            // 通过 https 方式调用,此方法内部会使用私钥生成签名参数 sign,私钥不会发送
+            String res = des.postHttps(url, map);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            String token = jsonObject.get("result").toString();
+            zjxlUtilMapper.updateToken(token);
+            return 1;
+        } catch (Exception e) {
+            System.out.println("登录中交兴路出错"+e.getMessage());
+            return 0;
+        }
+
+    }
+
+    /**
+     * 删除车辆订阅接口
+     * @Author TXF
+     * @Date 2022/1/12 17:11
+     * @param map
+     * @return
+     **/
+    public int cancelSubsCapacity(Map<String, Object> map,int i){
+        if (i==3){
+            return -2;
+        }
+        Map<String, String> mesMap = new HashMap<>(4);
+        mesMap.put("cid", cid);
+        mesMap.put("srt", srt);
+        mesMap.put("token",  zjxlUtilMapper.getToken());
+        mesMap.put("userflag", userflag);
+        mesMap.put("vnos", (String) map.get("capacityNumber"));
+        mesMap.put("areaid", zjxlUtilMapper.getAreaId());
+        String url = "https://openapi.sinoiov.cn/save/apis/vnoDel";
+        try {
+            DataExchangeService des = new DataExchangeService(5000, 8000);
+            String res = des.postHttps(url, mesMap);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            if("1016".equals(StringUtils.isEmpty(jsonObject.get("status"))?"":jsonObject.get("status").toString())){
+                if (login()==1) {
+                    return cancelSubsCapacity(map,i+1);
+                }else {
+                    return -1;
+                }
+            }
+            if("1001".equals(StringUtils.isEmpty(jsonObject.get("status"))?"":jsonObject.get("status").toString())){
+                if("1".equals(StringUtils.isEmpty(jsonObject.get("result"))?"":jsonObject.get("result").toString())){
+                    return 1;
+                }else {
+                    return 0;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return 0;
+        }
+        return 0;
+    }
+}

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

@@ -51,3 +51,12 @@ mybatis:
     #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     mapUnderscoreToCamelCase: true
     call-setters-on-nulls: true
+
+str:
+  tengxun:
+    key: WDTBZ-A5VKJ-UDLFI-KYJY6-WTP2S-A6B4Y
+  ZhongJiaoXingLu:
+    cid: 84254ac6-9f05-47c7-ba3c-1d3398590d70
+    srt: b7c4b6ee-09c8-4865-a0b7-934d42205012
+    user: 108e0bda-1795-4e43-9df9-426a446eb77f
+    pwd: cKyp9G98yFy3gHBHG21us7z85377S1

+ 18 - 2
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2663,7 +2663,12 @@
 
     <!-- 物资信息 -->
     <select id="getMaterialMes" parameterType="DECIMAL" resultType="java.util.LinkedHashMap">
-        SELECT RM.MATERIAL_NAME  "materialName",
+        SELECT
+               RM.MATERIAL_NAME
+                <if test="steelJudge != null">
+                    || '   ' || RW.WAREHOUSE_NAME
+                </if>
+                "materialName",
                RM.MATERIAL_ID   "materialId",
                OOM.MATERIAL_PRIORITY "materialPriority",
                CONCAT(CONCAT(RM.MATERIAL_MODEL, '('), CONCAT(MATERIAL_SPECIFICATION, ')')) "materialMC",
@@ -2685,6 +2690,10 @@
         FROM OMSTRUCK_ORDER_MATERIAL OOM
                  LEFT JOIN RMS_MATERIAL RM
                            ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+                 <if test="steelJudge != null">
+                     LEFT JOIN RMS_WAREHOUSE RW
+                           ON OOM.MATERIAL_PRIORITY = RW.WAREHOUSE_ID
+                 </if>
         WHERE ORDER_ID = #{orderId}
         ORDER BY RM.MATERIAL_NAME
     </select>
@@ -3566,7 +3575,8 @@
         RS.SHIPPER_NAME "shipperName",
         ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
         RC2.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
-        CONCAT(CONCAT( CONCAT( CONCAT( RDA.ADDRESS_PROVINCE, RDA.ADDRESS_DISTRICT ), RDA.ADDRESS_TOWN ),RDA.ADDRESS_DELIVERY_ADDRESS ),RRP.ADDRESS_DELIVERY_ADDRESS) "receiveAddressName"
+        CONCAT(CONCAT( CONCAT( CONCAT( RDA.ADDRESS_PROVINCE, RDA.ADDRESS_DISTRICT ), RDA.ADDRESS_TOWN ),RDA.ADDRESS_DELIVERY_ADDRESS ),RRP.ADDRESS_DELIVERY_ADDRESS) "receiveAddressName",
+        TTR.RESULT_TOTAL_ID "resultTotalId"
 
         FROM
         OMSTRUCK_ORDER OO
@@ -3577,6 +3587,7 @@
         LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_ID
         LEFT JOIN RMS_RECEIVE_PLACE RRP ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
         LEFT JOIN RMS_RECEIVE_ADDRESS RDA ON RDA.ADDRESS_ID = RRP.ADDRESS_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON OO.ORDER_ID = TTR.ORDER_ID
         WHERE
         OO.ORDER_ID = #{orderId}
         <if test="status == null">
@@ -3618,4 +3629,9 @@
         GROUP BY TLR.CAPACITY_REMARK
         )
     </select>
+
+
+    <select id="getCapacityNumberByCapacityId" parameterType="java.math.BigDecimal" resultType="java.lang.String">
+        select CAPACITY_NUMBER from RMS_CAPACITY  where CAPACITY_ID = #{capacityId}
+    </select>
 </mapper>

+ 25 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.xml

@@ -496,7 +496,8 @@
         and OO.ORDER_TYPE = 1
     </select>
 
-    <!-- 批量删除物资子表 -->
+
+  <!-- 批量删除物资子表 -->
   <delete id="batchByOrderIdDelete" parameterType="java.util.List">
     delete from OMSTRUCK_ORDER_MATERIAL OOM
     where OOM.ORDER_ID in
@@ -537,4 +538,27 @@
       WHERE OO.ORDER_ID = #{orderId}
         AND WORM.MATERIAL_ID = #{materialId})
   </update>
+
+
+  <select id="getSaleOrderMaterialNum" resultType="java.util.Map">
+    select OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
+           ASM.MATERIAL_WEIGHT "materialWeight",
+           ASM.SALE_MATERIAL_ID "saleMaterialId"
+    from OMSTRUCK_ORDER OO
+        left join AMS_SALE_ORDER_MATERIAL ASOM on OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        left join AMS_SALE_TRUCKNO_MATERIAL ASTM on ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        left join AMS_SALE_MATERIAL ASM on ASTM.MATERIAL_ID = ASM.SALE_MATERIAL_ID
+        left join OMSTRUCK_ORDER_MATERIAL OOM on OO.ORDER_ID = OOM.ORDER_ID
+    where OO.ORDER_ID = #{orderId} and OOM.MATERIAL_ID = #{materialId} and ASM.MATERIAL_ID = #{materialId}
+  </select>
+
+
+  <update id="updateSaleOrderMaterialMes">
+    update AMS_SALE_MATERIAL
+    set MATERIAL_NUMBER = #{materialNum}
+    <if test="newWeight != null">
+     , MATERIAL_WEIGHT = #{newWeight}
+    </if>
+    where SALE_MATERIAL_ID = #{saleMaterialId}
+  </update>
 </mapper>

+ 4 - 2
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -75,7 +75,8 @@
                OO.UNLOAD_POINT_ID AS "unloadPointId",
                OO.LINE_ID     "lineId",
                OO.ORDER_STATUS "orderStatus",
-               TTR.RESULT_TOTAL_ID  "resultTotalId"
+               TTR.RESULT_TOTAL_ID  "resultTotalId",
+               OO.CAPACITY_ID   "capacityId"
         FROM OMSTRUCK_ORDER OO
             left join TMSTRUCK_TOTAL_RESULT TTR
                 on TTR.ORDER_ID = OO.ORDER_ID
@@ -735,7 +736,8 @@
     <select id="getOrderMesByOrderId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
         select OO.ORDER_TYPE    "orderType",
                OO.ORDER_PLAN_ID "orderPlanId",
-               TTR.RESULT_TOTAL_ID  "resultTotalId"
+               TTR.RESULT_TOTAL_ID  "resultTotalId",
+               OO.INSERT_UPDATE_REMARK  "insertUpdateRemark"
         from OMSTRUCK_ORDER OO
                  left join TMSTRUCK_TOTAL_RESULT TTR on OO.ORDER_ID = TTR.ORDER_ID
         where OO.ORDER_ID = #{orderId}

+ 19 - 0
src/main/resources/com/steerinfo/dil/mapper/ZJXLUtilMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.ZJXLUtilMapper">
+
+    <insert id="insertSubCapacity">
+        insert into QMS_SUB_CAPACITY (SUB_CAPACITY_ID, CAPACITY_NUMBER, RESULT_TOTAL_ID, SUB_STATUS, INSERT_TIME)
+        values (#{subCapacityId}, #{capacityNumber}, #{resultTotalId}, 0, SYSDATE)
+    </insert>
+
+    <update id="cancelSubCapacity">
+        update QMS_SUB_CAPACITY
+        set SUB_STATUS  = 1,
+            UPDATE_TIME = SYSDATE
+        where CAPACITY_NUMBER = #{capacityNumber}
+          and SUB_STATUS = 0
+    </update>
+
+
+</mapper>