luobang 2 anos atrás
pai
commit
6f707ee0d8

+ 7 - 0
src/main/java/com/steerinfo/dil/controller/UniversalController.java

@@ -1178,4 +1178,11 @@ public class UniversalController extends BaseRESTfulController {
         }
         return results;
     }
+
+    @ApiOperation("销售钢材报表通用提交按钮")
+    @PostMapping("submitSteel")
+    public Map<String,Object> submitSteel(@RequestBody(required = false) Map<String,Object> map) {
+        Map<String,Object> responseMap = universalService.submitSteel(map);
+        return responseMap;
+    }
 }

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

@@ -282,4 +282,6 @@ public interface UniversalMapper {
 
     List<String> getColumnNoRoutList(Map<String, Object> map);
 
+    Map<String, Object> getSteelReportDetailsBySmId(BigDecimal saleOrderMaterialId);
+
 }

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

@@ -25,4 +25,5 @@ public interface UniversalService {
 
     List<String> getTest(Map<String, Object> map);
 
+    Map<String, Object> submitSteel(Map<String, Object> map);
 }

+ 97 - 0
src/main/java/com/steerinfo/dil/service/impl/UniversalServiceImpl.java

@@ -1,9 +1,11 @@
 package com.steerinfo.dil.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.feign.AmsFeign;
 import com.steerinfo.dil.feign.JoinFeign;
 import com.steerinfo.dil.mapper.UniversalMapper;
 import com.steerinfo.dil.service.UniversalService;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.ESUtil;
 import com.steerinfo.dil.util.HTTPRequestUtils;
 import com.steerinfo.framework.controller.RESTfulResult;
@@ -42,6 +44,9 @@ public class UniversalServiceImpl implements UniversalService {
 
     @Autowired
     private ESUtil esUtil;
+
+    @Autowired
+    private AmsFeign amsFeign;
     /**
      * 打印提货单
      * @param orderNumber 运输订单号
@@ -308,4 +313,96 @@ public class UniversalServiceImpl implements UniversalService {
             return 0;
         }
     }
+
+    @Override
+    public Map<String, Object> submitSteel(Map<String, Object> map) {
+        List<String> responseMapList = new ArrayList<>();
+        List<String> responseMapFailedList = new ArrayList<>();
+        BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
+        //根据车序号ID获取内容
+        Map<String,Object> oldMes = universalMapper.getSteelReportDetailsBySmId(saleOrderMaterialId);
+        //修改收货客户电话
+        if(map.get("consigneeTel") != null && !map.get("consigneeTel").equals(oldMes.get("consigneeTel"))) {
+            Map<String, Object> updateConsigneeTelMap = new HashMap<>();
+            updateConsigneeTelMap.put("saleOrderNo",map.get("saleOrderNo"));
+            updateConsigneeTelMap.put("saleOrderMaterialId",map.get("saleOrderMaterialId"));
+            updateConsigneeTelMap.put("consigneeTel",map.get("consigneeTel"));
+            Map<String,Object> updateConsigneeMap = amsFeign.updateConsigneeTel(updateConsigneeTelMap);
+            if(updateConsigneeMap.get("code").toString().equals("200")) {
+                responseMapList.add("修改收货客户电话号码成功");
+            }else{
+                responseMapFailedList.add("修改收货客户电话号码失败");
+            }
+        }
+        //修改司机电话号码
+        if(map.get("capacityTel") != null && !map.get("capacityTel").equals(oldMes.get("capacityTel"))) {
+            Map<String, Object> updateDriverTelMap = new HashMap<>();
+            updateDriverTelMap.put("orderId",map.get("orderId"));
+            updateDriverTelMap.put("saleOrderMaterialId",map.get("saleOrderMaterialId"));
+            updateDriverTelMap.put("driverTel",map.get("capacityTel"));
+            universalMapper.updateCapacityDriverTel(DataChange.dataToBigDecimal(map.get("orderId")).intValue(),map.get("capacityTel").toString());
+            universalMapper.updateDriverTel(updateDriverTelMap);
+            responseMapList.add("修改司机电话号码成功");
+
+        }
+        //修改承运商授权
+        if(map.get("carrierName") != null && !"".equals(map.get("carrierName")) && !map.get("carrierName").equals(oldMes.get("carrierName"))){
+            if(oldMes.get("carrierName") == null) {
+                List<Map<String,Object>> list = new ArrayList<>();
+                list.add(map);
+                Map<String,Object> updateCarrierMap = (Map<String, Object>) amsFeign.dispatchToCarrier(list);
+                if (updateCarrierMap.get("code").toString().equals("0")) {
+                    responseMapList.add("授权承运商成功");
+                }else {
+                    responseMapFailedList.add("授权承运商失败,请联系管理员");
+                }
+            }else{
+                Map<String,Object> updateCarrierMap = amsFeign.updateTruckNoCarrier(map);
+                if (updateCarrierMap.get("code").toString().equals("200")) {
+                    responseMapList.add("修改承运商授权成功");
+                }else {
+                    responseMapFailedList.add("修改承运商授权失败,请联系管理员");
+                }
+            }
+        }
+        //修改收货地址
+        if (map.get("place") != null && !"".equals(map.get("place")) && (!map.get("place").equals(oldMes.get("place"))) || DataChange.dataToBigDecimal(map.get("shipperAddressId")).compareTo(DataChange.dataToBigDecimal(oldMes.get("shipperAddressId"))) != 0){
+            map.put("isCloseEas",1);
+            map.put("isNewCar",1);
+            Map<String,Object> updateCarAddress = amsFeign.updateCarAddress(map);
+            if (updateCarAddress.get("code").toString().equals("200")) {
+                responseMapList.add("修改收货地址成功");
+            }else{
+                responseMapFailedList.add("修改收货地址失败,请联系管理员");
+            }
+
+        }
+        //修改运力
+        if (map.get("capacityNo") != null && !"".equals(map.get("capacityNo")) && !map.get("capacityNo").equals(oldMes.get("capacityNo"))) {
+            if(oldMes.get("capacityId") != null) {
+                //修改运力
+                Map<String,Object> updateCapacityMap = amsFeign.updateCapacityNumberInFactory(map);
+                if (updateCapacityMap.get("code").toString().equals("200")) {
+                    responseMapList.add("修改车牌号成功");
+                }else{
+                    responseMapFailedList.add("修改车牌号失败,失败理由:" + updateCapacityMap.get("data"));
+                }
+                System.out.println(updateCapacityMap);
+
+            }else{
+                List<Map<String,Object>> list = new ArrayList<>();
+                list.add(map);
+                Map<String,Object> updateCapacityMap = amsFeign.dispatchSteelOrder(list);
+                if (updateCapacityMap.get("code").toString().equals("200")) {
+                    responseMapList.add("派发车牌号成功");
+                }else{
+                    responseMapFailedList.add("派发车牌号失败,失败理由:" + updateCapacityMap.get("data"));
+                }
+            }
+        }
+        Map<String, Object> resMap = new HashMap<>();
+        resMap.put("response",responseMapList);
+        resMap.put("responseMapFailed",responseMapFailedList);
+        return resMap;
+    }
 }

+ 89 - 0
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -1485,4 +1485,93 @@
             RMS_WAREHOUSE.WAREHOUSE_NAME "warehouseName"
         FROM RMS_WAREHOUSE WHERE DELETED=0 AND WAREHOUSE_NAME LIKE #{index}
     </select>
+    <select id="getSteelReportDetailsBySmId" resultType="java.util.Map" parameterType="decimal">
+        SELECT distinct OO.ORDER_ID "orderId",
+                        ASO.SALE_ORDER_ID "saleOrderId",
+                        ASO.SALE_NUMBER "saleOrderNo",
+                        ASO.SALE_REMARK "saleRemark",
+                        ASO.SALER_ID    "salerId",
+                        ASO.SHIPPER_ID  "shipperId",
+                        ASO.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+                        RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+                        RC.CONSIGNEE_ID "receiveId",
+                        ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+                        RS.SHIPPER_NAME "shipperName",
+                        (CASE WHEN
+                                  RCA.CAPACITY_NUMBER = '空白'
+                                  then null
+                              else RCA.CAPACITY_NUMBER
+                            END) "capacityNo",
+                        (CASE WHEN
+                                  RCA.CAPACITY_NUMBER = '空白'
+                                  then null
+                              else RCA.CAPACITY_NUMBER
+                            END) "capacityNoFlag",
+                        NVL(OO.CAPACITY_ID,0)  "capacityIds",
+                        OO.CAPACITY_ID "capacityId",
+                        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+                        ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
+                        OO.ORDER_LINE_SEQUENCE "lineSequence",
+                        ASO.SALE_ORDER_ISSELF_MENTION "isSelfMention",
+                        RSR.SALER_NAME "saler",
+                        RSR.SALER_ID    "saler",
+                        R_CARRIER.CARRIER_ABBREVIATION "carrierName",
+                        OO.ORDER_NUMBER "orderNo",
+                        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+                        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
+                        RRP.PLACE_ID "placeId",
+                        RRP.ADDRESS_DELIVERY_ADDRESS "place",
+                        RRA.ADDRESS_ID "shipperAddressId",
+                        RRA.ADDRESS_PROVINCE "addressProvince",
+                        RRA.ADDRESS_DISTRICT "addressDistrict",
+                        RRA.ADDRESS_TOWN "addressTown",
+                        OO.ORDER_LINE_SEQUENCE "lineSqe",
+                        OO.DRIVER_TEL "capacityTel",
+                        TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
+                        TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
+                        QQR.RESULT_START_TIME       "queueStartTime",
+                        ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
+                        R_CARRIER.CARRIER_ID        "carrierId",
+                        NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
+                        OO.ORDER_STATUS              "carStatus",
+                        DECODE(ASO.SALE_ORDER_STATUS,1,'销售订单已上报',
+                               2,'销售已提交',
+                               4,'财务已审批',
+                               0,'销售订单未上报') "saleOrderStatus",
+                        DECODE(nvl(OO.ORDER_STATUS,0) ,2,'已完成',4,'已派发',5,'已接收',0,'未派发',7,'已关闭',8,'已关闭')
+                            "orderStatus",
+                        oo.ORDER_STATUS "orderStatu"
+        FROM AMS_SALE_ORDER ASO
+                 LEFT JOIN RMS_CONSIGNEE RC
+                           ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                 LEFT JOIN RMS_SHIPPER RS
+                           ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+                 LEFT JOIN RMS_SALER RSR
+                           ON RSR.SALER_ID = ASO.SALER_ID
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                 LEFT JOIN RMS_RECEIVE_PLACE RRP
+                           ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+                 LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+                           ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                 LEFT JOIN RMS_CARRIER R_CARRIER
+                           ON R_CARRIER.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) in (0,1)
+                 LEFT JOIN RMS_CAPACITY RCA
+                           ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON TTR.ORDER_ID = OO.ORDER_ID
+                 LEFT JOIN QMS_QUEUE_RESULT QQR
+                           ON QQR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+                           ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+                           ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE ASO.SALE_TYPE = 1
+          AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </select>
 </mapper>