Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

hejiahui 2 vuotta sitten
vanhempi
commit
273fdb5d8d

+ 9 - 4
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -13,10 +13,7 @@ import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl;
 import com.steerinfo.dil.util.*;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -1426,4 +1423,12 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         }
         return success(count);
     }
+
+    @ApiOperation("反关闭运单")
+    @PostMapping("reverseCloseOrder")
+    public RESTfulResult reverseCloseOrder(@RequestBody(required = false) Map<String,Object> map){
+        //反关闭运单
+        int result = amsSaleOrderService.reverseCloseOrder(map);
+        return success(result);
+    }
 }

+ 9 - 4
src/main/java/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.java

@@ -2,13 +2,13 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.AmsSaleMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigDecimal> {
     @Select("select seq_AMS_SALE_MATERIAL.nextval from dual")
@@ -31,4 +31,9 @@ public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigD
     int openAllSaleMaterial(BigDecimal saleOrderId);
     // 反关闭分录
     int adverseCloseSaleMaterial(BigDecimal saleMaterialId);
+
+    int getOrderResults(BigDecimal orderId);
+
+    int updateSaleMaterial(BigDecimal saleOrderMaterialId);
+
 }

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

@@ -171,4 +171,6 @@ public interface IAmsSaleOrderService {
 
     List<Map<String, Object>> getKucunList(Map<String, Object> map);
 
+    int reverseCloseOrder(Map<String, Object> map);
+
 }

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

@@ -988,4 +988,5 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     }
 
 
+
 }

+ 61 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -1461,7 +1461,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         result += amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
         // 需要换车
-        if ((Integer) isNewCar == 0) {
+        if (isNewCar != null && (Integer) isNewCar == 0) {
             // 根据车序号得到定向派单表主键
             BigDecimal dispatchId = amsSaleOrderMapper.getDispatchId(saleOrderMaterialId);
             if (dispatchId != null) {
@@ -1725,7 +1725,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         //查询输入进来的车牌号是否与原有车牌号一致,如果一致则退出
         BigDecimal oldCapacityId = omstruckOrderMapper.getOldCapacityId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
         if(oldCapacityId.compareTo(DataChange.dataToBigDecimal(mapValue.get("capacityId"))) == 0){
-            return 0;
+            return 1;
         }
         if (lineSequence == null || "0".equals(lineSequence.toString()) || "1".equals(lineSequence.toString()) || "2".equals(lineSequence.toString())) {
             //这是修改车牌号
@@ -1991,5 +1991,64 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return amsSaleOrderMapper.getKucunList(map);
     }
 
+    //反关闭
+    @Override
+    public int reverseCloseOrder(Map<String, Object> map) {
+        Integer isOpenEas = (Integer) map.get("isOpenEas");
+        String operateName = (String) map.get("operateName");
+        int result = 0;
+        // 运输订单id
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        // 车序号id
+        BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
+        Map<String,Object> head = new HashMap<>();
+        Map<String,Object> input = new HashMap<>();
+        // 0:代表不关闭整单
+        String wholeOrder = "0";
+        // unClose : 代表反关闭
+        String status = "unClose";
+        if( orderId != null && orderId.intValue() != 0){
+            //根据订单id查询下面的实绩个数
+            int resultCount = amsSaleMaterialMapper.getOrderResults(orderId);
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            omstruckOrder.setOrderId(orderId);
+            if(resultCount == 0){
+                omstruckOrder.setOrderStatus(new BigDecimal(4));
+            }else{
+                omstruckOrder.setOrderStatus(new BigDecimal(5));
+            }
+            if(operateName != null){
+                omstruckOrder.setOptionerCode(operateName);
+            }
+            omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+            // 根据车序号主键修改子表
+            amsSaleMaterialMapper.updateSaleMaterial(saleOrderMaterialId);
+            //查询分录ID,修改金蝶
+            List<Map<String,Object>> saleMaterialIdList = amsSaleOrderMapper.getSaleMaterialId(saleOrderMaterialId);
+            for(Map<String,Object> easMap:saleMaterialIdList){
+                // 设置反关闭分录id
+                head.put("unCloseEntryId",easMap.get("closeEntryId"));
+                // 设置是否整单
+                head.put("wholeOrder",wholeOrder);
+                // 设置销售订单号
+                head.put("number",map.get("saleNumber"));
+                // 设置状态:unClose,反关闭;close,关闭
+                head.put("status",status);
+                input.put("head",head);
+                Map<String, Object> totalMap = easUtil.getTotalMap();
+                input.put("head",head);
+                totalMap.put("input",input);
+                // 调用金蝶关闭接口
+                String json = JSONUtils.toJSONString(totalMap);
+                System.out.println(json);
+                Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+                System.out.println(resultMap);
+            }
+            return 0;
+
+        }
+        return 1;
+    }
+
 
 }

+ 17 - 2
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -529,8 +529,7 @@
       AND OO.ORDER_PLAN_ID = #{saleOrderMaterialId}
     ORDER BY TWR.TARE_SEGMENT_SQE DESC
   </select>
-  
-  <delete id="deleteLoadResult" parameterType="DECIMAL" >
+    <delete id="deleteLoadResult" parameterType="DECIMAL" >
     DELETE FROM TMSTRUCK_LOAD_RESULT WHERE RESULT_ID = #{loadId}
   </delete>
 
@@ -580,5 +579,21 @@
     SET ASM.DELETED = NULL
     WHERE ASM.SALE_MATERIAL_ID = #{saleMaterialId}
   </update>
+  <update id="updateSaleMaterial" parameterType="decimal">
+    UPDATE AMS_SALE_MATERIAL ASM
+    SET ASM.DELETED = null
+    WHERE ASM.SALE_MATERIAL_ID IN
+    (SELECT ASTM.MATERIAL_ID
+     FROM AMS_SALE_ORDER_MATERIAL ASOM
+            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                      ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+     WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId})
+  </update>
 
+  <select id="getOrderResults" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
+    SELECT count(TER.RESULT_ID) FROM TMSTRUCK_TOTAL_RESULT TTR
+    LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+    ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+    WHERE TTR.ORDER_ID = #{orderId}
+  </select>
 </mapper>

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

@@ -2504,6 +2504,7 @@
     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
     LEFT JOIN OMSTRUCK_ORDER OO
     ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+    AND NVL(OO.ORDER_TYPE,0) BETWEEN 0 AND 1
     LEFT JOIN RMS_CAPACITY RC
     ON RC.CAPACITY_ID = OO.CAPACITY_ID
     LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
@@ -2595,6 +2596,7 @@
     ON RC.CARRIER_ID = ADSO.CARRIER_ID
     LEFT JOIN OMSTRUCK_ORDER OO
     ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+    AND NVL(OO.ORDER_TYPE,0) BETWEEN 0 AND 1
     LEFT JOIN AMS_SALE_MATERIAL ASM
     ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
     LEFT JOIN RMS_MATERIAL RM
@@ -3061,6 +3063,7 @@
     ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN OMSTRUCK_ORDER OO
     ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+    AND NVL(OO.ORDER_TYPE,0) BETWEEN 0 AND 1
     LEFT JOIN RMS_CARRIER RCA
     ON RCA.CARRIER_ID = ADSO.CARRIER_ID
     LEFT JOIN AMS_SALE_MATERIAL ASM
@@ -3511,7 +3514,8 @@
                             ON OO.CAPACITY_ID = RCA.CAPACITY_ID
            WHERE RCA.CAPACITY_NUMBER = #{capacityNumber}
              AND OO.ORDER_TYPE = 1
-           ORDER BY OO.ORDER_ID
+             AND OO.DRIVER_TEL IS NOT NULL
+           ORDER BY OO.ORDER_ID DESC
          )
     WHERE ROWNUM <![CDATA[
     <