瀏覽代碼

Merge remote-tracking branch 'origin/master'

zyf 2 年之前
父節點
當前提交
7e8d13eab8

+ 11 - 4
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -800,10 +800,10 @@ public class OmstruckOrderController extends BaseRESTfulController {
             @ApiImplicitParam(name = "orderId", value = "运单主键", required = false, dataType = "Integer"),
     })
     @PostMapping("/closeOmstruckOrder")
-    public RESTfulResult closeOmstruckOrder(@RequestParam Integer orderId) {
+    public RESTfulResult closeOmstruckOrder(@RequestBody Map<String,Object> map) {
         int result = 0;
         try {
-            result = omstruckOrderService.closeOmstruckOrder(new BigDecimal(orderId));
+            result = omstruckOrderService.closeOmstruckOrder(map);
         } catch (Exception e) {
             return failed(e.getMessage());
         }
@@ -1104,7 +1104,8 @@ public class OmstruckOrderController extends BaseRESTfulController {
                                                Integer orderStatus,
                                                String carrierId,
                                                String con,
-                                               Integer planEnableStatus) {
+                                               Integer planEnableStatus,
+                                               String userId) {
 
         if (mapValue == null) {
             mapValue = new HashMap<>();
@@ -1115,6 +1116,12 @@ public class OmstruckOrderController extends BaseRESTfulController {
         if (planEnableStatus != null && !"undefined".equals(planEnableStatus)) {
             mapValue.put("planEnableStatus",planEnableStatus);
         }
+        if(con!=null && !"".equals(con) && !"undefined".equals(con) && !"null".equals(con)){
+            mapValue.put("con",con);
+        }
+        if(userId!=null && !"".equals(userId) && !"undefined".equals(userId)){
+            mapValue.put("userId",userId);
+        }
         mapValue.put("orderStatus",orderStatus);
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> columnList = omstruckOrderService.getPurInwardOrderList(mapValue);
@@ -1299,7 +1306,7 @@ public class OmstruckOrderController extends BaseRESTfulController {
     public RESTfulResult canCapacityEnfactory(@RequestBody Map<String,Object> mapValue) {
         String result = omstruckOrderMapper.canCapacityEnfactory(mapValue);
         Integer orderType = (Integer) mapValue.get("orderType");
-        if (orderType != 1 && orderType != 4) {
+        if (orderType != 1) {
             return success("OK");
         }
         else {

+ 17 - 14
src/main/java/com/steerinfo/dil/controller/OmstruckOrderMaterialController.java

@@ -69,21 +69,24 @@ public class OmstruckOrderMaterialController extends BaseRESTfulController {
     public RESTfulResult updateMaterialMes(@RequestBody(required = false) Map<String, Object> map){
         int i = omstruckOrderMaterialService.updateMaterialMes(map);
         BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
-//         调用金蝶接口,将销售订单推送到金蝶系统
-        Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
-        Map<String, Object> head = (Map<String, Object>) input.get("head");
-        head.put("status", "update");
-        // 获得金蝶接口配置:正式
-        Map<String, Object> totalMap = easUtil.getTotalMap();
+        if(saleOrderId != null){
+            //         调用金蝶接口,将销售订单推送到金蝶系统
+            Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
+            Map<String, Object> head = (Map<String, Object>) input.get("head");
+            head.put("status", "update");
+            // 获得金蝶接口配置:正式
+            //Map<String, Object> totalMap = easUtil.getTotalMap();
 //        // 获得金蝶接口配置:测试
-//        Map<String, Object> totalMap = easDeleteTestUtil.getTotalMap();
-        // 组装报文
-        totalMap.put("input", input);
-        System.out.println(totalMap);
-        String json = JSONUtils.toJSONString(totalMap);
-        System.out.println(json);
-        Map<String,Object> resultMap = joinFeign.pushSaleOrderToEas(totalMap);
-        System.out.println(resultMap);
+            Map<String, Object> totalMap = easDeleteTestUtil.getTotalMap();
+            // 组装报文
+            totalMap.put("input", input);
+            System.out.println(totalMap);
+            String json = JSONUtils.toJSONString(totalMap);
+            System.out.println(json);
+            Map<String,Object> resultMap = joinFeign.pushSaleOrderToEas(totalMap);
+            System.out.println(resultMap);
+            return success(i);
+        }
         return success(i);
     }
 

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

@@ -77,7 +77,7 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
         if (orderId.intValue() != 0) {
             result = omstruckOrderSeparateService.getOrderResult(orderId);
         }
-        else {
+        else if(orderNumber != null) {
             result = omstruckOrderSeparateService.getOrderNumberResult(orderNumber);
         }
         return result;

+ 2 - 1
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.OmstruckOrder;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -143,7 +144,7 @@ public interface IOmstruckOrderService {
     int addAppTruckOrder(Integer dispatchId, Integer orderType, String capacityNumber,Integer carrierId);
 
     // 根据运单id关闭订单
-    int closeOmstruckOrder(BigDecimal orderId) throws Exception;
+    int closeOmstruckOrder( Map<String,Object> map) throws Exception;
 
     // 查询所有车牌号和司机
     List<Map<String, Object>> getCapacityAndDriverList(Map<String, Object> mapValue);

+ 5 - 1
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java

@@ -311,6 +311,8 @@ public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialS
         for (Map<String, Object>map1 : mapList) {
             if (orderIds != null) {
                 BigDecimal orderId = DataChange.dataToBigDecimal(orderIds);
+                //根据运输订单id去查询订单类型
+                Integer orderType = omstruckOrderMapper.getOrderTypeByOrderId(orderId);
                 BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
                 BigDecimal materialNum = DataChange.dataToBigDecimal(map1.get("materialNum"));
                 map1.put("orderId",orderId);
@@ -326,7 +328,9 @@ public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialS
                     omstruckOrderMaterial.setOrderMaterialWeight(newWeight);
                 }
                 //修改销售订单物资子表
-                omstruckOrderMaterialMapper.updateSaleOrderMaterialMes(saleMaterialId, materialNum, newWeight);
+                if(orderType == 1){
+                    omstruckOrderMaterialMapper.updateSaleOrderMaterialMes(saleMaterialId, materialNum, newWeight);
+                }
                 //修改订单物资子表 与出库实绩
                 omstruckOrderMaterial.setOrderId(orderId);
                 omstruckOrderMaterial.setMaterialId(materialId);

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

@@ -245,7 +245,7 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
         if(orderType == 11 || orderType == 25){
             return getAllOrderResult(resultTotalId);
-        }else if(orderType == 21){
+        }else if(orderType == 21|| orderType == 26){
             return getTimeOrderResult(resultTotalId);
         }else {
             return getNormalOrderResult(resultTotalId);

+ 43 - 12
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -17,7 +17,9 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
 
+import javax.xml.crypto.Data;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -580,9 +582,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         int result=0;
         BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
         Map<String, Object> mesMap = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
-        if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1||DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 4){
-            throw new Exception("钢材订单不允许撤销!");
-        }
+        //if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1||DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 4){
+        //    throw new Exception("钢材订单不允许撤销!");
+        //}
         if(DataChange.dataToBigDecimal(mesMap.get("lineSqe")).intValue() >= 1){
             throw new Exception("撤单失败");
         }
@@ -857,19 +859,19 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     public  int driverReceiveOrRefuse(Map<String, Object> map) throws RuntimeException {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         OmstruckOrder omstruckOrder = new OmstruckOrder();
+        //通过订单ID查询信息
+        Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
+        int orderType = DataChange.dataToBigDecimal(orderMessage.get("orderType")).intValue();
         if((Integer) map.get("orderReceiveStatus") == 1) {
             List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
             if (orderIdList.size() > 0) {
                 throw  new RuntimeException("已有接收的订单!");
             }
             omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
-            //通过订单ID查询信息
-            Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
             int orderStatus = DataChange.dataToBigDecimal(orderMessage.get("orderStatus")).intValue();
             if(orderStatus == 5 || orderStatus == 6) {
                 throw new RuntimeException("订单已被接收或已被拒绝!");
             }
-            int orderType = DataChange.dataToBigDecimal(orderMessage.get("orderType")).intValue();
             if(orderType == 1){
                 //订阅车辆 查询车牌号
                 String capacityNumber = omstruckOrderMapper.getCapacityNumberByCapacityId(DataChange.dataToBigDecimal(orderMessage.get("capacityId")));
@@ -884,7 +886,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                     zjxlUtilMapper.insertSubCapacity(zjxlUtilMapper.getSubCapacityMaxId(), capacityNumber, DataChange.dataToBigDecimal(orderMessage.get("resultTotalId")));
                 }
             }
-            if(orderType == 11 || orderType == 15 || orderType == 16){
+            if(orderType == 11 || orderType == 15 || orderType == 16 ){
                 //判断是否为化专线厂区内转
                 Map<String, Object> inwardLine = omstruckOrderMapper.isInwardLine(orderId);
                 String rangeValue = (String) inwardLine.get("rangeValue");
@@ -901,7 +903,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 if (!"200".equals(mcMap.get("code"))) {
                     throw new RuntimeException("委托发送失败!");
                 }
-            }else if(orderType!=21&&orderType!=25){
+            }else if(orderType!=21&&orderType!=25 && orderType!=26){
                 //添加各个实绩
                 omstruckOrderSeparateService.addAllSonResult(orderMessage);
                 if (orderType==19){
@@ -939,6 +941,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 }
             }
         } else { //其他状态都视为 拒绝接单
+            if(orderType == 1){
+                throw  new RuntimeException("钢材不允许撤销订单!");
+            }
             omstruckOrder.setOrderStatus(new BigDecimal(6));
             //添加拒绝原因
             omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
@@ -1519,17 +1524,22 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
 
     /**
      * 根据运单id关闭订单
-     * @param orderId
+     * @param map
      * @return
      */
     @Override
-    public int closeOmstruckOrder(BigDecimal orderId) throws Exception {
+    public int closeOmstruckOrder(Map<String,Object> map) throws Exception {
+        //获取订单id
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        String operationUserId = (String) map.get("userId");
         BigDecimal i = omstruckOrderSeparateMapper.getWeightTask(orderId);
         if(i != null){
             throw new Exception("存在计量实绩,无法删除");
         }
         OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
         omstruckOrder.setOrderStatus(new BigDecimal(7));
+        omstruckOrder.setInsertUpdateRemark("用户:" + operationUserId + "操作删除");
+        omstruckOrder.setUpdateTime(new Date());
         int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
         return result;
     }
@@ -1585,6 +1595,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             orderType = BigDecimal.valueOf(25);
             mapValue.put("orderType", orderType);
         }
+        if(inwardType.equals("计次")){
+            mapValue.remove(orderType);
+            orderType = BigDecimal.valueOf(26);
+            mapValue.put("orderType", orderType);
+        }
         Integer carrierId = (Integer) mapValue.get("carrierId");
         AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
         amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
@@ -2025,6 +2040,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      **/
     public boolean getDriverConfirmation(Map<String, Object> map){
         Integer driverConfirmation = omstruckOrderMapper.getDriverConfirmation(DataChange.dataToBigDecimal(map.get("orderId")));
+        //获取当前路段顺序号与订单路段顺序号
+        Map<String, Object> seqMap = omstruckOrderMapper.getMaxLineSeqByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+        //订单当前路段顺序号
+        if(seqMap != null){
+            BigDecimal orderLineSequence = DataChange.dataToBigDecimal(seqMap.get("orderLineSequence"));
+            //路径最大路段顺序号
+            BigDecimal maxSegmentSqe = DataChange.dataToBigDecimal(seqMap.get("segmentSqe"));
+            int i = maxSegmentSqe.intValue() - orderLineSequence.intValue();
+            if(i != 1 && i != 2){
+                return false;
+            }
+        }
         return driverConfirmation == null;
     }
 
@@ -2106,6 +2133,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
                 mesMap.put("inwardType", "内转计时");
                 break;
+            case 26:
+                mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
+                mesMap.put("inwardType", "内转计次");
+                break;
             case 12:
             case 13:
             case 14:
@@ -2129,8 +2160,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                             String steelmeter1 = steelmeter.toString();
                             steelmeter1+="米";
                             //原来的物资名称
-                            String materialName = (String) stringObjectMap.get("materialName");
-                            stringObjectMap.put("materialName",materialName+" "+steelmeter1);
+                            String materialMC = (String) stringObjectMap.get("materialMC");
+                            stringObjectMap.put("materialMC",materialMC+" "+steelmeter1);
                         }
                     }
                 }

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

@@ -5,13 +5,7 @@ spring:
     password: Dil123789
     username: dil
     driver-class-name: oracle.jdbc.OracleDriver
-    druid:
-      max-active: 20
-      max-wait: 1200
-      keep-alive: true
-      initial-size: 10
-      min-evictable-idle-time-millis: 180000
-      min-idle: 10
+
   application:
     name: DAL-OMS-API-PROD
 

+ 1 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstrainOrderMapper.xml

@@ -631,6 +631,7 @@
                           <if test="sendStation != null">
                             and RAR.ARRIVAL_NAME  like #{sendStation}
                           </if>
+                        Order By OTO.ORDER_WAGON_NO,"OutStation"
                           )
   </select>
     <select id="getTrainOrderIds" resultType="java.math.BigDecimal" parameterType="decimal">

+ 18 - 3
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -1940,6 +1940,7 @@
         LEFT JOIN RMS_MATERIAL RM
         ON RM.MATERIAL_ID = ASM.MATERIAL_ID
         <where>
+            ASM.SALE_MATERIAL_ID IS NOT NULL
             <if test="orderStatus!=null">
                 AND OO.ORDER_STATUS = #{orderStatus}
             </if>
@@ -2068,10 +2069,10 @@
         LEFT JOIN RMS_MATERIAL RM
         ON RM.MATERIAL_ID = ASM.MATERIAL_ID
         <where>
+            ASM.SALE_MATERIAL_ID IS NOT NULL
             <if test="saleOrderId!=null">
                 AND ASO.SALE_ORDER_ID = #{saleOrderId}
             </if>
-
             <if test="numberPlate!=null">
                 AND RC.CAPACITY_NUMBER LIKE #{numberPlate}
             </if>
@@ -3010,6 +3011,8 @@
         LEFT JOIN AMS_SALE_MATERIAL AMS
         ON AMS.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
         WHERE OOM.ORDER_ID=#{orderId}
+        and AMS.SALE_MATERIAL_ID IS NOT NULL
+        and AMS.DELETED IS NULL
     </select>
     <!-- 内转原料司机接单 -->
     <select id="getInwardOrderMap" parameterType="DECIMAL" resultType="java.util.Map">
@@ -3535,6 +3538,12 @@
         <if test="planEnableStatus !=null">
             AND AIP.PLAN_EABLE_STATUS = 1
         </if>
+        <if test="con!=null and con!=''.toString()">
+            AND APO.PURCHASE_ORDER_NO || RC.CAPACITY_NUMBER LIKE CONCAT('%',CONCAT(#{con},'%'))
+        </if>
+        <if test="userId!=null">
+            AND OO.OPTIONER_CODE LIKE CONCAT('%',CONCAT(#{userId},'%'))
+        </if>
         ORDER BY OO.INSERT_TIME DESC
         )
 
@@ -4060,6 +4069,7 @@
     </select>
 
     <select id="canCapacityEnfactory" parameterType="java.util.Map" resultType="java.lang.String">
+        SELECT * FROM (
         SELECT
         TER.INSERT_UPDATE_REMARK AS "isOk"
         FROM OMSTRUCK_ORDER OO
@@ -4074,7 +4084,8 @@
             <if test="orderNumber != null">
                 AND OO.ORDER_NUMBER = #{orderNumber}
             </if>
-        </where>
+        </where>)
+        WHERE ROWNUM = 1
     </select>
 
     <select id="getWarehouseMes" parameterType="java.util.Map" resultType="java.util.Map" >
@@ -4098,10 +4109,14 @@
         TWR.RESULT_NET_WEIGHT        "netWeight",
         TLR.RESULT_LOAD_END_TIME     "loadTime",
         TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
-        TER.RESULT_ENTRY_GATE_TIME   "entryGateTime"
+        TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
+        ASOM.SALE_ORDER_MATERIAL_ID  "saleOrderMaterialId",
+        ASOM.SALE_ORDER_ID          "saleOrderId"
         FROM OMSTRUCK_ORDER OO
         LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
         ON OOM.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
         LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
         ON OO.ORDER_ID = TTR.ORDER_ID
         LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER

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

@@ -493,7 +493,7 @@
       from OMSTRUCK_ORDER OO
       where OO.CAPACITY_ID = (select CAPACITY_ID from RMS_CAPACITY where CAPACITY_ID = #{capacityId})
         and OO.ORDER_STATUS = 5
-        and OO.ORDER_TYPE = 1
+        and OO.ORDER_TYPE in (1,25)
     </select>
 
 

+ 3 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -731,6 +731,9 @@
                 LEFT JOIN RMS_UNIT_OF_MEASURE RUOM ON TTTR.RESULT_UOM_ID = RUOM.UNIT_OF_MEASURE_ID
         WHERE
                 TTTR.RESULT_VALUE IS NOT NULL and TTTR.RESULT_TIME_TYPE = 3 and TTTR.INSERT_USERNAME =#{userId}
+        <if test="orderType!=null">
+            AND OO.ORDER_TYPE=#{orderType}
+        </if>
         <include refid="orderBy">
         </include>
         <if test="orderField == null  ">

+ 1 - 1
src/main/resources/log4j.properties

@@ -1,5 +1,5 @@
 ## LOG4J配置
-log4j.rootCategory=INFO, stdout,file, RUNNING,errorfile
+log4j.rootCategory=INFO,file, RUNNING,errorfile
 ## 控制台输出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout