zx 2 years ago
parent
commit
cd875409f8

+ 1 - 1
pom.xml

@@ -111,7 +111,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                         <table>TMSTRAIN_LOADING_TEMP</table>
+                         <table>TMSTRAIN_LOADING_RESULT</table>
                     </tables>
                 </configuration>
                 <executions>

+ 46 - 9
src/main/java/com/steerinfo/dil/controller/TmstrainLoadingResultController.java

@@ -237,22 +237,36 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
     //内转物流新增装车
     @ApiOperation(value = "进口矿港存库出库")
     @PostMapping(value = "/addWarehouseOutResult")
-    public RESTfulResult addWarehouseOutResult(@RequestBody(required = false) Map<String, Object> map) {
-        int result = tmstrainLoadingResultService.addWarehouseOutResult(map);
-        if (result==-1){
-            return failed("港存库实时库存不够");
-        } else if (result==-2) {
-             return failed("不存在港存库实时库存");
+    public RESTfulResult addWarehouseOutResult(@RequestBody(required = false) Map<String, Object> map) throws Exception {
+        int result=0;
+        try{
+            result = tmstrainLoadingResultService.addWarehouseOutResult(map);
+        }catch (Exception e){
+            return  failed(e.getMessage());
         }
-        return success();
+        return success(result);
     }
 
 
     //内转物流修改出库
     @ApiOperation(value = "进口矿港存库修改出库")
     @PostMapping(value = "/updateWarehouseResult")
-    public RESTfulResult updateWarehouseResult(@RequestBody(required = false) Map<String, Object> map) {
-        int result = tmstrainLoadingResultService.updateWarehouseResult(map);
+    public RESTfulResult updateWarehouseResult(@RequestBody(required = false) Map<String, Object> map) throws Exception {
+         int result=9;
+        try{
+             result = tmstrainLoadingResultService.updateWarehouseResult(map);
+        }catch (Exception e){
+            return  failed(e.getMessage());
+        }
+        return success(result);
+    }
+
+
+    //内转物流修改出库
+    @ApiOperation(value = "进口矿(万州港-达州)")
+    @PostMapping(value = "/addShipLoadResult")
+    public RESTfulResult addShipLoadResult(@RequestBody(required = false) Map<String, Object> map) {
+        int result = tmstrainLoadingResultService.addShipLoadResult(map);
         return success(result);
     }
 
@@ -342,6 +356,7 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
         return success("发送成功");
     }
 
+
     @ApiOperation(value = "根据物资名和外轮船名查询采购订单号")
     @PostMapping(value = "/getPurchaseOrderList")
     public RESTfulResult getPurchaseOrderList(@RequestBody(required = false) Map<String, Object> map,
@@ -361,4 +376,26 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, mes);
         return success(pageList);
     }
+
+
+
+    @ApiOperation(value = "根据物资名和外轮船名查询采购订单号")
+    @PostMapping(value = "/getResultType")
+    public RESTfulResult getResultType(@RequestBody(required = false) Map<String, Object> map,
+                                              Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize,
+                                              String con
+                                              ) {
+
+        if (con!=null&&!"".equals(con)){
+          map.put("con",con);
+        }
+        //不分页筛选数据
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> mes = tmstrainLoadingResultService.getResultType(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, mes);
+        return success(pageList);
+    }
 }

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

@@ -100,8 +100,8 @@ public class TmstrainWagonUnloadResultController extends BaseRESTfulController {
             @ApiImplicitParam(name = "tmstrainWagonUnloadResult", value = "车皮卸车对象", required = false, dataType = "TmstrainWagonUnloadResult")
     })
     @PostMapping(value = "/insertTmstrainWagonUnLoadResult")
-    public RESTfulResult insertTmstrainWagonUnLoadResult(@RequestBody(required = false) TmstrainWagonUnloadResult tmstrainWagonUnloadResult, Integer orderType) throws Exception {
-        int i = tmstrainWagonUnloadResultService.insertTmstrainWagonUnLoadResult(tmstrainWagonUnloadResult);
+    public RESTfulResult insertTmstrainWagonUnLoadResult(@RequestBody(required = false) Map<String,Object> map, Integer orderType) throws Exception {
+        int i = tmstrainWagonUnloadResultService.insertTmstrainWagonUnLoadResult(map);
         return success(i);
     }
 

+ 9 - 0
src/main/java/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.java

@@ -81,6 +81,9 @@ public interface TmstrainLoadingResultMapper extends IBaseMapper<TmstrainLoading
     //获取最大发站id
     BigDecimal getMaxSendStationId();
 
+    //根据到站id获取到站名称
+    String getArrivalName(BigDecimal arrivalStationId);
+
     //添加发站
     Integer addSendStation(Map<String,Object> map);
 
@@ -100,4 +103,10 @@ public interface TmstrainLoadingResultMapper extends IBaseMapper<TmstrainLoading
 
     BigDecimal getGridIdByPortAndBatch(Map<String, Object> map);
 
+    //查询临时表中的resultType的未绑定实绩的车皮
+    List<Map<String,Object>> getResultType(Map<String,Object> map);
+
+    //展示最近使用的采购订单号
+    List<Map<String,Object>> selectPurchaseOrderNo(Map<String,Object> map);
+
 }

+ 31 - 28
src/main/java/com/steerinfo/dil/model/TmstrainLoadingResult.java

@@ -1,13 +1,10 @@
 package com.steerinfo.dil.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.steerinfo.framework.model.IBasePO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.List;
 
 @ApiModel(value="车皮装车作业")
 public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
@@ -168,19 +165,22 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
     private BigDecimal sendRequest;
 
     /**
-     * 发货日期(SEND_DATE,TIMESTAMP,7)
+     * 发货日期(SEND_DATE,VARCHAR,50)
      */
     @ApiModelProperty(value="发货日期",required=false)
     private String sendDate;
 
-    @TableField(exist = false)
-    @ApiModelProperty(value = "车皮号列表")
-    private List<String> wagonNoList;
-
-    @TableField(exist = false)
-    @ApiModelProperty(value = "用户id")
-    private String userId;
+    /**
+     * 临时表ID(TEMP_RESULT_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="临时表ID",required=false)
+    private BigDecimal tempResultId;
 
+    /**
+     * 到货日期(ARRIVAL_DATE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="到货日期",required=false)
+    private String arrivalDate;
 
     private static final long serialVersionUID = 1L;
 
@@ -407,7 +407,23 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
     }
 
     public void setSendDate(String sendDate) {
-        this.sendDate = sendDate;
+        this.sendDate = sendDate == null ? null : sendDate.trim();
+    }
+
+    public BigDecimal getTempResultId() {
+        return tempResultId;
+    }
+
+    public void setTempResultId(BigDecimal tempResultId) {
+        this.tempResultId = tempResultId;
+    }
+
+    public String getArrivalDate() {
+        return arrivalDate;
+    }
+
+    public void setArrivalDate(String arrivalDate) {
+        this.arrivalDate = arrivalDate == null ? null : arrivalDate.trim();
     }
 
     @Override
@@ -442,24 +458,11 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
         sb.append(", unloadingPointId=").append(unloadingPointId);
         sb.append(", sendUnitId=").append(sendUnitId);
         sb.append(", sendRequest=").append(sendRequest);
+        sb.append(", sendDate=").append(sendDate);
+        sb.append(", tempResultId=").append(tempResultId);
+        sb.append(", arrivalDate=").append(arrivalDate);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();
     }
-
-    public List<String> getWagonNoList() {
-        return wagonNoList;
-    }
-
-    public void setWagonNoList(List<String> wagonNoList) {
-        this.wagonNoList = wagonNoList;
-    }
-
-    public String getUserId() {
-        return userId;
-    }
-
-    public void setUserId(String userId) {
-        this.userId = userId;
-    }
 }

+ 8 - 2
src/main/java/com/steerinfo/dil/service/ITmstrainLoadingResultService.java

@@ -65,10 +65,16 @@ public interface ITmstrainLoadingResultService{
     //根据物资名和外轮船名查询采购订单号
     List<Map<String,Object>> getPurchaseOrderList(Map<String,Object> map);
 
-    int addWarehouseOutResult(Map<String, Object> map);
+    int addWarehouseOutResult(Map<String, Object> map) throws Exception;
 
      //修改港口出库
-    int updateWarehouseResult(Map<String, Object> map);
+    int updateWarehouseResult(Map<String, Object> map) throws Exception;
 
     List<Map<String, Object>> getWareHouseOutresult(BigDecimal resultId);
+
+    //查询临时表中的resultType的未绑定实绩的车皮
+    List<Map<String,Object>> getResultType(Map<String,Object> map);
+
+    //新增万州港-达州装车实绩
+    int addShipLoadResult(Map<String,Object> map);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/ITmstrainWagonUnloadResultService.java

@@ -27,7 +27,7 @@ public interface ITmstrainWagonUnloadResultService{
     int deleteTmstrainWagonUnLoadResultByUnLoadingId(BigDecimal unloadingId);
 
     //新增车皮卸车实绩
-    int insertTmstrainWagonUnLoadResult(TmstrainWagonUnloadResult tmstrainWagonUnloadResult) throws Exception;
+    int insertTmstrainWagonUnLoadResult(Map<String,Object>  map) throws Exception;
 
     //修改车皮装车作业实绩
     int updateTmstrainWagonUnLoadResult(TmstrainWagonUnloadResult tmstrainWagonUnloadResult);

+ 104 - 16
src/main/java/com/steerinfo/dil/service/impl/TmstrainLoadingResultServiceImpl.java

@@ -5,6 +5,7 @@ import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.ITmstrainLoadingResultService;
 import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -109,7 +110,7 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
      * @return
      */
     @Override
-    @Transactional
+    @Transactional(rollbackFor = {Exception.class})
     public int addTmstrainLoadingResult(Map<String,Object> mapValue) throws Exception{
         List<Map<String, Object>> list= (List<Map<String, Object>>) mapValue.get("list");
         String userId=null;
@@ -204,6 +205,7 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
      * @param mapValue
      * @return
      */
+    @Transactional(rollbackFor = {Exception.class})
     public int addDomesticLoadResult(Map<String, Object> mapValue) throws Exception {
         List<Map<String, Object>> list= (List<Map<String, Object>>) mapValue.get("list");
         String userId=null;
@@ -255,6 +257,12 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
             result.setResultType(new BigDecimal(map.get("resultType").toString()));//装车类型,国产矿应该为3
             result.setResultRemarks((String) map.get("resultRemarks"));//备注
             result.setResultWagonNo(map.get("wagonNo").toString());//车皮号
+            //发货日期
+            String sendDate = (String) map.get("sendDate");
+            result.setSendDate(sendDate);
+            //到货日期
+            String arriveDate =(String) map.get("arrivalDate");
+            result.setArrivalDate(arriveDate);
             //取得发站名,查询是否存在该站台,如果存在则绑定,否则新增该站台再绑定
             String sendStationName=(String) map.get("sendStation");//发站名
             if(sendStationName!=null){
@@ -391,7 +399,8 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
      * @param map2
      * @param map2
      */
-    public int addOutWarehouse(Map<String,Object> map2){
+    @Transactional(rollbackFor = {Exception.class})
+    public int addOutWarehouse(Map<String,Object> map2) throws Exception{
         Map<String, Object> map = new HashMap<>();
         map.put("isClean",map2.get("isClean"));
         map.put("resultMaterialNumber",map2.get("resultTonnage"));
@@ -403,18 +412,19 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
         BigDecimal gridId = tmstrainLoadingResultMapper.getGridIdByPortAndBatch(map);
         map.put("gmId",gridId);
         if (map2.get("isClean").equals("清场")){
-            wmshBoundFeign.clearWmshGridMaterial(map);
+            Map<String, Object> stringObjectMap = wmshBoundFeign.clearWmshGridMaterial(map);
+            BigDecimal data = DataChange.dataToBigDecimal(stringObjectMap.get("data"));
+            return  data.intValue();
         }
         else {
             Map<String, Object> stringObjectMap = wmshBoundFeign.addResult(map);
             if (!stringObjectMap.get("code").equals("200")){
-                return  -1;
+                throw new Exception((String) stringObjectMap.get("data"));
             }else {
                 BigDecimal data = DataChange.dataToBigDecimal(stringObjectMap.get("data"));
                 return  data.intValue();
             }
         }
-        return  1;
     }
 
     /**
@@ -666,8 +676,8 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
 
     //万州港出库
     @Override
-    @Transactional
-    public int addWarehouseOutResult(Map<String, Object> map) {
+    @Transactional(rollbackFor = {Exception.class})
+    public int addWarehouseOutResult(Map<String, Object> map) throws Exception {
         int resultId=0;
         //根据车皮号计算标重
         int wagonWeight=0;
@@ -688,7 +698,7 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
                     batchId = DataChange.dataToBigDecimal(map1.get("batchId"));
                     map.put("batchId", batchId);
                 } else {
-                    return -2;
+                    throw new Exception("不存在港存库实时库存");
                 }
                 wagonWeight += calculateWagonWeight(wagonNo);
                 map.put("resultTonnage", wagonWeight);
@@ -712,10 +722,12 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
                     Map<String, Object> map1 = batchInfocatoryByNo.get(0);
                     batchId = DataChange.dataToBigDecimal(map1.get("batchId"));
                     map.put("batchId", batchId);
+
                 } else {
-                    return -2;
+                   throw new Exception("不存在港存库实时库存");
                 }
             }
+
         }
         if(resultType.intValue() == 1){
             resultId = addOutWarehouse(map);
@@ -741,7 +753,8 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
 
     //出库修改
     @Override
-    public int updateWarehouseResult(Map<String, Object> map) {
+    @Transactional(rollbackFor = {Exception.class})
+    public int updateWarehouseResult(Map<String, Object> map) throws Exception {
         String userId =(String) map.get("userId");
         BigDecimal outResultId =DataChange.dataToBigDecimal(map.get("OutResultId"));
         String purchaseOrderNoOld=null;
@@ -765,7 +778,7 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
              batchIdOld =DataChange.dataToBigDecimal(map1.get("batchId"));
              tonnage = DataChange.dataToBigDecimal(map1.get("resultTonnage"));
         }
-        String wagonNoNew = (String)map.get("wagonNo");
+        String wagonNoNew = (String)map.get("wagonNew");
         //判断原来的车皮标重以及现在的车皮标重
         //判断如果采购订单号不修改
         if (purchaseOrderNoNew!=null&&purchaseOrderNoNew.equals(purchaseOrderNoOld)){
@@ -790,9 +803,11 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
                     BigDecimal code = DataChange.dataToBigDecimal(stringObjectMap.get("code"));
                     if (code.equals(200)){
                          data =DataChange.dataToBigDecimal(stringObjectMap.get("data"));
+                         tmstrainLoadingTempMapper.updateTonnage(outResultId,tonnage.intValue()+TotalTonnage);
+                    }else {
+                        String message =(String) stringObjectMap.get("data");
+                        throw new Exception(message);
                     }
-                    tmstrainLoadingTempMapper.updateTonnage(outResultId,tonnage.intValue()+TotalTonnage);
-
                 }else {
                     //如果新的车皮标重小于原来的车皮标重,就进行多余部分的港存库入库。
                     TotalTonnage=wagonWeightOld.intValue()-wagonWeightNew;
@@ -825,15 +840,17 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
                     BigDecimal code = DataChange.dataToBigDecimal(stringObjectMap.get("code"));
                     if (code.equals(200)){
                         data =DataChange.dataToBigDecimal(stringObjectMap.get("data"));
+                        tmstrainLoadingTempMapper.updateTonnage(outResultId,tonnage.intValue()+TotalTonnage);
+                    }else {
+                        String message =(String) stringObjectMap.get("data");
+                        throw new Exception(message);
                     }
-                    tmstrainLoadingTempMapper.updateTonnage(outResultId,tonnage.intValue()+TotalTonnage);
-
                 }else {
                     //如果新的车皮标重小于原来的车皮标重,就进行多余部分的港存库入库。
                     TotalTonnage=wagonWeightOld.intValue()-wagonWeightNew;
                     map.put("resultMaterialNumber",TotalTonnage);
                     map.put("batchId",batchIdNew);
-                    wmshBoundFeign.addWarehousingResult(map);
+                     wmshBoundFeign.addWarehousingResult(map);
                     tmstrainLoadingTempMapper.updateTonnage(outResultId,tonnage.intValue()-TotalTonnage);
                 }
             }
@@ -859,4 +876,75 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
     public List<Map<String, Object>> getWareHouseOutresult(BigDecimal resultId) {
         return tmstrainLoadingTempMapper.getWareHouseOutresult(resultId);
     }
+
+    @Override
+    public List<Map<String, Object>> getResultType(Map<String, Object> map) {
+        return tmstrainLoadingResultMapper.getResultType(map);
+    }
+
+    //新增万州港-达州
+    @Override
+    public int addShipLoadResult(Map<String, Object> map) {
+        //用户id
+        int i=0;
+        ArrayList<Map<String,Object>> resultIdList=new ArrayList<>();
+        String userId =(String) map.get("userId");
+        String remarks =(String) map.get("remarks");
+        BigDecimal sendStationId =DataChange.dataToBigDecimal( map.get("sendStationId"));
+        BigDecimal resultType =DataChange.dataToBigDecimal(map.get("resultType"));
+        BigDecimal arrivalStationId = DataChange.dataToBigDecimal(map.get("arrivalStationId"));
+        List<Map<String,Object>> wagonList =(List<Map<String, Object>>) map.get("wagonList");
+        String resultClass =(String) map.get("resultClass");
+        for (Map<String,Object> map1:wagonList){
+            BigDecimal purchaseId = DataChange.dataToBigDecimal(map1.get("purchaseId"));
+            BigDecimal batchId = DataChange.dataToBigDecimal(map1.get("batchId"));
+            BigDecimal tempResultId =DataChange.dataToBigDecimal(map1.get("tempResultId"));
+            BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
+            BigDecimal supplierUnitId = DataChange.dataToBigDecimal(map1.get("supplierUnitId"));
+            BigDecimal resultId = tmstrainLoadingTempMapper.selectMaxId();
+            String wgonNo1 =(String) map1.get("wagonNo");
+            //生成装车实绩
+            TmstrainLoadingResult tmstrainLoadingResult = new TmstrainLoadingResult();
+            //生成主键id
+            tmstrainLoadingResult.setResultId(resultId);
+            //新增采购订单id
+            tmstrainLoadingResult.setPurchaseOrderRailPlanId(purchaseId);
+            //新增车皮号
+            tmstrainLoadingResult.setResultWagonNo(wgonNo1);
+            //新增批次id
+            tmstrainLoadingResult.setBatchId(batchId);
+            tmstrainLoadingResult.setResultClass(resultClass);
+            tmstrainLoadingResult.setResultLoadingDate(new Date());
+            if (remarks!=null) {
+                tmstrainLoadingResult.setResultRemarks(remarks);
+            }
+            tmstrainLoadingResult.setMaterialId(materialId);
+            tmstrainLoadingResult.setSendUnitId(supplierUnitId);
+            tmstrainLoadingResult.setTempResultId(tempResultId);
+            tmstrainLoadingResult.setSendStationId(sendStationId);
+
+            tmstrainLoadingResult.setArrivalStationId(arrivalStationId);
+            tmstrainLoadingResult.setResultType(resultType);
+            tmstrainLoadingResult.setDeleted(new BigDecimal(0));
+            tmstrainLoadingResult.setInsertUsername(userId);
+            tmstrainLoadingResult.setInsertTime(new Date());
+            tmstrainLoadingResult.setResultBillableTonnage(new BigDecimal(calculateWagonWeight(wgonNo1)));
+            String arrivalName = tmstrainLoadingResultMapper.getArrivalName(arrivalStationId);
+            if (arrivalName.contains("达州站")){
+                tmstrainLoadingResult.setSendRequest(new BigDecimal(1));
+            }
+            i += tmstrainLoadingResultMapper.insertSelective(tmstrainLoadingResult);
+            i += addTotalResult(resultId);
+            Map<String,Object> map2=new HashMap<>();
+            map2.put("resultId",resultId);
+            resultIdList.add(map2);
+        }
+         map.put("resultIdList",resultIdList);
+        //判断是否为老区轨道衡
+        String arrivalName = tmstrainLoadingResultMapper.getArrivalName(arrivalStationId);
+        if (arrivalName.equals("老区轨道衡")) {
+            i += tmstrainMeasureCommissionService.batchSendMeasureCommission(map);
+        }
+        return i;
+    }
 }

+ 4 - 1
src/main/java/com/steerinfo/dil/service/impl/TmstrainMeasureCommissionServiceImpl.java

@@ -82,12 +82,15 @@ public class TmstrainMeasureCommissionServiceImpl  implements ITmstrainMeasureCo
         measureCommission.remove("resultTotalId");
         //发送计量委托,成功返回1,失败返回0
         int i = sendMesToMeasure(measureCommission);
+
+        System.out.println(measureCommission);
         if(i == 1){
             //添加计量委托实绩
             addMeasureCommission(map);
             updateTrainLoadResult(map);
         }
-        return i;
+        System.out.println(measureCommission);
+        return 1;
     }
 
     /**

+ 28 - 12
src/main/java/com/steerinfo/dil/service/impl/TmstrainWagonUnloadResultServiceImpl.java

@@ -93,14 +93,14 @@ public class TmstrainWagonUnloadResultServiceImpl implements ITmstrainWagonUnloa
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
-    public int insertTmstrainWagonUnLoadResult(TmstrainWagonUnloadResult tmstrainWagonUnloadResult) throws Exception {
+    public int insertTmstrainWagonUnLoadResult(Map<String,Object> map) throws Exception {
         int i = 0;
-        BigDecimal resultType = tmstrainWagonUnloadResult.getResultType();
+        BigDecimal resultType = DataChange.dataToBigDecimal(map.get("resultType"));
         switch (resultType.intValue()){
             case 1:
             case 2:
             case 3:
-                i = addTmstrainWagonLoadResult(tmstrainWagonUnloadResult);
+                i = addTmstrainWagonLoadResult(map);
                 break;
         }
         return i;
@@ -108,27 +108,43 @@ public class TmstrainWagonUnloadResultServiceImpl implements ITmstrainWagonUnloa
 
     /**
      * 采购进口矿新增卸车实绩
-     * @param tmstrainWagonUnloadResult
+     * @param map
      * @return
      */
-    public int addTmstrainWagonLoadResult(TmstrainWagonUnloadResult tmstrainWagonUnloadResult) throws Exception {
+    public int addTmstrainWagonLoadResult(Map<String,Object> map) throws Exception {
         //常规字段插入
-        //tmstrainWagonUnloadResult.setInsertUsername("admin");
+        String userId =(String) map.get("insertUserName");
+
+        TmstrainWagonUnloadResult tmstrainWagonUnloadResult=new TmstrainWagonUnloadResult();
+        tmstrainWagonUnloadResult.setInsertUsername(userId);
+        long resultUnloadTime =(long) map.get("resultUnloadTime");
+        tmstrainWagonUnloadResult.setResultUnloadTime(new Date(resultUnloadTime));
+        long resultArrivalDate =(long) map.get("resultArrivalDate");
+        tmstrainWagonUnloadResult.setResultArrivalDate(new Date(resultArrivalDate));
+        tmstrainWagonUnloadResult.setResultType(DataChange.dataToBigDecimal(map.get("resultType")));
         tmstrainWagonUnloadResult.setInsertTime(new Date());
         tmstrainWagonUnloadResult.setDeleted(new BigDecimal(0));
-        List<Map<String, Object>> wagonNoMapList = tmstrainWagonUnloadResult.getWagonNoList();
+        tmstrainWagonUnloadResult.setInsertUpdateRemark((String) map.get("resultRemark"));
+        tmstrainWagonUnloadResult.setUnloadingPointId(DataChange.dataToBigDecimal(map.get("unloadingPointId")));
+        List<Map<String, Object>> wagonNoMapList =( List<Map<String, Object>>) map.get("list");
         int count = 0;
-        for (Map<String, Object> map : wagonNoMapList) {
-            String resultWagonNo = (String) map.get("resultWagonNo");
+        for (Map<String, Object> map1 : wagonNoMapList) {
+            BigDecimal unloadId = tmstrainWagonUnloadResultMapper.selectMaxId();
+            String resultWagonNo = (String) map1.get("resultWagonNo");
+            BigDecimal totalResultId =DataChange.dataToBigDecimal(map1.get("totalResultId"));
+            TmstrainTotalResult tmstrainTotalResult=new TmstrainTotalResult();
+            tmstrainTotalResult.setTotalResultId(totalResultId);
+            tmstrainTotalResult.setUnloadingId(unloadId);
+            tmstrainTotalResultMapper.updateByPrimaryKeySelective(tmstrainTotalResult);
             //通过装车车皮号得到并插入采购订单id
-            tmstrainWagonUnloadResult.setPurchaseOrderRailPlanId(DataChange.dataToBigDecimal(map.get("purchaseOrderId")));
+            tmstrainWagonUnloadResult.setPurchaseOrderRailPlanId(DataChange.dataToBigDecimal(map1.get("purchaseOrderId")));
             //生成主键id
-            tmstrainWagonUnloadResult.setUnloadingId(tmstrainWagonUnloadResultMapper.selectMaxId());
+            tmstrainWagonUnloadResult.setUnloadingId(unloadId);
             //查询装车实绩中的卸货点传入数据(改成前端传入)
             //tmstrainWagonUnloadResult.setUnloadingPointId(DataChange.dataToBigDecimal(map.get("unloadingPointId")));
             tmstrainWagonUnloadResult.setResultWagonNo(resultWagonNo);
             count += tmstrainWagonUnloadResultMapper.insertSelective(tmstrainWagonUnloadResult);
-            count += updateLoadingResult(map); //修改装车实绩为已卸货
+            count += updateLoadingResult(map1); //修改装车实绩为已卸货
         }
         return count;
     }

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

@@ -21,7 +21,7 @@ eureka:
     fetch-registry: false #是否从EurekaServer抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
 
   instance:
-    prefer-ip-address: true
+    prefer-ip-address: false
     status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
     instance-id: ${spring.cloud.client.ip-address}:${server.port}
 

+ 427 - 327
src/main/resources/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.xml

@@ -29,22 +29,24 @@
     <result column="SEND_UNIT_ID" jdbcType="DECIMAL" property="sendUnitId" />
     <result column="SEND_REQUEST" jdbcType="DECIMAL" property="sendRequest" />
     <result column="SEND_DATE" jdbcType="VARCHAR" property="sendDate" />
+    <result column="TEMP_RESULT_ID" jdbcType="DECIMAL" property="tempResultId" />
+    <result column="ARRIVAL_DATE" jdbcType="VARCHAR" property="arrivalDate" />
   </resultMap>
   <sql id="columns">
-    RESULT_ID, PURCHASE_ORDER_RAIL_PLAN_ID, RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, 
-    RESULT_ISCLEAR, CAPACITY_ID, MATERIAL_ID, RESULT_MATERIAL_NUMBER, RESULT_MATERIAL_THEORYWEIGHT, 
-    BATCH_ID, RESULT_CLASS, RESULT_LOADING_DATE, RESULT_REMARKS, INSERT_USERNAME, INSERT_TIME, 
-    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, SEND_STATION_ID, ARRIVAL_STATION_ID, 
-    RESULT_TYPE, TRAIN_CALCULATE_ID, UNLOADING_POINT_ID, SEND_UNIT_ID, SEND_REQUEST, 
-    SEND_DATE
+    RESULT_ID, PURCHASE_ORDER_RAIL_PLAN_ID, RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE,
+    RESULT_ISCLEAR, CAPACITY_ID, MATERIAL_ID, RESULT_MATERIAL_NUMBER, RESULT_MATERIAL_THEORYWEIGHT,
+    BATCH_ID, RESULT_CLASS, RESULT_LOADING_DATE, RESULT_REMARKS, INSERT_USERNAME, INSERT_TIME,
+    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, SEND_STATION_ID, ARRIVAL_STATION_ID,
+    RESULT_TYPE, TRAIN_CALCULATE_ID, UNLOADING_POINT_ID, SEND_UNIT_ID, SEND_REQUEST,
+    SEND_DATE, TEMP_RESULT_ID, ARRIVAL_DATE
   </sql>
   <sql id="columns_alias">
-    t.RESULT_ID, t.PURCHASE_ORDER_RAIL_PLAN_ID, t.RESULT_WAGON_NO, t.RESULT_BILLABLE_TONNAGE, 
-    t.RESULT_ISCLEAR, t.CAPACITY_ID, t.MATERIAL_ID, t.RESULT_MATERIAL_NUMBER, t.RESULT_MATERIAL_THEORYWEIGHT, 
-    t.BATCH_ID, t.RESULT_CLASS, t.RESULT_LOADING_DATE, t.RESULT_REMARKS, t.INSERT_USERNAME, 
-    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, 
-    t.SEND_STATION_ID, t.ARRIVAL_STATION_ID, t.RESULT_TYPE, t.TRAIN_CALCULATE_ID, t.UNLOADING_POINT_ID, 
-    t.SEND_UNIT_ID, t.SEND_REQUEST, t.SEND_DATE
+    t.RESULT_ID, t.PURCHASE_ORDER_RAIL_PLAN_ID, t.RESULT_WAGON_NO, t.RESULT_BILLABLE_TONNAGE,
+    t.RESULT_ISCLEAR, t.CAPACITY_ID, t.MATERIAL_ID, t.RESULT_MATERIAL_NUMBER, t.RESULT_MATERIAL_THEORYWEIGHT,
+    t.BATCH_ID, t.RESULT_CLASS, t.RESULT_LOADING_DATE, t.RESULT_REMARKS, t.INSERT_USERNAME,
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
+    t.SEND_STATION_ID, t.ARRIVAL_STATION_ID, t.RESULT_TYPE, t.TRAIN_CALCULATE_ID, t.UNLOADING_POINT_ID,
+    t.SEND_UNIT_ID, t.SEND_REQUEST, t.SEND_DATE, t.TEMP_RESULT_ID, t.ARRIVAL_DATE
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM TMSTRAIN_LOADING_RESULT
@@ -53,7 +55,7 @@
     SELECT <include refid="columns_alias" /> FROM TMSTRAIN_LOADING_RESULT t
   </sql>
   <sql id="where">
-    <where> 
+    <where>
       <if test="resultId != null">
         and RESULT_ID = #{resultId}
       </if>
@@ -132,13 +134,19 @@
       <if test="sendRequest != null">
         and SEND_REQUEST = #{sendRequest}
       </if>
-      <if test="sendDate != null">
-        and TO_CHAR(SEND_DATE,'yyyy-MM-dd') = #{sendDate}
+      <if test="sendDate != null and sendDate != ''">
+        and SEND_DATE = #{sendDate}
+      </if>
+      <if test="tempResultId != null">
+        and TEMP_RESULT_ID = #{tempResultId}
+      </if>
+      <if test="arrivalDate != null and arrivalDate != ''">
+        and ARRIVAL_DATE = #{arrivalDate}
       </if>
     </where>
   </sql>
   <sql id="whereLike">
-    <where> 
+    <where>
       <if test="resultId != null">
         and RESULT_ID = #{resultId}
       </if>
@@ -217,118 +225,132 @@
       <if test="sendRequest != null">
         and SEND_REQUEST = #{sendRequest}
       </if>
-      <if test="sendDate != null">
-        and TO_CHAR(SEND_DATE,'yyyy-MM-dd') = #{sendDate}
+      <if test="sendDate != null and sendDate != ''">
+        and SEND_DATE LIKE '%${sendDate}%'
+      </if>
+      <if test="tempResultId != null">
+        and TEMP_RESULT_ID = #{tempResultId}
+      </if>
+      <if test="arrivalDate != null and arrivalDate != ''">
+        and ARRIVAL_DATE LIKE '%${arrivalDate}%'
       </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from TMSTRAIN_LOADING_RESULT
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </delete>
   <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
     delete from TMSTRAIN_LOADING_RESULT
-    where 1!=1 
-      <if test="purchaseOrderRailPlanId != null">
-        or PURCHASE_ORDER_RAIL_PLAN_ID = #{purchaseOrderRailPlanId}
-      </if>
-      <if test="resultWagonNo != null and resultWagonNo != ''">
-        or RESULT_WAGON_NO = #{resultWagonNo}
-      </if>
-      <if test="resultBillableTonnage != null">
-        or RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage}
-      </if>
-      <if test="resultIsclear != null and resultIsclear != ''">
-        or RESULT_ISCLEAR = #{resultIsclear}
-      </if>
-      <if test="capacityId != null">
-        or CAPACITY_ID = #{capacityId}
-      </if>
-      <if test="materialId != null">
-        or MATERIAL_ID = #{materialId}
-      </if>
-      <if test="resultMaterialNumber != null">
-        or RESULT_MATERIAL_NUMBER = #{resultMaterialNumber}
-      </if>
-      <if test="resultMaterialTheoryweight != null">
-        or RESULT_MATERIAL_THEORYWEIGHT = #{resultMaterialTheoryweight}
-      </if>
-      <if test="batchId != null">
-        or BATCH_ID = #{batchId}
-      </if>
-      <if test="resultClass != null and resultClass != ''">
-        or RESULT_CLASS = #{resultClass}
-      </if>
-      <if test="resultLoadingDate != null">
-        or TO_CHAR(RESULT_LOADING_DATE,'yyyy-MM-dd') = '#{resultLoadingDate}'
-      </if>
-      <if test="resultRemarks != null and resultRemarks != ''">
-        or RESULT_REMARKS = #{resultRemarks}
-      </if>
-      <if test="insertUsername != null and insertUsername != ''">
-        or INSERT_USERNAME = #{insertUsername}
-      </if>
-      <if test="insertTime != null">
-        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
-      </if>
-      <if test="updateUsername != null and updateUsername != ''">
-        or UPDATE_USERNAME = #{updateUsername}
-      </if>
-      <if test="updateTime != null">
-        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
-      </if>
-      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
-        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
-      </if>
-      <if test="deleted != null">
-        or DELETED = #{deleted}
-      </if>
-      <if test="sendStationId != null">
-        or SEND_STATION_ID = #{sendStationId}
-      </if>
-      <if test="arrivalStationId != null">
-        or ARRIVAL_STATION_ID = #{arrivalStationId}
-      </if>
-      <if test="resultType != null">
-        or RESULT_TYPE = #{resultType}
-      </if>
-      <if test="trainCalculateId != null">
-        or TRAIN_CALCULATE_ID = #{trainCalculateId}
-      </if>
-      <if test="unloadingPointId != null">
-        or UNLOADING_POINT_ID = #{unloadingPointId}
-      </if>
-      <if test="sendUnitId != null">
-        or SEND_UNIT_ID = #{sendUnitId}
-      </if>
-      <if test="sendRequest != null">
-        or SEND_REQUEST = #{sendRequest}
-      </if>
-      <if test="sendDate != null">
-        or TO_CHAR(SEND_DATE,'yyyy-MM-dd') = '#{sendDate}'
-      </if>
+    where 1!=1
+    <if test="purchaseOrderRailPlanId != null">
+      or PURCHASE_ORDER_RAIL_PLAN_ID = #{purchaseOrderRailPlanId}
+    </if>
+    <if test="resultWagonNo != null and resultWagonNo != ''">
+      or RESULT_WAGON_NO = #{resultWagonNo}
+    </if>
+    <if test="resultBillableTonnage != null">
+      or RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage}
+    </if>
+    <if test="resultIsclear != null and resultIsclear != ''">
+      or RESULT_ISCLEAR = #{resultIsclear}
+    </if>
+    <if test="capacityId != null">
+      or CAPACITY_ID = #{capacityId}
+    </if>
+    <if test="materialId != null">
+      or MATERIAL_ID = #{materialId}
+    </if>
+    <if test="resultMaterialNumber != null">
+      or RESULT_MATERIAL_NUMBER = #{resultMaterialNumber}
+    </if>
+    <if test="resultMaterialTheoryweight != null">
+      or RESULT_MATERIAL_THEORYWEIGHT = #{resultMaterialTheoryweight}
+    </if>
+    <if test="batchId != null">
+      or BATCH_ID = #{batchId}
+    </if>
+    <if test="resultClass != null and resultClass != ''">
+      or RESULT_CLASS = #{resultClass}
+    </if>
+    <if test="resultLoadingDate != null">
+      or TO_CHAR(RESULT_LOADING_DATE,'yyyy-MM-dd') = '#{resultLoadingDate}'
+    </if>
+    <if test="resultRemarks != null and resultRemarks != ''">
+      or RESULT_REMARKS = #{resultRemarks}
+    </if>
+    <if test="insertUsername != null and insertUsername != ''">
+      or INSERT_USERNAME = #{insertUsername}
+    </if>
+    <if test="insertTime != null">
+      or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+    </if>
+    <if test="updateUsername != null and updateUsername != ''">
+      or UPDATE_USERNAME = #{updateUsername}
+    </if>
+    <if test="updateTime != null">
+      or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+    </if>
+    <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+      or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+    </if>
+    <if test="deleted != null">
+      or DELETED = #{deleted}
+    </if>
+    <if test="sendStationId != null">
+      or SEND_STATION_ID = #{sendStationId}
+    </if>
+    <if test="arrivalStationId != null">
+      or ARRIVAL_STATION_ID = #{arrivalStationId}
+    </if>
+    <if test="resultType != null">
+      or RESULT_TYPE = #{resultType}
+    </if>
+    <if test="trainCalculateId != null">
+      or TRAIN_CALCULATE_ID = #{trainCalculateId}
+    </if>
+    <if test="unloadingPointId != null">
+      or UNLOADING_POINT_ID = #{unloadingPointId}
+    </if>
+    <if test="sendUnitId != null">
+      or SEND_UNIT_ID = #{sendUnitId}
+    </if>
+    <if test="sendRequest != null">
+      or SEND_REQUEST = #{sendRequest}
+    </if>
+    <if test="sendDate != null and sendDate != ''">
+      or SEND_DATE = #{sendDate}
+    </if>
+    <if test="tempResultId != null">
+      or TEMP_RESULT_ID = #{tempResultId}
+    </if>
+    <if test="arrivalDate != null and arrivalDate != ''">
+      or ARRIVAL_DATE = #{arrivalDate}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
-    insert into TMSTRAIN_LOADING_RESULT (RESULT_ID, PURCHASE_ORDER_RAIL_PLAN_ID, 
-      RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, RESULT_ISCLEAR, 
-      CAPACITY_ID, MATERIAL_ID, RESULT_MATERIAL_NUMBER, 
-      RESULT_MATERIAL_THEORYWEIGHT, BATCH_ID, RESULT_CLASS, 
-      RESULT_LOADING_DATE, RESULT_REMARKS, INSERT_USERNAME, 
-      INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
-      INSERT_UPDATE_REMARK, DELETED, SEND_STATION_ID, 
-      ARRIVAL_STATION_ID, RESULT_TYPE, TRAIN_CALCULATE_ID, 
-      UNLOADING_POINT_ID, SEND_UNIT_ID, SEND_REQUEST, 
-      SEND_DATE)
-    values (#{resultId,jdbcType=DECIMAL}, #{purchaseOrderRailPlanId,jdbcType=DECIMAL}, 
-      #{resultWagonNo,jdbcType=VARCHAR}, #{resultBillableTonnage,jdbcType=DECIMAL}, #{resultIsclear,jdbcType=VARCHAR}, 
-      #{capacityId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL}, #{resultMaterialNumber,jdbcType=DECIMAL}, 
-      #{resultMaterialTheoryweight,jdbcType=DECIMAL}, #{batchId,jdbcType=DECIMAL}, #{resultClass,jdbcType=VARCHAR}, 
-      #{resultLoadingDate,jdbcType=TIMESTAMP}, #{resultRemarks,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR}, 
-      #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
-      #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{sendStationId,jdbcType=DECIMAL}, 
-      #{arrivalStationId,jdbcType=DECIMAL}, #{resultType,jdbcType=DECIMAL}, #{trainCalculateId,jdbcType=DECIMAL}, 
-      #{unloadingPointId,jdbcType=DECIMAL}, #{sendUnitId,jdbcType=DECIMAL}, #{sendRequest,jdbcType=DECIMAL}, 
-      #{sendDate,jdbcType=VARCHAR})
+    insert into TMSTRAIN_LOADING_RESULT (RESULT_ID, PURCHASE_ORDER_RAIL_PLAN_ID,
+                                         RESULT_WAGON_NO, RESULT_BILLABLE_TONNAGE, RESULT_ISCLEAR,
+                                         CAPACITY_ID, MATERIAL_ID, RESULT_MATERIAL_NUMBER,
+                                         RESULT_MATERIAL_THEORYWEIGHT, BATCH_ID, RESULT_CLASS,
+                                         RESULT_LOADING_DATE, RESULT_REMARKS, INSERT_USERNAME,
+                                         INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
+                                         INSERT_UPDATE_REMARK, DELETED, SEND_STATION_ID,
+                                         ARRIVAL_STATION_ID, RESULT_TYPE, TRAIN_CALCULATE_ID,
+                                         UNLOADING_POINT_ID, SEND_UNIT_ID, SEND_REQUEST,
+                                         SEND_DATE, TEMP_RESULT_ID, ARRIVAL_DATE
+    )
+    values (#{resultId,jdbcType=DECIMAL}, #{purchaseOrderRailPlanId,jdbcType=DECIMAL},
+            #{resultWagonNo,jdbcType=VARCHAR}, #{resultBillableTonnage,jdbcType=DECIMAL}, #{resultIsclear,jdbcType=VARCHAR},
+            #{capacityId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL}, #{resultMaterialNumber,jdbcType=DECIMAL},
+            #{resultMaterialTheoryweight,jdbcType=DECIMAL}, #{batchId,jdbcType=DECIMAL}, #{resultClass,jdbcType=VARCHAR},
+            #{resultLoadingDate,jdbcType=TIMESTAMP}, #{resultRemarks,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
+            #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
+            #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{sendStationId,jdbcType=DECIMAL},
+            #{arrivalStationId,jdbcType=DECIMAL}, #{resultType,jdbcType=DECIMAL}, #{trainCalculateId,jdbcType=DECIMAL},
+            #{unloadingPointId,jdbcType=DECIMAL}, #{sendUnitId,jdbcType=DECIMAL}, #{sendRequest,jdbcType=DECIMAL},
+            #{sendDate,jdbcType=VARCHAR}, #{tempResultId,jdbcType=DECIMAL}, #{arrivalDate,jdbcType=VARCHAR}
+           )
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
     insert into TMSTRAIN_LOADING_RESULT
@@ -414,6 +436,12 @@
       <if test="sendDate != null">
         SEND_DATE,
       </if>
+      <if test="tempResultId != null">
+        TEMP_RESULT_ID,
+      </if>
+      <if test="arrivalDate != null">
+        ARRIVAL_DATE,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="resultId != null">
@@ -497,36 +525,44 @@
       <if test="sendDate != null">
         #{sendDate,jdbcType=VARCHAR},
       </if>
+      <if test="tempResultId != null">
+        #{tempResultId,jdbcType=DECIMAL},
+      </if>
+      <if test="arrivalDate != null">
+        #{arrivalDate,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
     update TMSTRAIN_LOADING_RESULT
     set PURCHASE_ORDER_RAIL_PLAN_ID = #{purchaseOrderRailPlanId,jdbcType=DECIMAL},
-      RESULT_WAGON_NO = #{resultWagonNo,jdbcType=VARCHAR},
-      RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage,jdbcType=DECIMAL},
-      RESULT_ISCLEAR = #{resultIsclear,jdbcType=VARCHAR},
-      CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
-      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
-      RESULT_MATERIAL_NUMBER = #{resultMaterialNumber,jdbcType=DECIMAL},
-      RESULT_MATERIAL_THEORYWEIGHT = #{resultMaterialTheoryweight,jdbcType=DECIMAL},
-      BATCH_ID = #{batchId,jdbcType=DECIMAL},
-      RESULT_CLASS = #{resultClass,jdbcType=VARCHAR},
-      RESULT_LOADING_DATE = #{resultLoadingDate,jdbcType=TIMESTAMP},
-      RESULT_REMARKS = #{resultRemarks,jdbcType=VARCHAR},
-      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
-      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
-      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
-      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
-      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
-      DELETED = #{deleted,jdbcType=DECIMAL},
-      SEND_STATION_ID = #{sendStationId,jdbcType=DECIMAL},
-      ARRIVAL_STATION_ID = #{arrivalStationId,jdbcType=DECIMAL},
-      RESULT_TYPE = #{resultType,jdbcType=DECIMAL},
-      TRAIN_CALCULATE_ID = #{trainCalculateId,jdbcType=DECIMAL},
-      UNLOADING_POINT_ID = #{unloadingPointId,jdbcType=DECIMAL},
-      SEND_UNIT_ID = #{sendUnitId,jdbcType=DECIMAL},
-      SEND_REQUEST = #{sendRequest,jdbcType=DECIMAL},
-      SEND_DATE = #{sendDate,jdbcType=VARCHAR}
+        RESULT_WAGON_NO = #{resultWagonNo,jdbcType=VARCHAR},
+        RESULT_BILLABLE_TONNAGE = #{resultBillableTonnage,jdbcType=DECIMAL},
+        RESULT_ISCLEAR = #{resultIsclear,jdbcType=VARCHAR},
+        CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+        RESULT_MATERIAL_NUMBER = #{resultMaterialNumber,jdbcType=DECIMAL},
+        RESULT_MATERIAL_THEORYWEIGHT = #{resultMaterialTheoryweight,jdbcType=DECIMAL},
+        BATCH_ID = #{batchId,jdbcType=DECIMAL},
+        RESULT_CLASS = #{resultClass,jdbcType=VARCHAR},
+        RESULT_LOADING_DATE = #{resultLoadingDate,jdbcType=TIMESTAMP},
+        RESULT_REMARKS = #{resultRemarks,jdbcType=VARCHAR},
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+        DELETED = #{deleted,jdbcType=DECIMAL},
+        SEND_STATION_ID = #{sendStationId,jdbcType=DECIMAL},
+        ARRIVAL_STATION_ID = #{arrivalStationId,jdbcType=DECIMAL},
+        RESULT_TYPE = #{resultType,jdbcType=DECIMAL},
+        TRAIN_CALCULATE_ID = #{trainCalculateId,jdbcType=DECIMAL},
+        UNLOADING_POINT_ID = #{unloadingPointId,jdbcType=DECIMAL},
+        SEND_UNIT_ID = #{sendUnitId,jdbcType=DECIMAL},
+        SEND_REQUEST = #{sendRequest,jdbcType=DECIMAL},
+        SEND_DATE = #{sendDate,jdbcType=VARCHAR},
+        TEMP_RESULT_ID = #{tempResultId,jdbcType=DECIMAL},
+        ARRIVAL_DATE = #{arrivalDate,jdbcType=VARCHAR}
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
@@ -610,10 +646,16 @@
       <if test="sendDate != null">
         SEND_DATE = #{sendDate,jdbcType=VARCHAR},
       </if>
+      <if test="tempResultId != null">
+        TEMP_RESULT_ID = #{tempResultId,jdbcType=DECIMAL},
+      </if>
+      <if test="arrivalDate != null">
+        ARRIVAL_DATE = #{arrivalDate,jdbcType=VARCHAR},
+      </if>
     </set>
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
     <include refid="select" />
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </select>
@@ -626,163 +668,172 @@
     <include refid="whereLike" />
   </select>
   <insert id="batchInsert" parameterType="java.util.List">
-    insert into TMSTRAIN_LOADING_RESULT 
-      (RESULT_ID,
-      PURCHASE_ORDER_RAIL_PLAN_ID, RESULT_WAGON_NO, 
-      RESULT_BILLABLE_TONNAGE, RESULT_ISCLEAR, 
-      CAPACITY_ID, MATERIAL_ID, RESULT_MATERIAL_NUMBER, 
-      RESULT_MATERIAL_THEORYWEIGHT, BATCH_ID, 
-      RESULT_CLASS, RESULT_LOADING_DATE, 
-      RESULT_REMARKS, INSERT_USERNAME, 
-      INSERT_TIME, UPDATE_USERNAME, 
-      UPDATE_TIME, INSERT_UPDATE_REMARK, 
-      DELETED, SEND_STATION_ID, ARRIVAL_STATION_ID, 
-      RESULT_TYPE, TRAIN_CALCULATE_ID, 
-      UNLOADING_POINT_ID, SEND_UNIT_ID, 
-      SEND_REQUEST, SEND_DATE)
-    ( <foreach collection="list" item="item" separator="union all"> 
-   select
-      #{item.resultId,jdbcType=DECIMAL},
-      #{item.purchaseOrderRailPlanId,jdbcType=DECIMAL}, #{item.resultWagonNo,jdbcType=VARCHAR}, 
-      #{item.resultBillableTonnage,jdbcType=DECIMAL}, #{item.resultIsclear,jdbcType=VARCHAR}, 
-      #{item.capacityId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.resultMaterialNumber,jdbcType=DECIMAL}, 
-      #{item.resultMaterialTheoryweight,jdbcType=DECIMAL}, #{item.batchId,jdbcType=DECIMAL}, 
-      #{item.resultClass,jdbcType=VARCHAR}, #{item.resultLoadingDate,jdbcType=TIMESTAMP}, 
-      #{item.resultRemarks,jdbcType=VARCHAR}, #{item.insertUsername,jdbcType=VARCHAR}, 
-      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
-      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}, 
-      #{item.deleted,jdbcType=DECIMAL}, #{item.sendStationId,jdbcType=DECIMAL}, #{item.arrivalStationId,jdbcType=DECIMAL}, 
-      #{item.resultType,jdbcType=DECIMAL}, #{item.trainCalculateId,jdbcType=DECIMAL}, 
-      #{item.unloadingPointId,jdbcType=DECIMAL}, #{item.sendUnitId,jdbcType=DECIMAL}, 
-      #{item.sendRequest,jdbcType=DECIMAL}, #{item.sendDate,jdbcType=VARCHAR} from dual
-   </foreach> )
+    insert into TMSTRAIN_LOADING_RESULT
+    (RESULT_ID,
+    PURCHASE_ORDER_RAIL_PLAN_ID, RESULT_WAGON_NO,
+    RESULT_BILLABLE_TONNAGE, RESULT_ISCLEAR,
+    CAPACITY_ID, MATERIAL_ID, RESULT_MATERIAL_NUMBER,
+    RESULT_MATERIAL_THEORYWEIGHT, BATCH_ID,
+    RESULT_CLASS, RESULT_LOADING_DATE,
+    RESULT_REMARKS, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME,
+    UPDATE_TIME, INSERT_UPDATE_REMARK,
+    DELETED, SEND_STATION_ID, ARRIVAL_STATION_ID,
+    RESULT_TYPE, TRAIN_CALCULATE_ID,
+    UNLOADING_POINT_ID, SEND_UNIT_ID,
+    SEND_REQUEST, SEND_DATE, TEMP_RESULT_ID,
+    ARRIVAL_DATE)
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.resultId,jdbcType=DECIMAL},
+    #{item.purchaseOrderRailPlanId,jdbcType=DECIMAL}, #{item.resultWagonNo,jdbcType=VARCHAR},
+    #{item.resultBillableTonnage,jdbcType=DECIMAL}, #{item.resultIsclear,jdbcType=VARCHAR},
+    #{item.capacityId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.resultMaterialNumber,jdbcType=DECIMAL},
+    #{item.resultMaterialTheoryweight,jdbcType=DECIMAL}, #{item.batchId,jdbcType=DECIMAL},
+    #{item.resultClass,jdbcType=VARCHAR}, #{item.resultLoadingDate,jdbcType=TIMESTAMP},
+    #{item.resultRemarks,jdbcType=VARCHAR}, #{item.insertUsername,jdbcType=VARCHAR},
+    #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
+    #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
+    #{item.deleted,jdbcType=DECIMAL}, #{item.sendStationId,jdbcType=DECIMAL}, #{item.arrivalStationId,jdbcType=DECIMAL},
+    #{item.resultType,jdbcType=DECIMAL}, #{item.trainCalculateId,jdbcType=DECIMAL},
+    #{item.unloadingPointId,jdbcType=DECIMAL}, #{item.sendUnitId,jdbcType=DECIMAL},
+    #{item.sendRequest,jdbcType=DECIMAL}, #{item.sendDate,jdbcType=VARCHAR}, #{item.tempResultId,jdbcType=DECIMAL},
+    #{item.arrivalDate,jdbcType=VARCHAR} from dual
+  </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
-     update TMSTRAIN_LOADING_RESULT
-     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>
-       ,PURCHASE_ORDER_RAIL_PLAN_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.purchaseOrderRailPlanId,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>
-       ,RESULT_ISCLEAR=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultIsclear,jdbcType=VARCHAR}
-       </foreach>
-       ,CAPACITY_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.capacityId,jdbcType=DECIMAL}
-       </foreach>
-       ,MATERIAL_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
-       </foreach>
-       ,RESULT_MATERIAL_NUMBER=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultMaterialNumber,jdbcType=DECIMAL}
-       </foreach>
-       ,RESULT_MATERIAL_THEORYWEIGHT=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultMaterialTheoryweight,jdbcType=DECIMAL}
-       </foreach>
-       ,BATCH_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.batchId,jdbcType=DECIMAL}
-       </foreach>
-       ,RESULT_CLASS=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultClass,jdbcType=VARCHAR}
-       </foreach>
-       ,RESULT_LOADING_DATE=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultLoadingDate,jdbcType=TIMESTAMP}
-       </foreach>
-       ,RESULT_REMARKS=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultRemarks,jdbcType=VARCHAR}
-       </foreach>
-       ,INSERT_USERNAME=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
-       </foreach>
-       ,INSERT_TIME=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
-       </foreach>
-       ,UPDATE_USERNAME=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
-       </foreach>
-       ,UPDATE_TIME=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
-       </foreach>
-       ,INSERT_UPDATE_REMARK=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
-       </foreach>
-       ,DELETED=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
-       </foreach>
-       ,SEND_STATION_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.sendStationId,jdbcType=DECIMAL}
-       </foreach>
-       ,ARRIVAL_STATION_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.arrivalStationId,jdbcType=DECIMAL}
-       </foreach>
-       ,RESULT_TYPE=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultType,jdbcType=DECIMAL}
-       </foreach>
-       ,TRAIN_CALCULATE_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.trainCalculateId,jdbcType=DECIMAL}
-       </foreach>
-       ,UNLOADING_POINT_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.unloadingPointId,jdbcType=DECIMAL}
-       </foreach>
-       ,SEND_UNIT_ID=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.sendUnitId,jdbcType=DECIMAL}
-       </foreach>
-       ,SEND_REQUEST=
-       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
-          when #{item.resultId,jdbcType=DECIMAL} then #{item.sendRequest,jdbcType=DECIMAL}
-       </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>
-     where RESULT_ID in 
-     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
-    #{item.resultId,jdbcType=DECIMAL}
-     </foreach> 
+    update TMSTRAIN_LOADING_RESULT
+    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>
+    ,PURCHASE_ORDER_RAIL_PLAN_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.purchaseOrderRailPlanId,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>
+    ,RESULT_ISCLEAR=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultIsclear,jdbcType=VARCHAR}
+    </foreach>
+    ,CAPACITY_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.capacityId,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+    </foreach>
+    ,RESULT_MATERIAL_NUMBER=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultMaterialNumber,jdbcType=DECIMAL}
+    </foreach>
+    ,RESULT_MATERIAL_THEORYWEIGHT=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultMaterialTheoryweight,jdbcType=DECIMAL}
+    </foreach>
+    ,BATCH_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.batchId,jdbcType=DECIMAL}
+    </foreach>
+    ,RESULT_CLASS=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultClass,jdbcType=VARCHAR}
+    </foreach>
+    ,RESULT_LOADING_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultLoadingDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,RESULT_REMARKS=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultRemarks,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,UPDATE_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_UPDATE_REMARK=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+    </foreach>
+    ,DELETED=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+    </foreach>
+    ,SEND_STATION_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.sendStationId,jdbcType=DECIMAL}
+    </foreach>
+    ,ARRIVAL_STATION_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.arrivalStationId,jdbcType=DECIMAL}
+    </foreach>
+    ,RESULT_TYPE=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.resultType,jdbcType=DECIMAL}
+    </foreach>
+    ,TRAIN_CALCULATE_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.trainCalculateId,jdbcType=DECIMAL}
+    </foreach>
+    ,UNLOADING_POINT_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.unloadingPointId,jdbcType=DECIMAL}
+    </foreach>
+    ,SEND_UNIT_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.sendUnitId,jdbcType=DECIMAL}
+    </foreach>
+    ,SEND_REQUEST=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.sendRequest,jdbcType=DECIMAL}
+    </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>
+    ,TEMP_RESULT_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.tempResultId,jdbcType=DECIMAL}
+    </foreach>
+    ,ARRIVAL_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.arrivalDate,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_RESULT
-    where RESULT_ID in 
+    where RESULT_ID in
     <foreach close=")" collection="list" item="id" open="(" separator=",">
       #{id}
     </foreach>
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-
   <select id="getTmsWagonLoadInfo" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     select * from(
     select t_load.RESULT_ID "resultId",
@@ -909,33 +960,30 @@
     select *
     from (
     SELECT
-    TLR.RESULT_WAGON_NO "resultWagonNo",
-    TLR.RESULT_ID "resultId",
-    TLR.UNLOADING_POINT_ID "unloadingPointId",
-    RW.WAREHOUSE_NAME "warehouseName",
-    to_char( TLR.RESULT_LOADING_DATE, 'yyyy-mm-dd' ) "resultLoadingDate",
+    *
+    FROM
+    (
+    SELECT
+    TLT.RESULT_WAGON_NO "resultWagonNo",
+    TLR2.RESULT_ID "resultId",
     APO.PURCHASE_ORDER_NO "purchaseOrderNo",
     RM.MATERIAL_NAME "materialName",
     APO.PURCHASE_ORDER_ID "purchaseOrderId",
     DBI.INFACTORY_SHIP_NAME "infactoryShipName",
     DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
-    TWR.RESULT_NET_WEIGHT "resultNetWeight",
-    TWR.RESULT_GROSS_WEIGHT "grossWeight",
-    TWR.RESULT_TARE_WEIGHT "tareWeight"
+    WOR.INSERT_TIME "insertTime",
+    TTR.TOTAL_RESULT_ID "totalResultId"
     FROM
-    TMSTRAIN_LOADING_RESULT TLR
-    LEFT JOIN AMS_PURCHASE_ORDER APO ON APO.PURCHASE_ORDER_ID = TLR.PURCHASE_ORDER_RAIL_PLAN_ID
+    TMSTRAIN_LOADING_TEMP TLT
+    LEFT JOIN AMS_PURCHASE_ORDER APO ON APO.PURCHASE_ORDER_NO = TLT.PURCHASE_ORDER_NO
     LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = APO.BATCH_ID
     LEFT JOIN DIL_BATCH_INFACOTRY DBI ON DBI.BATCH_ID = DB.BATCH_ID
+    left join TMSTRAIN_LOADING_RESULT TLR2  ON TLR2.TEMP_RESULT_ID=TLT.RESULT_ID
     LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID = RM.MATERIAL_ID
-    LEFT JOIN RMS_WAREHOUSE RW ON RW.WAREHOUSE_ID = TLR.UNLOADING_POINT_ID
-    LEFT JOIN TMSTRAIN_TOTAL_RESULT TTR ON TTR.LOADING_ID = TLR.RESULT_ID
-    LEFT JOIN TMSTRAIN_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.TOTAL_RESULT_ID
-    WHERE
-    TLR.DELETED NOT IN ( 2, 1 )
-    AND TLR.RESULT_TYPE = #{resultType}
-    AND TLR.PURCHASE_ORDER_RAIL_PLAN_ID IS NOT NULL
-    AND TWR.RESULT_NET_WEIGHT IS NOT NULL
+    left join WMSH_OUTBOUND_RESULT  WOR ON TLT.OUTBOUNT_ID =  WOR.RESULT_ID
+    left join TMSTRAIN_TOTAL_RESULT TTR  ON TLR2.RESULT_ID = TTR.LOADING_ID
+    WHERE TLR2.SEND_REQUEST = 1 AND TLR2.DELETED not  in (1,2)
+    )
     <if test="wagon!=null and wagon!=''.toString()">
       and TLR.RESULT_WAGON_NO like concat('%',concat(#{wagon},'%'))
     </if>
@@ -948,7 +996,7 @@
     )
     <include refid="orderBy"></include>
     <if test="orderField == null  ">
-      order by "resultLoadingDate" desc
+      order by "insertTime" desc
     </if>
   </select>
 
@@ -1306,25 +1354,25 @@
     order by "resultId"
   </select>
 
-<!--  根据发站名查发站id-->
+  <!--  根据发站名查发站id-->
   <select id="getSendStationId" parameterType="java.lang.String" resultType="java.math.BigDecimal">
     SELECT ARRIVAL_ID
     FROM RMSTRAIN_ARRIVAL_SEND
     WHERE ARRIVAL_NAME=#{sendStationName}
   </select>
 
-<!--  获取最大发站id-->
+  <!--  获取最大发站id-->
   <select id="getMaxSendStationId" resultType="java.math.BigDecimal">
     SELECT MAX(ARRIVAL_ID) FROM RMSTRAIN_ARRIVAL_SEND
   </select>
 
-<!--  添加发站-->
+  <!--  添加发站-->
   <insert id="addSendStation" parameterType="java.util.Map">
     INSERT INTO RMSTRAIN_ARRIVAL_SEND
-        (ARRIVAL_ID,ARRIVAL_NAME,INSERT_TIME,UPDATE_TIME)
-        VALUES(#{arrivalId}, #{arrivalName},#{insertTime},#{updateTime})
+      (ARRIVAL_ID,ARRIVAL_NAME,INSERT_TIME,UPDATE_TIME)
+    VALUES(#{arrivalId}, #{arrivalName},#{insertTime},#{updateTime})
   </insert>
-<!--  国产矿查询采购订单号-->
+  <!--  国产矿查询采购订单号-->
   <select id="getPurchaseOrderList" parameterType="java.util.Map" resultType="java.util.Map">
     SELECT
     *
@@ -1365,24 +1413,24 @@
     and db.RESULT_FOREIGN_SHIP_NAME is not null
     and rsu.SUPPLIER_NAME is not null
     <if test="materialName==null and resultForeignShipName==null and productName==null">
-    and  apo.PURCHASE_ORDER_NO is null
+      and  apo.PURCHASE_ORDER_NO is null
     </if>
     <if test="materialName != null and materialName!=''.toString()" >
-    and (
-    apo.PURCHASE_ORDER_NO like concat(concat('%',#{materialName}),'%')
-    or rm.MATERIAL_NAME like concat(concat('%',#{materialName}),'%')
-    )
+      and (
+      apo.PURCHASE_ORDER_NO like concat(concat('%',#{materialName}),'%')
+      or rm.MATERIAL_NAME like concat(concat('%',#{materialName}),'%')
+      )
     </if>
     <if test="resultForeignShipName != null and resultForeignShipName!=''.toString()">
-    and db.RESULT_FOREIGN_SHIP_NAME like concat(concat('%',#{resultForeignShipName}),'%')
+      and db.RESULT_FOREIGN_SHIP_NAME like concat(concat('%',#{resultForeignShipName}),'%')
     </if>
     <if test="productName!=null and productName!=''.toString()">
       and INSTR(#{productName},rm.MATERIAL_NAME) > 0
       <if test="supplierName ==null or supplierName==''.toString">
-      and INSTR(#{productName}, rsu.SUPPLIER_NAME) > 0
+        and INSTR(#{productName}, rsu.SUPPLIER_NAME) > 0
       </if>
       <if test="supplierName !=null and supplierName!=''.toString">
-      and INSTR(rsu.SUPPLIER_NAME,#{supplierName}) > 0
+        and INSTR(rsu.SUPPLIER_NAME,#{supplierName}) > 0
       </if>
     </if>
     <if test="unloadPoint!=null and unloadPoint!=''.toString()">
@@ -1396,7 +1444,7 @@
     )
   </select>
 
-<!--  进口矿查询采购订单号-->
+  <!--  进口矿查询采购订单号-->
   <select id="getPurchaseOrderListForImported" parameterType="java.util.Map" resultType="java.util.Map">
     SELECT
     apo.INSERT_TIME as "insertTime",
@@ -1445,12 +1493,12 @@
     ORDER BY apo.PURCHASE_ORDER_DATE DESC
   </select>
 
-<!--  国产矿查询分割符-->
+  <!--  国产矿查询分割符-->
   <select id="findSplitsForDomestic" resultType="java.lang.String">
     select SPLIT_WORDS from TMSTRAIN_SPLIT where SPLIT_TYPE='国产矿'
   </select>
 
-<!--  进口矿查询分割符-->
+  <!--  进口矿查询分割符-->
   <select id="findSplitsForImported" resultType="java.lang.String">
     select SPLIT_WORDS from TMSTRAIN_SPLIT where SPLIT_TYPE='进口矿'
   </select>
@@ -1465,6 +1513,58 @@
   <select id="getGridIdByPortAndBatch" resultType="java.math.BigDecimal" parameterType="java.util.Map">
     select WGM.GM_ID "gmId"
     from WMSH_GRID_MATERIAL WGM
-   WHERE  WGM.PORT_ID=#{portId} AND WGM.BATCH_ID = #{batchId}
+    WHERE  WGM.PORT_ID=#{portId} AND WGM.BATCH_ID = #{batchId}
+  </select>
+
+  <!-- 查询没有装车实绩状态为resultType为1-进口矿-->
+  <select id="getResultType" resultType="java.util.Map" parameterType="java.util.Map">
+    select DB.RESULT_FOREIGN_SHIP_NAME "foreignShipName",
+    RM.MATERIAL_NAME "materialName",
+    TLT.RESULT_WAGON_NO "wagonNo",
+    TLT.PURCHASE_ORDER_NO "purchaseOrderNo",
+    TLT.RESULT_BILLABLE_TONNAGE "resultBillableTonnage",
+    TLT.RESULT_ID "tempResultId",
+    WOR.INSERT_TIME "updateTime",
+    DB.BATCH_ID "batchId",
+    APO.PURCHASE_ORDER_ID "purchaseId",
+    RM.MATERIAL_ID "materialId",
+    APO.SUPPLIER_UNIT_ID "supplierUnitId"
+    from
+    TMSTRAIN_LOADING_TEMP TLT
+    left join WMSH_OUTBOUND_RESULT WOR
+    ON WOR.RESULT_ID=TLT.OUTBOUNT_ID
+    LEFT JOIN DIL_BATCH DB
+    ON DB.BATCH_ID=WOR.BATCH_ID
+    LEFT JOIN RMS_MATERIAL RM
+    ON DB.MATERIAL_ID=RM.MATERIAL_ID
+    left join  AMS_PURCHASE_ORDER APO
+    ON APO.PURCHASE_ORDER_NO = TLT.PURCHASE_ORDER_NO
+    where  not exists (
+    select *
+    from TMSTRAIN_LOADING_RESULT TLR
+    where TLR.TEMP_RESULT_ID=TLT.RESULT_ID
+    and TLR.RESULT_TYPE = 1
+    )
+    <if test="con!=null">
+      and (instr(TLT.RESULT_WAGON_NO,#{con})>0 or instr(TLT.PURCHASE_ORDER_NO,#{con})>0 or instr(RM.MATERIAL_NAME,#{con}) > 0 or instr(DB.RESULT_FOREIGN_SHIP_NAME,#{con}) > 0 )
+    </if>
+    ORDER BY  TLT.RESULT_ID asc
+  </select>
+  <!--  查找最近使用的采购订单号-->
+  <select id="selectPurchaseOrderNo" resultType="java.util.Map" parameterType="java.util.Map">
+     select
+            TLT.PURCHASE_ORDER_NO "purchaseOrderNo",
+            DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName"
+     from TMSTRAIN_LOADING_TEMP TLT
+     LEFT JOIN AMS_PURCHASE_ORDER APO
+     ON APO.PURCHASE_ORDER_NO = TLT.PURCHASE_ORDER_NO
+     LEFT JOIN DIL_BATCH DB
+     ON DB.BATCH_ID = APO.BATCH_ID
+  </select>
+<!--  根据到站id获取到站名称-->
+  <select id="getArrivalName" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+    select RAS.ARRIVAL_NAME "arrivelStationName"
+    from RMSTRAIN_ARRIVAL_SEND RAS
+   WHERE  RAS.ARRIVAL_ID = #{arrivalStationId}
   </select>
 </mapper>

+ 4 - 1
src/main/resources/com/steerinfo/dil/mapper/TmstrainMeasureCommissionMapper.xml

@@ -357,7 +357,10 @@
       TLR.UNLOADING_POINT_ID "unloadPointId",
       TTR.TOTAL_RESULT_ID          "resultTotalId",
       TTR.TRANSPORT_NUM  "transportNum",
-      APO.SUPPLIER_SCREEN_INFO "supplierScreenInfo"
+      APO.SUPPLIER_SCREEN_INFO "supplierScreenInfo",
+      TLR.SEND_DATE "sendDate",
+      TLR.ARRIVAL_DATE "arrivalDate",
+      TLR.RESULT_BILLABLE_TONNAGE "standardWeight"
     from TMSTRAIN_LOADING_RESULT TLR
            left join AMS_PURCHASE_ORDER APO
                      on APO.PURCHASE_ORDER_ID = TLR.PURCHASE_ORDER_RAIL_PLAN_ID

+ 6 - 6
src/main/resources/com/steerinfo/dil/mapper/TmstrainWagonUnloadResultMapper.xml

@@ -512,8 +512,8 @@
     t_load.RESULT_CLASS "resultClass",
     d_batch.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
     r_material.MATERIAL_NAME "materialName",
-    r_s_arrival.ARRIVAL_NAME "sendStationName",
-    r_a_arrival.ARRIVAL_NAME "arrivalStationName",
+    r_s_arrival1.ARRIVAL_NAME "sendStationName",
+    r_a_arrival2.ARRIVAL_NAME "arrivalStationName",
     RW.WAREHOUSE_NAME "unloadPointName",
     t_unload.RESULT_BIG_TICKET_WEIGHT "resultBigTicketWeight",
     t_unload.RESULT_RAIL_HORIZONTAL_WEIGHT "resultRailHorizontalWeight",
@@ -528,10 +528,10 @@
     on t_load.BATCH_ID=d_batch.BATCH_ID
     left join RMS_MATERIAL r_material
     on t_load.MATERIAL_ID=r_material.MATERIAL_ID
-    left join RMSTRAIN_ARRIVAL_SEND r_s_arrival
-    on r_s_arrival.ARRIVAL_ID=t_load.SEND_STATION_ID
-    left join RMSTRAIN_ARRIVAL_SEND r_a_arrival
-    on r_a_arrival.ARRIVAL_ID=t_load.ARRIVAL_STATION_ID
+    left join RMSTRAIN_ARRIVAL_SEND r_s_arrival1
+    on r_s_arrival1.ARRIVAL_ID=t_load.SEND_STATION_ID
+    left join RMSTRAIN_ARRIVAL_SEND r_a_arrival2
+    on r_a_arrival2.ARRIVAL_ID=t_load.ARRIVAL_STATION_ID
     left join RMS_WAREHOUSE RW
     on RW.WAREHOUSE_ID = t_unload.UNLOADING_POINT_ID
     left join DIL_BATCH_INFACOTRY DBI