瀏覽代碼

内转计量接口

txf 3 年之前
父節點
當前提交
0061cd8908

+ 8 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -8,10 +8,15 @@ import java.util.Map;
 
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 @Mapper
 public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightResult, BigDecimal> {
 
+    //查询最大主键Id
+    @Select("select seq_tmstruck_weight_result.nextval from dual")
+    BigDecimal selectMaxId();
+
     // 得到计重实绩主键id
     BigDecimal getWeightTaskResultId(Map<String,Object>mapValue);
 
@@ -31,6 +36,9 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
     //通过运输订单号 查询实绩Id、总实绩ID
     Map<String, Object> selectTotalIdByOrderNo(Map<String, Object> map);
 
+    //通过运输订单号 和物资ID 查询实绩ID
+    Map<String, Object> selectResultIdByOrderNoAndMaterialId(Map<String, Object> map);
+
     //通过汽车衡编号查询汽车衡ID
     Integer selectTruckCalculateId(String truckCalculateNumber);
 

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

@@ -60,6 +60,9 @@ public interface UtilsMapper {
     //通过总实绩ID查找订单类型
     Integer getOrderTypeByTotalId(BigDecimal resultTotalId);
 
+    //通过运输订单号查询运输订单类型
+    Map<String, Object> getOrderTypeByOrderNumber(String orderNumber);
+
     //查询最大路段顺序号 以及当前订单路段顺序号(执行到哪一步)
     Map<String, Object> getLineSeqAndOrderSeq(Map<String, Object> map);
 

+ 33 - 1
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -118,6 +118,28 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
      * @return
      */
     public String addTruckWeightResult(Map<String, Object> map) {
+        //首先通过运输订单号查询订单类型
+        Map<String, Object> oneMap = utilsMapper.getOrderTypeByOrderNumber((String) map.get("orderNumber"));
+        if(oneMap == null){
+            return map.get("orderNumber") + "系统无此订单";
+        }
+        Integer orderType= DataChange.dataToBigDecimal(oneMap.get("orderType")).intValue();
+//        if(orderType == 11){
+//            TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
+//            tmstruckWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
+//            tmstruckWeightResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+//            //首先查询这个订单号的这个物资ID是否有计量实绩
+//            Map<String, Object> twoMap = tmstruckWeightResultMapper.selectResultIdByOrderNoAndMaterialId(map);
+//            if(twoMap == null){//如果查出来为空,则进行新增操作
+//                tmstruckWeightResult.setId(tmstruckWeightResultMapper.selectMaxId()); //新增主键
+//                tmstruckWeightResult.setResultTotalId(DataChange.dataToBigDecimal(oneMap.get("totalId"))); //新增总实绩ID
+//                try {
+//                    addWeightResult(tmstruckWeightResult, map);
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                }
+//            }
+//        }
         //通过运输订单号查询计量实绩Id
         Map<String, Object> stringObjectMap = tmstruckWeightResultMapper.selectWeightIdByOrderId(map);
         if(stringObjectMap == null){
@@ -137,7 +159,6 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         //如果含有这个变量则代表是老区订单需要判断是否回传给金蝶
         if(map.get("needCheckToKD") != null){
             if(map.get("resultNetWeight") != null){
-                Integer orderType = DataChange.dataToBigDecimal(stringObjectMap.get("orderTypee")).intValue();
                 Object resultCrossWeightTime = map.get("resultCrossWeightTime");
                 if ( orderType == 6 && resultCrossWeightTime != null && !"".equals(resultCrossWeightTime)) {
                     String resultNetWeight = String.valueOf(map.get("resultNetWeight")); //如果净重不为空  或者净重不为0
@@ -362,6 +383,17 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         }
     }
 
+    /**
+     * @Author TXF
+     * @Date 2022/2/18 9:55
+     * @param tmstruckWeightResult
+     * @param map
+     * @return
+     **/
+    public void insertWeightResultBy11(TmstruckWeightResult tmstruckWeightResult, Map<String, Object> map){
+
+    }
+
     /**
      * 添加火车计量实绩
      * @param map

+ 13 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -785,4 +785,17 @@
         WHERE
             OO.ORDER_NUMBER = #{orderNumber}
     </select>
+
+    <select id="selectResultIdByOrderNoAndMaterialId" parameterType="map" resultType="java.util.Map">
+        select TWR.WEIGHT_TASK_RESULT_ID    "weightTaskResultId",
+                TTR.RESULT_TOTAL_ID         "resultTotalId"
+        from OMSTRUCK_ORDER OO
+            left join TMSTRUCK_TOTAL_RESULT TTR
+                on TTR.ORDER_ID = OO.ORDER_ID
+            left join TMSTRUCK_WEIGHT_RESULT TWR
+                on TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        where TWR.RESULT_NET_WEIGHT is null
+              and OO.ORDER_NUMBER = #{orderNumber}
+              and TWR.MATERIAL_ID = #{materialId}
+    </select>
 </mapper>

+ 9 - 0
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -147,4 +147,13 @@
             on TRR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         where OO.ORDER_NUMBER = #{orderNumber} and TRR.status = 1
     </select>
+
+    <select id="getOrderTypeByOrderNumber" parameterType="string" resultType="map">
+        select OO.ORDER_TYPE "orderType",
+               TTR.RESULT_TOTAL_ID  "totalId"
+        from OMSTRUCK_ORDER OO
+                 left join TMSTRUCK_TOTAL_RESULT TTR
+                           on TTR.ORDER_ID = OO.ORDER_ID
+        where  OO.ORDER_ID=#{orderNumber}
+    </select>
 </mapper>