Forráskód Böngészése

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API

luobang 2 éve
szülő
commit
f2d3f4d8fc

+ 62 - 0
src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java

@@ -7,6 +7,7 @@ import com.steerinfo.dil.model.AmsContractTransportPrice;
 import com.steerinfo.dil.service.IAmsContractTruckPriceService;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
@@ -77,6 +78,67 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
         return success(pageList);
     }
 
+    @ApiOperation(value="查询汽运单价信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(519)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getAmsContractTransportPriceForDetail")
+    public RESTfulResult getAmsContractTransportPriceForDetail(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize,
+                                                      String con,String userId){
+        if (con != null && !con.equals("undefined")) {
+            mapValue.put("con","%" + con + "%");
+        }
+        if (userId != null && !userId.equals("undefined")) {
+            //查询承运商ID
+           String carrierName1 = amsContractTruckPriceService.getCarrierNameForDetail(userId);
+           mapValue.put("carrierName1","%" + carrierName1 + "%");
+        }
+        //不分页筛选数据
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAmsContractTransportPriceForDetail(mapValue);
+        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
+        int i=0;
+        for (Map<String, Object> columnData : columnDataList) {
+            //每个表头字段的过滤条件
+            columnData.put("filters", setListMap(saleOrderList, columnData.get("prop").toString()));
+            if (i==0){
+                columnData.put("min-width","78px");
+            }else if (i==2){
+                columnData.put("min-width","94px");
+            }
+            i++;
+        }
+        PageListAdd pageList = new PageListAdd(saleOrderList);
+        pageList.setColumnData(columnDataList);
+        //PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
+        return success(pageList);
+//        if(con !=null){
+//            mapValue.put("con",con);
+//        }
+//        PageHelper.startPage(pageNum,pageSize);
+//        if (userId!=null){
+//            //查询承运商ID
+//            String carrierName = amsContractTruckPriceService.getCarrierNameForDetail(userId);
+//            mapValue.put("carrierName1",carrierName);
+//        }
+//        List<Map<String, Object>> amsContractTransportPrice1 = amsContractTruckPriceService.getAmsContractTransportPriceForDetail(mapValue);
+//        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
+//        for (Map<String, Object> columnData : columnDataList) {
+//            //每个表头字段的过滤条件
+//            if(columnData.get("isFilter") == null || DataChange.dataToBigDecimal(columnData.get("isFilter")).intValue() == 1) {
+//                columnData.put("filters", setListMap(amsContractTransportPrice1, columnData.get("prop").toString()));
+//            }
+//        }
+//        PageListAdd pageList = new PageListAdd(amsContractTransportPrice1);
+//        pageList.setColumnData(columnDataList);
+//        //PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsContractTransportPrice1);
+//        return success(pageList);
+    }
+
     @ApiOperation(value="查询内转汽运单价信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")

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

@@ -20,6 +20,10 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     BigDecimal selectPriceMaterialMaxId();
     //获取汽运单价信息
     List<Map<String, Object>> getAmsContractTransportPrice(Map<String,Object> map);
+    //获取承运商信息
+    String getCarrierNameForDetail(String userId);
+    //获取汽运单价信息
+    List<Map<String, Object>> getAmsContractTransportPriceForDetail(Map<String,Object> map);
     //获取承运商名称
     List<Map<String, Object>> getCarrierName();
     //获取线路编号
@@ -28,6 +32,8 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     List<Map<String, Object>> getCapacityNumber();
     //获取收货地址
     List<Map<String, Object>> getAddressDeliveryAddress(Map<String,Object> map);
+    //获取收货地址(专门给计费详单使用)
+    List<Map<String, Object>> getAddressDeliveryAddressForDetails(Map<String,Object> map);
     //获取要渲染的信息
     List<Map<String, Object>> selectByPriceId(BigDecimal priceId);
     //获取所有的油价

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IAmsContractTruckPriceService.java

@@ -25,6 +25,10 @@ public interface IAmsContractTruckPriceService {
     int addAmsContractTransportPrice(Map<String,Object> mapValue);
     //获取汽运单价信息
     List<Map<String, Object>> getAmsContractTransportPrice(Map<String,Object> map);
+    //获取汽运单价信息(计费详单专用)
+    List<Map<String, Object>> getAmsContractTransportPriceForDetail(Map<String,Object> map);
+    //获取承运商
+    String getCarrierNameForDetail(String userId);
     //通过主键删除汽运单价
     int deleteAmsContractTransportPrice(BigDecimal priceId);
     //获取承运商名称

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

@@ -130,6 +130,17 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.getAmsContractTransportPrice(map);
     }
 
+    @Override
+    public List<Map<String, Object>> getAmsContractTransportPriceForDetail(Map<String, Object> map) {
+        //amsContractTruckPriceMapper.getAmsContractTransportPriceForDetail(map);
+        return amsContractTruckPriceMapper.getAddressDeliveryAddressForDetails(map);
+    }
+
+    @Override
+    public String getCarrierNameForDetail(String userId){
+        return amsContractTruckPriceMapper.getCarrierNameForDetail(userId);
+    }
+
     @Override
     public int deleteAmsContractTransportPrice(BigDecimal priceId) {
         AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
@@ -158,6 +169,8 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.getAddressDeliveryAddress(map);
     }
 
+
+
     @Override
     public List<Map<String, Object>> selectByPriceId(BigDecimal priceId) {
         return amsContractTruckPriceMapper.selectByPriceId(priceId);

+ 125 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -884,6 +884,58 @@
     </if>
   </select>
 
+  <!--获取承运商名字-->
+  <select id="getCarrierNameForDetail" resultType="java.lang.String">
+    select SU.USER_NAME from
+      "SSO".SYS_USER SU
+    WHERE SU.USER_ID=#{userId}
+  </select>
+
+  <select id="getAmsContractTransportPriceForDetail" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select p0.*,ROWNUM "ROW_ID" from(
+    select a_t_price.PRICE_ID "priceId",
+    r_r_address.ADDRESS_PROVINCE "addressProvince",
+    r_r_address.ADDRESS_DISTRICT "addressDistrict",
+    r_r_address.ADDRESS_TOWN "addressTown",
+    rrp.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+    r_carrier.CARRIER_NAME "carrierName",
+    r_line.LINE_PATH_LENGTH "linePathLength",
+    a_t_price.PRICE_VALUE "priceValue",
+    a_t_price.PRICE_TON_KILOMETER "priceTonKilometer",
+    a_t_price.PRICE_DATE "priceDate",
+    a_t_price.INSERT_TIME "insertTime"
+    from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
+    left join RMS_RECEIVE_PLACE rrp
+    on a_t_price.PLACE_ID=rrp.PLACE_ID
+    left join RMS_RECEIVE_ADDRESS r_r_address
+    on rrp.ADDRESS_ID = r_r_address.ADDRESS_ID
+    left join RMS_CAPACITY_TYPE r_c_type
+    on a_t_price.CAPACITY_TYPE_ID=r_c_type.CAPACITY_TYPE_ID
+    left join RMS_CARRIER r_carrier
+    on a_t_price.CARRIER_ID=r_carrier.CARRIER_ID
+    left join RMS_LINE r_line
+    on a_t_price.LINE_ID=r_line.LINE_ID
+    left join RMS_OIL_TYPE r_o_type
+    on a_t_price.OIL_TYPE_ID = r_o_type.OIL_TYPE_ID
+    left join RMS_SHIPPER rs
+    on rs.SHIPPER_ID = a_t_price.SHIPPER_ID
+    <where>
+      TYPE=1
+      and a_t_price.ISSTANDARD is null
+      and a_t_price.DELETED = 0
+      <if test="carrierName1!=null and carrierName1 != ''.toString() ">
+        and r_carrier.CARRIER_NAME like CONCAT('%',CONCAT(#{carrierName1},'%'))
+      </if>
+      <if test="con !=null and con != ''.toString()">
+        and
+        r_r_address.ADDRESS_PROVINCE || r_r_address.ADDRESS_DISTRICT  || r_r_address.ADDRESS_TOWN
+        || rrp.ADDRESS_DELIVERY_ADDRESS ||  r_carrier.CARRIER_NAME || r_c_type.CAPACITY_TYPE_NAME
+        like CONCAT('%',CONCAT(#{con},'%'))
+      </if>
+    </where>
+    ) p0
+  </select>
+
   <sql id="orderBy">
     <if test="orderField != null and orderField != ''">
       order by  "${orderField}"
@@ -944,6 +996,79 @@
     order by RRRA."pricevalue"  asc nulls last
   </select>
 
+  <select id="getAddressDeliveryAddressForDetails" resultType="java.util.LinkedHashMap">
+    <!--SELECT *
+    FROM (SELECT
+    distinct
+    RRA.ADDRESS_ID "addressId",
+    RRA.ADDRESS_PROVINCE "province",
+    RRA.ADDRESS_DISTRICT "district",
+    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",
+    TO_CHAR(ACTP.PRICE_VALUE, '9999999990.99') "pricevalue",
+    ACTP.PRICE_ID  "priceid"
+    FROM RMS_RECEIVE_ADDRESS RRA
+    LEFT JOIN RMS_RECEIVE_PLACE RRP
+    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}
+    </if>
+    order by RRRA."pricevalue"  asc nulls last-->
+    select * from(
+    select a_t_price.PRICE_ID "priceid",
+    r_r_address.ADDRESS_PROVINCE "addressProvince",
+    r_r_address.ADDRESS_DISTRICT "addressDistrict",
+    r_r_address.ADDRESS_TOWN "addressTown",
+    rrp.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+    rrp.PLACE_ID "placeId",
+    r_r_address.ADDRESS_ID "addressId",
+    r_r_address.ADDRESS_PROVINCE||r_r_address.ADDRESS_DISTRICT||r_r_address.ADDRESS_TOWN
+    ||rrp.ADDRESS_DELIVERY_ADDRESS "address",
+    r_carrier.CARRIER_NAME "carrierName",
+    r_line.LINE_PATH_LENGTH "linePathLength",
+    a_t_price.PRICE_VALUE "priceValue",
+    a_t_price.PRICE_TON_KILOMETER "priceTonKilometer",
+    a_t_price.PRICE_DATE "priceDate",
+    a_t_price.INSERT_TIME "insertTime"
+    from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
+    left join RMS_RECEIVE_PLACE rrp
+    on a_t_price.PLACE_ID=rrp.PLACE_ID
+    left join RMS_RECEIVE_ADDRESS r_r_address
+    on rrp.ADDRESS_ID = r_r_address.ADDRESS_ID
+    left join RMS_CAPACITY_TYPE r_c_type
+    on a_t_price.CAPACITY_TYPE_ID=r_c_type.CAPACITY_TYPE_ID
+    left join RMS_CARRIER r_carrier
+    on a_t_price.CARRIER_ID=r_carrier.CARRIER_ID
+    left join RMS_LINE r_line
+    on a_t_price.LINE_ID=r_line.LINE_ID
+    left join RMS_OIL_TYPE r_o_type
+    on a_t_price.OIL_TYPE_ID = r_o_type.OIL_TYPE_ID
+    left join RMS_SHIPPER rs
+    on rs.SHIPPER_ID = a_t_price.SHIPPER_ID
+    <where>
+      TYPE=1
+      and a_t_price.ISSTANDARD is null
+      and a_t_price.DELETED = 0
+      <if test="carrierName1!=null and carrierName1 != ''.toString() ">
+        and r_carrier.CARRIER_NAME like CONCAT('%',CONCAT(#{carrierName1},'%'))
+      </if>
+      <if test="con !=null and con != ''.toString()">
+        and
+        r_r_address.ADDRESS_PROVINCE || r_r_address.ADDRESS_DISTRICT  || r_r_address.ADDRESS_TOWN
+        || rrp.ADDRESS_DELIVERY_ADDRESS ||  r_carrier.CARRIER_NAME || r_c_type.CAPACITY_TYPE_NAME
+        like CONCAT('%',CONCAT(#{con},'%'))
+      </if>
+    </where>
+    )
+  </select>
+
   <select id="selectByPriceId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
     select a_t_price.SHIPPER_ID "shipperId",
            a_t_price.CARRIER_ID "carrierId",