zx vor 2 Jahren
Ursprung
Commit
358a43803c

+ 1 - 1
pom.xml

@@ -194,7 +194,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <table>TMSTRAIN_QUALITY_RESULT</table>
+                        <table>AMS_SALE_MATERIAL</table>
                     </tables>
                 </configuration>
                 <executions>

+ 43 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import java.math.BigDecimal;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -39,6 +40,22 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         return input;
     }
 
+
+    @ApiModelProperty(value = "销售订单管理对接接口/查询")
+    @PostMapping("/addInwardSteelOrder")
+    public RESTfulResult addInwardSteelOrder(@RequestBody(required = false) Map<String,Object> map) throws Exception {
+        int input=0;
+        try{
+            input = amsSaleOrderService.addInwardSteelOrder(map);
+        }catch (Exception e){
+            return  failed(e.getMessage());
+        }
+        return success("操作成功");
+    }
+
+
+
+
     /**
      * 销售订单管理对接接口/修改
      *
@@ -77,4 +94,30 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         return input;
     }
 
+
+
+
+    /**
+     * 查询车牌号和金蝶分录
+     *
+     * @param map
+     * @return
+     */
+    @ApiModelProperty(value = "对外开放接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "saleNumber", value = "WXSDD-20210909-00000007", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "saleAccountBalance", value = "3000", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "saleCurrentOrderAmount", value = "1000", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "saleHistoricalOrderAmount", value = "5000", required = true, dataType = "String"),
+    })
+    @PostMapping("/selectSaleSteelOrder")
+    public RESTfulResult selectSaleSteelOrder(@RequestBody(required = false) Map<String,Object> map) {
+        List<Map<String,Object>> steelOrder = amsSaleOrderService.selectSaleSteelOrder(map);
+        if (steelOrder==null)
+        {
+            return failed("抱歉物流系统没有找到你要的数据");
+        }
+        return success(steelOrder);
+    }
+
 }

+ 4 - 1
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -22,7 +22,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     BigDecimal getSaleOrderId();
 
     // 查询收货单位
-    BigDecimal getReceiveId(String receiveUnit);
+    BigDecimal getReceiveId(String receiveUnitName);
 
     // 查询发货单位
     BigDecimal getShipperId(String shipperUnit);
@@ -35,4 +35,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     String getWithdrawal(BigDecimal saleOrderMaterialId);
 
+    BigDecimal selectAmsSaleOrderNum(String saleNumber);
+
+    List<Map<String, Object>>  selectSaleSteelOrder(Map<String,Object> map);
 }

+ 17 - 0
src/main/java/com/steerinfo/dil/mapper/RmstrainArrivalSendMapper.java

@@ -0,0 +1,17 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmstrainArrivalSend;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface RmstrainArrivalSendMapper extends IBaseMapper<RmstrainArrivalSend, BigDecimal> {
+    //创建序列号
+     @Select("select seq_RMSTRAIN_ARRIVAL_SEND.nextval from dual")
+     BigDecimal getMaxId();
+
+     //根据到站名称查找是否存在改到站
+    BigDecimal getSendStation(String stationName);
+}

+ 16 - 0
src/main/java/com/steerinfo/dil/mapper/TmstrainPleaseApproveResultMapper.java

@@ -0,0 +1,16 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.TmstrainPleaseApproveResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface TmstrainPleaseApproveResultMapper extends IBaseMapper<TmstrainPleaseApproveResult, BigDecimal> {
+    @Select("select  seq_TMSTRAIN_PLEASE_APPROVE_RESULT.nextval from dual")
+    BigDecimal getMaxId();
+    //根据销售订单id查找请车批车实绩
+    BigDecimal selectResultId(BigDecimal saleOrderNumber);
+}

+ 107 - 3
src/main/java/com/steerinfo/dil/model/AmsSaleMaterial.java

@@ -3,7 +3,6 @@ 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;
 
@@ -94,9 +93,9 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
     private BigDecimal steelMeter;
 
     /**
-     * 是否磅重销售(IS_POUND_SALE,DECIMAL,0)
+     * 是否磅重销售 0:磅重 1:理重(IS_POUND_SALE,DECIMAL,0)
      */
-    @ApiModelProperty(value="是否磅重销售",required=false)
+    @ApiModelProperty(value="是否磅重销售 0:磅重 1:理重",required=false)
     private BigDecimal isPoundSale;
 
     /**
@@ -105,6 +104,48 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="物资理重",required=false)
     private BigDecimal meterWeight;
 
+    /**
+     * 调出仓库(TRANSFER_OUT_OF_WAREHOUSE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调出仓库",required=false)
+    private String transferOutOfWarehouse;
+
+    /**
+     * 调入仓库(TRANSFER_IN_OF_WAREHOUSE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调入仓库",required=false)
+    private String transferInOfWarehouse;
+
+    /**
+     * 库存类型(INVENTORY_TYPE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="库存类型",required=false)
+    private String inventoryType;
+
+    /**
+     * 库存状态(INVENTORY_STATUS,VARCHAR,50)
+     */
+    @ApiModelProperty(value="库存状态",required=false)
+    private String inventoryStatus;
+
+    /**
+     * 调入计划日期(TRANSFER_IN_PLAN_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="调入计划日期",required=false)
+    private Date transferInPlanDate;
+
+    /**
+     * 调出计划日期(TRANSFER_OUT_PLAN_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="调出计划日期",required=false)
+    private Date transferOutPlanDate;
+
+    /**
+     * 是否控制数量(CONTROL_QUANTITY,VARCHAR,20)
+     */
+    @ApiModelProperty(value="是否控制数量",required=false)
+    private String controlQuantity;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -245,6 +286,62 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
         this.meterWeight = meterWeight;
     }
 
+    public String getTransferOutOfWarehouse() {
+        return transferOutOfWarehouse;
+    }
+
+    public void setTransferOutOfWarehouse(String transferOutOfWarehouse) {
+        this.transferOutOfWarehouse = transferOutOfWarehouse == null ? null : transferOutOfWarehouse.trim();
+    }
+
+    public String getTransferInOfWarehouse() {
+        return transferInOfWarehouse;
+    }
+
+    public void setTransferInOfWarehouse(String transferInOfWarehouse) {
+        this.transferInOfWarehouse = transferInOfWarehouse == null ? null : transferInOfWarehouse.trim();
+    }
+
+    public String getInventoryType() {
+        return inventoryType;
+    }
+
+    public void setInventoryType(String inventoryType) {
+        this.inventoryType = inventoryType == null ? null : inventoryType.trim();
+    }
+
+    public String getInventoryStatus() {
+        return inventoryStatus;
+    }
+
+    public void setInventoryStatus(String inventoryStatus) {
+        this.inventoryStatus = inventoryStatus == null ? null : inventoryStatus.trim();
+    }
+
+    public Date getTransferInPlanDate() {
+        return transferInPlanDate;
+    }
+
+    public void setTransferInPlanDate(Date transferInPlanDate) {
+        this.transferInPlanDate = transferInPlanDate;
+    }
+
+    public Date getTransferOutPlanDate() {
+        return transferOutPlanDate;
+    }
+
+    public void setTransferOutPlanDate(Date transferOutPlanDate) {
+        this.transferOutPlanDate = transferOutPlanDate;
+    }
+
+    public String getControlQuantity() {
+        return controlQuantity;
+    }
+
+    public void setControlQuantity(String controlQuantity) {
+        this.controlQuantity = controlQuantity == null ? null : controlQuantity.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -267,6 +364,13 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
         sb.append(", steelMeter=").append(steelMeter);
         sb.append(", isPoundSale=").append(isPoundSale);
         sb.append(", meterWeight=").append(meterWeight);
+        sb.append(", transferOutOfWarehouse=").append(transferOutOfWarehouse);
+        sb.append(", transferInOfWarehouse=").append(transferInOfWarehouse);
+        sb.append(", inventoryType=").append(inventoryType);
+        sb.append(", inventoryStatus=").append(inventoryStatus);
+        sb.append(", transferInPlanDate=").append(transferInPlanDate);
+        sb.append(", transferOutPlanDate=").append(transferOutPlanDate);
+        sb.append(", controlQuantity=").append(controlQuantity);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 120 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrder.java

@@ -141,6 +141,54 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="销售员ID",required=false)
     private BigDecimal salerId;
 
+    /**
+     * 销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣,4:内转钢材到异地库)(SALE_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣,4:内转钢材到异地库)",required=false)
+    private BigDecimal saleType;
+
+    /**
+     * 调出库存组织(TRANSFER_OUT_INVENTORY_ORG,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调出库存组织",required=false)
+    private String transferOutInventoryOrg;
+
+    /**
+     * 调入库存组织(TRANSFER_IN_INVENTORY_ORG,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调入库存组织",required=false)
+    private String transferInInventoryOrg;
+
+    /**
+     * 调出部门(TRANSFER_OUT_DEP,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调出部门",required=false)
+    private String transferOutDep;
+
+    /**
+     * 调入部门(TRANSFER_IN_DEP,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调入部门",required=false)
+    private String transferInDep;
+
+    /**
+     * 业务日期(BUSINESS_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="业务日期",required=false)
+    private Date businessDate;
+
+    /**
+     * 是否是车皮(WHETHER_THE_CAR,VARCHAR,20)
+     */
+    @ApiModelProperty(value="是否是车皮",required=false)
+    private String whetherTheCar;
+
+    /**
+     * 业务类型(BUSINESS_TYPE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="业务类型",required=false)
+    private String businessType;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -329,6 +377,70 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         this.salerId = salerId;
     }
 
+    public BigDecimal getSaleType() {
+        return saleType;
+    }
+
+    public void setSaleType(BigDecimal saleType) {
+        this.saleType = saleType;
+    }
+
+    public String getTransferOutInventoryOrg() {
+        return transferOutInventoryOrg;
+    }
+
+    public void setTransferOutInventoryOrg(String transferOutInventoryOrg) {
+        this.transferOutInventoryOrg = transferOutInventoryOrg == null ? null : transferOutInventoryOrg.trim();
+    }
+
+    public String getTransferInInventoryOrg() {
+        return transferInInventoryOrg;
+    }
+
+    public void setTransferInInventoryOrg(String transferInInventoryOrg) {
+        this.transferInInventoryOrg = transferInInventoryOrg == null ? null : transferInInventoryOrg.trim();
+    }
+
+    public String getTransferOutDep() {
+        return transferOutDep;
+    }
+
+    public void setTransferOutDep(String transferOutDep) {
+        this.transferOutDep = transferOutDep == null ? null : transferOutDep.trim();
+    }
+
+    public String getTransferInDep() {
+        return transferInDep;
+    }
+
+    public void setTransferInDep(String transferInDep) {
+        this.transferInDep = transferInDep == null ? null : transferInDep.trim();
+    }
+
+    public Date getBusinessDate() {
+        return businessDate;
+    }
+
+    public void setBusinessDate(Date businessDate) {
+        this.businessDate = businessDate;
+    }
+
+    public String getWhetherTheCar() {
+        return whetherTheCar;
+    }
+
+    public void setWhetherTheCar(String whetherTheCar) {
+        this.whetherTheCar = whetherTheCar == null ? null : whetherTheCar.trim();
+    }
+
+    public String getBusinessType() {
+        return businessType;
+    }
+
+    public void setBusinessType(String businessType) {
+        this.businessType = businessType == null ? null : businessType.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -357,6 +469,14 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         sb.append(", deleted=").append(deleted);
         sb.append(", closeStatus=").append(closeStatus);
         sb.append(", salerId=").append(salerId);
+        sb.append(", saleType=").append(saleType);
+        sb.append(", transferOutInventoryOrg=").append(transferOutInventoryOrg);
+        sb.append(", transferInInventoryOrg=").append(transferInInventoryOrg);
+        sb.append(", transferOutDep=").append(transferOutDep);
+        sb.append(", transferInDep=").append(transferInDep);
+        sb.append(", businessDate=").append(businessDate);
+        sb.append(", whetherTheCar=").append(whetherTheCar);
+        sb.append(", businessType=").append(businessType);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 184 - 0
src/main/java/com/steerinfo/dil/model/RmstrainArrivalSend.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 RmstrainArrivalSend implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(ARRIVAL_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal arrivalId;
+
+    /**
+     * 到站名称(ARRIVAL_NAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="到站名称",required=false)
+    private String arrivalName;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 所属港口(OWNED_PORT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="所属港口",required=false)
+    private BigDecimal ownedPortId;
+
+    /**
+     * 专用线(DAYPLAN_DEDICATED_LINE,VARCHAR,100)
+     */
+    @ApiModelProperty(value="专用线",required=false)
+    private String dayplanDedicatedLine;
+
+    /**
+     * 移库单位(TRANSFER_UNIT,VARCHAR,100)
+     */
+    @ApiModelProperty(value="移库单位",required=false)
+    private String transferUnit;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.arrivalId;
+    }
+
+    @Override
+    public void setId(BigDecimal arrivalId) {
+        this.arrivalId = arrivalId;
+    }
+
+    public BigDecimal getArrivalId() {
+        return arrivalId;
+    }
+
+    public void setArrivalId(BigDecimal arrivalId) {
+        this.arrivalId = arrivalId;
+    }
+
+    public String getArrivalName() {
+        return arrivalName;
+    }
+
+    public void setArrivalName(String arrivalName) {
+        this.arrivalName = arrivalName == null ? null : arrivalName.trim();
+    }
+
+    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();
+    }
+
+    public BigDecimal getOwnedPortId() {
+        return ownedPortId;
+    }
+
+    public void setOwnedPortId(BigDecimal ownedPortId) {
+        this.ownedPortId = ownedPortId;
+    }
+
+    public String getDayplanDedicatedLine() {
+        return dayplanDedicatedLine;
+    }
+
+    public void setDayplanDedicatedLine(String dayplanDedicatedLine) {
+        this.dayplanDedicatedLine = dayplanDedicatedLine == null ? null : dayplanDedicatedLine.trim();
+    }
+
+    public String getTransferUnit() {
+        return transferUnit;
+    }
+
+    public void setTransferUnit(String transferUnit) {
+        this.transferUnit = transferUnit == null ? null : transferUnit.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", arrivalId=").append(arrivalId);
+        sb.append(", arrivalName=").append(arrivalName);
+        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(", ownedPortId=").append(ownedPortId);
+        sb.append(", dayplanDedicatedLine=").append(dayplanDedicatedLine);
+        sb.append(", transferUnit=").append(transferUnit);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 349 - 0
src/main/java/com/steerinfo/dil/model/TmstrainPleaseApproveResult.java

@@ -0,0 +1,349 @@
+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 TmstrainPleaseApproveResult implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(RESULT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal resultId;
+
+    /**
+     * 发运计划ID(RAIL_PLAN_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="发运计划ID",required=false)
+    private BigDecimal railPlanId;
+
+    /**
+     * 请车计划号(RESULT_PLEASE_PLAN_NO,VARCHAR,50)
+     */
+    @ApiModelProperty(value="请车计划号",required=false)
+    private String resultPleasePlanNo;
+
+    /**
+     * 计划日期(RESULT_PLAN_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="计划日期",required=false)
+    private Date resultPlanDate;
+
+    /**
+     * 品类(默认铁矿石)(RESULT_CATEGORY,VARCHAR,20)
+     */
+    @ApiModelProperty(value="品类(默认铁矿石)",required=false)
+    private String resultCategory;
+
+    /**
+     * 发货单位ID(原料供应商)(SUPPLIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="发货单位ID(原料供应商)",required=false)
+    private BigDecimal supplierId;
+
+    /**
+     * 发站ID(SEND_STATION_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="发站ID",required=false)
+    private BigDecimal sendStationId;
+
+    /**
+     * 到站ID(TO_THE_STATION_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="到站ID",required=false)
+    private BigDecimal toTheStationId;
+
+    /**
+     * 请车数(RESULT_PLEASE_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="请车数",required=false)
+    private BigDecimal resultPleaseNumber;
+
+    /**
+     * 请车日期(RESULT_PLEASE_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="请车日期",required=false)
+    private Date resultPleaseDate;
+
+    /**
+     * 批车数(RESULT_APPROVE_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="批车数",required=false)
+    private BigDecimal resultApproveNumber;
+
+    /**
+     * 批车日期(RESULT_APPROVE_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="批车日期",required=false)
+    private Date resultApproveDate;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 状态:0未下发 1已下发 2已批车 3逻辑删除(STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="状态:0未下发 1已下发 2已批车 3逻辑删除",required=false)
+    private BigDecimal status;
+
+    /**
+     * 请车批车类型:1:采购进口矿(万州港-达州站/万州港-老区轨道衡)3:采购国产矿  4:内转钢材到异地库(RESULT_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="请车批车类型:1:采购进口矿(万州港-达州站/万州港-老区轨道衡)3:采购国产矿  4:内转钢材到异地库",required=false)
+    private BigDecimal resultType;
+
+    /**
+     * 物流承运商id(CARRIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物流承运商id",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 专用线id(SPECIAL_LINE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="专用线id",required=false)
+    private BigDecimal specialLineId;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.resultId;
+    }
+
+    @Override
+    public void setId(BigDecimal resultId) {
+        this.resultId = resultId;
+    }
+
+    public BigDecimal getResultId() {
+        return resultId;
+    }
+
+    public void setResultId(BigDecimal resultId) {
+        this.resultId = resultId;
+    }
+
+    public BigDecimal getRailPlanId() {
+        return railPlanId;
+    }
+
+    public void setRailPlanId(BigDecimal railPlanId) {
+        this.railPlanId = railPlanId;
+    }
+
+    public String getResultPleasePlanNo() {
+        return resultPleasePlanNo;
+    }
+
+    public void setResultPleasePlanNo(String resultPleasePlanNo) {
+        this.resultPleasePlanNo = resultPleasePlanNo == null ? null : resultPleasePlanNo.trim();
+    }
+
+    public Date getResultPlanDate() {
+        return resultPlanDate;
+    }
+
+    public void setResultPlanDate(Date resultPlanDate) {
+        this.resultPlanDate = resultPlanDate;
+    }
+
+    public String getResultCategory() {
+        return resultCategory;
+    }
+
+    public void setResultCategory(String resultCategory) {
+        this.resultCategory = resultCategory == null ? null : resultCategory.trim();
+    }
+
+    public BigDecimal getSupplierId() {
+        return supplierId;
+    }
+
+    public void setSupplierId(BigDecimal supplierId) {
+        this.supplierId = supplierId;
+    }
+
+    public BigDecimal getSendStationId() {
+        return sendStationId;
+    }
+
+    public void setSendStationId(BigDecimal sendStationId) {
+        this.sendStationId = sendStationId;
+    }
+
+    public BigDecimal getToTheStationId() {
+        return toTheStationId;
+    }
+
+    public void setToTheStationId(BigDecimal toTheStationId) {
+        this.toTheStationId = toTheStationId;
+    }
+
+    public BigDecimal getResultPleaseNumber() {
+        return resultPleaseNumber;
+    }
+
+    public void setResultPleaseNumber(BigDecimal resultPleaseNumber) {
+        this.resultPleaseNumber = resultPleaseNumber;
+    }
+
+    public Date getResultPleaseDate() {
+        return resultPleaseDate;
+    }
+
+    public void setResultPleaseDate(Date resultPleaseDate) {
+        this.resultPleaseDate = resultPleaseDate;
+    }
+
+    public BigDecimal getResultApproveNumber() {
+        return resultApproveNumber;
+    }
+
+    public void setResultApproveNumber(BigDecimal resultApproveNumber) {
+        this.resultApproveNumber = resultApproveNumber;
+    }
+
+    public Date getResultApproveDate() {
+        return resultApproveDate;
+    }
+
+    public void setResultApproveDate(Date resultApproveDate) {
+        this.resultApproveDate = resultApproveDate;
+    }
+
+    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();
+    }
+
+    public BigDecimal getStatus() {
+        return status;
+    }
+
+    public void setStatus(BigDecimal status) {
+        this.status = status;
+    }
+
+    public BigDecimal getResultType() {
+        return resultType;
+    }
+
+    public void setResultType(BigDecimal resultType) {
+        this.resultType = resultType;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public BigDecimal getSpecialLineId() {
+        return specialLineId;
+    }
+
+    public void setSpecialLineId(BigDecimal specialLineId) {
+        this.specialLineId = specialLineId;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", resultId=").append(resultId);
+        sb.append(", railPlanId=").append(railPlanId);
+        sb.append(", resultPleasePlanNo=").append(resultPleasePlanNo);
+        sb.append(", resultPlanDate=").append(resultPlanDate);
+        sb.append(", resultCategory=").append(resultCategory);
+        sb.append(", supplierId=").append(supplierId);
+        sb.append(", sendStationId=").append(sendStationId);
+        sb.append(", toTheStationId=").append(toTheStationId);
+        sb.append(", resultPleaseNumber=").append(resultPleaseNumber);
+        sb.append(", resultPleaseDate=").append(resultPleaseDate);
+        sb.append(", resultApproveNumber=").append(resultApproveNumber);
+        sb.append(", resultApproveDate=").append(resultApproveDate);
+        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(", status=").append(status);
+        sb.append(", resultType=").append(resultType);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", specialLineId=").append(specialLineId);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 6 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java

@@ -4,6 +4,7 @@ import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.dil.model.AmsSaleOrder;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -36,4 +37,9 @@ public interface IAmsSaleOrderService {
     int operationSaleOrder(Map<String, Object> mapVal) throws Exception;
 
     Map<String,Object> findCarNumberByOrderId(BigDecimal saleOrderMaterialId);
+
+    //新增内转钢材到异地库接收接口
+    int addInwardSteelOrder(Map<String,Object> map) throws Exception;
+
+    List<Map<String, Object>> selectSaleSteelOrder(Map<String,Object> map);
 }

+ 345 - 1
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -1,5 +1,8 @@
 package com.steerinfo.dil.service.impl;
 
+import com.alibaba.druid.support.json.JSONUtils;
+import com.alibaba.fastjson.JSON;
+import com.google.gson.JsonObject;
 import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
@@ -8,7 +11,9 @@ import com.steerinfo.dil.util.MyException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import springfox.documentation.spring.web.json.Json;
 
+import javax.xml.crypto.Data;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -33,6 +38,7 @@ import java.util.Map;
 @Service(value = "amsSaleOrderService")
 public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
 
+
     @Autowired
     private AmsSaleOrderMapper amsSaleOrderMapper;
     @Autowired
@@ -47,6 +53,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     OmstruckOrderMapper omstruckOrderMapper;
     @Autowired
     RmsMaterialMapper rmsMaterialMapper;
+    @Autowired
+    private TmstrainPleaseApproveResultMapper tmstrainPleaseApproveResultMapper;
+    @Autowired
+    RmstrainArrivalSendMapper rmstrainArrivalSendMapper;
 
     /**
      * 查询销售订单
@@ -198,7 +208,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             // 得到订单日期
             String saleOrderBizDateStr = (String) mapVal.get("saleOrderBizDate");
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            BigDecimal receiveId = amsSaleOrderMapper.getReceiveId(receiveUnit);
+            BigDecimal receiveId = amsSaleOrderMapper.getReceiveId(receiveUnitName);
             // 如果不存则自己增收获单位
             if (receiveId == null) {
                 RmsConsignee rmsConsignee = new RmsConsignee();
@@ -438,4 +448,338 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         input.put("head",head);
         return input;
     }
+
+
+
+
+    //添加内转钢材到异地库
+    //审核以后回传
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public int addInwardSteelOrder(Map<String,Object> map) throws Exception {
+        int result=0;
+       //输出json数据。
+        String json= JSON.toJSONString(map);
+        System.out.println(json);
+        //获取订单状态
+        String orderStatus = (String) map.get("orderStatus");
+        String materialNumber =(String) map.get("materialNumber");
+        String easPrimaryId=null;
+        //设置是否反审核状态
+        String closeStatus =(String) map.get("closeStatus");
+        //是否整单
+        Object wholeOrder = map.get("wholeOrder");
+        // 得到单据编号
+        String saleNumber = (String) map.get("saleNumber");
+        //获取调出组织部门
+        String transferOutInventoryOrg =(String) map.get("TransferOutInventorOrg");
+        //获取调入组织部门
+        String transferInInventoryOrg =(String) map.get("TransferInInventorOrg");
+        //获取调出部门
+        String transferOutDep =(String) map.get("TransferOutDep");
+        //获取调入部门
+        String transferInDep =(String) map.get("TransferInDep");
+        // 得到订单日期
+        String saleOrderBizDateStr = (String) map.get("saleOrderBizDate");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        //获取销售摘要
+        String saleRemark = (String) map.get("saleRemark");
+        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
+        //设置是否为车皮
+        String whetherTheCar =(String) map.get("whetherTheCar");
+        //业务日期
+        String businessDate =(String) map.get("businessDate");
+        //获取业务类型
+        String businessType =(String) map.get("businessType");
+        //判断销售订单是否存在
+        BigDecimal saleOrderNumber = amsSaleOrderMapper.selectAmsSaleOrderNum(saleNumber);
+        //如果销售订单不存在
+        if (saleOrderNumber==null){
+            AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+            BigDecimal saleOrderId = amsSaleOrderMapper.getSaleOrderId();
+            //新增销售订单主键
+            amsSaleOrder.setSaleOrderId(saleOrderId);
+            //新增单据编码
+            amsSaleOrder.setSaleNumber(saleNumber);
+            //根据发货单位查找id
+            String shipperName="四川省达州钢铁集团有限责任公司";
+            BigDecimal shipperId = amsSaleOrderMapper.getShipperId(shipperName);
+            amsSaleOrder.setShipperId(DataChange.dataToBigDecimal(shipperId));
+            // 订单日期
+            try {
+                Date saleOrderBizDate = sdf.parse(saleOrderBizDateStr);
+                amsSaleOrder.setInsertTime(saleOrderBizDate);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            //业务日期
+            try {
+                Date BusinessDate = sdf2.parse(businessDate);
+                amsSaleOrder.setBusinessDate(BusinessDate);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            amsSaleOrder.setWhetherTheCar(whetherTheCar);
+            amsSaleOrder.setSaleRemark(saleRemark);
+            amsSaleOrder.setSaleOrderStatus(new BigDecimal(4));
+            //销售订单类型:内转钢材到异地库
+            amsSaleOrder.setSaleType(new BigDecimal(4));
+            amsSaleOrder.setTransferInDep(transferInDep);
+            amsSaleOrder.setTransferOutDep(transferOutDep);
+            amsSaleOrder.setDeleted(new BigDecimal(0));
+            amsSaleOrder.setCloseStatus(new BigDecimal(0));
+            amsSaleOrder.setTransferInInventoryOrg(transferInInventoryOrg);
+            amsSaleOrder.setTransferOutInventoryOrg(transferOutInventoryOrg);
+            amsSaleOrder.setBusinessType(businessType);
+            result += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+            //得到物资信息
+            List<Map<String, Object>> mapList = (List<Map<String, Object>>) map.get("mapList");
+            for (Map<String,Object> materialMap:mapList){
+                AmsSaleMaterial amsSaleMaterial = new AmsSaleMaterial();
+                BigDecimal saleMaterialId = amsSaleMaterialMapper.getSaleMaterialId();
+                amsSaleMaterial.setSaleMaterialId(saleMaterialId);
+                amsSaleMaterial.setSaleOrderId(saleOrderId);
+                //  辅助数量
+                Object auxiliaryQuantity = materialMap.get("AuxiliaryQuantity");
+                // 数量
+                Object meterWeight = materialMap.get("meterWeight");
+
+                Object steelMeter = materialMap.get("steelMeter");
+                if (steelMeter!=null) {
+                    amsSaleMaterial.setSteelMeter(DataChange.dataToBigDecimal(steelMeter));
+                }
+                //设置调出仓库
+                Object transferOutOfWarehouse = materialMap.get("TransferOutOfWarehouse");
+                amsSaleMaterial.setTransferOutOfWarehouse((String) transferOutOfWarehouse);
+                //设置调入仓库
+                Object transferInOfWarehouse = materialMap.get("TransferInOfWarehouse");
+                amsSaleMaterial.setTransferInOfWarehouse((String) transferInOfWarehouse);
+                //设置调入计划日期
+                String transferInPlanDate =(String) materialMap.get("TransferInPlanDate");
+                try {
+                    Date transferInPlanDate1 = sdf.parse(transferInPlanDate);
+                     amsSaleMaterial.setTransferInPlanDate(transferInPlanDate1);
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                // 得到金蝶分录主键
+                 easPrimaryId = (String) materialMap.get("easPrimaryId");
+                //设置调出计划日期
+                String transferOutPlanDate =(String) materialMap.get("TransferOutPlanDate");
+                try {
+                    Date transferOutPlanDate2 = sdf.parse(transferOutPlanDate);
+                    amsSaleMaterial.setTransferOutPlanDate(transferOutPlanDate2);
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                //是否磅重交货
+                Object isPoundSale = materialMap.get("isPoundSale");
+                if (isPoundSale!=null){
+                    amsSaleMaterial.setIsPoundSale(DataChange.dataToBigDecimal(isPoundSale));
+                }
+                //设置是否控制数量
+                Object controlQuailty = materialMap.get("ControlQuantity");
+                amsSaleMaterial.setControlQuantity((String) controlQuailty);
+                //设置库存类型
+                Object inventoryType = materialMap.get("InventoryType");
+                amsSaleMaterial.setInventoryType((String) inventoryType);
+                //设置库存状态
+                Object inventoryStatus = materialMap.get("InventoryStatus");
+                amsSaleMaterial.setInventoryStatus((String) inventoryStatus);
+                // 得到物资编码
+                String materialCode = (String) materialMap.get("materialCode");
+                BigDecimal materialId = amsSaleMaterialMapper.getMaterialId(materialCode);
+                Integer materialCount = amsSaleMaterialMapper.getMaterialCount(materialId);
+                RmsMaterial rmsMaterial = new RmsMaterial();
+                rmsMaterial.setMaterialId(materialId);
+                if (materialCount == null) {
+                    materialCount = new Integer(0);
+                }
+                rmsMaterial.setMaterialCount(new BigDecimal(materialCount + 1));
+                rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
+                // 得到物资数量
+                String materialWeight = (String) materialMap.get("materialNumber");
+                // 得到计量单位
+                amsSaleMaterial.setEasPrimaryId(easPrimaryId);
+                amsSaleMaterial.setMaterialId(materialId);
+                //设置辅助数量
+                amsSaleMaterial.setMaterialNumber(DataChange.dataToBigDecimal(auxiliaryQuantity));
+                amsSaleMaterial.setInsertTime(new Date());
+                amsSaleMaterial.setInsertUsername("金蝶");
+                amsSaleMaterial.setMeterWeight(DataChange.dataToBigDecimal(meterWeight));
+                amsSaleMaterial.setInsertUpdateRemark("采集金蝶库存调拨单");
+                if (materialWeight != null && !"".equals(materialWeight)) {
+                    amsSaleMaterial.setMaterialWeight(new BigDecimal(materialWeight));
+                }
+                result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
+                //设置发站
+                Object toTheStation = map.get("toTheStation");
+                TmstrainPleaseApproveResult tmstrainPleaseApproveResult=new TmstrainPleaseApproveResult();
+                BigDecimal maxId = tmstrainPleaseApproveResultMapper.getMaxId();
+                tmstrainPleaseApproveResult.setResultId(maxId);
+                tmstrainPleaseApproveResult.setResultPleasePlanNo(DataChange.generateEightDigitsNumber("WLQCH",maxId.intValue()));
+                tmstrainPleaseApproveResult.setRailPlanId(saleMaterialId);
+                //查找到站是否存在到站表
+                BigDecimal sendStation = rmstrainArrivalSendMapper.getSendStation((String) toTheStation);
+                //到站不存在
+                if (sendStation==null){
+                    //新增到站
+                    BigDecimal toStationMaxId = rmstrainArrivalSendMapper.getMaxId();
+                    RmstrainArrivalSend rmstrainArrivalSend=new RmstrainArrivalSend();
+                    rmstrainArrivalSend.setArrivalId(toStationMaxId);
+                    rmstrainArrivalSend.setArrivalName((String) toTheStation);
+                    rmstrainArrivalSend.setInsertTime(new Date());
+                    rmstrainArrivalSend.setInsertUsername("金蝶");
+                    rmstrainArrivalSend.setInsertUpdateRemark("金蝶回传数据");
+                    result += rmstrainArrivalSendMapper.insertSelective(rmstrainArrivalSend);
+                    tmstrainPleaseApproveResult.setToTheStationId(toStationMaxId);
+                }else {
+                    //到站存在
+                    tmstrainPleaseApproveResult.setToTheStationId(sendStation);
+                }
+                tmstrainPleaseApproveResult.setResultType(new BigDecimal(4));
+                tmstrainPleaseApproveResult.setInsertTime(new Date());
+                tmstrainPleaseApproveResult.setInsertUpdateRemark("金蝶回传");
+                result += tmstrainPleaseApproveResultMapper.insertSelective(tmstrainPleaseApproveResult);
+            }
+        }else {
+            throw new Exception("暂不支持修改库存调拨单");
+//
+//            //此处判断主要是针对销售订单已经存在
+//            AmsSaleOrder amsSaleOrder=new AmsSaleOrder();
+//
+//            if (orderStatus.equals("2")){
+//                amsSaleOrder.setSaleOrderId(saleOrderNumber);
+//                amsSaleOrder.setCloseStatus(new BigDecimal(1));
+//                amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+//            }
+//            //此处判断订单状态为反审核
+//            if (closeStatus.equals("0")) {
+//                amsSaleOrder.setSaleOrderId(saleOrderNumber);
+//                amsSaleOrder.setDeleted(new BigDecimal(1));
+//                result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+//            }
+//            // 关闭单个分录订单
+//            if (closeStatus.equals("-1") && wholeOrder.equals("0")) {
+//                Object closeEntryId = map.get("closeEntryId");
+//                if (closeEntryId != null) {
+//                    Map<String, Object> easMap = new HashMap<>();
+//                    easMap.put("easPrimaryId", closeEntryId);
+//                    List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(easMap);
+//                    if (amsSaleMaterials != null && amsSaleMaterials.size() != 0) {
+//                        AmsSaleMaterial amsSaleMaterial = amsSaleMaterials.get(0);
+//                        amsSaleMaterial.setDeleted(new BigDecimal(0));
+//                        result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
+//                    }
+//                }
+//            }
+//            // 反关闭整单
+//            if (closeStatus.equals("-2") && "1".equals(wholeOrder)) {
+//                amsSaleOrder.setDeleted(new BigDecimal(0));
+//                Object reason = map.get("reason");
+//                BigDecimal saleOrderId = amsSaleOrder.getSaleOrderId();
+//                if (reason != null) {
+//                    amsSaleOrder.setInsertUpdateRemark(reason.toString());
+//                }
+//                // 反关闭销售订单下的所有分录
+//                result += amsSaleMaterialMapper.openAllSaleMaterial(saleOrderId);
+//                result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+//            }
+//            // 反关闭单个分录订单
+//            if (closeStatus.equals("-2") && wholeOrder.equals("0")) {
+//                Object unCloseEntryId = map.get("unCloseEntryId");
+//                if (unCloseEntryId != null) {
+//                    Map<String, Object> easMap = new HashMap<>();
+//                    easMap.put("easPrimaryId", unCloseEntryId);
+//                    List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(easMap);
+//                    if (amsSaleMaterials != null && amsSaleMaterials.size() != 0) {
+//                        AmsSaleMaterial amsSaleMaterial = amsSaleMaterials.get(0);
+//                        result += amsSaleMaterialMapper.unCloseSaleMaterial(amsSaleMaterial.getSaleMaterialId());
+//                    }
+//                }
+//            }
+//            //编辑销售订单主键
+//            amsSaleOrder.setSaleOrderId(saleOrderNumber);
+//            //新增单据编码
+//            amsSaleOrder.setSaleNumber(saleNumber);
+//            // 订单日期
+//            try {
+//                Date saleOrderBizDate = sdf.parse(saleOrderBizDateStr);
+//                amsSaleOrder.setInsertTime(saleOrderBizDate);
+//            } catch (ParseException e) {
+//                e.printStackTrace();
+//            }
+//            //业务日期
+//            try {
+//                Date BusinessDate = sdf2.parse(businessDate);
+//                amsSaleOrder.setBusinessDate(BusinessDate);
+//            } catch (ParseException e) {
+//                e.printStackTrace();
+//            }
+//            amsSaleOrder.setWhetherTheCar(whetherTheCar);
+//            amsSaleOrder.setSaleRemark(saleRemark);
+//            amsSaleOrder.setSaleOrderStatus(new BigDecimal(2));
+//            //销售订单类型:内转钢材到异地库
+//            amsSaleOrder.setSaleType(new BigDecimal(4));
+//            amsSaleOrder.setTransferInDep(transferInDep);
+//            amsSaleOrder.setTransferOutDep(transferOutDep);
+//            amsSaleOrder.setDeleted(new BigDecimal(0));
+//            amsSaleOrder.setTransferInInventoryOrg(transferInInventoryOrg);
+//            amsSaleOrder.setTransferOutInventoryOrg(transferOutInventoryOrg);
+//            amsSaleOrder.setBusinessType(businessType);
+//            result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+//            Object toTheStation = map.get("toTheStation");
+//            //根据销售订单id查找是否存在该请车实绩
+//            BigDecimal resultId = tmstrainPleaseApproveResultMapper.selectResultId(saleOrderNumber);
+//            TmstrainPleaseApproveResult tmstrainPleaseApproveResult=new TmstrainPleaseApproveResult();
+//            tmstrainPleaseApproveResult.setResultId(resultId);
+//            tmstrainPleaseApproveResult.setRailPlanId(saleOrderNumber);
+//            //查找到站是否存在到站表
+//            BigDecimal sendStation = rmstrainArrivalSendMapper.getSendStation((String) toTheStation);
+//            //到站不存在
+//            if (sendStation==null){
+//                //新增到站
+//                BigDecimal toStationMaxId = rmstrainArrivalSendMapper.getMaxId();
+//                RmstrainArrivalSend rmstrainArrivalSend=new RmstrainArrivalSend();
+//                rmstrainArrivalSend.setArrivalId(toStationMaxId);
+//                rmstrainArrivalSend.setArrivalName((String) toTheStation);
+//                rmstrainArrivalSend.setInsertTime(new Date());
+//                rmstrainArrivalSend.setInsertUsername("金蝶");
+//                rmstrainArrivalSend.setInsertUpdateRemark("金蝶回传数据");
+//                result += rmstrainArrivalSendMapper.insertSelective(rmstrainArrivalSend);
+//            }else {
+//                //到站存在
+//                tmstrainPleaseApproveResult.setToTheStationId(sendStation);
+//            }
+//            tmstrainPleaseApproveResult.setResultType(new BigDecimal(4));
+//            tmstrainPleaseApproveResult.setInsertTime(new Date());
+//            tmstrainPleaseApproveResult.setInsertUpdateRemark("金蝶回传");
+//            result += tmstrainPleaseApproveResultMapper.updateByPrimaryKeySelective(tmstrainPleaseApproveResult);
+//            //修改销售订单子表
+//
+        }
+        return result;
+    }
+
+    //根据运输订单号和车牌号
+    @Override
+    public List<Map<String, Object>> selectSaleSteelOrder(Map<String,Object> map) {
+        List<Map<String, Object>> mapList = amsSaleOrderMapper.selectSaleSteelOrder(map);
+        if (mapList.size()==0){
+             return null;
+        }
+        for (Map<String,Object> map1:mapList){
+            String materialName =(String) map1.get("materialName");
+            if (materialName.contains("盘螺")){
+                map1.put("materialType","盘螺");
+            }else if (materialName.contains("盘圆")){
+                map1.put("materialType","盘圆");
+            }else if (materialName.contains("螺纹")){
+                map1.put("materialType","螺纹钢");
+            }
+            //接口发送日期
+            map1.put("sendTime",new Date());
+        }
+        return mapList;
+    }
 }

+ 3 - 3
src/main/resources/application-dev.yml

@@ -1,8 +1,8 @@
 spring:
   datasource:
-    url: jdbc:oracle:thin:@172.16.33.165:1521:ilsdbstd
-    password: Dil123789
-    username: dil
+    url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
+    password: root123
+    username: dagang
     driver-class-name: oracle.jdbc.OracleDriver
   application:
     name: dal-dazhou-join-api

+ 193 - 9
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -18,17 +18,27 @@
         <result column="STEEL_METER" jdbcType="DECIMAL" property="steelMeter" />
         <result column="IS_POUND_SALE" jdbcType="DECIMAL" property="isPoundSale" />
         <result column="METER_WEIGHT" jdbcType="DECIMAL" property="meterWeight" />
+        <result column="TRANSFER_OUT_OF_WAREHOUSE" jdbcType="VARCHAR" property="transferOutOfWarehouse" />
+        <result column="TRANSFER_IN_OF_WAREHOUSE" jdbcType="VARCHAR" property="transferInOfWarehouse" />
+        <result column="INVENTORY_TYPE" jdbcType="VARCHAR" property="inventoryType" />
+        <result column="INVENTORY_STATUS" jdbcType="VARCHAR" property="inventoryStatus" />
+        <result column="TRANSFER_IN_PLAN_DATE" jdbcType="TIMESTAMP" property="transferInPlanDate" />
+        <result column="TRANSFER_OUT_PLAN_DATE" jdbcType="TIMESTAMP" property="transferOutPlanDate" />
+        <result column="CONTROL_QUANTITY" jdbcType="VARCHAR" property="controlQuantity" />
     </resultMap>
     <sql id="columns">
         SALE_MATERIAL_ID, SALE_ORDER_ID, MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_NUMBER, EAS_PRIMARY_ID,
     INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE, METER_WEIGHT
+    DELETED, SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE, METER_WEIGHT, TRANSFER_OUT_OF_WAREHOUSE,
+    TRANSFER_IN_OF_WAREHOUSE, INVENTORY_TYPE, INVENTORY_STATUS, TRANSFER_IN_PLAN_DATE,
+    TRANSFER_OUT_PLAN_DATE, CONTROL_QUANTITY
     </sql>
     <sql id="columns_alias">
         t.SALE_MATERIAL_ID, t.SALE_ORDER_ID, t.MATERIAL_ID, t.MATERIAL_WEIGHT, t.MATERIAL_NUMBER,
     t.EAS_PRIMARY_ID, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
     t.INSERT_UPDATE_REMARK, t.DELETED, t.SALE_WAREHOUSE, t.STEEL_METER, t.IS_POUND_SALE,
-    t.METER_WEIGHT
+    t.METER_WEIGHT, t.TRANSFER_OUT_OF_WAREHOUSE, t.TRANSFER_IN_OF_WAREHOUSE, t.INVENTORY_TYPE,
+    t.INVENTORY_STATUS, t.TRANSFER_IN_PLAN_DATE, t.TRANSFER_OUT_PLAN_DATE, t.CONTROL_QUANTITY
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM AMS_SALE_MATERIAL
@@ -86,6 +96,27 @@
             <if test="meterWeight != null">
                 and METER_WEIGHT = #{meterWeight}
             </if>
+            <if test="transferOutOfWarehouse != null and transferOutOfWarehouse != ''">
+                and TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse}
+            </if>
+            <if test="transferInOfWarehouse != null and transferInOfWarehouse != ''">
+                and TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse}
+            </if>
+            <if test="inventoryType != null and inventoryType != ''">
+                and INVENTORY_TYPE = #{inventoryType}
+            </if>
+            <if test="inventoryStatus != null and inventoryStatus != ''">
+                and INVENTORY_STATUS = #{inventoryStatus}
+            </if>
+            <if test="transferInPlanDate != null">
+                and TO_CHAR(TRANSFER_IN_PLAN_DATE,'yyyy-MM-dd') = #{transferInPlanDate}
+            </if>
+            <if test="transferOutPlanDate != null">
+                and TO_CHAR(TRANSFER_OUT_PLAN_DATE,'yyyy-MM-dd') = #{transferOutPlanDate}
+            </if>
+            <if test="controlQuantity != null and controlQuantity != ''">
+                and CONTROL_QUANTITY = #{controlQuantity}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -138,6 +169,27 @@
             <if test="meterWeight != null">
                 and METER_WEIGHT = #{meterWeight}
             </if>
+            <if test="transferOutOfWarehouse != null and transferOutOfWarehouse != ''">
+                and TRANSFER_OUT_OF_WAREHOUSE LIKE '%${transferOutOfWarehouse}%'
+            </if>
+            <if test="transferInOfWarehouse != null and transferInOfWarehouse != ''">
+                and TRANSFER_IN_OF_WAREHOUSE LIKE '%${transferInOfWarehouse}%'
+            </if>
+            <if test="inventoryType != null and inventoryType != ''">
+                and INVENTORY_TYPE LIKE '%${inventoryType}%'
+            </if>
+            <if test="inventoryStatus != null and inventoryStatus != ''">
+                and INVENTORY_STATUS LIKE '%${inventoryStatus}%'
+            </if>
+            <if test="transferInPlanDate != null">
+                and TO_CHAR(TRANSFER_IN_PLAN_DATE,'yyyy-MM-dd') = #{transferInPlanDate}
+            </if>
+            <if test="transferOutPlanDate != null">
+                and TO_CHAR(TRANSFER_OUT_PLAN_DATE,'yyyy-MM-dd') = #{transferOutPlanDate}
+            </if>
+            <if test="controlQuantity != null and controlQuantity != ''">
+                and CONTROL_QUANTITY LIKE '%${controlQuantity}%'
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -192,6 +244,27 @@
         <if test="meterWeight != null">
             or METER_WEIGHT = #{meterWeight}
         </if>
+        <if test="transferOutOfWarehouse != null and transferOutOfWarehouse != ''">
+            or TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse}
+        </if>
+        <if test="transferInOfWarehouse != null and transferInOfWarehouse != ''">
+            or TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse}
+        </if>
+        <if test="inventoryType != null and inventoryType != ''">
+            or INVENTORY_TYPE = #{inventoryType}
+        </if>
+        <if test="inventoryStatus != null and inventoryStatus != ''">
+            or INVENTORY_STATUS = #{inventoryStatus}
+        </if>
+        <if test="transferInPlanDate != null">
+            or TO_CHAR(TRANSFER_IN_PLAN_DATE,'yyyy-MM-dd') = '#{transferInPlanDate}'
+        </if>
+        <if test="transferOutPlanDate != null">
+            or TO_CHAR(TRANSFER_OUT_PLAN_DATE,'yyyy-MM-dd') = '#{transferOutPlanDate}'
+        </if>
+        <if test="controlQuantity != null and controlQuantity != ''">
+            or CONTROL_QUANTITY = #{controlQuantity}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
         insert into AMS_SALE_MATERIAL (SALE_MATERIAL_ID, SALE_ORDER_ID, MATERIAL_ID,
@@ -199,13 +272,17 @@
                                        INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                        UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
                                        SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE,
-                                       METER_WEIGHT)
+                                       METER_WEIGHT, TRANSFER_OUT_OF_WAREHOUSE, TRANSFER_IN_OF_WAREHOUSE,
+                                       INVENTORY_TYPE, INVENTORY_STATUS, TRANSFER_IN_PLAN_DATE,
+                                       TRANSFER_OUT_PLAN_DATE, CONTROL_QUANTITY)
         values (#{saleMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL},
                 #{materialWeight,jdbcType=DECIMAL}, #{materialNumber,jdbcType=DECIMAL}, #{easPrimaryId,jdbcType=VARCHAR},
                 #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
                 #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
                 #{saleWarehouse,jdbcType=VARCHAR}, #{steelMeter,jdbcType=DECIMAL}, #{isPoundSale,jdbcType=DECIMAL},
-                #{meterWeight,jdbcType=DECIMAL})
+                #{meterWeight,jdbcType=DECIMAL}, #{transferOutOfWarehouse,jdbcType=VARCHAR}, #{transferInOfWarehouse,jdbcType=VARCHAR},
+                #{inventoryType,jdbcType=VARCHAR}, #{inventoryStatus,jdbcType=VARCHAR}, #{transferInPlanDate,jdbcType=TIMESTAMP},
+                #{transferOutPlanDate,jdbcType=TIMESTAMP}, #{controlQuantity,jdbcType=VARCHAR})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
         insert into AMS_SALE_MATERIAL
@@ -258,6 +335,27 @@
             <if test="meterWeight != null">
                 METER_WEIGHT,
             </if>
+            <if test="transferOutOfWarehouse != null">
+                TRANSFER_OUT_OF_WAREHOUSE,
+            </if>
+            <if test="transferInOfWarehouse != null">
+                TRANSFER_IN_OF_WAREHOUSE,
+            </if>
+            <if test="inventoryType != null">
+                INVENTORY_TYPE,
+            </if>
+            <if test="inventoryStatus != null">
+                INVENTORY_STATUS,
+            </if>
+            <if test="transferInPlanDate != null">
+                TRANSFER_IN_PLAN_DATE,
+            </if>
+            <if test="transferOutPlanDate != null">
+                TRANSFER_OUT_PLAN_DATE,
+            </if>
+            <if test="controlQuantity != null">
+                CONTROL_QUANTITY,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="saleMaterialId != null">
@@ -308,6 +406,27 @@
             <if test="meterWeight != null">
                 #{meterWeight,jdbcType=DECIMAL},
             </if>
+            <if test="transferOutOfWarehouse != null">
+                #{transferOutOfWarehouse,jdbcType=VARCHAR},
+            </if>
+            <if test="transferInOfWarehouse != null">
+                #{transferInOfWarehouse,jdbcType=VARCHAR},
+            </if>
+            <if test="inventoryType != null">
+                #{inventoryType,jdbcType=VARCHAR},
+            </if>
+            <if test="inventoryStatus != null">
+                #{inventoryStatus,jdbcType=VARCHAR},
+            </if>
+            <if test="transferInPlanDate != null">
+                #{transferInPlanDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="transferOutPlanDate != null">
+                #{transferOutPlanDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="controlQuantity != null">
+                #{controlQuantity,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
@@ -326,7 +445,14 @@
             SALE_WAREHOUSE = #{saleWarehouse,jdbcType=VARCHAR},
             STEEL_METER = #{steelMeter,jdbcType=DECIMAL},
             IS_POUND_SALE = #{isPoundSale,jdbcType=DECIMAL},
-            METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL}
+            METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL},
+            TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse,jdbcType=VARCHAR},
+            TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse,jdbcType=VARCHAR},
+            INVENTORY_TYPE = #{inventoryType,jdbcType=VARCHAR},
+            INVENTORY_STATUS = #{inventoryStatus,jdbcType=VARCHAR},
+            TRANSFER_IN_PLAN_DATE = #{transferInPlanDate,jdbcType=TIMESTAMP},
+            TRANSFER_OUT_PLAN_DATE = #{transferOutPlanDate,jdbcType=TIMESTAMP},
+            CONTROL_QUANTITY = #{controlQuantity,jdbcType=VARCHAR}
         where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
@@ -377,6 +503,27 @@
             <if test="meterWeight != null">
                 METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL},
             </if>
+            <if test="transferOutOfWarehouse != null">
+                TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse,jdbcType=VARCHAR},
+            </if>
+            <if test="transferInOfWarehouse != null">
+                TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse,jdbcType=VARCHAR},
+            </if>
+            <if test="inventoryType != null">
+                INVENTORY_TYPE = #{inventoryType,jdbcType=VARCHAR},
+            </if>
+            <if test="inventoryStatus != null">
+                INVENTORY_STATUS = #{inventoryStatus,jdbcType=VARCHAR},
+            </if>
+            <if test="transferInPlanDate != null">
+                TRANSFER_IN_PLAN_DATE = #{transferInPlanDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="transferOutPlanDate != null">
+                TRANSFER_OUT_PLAN_DATE = #{transferOutPlanDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="controlQuantity != null">
+                CONTROL_QUANTITY = #{controlQuantity,jdbcType=VARCHAR},
+            </if>
         </set>
         where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
     </update>
@@ -401,7 +548,11 @@
         UPDATE_USERNAME, UPDATE_TIME,
         INSERT_UPDATE_REMARK, DELETED,
         SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE,
-        METER_WEIGHT)
+        METER_WEIGHT, TRANSFER_OUT_OF_WAREHOUSE,
+        TRANSFER_IN_OF_WAREHOUSE, INVENTORY_TYPE,
+        INVENTORY_STATUS, TRANSFER_IN_PLAN_DATE,
+        TRANSFER_OUT_PLAN_DATE, CONTROL_QUANTITY
+        )
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.saleMaterialId,jdbcType=DECIMAL},
@@ -411,7 +562,11 @@
         #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
         #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
         #{item.saleWarehouse,jdbcType=VARCHAR}, #{item.steelMeter,jdbcType=DECIMAL}, #{item.isPoundSale,jdbcType=DECIMAL},
-        #{item.meterWeight,jdbcType=DECIMAL} from dual
+        #{item.meterWeight,jdbcType=DECIMAL}, #{item.transferOutOfWarehouse,jdbcType=VARCHAR},
+        #{item.transferInOfWarehouse,jdbcType=VARCHAR}, #{item.inventoryType,jdbcType=VARCHAR},
+        #{item.inventoryStatus,jdbcType=VARCHAR}, #{item.transferInPlanDate,jdbcType=TIMESTAMP},
+        #{item.transferOutPlanDate,jdbcType=TIMESTAMP}, #{item.controlQuantity,jdbcType=VARCHAR}
+        from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -481,6 +636,34 @@
         <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
             when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.meterWeight,jdbcType=DECIMAL}
         </foreach>
+        ,TRANSFER_OUT_OF_WAREHOUSE=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferOutOfWarehouse,jdbcType=VARCHAR}
+        </foreach>
+        ,TRANSFER_IN_OF_WAREHOUSE=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferInOfWarehouse,jdbcType=VARCHAR}
+        </foreach>
+        ,INVENTORY_TYPE=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.inventoryType,jdbcType=VARCHAR}
+        </foreach>
+        ,INVENTORY_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.inventoryStatus,jdbcType=VARCHAR}
+        </foreach>
+        ,TRANSFER_IN_PLAN_DATE=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferInPlanDate,jdbcType=TIMESTAMP}
+        </foreach>
+        ,TRANSFER_OUT_PLAN_DATE=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferOutPlanDate,jdbcType=TIMESTAMP}
+        </foreach>
+        ,CONTROL_QUANTITY=
+        <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+            when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.controlQuantity,jdbcType=VARCHAR}
+        </foreach>
         where SALE_MATERIAL_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.saleMaterialId,jdbcType=DECIMAL}
@@ -495,12 +678,12 @@
     </delete>
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  <!-- 通过物资编码查询物资id -->
+    <!-- 通过物资编码查询物资id -->
     <select id="getMaterialId" parameterType="java.lang.String" resultType="DECIMAL">
         SELECT RM.MATERIAL_ID AS "materialId"
         FROM RMS_MATERIAL RM
         WHERE RM.MATERIAL_CODE = #{materialCode}
-        AND RM.DELETED = 0
+          AND RM.DELETED = 0
     </select>
 
     <select id="getMaterialCount" parameterType="DECIMAL" resultType="java.lang.Integer">
@@ -527,4 +710,5 @@
         SET ASM.DELETED = NULL
         WHERE ASM.SALE_MATERIAL_ID = #{saleMaterialId}
     </update>
+
 </mapper>

+ 295 - 22
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -24,20 +24,31 @@
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
     <result column="CLOSE_STATUS" jdbcType="DECIMAL" property="closeStatus" />
     <result column="SALER_ID" jdbcType="DECIMAL" property="salerId" />
+    <result column="SALE_TYPE" jdbcType="DECIMAL" property="saleType" />
+    <result column="TRANSFER_OUT_INVENTORY_ORG" jdbcType="VARCHAR" property="transferOutInventoryOrg" />
+    <result column="TRANSFER_IN_INVENTORY_ORG" jdbcType="VARCHAR" property="transferInInventoryOrg" />
+    <result column="TRANSFER_OUT_DEP" jdbcType="VARCHAR" property="transferOutDep" />
+    <result column="TRANSFER_IN_DEP" jdbcType="VARCHAR" property="transferInDep" />
+    <result column="BUSINESS_DATE" jdbcType="TIMESTAMP" property="businessDate" />
+    <result column="WHETHER_THE_CAR" jdbcType="VARCHAR" property="whetherTheCar" />
+    <result column="BUSINESS_TYPE" jdbcType="VARCHAR" property="businessType" />
   </resultMap>
   <sql id="columns">
     SALE_ORDER_ID, PLAN_ID, SALE_NUMBER, SHIPPER_ID, RECEIVE_ID, SALE_ACCOUNT_BALANCE,
     SALE_CURRENT_ORDER_AMOUNT, SALE_HISTORICAL_ORDER_AMOUNT, SALE_ORDER_STATUS, SALE_ORDER_RECEIVE_CUSTOMER,
     SALE_ORDER_ISSELF_MENTION, SALE_UNIT_PRICE, SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, CLOSE_STATUS,
-    SALER_ID
+    SALER_ID, SALE_TYPE, TRANSFER_OUT_INVENTORY_ORG, TRANSFER_IN_INVENTORY_ORG, TRANSFER_OUT_DEP,
+    TRANSFER_IN_DEP, BUSINESS_DATE, WHETHER_THE_CAR, BUSINESS_TYPE
   </sql>
   <sql id="columns_alias">
     t.SALE_ORDER_ID, t.PLAN_ID, t.SALE_NUMBER, t.SHIPPER_ID, t.RECEIVE_ID, t.SALE_ACCOUNT_BALANCE,
     t.SALE_CURRENT_ORDER_AMOUNT, t.SALE_HISTORICAL_ORDER_AMOUNT, t.SALE_ORDER_STATUS,
     t.SALE_ORDER_RECEIVE_CUSTOMER, t.SALE_ORDER_ISSELF_MENTION, t.SALE_UNIT_PRICE, t.SALE_ORDER_TAX,
     t.SALE_REMARK, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
-    t.INSERT_UPDATE_REMARK, t.DELETED, t.CLOSE_STATUS, t.SALER_ID
+    t.INSERT_UPDATE_REMARK, t.DELETED, t.CLOSE_STATUS, t.SALER_ID, t.SALE_TYPE, t.TRANSFER_OUT_INVENTORY_ORG,
+    t.TRANSFER_IN_INVENTORY_ORG, t.TRANSFER_OUT_DEP, t.TRANSFER_IN_DEP, t.BUSINESS_DATE,
+    t.WHETHER_THE_CAR, t.BUSINESS_TYPE
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_SALE_ORDER
@@ -113,6 +124,30 @@
       <if test="salerId != null">
         and SALER_ID = #{salerId}
       </if>
+      <if test="saleType != null">
+        and SALE_TYPE = #{saleType}
+      </if>
+      <if test="transferOutInventoryOrg != null and transferOutInventoryOrg != ''">
+        and TRANSFER_OUT_INVENTORY_ORG = #{transferOutInventoryOrg}
+      </if>
+      <if test="transferInInventoryOrg != null and transferInInventoryOrg != ''">
+        and TRANSFER_IN_INVENTORY_ORG = #{transferInInventoryOrg}
+      </if>
+      <if test="transferOutDep != null and transferOutDep != ''">
+        and TRANSFER_OUT_DEP = #{transferOutDep}
+      </if>
+      <if test="transferInDep != null and transferInDep != ''">
+        and TRANSFER_IN_DEP = #{transferInDep}
+      </if>
+      <if test="businessDate != null">
+        and TO_CHAR(BUSINESS_DATE,'yyyy-MM-dd') = #{businessDate}
+      </if>
+      <if test="whetherTheCar != null and whetherTheCar != ''">
+        and WHETHER_THE_CAR = #{whetherTheCar}
+      </if>
+      <if test="businessType != null and businessType != ''">
+        and BUSINESS_TYPE = #{businessType}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -183,9 +218,33 @@
       <if test="salerId != null">
         and SALER_ID = #{salerId}
       </if>
+      <if test="saleType != null">
+        and SALE_TYPE = #{saleType}
+      </if>
+      <if test="transferOutInventoryOrg != null and transferOutInventoryOrg != ''">
+        and TRANSFER_OUT_INVENTORY_ORG LIKE '%${transferOutInventoryOrg}%'
+      </if>
+      <if test="transferInInventoryOrg != null and transferInInventoryOrg != ''">
+        and TRANSFER_IN_INVENTORY_ORG LIKE '%${transferInInventoryOrg}%'
+      </if>
+      <if test="transferOutDep != null and transferOutDep != ''">
+        and TRANSFER_OUT_DEP LIKE '%${transferOutDep}%'
+      </if>
+      <if test="transferInDep != null and transferInDep != ''">
+        and TRANSFER_IN_DEP LIKE '%${transferInDep}%'
+      </if>
+      <if test="businessDate != null">
+        and TO_CHAR(BUSINESS_DATE,'yyyy-MM-dd') = #{businessDate}
+      </if>
+      <if test="whetherTheCar != null and whetherTheCar != ''">
+        and WHETHER_THE_CAR LIKE '%${whetherTheCar}%'
+      </if>
+      <if test="businessType != null and businessType != ''">
+        and BUSINESS_TYPE LIKE '%${businessType}%'
+      </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from AMS_SALE_ORDER
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </delete>
@@ -255,6 +314,30 @@
     <if test="salerId != null">
       or SALER_ID = #{salerId}
     </if>
+    <if test="saleType != null">
+      or SALE_TYPE = #{saleType}
+    </if>
+    <if test="transferOutInventoryOrg != null and transferOutInventoryOrg != ''">
+      or TRANSFER_OUT_INVENTORY_ORG = #{transferOutInventoryOrg}
+    </if>
+    <if test="transferInInventoryOrg != null and transferInInventoryOrg != ''">
+      or TRANSFER_IN_INVENTORY_ORG = #{transferInInventoryOrg}
+    </if>
+    <if test="transferOutDep != null and transferOutDep != ''">
+      or TRANSFER_OUT_DEP = #{transferOutDep}
+    </if>
+    <if test="transferInDep != null and transferInDep != ''">
+      or TRANSFER_IN_DEP = #{transferInDep}
+    </if>
+    <if test="businessDate != null">
+      or TO_CHAR(BUSINESS_DATE,'yyyy-MM-dd') = '#{businessDate}'
+    </if>
+    <if test="whetherTheCar != null and whetherTheCar != ''">
+      or WHETHER_THE_CAR = #{whetherTheCar}
+    </if>
+    <if test="businessType != null and businessType != ''">
+      or BUSINESS_TYPE = #{businessType}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
     insert into AMS_SALE_ORDER (SALE_ORDER_ID, PLAN_ID, SALE_NUMBER,
@@ -265,7 +348,10 @@
                                 SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
                                 INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
                                 INSERT_UPDATE_REMARK, DELETED, CLOSE_STATUS,
-                                SALER_ID)
+                                SALER_ID, SALE_TYPE, TRANSFER_OUT_INVENTORY_ORG,
+                                TRANSFER_IN_INVENTORY_ORG, TRANSFER_OUT_DEP,
+                                TRANSFER_IN_DEP, BUSINESS_DATE, WHETHER_THE_CAR,
+                                BUSINESS_TYPE)
     values (#{saleOrderId,jdbcType=DECIMAL}, #{planId,jdbcType=DECIMAL}, #{saleNumber,jdbcType=VARCHAR},
             #{shipperId,jdbcType=DECIMAL}, #{receiveId,jdbcType=DECIMAL}, #{saleAccountBalance,jdbcType=DECIMAL},
             #{saleCurrentOrderAmount,jdbcType=DECIMAL}, #{saleHistoricalOrderAmount,jdbcType=DECIMAL},
@@ -274,7 +360,10 @@
             #{saleOrderTax,jdbcType=VARCHAR}, #{saleRemark,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
             #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
             #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{closeStatus,jdbcType=DECIMAL},
-            #{salerId,jdbcType=DECIMAL})
+            #{salerId,jdbcType=DECIMAL}, #{saleType,jdbcType=DECIMAL}, #{transferOutInventoryOrg,jdbcType=VARCHAR},
+            #{transferInInventoryOrg,jdbcType=VARCHAR}, #{transferOutDep,jdbcType=VARCHAR},
+            #{transferInDep,jdbcType=VARCHAR}, #{businessDate,jdbcType=TIMESTAMP}, #{whetherTheCar,jdbcType=VARCHAR},
+            #{businessType,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
     insert into AMS_SALE_ORDER
@@ -345,6 +434,30 @@
       <if test="salerId != null">
         SALER_ID,
       </if>
+      <if test="saleType != null">
+        SALE_TYPE,
+      </if>
+      <if test="transferOutInventoryOrg != null">
+        TRANSFER_OUT_INVENTORY_ORG,
+      </if>
+      <if test="transferInInventoryOrg != null">
+        TRANSFER_IN_INVENTORY_ORG,
+      </if>
+      <if test="transferOutDep != null">
+        TRANSFER_OUT_DEP,
+      </if>
+      <if test="transferInDep != null">
+        TRANSFER_IN_DEP,
+      </if>
+      <if test="businessDate != null">
+        BUSINESS_DATE,
+      </if>
+      <if test="whetherTheCar != null">
+        WHETHER_THE_CAR,
+      </if>
+      <if test="businessType != null">
+        BUSINESS_TYPE,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="saleOrderId != null">
@@ -413,6 +526,30 @@
       <if test="salerId != null">
         #{salerId,jdbcType=DECIMAL},
       </if>
+      <if test="saleType != null">
+        #{saleType,jdbcType=DECIMAL},
+      </if>
+      <if test="transferOutInventoryOrg != null">
+        #{transferOutInventoryOrg,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInInventoryOrg != null">
+        #{transferInInventoryOrg,jdbcType=VARCHAR},
+      </if>
+      <if test="transferOutDep != null">
+        #{transferOutDep,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInDep != null">
+        #{transferInDep,jdbcType=VARCHAR},
+      </if>
+      <if test="businessDate != null">
+        #{businessDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="whetherTheCar != null">
+        #{whetherTheCar,jdbcType=VARCHAR},
+      </if>
+      <if test="businessType != null">
+        #{businessType,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
@@ -437,7 +574,15 @@
         INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
         DELETED = #{deleted,jdbcType=DECIMAL},
         CLOSE_STATUS = #{closeStatus,jdbcType=DECIMAL},
-        SALER_ID = #{salerId,jdbcType=DECIMAL}
+        SALER_ID = #{salerId,jdbcType=DECIMAL},
+        SALE_TYPE = #{saleType,jdbcType=DECIMAL},
+        TRANSFER_OUT_INVENTORY_ORG = #{transferOutInventoryOrg,jdbcType=VARCHAR},
+        TRANSFER_IN_INVENTORY_ORG = #{transferInInventoryOrg,jdbcType=VARCHAR},
+        TRANSFER_OUT_DEP = #{transferOutDep,jdbcType=VARCHAR},
+        TRANSFER_IN_DEP = #{transferInDep,jdbcType=VARCHAR},
+        BUSINESS_DATE = #{businessDate,jdbcType=TIMESTAMP},
+        WHETHER_THE_CAR = #{whetherTheCar,jdbcType=VARCHAR},
+        BUSINESS_TYPE = #{businessType,jdbcType=VARCHAR}
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
@@ -506,10 +651,34 @@
       <if test="salerId != null">
         SALER_ID = #{salerId,jdbcType=DECIMAL},
       </if>
+      <if test="saleType != null">
+        SALE_TYPE = #{saleType,jdbcType=DECIMAL},
+      </if>
+      <if test="transferOutInventoryOrg != null">
+        TRANSFER_OUT_INVENTORY_ORG = #{transferOutInventoryOrg,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInInventoryOrg != null">
+        TRANSFER_IN_INVENTORY_ORG = #{transferInInventoryOrg,jdbcType=VARCHAR},
+      </if>
+      <if test="transferOutDep != null">
+        TRANSFER_OUT_DEP = #{transferOutDep,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInDep != null">
+        TRANSFER_IN_DEP = #{transferInDep,jdbcType=VARCHAR},
+      </if>
+      <if test="businessDate != null">
+        BUSINESS_DATE = #{businessDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="whetherTheCar != null">
+        WHETHER_THE_CAR = #{whetherTheCar,jdbcType=VARCHAR},
+      </if>
+      <if test="businessType != null">
+        BUSINESS_TYPE = #{businessType,jdbcType=VARCHAR},
+      </if>
     </set>
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
     <include refid="select" />
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </select>
@@ -532,8 +701,11 @@
     SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, CLOSE_STATUS, SALER_ID
-    )
+    DELETED, CLOSE_STATUS, SALER_ID,
+    SALE_TYPE, TRANSFER_OUT_INVENTORY_ORG,
+    TRANSFER_IN_INVENTORY_ORG, TRANSFER_OUT_DEP,
+    TRANSFER_IN_DEP, BUSINESS_DATE,
+    WHETHER_THE_CAR, BUSINESS_TYPE)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.saleOrderId,jdbcType=DECIMAL},
@@ -545,8 +717,11 @@
     #{item.saleOrderTax,jdbcType=VARCHAR}, #{item.saleRemark,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.closeStatus,jdbcType=DECIMAL}, #{item.salerId,jdbcType=DECIMAL}
-    from dual
+    #{item.deleted,jdbcType=DECIMAL}, #{item.closeStatus,jdbcType=DECIMAL}, #{item.salerId,jdbcType=DECIMAL},
+    #{item.saleType,jdbcType=DECIMAL}, #{item.transferOutInventoryOrg,jdbcType=VARCHAR},
+    #{item.transferInInventoryOrg,jdbcType=VARCHAR}, #{item.transferOutDep,jdbcType=VARCHAR},
+    #{item.transferInDep,jdbcType=VARCHAR}, #{item.businessDate,jdbcType=TIMESTAMP},
+    #{item.whetherTheCar,jdbcType=VARCHAR}, #{item.businessType,jdbcType=VARCHAR} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -640,6 +815,38 @@
     <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
       when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.salerId,jdbcType=DECIMAL}
     </foreach>
+    ,SALE_TYPE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.saleType,jdbcType=DECIMAL}
+    </foreach>
+    ,TRANSFER_OUT_INVENTORY_ORG=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.transferOutInventoryOrg,jdbcType=VARCHAR}
+    </foreach>
+    ,TRANSFER_IN_INVENTORY_ORG=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.transferInInventoryOrg,jdbcType=VARCHAR}
+    </foreach>
+    ,TRANSFER_OUT_DEP=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.transferOutDep,jdbcType=VARCHAR}
+    </foreach>
+    ,TRANSFER_IN_DEP=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.transferInDep,jdbcType=VARCHAR}
+    </foreach>
+    ,BUSINESS_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.businessDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,WHETHER_THE_CAR=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.whetherTheCar,jdbcType=VARCHAR}
+    </foreach>
+    ,BUSINESS_TYPE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.businessType,jdbcType=VARCHAR}
+    </foreach>
     where SALE_ORDER_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.saleOrderId,jdbcType=DECIMAL}
@@ -654,6 +861,7 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
   <!-- 得到销售订单信息 -->
   <select id="getSaleOrderMessage" parameterType="DECIMAL" resultType="java.util.Map">
     SELECT ASO.SALE_NUMBER                                                  AS "number",
@@ -699,7 +907,7 @@
   <select id="getReceiveId" parameterType="java.lang.String" resultType="DECIMAL">
     SELECT RC.CONSIGNEE_ID AS "receiveId"
     FROM RMS_CONSIGNEE RC
-    WHERE RC.CONSIGNEE_CODE = #{receiveUnit}
+    WHERE RC.CONSIGNEE_CODE = #{receiveUnitName}
   </select>
 
   <!-- 发货单位 -->
@@ -718,10 +926,10 @@
       FROM AMS_SALE_ORDER_MATERIAL ASOM
              LEFT JOIN OMSTRUCK_ORDER OO
                        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
-        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
-      ON TTR.ORDER_ID = OO.ORDER_ID
-      LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
-      ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+             LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                       ON TTR.ORDER_ID = OO.ORDER_ID
+             LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+                       ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
       WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
         AND TER.RESULT_ENTRY_GATE_TIME IS NULL
         AND OO.ORDER_ID IS NOT NULL
@@ -733,13 +941,76 @@
     SELECT ASM.SALE_WAREHOUSE AS "warehouse"
     FROM AMS_SALE_MATERIAL ASM
     WHERE ASM.SALE_ORDER_ID = #{saleOrderId}
-    AND ASM.SALE_WAREHOUSE IS NOT NULL
+      AND ASM.SALE_WAREHOUSE IS NOT NULL
   </select>
-    <select id="getWithdrawal" resultType="java.lang.String" parameterType="DECIMAL">
-      SELECT ASO.SALE_ORDER_ISSELF_MENTION FROM AMS_SALE_ORDER_MATERIAL ASOM
-      LEFT JOIN AMS_SALE_ORDER ASO
-      ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
-      WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+  <select id="getWithdrawal" resultType="java.lang.String" parameterType="DECIMAL">
+    SELECT ASO.SALE_ORDER_ISSELF_MENTION FROM AMS_SALE_ORDER_MATERIAL ASOM
+                                                LEFT JOIN AMS_SALE_ORDER ASO
+                                                          ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+  </select>
+
+  <!-- 查找销售订单是否存在-->
+  <select id="selectAmsSaleOrderNum" resultType="java.math.BigDecimal" parameterType="java.lang.String">
+    select ASO.SALE_ORDER_ID "saleOrderId"
+    from AMS_SALE_ORDER ASO
+    WHERE  ASO.SALE_NUMBER =#{saleNumber}
+  </select>
+<!-- 对外开发查询接口-->
+    <select id="selectSaleSteelOrder" resultType="java.util.Map" parameterType="java.lang.String">
+      SELECT DISTINCT
+        OO.ORDER_NUMBER "orderNumber",
+        OO.ORDER_ISSUE_TIME "orderIssueTime",
+        DECODE( RS.SHIPPER_NAME, '四川省达州钢铁集团有限责任公司', '四川省达州市通川区' ) AS "shipperAdddress",
+        RS.SHIPPER_NAME "shipperName",
+        RC.CONSIGNEE_COMPANY_NAME "companyName",
+        CONCAT( CONCAT( CONCAT( RRA.ADDRESS_PROVINCE, ADDRESS_DISTRICT ), ADDRESS_TOWN ), RRP.ADDRESS_DELIVERY_ADDRESS ) "consigneeAddress",
+        TLFR.RESULT_OUT_GATE_TIME "resultOutGateTime",
+        DECODE( OO.ORDER_TYPE, 1, '汽运', 4, '火运' ) AS "transportType",
+        RCA.CAPACITY_NUMBER "capacityNumber",
+        OO2.ORDER_WAGON_NO "orderWagonNo",
+        OO.DRIVER_TEL "capacityTel",
+        RM.MATERIAL_ID "materialId",
+        RM.MATERIAL_NAME "materialName",
+        RM.MATERIAL_SPECIFICATION "materialSpecification",
+        RM.MATERIAL_MODEL "materialModel",
+        RMS.MATERIAL_FURNACE_NUMBER "materialFurnaceNumber",
+        CONCAT(ASM.MATERIAL_NUMBER,'件') "materialNum",
+        CONCAT(TWR.RESULT_NET_WEIGHT,'吨') "netWeight",
+        ASO.SALE_REMARK "remark"
+      FROM
+        OMSTRUCK_ORDER OO --销售订单
+          LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+          LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+          LEFT JOIN RMS_CONSIGNEE RC --收货客户
+                    ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+          LEFT JOIN RMS_SHIPPER RS --
+                    ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+          LEFT JOIN RMS_SALER RSR ON RSR.SALER_ID = ASO.SALER_ID
+          LEFT JOIN RMS_RECEIVE_PLACE RRP ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+          LEFT JOIN RMS_RECEIVE_ADDRESS RRA ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+          LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO ON ADSO.SALE_ORDER_MATERIAL_ID = ASO.SALE_ORDER_ID
+          LEFT JOIN RMS_CARRIER R_CARRIER ON R_CARRIER.CARRIER_ID = ADSO.CARRIER_ID
+          LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+          LEFT JOIN AMS_SALE_MATERIAL ASM ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+          LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+          left join RMS_MATERIAL_STEEL RMS ON RM.MATERIAL_ID = RMS.MATERIAL_ID
+          LEFT JOIN RMS_CAPACITY RCA ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+          LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.ORDER_ID = OO.ORDER_ID
+          LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+          LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+          AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+          LEFT JOIN TMSTRUCK_LOAD_RESULT TLR ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+          AND TLR.MATERIAL_ID = RM.MATERIAL_ID
+          LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+          LEFT JOIN TMSTRUCK_ARRIVAL_RESULT TAR ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+          LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+          LEFT JOIN TMSTT_ORDER T_ORDER ON T_ORDER.TRUCK_ORDER_ID = OO.ORDER_ID
+          LEFT JOIN OMSTRAIN_ORDER OO2 ON OO2.ORDER_ID = T_ORDER.TRAIN_ORDER_ID
+      WHERE
+        ASO.SALE_TYPE IN ( 1, 4 )
+        AND (INSTR(OO.ORDER_NUMBER,#{orderNumber}) > 0 OR INSTR(RCA.CAPACITY_NUMBER,#{capacityNumber}) > 0  )
+
     </select>
 
     <update id="updateTruckOrderStatus" parameterType="DECIMAL">
@@ -755,4 +1026,6 @@
         AND OO.CAN_WORK = 1
         AND ASOM.SALE_ORDER_ID = #{saleOrderId})
   </update>
+
+
 </mapper>

+ 352 - 0
src/main/resources/com/steerinfo/dil/mapper/RmstrainArrivalSendMapper.xml

@@ -0,0 +1,352 @@
+<?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.RmstrainArrivalSendMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.RmstrainArrivalSend">
+    <id column="ARRIVAL_ID" jdbcType="DECIMAL" property="arrivalId" />
+    <result column="ARRIVAL_NAME" jdbcType="VARCHAR" property="arrivalName" />
+    <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" />
+    <result column="OWNED_PORT_ID" jdbcType="DECIMAL" property="ownedPortId" />
+    <result column="DAYPLAN_DEDICATED_LINE" jdbcType="VARCHAR" property="dayplanDedicatedLine" />
+    <result column="TRANSFER_UNIT" jdbcType="VARCHAR" property="transferUnit" />
+  </resultMap>
+  <sql id="columns">
+    ARRIVAL_ID, ARRIVAL_NAME, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+    INSERT_UPDATE_REMARK, OWNED_PORT_ID, DAYPLAN_DEDICATED_LINE, TRANSFER_UNIT
+  </sql>
+  <sql id="columns_alias">
+    t.ARRIVAL_ID, t.ARRIVAL_NAME, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, 
+    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.OWNED_PORT_ID, t.DAYPLAN_DEDICATED_LINE, 
+    t.TRANSFER_UNIT
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM RMSTRAIN_ARRIVAL_SEND
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM RMSTRAIN_ARRIVAL_SEND t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="arrivalId != null">
+        and ARRIVAL_ID = #{arrivalId}
+      </if>
+      <if test="arrivalName != null and arrivalName != ''">
+        and ARRIVAL_NAME = #{arrivalName}
+      </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>
+      <if test="ownedPortId != null">
+        and OWNED_PORT_ID = #{ownedPortId}
+      </if>
+      <if test="dayplanDedicatedLine != null and dayplanDedicatedLine != ''">
+        and DAYPLAN_DEDICATED_LINE = #{dayplanDedicatedLine}
+      </if>
+      <if test="transferUnit != null and transferUnit != ''">
+        and TRANSFER_UNIT = #{transferUnit}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="arrivalId != null">
+        and ARRIVAL_ID = #{arrivalId}
+      </if>
+      <if test="arrivalName != null and arrivalName != ''">
+        and ARRIVAL_NAME LIKE '%${arrivalName}%'
+      </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>
+      <if test="ownedPortId != null">
+        and OWNED_PORT_ID = #{ownedPortId}
+      </if>
+      <if test="dayplanDedicatedLine != null and dayplanDedicatedLine != ''">
+        and DAYPLAN_DEDICATED_LINE LIKE '%${dayplanDedicatedLine}%'
+      </if>
+      <if test="transferUnit != null and transferUnit != ''">
+        and TRANSFER_UNIT LIKE '%${transferUnit}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+    delete from RMSTRAIN_ARRIVAL_SEND
+    where ARRIVAL_ID = #{arrivalId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from RMSTRAIN_ARRIVAL_SEND
+    where 1!=1 
+      <if test="arrivalName != null and arrivalName != ''">
+        or ARRIVAL_NAME = #{arrivalName}
+      </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="ownedPortId != null">
+        or OWNED_PORT_ID = #{ownedPortId}
+      </if>
+      <if test="dayplanDedicatedLine != null and dayplanDedicatedLine != ''">
+        or DAYPLAN_DEDICATED_LINE = #{dayplanDedicatedLine}
+      </if>
+      <if test="transferUnit != null and transferUnit != ''">
+        or TRANSFER_UNIT = #{transferUnit}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.RmstrainArrivalSend">
+    insert into RMSTRAIN_ARRIVAL_SEND (ARRIVAL_ID, ARRIVAL_NAME, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK, OWNED_PORT_ID, DAYPLAN_DEDICATED_LINE, 
+      TRANSFER_UNIT)
+    values (#{arrivalId,jdbcType=DECIMAL}, #{arrivalName,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR}, 
+      #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
+      #{insertUpdateRemark,jdbcType=VARCHAR}, #{ownedPortId,jdbcType=DECIMAL}, #{dayplanDedicatedLine,jdbcType=VARCHAR}, 
+      #{transferUnit,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.RmstrainArrivalSend">
+    insert into RMSTRAIN_ARRIVAL_SEND
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="arrivalId != null">
+        ARRIVAL_ID,
+      </if>
+      <if test="arrivalName != null">
+        ARRIVAL_NAME,
+      </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>
+      <if test="ownedPortId != null">
+        OWNED_PORT_ID,
+      </if>
+      <if test="dayplanDedicatedLine != null">
+        DAYPLAN_DEDICATED_LINE,
+      </if>
+      <if test="transferUnit != null">
+        TRANSFER_UNIT,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="arrivalId != null">
+        #{arrivalId,jdbcType=DECIMAL},
+      </if>
+      <if test="arrivalName != null">
+        #{arrivalName,jdbcType=VARCHAR},
+      </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>
+      <if test="ownedPortId != null">
+        #{ownedPortId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanDedicatedLine != null">
+        #{dayplanDedicatedLine,jdbcType=VARCHAR},
+      </if>
+      <if test="transferUnit != null">
+        #{transferUnit,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.RmstrainArrivalSend">
+    update RMSTRAIN_ARRIVAL_SEND
+    set ARRIVAL_NAME = #{arrivalName,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},
+      OWNED_PORT_ID = #{ownedPortId,jdbcType=DECIMAL},
+      DAYPLAN_DEDICATED_LINE = #{dayplanDedicatedLine,jdbcType=VARCHAR},
+      TRANSFER_UNIT = #{transferUnit,jdbcType=VARCHAR}
+    where ARRIVAL_ID = #{arrivalId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.RmstrainArrivalSend">
+    update RMSTRAIN_ARRIVAL_SEND
+    <set>
+      <if test="arrivalName != null">
+        ARRIVAL_NAME = #{arrivalName,jdbcType=VARCHAR},
+      </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>
+      <if test="ownedPortId != null">
+        OWNED_PORT_ID = #{ownedPortId,jdbcType=DECIMAL},
+      </if>
+      <if test="dayplanDedicatedLine != null">
+        DAYPLAN_DEDICATED_LINE = #{dayplanDedicatedLine,jdbcType=VARCHAR},
+      </if>
+      <if test="transferUnit != null">
+        TRANSFER_UNIT = #{transferUnit,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where ARRIVAL_ID = #{arrivalId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <include refid="select" />
+    where ARRIVAL_ID = #{arrivalId,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 RMSTRAIN_ARRIVAL_SEND 
+      (ARRIVAL_ID, 
+      ARRIVAL_NAME, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK, 
+      OWNED_PORT_ID, DAYPLAN_DEDICATED_LINE, 
+      TRANSFER_UNIT)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.arrivalId,jdbcType=DECIMAL}, 
+      #{item.arrivalName,jdbcType=VARCHAR}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{item.ownedPortId,jdbcType=DECIMAL}, #{item.dayplanDedicatedLine,jdbcType=VARCHAR}, 
+      #{item.transferUnit,jdbcType=VARCHAR} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update RMSTRAIN_ARRIVAL_SEND
+     set
+       ARRIVAL_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.arrivalId,jdbcType=DECIMAL}
+       </foreach>
+       ,ARRIVAL_NAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.arrivalName,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+       ,OWNED_PORT_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.ownedPortId,jdbcType=DECIMAL}
+       </foreach>
+       ,DAYPLAN_DEDICATED_LINE=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.dayplanDedicatedLine,jdbcType=VARCHAR}
+       </foreach>
+       ,TRANSFER_UNIT=
+       <foreach close="end" collection="list" index="index" item="item" open="case ARRIVAL_ID" separator=" ">
+          when #{item.arrivalId,jdbcType=DECIMAL} then #{item.transferUnit,jdbcType=VARCHAR}
+       </foreach>
+     where ARRIVAL_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.arrivalId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from RMSTRAIN_ARRIVAL_SEND
+    where ARRIVAL_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+<!--查找是否有发站-->
+  <select id="getSendStation" resultType="java.math.BigDecimal" parameterType="java.lang.String">
+    select RAS.ARRIVAL_ID "arrivalId"
+    from RMSTRAIN_ARRIVAL_SEND RAS
+     WHERE  RAS.ARRIVAL_NAME =#{toTheStation}
+  </select>
+  
+</mapper>

+ 636 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstrainPleaseApproveResultMapper.xml

@@ -0,0 +1,636 @@
+<?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.TmstrainPleaseApproveResultMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.TmstrainPleaseApproveResult">
+    <id column="RESULT_ID" jdbcType="DECIMAL" property="resultId" />
+    <result column="RAIL_PLAN_ID" jdbcType="DECIMAL" property="railPlanId" />
+    <result column="RESULT_PLEASE_PLAN_NO" jdbcType="VARCHAR" property="resultPleasePlanNo" />
+    <result column="RESULT_PLAN_DATE" jdbcType="TIMESTAMP" property="resultPlanDate" />
+    <result column="RESULT_CATEGORY" jdbcType="VARCHAR" property="resultCategory" />
+    <result column="SUPPLIER_ID" jdbcType="DECIMAL" property="supplierId" />
+    <result column="SEND_STATION_ID" jdbcType="DECIMAL" property="sendStationId" />
+    <result column="TO_THE_STATION_ID" jdbcType="DECIMAL" property="toTheStationId" />
+    <result column="RESULT_PLEASE_NUMBER" jdbcType="DECIMAL" property="resultPleaseNumber" />
+    <result column="RESULT_PLEASE_DATE" jdbcType="TIMESTAMP" property="resultPleaseDate" />
+    <result column="RESULT_APPROVE_NUMBER" jdbcType="DECIMAL" property="resultApproveNumber" />
+    <result column="RESULT_APPROVE_DATE" jdbcType="TIMESTAMP" property="resultApproveDate" />
+    <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" />
+    <result column="STATUS" jdbcType="DECIMAL" property="status" />
+    <result column="RESULT_TYPE" jdbcType="DECIMAL" property="resultType" />
+    <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+    <result column="SPECIAL_LINE_ID" jdbcType="DECIMAL" property="specialLineId" />
+  </resultMap>
+  <sql id="columns">
+    RESULT_ID, RAIL_PLAN_ID, RESULT_PLEASE_PLAN_NO, RESULT_PLAN_DATE, RESULT_CATEGORY, 
+    SUPPLIER_ID, SEND_STATION_ID, TO_THE_STATION_ID, RESULT_PLEASE_NUMBER, RESULT_PLEASE_DATE, 
+    RESULT_APPROVE_NUMBER, RESULT_APPROVE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+    UPDATE_TIME, INSERT_UPDATE_REMARK, STATUS, RESULT_TYPE, CARRIER_ID, SPECIAL_LINE_ID
+  </sql>
+  <sql id="columns_alias">
+    t.RESULT_ID, t.RAIL_PLAN_ID, t.RESULT_PLEASE_PLAN_NO, t.RESULT_PLAN_DATE, t.RESULT_CATEGORY, 
+    t.SUPPLIER_ID, t.SEND_STATION_ID, t.TO_THE_STATION_ID, t.RESULT_PLEASE_NUMBER, t.RESULT_PLEASE_DATE, 
+    t.RESULT_APPROVE_NUMBER, t.RESULT_APPROVE_DATE, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.STATUS, t.RESULT_TYPE, 
+    t.CARRIER_ID, t.SPECIAL_LINE_ID
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM TMSTRAIN_PLEASE_APPROVE_RESULT
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM TMSTRAIN_PLEASE_APPROVE_RESULT t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="resultId != null">
+        and RESULT_ID = #{resultId}
+      </if>
+      <if test="railPlanId != null">
+        and RAIL_PLAN_ID = #{railPlanId}
+      </if>
+      <if test="resultPleasePlanNo != null and resultPleasePlanNo != ''">
+        and RESULT_PLEASE_PLAN_NO = #{resultPleasePlanNo}
+      </if>
+      <if test="resultPlanDate != null">
+        and TO_CHAR(RESULT_PLAN_DATE,'yyyy-MM-dd') = #{resultPlanDate}
+      </if>
+      <if test="resultCategory != null and resultCategory != ''">
+        and RESULT_CATEGORY = #{resultCategory}
+      </if>
+      <if test="supplierId != null">
+        and SUPPLIER_ID = #{supplierId}
+      </if>
+      <if test="sendStationId != null">
+        and SEND_STATION_ID = #{sendStationId}
+      </if>
+      <if test="toTheStationId != null">
+        and TO_THE_STATION_ID = #{toTheStationId}
+      </if>
+      <if test="resultPleaseNumber != null">
+        and RESULT_PLEASE_NUMBER = #{resultPleaseNumber}
+      </if>
+      <if test="resultPleaseDate != null">
+        and TO_CHAR(RESULT_PLEASE_DATE,'yyyy-MM-dd') = #{resultPleaseDate}
+      </if>
+      <if test="resultApproveNumber != null">
+        and RESULT_APPROVE_NUMBER = #{resultApproveNumber}
+      </if>
+      <if test="resultApproveDate != null">
+        and TO_CHAR(RESULT_APPROVE_DATE,'yyyy-MM-dd') = #{resultApproveDate}
+      </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>
+      <if test="status != null">
+        and STATUS = #{status}
+      </if>
+      <if test="resultType != null">
+        and RESULT_TYPE = #{resultType}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="specialLineId != null">
+        and SPECIAL_LINE_ID = #{specialLineId}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="resultId != null">
+        and RESULT_ID = #{resultId}
+      </if>
+      <if test="railPlanId != null">
+        and RAIL_PLAN_ID = #{railPlanId}
+      </if>
+      <if test="resultPleasePlanNo != null and resultPleasePlanNo != ''">
+        and RESULT_PLEASE_PLAN_NO LIKE '%${resultPleasePlanNo}%'
+      </if>
+      <if test="resultPlanDate != null">
+        and TO_CHAR(RESULT_PLAN_DATE,'yyyy-MM-dd') = #{resultPlanDate}
+      </if>
+      <if test="resultCategory != null and resultCategory != ''">
+        and RESULT_CATEGORY LIKE '%${resultCategory}%'
+      </if>
+      <if test="supplierId != null">
+        and SUPPLIER_ID = #{supplierId}
+      </if>
+      <if test="sendStationId != null">
+        and SEND_STATION_ID = #{sendStationId}
+      </if>
+      <if test="toTheStationId != null">
+        and TO_THE_STATION_ID = #{toTheStationId}
+      </if>
+      <if test="resultPleaseNumber != null">
+        and RESULT_PLEASE_NUMBER = #{resultPleaseNumber}
+      </if>
+      <if test="resultPleaseDate != null">
+        and TO_CHAR(RESULT_PLEASE_DATE,'yyyy-MM-dd') = #{resultPleaseDate}
+      </if>
+      <if test="resultApproveNumber != null">
+        and RESULT_APPROVE_NUMBER = #{resultApproveNumber}
+      </if>
+      <if test="resultApproveDate != null">
+        and TO_CHAR(RESULT_APPROVE_DATE,'yyyy-MM-dd') = #{resultApproveDate}
+      </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>
+      <if test="status != null">
+        and STATUS = #{status}
+      </if>
+      <if test="resultType != null">
+        and RESULT_TYPE = #{resultType}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="specialLineId != null">
+        and SPECIAL_LINE_ID = #{specialLineId}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+    delete from TMSTRAIN_PLEASE_APPROVE_RESULT
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from TMSTRAIN_PLEASE_APPROVE_RESULT
+    where 1!=1 
+      <if test="railPlanId != null">
+        or RAIL_PLAN_ID = #{railPlanId}
+      </if>
+      <if test="resultPleasePlanNo != null and resultPleasePlanNo != ''">
+        or RESULT_PLEASE_PLAN_NO = #{resultPleasePlanNo}
+      </if>
+      <if test="resultPlanDate != null">
+        or TO_CHAR(RESULT_PLAN_DATE,'yyyy-MM-dd') = '#{resultPlanDate}'
+      </if>
+      <if test="resultCategory != null and resultCategory != ''">
+        or RESULT_CATEGORY = #{resultCategory}
+      </if>
+      <if test="supplierId != null">
+        or SUPPLIER_ID = #{supplierId}
+      </if>
+      <if test="sendStationId != null">
+        or SEND_STATION_ID = #{sendStationId}
+      </if>
+      <if test="toTheStationId != null">
+        or TO_THE_STATION_ID = #{toTheStationId}
+      </if>
+      <if test="resultPleaseNumber != null">
+        or RESULT_PLEASE_NUMBER = #{resultPleaseNumber}
+      </if>
+      <if test="resultPleaseDate != null">
+        or TO_CHAR(RESULT_PLEASE_DATE,'yyyy-MM-dd') = '#{resultPleaseDate}'
+      </if>
+      <if test="resultApproveNumber != null">
+        or RESULT_APPROVE_NUMBER = #{resultApproveNumber}
+      </if>
+      <if test="resultApproveDate != null">
+        or TO_CHAR(RESULT_APPROVE_DATE,'yyyy-MM-dd') = '#{resultApproveDate}'
+      </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="status != null">
+        or STATUS = #{status}
+      </if>
+      <if test="resultType != null">
+        or RESULT_TYPE = #{resultType}
+      </if>
+      <if test="carrierId != null">
+        or CARRIER_ID = #{carrierId}
+      </if>
+      <if test="specialLineId != null">
+        or SPECIAL_LINE_ID = #{specialLineId}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.TmstrainPleaseApproveResult">
+    insert into TMSTRAIN_PLEASE_APPROVE_RESULT (RESULT_ID, RAIL_PLAN_ID, RESULT_PLEASE_PLAN_NO, 
+      RESULT_PLAN_DATE, RESULT_CATEGORY, SUPPLIER_ID, 
+      SEND_STATION_ID, TO_THE_STATION_ID, RESULT_PLEASE_NUMBER, 
+      RESULT_PLEASE_DATE, RESULT_APPROVE_NUMBER, 
+      RESULT_APPROVE_DATE, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, 
+      STATUS, RESULT_TYPE, CARRIER_ID, 
+      SPECIAL_LINE_ID)
+    values (#{resultId,jdbcType=DECIMAL}, #{railPlanId,jdbcType=DECIMAL}, #{resultPleasePlanNo,jdbcType=VARCHAR}, 
+      #{resultPlanDate,jdbcType=TIMESTAMP}, #{resultCategory,jdbcType=VARCHAR}, #{supplierId,jdbcType=DECIMAL}, 
+      #{sendStationId,jdbcType=DECIMAL}, #{toTheStationId,jdbcType=DECIMAL}, #{resultPleaseNumber,jdbcType=DECIMAL}, 
+      #{resultPleaseDate,jdbcType=TIMESTAMP}, #{resultApproveNumber,jdbcType=DECIMAL}, 
+      #{resultApproveDate,jdbcType=TIMESTAMP}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{status,jdbcType=DECIMAL}, #{resultType,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL}, 
+      #{specialLineId,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstrainPleaseApproveResult">
+    insert into TMSTRAIN_PLEASE_APPROVE_RESULT
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="resultId != null">
+        RESULT_ID,
+      </if>
+      <if test="railPlanId != null">
+        RAIL_PLAN_ID,
+      </if>
+      <if test="resultPleasePlanNo != null">
+        RESULT_PLEASE_PLAN_NO,
+      </if>
+      <if test="resultPlanDate != null">
+        RESULT_PLAN_DATE,
+      </if>
+      <if test="resultCategory != null">
+        RESULT_CATEGORY,
+      </if>
+      <if test="supplierId != null">
+        SUPPLIER_ID,
+      </if>
+      <if test="sendStationId != null">
+        SEND_STATION_ID,
+      </if>
+      <if test="toTheStationId != null">
+        TO_THE_STATION_ID,
+      </if>
+      <if test="resultPleaseNumber != null">
+        RESULT_PLEASE_NUMBER,
+      </if>
+      <if test="resultPleaseDate != null">
+        RESULT_PLEASE_DATE,
+      </if>
+      <if test="resultApproveNumber != null">
+        RESULT_APPROVE_NUMBER,
+      </if>
+      <if test="resultApproveDate != null">
+        RESULT_APPROVE_DATE,
+      </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>
+      <if test="status != null">
+        STATUS,
+      </if>
+      <if test="resultType != null">
+        RESULT_TYPE,
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID,
+      </if>
+      <if test="specialLineId != null">
+        SPECIAL_LINE_ID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="resultId != null">
+        #{resultId,jdbcType=DECIMAL},
+      </if>
+      <if test="railPlanId != null">
+        #{railPlanId,jdbcType=DECIMAL},
+      </if>
+      <if test="resultPleasePlanNo != null">
+        #{resultPleasePlanNo,jdbcType=VARCHAR},
+      </if>
+      <if test="resultPlanDate != null">
+        #{resultPlanDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="resultCategory != null">
+        #{resultCategory,jdbcType=VARCHAR},
+      </if>
+      <if test="supplierId != null">
+        #{supplierId,jdbcType=DECIMAL},
+      </if>
+      <if test="sendStationId != null">
+        #{sendStationId,jdbcType=DECIMAL},
+      </if>
+      <if test="toTheStationId != null">
+        #{toTheStationId,jdbcType=DECIMAL},
+      </if>
+      <if test="resultPleaseNumber != null">
+        #{resultPleaseNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="resultPleaseDate != null">
+        #{resultPleaseDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="resultApproveNumber != null">
+        #{resultApproveNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="resultApproveDate != null">
+        #{resultApproveDate,jdbcType=TIMESTAMP},
+      </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>
+      <if test="status != null">
+        #{status,jdbcType=DECIMAL},
+      </if>
+      <if test="resultType != null">
+        #{resultType,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="specialLineId != null">
+        #{specialLineId,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstrainPleaseApproveResult">
+    update TMSTRAIN_PLEASE_APPROVE_RESULT
+    set RAIL_PLAN_ID = #{railPlanId,jdbcType=DECIMAL},
+      RESULT_PLEASE_PLAN_NO = #{resultPleasePlanNo,jdbcType=VARCHAR},
+      RESULT_PLAN_DATE = #{resultPlanDate,jdbcType=TIMESTAMP},
+      RESULT_CATEGORY = #{resultCategory,jdbcType=VARCHAR},
+      SUPPLIER_ID = #{supplierId,jdbcType=DECIMAL},
+      SEND_STATION_ID = #{sendStationId,jdbcType=DECIMAL},
+      TO_THE_STATION_ID = #{toTheStationId,jdbcType=DECIMAL},
+      RESULT_PLEASE_NUMBER = #{resultPleaseNumber,jdbcType=DECIMAL},
+      RESULT_PLEASE_DATE = #{resultPleaseDate,jdbcType=TIMESTAMP},
+      RESULT_APPROVE_NUMBER = #{resultApproveNumber,jdbcType=DECIMAL},
+      RESULT_APPROVE_DATE = #{resultApproveDate,jdbcType=TIMESTAMP},
+      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},
+      STATUS = #{status,jdbcType=DECIMAL},
+      RESULT_TYPE = #{resultType,jdbcType=DECIMAL},
+      CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      SPECIAL_LINE_ID = #{specialLineId,jdbcType=DECIMAL}
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstrainPleaseApproveResult">
+    update TMSTRAIN_PLEASE_APPROVE_RESULT
+    <set>
+      <if test="railPlanId != null">
+        RAIL_PLAN_ID = #{railPlanId,jdbcType=DECIMAL},
+      </if>
+      <if test="resultPleasePlanNo != null">
+        RESULT_PLEASE_PLAN_NO = #{resultPleasePlanNo,jdbcType=VARCHAR},
+      </if>
+      <if test="resultPlanDate != null">
+        RESULT_PLAN_DATE = #{resultPlanDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="resultCategory != null">
+        RESULT_CATEGORY = #{resultCategory,jdbcType=VARCHAR},
+      </if>
+      <if test="supplierId != null">
+        SUPPLIER_ID = #{supplierId,jdbcType=DECIMAL},
+      </if>
+      <if test="sendStationId != null">
+        SEND_STATION_ID = #{sendStationId,jdbcType=DECIMAL},
+      </if>
+      <if test="toTheStationId != null">
+        TO_THE_STATION_ID = #{toTheStationId,jdbcType=DECIMAL},
+      </if>
+      <if test="resultPleaseNumber != null">
+        RESULT_PLEASE_NUMBER = #{resultPleaseNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="resultPleaseDate != null">
+        RESULT_PLEASE_DATE = #{resultPleaseDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="resultApproveNumber != null">
+        RESULT_APPROVE_NUMBER = #{resultApproveNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="resultApproveDate != null">
+        RESULT_APPROVE_DATE = #{resultApproveDate,jdbcType=TIMESTAMP},
+      </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>
+      <if test="status != null">
+        STATUS = #{status,jdbcType=DECIMAL},
+      </if>
+      <if test="resultType != null">
+        RESULT_TYPE = #{resultType,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="specialLineId != null">
+        SPECIAL_LINE_ID = #{specialLineId,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <include refid="select" />
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </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_PLEASE_APPROVE_RESULT 
+      (RESULT_ID, 
+      RAIL_PLAN_ID, RESULT_PLEASE_PLAN_NO, 
+      RESULT_PLAN_DATE, RESULT_CATEGORY, 
+      SUPPLIER_ID, SEND_STATION_ID, TO_THE_STATION_ID, 
+      RESULT_PLEASE_NUMBER, RESULT_PLEASE_DATE, 
+      RESULT_APPROVE_NUMBER, RESULT_APPROVE_DATE, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK, STATUS, RESULT_TYPE, 
+      CARRIER_ID, SPECIAL_LINE_ID)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.resultId,jdbcType=DECIMAL}, 
+      #{item.railPlanId,jdbcType=DECIMAL}, #{item.resultPleasePlanNo,jdbcType=VARCHAR}, 
+      #{item.resultPlanDate,jdbcType=TIMESTAMP}, #{item.resultCategory,jdbcType=VARCHAR}, 
+      #{item.supplierId,jdbcType=DECIMAL}, #{item.sendStationId,jdbcType=DECIMAL}, #{item.toTheStationId,jdbcType=DECIMAL}, 
+      #{item.resultPleaseNumber,jdbcType=DECIMAL}, #{item.resultPleaseDate,jdbcType=TIMESTAMP}, 
+      #{item.resultApproveNumber,jdbcType=DECIMAL}, #{item.resultApproveDate,jdbcType=TIMESTAMP}, 
+      #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP}, 
+      #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.status,jdbcType=DECIMAL}, #{item.resultType,jdbcType=DECIMAL}, 
+      #{item.carrierId,jdbcType=DECIMAL}, #{item.specialLineId,jdbcType=DECIMAL} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update TMSTRAIN_PLEASE_APPROVE_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>
+       ,RAIL_PLAN_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.railPlanId,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_PLEASE_PLAN_NO=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultPleasePlanNo,jdbcType=VARCHAR}
+       </foreach>
+       ,RESULT_PLAN_DATE=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultPlanDate,jdbcType=TIMESTAMP}
+       </foreach>
+       ,RESULT_CATEGORY=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultCategory,jdbcType=VARCHAR}
+       </foreach>
+       ,SUPPLIER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.supplierId,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>
+       ,TO_THE_STATION_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.toTheStationId,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_PLEASE_NUMBER=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultPleaseNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_PLEASE_DATE=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultPleaseDate,jdbcType=TIMESTAMP}
+       </foreach>
+       ,RESULT_APPROVE_NUMBER=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultApproveNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_APPROVE_DATE=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultApproveDate,jdbcType=TIMESTAMP}
+       </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>
+       ,STATUS=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.status,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>
+       ,CARRIER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+       </foreach>
+       ,SPECIAL_LINE_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case RESULT_ID" separator=" ">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.specialLineId,jdbcType=DECIMAL}
+       </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_PLEASE_APPROVE_RESULT
+    where RESULT_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <select id="selectResultId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+    select TPAR.RESULT_ID "resultId"
+    from TMSTRAIN_PLEASE_APPROVE_RESULT TPAR
+    WHERE  TPAR.RAIL_PLAN_ID=#{saleOrderNumber}
+  </select>
+
+  
+</mapper>