Sfoglia il codice sorgente

修改运输单价

txf 3 anni fa
parent
commit
4e630f3ae1

+ 7 - 6
src/main/java/com/steerinfo/dil/controller/AmsPurchaseOrderController.java

@@ -44,17 +44,18 @@ public class AmsPurchaseOrderController extends BaseRESTfulController {
                                               Integer pageNum,
                                               Integer pageSize,
                                               Integer apiId,
-                                              String con) {
-        if (con != null && (con.equals("null") || con.equals("undefined"))) {
-            con = null;
-        }
-        if (con != null) {
+                                              String con,
+                                              String sendCompId) {
+        if (con != null && !(con.equals("null") || con.equals("undefined"))) {
             mapValue.put("con", con);
         }
+        if(sendCompId != null && !"null".equals(sendCompId)){
+            mapValue.put("sendCompId", sendCompId);
+        }
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = amsPurchaseOrderService.getPurchaseOrderList(mapValue);
-        PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
+            PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
         return success(data);
     }
 

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -11,6 +12,7 @@ import java.util.Map;
 @Mapper
 public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTransportPrice, BigDecimal> {
     //查询主键最大值
+    @Select("select seq_truck_price.nextval from dual")
     BigDecimal selectMaxId();
     //获取汽运单价信息
     List<Map<String, Object>> getAmsContractTransportPrice(Map<String,Object> map);

+ 28 - 21
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -30,23 +30,26 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
     @Autowired
     private AmsContractTruckPriceMapper amsContractTruckPriceMapper;
 
+    /**
+     * 新增汽运单价
+     * @Author zzd
+     * @Date 2022/1/20 11:33
+     * @param amsContractTransportPrice
+     * @return
+     **/
     @Override
     public int addAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
-        long id;
-        if(amsContractTruckPriceMapper.selectMaxId()==null){
-            id = 1;
-        }else {
-            id = amsContractTruckPriceMapper.selectMaxId().longValue()+1;
-        }
         //生成主键id
-        amsContractTransportPrice.setPriceId(new BigDecimal(id));
+        amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
         //获取路线Id和运价
         BigDecimal lineId = amsContractTransportPrice.getLineId();
-        BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
-        //计算并插入吨公里
-        BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+        if(lineId == null){
+            BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
+            //计算并插入吨公里
+            BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        }
         amsContractTransportPrice.setType(new BigDecimal(1));
-        amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
         amsContractTransportPrice.setInsertUsername("admin");
         amsContractTransportPrice.setInsertTime(new Date());
         amsContractTransportPrice.setUpdateUsername("admin");
@@ -72,9 +75,10 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
 
     @Override
     public int deleteAmsContractTransportPrice(BigDecimal priceId) {
-        AmsContractTransportPrice amsContractTransportPrice = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+        AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+        amsContractTransportPrice.setId(priceId);
         amsContractTransportPrice.setDeleted(new BigDecimal(1));
-        return amsContractTruckPriceMapper.updateByPrimaryKey(amsContractTransportPrice);
+        return amsContractTruckPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);
     }
 
     @Override
@@ -104,17 +108,20 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
 
     @Override
     public int updateAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
-        BigDecimal priceId = amsContractTransportPrice.getPriceId();
-        //获取未修改前的汽运单价信息
-        AmsContractTransportPrice amsContractTransportPrice1 = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
         //获取路线Id和运价
         BigDecimal lineId = amsContractTransportPrice.getLineId();
         BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
-        //若运价修改了
-        if(amsContractTransportPrice.getPriceValue()!=amsContractTransportPrice1.getPriceValue()){
-            //计算并插入吨公里
-            BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
-            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        //如果传入路线则修改运价
+        if(lineId != null){
+            BigDecimal priceId = amsContractTransportPrice.getPriceId();
+            //获取未修改前的汽运单价信息
+            AmsContractTransportPrice amsContractTransportPrice1 = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+            //若运价修改了
+            if(!amsContractTransportPrice.getPriceValue().equals(amsContractTransportPrice1.getPriceValue())){
+                //计算并插入吨公里
+                BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+                amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+            }
         }
         amsContractTransportPrice.setUpdateTime(new Date());
         return amsContractTruckPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);

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

@@ -520,10 +520,6 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
-  <select id="selectMaxId"  resultType="java.math.BigDecimal">
-    select max(PRICE_ID) from AMS_CONTRACT_TRANSPORT_PRICE
-  </select>
-
   <select id="getAmsContractTransportPrice" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     select * from(
     select a_t_price.PRICE_ID "priceId",

+ 12 - 3
src/main/resources/com/steerinfo/dil/mapper/AmsPurchaseOrderMapper.xml

@@ -496,12 +496,15 @@
     apo.PURCHASE_ORDER_NO as "purchaseOrderNo",
     apo.PURCHASE_ORDER_DATE as "purchaseOrderDate",
     rm.MATERIAL_NAME as "materialName",
+    rm.MATERIAL_ID  as "materialId",
     db.RESULT_FOREIGN_SHIP_NAME as "resultForeignShipName",
     rsu.SUPPLIER_NAME as "supplierName",
+    rsu.SUPPLIER_ID as "supplierId",
     rsb.SHIPPER_NAME as "buyerName",
     apo.PURCHASE_ORDER_BUYER as "purchaseOrderBuyer",
     apo.PUCHASE_ORDER_MATERIAL_NUMBER as "purChaseOrderMaterialNumber",
     rsr.SHIPPER_NAME as "receiverName",
+    rsr.SHIPPER_ID   as   "receiverUnitId",
     apo.PUCHASE_ORDER_DELIVERY_DATE as "purchaseOrderDeliveryDate",
     apo.INSERT_UPDATE_REMARK as "insertUpdateRemark",
     apo.PURCHASE_ORDER_ID as "purchaseOrderId"
@@ -516,9 +519,15 @@
     ON apo.PURCHASING_ORGANIZATION_ID = rsb.SHIPPER_ID
     LEFT JOIN RMS_SHIPPER rsr
     ON apo.RECEIVE_UNIT_ID = rsr.SHIPPER_ID
-    <if test="con != null" >
-      WHERE instr(apo.PURCHASE_ORDER_NO, #{con}) > 0 or instr(rsu.SUPPLIER_NAME, #{con}) > 0
-    </if>
+    <where>
+      <if test="con != null" >
+        and instr(apo.PURCHASE_ORDER_NO, #{con}) > 0 or instr(rsu.SUPPLIER_NAME, #{con}) > 0
+      </if>
+      <if test="sendCompId != null and con == null">
+        and apo.SUPPLIER_UNIT_ID = #{sendCompId}
+      </if>
+    </where>
+
     )
     <where>
       <if test="purchaseOrderNo!= null">