Browse Source

Merge branch 'master' into dev

zx 3 years ago
parent
commit
08430bca6a

+ 13 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -972,6 +972,19 @@ public class OmstruckOrderController extends BaseRESTfulController {
         return success(result);
     }
 
+    @ApiOperation(value = "根据运单id修改运力")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderId", value = "运单主键", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/updateCapacityId")
+    public RESTfulResult updateCapacityId(@RequestBody Map<String,Object> map) {
+        int result = omstruckOrderService.updateCapacityId(map);
+        return success(result);
+    }
+
+
+
+
     @ApiOperation(value = "查询所有空闲的司机排班信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),

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

@@ -277,6 +277,11 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //通过订单id查询零星订单id,运力id
     Map<String, Object> getSporadicOrdermapAddOrder(BigDecimal orderId);
 
+    //判断是否是钢材
+    BigDecimal getIsSteel(BigDecimal lineId);
+//
+//    //通过订单查询趟次
+//    Integer getSporadicOrderTimes(BigDecimal orderId);
    //删除计重实绩
    int deleteWeightResult(BigDecimal weightResultId);
 

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -191,4 +191,7 @@ public interface IOmstruckOrderService {
 
     //撤销订单
     int undoOrder(Map<String,Object> map);
+
+    //修改运力
+    int updateCapacityId(Map<String,Object> map);
 }

+ 11 - 9
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -58,14 +58,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         int result = 0;
         //通过总实绩Id 查询关联的线路子表顺序
         List<Map<String, Object>> segmentList = omstruckOrderSeparateMapper.getLineMesByOrderId(lineId);
-        //通过订单ID查询物资信息
-        List<Integer> materialIdList = omstruckOrderSeparateMapper.getMaterialIdByTotalId(resultTotalId);
-        BigDecimal materialId = null;
-        if(materialIdList.size() == 1){
-            materialId = new BigDecimal(materialIdList.get(0));
-        }
         Map<String,Object> totalIdMap = new HashMap<>();
-        totalIdMap.put("materialId", materialId);
         totalIdMap.put("resultTotalId",resultTotalId);
         totalIdMap.put("lineId", lineId);
         // 遍历路段顺序号子表
@@ -330,8 +323,10 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
      */
     @Override
     public Integer addSaleTruckOrder(Map<String, Object> mapValue) {
-        Integer orderType = (Integer) mapValue.get("orderType");
+//        Integer orderType = (Integer) mapValue.get("orderType");
         Integer lineId = (Integer) mapValue.get("lineId");
+        // 根据lineId查询是否是钢材
+        BigDecimal isSteel = omstruckOrderMapper.getIsSteel(new BigDecimal(lineId));
         BigDecimal dispatchId = DataChange.dataToBigDecimal(mapValue.get("dispatchId"));
         String capacityNumber = (String) mapValue.get("capacityNumber");
         OmstruckOrder omstruckOrder = new OmstruckOrder();
@@ -348,6 +343,14 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         omstruckOrder.setOrderNumber(orderNumber);
         omstruckOrder.setLineId(new BigDecimal(lineId));
         omstruckOrder.setOrderIssueTime(new Date());
+        // 如果线路类型为3或者4(危化品和焦炭)则为非钢材
+        if (isSteel != null && (isSteel.intValue() == 3 || isSteel.intValue() == 4)) {
+            omstruckOrder.setOrderType(new BigDecimal(2));
+        }
+        // 否则为钢材
+        else {
+            omstruckOrder.setOrderType(new BigDecimal(1));
+        }
         omstruckOrder.setOrderStatus(new BigDecimal(4));
         omstruckOrder.setInsertTime(new Date());
         omstruckOrder.setUpdateTime(new Date());
@@ -355,7 +358,6 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         omstruckOrder.setUpdateUsername("admin");
         omstruckOrder.setInsertUpdateRemark("无");
         omstruckOrder.setDeleted(new BigDecimal(0));
-        omstruckOrder.setOrderType(new BigDecimal(orderType));
         BigDecimal capacityId = omstruckOrderMapper.getCapacityId(capacityNumber);
         omstruckOrder.setCapacityId(capacityId);
         List<Map<String, Object>> mapList = omstruckOrderMapper.getMaterialMessages(dispatchId);

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

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service.impl;
 
+import com.baomidou.mybatisplus.extension.api.R;
 import com.steerinfo.dil.feign.AmsFeign;
 import com.steerinfo.dil.feign.IMFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
@@ -577,6 +578,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
 
         return result;
     }
+   //修改运力
+    @Override
+    public int updateCapacityId(Map<String,Object> map) {
+        int result=0;
+        OmstruckOrder omstruckOrder=new OmstruckOrder();
+        BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
+        BigDecimal capacityId =DataChange.dataToBigDecimal(map.get("capacityId"));
+        omstruckOrder.setOrderId(orderId);
+        omstruckOrder.setCapacityId(capacityId);
+        result+=omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        return result;
+    }
 
     /**
      * 销售物流,下发订单

+ 38 - 6
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -51,7 +51,7 @@ public class DataChange {
                     try {
                         decimal = new BigDecimal(str);
                     } catch (Exception e) {
-                        e.printStackTrace();
+                        System.out.println(data + ":数据解析失败!返回0");
                         return new BigDecimal(0);
                     }
                 }
@@ -90,7 +90,12 @@ public class DataChange {
             for (String s : key) {
                 //从map中取 date的值 并转换成字符串类型的日期
                 String stringDate = dateToDayDate(map.get(s));
-                map.put(s, stringDate);
+                if(stringDate.length() == 0){
+                    break;
+                }else {
+                    //修改map中的值
+                    map.put(s, stringDate);
+                }
             }
         }
     }
@@ -105,10 +110,15 @@ public class DataChange {
         for (Map<String, Object> map : list) {
             for (String s : key) {
                 //修改数据为带两位小数
-                BigDecimal oldDate = (BigDecimal) map.get(s);
-                DecimalFormat df =  new DecimalFormat("0.00");
-                String resultDeduction = df.format(oldDate.doubleValue());
-                map.put(s, resultDeduction);
+                try {
+                    BigDecimal oldDate = (BigDecimal) map.get(s);
+                    DecimalFormat df =  new DecimalFormat("0.00");
+                    String resultDeduction = df.format(oldDate.doubleValue());
+                    map.put(s, resultDeduction);
+                } catch (Exception e) {
+                    System.out.println("原料扣减量数据有误");
+                }
+
             }
         }
     }
@@ -156,4 +166,26 @@ public class DataChange {
         return sb.toString();
     }
 
+    /**
+     * 根据时间段查询数据
+     * @Author TXF
+     * @Date 2022/1/10 23:21
+     * @param startTime
+     * @param endTime
+     * @param map
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDate(String startTime, String endTime, Map<String, Object> map, SimpleDateFormat sdf){
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime) + 86400000)));
+        } else if (startTime != null && !"null".equals(startTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(startTime))));
+        } else if (endTime != null && !"null".equals(endTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(endTime))));
+        } else {
+            map.put("oneDate", sdf.format(new Date()));
+        }
+    }
 }

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

@@ -11,13 +11,13 @@ spring:
 #feign设置
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8001}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8083}
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:192.168.1.100:8008}
   AmsFeign:
     url: ${AMSFEIGN_URL:192.168.1.100:8015}
   ImFeign:
-    url: ${IMFEIGN_URL:172.16.33.162:8018}
+    url: ${IMFEIGN_URL:172.16.33.162:8055}
 
 
 server:

+ 10 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2754,7 +2754,8 @@
                OO.ORDER_NUMBER    "orderNumber",
                OO.ORDER_LINE_SEQUENCE   "orderLineSequence",
                RC.CAPACITY_NUMBER "capacityNumber",
-               RS.SUPPLIER_NAME   "loadName",
+               RS.SUPPLIER_NAME   "shipperName",
+               RCON.CONSIGNEE_COMPANY_NAME  "consigneeCompanyName",
                RW.WAREHOUSE_NAME  "unloadName",
                OO.ORDER_TYPE      "orderType"
         FROM OMSTRUCK_ORDER OO
@@ -2766,6 +2767,8 @@
                            ON APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
                  LEFT JOIN RMS_SUPPLIER RS
                            ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                 LEFT JOIN RMS_CONSIGNEE RCON
+                           ON RCON.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
         WHERE OO.ORDER_ID = #{orderId}
         <if test="status == null">
             AND OO.ORDER_STATUS in (4, 5)
@@ -3030,6 +3033,12 @@
             on oo.ORDER_PLAN_ID=aso.sporadic_order_id
         where oo.order_id= #{orderId}
     </select>
+
+    <select id="getIsSteel" parameterType="DECIMAL" resultType="DECIMAL">
+        SELECT RL.IS_STEEL AS "isSteel"
+        FROM RMS_LINE RL
+        WHERE RL.LINE_ID = #{lineId}
+    </select>
 <!--删除计重实绩id-->
     <delete id="deleteWeightResult" parameterType="java.math.BigDecimal">
         delete from TMSTRUCK_WEIGHT_RESULT