luobang пре 3 година
родитељ
комит
3f583566ad

+ 8 - 1
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -137,7 +137,7 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
             mapValue.put("carrierId",carrierId);
         }
         if(userId != null){
-            mapValue.put("userId",userId);
+            mapValue.put("userId","%"+ userId +"%");
         }
         mapValue.put("detailStatus",detailStatus);
         List<Map<String, Object>> truckDetailList = bmstruckDetailsOrderService.getInwardWeightDetailsOrder(mapValue,orderType);
@@ -255,4 +255,11 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         Map<String,Object> map = bmstruckDetailsOrderService.findAddressAndPrice(priceId);
         return success(map);
     }
+
+    @PostMapping("updateDetails")
+    public int updateDetailsOrder(){
+        int i = bmstruckDetailsOrderService.updateDetails();
+        return i;
+    }
+
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.java

@@ -140,4 +140,8 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
     //获取计时时长
     List<Map<String, Object>> getTimeTaskResult(BigDecimal orderId);
 
+    List<Map<String, Object>> updateDetails();
+
+    List<Map<String, Object>> selectDetailsNoAmount();
+
 }

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

@@ -104,4 +104,6 @@ public interface IBmstruckDetailsOrderService {
     List<Map<String, Object>> getInwardWeightDetailsOrder(Map<String, Object> mapValue,Integer orderType);
 
     int inserInwardOrder(Map<String, Object> mapVal);
+
+    int updateDetails();
 }

+ 27 - 1
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -568,7 +568,13 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
             BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
             if(orderType.intValue() == 11 || orderType.intValue() == 20 || orderType.intValue() == 10){
                 BigDecimal weightTaskResultId = DataChange.dataToBigDecimal(map.get("weightTaskResultId"));
-                BigDecimal netWeight = DataChange.dataToBigDecimal(map.get("netWeight"));
+                BigDecimal netWeight = null;
+                if(mapVal.get("netWeight") != null) {
+                     netWeight = DataChange.dataToBigDecimal(mapVal.get("netWeight"));
+                }
+                else{
+                     netWeight = DataChange.dataToBigDecimal(map.get("netWeight"));
+                }
                 BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue()*netWeight.doubleValue());
                 DecimalFormat df = new DecimalFormat("0.00");
                 String format = df.format(detailsAmount);
@@ -616,4 +622,24 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         System.out.println(new BigDecimal(df.format(300.959999999999979536369210109114646911)));
     }
 
+    @Override
+    public int updateDetails() {
+        List<Map<String,Object>>mapList = bmstruckDetailsOrderMapper.selectDetailsNoAmount();
+        int i=0;
+        for (Map<String,Object>map:mapList
+             ) {
+            //获取详单ID、价格值,净重
+            BigDecimal detailsId = DataChange.dataToBigDecimal(map.get("detailsId"));
+            BigDecimal netWeight = DataChange.dataToBigDecimal(map.get("netWeight"));
+            BigDecimal priceValue = DataChange.dataToBigDecimal(map.get("priceValue"));
+            BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
+            bmstruckDetailsOrder.setDetailsId(detailsId);
+            BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue()*netWeight.doubleValue());
+            DecimalFormat df = new DecimalFormat("0.00");
+            String format = df.format(detailsAmount);
+            bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(format));
+            i += bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+        }
+        return i;
+    }
 }

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -1,7 +1,7 @@
 api.version: api/v1/bmstruck
 spring:
   profiles:
-    include: ${SPRING_PROFILES:prod}
+    include: ${SPRING_PROFILES:dev}
   jackson:
       date-format: yyyy-MM-dd HH:mm:ss
       time-zone: GMT+8

+ 20 - 0
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -461,6 +461,7 @@
             #{item.detailsId,jdbcType=DECIMAL}
         </foreach>
     </update>
+
     <delete id="batchDelete" parameterType="java.util.List">
         delete from BMSTRUCK_DETAILS_ORDER
         where DETAILS_ID in
@@ -1519,4 +1520,23 @@
         where oo.ORDER_ID = #{orderId}
         and TTTR.RESULT_TIME_TYPE = 3
     </select>
+    <select id="selectDetailsNoAmount" resultType="java.util.LinkedHashMap">
+        SELECT atcp.price_id         "priceId",
+               atcp.price_value      "priceValue",
+               bdo.details_id        "detailsId",
+               bdo.details_amount    "detailsAmount",
+               twr.result_net_weight "netWeight"
+        FROM BMSTRUCK_DETAILS_ORDER BDO
+                 LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ATCP
+                           ON ATCP.PRICE_ID = bdo.PRICE_ID
+                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                           ON TWR.WEIGHT_TASK_RESULT_ID = bdo.weight_task_result_id
+                 left join tmstruck_total_result ttr
+                           on ttr.result_total_id = twr.result_total_id
+                 left join omstruck_order oo
+                           on oo.order_id = ttr.order_id
+        WHERE BDO.DETAILS_AMOUNT = 0
+          and oo.order_type = 11
+    </select>
+
 </mapper>