Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

zyf 2 vuotta sitten
vanhempi
commit
d237ddabce
27 muutettua tiedostoa jossa 1130 lisäystä ja 205 poistoa
  1. 44 44
      pom.xml
  2. 7 0
      src/main/java/com/steerinfo/dil/controller/AmsContractTransportPriceController.java
  3. 1 0
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java
  4. 50 0
      src/main/java/com/steerinfo/dil/controller/AmstruckInwardRequirementController.java
  5. 3 3
      src/main/java/com/steerinfo/dil/controller/DilNoticeController.java
  6. 18 0
      src/main/java/com/steerinfo/dil/feign/OtmsFeign.java
  7. 7 4
      src/main/java/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.java
  8. 20 0
      src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java
  9. 1 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java
  10. 5 0
      src/main/java/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.java
  11. 6 4
      src/main/java/com/steerinfo/dil/mapper/AmstruckRequirementMaterialMapper.java
  12. 81 4
      src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java
  13. 15 0
      src/main/java/com/steerinfo/dil/model/AmstruckRequirementMaterial.java
  14. 2 0
      src/main/java/com/steerinfo/dil/service/IAmsContractTransportPriceService.java
  15. 7 1
      src/main/java/com/steerinfo/dil/service/IAmstruckInwardRequirementService.java
  16. 20 0
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java
  17. 121 0
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java
  18. 32 4
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java
  19. 64 3
      src/main/java/com/steerinfo/dil/service/impl/AmstruckInwardPlanServiceImpl.java
  20. 101 14
      src/main/java/com/steerinfo/dil/service/impl/AmstruckInwardRequirementServiceImpl.java
  21. 5 4
      src/main/java/com/steerinfo/dil/service/impl/ScheduledTasks.java
  22. 2 1
      src/main/resources/application-prod.yml
  23. 150 13
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.xml
  24. 199 44
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml
  25. 19 6
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml
  26. 62 3
      src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml
  27. 88 53
      src/main/resources/com/steerinfo/dil/mapper/AmstruckRequirementMaterialMapper.xml

+ 44 - 44
pom.xml

@@ -105,13 +105,13 @@
                 <artifactId>generator-maven-plugin</artifactId>
                 <version>3.0</version>
                 <configuration>
-                    <connUrl>jdbc:oracle:thin:@172.16.33.63:1521:ORCL</connUrl>
-                    <user>dzgt</user>
-                    <password>bigdata</password>
+                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>
+                    <user>dil</user>
+                    <password>Dil123789</password>
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>TB_PRODUCT_SUMMARY_DG</param>
+                        <param>AMSTRUCK_REQUIREMENT_MATERIAL</param>
                     </tables>
                 </configuration>
                 <executions>
@@ -135,46 +135,46 @@
                     </execution>
                 </executions>
             </plugin>
-<!--            <plugin>-->
-<!--                <groupId>com.steerinfo</groupId>-->
-<!--                <artifactId>generator-maven-plugin</artifactId>-->
-<!--                <version>3.0</version>-->
-<!--                <configuration>-->
-<!--                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>-->
-<!--                    <user>dagang</user>-->
-<!--                    <password>root123</password>-->
-<!--                    &lt;!&ndash;包名&ndash;&gt;-->
-<!--                    <targetPackage>com.steerinfo.dil</targetPackage>-->
-<!--                    <tables>-->
-<!--                        <table>OMSTRUCK_ORDER_MATERIAL</table>&lt;!&ndash;销售计划&ndash;&gt;-->
-<!--                        &lt;!&ndash;                        <param>AMSTRUCK_INWARD_REQUIREMENT</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;&ndash;&gt;-->
-<!--                        &lt;!&ndash;                        <param>AMSTRUCK_RAIL_DAYPLAN</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;&ndash;&gt;-->
-<!--                        &lt;!&ndash;                        <param>AMS_CONTRACT_TRANSPORT_PRICE</param>&lt;!&ndash;销售订单&ndash;&gt;&ndash;&gt;-->
-<!--                        &lt;!&ndash;                        <param>AMS_SALE_ORDER_MATERIAL</param>&lt;!&ndash;销售订单车序号表&ndash;&gt;&ndash;&gt;-->
-<!--                        &lt;!&ndash;                        <param>AMS_SALE_TRUCKNO_MATERIAL</param>&lt;!&ndash;车序号物资中间表&ndash;&gt;&ndash;&gt;-->
-<!--                    </tables>-->
-<!--                </configuration>-->
-<!--                <executions>-->
-<!--                    <execution>-->
-<!--                        <phase>compile</phase>-->
-<!--                        <goals>-->
-<!--                            <goal></goal>-->
-<!--                        </goals>-->
-<!--                    </execution>-->
-<!--                </executions>-->
-<!--            </plugin>-->
-                        <plugin>
-                            <groupId>org.springframework.boot</groupId>
-                            <artifactId>spring-boot-maven-plugin</artifactId>
-                            <version>2.2.6.RELEASE</version>
-                            <executions>
-                                <execution>
-                                    <goals>
-                                        <goal>repackage</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
+            <!--            <plugin>-->
+            <!--                <groupId>com.steerinfo</groupId>-->
+            <!--                <artifactId>generator-maven-plugin</artifactId>-->
+            <!--                <version>3.0</version>-->
+            <!--                <configuration>-->
+            <!--                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>-->
+            <!--                    <user>dagang</user>-->
+            <!--                    <password>root123</password>-->
+            <!--                    &lt;!&ndash;包名&ndash;&gt;-->
+            <!--                    <targetPackage>com.steerinfo.dil</targetPackage>-->
+            <!--                    <tables>-->
+            <!--                        <table>OMSTRUCK_ORDER_MATERIAL</table>&lt;!&ndash;销售计划&ndash;&gt;-->
+            <!--                        &lt;!&ndash;                        <param>AMSTRUCK_INWARD_REQUIREMENT</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;&ndash;&gt;-->
+            <!--                        &lt;!&ndash;                        <param>AMSTRUCK_RAIL_DAYPLAN</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;&ndash;&gt;-->
+            <!--                        &lt;!&ndash;                        <param>AMS_CONTRACT_TRANSPORT_PRICE</param>&lt;!&ndash;销售订单&ndash;&gt;&ndash;&gt;-->
+            <!--                        &lt;!&ndash;                        <param>AMS_SALE_ORDER_MATERIAL</param>&lt;!&ndash;销售订单车序号表&ndash;&gt;&ndash;&gt;-->
+            <!--                        &lt;!&ndash;                        <param>AMS_SALE_TRUCKNO_MATERIAL</param>&lt;!&ndash;车序号物资中间表&ndash;&gt;&ndash;&gt;-->
+            <!--                    </tables>-->
+            <!--                </configuration>-->
+            <!--                <executions>-->
+            <!--                    <execution>-->
+            <!--                        <phase>compile</phase>-->
+            <!--                        <goals>-->
+            <!--                            <goal></goal>-->
+            <!--                        </goals>-->
+            <!--                    </execution>-->
+            <!--                </executions>-->
+            <!--            </plugin>-->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.2.6.RELEASE</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
         <resources>
             <resource>

+ 7 - 0
src/main/java/com/steerinfo/dil/controller/AmsContractTransportPriceController.java

@@ -302,4 +302,11 @@ public class AmsContractTransportPriceController extends BaseRESTfulController {
         List<Map<String,Object>> result = amsContractTransportPriceService.getLineId();
         return success(result);
     }
+
+    @ApiOperation(value = "复制增加一个单价")
+    @PostMapping("copySteelPrice")
+    public RESTfulResult copySteelPrice(@RequestBody(required = false) Map<String,Object>map){
+        int i = amsContractTransportPriceService.copySteelPrice(map);
+        return success(i);
+    }
 }

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

@@ -764,6 +764,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         try {
             result = amsSaleOrderService.dispatchSteelOrder(mapList);
         } catch (Exception e) {
+            e.printStackTrace();
             return failed(e.getMessage());
         }
         if (result == 0) {

+ 50 - 0
src/main/java/com/steerinfo/dil/controller/AmstruckInwardRequirementController.java

@@ -12,6 +12,7 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -56,6 +57,13 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
         return success(result);
     }
 
+    @ApiOperation("新增钢坯车辆用车需求")
+    @PostMapping("/addBilletRequirement")
+    public RESTfulResult addBilletRequirement(@RequestBody Map<String,Object> mapValue) {
+        int result = amstruckInwardRequirementService.addBilletRequirement(mapValue);
+        return success(result);
+    }
+
     /*
     新增采购内转需求
      */
@@ -172,6 +180,42 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
         PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
         return success(data);
     }
+
+    @ApiModelProperty(value = "展示钢坯用车需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "207(0,1)/250(2)", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "requirementStatus", value = "需求状态", required = false, dataType = "Integer")
+    })
+    @PostMapping("/getBilletRequirementList")
+    public RESTfulResult getBilletRequirementList(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                 Integer pageNum,
+                                                 Integer pageSize,
+                                                 Integer apiId,
+                                                 String orgCode,
+                                                 String index,
+                                                 String startTime,
+                                                 String endTime) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        if (orgCode != null && !orgCode.equals("null")) {
+            String con = "%"+orgCode+"%";
+            mapValue.put("con",con);
+        }
+        if (index != null && !"null".equals(index)) {
+            mapValue.put("index","%"+index+"%");
+        }
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = amstruckInwardRequirementService.getBilletRequirementList(mapValue);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
+        return success(data);
+    }
+
+
     //展示采购内转需求
     @PostMapping("/getPurRequirementList")
     public RESTfulResult getPurRequirementList(@RequestBody(required = false) Map<String,Object> mapValue,
@@ -289,6 +333,12 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
         return success(mapList);
     }
 
+    @ApiOperation("关闭截止日期以及需求下的订单")
+    @PostMapping("closeDueDate")
+    public RESTfulResult closeDueDate(BigDecimal requirementId){
+        int i = amstruckInwardRequirementService.closeDueDate(requirementId);
+        return success();
+    }
 
 
 }

+ 3 - 3
src/main/java/com/steerinfo/dil/controller/DilNoticeController.java

@@ -1,6 +1,5 @@
 package com.steerinfo.dil.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.model.DilNotice;
 import com.steerinfo.dil.service.IDilNoticeService;
@@ -15,9 +14,10 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.lang.reflect.Parameter;
-import java.util.*;
 import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * DilNotice RESTful接口:

+ 18 - 0
src/main/java/com/steerinfo/dil/feign/OtmsFeign.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@FeignClient(value = "DAL-OTMS-API-DEV", url = "${openfeign.OTMSFeign.url}")
+public interface OtmsFeign {
+
+    @GetMapping("/api/v1/otms/pathDisplay/getCurrentLocation")
+    RESTfulResult getCurrentLocation(@RequestParam("capcityNumber") String capcityNumber) throws Exception;
+
+}

+ 7 - 4
src/main/java/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.java

@@ -2,13 +2,13 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.AmsContractTransportPrice;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface AmsContractTransportPriceMapper extends IBaseMapper<AmsContractTransportPrice, BigDecimal> {
 
@@ -112,4 +112,7 @@ public interface AmsContractTransportPriceMapper extends IBaseMapper<AmsContract
     BigDecimal selectTransportId();
     // 得到销售汽运单价
     List<Map<String, Object>> getSaleTruckPriceList(Map<String, Object> mapValue);
+
+    BigDecimal getPlaceId(BigDecimal orderId);
+
 }

+ 20 - 0
src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java

@@ -68,4 +68,24 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     int updateDCodd();
 
     int updateDCnew();
+
+    Map<String, Object> selectByPlaceId(BigDecimal priceId);
+
+    int updateByPriceId(Map<String, Object> updatePrice);
+
+    int updateDelectByPlaceId(Map<String, Object> map);
+
+    List<String> selectshdz(Map<String, Object> map);
+
+    Map<String, Object> selectxxdz(Map<String, Object> map);
+
+    void insertxxdz(Map<String, Object> map);
+
+    Map<String, Object> selectcys(String cys);
+
+    int selectMaxIdrrp();
+
+    int selectMaxIdrra();
+
+    void insertshdz(Map<String, Object> map);
 }

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

@@ -178,4 +178,5 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     int updateSaleOrderStatus(String saleNumber);
 
+    Integer getDispachSwitch();
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.java

@@ -43,4 +43,9 @@ public interface AmstruckInwardRequirementMapper extends IBaseMapper<AmstruckInw
     List<Map<String, Object>> getPurRequirementList(Map<String, Object> mapValue);
 
     BigDecimal selectPurOrderId(Integer requirementId);
+
+    int closeOrderByRequirementId(BigDecimal requirementId);
+
+    List<Map<String, Object>> getBilletRequirementList(Map<String, Object> mapValue);
+
 }

+ 6 - 4
src/main/java/com/steerinfo/dil/mapper/AmstruckRequirementMaterialMapper.java

@@ -2,13 +2,13 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.AmstruckRequirementMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface AmstruckRequirementMaterialMapper extends IBaseMapper<AmstruckRequirementMaterial, BigDecimal> {
 
@@ -20,4 +20,6 @@ public interface AmstruckRequirementMaterialMapper extends IBaseMapper<AmstruckR
 
     List<Map<String,Object>> getRequirementMaterial(Integer requirementId);
 
+    BigDecimal getMaterialId(Map<String, Object> mapValue);
+
 }

+ 81 - 4
src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java

@@ -40,7 +40,7 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
     private BigDecimal capacityTypeId;
 
     /**
-     * 货物类型ID(CARGONAME_ID,CHAR,10)
+     * 货物类型ID(CARGONAME_ID,CHAR,20)
      */
     @ApiModelProperty(value="货物类型ID",required=false)
     private BigDecimal cargonameId;
@@ -100,15 +100,15 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
     private BigDecimal deleted;
 
     /**
-     * 收货地址ID(ADDRESS_ID,DECIMAL,0)
+     * 收货地址ID(PLACE_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="收货地址ID",required=false)
     private BigDecimal placeId;
 
     /**
-     * 类型:1为销售 2为内转 3为采购水运 4为采购汽运(TYPE,DECIMAL,0)
+     * 类型:1为销售钢材 2为内转计重 3为采购水运 4为采购汽运5内转计时 6内转计数7采购内转8销售非钢材(TYPE,DECIMAL,0)
      */
-    @ApiModelProperty(value="类型:1为销售 2为内转 3为采购水运 4为采购汽运",required=false)
+    @ApiModelProperty(value="类型:1为销售钢材 2为内转计重 3为采购水运 4为采购汽运5内转计时 6内转计数7采购内转8销售非钢材",required=false)
     private BigDecimal type;
 
     /**
@@ -135,6 +135,38 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="油价变化率阈值",required=false)
     private BigDecimal oilpriceChangeThreshold;
 
+    /**
+     * 历史时间(OLD_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="历史时间",required=false)
+    private Date oldDate;
+
+    /**
+     * 运输距离(HAUL_DISTANCE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输距离",required=false)
+    private BigDecimal haulDistance;
+
+    /**
+     * 中标合同作为参考依据:1参考(REFERENCE_HT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="中标合同作为参考依据:1参考",required=false)
+    private BigDecimal referenceHt;
+
+    /**
+     * 地址为库存(INVENTORY,DECIMAL,0)
+     */
+    @ApiModelProperty(value="地址为库存",required=false)
+    private BigDecimal inventory;
+
+    /**
+     * 1:非标准单价(ISSTANDARD,DECIMAL,0)
+     */
+    @ApiModelProperty(value="1:非标准单价",required=false)
+    private BigDecimal isstandard;
+
+
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -315,6 +347,46 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         this.oilpriceChangeThreshold = oilpriceChangeThreshold;
     }
 
+    public Date getOldDate() {
+        return oldDate;
+    }
+
+    public void setOldDate(Date oldDate) {
+        this.oldDate = oldDate;
+    }
+
+    public BigDecimal getHaulDistance() {
+        return haulDistance;
+    }
+
+    public void setHaulDistance(BigDecimal haulDistance) {
+        this.haulDistance = haulDistance;
+    }
+
+    public BigDecimal getReferenceHt() {
+        return referenceHt;
+    }
+
+    public void setReferenceHt(BigDecimal referenceHt) {
+        this.referenceHt = referenceHt;
+    }
+
+    public BigDecimal getInventory() {
+        return inventory;
+    }
+
+    public void setInventory(BigDecimal inventory) {
+        this.inventory = inventory;
+    }
+
+    public BigDecimal getIsstandard() {
+        return isstandard;
+    }
+
+    public void setIsstandard(BigDecimal isstandard) {
+        this.isstandard = isstandard;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -342,6 +414,11 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         sb.append(", oilpriceBase=").append(oilpriceBase);
         sb.append(", oilTypeId=").append(oilTypeId);
         sb.append(", oilpriceChangeThreshold=").append(oilpriceChangeThreshold);
+        sb.append(", oldDate=").append(oldDate);
+        sb.append(", haulDistance=").append(haulDistance);
+        sb.append(", referenceHt=").append(referenceHt);
+        sb.append(", inventory=").append(inventory);
+        sb.append(", isstandard=").append(isstandard);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 15 - 0
src/main/java/com/steerinfo/dil/model/AmstruckRequirementMaterial.java

@@ -87,6 +87,12 @@ public class AmstruckRequirementMaterial implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="装卸货次序",required=false)
     private BigDecimal loadUnloadSequence;
 
+    /**
+     * 炉号(MATERIAL_LUNO,VARCHAR,50)
+     */
+    @ApiModelProperty(value="炉号",required=false)
+    private String materialLuno;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -203,6 +209,14 @@ public class AmstruckRequirementMaterial implements IBasePO<BigDecimal> {
         this.loadUnloadSequence = loadUnloadSequence;
     }
 
+    public String getMaterialLuno() {
+        return materialLuno;
+    }
+
+    public void setMaterialLuno(String materialLuno) {
+        this.materialLuno = materialLuno == null ? null : materialLuno.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -222,6 +236,7 @@ public class AmstruckRequirementMaterial implements IBasePO<BigDecimal> {
         sb.append(", requirementUnloadUnitId=").append(requirementUnloadUnitId);
         sb.append(", requirementPlatformId=").append(requirementPlatformId);
         sb.append(", loadUnloadSequence=").append(loadUnloadSequence);
+        sb.append(", materialLuno=").append(materialLuno);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IAmsContractTransportPriceService.java

@@ -116,4 +116,6 @@ public interface IAmsContractTransportPriceService {
     List<Map<String, Object>> getPriceValueAndPriceTonKilometer();
     // 销售汽运单价
     List<Map<String, Object>> getSaleTruckPriceList(Map<String, Object> mapValue);
+
+    int copySteelPrice(Map<String, Object> map);
 }

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

@@ -2,7 +2,6 @@ package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.AmstruckInwardRequirement;
 import com.steerinfo.framework.service.IBaseService;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -57,5 +56,12 @@ public interface IAmstruckInwardRequirementService extends IBaseService<Amstruck
     //查询纯内转需求
     List<Map<String,Object>> getRequirementMaterial(Integer requirementId);
 
+    int closeDueDate(BigDecimal requirementId);
+
+    int addBilletRequirement(Map<String, Object> mapvalue);
+
+    List<Map<String, Object>> getBilletRequirementList(Map<String, Object> mapValue);
+
+
 //    int insertInwardRequirementPlan(Map<String, Object> mapValue);
 }

+ 20 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java

@@ -97,6 +97,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
                 BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
                 BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
                 BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+                BigDecimal haulDistance = DataChange.dataToBigDecimal(mapValue.get("haulDistance"));
                 AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
                 String place = (String) mapValue.get("place");
                 if (place != null && place.length() != 0) {
@@ -137,6 +138,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
                 amsContractTransportPrice.setUpdateTime(new Date());
                 amsContractTransportPrice.setInsertUpdateRemark("无");
                 amsContractTransportPrice.setDeleted(new BigDecimal(0));
+                amsContractTransportPrice.setHaulDistance(haulDistance);
                 amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
             }
             return 1;
@@ -151,6 +153,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
             BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
             BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
             BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+            BigDecimal haulDistance = DataChange.dataToBigDecimal(mapValue.get("haulDistance"));
             AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
             String place = (String) mapValue.get("place");
             if (place != null && place.length() != 0) {
@@ -191,6 +194,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
             amsContractTransportPrice.setUpdateTime(new Date());
             amsContractTransportPrice.setInsertUpdateRemark("无");
             amsContractTransportPrice.setDeleted(new BigDecimal(0));
+            amsContractTransportPrice.setHaulDistance(haulDistance);
             return amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
         }
     }
@@ -367,4 +371,20 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
     public List<Map<String, Object>> selectPriceToUpdate(BigDecimal priceId) {
         return amsContractTransportPriceMapper.selectPriceToUpdate(priceId);
     }
+
+    @Override
+    public int copySteelPrice(Map<String, Object> map) {
+        int i ;
+        BigDecimal priceId = DataChange.dataToBigDecimal(map.get("priceId"));
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        //获取地址id
+        BigDecimal placeId = amsContractTransportPriceMapper.getPlaceId(orderId);
+        AmsContractTransportPrice amsContractTransportPrice = amsContractTransportPriceMapper.selectByPrimaryKey(priceId);
+        amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
+        amsContractTransportPrice.setPlaceId(placeId);
+        amsContractTransportPrice.setIsstandard(new BigDecimal(1));
+        amsContractTransportPrice.setInsertTime(new Date());
+        i = amsContractTransportPriceMapper.insertSelective(amsContractTransportPrice);
+        return i;
+    }
 }

+ 121 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.lang.reflect.Array;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -214,9 +215,37 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         BigDecimal oilTypeId = DataChange.dataToBigDecimal(map.get("oilTypeId"));
         //获取预执行油价
         BigDecimal newOilPrice = DataChange.dataToBigDecimal(map.get("newOilPrice"));
+        BigDecimal type = new BigDecimal(1);
         //根据油品名称ID和非历史油价筛选出符合条件的运价合集
         List<Map<String, Object>> PriceValueList = amsContractTruckPriceMapper.getPriceValueList(oilTypeId);
         for (Map<String, Object> stringObjectMap : PriceValueList) {
+            //有距离则是销售钢材
+            if (stringObjectMap.get("haulDistance")!=null) {
+                //中标价格或者收货地址(库存)则重新计算价格
+                if (stringObjectMap.get("referenceHt")!=null || stringObjectMap.get("inventory")!=null){
+                    //跳过;
+                    continue;
+                }else{
+                    //判断省市区(镇),拿到关联的中标数据
+                    Map<String, Object> zb = amsContractTruckPriceMapper.selectByPlaceId(DataChange.dataToBigDecimal(stringObjectMap.get("placeId")));
+                    BigDecimal zbDistance = DataChange.dataToBigDecimal(zb.get("haulDistance"));
+                    BigDecimal distance = DataChange.dataToBigDecimal(stringObjectMap.get("haulDistance"));
+                    if (zbDistance.intValue()!=0 && distance.intValue()!=0){
+                        BigDecimal subtract = zbDistance.subtract(distance);
+                        if (subtract.intValue()>10 || subtract.intValue()<-10){
+                            //大于正负10km重新计算价格
+                            //跳过
+                            continue;
+                        }else{
+                            //小于10km取中标价格
+                            Map<String,Object> updatePrice=new HashMap<>();
+                            updatePrice.put("priceId",DataChange.dataToBigDecimal(stringObjectMap.get("priceId")));
+                            updatePrice.put("priceValue",DataChange.dataToBigDecimal(zb.get("priceValue")));
+                            return amsContractTruckPriceMapper.updateByPriceId(updatePrice);
+                        }
+                    }
+                }
+            }
             stringObjectMap.put("priceDate",map.get("priceDate"));
             //获取该条单价的原油价基准
             BigDecimal oilpriceBase = DataChange.dataToBigDecimal(stringObjectMap.get("oilpriceBase"));
@@ -754,4 +783,96 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.updateDCnew();
     }
 
+    //@Transactional
+    //@Override
+    //public int insertInwardPriceExcel(Map<String,Object> mapValue){
+    //    int i=0;
+    //    try{
+    //        Object rowsList = mapValue.get("rowsList");
+    //        ArrayList arrayList = (ArrayList) rowsList;
+    //        //先查询在单价表之前是否有记录,有则禁用
+    //        for (Object map : arrayList) {
+    //            //查询收货地址
+    //            Map entity = (Map)map;
+    //            if (entity.get("addressDistrict")!=null){
+    //                if (entity.get("addressDistrict").toString().contains("区") || entity.get("addressDistrict").toString().contains("县")){
+    //                    entity.put("addressDistrict","重庆");
+    //                }
+    //            }
+    //            //查询收货地址
+    //            List<String> selectshdz = amsContractTruckPriceMapper.selectshdz(entity);
+    //            //录入收货地址
+    //            if (selectshdz==null) {
+    //                entity.put("addressId",amsContractTruckPriceMapper.selectMaxIdrra()+1);
+    //                amsContractTruckPriceMapper.insertshdz(entity);
+    //            }
+    //            Map<String, Object> selectxxdz=new HashMap<>();
+    //            //查询详细地址
+    //            if (selectshdz!=null && selectshdz.size()>0) {
+    //                entity.put("addressId",selectshdz);
+    //                selectxxdz = amsContractTruckPriceMapper.selectxxdz(entity);
+    //            }
+    //            if (selectxxdz!=null && selectxxdz.get("placeId")!=null) {
+    //                i = amsContractTruckPriceMapper.updateDelectByPlaceId(selectxxdz);
+    //            }
+    //                //录入详细地址
+    //            if (selectxxdz==null){
+    //                entity.put("placeId",amsContractTruckPriceMapper.selectMaxIdrrp()+1);
+    //                entity.put("addressId",DataChange.dataToBigDecimal(entity.get("addressId").toString().replace("[","").replace("]","")));
+    //                amsContractTruckPriceMapper.insertxxdz(entity);
+    //            }
+    //            //生成主键id
+    //            AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+    //            amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
+    //            amsContractTransportPrice.setInsertUsername("admin");
+    //            amsContractTransportPrice.setInsertTime(new Date());
+    //            amsContractTransportPrice.setUpdateUsername("admin");
+    //            amsContractTransportPrice.setUpdateTime(new Date());
+    //            amsContractTransportPrice.setInsertUpdateRemark("无");
+    //            amsContractTransportPrice.setDeleted(new BigDecimal(0));
+    //            SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
+    //            Date priceDate = dateformat.parse("2022-9-26");
+    //            amsContractTransportPrice.setPriceDate(priceDate);
+    //            if(selectxxdz!=null && selectxxdz.get("placeId")!=null){
+    //                amsContractTransportPrice.setPlaceId(DataChange.dataToBigDecimal(selectxxdz.get("placeId")));
+    //            }else if(entity!=null && entity.get("placeId")!=null){
+    //                amsContractTransportPrice.setPlaceId(DataChange.dataToBigDecimal(entity.get("placeId")));
+    //            }
+    //            amsContractTransportPrice.setHaulDistance(DataChange.dataToBigDecimal(entity.get("haulDistance")));
+    //            amsContractTransportPrice.setPriceValue(DataChange.dataToBigDecimal(entity.get("priceValue")));
+    //            amsContractTransportPrice.setPriceTonKilometer(DataChange.dataToBigDecimal(entity.get("priceTonKilometer")));
+    //            if (entity!=null && entity.get("carrierAbbreviation")!=null){
+    //                String cys= entity.get("carrierAbbreviation").toString();
+    //                if (cys!=null) {
+    //                    Map<String, Object> selectcys=new HashMap<>();
+    //                    if(cys.contains("/")){
+    //                        String[] cyss = cys.split("/");
+    //                        for (int j = 0; j < cyss.length; j++) {
+    //                            selectcys = amsContractTruckPriceMapper.selectcys(cyss[j]);
+    //                            if (selectcys!=null && selectcys.get("carrierId")!=null) {
+    //                                amsContractTransportPrice.setCarrierId(DataChange.dataToBigDecimal(selectcys.get("carrierId")));//承运商id
+    //                            }
+    //                        }
+    //                    }else{
+    //                        selectcys = amsContractTruckPriceMapper.selectcys(cys);
+    //                        amsContractTransportPrice.setCarrierId(DataChange.dataToBigDecimal(selectcys.get("carrierId")));//承运商id
+    //                    }
+    //                }
+    //            }
+    //            if (entity!=null && entity.get("yes")!=null) {
+    //                if (entity.get("yes").toString().equals("1")){
+    //                    //中标合同
+    //                    amsContractTransportPrice.setReferenceHt(DataChange.dataToBigDecimal(1));
+    //                }else{
+    //                    //库存
+    //                    amsContractTransportPrice.setInventory(DataChange.dataToBigDecimal(1));
+    //                }
+    //            }
+    //            i =  amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
+    //        }
+    //    }catch (Exception e){
+    //        e.printStackTrace();
+    //    }
+    //    return i;
+    //}
 }

+ 32 - 4
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.druid.support.json.JSONUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.steerinfo.dil.feign.JoinFeign;
+import com.steerinfo.dil.feign.OtmsFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
 import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.*;
@@ -93,6 +94,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Resource
     EasSaleOrderStatusUtil easSaleOrderStatusUtil;
 
+    @Autowired
+    OtmsFeign otmsFeign;
 
     @Override
     public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
@@ -659,10 +662,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     List<Map<String, Object>> carrierList = getCarrierByAddress(amsSaleOrderMaterial.getSaleShippingAddressId());
                     BigDecimal carrierCount = null;
                     if(place != null && !"null".equals(place)){
-                        carrierCount = amsSaleOrderMapper.getMoreCarrier("%" + place + "%");
+                        carrierCount = amsSaleOrderMapper.getMoreCarrier(place);
                     }
                     // 单一承运商才进行匹配
-                    if (carrierList != null && carrierList.size() == 1 && carrierCount.intValue() == 0) {
+                    if (carrierList != null && carrierList.size() == 1 && carrierList.get(0) != null  && carrierCount.intValue() == 0) {
                         List<Map<String, Object>> list = new ArrayList<>();
                         Map<String, Object> map1 = carrierList.get(0);
                         // 传入车序号主键和承运商id
@@ -817,6 +820,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public int dispatchSteelOrder(List<Map<String, Object>> mapList) throws Exception {
         Map<String, Object> stringObjectMap = mapList.get(0);
+        Integer isCheckGps = amsSaleOrderMapper.getDispachSwitch();
         Integer saleStatus = amsSaleOrderMapper.findStatus(DataChange.dataToBigDecimal(stringObjectMap.get("saleOrderMaterialId")));
         String selfMention = amsSaleOrderMapper.findSelfMention(DataChange.dataToBigDecimal(stringObjectMap.get("saleOrderMaterialId")));
         if (saleStatus == 1) {
@@ -829,8 +833,29 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             String capacityNumber = (String) map.get("capacityNumber");
             Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
             if(details!=null && details.get("orderId")!=null){
+                if(details.get("isEn")==null){
+                    throw new Exception(capacityNumber+"有未进厂的运输订单任务,无法派单");
+                }else if(details.get("isLeave")==null){
+                    throw new Exception(capacityNumber+"有未出厂的运输订单任务,无法派单");
+                }else if(details.get("isArrival")==null){
+                    throw new Exception(capacityNumber+"有未抵达的运输订单任务,无法派单");
+                }else if(details.get("isReceipt")==null){
+                    throw new Exception(capacityNumber+"有未签收的运输订单任务,无法派单");
+                }
                 throw new Exception(capacityNumber+"有未完成的运输订单任务,无法派单");
             }
+            if(isCheckGps!=null && isCheckGps==0){
+                Map<String,Object> locationResult = null;
+                try{
+                    Map<String,Object> data = (Map<String,Object>)otmsFeign.getCurrentLocation(capacityNumber).getData();
+                    locationResult = (Map<String,Object>)data.get("result");
+                }catch (Exception e){
+                  //出现任何异常不抛出,不终止程序
+                }
+                if(locationResult==null || locationResult.get("lon")==null || locationResult.get("lat")==null){
+                    throw new Exception("该车没有GPS定位信息,请联系销售公司物流部,申请是否可以派车。");
+                }
+            }
             // 得到车序号表主键
             BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
             // 得到承运商
@@ -1456,15 +1481,18 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         AmsSaleOrderMaterial amsSaleOrderMaterial = amsSaleOrderMaterialMapper.selectByPrimaryKey(saleOrderMaterialId);
         if (place != null && !("".equals(place))) {
             List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place,shippingAddressId);
-            addressid2 =(BigDecimal) placeIdList.get(0).get("placeId");
+
             if (placeIdList == null || placeIdList.size() == 0) {
                 RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
-                rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+                BigDecimal placeId = rmsReceivePlaceMapper.selectMaxId();
+                rmsReceivePlace.setPlaceId(placeId);
                 rmsReceivePlace.setAddressId(shippingAddressId);
                 rmsReceivePlace.setAddressDeliveryAddress(place);
                 amsSaleOrderMaterial.setSaleShippingAddressId(rmsReceivePlace.getPlaceId());
                 rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+                addressid2 = placeId;
             } else {
+                addressid2 =(BigDecimal) placeIdList.get(0).get("placeId");
                 amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
             }
         }

+ 64 - 3
src/main/java/com/steerinfo/dil/service/impl/AmstruckInwardPlanServiceImpl.java

@@ -1,17 +1,19 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.feign.TmsTruckFeign;
 import com.steerinfo.dil.mapper.AmstruckInwardPlanMapper;
 import com.steerinfo.dil.mapper.AmstruckRequirementPlanMapper;
+import com.steerinfo.dil.mapper.OmstruckOrderMapper;
+import com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper;
 import com.steerinfo.dil.model.AmstruckInwardPlan;
-import com.steerinfo.dil.model.AmstruckInwardRequirement;
 import com.steerinfo.dil.model.AmstruckRequirementPlan;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.model.OmstruckOrderMaterial;
 import com.steerinfo.dil.service.IAmstruckInwardPlanService;
 import com.steerinfo.dil.service.IAmstruckInwardRequirementService;
-import com.steerinfo.dil.service.IAmstruckRequirementPlanService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -19,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -49,6 +52,15 @@ public class AmstruckInwardPlanServiceImpl extends BaseServiceImpl<AmstruckInwar
         return amstruckInwardPlanMapper;
     }
 
+    @Autowired
+    TmsTruckFeign tmsTruckFeign;
+
+    @Autowired
+    OmstruckOrderMapper omstruckOrderMapper;
+
+    @Autowired
+    OmstruckOrderMaterialMapper omstruckOrderMaterialMapper;
+
     @Transactional
     @Override
     public int insert(Map<String,Object> mapValue) {
@@ -66,6 +78,12 @@ public class AmstruckInwardPlanServiceImpl extends BaseServiceImpl<AmstruckInwar
         amstruckInwardPlan.setPlanNumber(DataChange.generateEightDigitsNumber("YSJH",planId.intValue()));
         //设置计划状态为未下发
         amstruckInwardPlan.setPlanStatus(new BigDecimal(0));
+        if(mapValue.get("addBilletRequirement") != null) {
+            amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
+            mapValue.put("planId",planId);
+            addBilletOrder(mapValue);
+        }
+        // 设置常规字段
         // 设置常规字段
         amstruckInwardPlan.setInsertTime(new Date());
         amstruckInwardPlan.setInsertUsername("admin");
@@ -88,6 +106,49 @@ public class AmstruckInwardPlanServiceImpl extends BaseServiceImpl<AmstruckInwar
         return i;
     }
 
+    public int addBilletOrder(Map<String,Object> mapValue) {
+        int result = 0;
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("capacityList");
+        BigDecimal planId = DataChange.dataToBigDecimal(mapValue.get("planId")) ;
+        String orgCode =(String) mapValue.get("orgCode");
+        Integer carrierId = (Integer) mapValue.get("carrierId");
+        for (Map<String,Object> orderMap : mapList) {
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            BigDecimal capacityId = DataChange.dataToBigDecimal(orderMap.get("capacityId"));
+            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+            // 添加总实绩
+            Map<String,Object> orderIdMap = new HashMap<>();
+            orderIdMap.put("orderId",orderId);
+            tmsTruckFeign.addTotalResult(orderIdMap);
+            omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setOrderPlanId(planId);
+            String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue());
+            omstruckOrder.setOrderNumber(orderNumber);
+            omstruckOrder.setOrderIssueTime(new Date());
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            omstruckOrder.setOptionerCode(orgCode);
+            omstruckOrder.setCapacityId(capacityId);
+            omstruckOrder.setInsertTime(new Date());
+            omstruckOrder.setUpdateTime(new Date());
+            omstruckOrder.setInsertUpdateRemark("无");
+            omstruckOrder.setDeleted(new BigDecimal(0));
+            omstruckOrder.setOrderType(new BigDecimal(11));
+            omstruckOrder.setCarrierId(new BigDecimal(carrierId));
+            result +=omstruckOrderMapper.insertSelective(omstruckOrder);
+            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+            BigDecimal materialId = DataChange.dataToBigDecimal(mapValue.get("materialId"));
+            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+            omstruckOrderMaterial.setOrderId(orderId);
+            omstruckOrderMaterial.setMaterialId(materialId);
+            omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(mapValue.get("count")));
+            omstruckOrderMaterial.setInsertTime(new Date());
+            omstruckOrderMaterial.setUpdateTime(new Date());
+            result +=omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+        }
+        return result;
+    }
+
 
     @Override
     public List<Map<String, Object>> getTruckPlanList(Map<String, Object> mapValue) {

+ 101 - 14
src/main/java/com/steerinfo/dil/service/impl/AmstruckInwardRequirementServiceImpl.java

@@ -1,13 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
-import com.steerinfo.dil.mapper.AmstruckInwardPlanMapper;
-import com.steerinfo.dil.mapper.AmstruckInwardRequirementMapper;
-import com.steerinfo.dil.mapper.AmstruckRequirementMaterialMapper;
-import com.steerinfo.dil.mapper.AmstruckRequirementPlanMapper;
-import com.steerinfo.dil.model.AmstruckInwardPlan;
-import com.steerinfo.dil.model.AmstruckInwardRequirement;
-import com.steerinfo.dil.model.AmstruckRequirementMaterial;
-import com.steerinfo.dil.model.AmstruckRequirementPlan;
+import com.steerinfo.dil.mapper.*;
+import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IAmstruckInwardRequirementService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.framework.mapper.IBaseMapper;
@@ -50,6 +44,12 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
     @Autowired
     AmsContractTruckPriceServiceImpl amsContractTruckPriceService;
 
+    @Autowired
+    AmstruckInwardPlanServiceImpl amstruckInwardPlanService;
+
+    @Autowired
+    RmsMaterialMapper rmsMaterialMapper;
+
     @Override
     protected IBaseMapper<AmstruckInwardRequirement, BigDecimal> getMapper() {
         return amstruckInwardRequirementMapper;
@@ -75,7 +75,6 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
        //取出装机需求
         String loadingRemark = (String) mapValue.get("installremark");
         Long dueTime =(Long) mapValue.get("DueTime");
-
         AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement();
         //设置主键
         BigDecimal requirementId = amstruckInwardRequirementMapper.selectOtherId();
@@ -156,15 +155,88 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
             amstruckRequirementMaterial.setInsertUsername("admin");
             amstruckRequirementMaterial.setInsertUpdateRemark(InsertUpdateRemark);
             result += amstruckRequirementMaterialMapper.insertSelective(amstruckRequirementMaterial);
-            //if(mapValue.get("rangeId") != null){
-            //    //承运起止范围
-            //    requireMaterialMap.put("rangeId",mapValue.get("rangeId"));
-            //    amsContractTruckPriceService.insertLineNodePoint(requireMaterialMap);
-            //}
         }
         return result;
     }
 
+    //新增钢坯车辆用车需求
+    @Override
+    @Transactional
+    public int addBilletRequirement(Map<String, Object> mapValue) {
+        String requirementType = (String) mapValue.get("requirementType");
+        Integer requirementShipperId = (Integer) mapValue.get("requirementShipperId");
+        //提取车型
+        String InsertUpdateRemark = (String) mapValue.get("remark");
+        //取出装机需求
+        AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement();
+        //设置主键
+        BigDecimal requirementId = amstruckInwardRequirementMapper.selectOtherId();
+        amstruckInwardRequirement.setRequirementId(requirementId);
+        amstruckInwardRequirement.setRequirementNumber(DataChange.generateEightDigitsNumber("YSXQ",amstruckInwardRequirementMapper.selectOtherId().intValue()));
+        amstruckInwardRequirement.setRequirementStatus(new BigDecimal(2));
+        amstruckInwardRequirement.setRequirementType(requirementType);
+        //用车单位
+        amstruckInwardRequirement.setRequirementShipperId(new BigDecimal(requirementShipperId));
+        //判断截止日期是否为空
+        // 设置常规字段
+        amstruckInwardRequirement.setInsertTime(new Date());
+        amstruckInwardRequirement.setInsertUsername((String) mapValue.get("orgCode"));
+        amstruckInwardRequirement.setInsertUpdateRemark(InsertUpdateRemark);
+        amstruckInwardRequirement.setInsertUpdateRemark("内转钢坯专用");
+        amstruckInwardRequirement.setDeleted(new BigDecimal(0));
+        amstruckInwardRequirement.setLineId(new BigDecimal(1));
+        int result = 0;
+        result += amstruckInwardRequirementMapper.insertSelective(amstruckInwardRequirement);
+        // 物资中间表
+        BigDecimal materialId = amstruckRequirementMaterialMapper.getMaterialId(mapValue);
+        if (materialId == null){
+            RmsMaterial rmsMaterial = new RmsMaterial();
+            materialId = rmsMaterialMapper.getMaterialId();
+            rmsMaterial.setMaterialId(materialId);
+            rmsMaterial.setMaterialName("钢坯");
+            rmsMaterial.setMaterialSpecification((String)mapValue.get("type"));
+            rmsMaterial.setMaterialModel((String)mapValue.get("model"));
+            rmsMaterialMapper.insertSelective(rmsMaterial);
+        }
+        AmstruckRequirementMaterial amstruckRequirementMaterial = new AmstruckRequirementMaterial();
+        BigDecimal materialNumber = DataChange.dataToBigDecimal(mapValue.get("count"));
+        BigDecimal requirementPlatformId = DataChange.dataToBigDecimal(mapValue.get("requirementPlatformId"));
+        BigDecimal requirementUnloadUnitId = DataChange.dataToBigDecimal(mapValue.get("requirementUnloadUnitId"));
+        String luNo =  mapValue.get("heatNo").toString();
+        amstruckRequirementMaterial.setRequirementMaterialId(amstruckRequirementMaterialMapper.selectRequirementMaterialId());
+        amstruckRequirementMaterial.setMaterialLuno(luNo);
+        amstruckRequirementMaterial.setRequirementId(requirementId);
+        if (materialNumber.intValue() != 0)
+                amstruckRequirementMaterial.setMaterialCount(materialNumber);
+        if (requirementPlatformId.intValue() !=0){
+                amstruckRequirementMaterial.setRequirementPlatformId(requirementPlatformId);
+            }
+        if (requirementUnloadUnitId.intValue() !=0){
+                amstruckRequirementMaterial.setRequirementUnloadUnitId(requirementUnloadUnitId);
+            }
+        amstruckRequirementMaterial.setMaterialId(materialId);
+        amstruckRequirementMaterial.setInsertTime(new Date());
+        amstruckRequirementMaterial.setInsertUsername("admin");
+        amstruckRequirementMaterial.setInsertUpdateRemark(InsertUpdateRemark);
+        result += amstruckRequirementMaterialMapper.insertSelective(amstruckRequirementMaterial);
+        //制定计划
+        Map<String, Object> planMap = new HashMap<>();
+        planMap.put("carrierId",5848);
+        planMap.put("requirementId",requirementId);
+        planMap.put("addBilletRequirement",1);
+        planMap.put("materialId",materialId);
+        planMap.putAll(mapValue);
+        result =+ amstruckInwardPlanService.insert(planMap);
+        //分解计划-车牌号,物资
+
+        return result;
+    }
+
+    @Override
+    public List<Map<String, Object>> getBilletRequirementList(Map<String, Object> mapValue) {
+        return amstruckInwardRequirementMapper.getBilletRequirementList(mapValue);
+    }
+
     /**
      * 查询用车需求
      * @param mapValue
@@ -385,6 +457,21 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
         return amstruckRequirementMaterialMapper.getRequirementMaterial(requirementId);
     }
 
+    @Override
+    public int closeDueDate(BigDecimal requirementId) {
+        int i = 0 ;
+        //根据需求id将截止日期定位现在
+        AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement();
+        amstruckInwardRequirement.setRequirementId(requirementId);
+        amstruckInwardRequirement.setDueDate(new Date());
+        i += amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
+        //关闭需求下待接收的运单
+        i += amstruckInwardRequirementMapper.closeOrderByRequirementId(requirementId);
+        return i;
+    }
+
+
+
     public int insertInwardRequirementPlan(Map<String, Object> mapValue) {
         AmstruckInwardPlan amstruckInwardPlan = new AmstruckInwardPlan();
         BigDecimal planId = amstruckInwardPlanMapper.selectOtherId();

+ 5 - 4
src/main/java/com/steerinfo/dil/service/impl/ScheduledTasks.java

@@ -4,12 +4,9 @@ import com.steerinfo.dil.service.IAmsContractTruckPriceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.scheduling.TaskScheduler;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
 import org.springframework.stereotype.Component;
 
-import java.time.LocalDateTime;
-
 /***文档注释***********************************************
  * 作者            :hjh
  * 创建日期     :2022/9/23 14:37
@@ -34,7 +31,11 @@ public class ScheduledTasks {
         return taskScheduler;
     }
 
-    @Scheduled(cron = "0 0 0 26 9 ?")
+//<<<<<<< HEAD
+//    //@Scheduled(cron = "0 0 0 26 9 ? 2022-2022")
+//=======
+//    @Scheduled(cron = "0 0 0 26 9 ?")
+//>>>>>>> 9a0f6c590dbfacfea3d93a9d0823bd0cfebc4ad6
     public void updateDCPrice() {
         //修改吊车价格为最新运价
         amsContractTruckPriceService.updateDCodd();

+ 2 - 1
src/main/resources/application-prod.yml

@@ -20,7 +20,8 @@ openfeign:
       url: ${IMFEIGN_URL:172.16.33.166:8055}
    JoinFeign:
      url: ${JOINFEIGN_URL:172.16.33.166:8066}
-
+   OTMSFeign:
+     url: ${OTMSFEIGN_URL:172.16.33.166:8038}
  #正式环境端口
 
 server:

+ 150 - 13
src/main/resources/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.xml

@@ -23,18 +23,24 @@
         <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
         <result column="OIL_TYPE_ID" jdbcType="DECIMAL" property="oilTypeId" />
         <result column="OILPRICE_CHANGE_THRESHOLD" jdbcType="DECIMAL" property="oilpriceChangeThreshold" />
+        <result column="OLD_DATE" jdbcType="TIMESTAMP" property="oldDate" />
+        <result column="HAUL_DISTANCE" jdbcType="DECIMAL" property="haulDistance" />
+        <result column="REFERENCE_HT" jdbcType="DECIMAL" property="referenceHt" />
+        <result column="INVENTORY" jdbcType="DECIMAL" property="inventory" />
+        <result column="ISSTANDARD" jdbcType="DECIMAL" property="isstandard" />
     </resultMap>
     <sql id="columns">
         PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID, PRICE_TON_KILOMETER, 
     PRICE_VALUE, PRICE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
-    INSERT_UPDATE_REMARK, DELETED, PLACE_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
-    OILPRICE_CHANGE_THRESHOLD
+    INSERT_UPDATE_REMARK, DELETED, PLACE_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID, 
+    OILPRICE_CHANGE_THRESHOLD, OLD_DATE, HAUL_DISTANCE, REFERENCE_HT, INVENTORY, ISSTANDARD
     </sql>
     <sql id="columns_alias">
         t.PRICE_ID, t.SHIPPER_ID, t.CARRIER_ID, t.LINE_ID, t.CAPACITY_TYPE_ID, t.CARGONAME_ID, 
     t.PRICE_TON_KILOMETER, t.PRICE_VALUE, t.PRICE_DATE, t.INSERT_USERNAME, t.INSERT_TIME, 
-    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.PLACE_ID,
-    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.PLACE_ID, 
+    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD, 
+    t.OLD_DATE, t.HAUL_DISTANCE, t.REFERENCE_HT, t.INVENTORY, t.ISSTANDARD
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM AMS_CONTRACT_TRANSPORT_PRICE
@@ -107,6 +113,21 @@
             <if test="oilpriceChangeThreshold != null">
                 and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
             </if>
+            <if test="oldDate != null">
+                and TO_CHAR(OLD_DATE,'yyyy-MM-dd') = #{oldDate}
+            </if>
+            <if test="haulDistance != null">
+                and HAUL_DISTANCE = #{haulDistance}
+            </if>
+            <if test="referenceHt != null">
+                and REFERENCE_HT = #{referenceHt}
+            </if>
+            <if test="inventory != null">
+                and INVENTORY = #{inventory}
+            </if>
+            <if test="isstandard != null">
+                and ISSTANDARD = #{isstandard}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -174,9 +195,24 @@
             <if test="oilpriceChangeThreshold != null">
                 and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
             </if>
+            <if test="oldDate != null">
+                and TO_CHAR(OLD_DATE,'yyyy-MM-dd') = #{oldDate}
+            </if>
+            <if test="haulDistance != null">
+                and HAUL_DISTANCE = #{haulDistance}
+            </if>
+            <if test="referenceHt != null">
+                and REFERENCE_HT = #{referenceHt}
+            </if>
+            <if test="inventory != null">
+                and INVENTORY = #{inventory}
+            </if>
+            <if test="isstandard != null">
+                and ISSTANDARD = #{isstandard}
+            </if>
         </where>
     </sql>
-    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
         delete from AMS_CONTRACT_TRANSPORT_PRICE
         where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     </delete>
@@ -243,6 +279,21 @@
         <if test="oilpriceChangeThreshold != null">
             or OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
         </if>
+        <if test="oldDate != null">
+            or TO_CHAR(OLD_DATE,'yyyy-MM-dd') = '#{oldDate}'
+        </if>
+        <if test="haulDistance != null">
+            or HAUL_DISTANCE = #{haulDistance}
+        </if>
+        <if test="referenceHt != null">
+            or REFERENCE_HT = #{referenceHt}
+        </if>
+        <if test="inventory != null">
+            or INVENTORY = #{inventory}
+        </if>
+        <if test="isstandard != null">
+            or ISSTANDARD = #{isstandard}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
         insert into AMS_CONTRACT_TRANSPORT_PRICE (PRICE_ID, SHIPPER_ID, CARRIER_ID,
@@ -251,16 +302,18 @@
                                                   INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                                   UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
                                                   PLACE_ID, TYPE, DEPARTMENT,
-                                                  OILPRICE_BASE, OIL_TYPE_ID, OILPRICE_CHANGE_THRESHOLD
-        )
+                                                  OILPRICE_BASE, OIL_TYPE_ID, OILPRICE_CHANGE_THRESHOLD,
+                                                  OLD_DATE, HAUL_DISTANCE, REFERENCE_HT,
+                                                  INVENTORY, ISSTANDARD)
         values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
                 #{lineId,jdbcType=DECIMAL}, #{capacityTypeId,jdbcType=DECIMAL}, #{cargonameId,jdbcType=CHAR},
                 #{priceTonKilometer,jdbcType=DECIMAL}, #{priceValue,jdbcType=DECIMAL}, #{priceDate,jdbcType=TIMESTAMP},
                 #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
                 #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
                 #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
-                #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
-               )
+                #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+                #{oldDate,jdbcType=TIMESTAMP}, #{haulDistance,jdbcType=DECIMAL}, #{referenceHt,jdbcType=DECIMAL},
+                #{inventory,jdbcType=DECIMAL}, #{isstandard,jdbcType=DECIMAL})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
         insert into AMS_CONTRACT_TRANSPORT_PRICE
@@ -328,6 +381,21 @@
             <if test="oilpriceChangeThreshold != null">
                 OILPRICE_CHANGE_THRESHOLD,
             </if>
+            <if test="oldDate != null">
+                OLD_DATE,
+            </if>
+            <if test="haulDistance != null">
+                HAUL_DISTANCE,
+            </if>
+            <if test="referenceHt != null">
+                REFERENCE_HT,
+            </if>
+            <if test="inventory != null">
+                INVENTORY,
+            </if>
+            <if test="isstandard != null">
+                ISSTANDARD,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="priceId != null">
@@ -393,6 +461,21 @@
             <if test="oilpriceChangeThreshold != null">
                 #{oilpriceChangeThreshold,jdbcType=DECIMAL},
             </if>
+            <if test="oldDate != null">
+                #{oldDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="haulDistance != null">
+                #{haulDistance,jdbcType=DECIMAL},
+            </if>
+            <if test="referenceHt != null">
+                #{referenceHt,jdbcType=DECIMAL},
+            </if>
+            <if test="inventory != null">
+                #{inventory,jdbcType=DECIMAL},
+            </if>
+            <if test="isstandard != null">
+                #{isstandard,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -416,7 +499,12 @@
             DEPARTMENT = #{department,jdbcType=DECIMAL},
             OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
             OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
-            OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL}
+            OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+            OLD_DATE = #{oldDate,jdbcType=TIMESTAMP},
+            HAUL_DISTANCE = #{haulDistance,jdbcType=DECIMAL},
+            REFERENCE_HT = #{referenceHt,jdbcType=DECIMAL},
+            INVENTORY = #{inventory,jdbcType=DECIMAL},
+            ISSTANDARD = #{isstandard,jdbcType=DECIMAL}
         where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -482,10 +570,25 @@
             <if test="oilpriceChangeThreshold != null">
                 OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
             </if>
+            <if test="oldDate != null">
+                OLD_DATE = #{oldDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="haulDistance != null">
+                HAUL_DISTANCE = #{haulDistance,jdbcType=DECIMAL},
+            </if>
+            <if test="referenceHt != null">
+                REFERENCE_HT = #{referenceHt,jdbcType=DECIMAL},
+            </if>
+            <if test="inventory != null">
+                INVENTORY = #{inventory,jdbcType=DECIMAL},
+            </if>
+            <if test="isstandard != null">
+                ISSTANDARD = #{isstandard,jdbcType=DECIMAL},
+            </if>
         </set>
         where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     </update>
-    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
         <include refid="select" />
         where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     </select>
@@ -507,7 +610,9 @@
         UPDATE_TIME, INSERT_UPDATE_REMARK,
         DELETED, PLACE_ID, TYPE,
         DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
-        OILPRICE_CHANGE_THRESHOLD)
+        OILPRICE_CHANGE_THRESHOLD, OLD_DATE,
+        HAUL_DISTANCE, REFERENCE_HT, INVENTORY,
+        ISSTANDARD)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.priceId,jdbcType=DECIMAL},
@@ -518,7 +623,9 @@
         #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
         #{item.deleted,jdbcType=DECIMAL}, #{item.placeId,jdbcType=DECIMAL}, #{item.type,jdbcType=DECIMAL},
         #{item.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
-        #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
+        #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}, #{item.oldDate,jdbcType=TIMESTAMP},
+        #{item.haulDistance,jdbcType=DECIMAL}, #{item.referenceHt,jdbcType=DECIMAL}, #{item.inventory,jdbcType=DECIMAL},
+        #{item.isstandard,jdbcType=DECIMAL} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -608,6 +715,26 @@
         <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
             when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}
         </foreach>
+        ,OLD_DATE=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.oldDate,jdbcType=TIMESTAMP}
+        </foreach>
+        ,HAUL_DISTANCE=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.haulDistance,jdbcType=DECIMAL}
+        </foreach>
+        ,REFERENCE_HT=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.referenceHt,jdbcType=DECIMAL}
+        </foreach>
+        ,INVENTORY=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.inventory,jdbcType=DECIMAL}
+        </foreach>
+        ,ISSTANDARD=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.isstandard,jdbcType=DECIMAL}
+        </foreach>
         where PRICE_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.priceId,jdbcType=DECIMAL}
@@ -622,6 +749,10 @@
     </delete>
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
     <select id="selectMaxId" resultType="DECIMAL">
         SELECT MAX(PRICE_ID) + 1
@@ -862,4 +993,10 @@
                a_t_price.PRICE_TON_KILOMETER "priceTonKilometer"
         from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
     </select>
+    <select id="getPlaceId" resultType="java.math.BigDecimal" parameterType="decimal">
+        SELECT ASOM.SALE_SHIPPING_ADDRESS_ID FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
 </mapper>

+ 199 - 44
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -23,18 +23,23 @@
     <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
     <result column="OIL_TYPE_ID" jdbcType="DECIMAL" property="oilTypeId" />
     <result column="OILPRICE_CHANGE_THRESHOLD" jdbcType="DECIMAL" property="oilpriceChangeThreshold" />
+    <result column="OLD_DATE" jdbcType="TIMESTAMP" property="oldDate" />
+    <result column="HAUL_DISTANCE" jdbcType="DECIMAL" property="haulDistance" />
+    <result column="REFERENCE_HT" jdbcType="DECIMAL" property="referenceHt" />
+    <result column="INVENTORY" jdbcType="DECIMAL" property="inventory" />
   </resultMap>
   <sql id="columns">
     PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID, PRICE_TON_KILOMETER,
     PRICE_VALUE, PRICE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
     INSERT_UPDATE_REMARK, DELETED, PLACE_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
-    OILPRICE_CHANGE_THRESHOLD
+    OILPRICE_CHANGE_THRESHOLD, OLD_DATE, HAUL_DISTANCE, REFERENCE_HT, INVENTORY
   </sql>
   <sql id="columns_alias">
     t.PRICE_ID, t.SHIPPER_ID, t.CARRIER_ID, t.LINE_ID, t.CAPACITY_TYPE_ID, t.CARGONAME_ID,
     t.PRICE_TON_KILOMETER, t.PRICE_VALUE, t.PRICE_DATE, t.INSERT_USERNAME, t.INSERT_TIME,
     t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.PLACE_ID,
-    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD
+    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD,
+    t.OLD_DATE, t.HAUL_DISTANCE, t.REFERENCE_HT, t.INVENTORY
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_CONTRACT_TRANSPORT_PRICE
@@ -107,6 +112,18 @@
       <if test="oilpriceChangeThreshold != null">
         and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
       </if>
+      <if test="oldDate != null">
+        and TO_CHAR(OLD_DATE,'yyyy-MM-dd') = #{oldDate}
+      </if>
+      <if test="haulDistance != null">
+        and HAUL_DISTANCE = #{haulDistance}
+      </if>
+      <if test="referenceHt != null">
+        and REFERENCE_HT = #{referenceHt}
+      </if>
+      <if test="inventory != null">
+        and INVENTORY = #{inventory}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -174,6 +191,18 @@
       <if test="oilpriceChangeThreshold != null">
         and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
       </if>
+      <if test="oldDate != null">
+        and TO_CHAR(OLD_DATE,'yyyy-MM-dd') = #{oldDate}
+      </if>
+      <if test="haulDistance != null">
+        and HAUL_DISTANCE = #{haulDistance}
+      </if>
+      <if test="referenceHt != null">
+        and REFERENCE_HT = #{referenceHt}
+      </if>
+      <if test="inventory != null">
+        and INVENTORY = #{inventory}
+      </if>
     </where>
   </sql>
   <sql id="whereLikeForeach">
@@ -247,7 +276,7 @@
       </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from AMS_CONTRACT_TRANSPORT_PRICE
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </delete>
@@ -314,24 +343,30 @@
     <if test="oilpriceChangeThreshold != null">
       or OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
     </if>
+    <if test="oldDate != null">
+      or TO_CHAR(OLD_DATE,'yyyy-MM-dd') = '#{oldDate}'
+    </if>
+    <if test="haulDistance != null">
+      or HAUL_DISTANCE = #{haulDistance}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     insert into AMS_CONTRACT_TRANSPORT_PRICE (PRICE_ID, SHIPPER_ID, CARRIER_ID,
-                                              LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID,
-                                              PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
-                                              INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
-                                              UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
-                                              PLACE_ID, TYPE, DEPARTMENT,
-                                              OILPRICE_BASE, OIL_TYPE_ID, OILPRICE_CHANGE_THRESHOLD
-    )
+    LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID,
+    PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
+    PLACE_ID, TYPE, DEPARTMENT,
+    OILPRICE_BASE, OIL_TYPE_ID, OILPRICE_CHANGE_THRESHOLD,
+    OLD_DATE, HAUL_DISTANCE)
     values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
-            #{lineId,jdbcType=DECIMAL}, #{capacityTypeId,jdbcType=DECIMAL}, #{cargonameId,jdbcType=DECIMAL},
-            #{priceTonKilometer,jdbcType=DECIMAL}, #{priceValue,jdbcType=DECIMAL}, #{priceDate,jdbcType=TIMESTAMP},
-            #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
-            #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
-            #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
-            #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
-           )
+    #{lineId,jdbcType=DECIMAL}, #{capacityTypeId,jdbcType=DECIMAL}, #{cargonameId,jdbcType=CHAR},
+    #{priceTonKilometer,jdbcType=DECIMAL}, #{priceValue,jdbcType=DECIMAL}, #{priceDate,jdbcType=TIMESTAMP},
+    #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+    #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
+    #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
+    #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+    #{oldDate,jdbcType=TIMESTAMP}, #{haulDistance,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     insert into AMS_CONTRACT_TRANSPORT_PRICE
@@ -399,6 +434,12 @@
       <if test="oilpriceChangeThreshold != null">
         OILPRICE_CHANGE_THRESHOLD,
       </if>
+      <if test="oldDate != null">
+        OLD_DATE,
+      </if>
+      <if test="haulDistance != null">
+        HAUL_DISTANCE,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="priceId != null">
@@ -417,7 +458,7 @@
         #{capacityTypeId,jdbcType=DECIMAL},
       </if>
       <if test="cargonameId != null">
-        #{cargonameId,jdbcType=DECIMAL},
+        #{cargonameId,jdbcType=CHAR},
       </if>
       <if test="priceTonKilometer != null">
         #{priceTonKilometer,jdbcType=DECIMAL},
@@ -464,30 +505,38 @@
       <if test="oilpriceChangeThreshold != null">
         #{oilpriceChangeThreshold,jdbcType=DECIMAL},
       </if>
+      <if test="oldDate != null">
+        #{oldDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="haulDistance != null">
+        #{haulDistance,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     update AMS_CONTRACT_TRANSPORT_PRICE
     set SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
-        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
-        LINE_ID = #{lineId,jdbcType=DECIMAL},
-        CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
-        CARGONAME_ID = #{cargonameId,jdbcType=DECIMAL},
-        PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
-        PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
-        PRICE_DATE = #{priceDate,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},
-        DELETED = #{deleted,jdbcType=DECIMAL},
-        PLACE_ID = #{placeId,jdbcType=DECIMAL},
-        TYPE = #{type,jdbcType=DECIMAL},
-        DEPARTMENT = #{department,jdbcType=DECIMAL},
-        OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
-        OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
-        OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL}
+    CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+    LINE_ID = #{lineId,jdbcType=DECIMAL},
+    CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
+    CARGONAME_ID = #{cargonameId,jdbcType=CHAR},
+    PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
+    PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
+    PRICE_DATE = #{priceDate,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},
+    DELETED = #{deleted,jdbcType=DECIMAL},
+    PLACE_ID = #{placeId,jdbcType=DECIMAL},
+    TYPE = #{type,jdbcType=DECIMAL},
+    DEPARTMENT = #{department,jdbcType=DECIMAL},
+    OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
+    OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
+    OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+    OLD_DATE = #{oldDate,jdbcType=TIMESTAMP},
+    HAUL_DISTANCE = #{haulDistance,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -506,7 +555,7 @@
         CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
       </if>
       <if test="cargonameId != null">
-        CARGONAME_ID = #{cargonameId,jdbcType=DECIMAL},
+        CARGONAME_ID = #{cargonameId,jdbcType=CHAR},
       </if>
       <if test="priceTonKilometer != null">
         PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
@@ -553,10 +602,16 @@
       <if test="oilpriceChangeThreshold != null">
         OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
       </if>
+      <if test="oldDate != null">
+        OLD_DATE = #{oldDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="haulDistance != null">
+        HAUL_DISTANCE = #{haulDistance,jdbcType=DECIMAL},
+      </if>
     </set>
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
     <include refid="select" />
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </select>
@@ -578,18 +633,20 @@
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     DELETED, PLACE_ID, TYPE,
     DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
-    OILPRICE_CHANGE_THRESHOLD)
+    OILPRICE_CHANGE_THRESHOLD, OLD_DATE,
+    HAUL_DISTANCE)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.priceId,jdbcType=DECIMAL},
     #{item.shipperId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.lineId,jdbcType=DECIMAL},
-    #{item.capacityTypeId,jdbcType=DECIMAL}, #{item.cargonameId,jdbcType=DECIMAL}, #{item.priceTonKilometer,jdbcType=DECIMAL},
+    #{item.capacityTypeId,jdbcType=DECIMAL}, #{item.cargonameId,jdbcType=CHAR}, #{item.priceTonKilometer,jdbcType=DECIMAL},
     #{item.priceValue,jdbcType=DECIMAL}, #{item.priceDate,jdbcType=TIMESTAMP}, #{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.placeId,jdbcType=DECIMAL}, #{item.type,jdbcType=DECIMAL},
     #{item.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
-    #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
+    #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}, #{item.oldDate,jdbcType=TIMESTAMP},
+    #{item.haulDistance,jdbcType=DECIMAL} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -617,7 +674,7 @@
     </foreach>
     ,CARGONAME_ID=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
-      when #{item.priceId,jdbcType=DECIMAL} then #{item.cargonameId,jdbcType=DECIMAL}
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.cargonameId,jdbcType=CHAR}
     </foreach>
     ,PRICE_TON_KILOMETER=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
@@ -679,6 +736,14 @@
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
       when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}
     </foreach>
+    ,OLD_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.oldDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,HAUL_DISTANCE=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.haulDistance,jdbcType=DECIMAL}
+    </foreach>
     where PRICE_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.priceId,jdbcType=DECIMAL}
@@ -731,6 +796,7 @@
 --     and a_t_price.TYPE = 1 and a_t_price.DEPARTMENT = 2
     <where>
         TYPE=1
+        and a_t_price.ISSTANDARD is null
         <if test="deleted != null">
           and a_t_price.DELETED = #{deleted}
         </if>
@@ -861,6 +927,7 @@
     RRA.ADDRESS_TOWN "town",
     RRP.ADDRESS_DELIVERY_ADDRESS "address1",
     RRA.ADDRESS_PROVINCE ||RRA.ADDRESS_DISTRICT|| RRA.ADDRESS_TOWN||RRP.ADDRESS_DELIVERY_ADDRESS "address",
+    RRP.PLACE_ID "placeId",
     ACTP.PRICE_VALUE "pricevalue",
     ACTP.PRICE_ID  "priceid"
     FROM RMS_RECEIVE_ADDRESS RRA
@@ -868,6 +935,8 @@
     ON RRP.ADDRESS_ID=RRA.ADDRESS_ID
     LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ACTP
     ON ACTP.PLACE_ID=RRP.PLACE_ID
+    WHERE ACTP.DELETED = 0
+    and ACTP.ISSTANDARD IS NULL
     ) RRRA
     <if test="con != null" >
       WHERE RRRA."address" LIKE #{con}
@@ -910,9 +979,13 @@
            a_t_price.OILPRICE_BASE "oilpriceBase",
            a_t_price.OILPRICE_CHANGE_THRESHOLD "oilpriceChangeThreshold",
            a_t_price.CARGONAME_ID "cargonameId",
-           a_t_price.haul_distance "haulDistance"
+           a_t_price.haul_distance "haulDistance",
+           a_t_price.REFERENCE_HT "referenceHt",
+           a_t_price.inventory "inventory",
+           a_t_price.place_id "placeId"
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
     where a_t_price.OIL_TYPE_ID = #{oilTypeId} and a_t_price.DELETED = 0
+    order by reference_ht desc
   </select>
 
   <select id="getPriceValueAndPriceTonKilometer" resultType="java.util.LinkedHashMap">
@@ -1101,4 +1174,86 @@
   <update id="updateDCnew">
    update AMS_CONTRACT_TRANSPORT_PRICE set deleted =0 where capacity_type_id in (20,21,22,23,24,25,26,27,28,41,42,40) and price_date  = to_date('2022-09-26', 'yyyy-mm-dd');
   </update>
+
+  <select id="selectByPlaceId" resultType="java.util.Map">
+       select price_id "priceId",
+        haul_distance "haulDistance",
+        reference_ht "referenceHt",
+        price_value "priceValue"
+        from  AMS_CONTRACT_TRANSPORT_PRICE
+       where place_id in (select place_id from RMS_RECEIVE_PLACE t where address_id =
+       (select address_id from RMS_RECEIVE_PLACE t where place_id=#{placeId} )) and reference_ht is not null
+  </select>
+
+  <update id="updateByPriceId" parameterType="map">
+    update AMS_CONTRACT_TRANSPORT_PRICE set price_value=#{priceValue} where price_id=#{priceId}
+  </update>
+
+  <update id="updateDelectByPlaceId" parameterType="map">
+    update AMS_CONTRACT_TRANSPORT_PRICE set deleted =1 where place_id =#{placeId}
+  </update>
+
+  <select id="selectshdz" resultType="java.lang.String">
+    select t.address_id "addressId" from RMS_RECEIVE_ADDRESS t where address_province =#{addressProvince} and address_district =#{addressDistrict}
+    <if test="addressTown!=null">
+      and address_town =#{addressTown}
+    </if>
+    <if test="addressTown==null">
+      and address_town is null
+    </if>
+  </select>
+
+  <select id="selectxxdz" resultType="java.util.Map">
+    select t.place_id "placeId" from RMS_RECEIVE_PLACE t
+    where
+    <if test="addressDeliveryAddress!=null">
+      t.address_delivery_address =#{addressDeliveryAddress}
+    </if>
+    <if test="addressDeliveryAddress!=null and addressId!=null">
+       and
+    </if>
+    <if test="addressId!=null ">
+      t.address_id  in
+      <foreach collection="addressId" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+    </if>
+    fetch next 1 rows only
+  </select>
+
+  <insert id="insertxxdz" parameterType="map">
+    insert into RMS_RECEIVE_PLACE (PLACE_ID, ADDRESS_ID
+    <if test="addressDeliveryAddress!=null">
+      , ADDRESS_DELIVERY_ADDRESS
+    </if>)
+    values (#{placeId},#{addressId}
+    <if test="addressDeliveryAddress!=null">
+      ,#{addressDeliveryAddress}
+    </if>)
+  </insert>
+
+  <select id="selectcys" resultType="map">
+    select t.carrier_id "carrierId" from RMS_CARRIER t where carrier_abbreviation like #{carrierAbbreviation}
+  </select>
+
+  <select id="selectMaxIdrrp" resultType="int">
+    select max(PLACE_ID) from RMS_RECEIVE_PLACE
+  </select>
+
+  <select id="selectMaxIdrra" resultType="int">
+       select max(address_id) from RMS_RECEIVE_ADDRESS
+  </select>
+
+  <insert id="insertshdz" parameterType="map">
+    insert into RMS_RECEIVE_ADDRESS (ADDRESS_ID, ADDRESS_PROVINCE, ADDRESS_DISTRICT
+    <if test="addressTown!=null">
+      ,ADDRESS_TOWN
+    </if>
+    )
+    values (#{addressId},#{addressProvince} , #{addressDistrict}
+    <if test="addressTown!=null">
+      , #{addressTown}
+    </if>
+    );
+  </insert>
 </mapper>

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

@@ -3389,6 +3389,7 @@
                      ON ASOM.SALE_SHIPPING_ADDRESS_ID = ACTP.PLACE_ID
     WHERE ACTP.CARRIER_ID = #{carrierId}
       AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    AND ACTP.DELETED = 0
     ORDER BY ACTP.INSERT_TIME DESC
     FETCH NEXT 1 ROWS ONLY
   </select>
@@ -4237,6 +4238,7 @@
            LEFT JOIN RMS_RECEIVE_PLACE RRP
                      ON RRP.PLACE_ID = ACTP.PLACE_ID
     WHERE RRP.ADDRESS_ID = #{addressId}
+    and  ACTP.DELETED = 0
   </select>
 
   <select id="getSaleCokeOrder" parameterType="java.util.Map" resultType="java.util.Map">
@@ -4428,6 +4430,7 @@
                      ON RRP.PLACE_ID = ACTP.PLACE_ID
     WHERE ACTP.CARRIER_ID = #{carrierId}
       AND RRP.ADDRESS_ID = #{addressId}
+      AND ACTP.DELETED = 0
       ORDER BY ACTP.OLD_DATE DESC
       NULLS LAST
   </select>
@@ -4567,19 +4570,25 @@
   </select>
   <select id="getMoreCarrier" resultType="java.math.BigDecimal" parameterType="string">
     SELECT count(RMCP.CARRIER_PLACE_ID) FROM RMS_MORE_CARRIER_PLACE RMCP
-    WHERE RMCP.CARRIER_PLACE_VALUE LIKE #{place}
+    WHERE  #{place} LIKE '%' || RMCP.CARRIER_PLACE_VALUE || '%'
   </select>
   <select id="getOrderIdByCapacity" resultType="java.util.Map">
     select OO.order_ID "orderId",
            RC.CAPACITY_NUMBER "capacityNumber",
-           OO.ORDER_STATUS "orderStatus",
-           OO.ORDER_LINE_SEQUENCE "orderLineSequence"
+           TTR.RESULT_TOTAL_ID "resultTotalId",
+           TER.RESULT_ENTRY_GATE_TIME "isEn",
+           TLFR.RESULT_OUT_GATE_TIME "isLeave",
+           TAR.RESULT_ID "isArrival",
+           TRR.RESULT_ID "isReceipt"
     from OMSTRUCK_ORDER OO
            LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID =RC.CAPACITY_ID
-           LEFT JOIN RMS_CARRIER RCA ON OO.CARRIER_ID=RCA.CARRIER_ID
-           LEFT JOIN OMSTRAIN_ORDER_MATERIAL OOM ON OOM.ORDER_ID=OO.ORDER_ID
-           LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID=OOM.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_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 TRR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
     where RC.CAPACITY_NUMBER=#{capacityNumber} and OO.order_status=5
+    and oo.order_type = 1
       fetch next 1 rows only
   </select>
   <select id="getOrderMes" resultType="java.util.Map" parameterType="java.util.Map">
@@ -4614,4 +4623,8 @@
       set aso.DELETED = 2
       WHERE ASO.SALE_NUMBER = #{saleNumber}
     </update>
+  <select id="getDispachSwitch" resultType="java.lang.Integer">
+    SELECT IS_OK "isOk" FROM AMS_DISPATCH_SWITCH
+    fetch NEXT 1 rows only
+  </select>
 </mapper>

+ 62 - 3
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml

@@ -776,6 +776,7 @@
             #{item.requirementId,jdbcType=DECIMAL}
         </foreach>
     </update>
+
     <delete id="batchDelete" parameterType="java.util.List">
         delete from AMSTRUCK_INWARD_REQUIREMENT
         where REQUIREMENT_ID in
@@ -818,7 +819,8 @@
         AIR.INSERT_UPDATE_REMARK "Tel",
         RMT.MATERIAL_TYPE_NAME "materialTypeName",
         RS.SHIPPER_NAME || RM.MATERIAL_NAME || rw2.warehouse_name || rw1.warehouse_name || RMT.MATERIAL_TYPE_NAME "likeIndex",
-        r_c_type.capacity_type_name "capacityTypeName"
+        r_c_type.capacity_type_name "capacityTypeName",
+        actp.price_value "priceValue"
         FROM
         AMSTRUCK_INWARD_REQUIREMENT AIR
         LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
@@ -830,9 +832,11 @@
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         LEFT JOIN RMS_MATERIAL_TYPE RMT ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
         LEFT JOIN RMS_CAPACITY_TYPE r_c_type ON air.capacity_type_id = r_c_type.CAPACITY_TYPE_ID
+        left join ams_contract_transport_price actp on actp.capacity_type_id = r_c_type.capacity_type_id
         WHERE
         AIR.DELETED = 0
         AND AIR.PURCHASE_ORDER_ID IS NULL
+        AND ACTP.DELETED = 0
         <if test="con !=null ">
             AND AIR.INSERT_USERNAME LIKE #{con}
         </if>
@@ -852,7 +856,7 @@
         )
         <where>
             <if test="index != null">
-                and "likeIndex" like #{index}
+                and "likeIndex" like #{index} or "rangeValue" like #{index}
             </if>
             <if test="requirementType != null">
                 and
@@ -985,7 +989,8 @@
         arm.material_count "materialCount",
         arm.MATERIAL_ID "materialId",
         rm.material_name || rm.material_specification || '(' || rm.material_model || ')' "materialName",
-        AIR.INSERT_UPDATE_REMARK "Tel"
+        AIR.INSERT_UPDATE_REMARK "Tel",
+        actp.price_value "priceValue"
         FROM
         ( SELECT AIR2.REQUIREMENT_ID,AIR2.capacity_type_id FROM AMSTRUCK_INWARD_REQUIREMENT AIR2 LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP ON AIR2.REQUIREMENT_ID = ARP.REQUIREMENT_ID WHERE ARP.PLAN_ID IS NULL ) AIRP
         LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR ON AIR.REQUIREMENT_ID = AIRP.REQUIREMENT_ID
@@ -997,9 +1002,11 @@
         LEFT JOIN amstruck_inward_requirement air ON air.requirement_id = arm.requirement_id
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         LEFT JOIN RMS_CAPACITY_TYPE r_c_type ON AIRP.capacity_type_id = r_c_type.CAPACITY_TYPE_ID
+        left join ams_contract_transport_price actp on actp.capacity_type_id =r_c_type.capacity_type_id
         WHERE
         AIR.REQUIREMENT_STATUS = #{ requirementStatus }
         AND AIR.DELETED = 0
+        AND ACTP.DELETED = 0
         <if test="con !=null ">
             AND AIR.INSERT_USERNAME LIKE #{con}
         </if>
@@ -1425,4 +1432,56 @@
         select AIR.PURCHASE_ORDER_ID from AMSTRUCK_INWARD_REQUIREMENT AIR
         WHERE AIR.REQUIREMENT_ID = #{requirementId}
     </select>
+    <select id="getBilletRequirementList" resultType="java.util.Map">
+        SELECT * FROM (
+            SELECT
+            AIR.REQUIREMENT_NUMBER AS "requirementNumber",
+            AIR.REQUIREMENT_TYPE AS "requirementType",
+            RTR.TRANS_RANGE_VALUE AS "rangeValue",
+            RS.SHIPPER_NAME AS "shipperName",
+            AIR.INSERT_TIME AS "insertTime",
+            rw1.warehouse_name "unloadName",
+            rw2.warehouse_name "loadName",
+            arm.material_count "materialCount",
+            rm.material_name "materialName",
+            rm.material_specification "materialSpe",
+            rm.MATERIAL_MODEL "materialModel",
+            ARM.MATERIAL_LUNO "materialLuNo",
+            AIR.REQUIREMENT_ID "requirementId"
+            FROM
+            AMSTRUCK_INWARD_REQUIREMENT AIR
+            LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+            LEFT JOIN amstruck_requirement_material arm ON air.requirement_id = arm.requirement_id
+            LEFT JOIN rms_warehouse rw1 ON rw1.warehouse_id = arm.requirement_unload_unit_id
+            LEFT JOIN rms_warehouse rw2 ON rw2.warehouse_id = arm.requirement_platform_id
+            LEFT JOIN rms_material rm ON rm.material_id = arm.material_id
+            LEFT JOIN amstruck_inward_requirement air ON air.requirement_id = arm.requirement_id
+            LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
+            LEFT JOIN RMS_MATERIAL_TYPE RMT ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+            WHERE
+            AIR.DELETED = 0
+            AND AIR.PURCHASE_ORDER_ID IS NULL
+            AND ARM.MATERIAL_LUNO IS NOT NULL
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= AIR.INSERT_TIME
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= AIR.INSERT_TIME
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= AIR.INSERT_TIME
+        </if>
+        )
+    </select>
+    <update id="closeOrderByRequirementId" parameterType="decimal">
+        update OMSTRUCK_ORDER OO
+        set oo.ORDER_STATUS = 7,
+            oo.INSERT_UPDATE_REMARK = '提前关闭运单'
+        where
+        OO.ORDER_STATUS = 4
+        AND OO.ORDER_TYPE = 11
+        AND oo.ORDER_PLAN_ID =
+              (SELECT ARP.PLAN_ID FROM AMSTRUCK_REQUIREMENT_PLAN ARP
+            WHERE ARP.REQUIREMENT_ID = #{requirementId}
+            )
+
+        </update>
 </mapper>

+ 88 - 53
src/main/resources/com/steerinfo/dil/mapper/AmstruckRequirementMaterialMapper.xml

@@ -15,16 +15,18 @@
     <result column="REQUIREMENT_UNLOAD_UNIT_ID" jdbcType="DECIMAL" property="requirementUnloadUnitId" />
     <result column="REQUIREMENT_PLATFORM_ID" jdbcType="DECIMAL" property="requirementPlatformId" />
     <result column="LOAD_UNLOAD_SEQUENCE" jdbcType="DECIMAL" property="loadUnloadSequence" />
+    <result column="MATERIAL_LUNO" jdbcType="VARCHAR" property="materialLuno" />
   </resultMap>
   <sql id="columns">
-    REQUIREMENT_MATERIAL_ID, REQUIREMENT_ID, MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_COUNT,
-    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-    REQUIREMENT_UNLOAD_UNIT_ID, REQUIREMENT_PLATFORM_ID, LOAD_UNLOAD_SEQUENCE
+    REQUIREMENT_MATERIAL_ID, REQUIREMENT_ID, MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_COUNT, 
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, 
+    REQUIREMENT_UNLOAD_UNIT_ID, REQUIREMENT_PLATFORM_ID, LOAD_UNLOAD_SEQUENCE, MATERIAL_LUNO
   </sql>
   <sql id="columns_alias">
-    t.REQUIREMENT_MATERIAL_ID, t.REQUIREMENT_ID, t.MATERIAL_ID, t.MATERIAL_WEIGHT, t.MATERIAL_COUNT,
-    t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK,
-    t.REQUIREMENT_UNLOAD_UNIT_ID, t.REQUIREMENT_PLATFORM_ID, t.LOAD_UNLOAD_SEQUENCE
+    t.REQUIREMENT_MATERIAL_ID, t.REQUIREMENT_ID, t.MATERIAL_ID, t.MATERIAL_WEIGHT, t.MATERIAL_COUNT, 
+    t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, 
+    t.REQUIREMENT_UNLOAD_UNIT_ID, t.REQUIREMENT_PLATFORM_ID, t.LOAD_UNLOAD_SEQUENCE, 
+    t.MATERIAL_LUNO
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMSTRUCK_REQUIREMENT_MATERIAL
@@ -73,6 +75,9 @@
       <if test="loadUnloadSequence != null">
         and LOAD_UNLOAD_SEQUENCE = #{loadUnloadSequence}
       </if>
+      <if test="materialLuno != null and materialLuno != ''">
+        and MATERIAL_LUNO = #{materialLuno}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -116,6 +121,9 @@
       <if test="loadUnloadSequence != null">
         and LOAD_UNLOAD_SEQUENCE = #{loadUnloadSequence}
       </if>
+      <if test="materialLuno != null and materialLuno != ''">
+        and MATERIAL_LUNO LIKE '%${materialLuno}%'
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
@@ -161,20 +169,23 @@
     <if test="loadUnloadSequence != null">
       or LOAD_UNLOAD_SEQUENCE = #{loadUnloadSequence}
     </if>
+    <if test="materialLuno != null and materialLuno != ''">
+      or MATERIAL_LUNO = #{materialLuno}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmstruckRequirementMaterial">
     insert into AMSTRUCK_REQUIREMENT_MATERIAL (REQUIREMENT_MATERIAL_ID, REQUIREMENT_ID,
-      MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_COUNT,
-      INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
-      UPDATE_TIME, INSERT_UPDATE_REMARK, REQUIREMENT_UNLOAD_UNIT_ID,
-      REQUIREMENT_PLATFORM_ID, LOAD_UNLOAD_SEQUENCE
-      )
+                                               MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_COUNT,
+                                               INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+                                               UPDATE_TIME, INSERT_UPDATE_REMARK, REQUIREMENT_UNLOAD_UNIT_ID,
+                                               REQUIREMENT_PLATFORM_ID, LOAD_UNLOAD_SEQUENCE,
+                                               MATERIAL_LUNO)
     values (#{requirementMaterialId,jdbcType=DECIMAL}, #{requirementId,jdbcType=DECIMAL},
-      #{materialId,jdbcType=DECIMAL}, #{materialWeight,jdbcType=DECIMAL}, #{materialCount,jdbcType=DECIMAL},
-      #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
-      #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{requirementUnloadUnitId,jdbcType=DECIMAL},
-      #{requirementPlatformId,jdbcType=DECIMAL}, #{loadUnloadSequence,jdbcType=DECIMAL}
-      )
+            #{materialId,jdbcType=DECIMAL}, #{materialWeight,jdbcType=DECIMAL}, #{materialCount,jdbcType=DECIMAL},
+            #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+            #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{requirementUnloadUnitId,jdbcType=DECIMAL},
+            #{requirementPlatformId,jdbcType=DECIMAL}, #{loadUnloadSequence,jdbcType=DECIMAL},
+            #{materialLuno,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmstruckRequirementMaterial">
     insert into AMSTRUCK_REQUIREMENT_MATERIAL
@@ -218,6 +229,9 @@
       <if test="loadUnloadSequence != null">
         LOAD_UNLOAD_SEQUENCE,
       </if>
+      <if test="materialLuno != null">
+        MATERIAL_LUNO,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="requirementMaterialId != null">
@@ -259,22 +273,26 @@
       <if test="loadUnloadSequence != null">
         #{loadUnloadSequence,jdbcType=DECIMAL},
       </if>
+      <if test="materialLuno != null">
+        #{materialLuno,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmstruckRequirementMaterial">
     update AMSTRUCK_REQUIREMENT_MATERIAL
     set REQUIREMENT_ID = #{requirementId,jdbcType=DECIMAL},
-      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
-      MATERIAL_WEIGHT = #{materialWeight,jdbcType=DECIMAL},
-      MATERIAL_COUNT = #{materialCount,jdbcType=DECIMAL},
-      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
-      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
-      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
-      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
-      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
-      REQUIREMENT_UNLOAD_UNIT_ID = #{requirementUnloadUnitId,jdbcType=DECIMAL},
-      REQUIREMENT_PLATFORM_ID = #{requirementPlatformId,jdbcType=DECIMAL},
-      LOAD_UNLOAD_SEQUENCE = #{loadUnloadSequence,jdbcType=DECIMAL}
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+        MATERIAL_WEIGHT = #{materialWeight,jdbcType=DECIMAL},
+        MATERIAL_COUNT = #{materialCount,jdbcType=DECIMAL},
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+        REQUIREMENT_UNLOAD_UNIT_ID = #{requirementUnloadUnitId,jdbcType=DECIMAL},
+        REQUIREMENT_PLATFORM_ID = #{requirementPlatformId,jdbcType=DECIMAL},
+        LOAD_UNLOAD_SEQUENCE = #{loadUnloadSequence,jdbcType=DECIMAL},
+        MATERIAL_LUNO = #{materialLuno,jdbcType=VARCHAR}
     where REQUIREMENT_MATERIAL_ID = #{requirementMaterialId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmstruckRequirementMaterial">
@@ -316,6 +334,9 @@
       <if test="loadUnloadSequence != null">
         LOAD_UNLOAD_SEQUENCE = #{loadUnloadSequence,jdbcType=DECIMAL},
       </if>
+      <if test="materialLuno != null">
+        MATERIAL_LUNO = #{materialLuno,jdbcType=VARCHAR},
+      </if>
     </set>
     where REQUIREMENT_MATERIAL_ID = #{requirementMaterialId,jdbcType=DECIMAL}
   </update>
@@ -331,29 +352,7 @@
     <include refid="select" />
     <include refid="whereLike" />
   </select>
-    <select id="getRequirementMaterial" resultType="java.util.Map">
-      select rw1.warehouse_name "unloadName",
-             rw1.WAREHOUSE_ID "unloadId",
-             rw2.warehouse_name "loadName",
-             rw2.WAREHOUSE_ID "loadId",
-             arm.material_weight "materialWeight",
-             arm.material_count "materialCount",
-             arm.MATERIAL_ID "materialId",
-             rm.material_name || rm.material_specification || '(' ||
-             rm.material_model || ')' "materialName",
-             arm.load_unload_sequence "loadSequence"
-      from amstruck_requirement_material arm
-             left join rms_warehouse rw1
-                       on rw1.warehouse_id = arm.requirement_unload_unit_id
-             left join rms_warehouse rw2
-                       on rw2.warehouse_id = arm.requirement_platform_id
-             left join rms_material rm
-                       on rm.material_id = arm.material_id
-             left join amstruck_inward_requirement air
-                       on air.requirement_id = arm.requirement_id
-      where air.requirement_id = #{requirementId}
-    </select>
-    <insert id="batchInsert" parameterType="java.util.List">
+  <insert id="batchInsert" parameterType="java.util.List">
     insert into AMSTRUCK_REQUIREMENT_MATERIAL
     (REQUIREMENT_MATERIAL_ID,
     REQUIREMENT_ID, MATERIAL_ID, MATERIAL_WEIGHT,
@@ -361,7 +360,8 @@
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     REQUIREMENT_UNLOAD_UNIT_ID, REQUIREMENT_PLATFORM_ID,
-    LOAD_UNLOAD_SEQUENCE)
+    LOAD_UNLOAD_SEQUENCE, MATERIAL_LUNO
+    )
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.requirementMaterialId,jdbcType=DECIMAL},
@@ -370,7 +370,8 @@
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
     #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
     #{item.requirementUnloadUnitId,jdbcType=DECIMAL}, #{item.requirementPlatformId,jdbcType=DECIMAL},
-    #{item.loadUnloadSequence,jdbcType=DECIMAL} from dual
+    #{item.loadUnloadSequence,jdbcType=DECIMAL}, #{item.materialLuno,jdbcType=VARCHAR}
+    from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -428,6 +429,10 @@
     <foreach close="end" collection="list" index="index" item="item" open="case REQUIREMENT_MATERIAL_ID" separator=" ">
       when #{item.requirementMaterialId,jdbcType=DECIMAL} then #{item.loadUnloadSequence,jdbcType=DECIMAL}
     </foreach>
+    ,MATERIAL_LUNO=
+    <foreach close="end" collection="list" index="index" item="item" open="case REQUIREMENT_MATERIAL_ID" separator=" ">
+      when #{item.requirementMaterialId,jdbcType=DECIMAL} then #{item.materialLuno,jdbcType=VARCHAR}
+    </foreach>
     where REQUIREMENT_MATERIAL_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.requirementMaterialId,jdbcType=DECIMAL}
@@ -441,6 +446,36 @@
     </foreach>
   </delete>
   <!-- 友情提示!!!-->
+  <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <select id="getMaterialId" resultType="java.math.BigDecimal" parameterType="map">
+    select RM.MATERIAL_ID from RMS_MATERIAL RM
+    where rm.MATERIAL_NAME = '钢坯'
+    AND RM.MATERIAL_SPECIFICATION = #{type}
+    AND RM.MATERIAL_MODEL = #{model}
+  </select>
+     <select id="getRequirementMaterial" resultType="java.util.Map" >
+        select rw1.warehouse_name "unloadName",
+                            rw1.WAREHOUSE_ID "unloadId",
+                          rw2.warehouse_name "loadName",
+                            rw2.WAREHOUSE_ID "loadId",
+                          arm.material_weight "materialWeight",
+                             arm.material_count "materialCount",
+                             arm.MATERIAL_ID "materialId",
+                             rm.material_name || rm.material_specification || '(' ||
+                             rm.material_model || ')' "materialName",
+                             arm.load_unload_sequence "loadSequence"
+                 from amstruck_requirement_material arm
+                        left join rms_warehouse rw1
+                      on rw1.warehouse_id = arm.requirement_unload_unit_id
+                        left join rms_warehouse rw2
+                                  on rw2.warehouse_id = arm.requirement_platform_id
+                        left join rms_material rm
+                                 on rm.material_id = arm.material_id
+                        left join amstruck_inward_requirement air
+                                  on air.requirement_id = arm.requirement_id
+                 where air.requirement_id = #{requirementId}
+               </select>
 </mapper>