Bläddra i källkod

火运装车修改完毕 轨道衡计量委托

txf 3 år sedan
förälder
incheckning
99253bf7a2

+ 1 - 5
pom.xml

@@ -111,11 +111,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-<!--                                                <table>TMSTRAIN_TOTAL_RESULT</table>&lt;!&ndash;采购订单&ndash;&gt;-->
-                                                <table>TMSTRAIN_TRUCK_TOTAL_RESULT</table><!--请车作业-->
-<!--                                                <table>TMSTRAIN_WAGON_LOAD_RESULT</table>&lt;!&ndash;车皮装车作业&ndash;&gt;-->
-<!--                                                <table>TMSTRAIN_LOADING_RESULT</table>&lt;!&ndash;车皮装车作业&ndash;&gt;-->
-<!--                                                <table>TMSTRAIN_WAGON_UNLOAD_RESULT</table>&lt;!&ndash;车皮卸车作业&ndash;&gt;-->
+                         <table>TMSTRAIN_WEIGHT_RESULT</table>
                     </tables>
                 </configuration>
                 <executions>

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

@@ -49,6 +49,7 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
     @Autowired
     ColumnDataUtil columnDataUtil;
 
+
     @ApiOperation(value = "查询装车作业信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "apiId(58)", value = "表头", required = false, dataType = "Interger")
@@ -278,4 +279,17 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allMes, mes);
         return success(pageList);
     }
+
+    @ApiOperation(value = "国产矿物流新增装车")
+    @PostMapping(value = "/addDomesticLoadResult")
+    public RESTfulResult addDomesticLoadResult(@RequestBody(required = false) TmstrainLoadingResult tmstrainLoadingResult) {
+        return success(tmstrainLoadingResultService.addDomesticLoadResult(tmstrainLoadingResult));
+    }
+
+    @ApiOperation(value = "国产矿物流补录装车信息")
+    @PostMapping(value = "/updateDomesticLoadResult")
+    public RESTfulResult updateDomesticLoadResult(@RequestBody(required = false) Map<String, Object> map) {
+        return success(tmstrainLoadingResultService.updateDomesticLoadResult(map));
+    }
+
 }

+ 68 - 0
src/main/java/com/steerinfo/dil/controller/TmstrainMeasureCommissionController.java

@@ -0,0 +1,68 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.ITmstrainMeasureCommissionService;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * TmstrainMeasureCommission RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-12-09 06:52
+ * 类描述
+ * 修订历史:
+ * 日期:2021-12-09
+ * 作者:generator
+ * 参考:
+ * 描述:TmstrainMeasureCommission RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/tmstrainmeasurecommissions")
+public class TmstrainMeasureCommissionController extends BaseRESTfulController {
+
+    @Autowired
+    ITmstrainMeasureCommissionService tmstrainMeasureCommissionService;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+
+    @ApiOperation(value = "查询需要发送计量委托的车皮信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(209)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping(value = "/getLoadResultToSendMC")
+    public RESTfulResult getLoadResultToSendMC(
+            @RequestBody(required = false) Map<String, Object> mapValue,
+            Integer apiId,
+            Integer pageNum,
+            Integer pageSize,
+            Integer resultType) {
+        mapValue.put("resultType",resultType);
+        //不分页筛选数据
+        List<Map<String, Object>> allMes = tmstrainMeasureCommissionService.getLoadResultToSendMC(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> mes = tmstrainMeasureCommissionService.getLoadResultToSendMC(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allMes, mes);
+        return success(pageList);
+    }
+
+    @ApiOperation(value = "批量新增计量委托")
+    @PostMapping(value = "/batchSendMeasureCommission")
+    public RESTfulResult batchSendMeasureCommission(@RequestBody(required = false) Map<String, Object> map) {
+        return success(tmstrainMeasureCommissionService.batchSendMeasureCommission(map));
+    }
+}

+ 1 - 1
src/main/java/com/steerinfo/dil/feign/WmshBoundFeign.java

@@ -15,7 +15,7 @@ import java.util.Map;
  * @Date 2021/6/23 9:58
  * @Version 1.0
  */
-@FeignClient(value = "dil-wsmh-api",url = "${openfeign.WmsBoundFeign.url}")
+@FeignClient(value = "dil-wsmh-api",url = "${openfeign.WmshBoundFeign.url}")
 public interface WmshBoundFeign {
 
     @PostMapping("api/v1/wmsh/wmshinboundresults/addWarehousingResult")

+ 6 - 1
src/main/java/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.java

@@ -42,7 +42,6 @@ public interface TmstrainLoadingResultMapper extends IBaseMapper<TmstrainLoading
     List<Map<String,Object>> selectLoadedForConverted(Map<String,Object> map);
     //内转物流通过id查询装车作业
     List<Map<String,Object>> selectLoadByResultId(BigDecimal resultId);
-
     //通过车皮号与发运计划ID查询火车装车实绩ID
     Integer getLoadingIdByWnoAndRailPlanId(@Param("resultWagonNo")String resultWagonNo, @Param("railPlanId")Integer railPlanId);
 
@@ -57,4 +56,10 @@ public interface TmstrainLoadingResultMapper extends IBaseMapper<TmstrainLoading
 
     //通过汽运总实绩ID查询装车中间表
     Integer getTrainTruckIdByTruckTotalId(BigDecimal resultTotalId);
+
+    //通过采购订单Id查询批次Id
+    BigDecimal getBatchIdByPurOrderId(BigDecimal purchaseOrderId);
+
+    //查询没有采购订单号的装车实绩
+    List<Map<String, Object>> getNoPurOrderIdLoadResult(Map<String, Object> map);
 }

+ 23 - 0
src/main/java/com/steerinfo/dil/mapper/TmstrainMeasureCommissionMapper.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.TmstrainMeasureCommission;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface TmstrainMeasureCommissionMapper extends IBaseMapper<TmstrainMeasureCommission, BigDecimal> {
+    //查询最大主键ID
+    @Select("select seq_train_measure_commission.nextval from dual")
+    BigDecimal selectMaxId();
+
+    //查询车皮计量委托
+    Map<String, Object> getTrainMeasureCommission(Map<String, Object> map);
+
+    //查询没有发送过计量委托的车皮装车实绩并且到站是新区轨道衡和老区轨道衡的车皮装车实绩(不是补录)
+    List<Map<String, Object>> getLoadResultToSendMC(Map<String, Object> map);
+}

+ 38 - 12
src/main/java/com/steerinfo/dil/model/TmstrainLoadingResult.java

@@ -120,9 +120,9 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
     private String insertUpdateRemark;
 
     /**
-     * 是否删除(0:否, 1:是)(DELETED,DECIMAL,0)
+     * 是否删除(0:是, 1:已装车  2:已卸车)(DELETED,DECIMAL,0)
      */
-    @ApiModelProperty(value="是否删除(0:否, 1:是)",required=false)
+    @ApiModelProperty(value="是否删除(0:是, 1:已装车  2:已卸车)",required=false)
     private BigDecimal deleted;
 
     /**
@@ -144,10 +144,26 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
     private BigDecimal resultType;
 
     /**
-     * 车皮号列表
+     * 轨道衡ID(在汽车衡表中)(TRAIN_CALCULATE_ID,DECIMAL,0)
      */
+    @ApiModelProperty(value="轨道衡ID(在汽车衡表中)",required=false)
+    private BigDecimal trainCalculateId;
+
+    /**
+     * 卸货点ID(UNLOADING_POINT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="卸货点ID",required=false)
+    private BigDecimal unloadingPointId;
+
+    public List<String> getWagonNoList() {
+        return wagonNoList;
+    }
+
+    public void setWagonNoList(List<String> wagonNoList) {
+        this.wagonNoList = wagonNoList;
+    }
+
     @TableField(exist = false)
-    @ApiModelProperty(value = "车皮号列表")
     private List<String> wagonNoList;
 
     private static final long serialVersionUID = 1L;
@@ -338,6 +354,22 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
         this.resultType = resultType;
     }
 
+    public BigDecimal getTrainCalculateId() {
+        return trainCalculateId;
+    }
+
+    public void setTrainCalculateId(BigDecimal trainCalculateId) {
+        this.trainCalculateId = trainCalculateId;
+    }
+
+    public BigDecimal getUnloadingPointId() {
+        return unloadingPointId;
+    }
+
+    public void setUnloadingPointId(BigDecimal unloadingPointId) {
+        this.unloadingPointId = unloadingPointId;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -366,16 +398,10 @@ public class TmstrainLoadingResult implements IBasePO<BigDecimal> {
         sb.append(", sendStationId=").append(sendStationId);
         sb.append(", arrivalStationId=").append(arrivalStationId);
         sb.append(", resultType=").append(resultType);
+        sb.append(", trainCalculateId=").append(trainCalculateId);
+        sb.append(", unloadingPointId=").append(unloadingPointId);
         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;
-    }
 }

+ 184 - 0
src/main/java/com/steerinfo/dil/model/TmstrainMeasureCommission.java

@@ -0,0 +1,184 @@
+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;
+import java.util.Date;
+
+@ApiModel(value="火运计量委托")
+public class TmstrainMeasureCommission implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(COMMSSION_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal commssionId;
+
+    /**
+     * 火运总实绩ID(RESULT_TOTAL_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="火运总实绩ID",required=false)
+    private BigDecimal resultTotalId;
+
+    /**
+     * 计量委托类型:0:计量皮重;1:计量毛重(COMMSSION_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="计量委托类型:0:计量皮重;1:计量毛重",required=false)
+    private BigDecimal commssionType;
+
+    /**
+     * 物资ID(MATERIAL_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资ID",required=false)
+    private BigDecimal materialId;
+
+    /**
+     * 计量衡ID(CALCULATE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="计量衡ID",required=false)
+    private BigDecimal calculateId;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.commssionId;
+    }
+
+    @Override
+    public void setId(BigDecimal commssionId) {
+        this.commssionId = commssionId;
+    }
+
+    public BigDecimal getCommssionId() {
+        return commssionId;
+    }
+
+    public void setCommssionId(BigDecimal commssionId) {
+        this.commssionId = commssionId;
+    }
+
+    public BigDecimal getResultTotalId() {
+        return resultTotalId;
+    }
+
+    public void setResultTotalId(BigDecimal resultTotalId) {
+        this.resultTotalId = resultTotalId;
+    }
+
+    public BigDecimal getCommssionType() {
+        return commssionType;
+    }
+
+    public void setCommssionType(BigDecimal commssionType) {
+        this.commssionType = commssionType;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getCalculateId() {
+        return calculateId;
+    }
+
+    public void setCalculateId(BigDecimal calculateId) {
+        this.calculateId = calculateId;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", commssionId=").append(commssionId);
+        sb.append(", resultTotalId=").append(resultTotalId);
+        sb.append(", commssionType=").append(commssionType);
+        sb.append(", materialId=").append(materialId);
+        sb.append(", calculateId=").append(calculateId);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

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

@@ -50,9 +50,17 @@ public interface ITmstrainLoadingResultService{
      //内转新增装车实绩
     int addTrainLoadResultForConverted(Map<String, Object> map);
 
+    //添加国产矿装车实绩
+    int addDomesticLoadResult(TmstrainLoadingResult tmstrainLoadingResult);
+
+    //补录采购订单信息
+    int updateDomesticLoadResult(Map<String, Object> map);
+
     //内转物流通过id查询装车作业
     List<Map<String,Object>> selectLoadByResultId(BigDecimal resultId);
 
     //通过装车实绩主键查询关联的物资信息与车牌号
     List<Map<String, Object>> getMaterialAndCarByLoadingId(Map<String, Object> map);
+
+
 }

+ 33 - 0
src/main/java/com/steerinfo/dil/service/ITmstrainMeasureCommissionService.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * TmstrainMeasureCommission服务接口:
+ * @author TXF
+ * @version 1.0-SNAPSHORT 2021-12-09 06:52
+ * 类描述
+ * 修订历史:
+ * 日期:2021-12-09
+ * 作者:generator
+ * 参考:
+ * 描述:TmstrainMeasureCommission服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface ITmstrainMeasureCommissionService{
+
+    //查询火车车皮计量委托
+    Map<String, Object> getTrainMeasureCommission(Map<String, Object> map);
+
+    //添加火车计量委托
+    int addTrainMeasureCommission(Integer resultId);
+
+    //查询没有发送过计量委托的车皮装车实绩并且到站是新区轨道衡和老区轨道衡的车皮装车实绩(不是补录)
+    List<Map<String, Object>> getLoadResultToSendMC(Map<String, Object> map);
+
+    //批量发送计量委托
+    int batchSendMeasureCommission(Map<String, Object> map);
+
+}

+ 94 - 12
src/main/java/com/steerinfo/dil/service/impl/TmstrainLoadingResultServiceImpl.java

@@ -9,6 +9,7 @@ import com.steerinfo.dil.model.TmstrainTotalResult;
 import com.steerinfo.dil.model.TmstrainTruckTotalResult;
 import com.steerinfo.dil.service.ITmstrainLoadingResultService;
 import com.steerinfo.dil.util.DataChange;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -59,15 +60,18 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
             case 1:
             case 2:
             case 3:
-                return tmstrainLoadingResultMapper.getTmsWagonLoadInfo(map); // apiId = 58
+                return tmstrainLoadingResultMapper.getTmsWagonLoadInfo(map); // apiId = 58  - 209
             case 4:
                 return tmstrainLoadingResultMapper.selectLoadedForConverted(map); //apiId = 203
+            case 10:
+                //查询国产矿需要补录的装车实绩
+                return tmstrainLoadingResultMapper.getNoPurOrderIdLoadResult(map); //apiId = 209
         }
         return null;
     }
 
     /**
-     * 新增装车实绩
+     * 进口矿新增装车实绩
      * @param tmstrainLoadingResult
      * @return
      */
@@ -75,14 +79,10 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
     @Transactional
     public int addTmstrainLoadingResult(TmstrainLoadingResult tmstrainLoadingResult) {
         List<String> wagonNoList = tmstrainLoadingResult.getWagonNoList();
-        //通过批次ID获得采购订单号
-        BigDecimal batchId = tmstrainLoadingResult.getBatchId();
-        //查询并插入采购订单号
-        if(batchId != null){
-            BigDecimal purchaseOrderId = tmstrainLoadingResultMapper.getPurchaseOrderId(batchId);
-            tmstrainLoadingResult.setPurchaseOrderRailPlanId(purchaseOrderId);
-        }
-
+        //通过采购订单号获得批次ID
+        BigDecimal purchaseOrderId = tmstrainLoadingResult.getPurchaseOrderRailPlanId();
+        BigDecimal batchId = tmstrainLoadingResultMapper.getBatchIdByPurOrderId(purchaseOrderId);
+        tmstrainLoadingResult.setBatchId(batchId);
         //添加常规字段
         addRegularField(tmstrainLoadingResult);
         int count = 0;
@@ -97,12 +97,94 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
             tmstrainLoadingResult.setResultBillableTonnage(new BigDecimal(wagonWeight));
             count += tmstrainLoadingResultMapper.insertSelective(tmstrainLoadingResult);
             totalWeight += tmstrainLoadingResult.getResultBillableTonnage().doubleValue();
+            //添加火运总实绩
+            TmstrainTotalResult tmstrainTotalResult = new TmstrainTotalResult();
+            tmstrainTotalResult.setId(tmstrainTotalResultMapper.selectMaxId()); //获取添加火运总实绩主键ID
+            //添加火运装车实绩ID
+            tmstrainTotalResult.setLoadingId(maxId);
+            count += tmstrainTotalResultMapper.insertSelective(tmstrainTotalResult);
         }
 
-        //如果订单类型为采购进口矿火运(万州港---老区轨道衡 || 万州港--老区轨道衡)
+        //如果订单类型为采购进口矿火运(万州港---达州 || 万州港--老区轨道衡) 添加总车皮标重传输给港存库
         if(tmstrainLoadingResult.getResultType().intValue() == 1){
             tmstrainLoadingResult.setResultBillableTonnage(new BigDecimal(totalWeight.toString()));
-            addOutWarehouse(tmstrainLoadingResult, batchId);
+//            addOutWarehouse(tmstrainLoadingResult, batchId);
+        }
+        return count;
+    }
+
+    /**
+     * 添加国产矿装车实绩
+     * @param tmstrainLoadingResult
+     * @return
+     */
+    public int addDomesticLoadResult(TmstrainLoadingResult tmstrainLoadingResult){
+        List<String> wagonNoList = tmstrainLoadingResult.getWagonNoList();
+        //通过到站ID匹配计量衡 如果是老区轨道衡或者是新区轨道衡 则匹配轨道衡
+        BigDecimal arrivalStationId = tmstrainLoadingResult.getArrivalStationId();
+        //如果到站ID是老区轨道衡
+        if(arrivalStationId.intValue() == 3){
+            tmstrainLoadingResult.setTrainCalculateId(new BigDecimal(13)); //设置计量衡为 铁专线(老区)
+        }
+        //如果到站Id是新区轨道衡
+        if(arrivalStationId.intValue() == 4){
+            tmstrainLoadingResult.setTrainCalculateId(new BigDecimal(14));//设置计量衡为 新区轨道衡 (新区)
+        }
+        //添加常规字段
+        addRegularField(tmstrainLoadingResult);
+        //通过采购订单号获得批次ID
+        BigDecimal purchaseOrderId = tmstrainLoadingResult.getPurchaseOrderRailPlanId();
+        if(purchaseOrderId != null){
+            BigDecimal batchId = tmstrainLoadingResultMapper.getBatchIdByPurOrderId(purchaseOrderId);
+            tmstrainLoadingResult.setBatchId(batchId);
+        }
+        int count = 0;
+        for (String wagonNo : wagonNoList) {
+            tmstrainLoadingResult.setResultWagonNo(wagonNo);
+            BigDecimal maxId = tmstrainLoadingResultMapper.selectMaxId();
+            //生成主键id
+            tmstrainLoadingResult.setResultId(maxId);
+            //通过车皮号计算车皮标重
+            int wagonWeight = calculateWagonWeight(tmstrainLoadingResult.getResultWagonNo());
+            tmstrainLoadingResult.setResultBillableTonnage(new BigDecimal(wagonWeight));
+            count += tmstrainLoadingResultMapper.insertSelective(tmstrainLoadingResult);
+            //添加火运总实绩
+            TmstrainTotalResult tmstrainTotalResult = new TmstrainTotalResult();
+            tmstrainTotalResult.setId(tmstrainTotalResultMapper.selectMaxId()); //获取添加火运总实绩主键ID
+            //添加火运装车实绩ID
+            tmstrainTotalResult.setLoadingId(maxId);
+            count += tmstrainTotalResultMapper.insertSelective(tmstrainTotalResult);
+        }
+        return count;
+    }
+
+    /**
+     * 补录采购订单信息
+     * @param map
+     * @return
+     */
+    public int updateDomesticLoadResult(Map<String, Object> map){
+        //获取要补录的实绩ID 列表
+        List<Integer> resultIdList = (List<Integer>) map.get("resultIdList");
+        TmstrainLoadingResult tmstrainLoadingResult = new TmstrainLoadingResult();
+        BigDecimal purchaseOrderId = DataChange.dataToBigDecimal(map.get("purchaseOrderId"));
+        if(purchaseOrderId.intValue() != 0){
+            //添加批次
+            BigDecimal batchId = tmstrainLoadingResultMapper.getBatchIdByPurOrderId(purchaseOrderId);
+            tmstrainLoadingResult.setBatchId(batchId);
+        }
+        tmstrainLoadingResult.setPurchaseOrderRailPlanId(purchaseOrderId); //采购订单Id
+        tmstrainLoadingResult.setUnloadingPointId(DataChange.dataToBigDecimal(map.get("unloadPointId"))); //卸货点ID
+        Object insertUpdateRemark = map.get("insertUpdateRemark");
+        if(insertUpdateRemark != null) {
+            String remark = (String) insertUpdateRemark;
+            if(remark.length() != 0)
+                tmstrainLoadingResult.setInsertUpdateRemark(remark); //备注
+        }
+        int count = 0;
+        for (Integer resultId : resultIdList) {
+            tmstrainLoadingResult.setResultId(new BigDecimal(resultId)); //设置要补录的实绩主键
+            count += tmstrainLoadingResultMapper.updateByPrimaryKeySelective(tmstrainLoadingResult);
         }
         return count;
     }

+ 149 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstrainMeasureCommissionServiceImpl.java

@@ -0,0 +1,149 @@
+package com.steerinfo.dil.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.mapper.TmstrainMeasureCommissionMapper;
+import com.steerinfo.dil.model.TmstrainMeasureCommission;
+import com.steerinfo.dil.service.ITmstrainMeasureCommissionService;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.HTTPRequestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * TmstrainMeasureCommission服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-12-09 06:52
+ * 类描述
+ * 修订历史:
+ * 日期:2021-12-09
+ * 作者:generator
+ * 参考:
+ * 描述:TmstrainMeasureCommission服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "tmstrainMeasureCommissionService")
+public class TmstrainMeasureCommissionServiceImpl  implements ITmstrainMeasureCommissionService {
+
+    @Autowired
+    private TmstrainMeasureCommissionMapper tmstrainMeasureCommissionMapper;
+
+    /**
+     * 批量发送计量委托
+     * @return
+     */
+    public int batchSendMeasureCommission(Map<String, Object> map){
+        List<Integer> resultIdList = (List<Integer>) map.get("resultIdList");
+        int count = 0;
+        for (Integer resultId : resultIdList) {
+            count += addTrainMeasureCommission(resultId);
+        }
+        return count;
+    }
+
+
+    /**
+     * 添加计量委托并发送计量委托
+     *   resultId    装车实绩ID
+     * @return
+     */
+    public int addTrainMeasureCommission(Integer resultId){
+        Map<String, Object> map = new HashMap<>();
+        map.put("resultId", resultId);
+        //查询计量委托
+        Map<String, Object> measureCommission = getTrainMeasureCommission(map);
+        measureCommission.put("isRelationEAS", true);
+        measureCommission.put("flowTo", "进厂");
+        measureCommission.put("isDel", false);
+        measureCommission.put("isInsert", true);
+        measureCommission.put("IsAssembly", false);
+        measureCommission.put("deliveryMethod", "磅重交货");
+        measureCommission.put("packagesNum", 0);
+        //获取计量衡ID
+        map.put("calculateId", measureCommission.get("calculateId"));
+        measureCommission.remove("calculateId");
+        map.put("materialId", measureCommission.get("materialId"));
+        map.put("resultTotalId", measureCommission.get("resultTotalId"));
+        measureCommission.remove("resultTotalId");
+        //添加计量委托实绩
+        int i = addMeasureCommission(map);
+        //添加计量委托其他数据
+        i += sendMesToMeasure(measureCommission);
+        return i;
+    }
+
+    /**
+     * 查询没有发送过计量委托的车皮装车实绩并且到站是新区轨道衡和老区轨道衡的车皮装车实绩
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getLoadResultToSendMC(Map<String, Object> map) {
+        return tmstrainMeasureCommissionMapper.getLoadResultToSendMC(map);
+    }
+
+    /**
+     * 添加火运计量委托
+     * resultTotalId 火运总实绩ID
+     * materialId  物资ID
+     * calculateId 计量衡Id
+     * @param map
+     * @return
+     */
+    public int addMeasureCommission(Map<String, Object> map){
+        TmstrainMeasureCommission tmstrainMeasureCommission = new TmstrainMeasureCommission();
+        tmstrainMeasureCommission.setId(tmstrainMeasureCommissionMapper.selectMaxId());
+        tmstrainMeasureCommission.setCalculateId(DataChange.dataToBigDecimal(map.get("calculateId")));
+        tmstrainMeasureCommission.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+        tmstrainMeasureCommission.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
+        return tmstrainMeasureCommissionMapper.insertSelective(tmstrainMeasureCommission);
+    }
+
+    /**
+     * 查询计量委托
+     * @param map
+     * @return
+     */
+    @Override
+    public Map<String, Object> getTrainMeasureCommission(Map<String, Object> map) {
+        return tmstrainMeasureCommissionMapper.getTrainMeasureCommission(map);
+    }
+
+    /**
+     * 访问计量接口方法
+     * @param map
+     * @return
+     */
+    public int sendMesToMeasure(Map<String, Object> map){
+        List<Map<String, Object>> sendMap = new ArrayList<>();
+        sendMap.add(map);
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("data", sendMap);
+
+        String url = "http://172.16.33.122:44325/api/logistics/TareApplyFor";
+        String jsonData = null;
+        try {
+            jsonData = HTTPRequestUtils.send(url, jsonObject, "utf-8");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        if(!"null".equals(jsonData)){
+            System.out.println(jsonData);
+            HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
+            boolean success = (boolean) hashMap.get("success");
+            System.out.println(hashMap.get("msg"));
+            if(success){
+                return 1;
+            }
+        }
+        return 0;
+    }
+}

+ 131 - 0
src/main/java/com/steerinfo/dil/util/HTTPRequestUtils.java

@@ -0,0 +1,131 @@
+package com.steerinfo.dil.util;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.http.HttpEntity;
+import org.apache.http.ParseException;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.protocol.HTTP;
+import org.apache.http.util.EntityUtils;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class HTTPRequestUtils {
+    /**
+     * 发送post请求
+     * @param url  路径
+     * @param json  参数(json类型)
+     * @param encoding 编码格式
+     * @return
+     * @throws ParseException
+     * @throws IOException
+     */
+    public static String send(String url, JSONObject json, String encoding) throws ParseException, IOException {
+        String body = "";
+
+        //创建httpclient对象
+        CloseableHttpClient client = HttpClients.createDefault();
+        //创建post方式请求对象
+        HttpPost httpPost = new HttpPost(url);
+
+        //装填参数
+        StringEntity s = new StringEntity(json.toString(), "utf-8");
+        s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
+        //设置参数到请求对象中
+        httpPost.setEntity(s);
+        System.out.println("请求地址:" + url);
+        System.out.println(json);
+//        System.out.println("请求参数:"+nvps.toString());
+
+        //设置header信息
+        //指定报文头【Content-type】、【User-Agent】
+//        httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
+        httpPost.setHeader("Content-type", "application/json");
+        httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
+
+        //执行请求操作,并拿到结果(同步阻塞)
+        CloseableHttpResponse response = client.execute(httpPost);
+        System.out.println(response);
+        //获取结果实体
+        HttpEntity entity = response.getEntity();
+        System.out.println(entity);
+        if (entity != null) {
+            //按指定编码转换结果实体为String类型
+            body = EntityUtils.toString(entity, encoding);
+        }
+        EntityUtils.consume(entity);
+        //释放链接
+        response.close();
+        return body;
+    }
+
+
+    public static String getJsonData(JSONObject jsonParam,String urls) {
+        StringBuffer sb=new StringBuffer();
+        try {
+            // 创建url资源
+            URL url = new URL(urls);
+            // 建立http连接
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+            // 设置允许输出
+            conn.setDoOutput(true);
+            // 设置允许输入
+            conn.setDoInput(true);
+            // 设置不用缓存
+            conn.setUseCaches(false);
+            // 设置传递方式
+            conn.setRequestMethod("POST");
+            // 设置维持长连接
+            conn.setRequestProperty("Connection", "Keep-Alive");
+            // 设置文件字符集:
+            conn.setRequestProperty("Charset", "UTF-8");
+            // 转换为字节数组
+            byte[] data = (jsonParam.toString()).getBytes();
+            // 设置文件长度
+            conn.setRequestProperty("Content-Length", String.valueOf(data.length));
+            // 设置文件类型:
+            conn.setRequestProperty("contentType", "application/json");
+            // 开始连接请求
+            conn.connect();
+            OutputStream out = new DataOutputStream(conn.getOutputStream()) ;
+            // 写入请求的字符串
+            out.write((jsonParam.toString()).getBytes());
+            out.flush();
+            out.close();
+            System.out.println(conn.getResponseCode());
+
+            // 请求返回的状态
+            if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){
+                System.out.println("连接成功");
+                // 请求返回的数据
+                InputStream in1 = conn.getInputStream();
+                try {
+                    String readLine = new String();
+                    BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8"));
+                    while((readLine=responseReader.readLine())!=null){
+                        sb.append(readLine).append("\n");
+                    }
+                    responseReader.close();
+                    System.out.println(sb.toString());
+
+                } catch (Exception e1) {
+                    e1.printStackTrace();
+                }
+            } else {
+                System.out.println("error++");
+            }
+        } catch (Exception e) {
+
+        }
+        return sb.toString();
+
+    }
+
+
+}

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

@@ -16,18 +16,16 @@ spring:
 eureka:
   client:
     service-url:
-      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8061}/eureka/
+      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.162}:${EUREKA_PORT:8081}/eureka/
   instance:
     prefer-ip-address: true
     status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
     instance-id: ${spring.cloud.client.ip-address}:${server.port}
 #feign设置
 openfeign:
-  ESFeign:
-    url: ${ESFEIGN_URL:localhost:8089}
   ColumnDataFeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.161:8083}
-  WmsBoundFeign:
+  WmshBoundFeign:
     url: ${WMSHBOUNDFEIGN_URL:172.16.33.161:8070}
 
 genxml:

+ 220 - 57
src/main/resources/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.xml

@@ -24,26 +24,28 @@
     <result column="SEND_STATION_ID" jdbcType="DECIMAL" property="sendStationId" />
     <result column="ARRIVAL_STATION_ID" jdbcType="DECIMAL" property="arrivalStationId" />
     <result column="RESULT_TYPE" jdbcType="DECIMAL" property="resultType" />
+    <result column="TRAIN_CALCULATE_ID" jdbcType="DECIMAL" property="trainCalculateId" />
+    <result column="UNLOADING_POINT_ID" jdbcType="DECIMAL" property="unloadingPointId" />
   </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
+    RESULT_TYPE, TRAIN_CALCULATE_ID, UNLOADING_POINT_ID
   </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.SEND_STATION_ID, t.ARRIVAL_STATION_ID, t.RESULT_TYPE, t.TRAIN_CALCULATE_ID, t.UNLOADING_POINT_ID
   </sql>
   <sql id="select">
-    SELECT <include refid="columns"/> FROM TMSTRAIN_LOADING_RESULT
+    SELECT <include refid="columns" /> FROM TMSTRAIN_LOADING_RESULT
   </sql>
   <sql id="select_alias">
-    SELECT <include refid="columns_alias"/> FROM TMSTRAIN_LOADING_RESULT t
+    SELECT <include refid="columns_alias" /> FROM TMSTRAIN_LOADING_RESULT t
   </sql>
   <sql id="where">
     <where>
@@ -113,6 +115,12 @@
       <if test="resultType != null">
         and RESULT_TYPE = #{resultType}
       </if>
+      <if test="trainCalculateId != null">
+        and TRAIN_CALCULATE_ID = #{trainCalculateId}
+      </if>
+      <if test="unloadingPointId != null">
+        and UNLOADING_POINT_ID = #{unloadingPointId}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -183,6 +191,12 @@
       <if test="resultType != null">
         and RESULT_TYPE = #{resultType}
       </if>
+      <if test="trainCalculateId != null">
+        and TRAIN_CALCULATE_ID = #{trainCalculateId}
+      </if>
+      <if test="unloadingPointId != null">
+        and UNLOADING_POINT_ID = #{unloadingPointId}
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
@@ -255,6 +269,12 @@
     <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>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
     insert into TMSTRAIN_LOADING_RESULT (RESULT_ID, PURCHASE_ORDER_RAIL_PLAN_ID,
@@ -264,7 +284,8 @@
                                          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)
+                                         ARRIVAL_STATION_ID, RESULT_TYPE, TRAIN_CALCULATE_ID,
+                                         UNLOADING_POINT_ID)
     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},
@@ -272,7 +293,8 @@
             #{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})
+            #{arrivalStationId,jdbcType=DECIMAL}, #{resultType,jdbcType=DECIMAL}, #{trainCalculateId,jdbcType=DECIMAL},
+            #{unloadingPointId,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
     insert into TMSTRAIN_LOADING_RESULT
@@ -343,6 +365,12 @@
       <if test="resultType != null">
         RESULT_TYPE,
       </if>
+      <if test="trainCalculateId != null">
+        TRAIN_CALCULATE_ID,
+      </if>
+      <if test="unloadingPointId != null">
+        UNLOADING_POINT_ID,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="resultId != null">
@@ -411,6 +439,12 @@
       <if test="resultType != null">
         #{resultType,jdbcType=DECIMAL},
       </if>
+      <if test="trainCalculateId != null">
+        #{trainCalculateId,jdbcType=DECIMAL},
+      </if>
+      <if test="unloadingPointId != null">
+        #{unloadingPointId,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
@@ -435,7 +469,9 @@
         DELETED = #{deleted,jdbcType=DECIMAL},
         SEND_STATION_ID = #{sendStationId,jdbcType=DECIMAL},
         ARRIVAL_STATION_ID = #{arrivalStationId,jdbcType=DECIMAL},
-        RESULT_TYPE = #{resultType,jdbcType=DECIMAL}
+        RESULT_TYPE = #{resultType,jdbcType=DECIMAL},
+        TRAIN_CALCULATE_ID = #{trainCalculateId,jdbcType=DECIMAL},
+        UNLOADING_POINT_ID = #{unloadingPointId,jdbcType=DECIMAL}
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstrainLoadingResult">
@@ -504,20 +540,26 @@
       <if test="resultType != null">
         RESULT_TYPE = #{resultType,jdbcType=DECIMAL},
       </if>
+      <if test="trainCalculateId != null">
+        TRAIN_CALCULATE_ID = #{trainCalculateId,jdbcType=DECIMAL},
+      </if>
+      <if test="unloadingPointId != null">
+        UNLOADING_POINT_ID = #{unloadingPointId,jdbcType=DECIMAL},
+      </if>
     </set>
     where RESULT_ID = #{resultId,jdbcType=DECIMAL}
   </update>
   <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
-    <include refid="select"/>
+    <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_RESULT
@@ -531,7 +573,8 @@
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     DELETED, SEND_STATION_ID, ARRIVAL_STATION_ID,
-    RESULT_TYPE)
+    RESULT_TYPE, TRAIN_CALCULATE_ID,
+    UNLOADING_POINT_ID)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.resultId,jdbcType=DECIMAL},
@@ -544,138 +587,147 @@
     #{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} from dual
+    #{item.resultType,jdbcType=DECIMAL}, #{item.trainCalculateId,jdbcType=DECIMAL},
+    #{item.unloadingPointId,jdbcType=DECIMAL} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
     update TMSTRAIN_LOADING_RESULT
     set
     RESULT_ID=
-    <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+    <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>
     where RESULT_ID in
-    <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    <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
-    <foreach collection="list" item="id" open="(" close=")" separator=",">
+    <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",
-    a_order.PURCHASE_ORDER_NO "purchaseOrderNo",
-    t_load.RESULT_WAGON_NO "resultWagonNo",
-    t_load.RESULT_LOADING_DATE "resultLoadingDate",
-    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",
-    t_load.RESULT_BILLABLE_TONNAGE "resultBillableTonnage",
-    t_load.RESULT_ISCLEAR "resultIsclear",
-    t_load.RESULT_REMARKS "resultRemarks",
-    RS.SUPPLIER_NAME "supplierName",
-    t_load.INSERT_TIME "insertTime"
+            a_order.PURCHASE_ORDER_NO "purchaseOrderNo",
+            t_load.RESULT_WAGON_NO "resultWagonNo",
+            to_char(t_load.RESULT_LOADING_DATE, 'yyyy-mm-dd') "resultLoadingDate",
+            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",
+            t_load.RESULT_BILLABLE_TONNAGE "resultBillableTonnage",
+            t_load.RESULT_ISCLEAR "resultIsclear",
+            t_load.RESULT_REMARKS "resultRemarks",
+            RS.SUPPLIER_NAME "supplierName",
+            t_load.INSERT_TIME "insertTime"
     from TMSTRAIN_LOADING_RESULT t_load
     left join AMS_PURCHASE_ORDER a_order
     on t_load.PURCHASE_ORDER_RAIL_PLAN_ID=a_order.PURCHASE_ORDER_ID
     left join RMS_SUPPLIER RS
         on RS.SUPPLIER_ID = a_order.SUPPLIER_UNIT_ID
     left join DIL_BATCH d_batch
-    on t_load.BATCH_ID=d_batch.BATCH_ID
+        on t_load.BATCH_ID=d_batch.BATCH_ID
     left join RMS_MATERIAL r_material
     on d_batch.MATERIAL_ID=r_material.MATERIAL_ID
     left join RMSTRAIN_ARRIVAL_SEND r_s_arrival
@@ -683,7 +735,6 @@
     left join RMSTRAIN_ARRIVAL_SEND r_a_arrival
     on r_a_arrival.ARRIVAL_ID=t_load.ARRIVAL_STATION_ID
     where t_load.DELETED in (0, 2) and t_load.RESULT_TYPE = #{resultType}
-    order by t_load.RESULT_LOADING_DATE desc
     )
     <where>
       <if test="purchaseOrderNo != null">
@@ -1070,10 +1121,8 @@
                      on TTR.RESULT_TOTAL_ID = TTTR.TMSTRUCK_TOTAL_RESULT_ID
            left join OMSTRUCK_ORDER OO
                      on OO.ORDER_ID = TTR.ORDER_ID
-           left join RMS_DRIVER_CAPACITY RDC
-                     on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
            left join RMS_CAPACITY RC
-                     on RC.CAPACITY_ID = RDC.CAPACITY_ID
+                     on RC.CAPACITY_ID = OO.CAPACITY_ID
            left join OMSTRUCK_ORDER_MATERIAL OOM
                      on OOM.ORDER_ID = OO.ORDER_ID
            left join RMS_MATERIAL RM
@@ -1106,4 +1155,118 @@
     from TMSTRAIN_TRUCK_TOTAL_RESULT TTTR
     where TTTR.TMSTRUCK_TOTAL_RESULT_ID = #{resultTotalId}
   </select>
+
+<!-- 通过批次Id查询订单ID -->
+  <select id="getBatchIdByPurOrderId" parameterType="java.math.BigDecimal" resultType="java.math.BigDecimal">
+    select APO.BATCH_ID
+    from AMS_PURCHASE_ORDER APO
+    where APO.PURCHASE_ORDER_ID = #{purchaseOrderId}
+  </select>
+
+<!-- 查询还没有采购订单的装车实绩 (补录) -->
+  <select id="getNoPurOrderIdLoadResult" parameterType="map" resultType="java.util.Map">
+    select * from(
+    select t_load.RESULT_ID "resultId",
+            a_order.PURCHASE_ORDER_NO "purchaseOrderNo",
+            t_load.RESULT_WAGON_NO "resultWagonNo",
+            to_char(t_load.RESULT_LOADING_DATE, 'yyyy-mm-dd') "resultLoadingDate",
+            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",
+            t_load.RESULT_BILLABLE_TONNAGE "resultBillableTonnage",
+            t_load.RESULT_ISCLEAR "resultIsclear",
+            t_load.RESULT_REMARKS "resultRemarks",
+            RS.SUPPLIER_NAME "supplierName",
+            t_load.INSERT_TIME "insertTime"
+    from TMSTRAIN_LOADING_RESULT t_load
+    left join AMS_PURCHASE_ORDER a_order
+    on t_load.PURCHASE_ORDER_RAIL_PLAN_ID=a_order.PURCHASE_ORDER_ID
+    left join RMS_SUPPLIER RS
+    on RS.SUPPLIER_ID = a_order.SUPPLIER_UNIT_ID
+    left join DIL_BATCH d_batch
+    on t_load.BATCH_ID=d_batch.BATCH_ID
+    left join RMS_MATERIAL r_material
+    on d_batch.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
+    where t_load.DELETED = 0
+      and t_load.RESULT_TYPE = 3
+      and t_load.PURCHASE_ORDER_RAIL_PLAN_ID is null
+    )
+    <where>
+      <if test="purchaseOrderNo != null">
+        <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+          "purchaseOrderNo" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultWagonNo != null">
+        and
+        <foreach collection="resultWagonNo" item="item" open="(" separator="or" close=")">
+          "resultWagonNo" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultLoadingDate != null">
+        and
+        <foreach collection="resultLoadingDate" item="item" open="(" separator="or" close=")">
+          "resultLoadingDate" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultClass != null">
+        and
+        <foreach collection="resultClass" item="item" open="(" separator="or" close=")">
+          "resultClass" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultForeignShipName != null">
+        and
+        <foreach collection="resultForeignShipName" item="item" open="(" separator="or" close=")">
+          "resultForeignShipName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialName != null">
+        and
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          materialName like '%${item}%'
+        </foreach>
+      </if>
+      <if test="sendStationName != null">
+        and
+        <foreach collection="sendStationName" item="item" open="(" separator="or" close=")">
+          "sendStationName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="arrivalStationName != null">
+        and
+        <foreach collection="arrivalStationName" item="item" open="(" separator="or" close=")">
+          arrivalStationName like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultBillableTonnage != null">
+        and
+        <foreach collection="resultBillableTonnage" item="item" open="(" separator="or" close=")">
+          "resultBillableTonnage" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultIsclear != null">
+        and
+        <foreach collection="resultIsclear" item="item" open="(" separator="or" close=")">
+          "resultIsclear" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultRemarks != null">
+        and
+        <foreach collection="resultRemarks" item="item" open="(" separator="or" close=")">
+          "resultRemarks" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+    <if test="orderField == null  ">
+      order by "insertTime" desc
+    </if>
+  </select>
 </mapper>

+ 506 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstrainMeasureCommissionMapper.xml

@@ -0,0 +1,506 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.TmstrainMeasureCommissionMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.TmstrainMeasureCommission">
+    <id column="COMMSSION_ID" jdbcType="DECIMAL" property="commssionId" />
+    <result column="RESULT_TOTAL_ID" jdbcType="DECIMAL" property="resultTotalId" />
+    <result column="COMMSSION_TYPE" jdbcType="DECIMAL" property="commssionType" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="CALCULATE_ID" jdbcType="DECIMAL" property="calculateId" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+  </resultMap>
+  <sql id="columns">
+    COMMSSION_ID, RESULT_TOTAL_ID, COMMSSION_TYPE, MATERIAL_ID, CALCULATE_ID, INSERT_USERNAME, 
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.COMMSSION_ID, t.RESULT_TOTAL_ID, t.COMMSSION_TYPE, t.MATERIAL_ID, t.CALCULATE_ID, 
+    t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM TMSTRAIN_MEASURE_COMMISSION
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM TMSTRAIN_MEASURE_COMMISSION t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="commssionId != null">
+        and COMMSSION_ID = #{commssionId}
+      </if>
+      <if test="resultTotalId != null">
+        and RESULT_TOTAL_ID = #{resultTotalId}
+      </if>
+      <if test="commssionType != null">
+        and COMMSSION_TYPE = #{commssionType}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="calculateId != null">
+        and CALCULATE_ID = #{calculateId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="commssionId != null">
+        and COMMSSION_ID = #{commssionId}
+      </if>
+      <if test="resultTotalId != null">
+        and RESULT_TOTAL_ID = #{resultTotalId}
+      </if>
+      <if test="commssionType != null">
+        and COMMSSION_TYPE = #{commssionType}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="calculateId != null">
+        and CALCULATE_ID = #{calculateId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+    delete from TMSTRAIN_MEASURE_COMMISSION
+    where COMMSSION_ID = #{commssionId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from TMSTRAIN_MEASURE_COMMISSION
+    where 1!=1 
+      <if test="resultTotalId != null">
+        or RESULT_TOTAL_ID = #{resultTotalId}
+      </if>
+      <if test="commssionType != null">
+        or COMMSSION_TYPE = #{commssionType}
+      </if>
+      <if test="materialId != null">
+        or MATERIAL_ID = #{materialId}
+      </if>
+      <if test="calculateId != null">
+        or CALCULATE_ID = #{calculateId}
+      </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>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.TmstrainMeasureCommission">
+    insert into TMSTRAIN_MEASURE_COMMISSION (COMMSSION_ID, RESULT_TOTAL_ID, COMMSSION_TYPE, 
+      MATERIAL_ID, CALCULATE_ID, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK)
+    values (#{commssionId,jdbcType=DECIMAL}, #{resultTotalId,jdbcType=DECIMAL}, #{commssionType,jdbcType=DECIMAL}, 
+      #{materialId,jdbcType=DECIMAL}, #{calculateId,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, 
+      #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
+      #{insertUpdateRemark,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstrainMeasureCommission">
+    insert into TMSTRAIN_MEASURE_COMMISSION
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="commssionId != null">
+        COMMSSION_ID,
+      </if>
+      <if test="resultTotalId != null">
+        RESULT_TOTAL_ID,
+      </if>
+      <if test="commssionType != null">
+        COMMSSION_TYPE,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="calculateId != null">
+        CALCULATE_ID,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="commssionId != null">
+        #{commssionId,jdbcType=DECIMAL},
+      </if>
+      <if test="resultTotalId != null">
+        #{resultTotalId,jdbcType=DECIMAL},
+      </if>
+      <if test="commssionType != null">
+        #{commssionType,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="calculateId != null">
+        #{calculateId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstrainMeasureCommission">
+    update TMSTRAIN_MEASURE_COMMISSION
+    set RESULT_TOTAL_ID = #{resultTotalId,jdbcType=DECIMAL},
+      COMMSSION_TYPE = #{commssionType,jdbcType=DECIMAL},
+      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      CALCULATE_ID = #{calculateId,jdbcType=DECIMAL},
+      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}
+    where COMMSSION_ID = #{commssionId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstrainMeasureCommission">
+    update TMSTRAIN_MEASURE_COMMISSION
+    <set>
+      <if test="resultTotalId != null">
+        RESULT_TOTAL_ID = #{resultTotalId,jdbcType=DECIMAL},
+      </if>
+      <if test="commssionType != null">
+        COMMSSION_TYPE = #{commssionType,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="calculateId != null">
+        CALCULATE_ID = #{calculateId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where COMMSSION_ID = #{commssionId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <include refid="select" />
+    where COMMSSION_ID = #{commssionId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLike" />
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into TMSTRAIN_MEASURE_COMMISSION 
+      (COMMSSION_ID, 
+      RESULT_TOTAL_ID, COMMSSION_TYPE, 
+      MATERIAL_ID, CALCULATE_ID, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.commssionId,jdbcType=DECIMAL}, 
+      #{item.resultTotalId,jdbcType=DECIMAL}, #{item.commssionType,jdbcType=DECIMAL}, 
+      #{item.materialId,jdbcType=DECIMAL}, #{item.calculateId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update TMSTRAIN_MEASURE_COMMISSION
+     set
+       COMMSSION_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.commssionId,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_TOTAL_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.resultTotalId,jdbcType=DECIMAL}
+       </foreach>
+       ,COMMSSION_TYPE=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.commssionType,jdbcType=DECIMAL}
+       </foreach>
+       ,MATERIAL_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+       </foreach>
+       ,CALCULATE_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.calculateId,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case COMMSSION_ID" separator=" ">
+          when #{item.commssionId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where COMMSSION_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.commssionId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from TMSTRAIN_MEASURE_COMMISSION
+    where COMMSSION_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+<!--  查询车皮计量委托 -->
+  <select id="getTrainMeasureCommission" parameterType="map" resultType="java.util.Map">
+    select
+      APO.PURCHASE_ORDER_NO   "purchaseOrder",
+      TLR.RESULT_WAGON_NO         "transportNum",
+      TLR.RESULT_WAGON_NO      "carNum",
+      RTC.TRUCK_CALCULATE_NUMBER "steelyardNum",
+      RS.SUPPLIER_NAME            "sendUnit",
+      RSH.SHIPPER_NAME            "ReceivUnit",
+      RM.MATERIAL_NAME            "materiaName",
+      RM.MATERIAL_ID              "materialId",
+      CONCAT(RM.MATERIAL_SPECIFICATION, RM.MATERIAL_MODEL) "goodsType",
+      RW.WAREHOUSE_NAME           "unloadPlace",
+      TLR.INSERT_UPDATE_REMARK    "demo",
+      DB.RESULT_FOREIGN_SHIP_NAME "shipNum",
+      TLR.UNLOADING_POINT_ID "unloadPointId",
+      TTR.TOTAL_RESULT_ID          "resultTotalId",
+      TLR.TRAIN_CALCULATE_ID        "calculateId"
+    from TMSTRAIN_LOADING_RESULT TLR
+           left join AMS_PURCHASE_ORDER APO
+                     on APO.PURCHASE_ORDER_ID = TLR.PURCHASE_ORDER_RAIL_PLAN_ID
+           left join DIL_BATCH DB
+                     on DB.BATCH_ID = APO.BATCH_ID
+           left join RMS_SUPPLIER RS
+                     on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+           left join RMS_SHIPPER RSH
+                     on RSH.SHIPPER_ID = APO.RECEIVE_UNIT_ID
+           left join RMS_MATERIAL RM
+                     on RM.MATERIAL_ID = DB.MATERIAL_ID
+           left join RMS_TRUCK_CALCULATE RTC
+                     on RTC.TRUCK_CALCULATE_ID = TLR.TRAIN_CALCULATE_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
+    where TLR.RESULT_ID = #{resultId}
+  </select>
+
+<!-- 查询没有发送过计量委托的车皮装车实绩并且到站是新区轨道衡和老区轨道衡的车皮装车实绩 -->
+  <select id="getLoadResultToSendMC" parameterType="map" resultType="java.util.Map">
+    select
+           *
+    from (
+           select TTR.TOTAL_RESULT_ID                            "resultTotalId",
+                  TLR.RESULT_ID                                  "resultId",
+                  APO.PURCHASE_ORDER_NO                          "purchaseOrderNo",
+                  TLR.RESULT_WAGON_NO                            "resultWagonNo",
+                  to_char(TLR.RESULT_LOADING_DATE, 'yyyy-mm-dd') "resultLoadingDate",
+                  TLR.RESULT_CLASS                               "resultClass",
+                  DB.RESULT_FOREIGN_SHIP_NAME                    "resultForeignShipName",
+                  RM.MATERIAL_NAME                               "materialName",
+                  RAS.ARRIVAL_NAME                               "sendStationName",
+                  RAS2.ARRIVAL_NAME                              "arrivalStationName",
+                  TLR.RESULT_BILLABLE_TONNAGE                    "resultBillableTonnage",
+                  TLR.RESULT_ISCLEAR                             "resultIsclear",
+                  TLR.RESULT_REMARKS                             "resultRemarks",
+                  RS.SUPPLIER_NAME                               "supplierName",
+                  TLR.INSERT_TIME                                "insertTime"
+           from TMSTRAIN_LOADING_RESULT TLR
+                  left join AMS_PURCHASE_ORDER APO
+                            on TLR.PURCHASE_ORDER_RAIL_PLAN_ID = APO.PURCHASE_ORDER_ID
+                  left join RMS_SUPPLIER RS
+                            on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                  left join DIL_BATCH DB
+                            on TLR.BATCH_ID = DB.BATCH_ID
+                  left join RMS_MATERIAL RM
+                            on DB.MATERIAL_ID = RM.MATERIAL_ID
+                  left join RMSTRAIN_ARRIVAL_SEND RAS
+                            on RAS.ARRIVAL_ID = TLR.SEND_STATION_ID
+                  left join RMSTRAIN_ARRIVAL_SEND RAS2
+                            on RAS2.ARRIVAL_ID = TLR.ARRIVAL_STATION_ID
+                  left join TMSTRAIN_TOTAL_RESULT TTR
+                            on TTR.LOADING_ID = TLR.RESULT_ID
+           where TLR.DELETED = 0
+             and TLR.RESULT_TYPE = #{resultType}
+             and TLR.ARRIVAL_STATION_ID in (3, 4) --新区轨道衡和老区轨道衡的ID
+             and not exists ( select TMC.COMMSSION_ID
+                             from TMSTRAIN_MEASURE_COMMISSION TMC
+                             where TMC.RESULT_TOTAL_ID = TTR.TOTAL_RESULT_ID)
+         )
+
+    <where>
+      <if test="purchaseOrderNo != null">
+        <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+          "purchaseOrderNo" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultWagonNo != null">
+        and
+        <foreach collection="resultWagonNo" item="item" open="(" separator="or" close=")">
+          "resultWagonNo" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultLoadingDate != null">
+        and
+        <foreach collection="resultLoadingDate" item="item" open="(" separator="or" close=")">
+          "resultLoadingDate" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultClass != null">
+        and
+        <foreach collection="resultClass" item="item" open="(" separator="or" close=")">
+          "resultClass" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultForeignShipName != null">
+        and
+        <foreach collection="resultForeignShipName" item="item" open="(" separator="or" close=")">
+          "resultForeignShipName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialName != null">
+        and
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          materialName like '%${item}%'
+        </foreach>
+      </if>
+      <if test="sendStationName != null">
+        and
+        <foreach collection="sendStationName" item="item" open="(" separator="or" close=")">
+          "sendStationName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="arrivalStationName != null">
+        and
+        <foreach collection="arrivalStationName" item="item" open="(" separator="or" close=")">
+          arrivalStationName like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultBillableTonnage != null">
+        and
+        <foreach collection="resultBillableTonnage" item="item" open="(" separator="or" close=")">
+          "resultBillableTonnage" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultIsclear != null">
+        and
+        <foreach collection="resultIsclear" item="item" open="(" separator="or" close=")">
+          "resultIsclear" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultRemarks != null">
+        and
+        <foreach collection="resultRemarks" item="item" open="(" separator="or" close=")">
+          "resultRemarks" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+    <if test="orderField == null  ">
+      order by "insertTime" desc
+    </if>
+  </select>
+
+  <sql id="orderBy">
+    <if test="orderField != null and orderField != ''">
+      order by  "${orderField}"
+      <if test="orderType != null and orderType != ''">
+        ${orderType}
+      </if>
+    </if>
+  </sql>
+</mapper>

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

@@ -983,7 +983,7 @@
                 on rm.material_id = db.material_id
            left join rms_warehouse rw
                 on rw.warehouse_id = twur.unloading_id
-    where twur.RESULT_TYPE = 1 and twur.UNLOADING_POINT_ID = 10003
+    where twur.RESULT_TYPE = 1 and twur.UNLOADING_POINT_ID = 9
   </select>
 
 <!--  内转老区轨道衡-厂内料场 -->
@@ -1010,6 +1010,6 @@
                      on rm.material_id = db.material_id
            left join rms_warehouse rw
                      on rw.warehouse_id = twur.unloading_id
-    where twur.RESULT_TYPE = 1 and twur.UNLOADING_POINT_ID = 10002
+    where twur.RESULT_TYPE = 1 and twur.UNLOADING_POINT_ID = 13
   </select>
 </mapper>