liyg 2 年 前
コミット
9fc79c3239

+ 2 - 0
src/main/java/com/steerinfo/dil/controller/TmstrainLoadingResultController.java

@@ -241,6 +241,8 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
         int result = tmstrainLoadingResultService.addWarehouseOutResult(map);
         if (result==-1){
             return failed("港存库实时库存不够");
+        } else if (result==-2) {
+             return failed("不存在港存库实时库存");
         }
         return success();
     }

+ 1 - 0
src/main/java/com/steerinfo/dil/mapper/TmstrainLoadingTempMapper.java

@@ -7,4 +7,5 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface TmstrainLoadingTempMapper extends IBaseMapper<TmstrainLoadingTemp, BigDecimal> {
+     BigDecimal selectMaxId();
 }

+ 19 - 3
src/main/java/com/steerinfo/dil/model/TmstrainLoadingTemp.java

@@ -3,12 +3,13 @@ package com.steerinfo.dil.model;
 import com.steerinfo.framework.model.IBasePO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
 
-@ApiModel(value="这张表是用来保存导入装车excel的临时数据国产矿和进口矿的excel不一致")
+@ApiModel(value="null")
 public class TmstrainLoadingTemp implements IBasePO<BigDecimal> {
     /**
-     * 主键ID(RESULT_ID,DECIMAL,38)
+     * 主键ID(RESULT_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="主键ID",required=true)
     private BigDecimal resultId;
@@ -20,7 +21,7 @@ public class TmstrainLoadingTemp implements IBasePO<BigDecimal> {
     private String resultWagonNo;
 
     /**
-     * 车皮标重(RESULT_BILLABLE_TONNAGE,DECIMAL,38)
+     * 车皮标重(RESULT_BILLABLE_TONNAGE,DECIMAL,0)
      */
     @ApiModelProperty(value="车皮标重",required=false)
     private BigDecimal resultBillableTonnage;
@@ -67,6 +68,12 @@ public class TmstrainLoadingTemp implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="矿种",required=false)
     private String mineral;
 
+    /**
+     * 采购订单号(PURCHASE_ORDER_NO,VARCHAR,100)
+     */
+    @ApiModelProperty(value="采购订单号",required=false)
+    private String purchaseOrderNo;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -159,6 +166,14 @@ public class TmstrainLoadingTemp implements IBasePO<BigDecimal> {
         this.mineral = mineral == null ? null : mineral.trim();
     }
 
+    public String getPurchaseOrderNo() {
+        return purchaseOrderNo;
+    }
+
+    public void setPurchaseOrderNo(String purchaseOrderNo) {
+        this.purchaseOrderNo = purchaseOrderNo == null ? null : purchaseOrderNo.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -175,6 +190,7 @@ public class TmstrainLoadingTemp implements IBasePO<BigDecimal> {
         sb.append(", sendDate=").append(sendDate);
         sb.append(", makeDate=").append(makeDate);
         sb.append(", mineral=").append(mineral);
+        sb.append(", purchaseOrderNo=").append(purchaseOrderNo);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 20 - 9
src/main/java/com/steerinfo/dil/service/impl/TmstrainLoadingResultServiceImpl.java

@@ -389,13 +389,13 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
     /**
      * 添加港存库出库实绩
      * @param map2
-     * @param batchId
+     * @param map2
      */
-    public int addOutWarehouse(Map<String,Object> map2, BigDecimal batchId){
+    public int addOutWarehouse(Map<String,Object> map2){
         Map<String, Object> map = new HashMap<>();
         map.put("isClean",map2.get("isClean"));
         map.put("resultMaterialNumber",map2.get("resultTonnage"));
-        map.put("batchId", batchId);
+        map.put("batchId", map2.get("batchId"));
         //通过港口名称查找港口id
         BigDecimal portId = tmstrainLoadingResultMapper.getPortIdByPortName((String) map2.get("portName"));
         map.put("portId", portId);
@@ -665,7 +665,9 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
     @Override
     @Transactional
     public int addWarehouseOutResult(Map<String, Object> map) {
+        int i=0;
         //根据车皮号计算标重
+        int wagonWeight=0;
         BigDecimal resultType =DataChange.dataToBigDecimal(map.get("resultType"));
         List<Map<String,Object>> wagonList =(List<Map<String, Object>>) map.get("wagonList");
         for (Map<String,Object> wagon:wagonList){
@@ -678,15 +680,24 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
             if (batchInfocatoryByNo.size() >= 1){
                 Map<String, Object> map1 = batchInfocatoryByNo.get(0);
                  batchId =DataChange.dataToBigDecimal(map1.get("batchId"));
+                 map.put("batchId",batchId);
+            }else {
+                return  -2;
             }
-            int wagonWeight = calculateWagonWeight(wagonNo);
+            wagonWeight += calculateWagonWeight(wagonNo);
             map.put("resultTonnage",wagonWeight);
+            // insert TrainLoadingTemp
+            TmstrainLoadingTemp temp=new TmstrainLoadingTemp();
+            temp.setResultId(tmstrainLoadingTempMapper.selectMaxId());
+            temp.setResultWagonNo(wagonNo);
+            temp.setPurchaseOrderNo(purchaseNo);
+            temp.setResultBillableTonnage(DataChange.dataToBigDecimal(wagonWeight));
+            tmstrainLoadingTempMapper.insertSelective(temp);
             //如果订单类型为采购进口矿火运(万州港---达州 || 万州港--老区轨道衡) 添加总车皮标重传输给港存库
-            if(resultType.intValue() == 1){
-                int i = addOutWarehouse(map, batchId);
-                return i;
-            }
         }
-        return 0;
+        if(resultType.intValue() == 1){
+            i = addOutWarehouse(map);
+        }
+        return i;
     }
 }

+ 8 - 11
src/main/resources/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.xml

@@ -1214,17 +1214,14 @@
 
 
   <select id="getBatchInfocatoryByNo" parameterType="java.util.Map" resultType="java.util.Map">
-     select  DBI.BATCH_INFACOTRY_ID "batchId"
-     from AMS_PURCHASE_ORDER APO
-     LEFT JOIN DIL_BATCH DB
-     ON APO.BATCH_ID=DB.BATCH_ID
-     LEFT JOIN DIL_BATCH_INFACOTRY DBI
-     ON DB.BATCH_ID=DBI.BATCH_ID
-     left join WMSH_GRID_MATERIAL WGM
-     ON WGM.BATCH_ID = DBI.BATCH_INFACOTRY_ID
-     LEFT JOIN RMS_PORT RP
-     ON RP.PORT_ID=WGM.PORT_ID
-     WHERE  APO.PURCHASE_ORDER_NO = #{purchaseNo} AND RP.PORT_NAME = #{portName}
+    SELECT
+      DB.BATCH_ID "batchId"
+    FROM
+      AMS_PURCHASE_ORDER APO
+        LEFT JOIN DIL_BATCH DB ON APO.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN WMSH_GRID_MATERIAL WGM ON WGM.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_PORT RP ON RP.PORT_ID = WGM.PORT_ID
+    WHERE  APO.PURCHASE_ORDER_NO = #{purchaseNo} AND RP.PORT_NAME = #{portName}
   </select>
 
   <!-- 通过订单No查询订单Id -->

+ 149 - 122
src/main/resources/com/steerinfo/dil/mapper/TmstrainLoadingTempMapper.xml

@@ -12,23 +12,24 @@
     <result column="SEND_DATE" jdbcType="VARCHAR" property="sendDate" />
     <result column="MAKE_DATE" jdbcType="VARCHAR" property="makeDate" />
     <result column="MINERAL" jdbcType="VARCHAR" property="mineral" />
+    <result column="PURCHASE_ORDER_NO" jdbcType="VARCHAR" property="purchaseOrderNo" />
   </resultMap>
   <sql id="columns">
-    RESULT_ID, RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, MATERIAL_NAME, SEND_STATION, 
-    ARRIVAL_STATION, SUPPLIER_NAME, SEND_DATE, MAKE_DATE, MINERAL
+    RESULT_ID, RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, MATERIAL_NAME, SEND_STATION,
+    ARRIVAL_STATION, SUPPLIER_NAME, SEND_DATE, MAKE_DATE, MINERAL, PURCHASE_ORDER_NO
   </sql>
   <sql id="columns_alias">
-    t.RESULT_ID, t.RESULT_WAGON_NO, t.RESULT_BILLABLE_TONNAGE, t.MATERIAL_NAME, t.SEND_STATION, 
-    t.ARRIVAL_STATION, t.SUPPLIER_NAME, t.SEND_DATE, t.MAKE_DATE, t.MINERAL
+    t.RESULT_ID, t.RESULT_WAGON_NO, t.RESULT_BILLABLE_TONNAGE, t.MATERIAL_NAME, t.SEND_STATION,
+    t.ARRIVAL_STATION, t.SUPPLIER_NAME, t.SEND_DATE, t.MAKE_DATE, t.MINERAL, t.PURCHASE_ORDER_NO
   </sql>
   <sql id="select">
-    SELECT <include refid="columns"/> FROM TMSTRAIN_LOADING_TEMP
+    SELECT <include refid="columns" /> FROM TMSTRAIN_LOADING_TEMP
   </sql>
   <sql id="select_alias">
-    SELECT <include refid="columns_alias"/> FROM TMSTRAIN_LOADING_TEMP t
+    SELECT <include refid="columns_alias" /> FROM TMSTRAIN_LOADING_TEMP t
   </sql>
   <sql id="where">
-    <where> 
+    <where>
       <if test="resultId != null">
         and RESULT_ID = #{resultId}
       </if>
@@ -59,10 +60,13 @@
       <if test="mineral != null and mineral != ''">
         and MINERAL = #{mineral}
       </if>
+      <if test="purchaseOrderNo != null and purchaseOrderNo != ''">
+        and PURCHASE_ORDER_NO = #{purchaseOrderNo}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
-    <where> 
+    <where>
       <if test="resultId != null">
         and RESULT_ID = #{resultId}
       </if>
@@ -93,52 +97,58 @@
       <if test="mineral != null and mineral != ''">
         and MINERAL LIKE '%${mineral}%'
       </if>
+      <if test="purchaseOrderNo != null and purchaseOrderNo != ''">
+        and PURCHASE_ORDER_NO LIKE '%${purchaseOrderNo}%'
+      </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from TMSTRAIN_LOADING_TEMP
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </delete>
   <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
     delete from TMSTRAIN_LOADING_TEMP
-    where 1!=1 
-      <if test="resultWagonNo != null and resultWagonNo != ''">
-        or RESULT_WAGON_NO = #{resultWagonNo}
-      </if>
-      <if test="resultBillableTonnage != null">
-        or RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage}
-      </if>
-      <if test="materialName != null and materialName != ''">
-        or MATERIAL_NAME = #{materialName}
-      </if>
-      <if test="sendStation != null and sendStation != ''">
-        or SEND_STATION = #{sendStation}
-      </if>
-      <if test="arrivalStation != null and arrivalStation != ''">
-        or ARRIVAL_STATION = #{arrivalStation}
-      </if>
-      <if test="supplierName != null and supplierName != ''">
-        or SUPPLIER_NAME = #{supplierName}
-      </if>
-      <if test="sendDate != null and sendDate != ''">
-        or SEND_DATE = #{sendDate}
-      </if>
-      <if test="makeDate != null and makeDate != ''">
-        or MAKE_DATE = #{makeDate}
-      </if>
-      <if test="mineral != null and mineral != ''">
-        or MINERAL = #{mineral}
-      </if>
+    where 1!=1
+    <if test="resultWagonNo != null and resultWagonNo != ''">
+      or RESULT_WAGON_NO = #{resultWagonNo}
+    </if>
+    <if test="resultBillableTonnage != null">
+      or RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage}
+    </if>
+    <if test="materialName != null and materialName != ''">
+      or MATERIAL_NAME = #{materialName}
+    </if>
+    <if test="sendStation != null and sendStation != ''">
+      or SEND_STATION = #{sendStation}
+    </if>
+    <if test="arrivalStation != null and arrivalStation != ''">
+      or ARRIVAL_STATION = #{arrivalStation}
+    </if>
+    <if test="supplierName != null and supplierName != ''">
+      or SUPPLIER_NAME = #{supplierName}
+    </if>
+    <if test="sendDate != null and sendDate != ''">
+      or SEND_DATE = #{sendDate}
+    </if>
+    <if test="makeDate != null and makeDate != ''">
+      or MAKE_DATE = #{makeDate}
+    </if>
+    <if test="mineral != null and mineral != ''">
+      or MINERAL = #{mineral}
+    </if>
+    <if test="purchaseOrderNo != null and purchaseOrderNo != ''">
+      or PURCHASE_ORDER_NO = #{purchaseOrderNo}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.TmstrainLoadingTemp">
-    insert into TMSTRAIN_LOADING_TEMP (RESULT_ID, RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, 
-      MATERIAL_NAME, SEND_STATION, ARRIVAL_STATION, 
-      SUPPLIER_NAME, SEND_DATE, MAKE_DATE, 
-      MINERAL)
-    values (#{resultId,jdbcType=DECIMAL}, #{resultWagonNo,jdbcType=VARCHAR}, #{resultBillableTonnage,jdbcType=DECIMAL}, 
-      #{materialName,jdbcType=VARCHAR}, #{sendStation,jdbcType=VARCHAR}, #{arrivalStation,jdbcType=VARCHAR}, 
-      #{supplierName,jdbcType=VARCHAR}, #{sendDate,jdbcType=VARCHAR}, #{makeDate,jdbcType=VARCHAR}, 
-      #{mineral,jdbcType=VARCHAR})
+    insert into TMSTRAIN_LOADING_TEMP (RESULT_ID, RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE,
+                                       MATERIAL_NAME, SEND_STATION, ARRIVAL_STATION,
+                                       SUPPLIER_NAME, SEND_DATE, MAKE_DATE,
+                                       MINERAL, PURCHASE_ORDER_NO)
+    values (#{resultId,jdbcType=DECIMAL}, #{resultWagonNo,jdbcType=VARCHAR}, #{resultBillableTonnage,jdbcType=DECIMAL},
+            #{materialName,jdbcType=VARCHAR}, #{sendStation,jdbcType=VARCHAR}, #{arrivalStation,jdbcType=VARCHAR},
+            #{supplierName,jdbcType=VARCHAR}, #{sendDate,jdbcType=VARCHAR}, #{makeDate,jdbcType=VARCHAR},
+            #{mineral,jdbcType=VARCHAR}, #{purchaseOrderNo,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstrainLoadingTemp">
     insert into TMSTRAIN_LOADING_TEMP
@@ -173,6 +183,9 @@
       <if test="mineral != null">
         MINERAL,
       </if>
+      <if test="purchaseOrderNo != null">
+        PURCHASE_ORDER_NO,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="resultId != null">
@@ -205,19 +218,23 @@
       <if test="mineral != null">
         #{mineral,jdbcType=VARCHAR},
       </if>
+      <if test="purchaseOrderNo != null">
+        #{purchaseOrderNo,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstrainLoadingTemp">
     update TMSTRAIN_LOADING_TEMP
     set RESULT_WAGON_NO = #{resultWagonNo,jdbcType=VARCHAR},
-      RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage,jdbcType=DECIMAL},
-      MATERIAL_NAME = #{materialName,jdbcType=VARCHAR},
-      SEND_STATION = #{sendStation,jdbcType=VARCHAR},
-      ARRIVAL_STATION = #{arrivalStation,jdbcType=VARCHAR},
-      SUPPLIER_NAME = #{supplierName,jdbcType=VARCHAR},
-      SEND_DATE = #{sendDate,jdbcType=VARCHAR},
-      MAKE_DATE = #{makeDate,jdbcType=VARCHAR},
-      MINERAL = #{mineral,jdbcType=VARCHAR}
+        RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage,jdbcType=DECIMAL},
+        MATERIAL_NAME = #{materialName,jdbcType=VARCHAR},
+        SEND_STATION = #{sendStation,jdbcType=VARCHAR},
+        ARRIVAL_STATION = #{arrivalStation,jdbcType=VARCHAR},
+        SUPPLIER_NAME = #{supplierName,jdbcType=VARCHAR},
+        SEND_DATE = #{sendDate,jdbcType=VARCHAR},
+        MAKE_DATE = #{makeDate,jdbcType=VARCHAR},
+        MINERAL = #{mineral,jdbcType=VARCHAR},
+        PURCHASE_ORDER_NO = #{purchaseOrderNo,jdbcType=VARCHAR}
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstrainLoadingTemp">
@@ -250,93 +267,103 @@
       <if test="mineral != null">
         MINERAL = #{mineral,jdbcType=VARCHAR},
       </if>
+      <if test="purchaseOrderNo != null">
+        PURCHASE_ORDER_NO = #{purchaseOrderNo,jdbcType=VARCHAR},
+      </if>
     </set>
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
-    <include refid="select"/>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <include refid="select" />
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </select>
   <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-    <include refid="select"/>
-    <include refid="where"/>
+    <include refid="select" />
+    <include refid="where" />
   </select>
   <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-    <include refid="select"/>
-    <include refid="whereLike"/>
+    <include refid="select" />
+    <include refid="whereLike" />
   </select>
   <insert id="batchInsert" parameterType="java.util.List">
-    insert into TMSTRAIN_LOADING_TEMP 
-      (RESULT_ID, 
-      RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, 
-      MATERIAL_NAME, SEND_STATION, ARRIVAL_STATION, 
-      SUPPLIER_NAME, SEND_DATE, MAKE_DATE, 
-      MINERAL)
-    ( <foreach collection="list" item="item" separator="union all"> 
-   select  
-      #{item.resultId,jdbcType=DECIMAL}, 
-      #{item.resultWagonNo,jdbcType=VARCHAR}, #{item.resultBillableTonnage,jdbcType=DECIMAL}, 
-      #{item.materialName,jdbcType=VARCHAR}, #{item.sendStation,jdbcType=VARCHAR}, #{item.arrivalStation,jdbcType=VARCHAR}, 
-      #{item.supplierName,jdbcType=VARCHAR}, #{item.sendDate,jdbcType=VARCHAR}, #{item.makeDate,jdbcType=VARCHAR}, 
-      #{item.mineral,jdbcType=VARCHAR} from dual  
-   </foreach> )
+    insert into TMSTRAIN_LOADING_TEMP
+    (RESULT_ID,
+    RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE,
+    MATERIAL_NAME, SEND_STATION, ARRIVAL_STATION,
+    SUPPLIER_NAME, SEND_DATE, MAKE_DATE,
+    MINERAL, PURCHASE_ORDER_NO)
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.resultId,jdbcType=DECIMAL},
+    #{item.resultWagonNo,jdbcType=VARCHAR}, #{item.resultBillableTonnage,jdbcType=DECIMAL},
+    #{item.materialName,jdbcType=VARCHAR}, #{item.sendStation,jdbcType=VARCHAR}, #{item.arrivalStation,jdbcType=VARCHAR},
+    #{item.supplierName,jdbcType=VARCHAR}, #{item.sendDate,jdbcType=VARCHAR}, #{item.makeDate,jdbcType=VARCHAR},
+    #{item.mineral,jdbcType=VARCHAR}, #{item.purchaseOrderNo,jdbcType=VARCHAR} from dual
+  </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
-     update TMSTRAIN_LOADING_TEMP
-     set
-       RESULT_ID=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultId,jdbcType=DECIMAL}
-       </foreach>
-       ,RESULT_WAGON_NO=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultWagonNo,jdbcType=VARCHAR}
-       </foreach>
-       ,RESULT_BILLABLE_TONNAGE=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultBillableTonnage,jdbcType=DECIMAL}
-       </foreach>
-       ,MATERIAL_NAME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.materialName,jdbcType=VARCHAR}
-       </foreach>
-       ,SEND_STATION=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.sendStation,jdbcType=VARCHAR}
-       </foreach>
-       ,ARRIVAL_STATION=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.arrivalStation,jdbcType=VARCHAR}
-       </foreach>
-       ,SUPPLIER_NAME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.supplierName,jdbcType=VARCHAR}
-       </foreach>
-       ,SEND_DATE=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.sendDate,jdbcType=VARCHAR}
-       </foreach>
-       ,MAKE_DATE=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.makeDate,jdbcType=VARCHAR}
-       </foreach>
-       ,MINERAL=
-       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.mineral,jdbcType=VARCHAR}
-       </foreach>
-     where RESULT_ID in 
-     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
-    #{item.resultId,jdbcType=DECIMAL}
-     </foreach> 
+    update TMSTRAIN_LOADING_TEMP
+    set
+    RESULT_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultId,jdbcType=DECIMAL}
+    </foreach>
+    ,RESULT_WAGON_NO=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultWagonNo,jdbcType=VARCHAR}
+    </foreach>
+    ,RESULT_BILLABLE_TONNAGE=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultBillableTonnage,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_NAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.materialName,jdbcType=VARCHAR}
+    </foreach>
+    ,SEND_STATION=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.sendStation,jdbcType=VARCHAR}
+    </foreach>
+    ,ARRIVAL_STATION=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.arrivalStation,jdbcType=VARCHAR}
+    </foreach>
+    ,SUPPLIER_NAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.supplierName,jdbcType=VARCHAR}
+    </foreach>
+    ,SEND_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.sendDate,jdbcType=VARCHAR}
+    </foreach>
+    ,MAKE_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.makeDate,jdbcType=VARCHAR}
+    </foreach>
+    ,MINERAL=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.mineral,jdbcType=VARCHAR}
+    </foreach>
+    ,PURCHASE_ORDER_NO=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.purchaseOrderNo,jdbcType=VARCHAR}
+    </foreach>
+    where RESULT_ID in
+    <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+      #{item.resultId,jdbcType=DECIMAL}
+    </foreach>
   </update>
   <delete id="batchDelete" parameterType="java.util.List">
     delete from TMSTRAIN_LOADING_TEMP
-    where RESULT_ID in 
-    <foreach collection="list" item="id" open="(" close=")" separator=",">
+    where RESULT_ID in
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
       #{id}
     </foreach>
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+
+  <select id="selectMaxId" resultType="java.math.BigDecimal">
+    select seq_tmstrain_loading_temp.nextval from dual
+  </select>
 </mapper>