luobang 2 năm trước cách đây
mục cha
commit
9296d9d990

+ 0 - 48
src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java

@@ -767,54 +767,6 @@ public class StatisticalReportController extends BaseRESTfulController {
         }
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getSaleSteelReport(map);
-        for (Map<String, Object> stringObjectMap : report) {
-            String shippingAddressIds = (String) stringObjectMap.get("shippingAddressIds");
-            String capacityNumbers= (String) stringObjectMap.get("capacityNumbers");
-            //确认是否有多个收货单位
-            if (shippingAddressIds !=null && !("".equals(shippingAddressIds))){
-                String[] split = shippingAddressIds.split(",");
-                String address="";
-                int i=0;
-                for (String s : split) {
-                    i++;
-                    String getaddress = statisticalReportService.getaddress(DataChange.dataToBigDecimal(s));
-                    if (i==1){
-                        address+="旧地址:"+getaddress+",";
-                    }else if (i==2){
-                        address+="新地址:"+getaddress;
-                    }
-                }
-                stringObjectMap.put("addressPlace",address);
-            }
-            //确认是否有多个车牌号
-            if (capacityNumbers!=null &&!("".equals(capacityNumbers))){
-                String[] split = capacityNumbers.split(",");
-                String capacityNumber="";
-                int flag=0;
-                for (String s : split) {
-                    flag++;
-                    String s1 = statisticalReportService.getcapacityNumber(DataChange.dataToBigDecimal(s));
-                    if (flag==1){
-                        capacityNumber+="旧车号:"+s1+",";
-                    }else if (flag==2){
-                        capacityNumber+="新车号:"+s1;
-                        break;
-                    }
-                }
-                stringObjectMap.put("capacityNo",capacityNumber);
-            }
-            /*try{
-                BigDecimal orderId = (BigDecimal) stringObjectMap.get("orderId");
-                if (orderId !=null){
-                    String status = statisticalReportService.getStatus(orderId);
-                    if (!(" ".equals(status))){
-                        stringObjectMap.put("orderStatus",status);
-                    }
-                }
-            }catch (Exception e){
-                e.printStackTrace();
-            }*/
-        }
         return success(report);
     }
 

+ 141 - 0
src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service.impl;
 import com.steerinfo.dil.mapper.StatisticalReportMapper;
 import com.steerinfo.dil.service.IStatisticalReportService;
 import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.PageListAdd;
 import oracle.sql.DATE;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -251,9 +252,149 @@ public class StatisticalReportImpl implements IStatisticalReportService {
     @Override
     public List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue) {
         List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelReport(mapValue);
+        HashSet set = new HashSet<>();
+        HashSet<Map<String,Object>> filterConsigneeList = new HashSet<>();
+        HashSet<Map<String,Object>> filterCarrierList = new HashSet<>();
+        HashSet<Map<String,Object>> filterCapacityList = new HashSet<>();
+        HashSet<Map<String,Object>> filtermaterialNameList = new HashSet<>();
+        HashSet<Map<String,Object>> filterorderStatus = new HashSet<>();
+        HashSet<Map<String,Object>> filteraddressPlace = new HashSet<>();
+        HashSet<Map<String,Object>> filtermaterialSpe = new HashSet<>();
+        HashSet<Map<String,Object>> filterSaleRemark = new HashSet<>();
+        int totalNumber = 0;
+        for (int j = 0; j < saleSteelReport.size();j++) {
+            Map<String,Object> stringObjectMap = saleSteelReport.get(j);
+            stringObjectMap.put("rowKey",j + 1);
+            if(j == 0) {
+                stringObjectMap.put("group",j);
+            }else{
+                if((saleSteelReport.get(j-1).get("saleOrderMaterialId")).equals(stringObjectMap.get("saleOrderMaterialId"))){
+                    stringObjectMap.put("group",saleSteelReport.get(j-1).get("group"));
+                }else{
+                    stringObjectMap.put("group",Integer.parseInt(saleSteelReport.get(j-1).get("group").toString()) + 1);
+                }
+            }
+            if( !"取消".equals(stringObjectMap.get("capacityNo")) && !"反审批".equals(stringObjectMap.get("saleOrderStatus")) &&
+            !"已关闭".equals(stringObjectMap.get("orderStatus"))) {
+                set.add(stringObjectMap.get("saleOrderMaterialId"));
+            }
+            //收货客户筛选
+            Map<String, Object> filterConsigneeMap = new HashMap<>();
+            filterConsigneeMap.put("text",stringObjectMap.get("consigneeName"));
+            filterConsigneeMap.put("value",stringObjectMap.get("consigneeName"));
+            filterConsigneeList.add(filterConsigneeMap);
+            //承运商筛选
+            Map<String,Object> filterCarrierMap = new HashMap<>();
+            filterCarrierMap.put("text",stringObjectMap.get("carrierName"));
+            filterCarrierMap.put("value",stringObjectMap.get("carrierName"));
+            filterCarrierList.add(filterCarrierMap);
+            //车牌号筛选
+            Map<String,Object> filterCapacityMap = new HashMap<>();
+            filterCapacityMap.put("text",stringObjectMap.get("newCapacityNo"));
+            filterCapacityMap.put("value",stringObjectMap.get("newCapacityNo"));
+            filterCapacityList.add(filterCapacityMap);
+            //物资筛选
+            Map<String,Object> filtermaterialNameMap = new HashMap<>();
+            filtermaterialNameMap.put("text",stringObjectMap.get("materialName"));
+            filtermaterialNameMap.put("value",stringObjectMap.get("materialName"));
+            filtermaterialNameList.add(filtermaterialNameMap);
+            //运单状态筛选
+            Map<String,Object> filterorderStatusMap = new HashMap<>();
+            filterorderStatusMap.put("text",stringObjectMap.get("orderStatus"));
+            filterorderStatusMap.put("value",stringObjectMap.get("orderStatus"));
+            filterorderStatus.add(filterorderStatusMap);
+            //收货地址筛选
+            Map<String,Object> filteraddressPlaceMap = new HashMap<>();
+            filteraddressPlaceMap.put("text",stringObjectMap.get("addressPlace"));
+            filteraddressPlaceMap.put("value",stringObjectMap.get("addressPlace"));
+            filteraddressPlace.add(filteraddressPlaceMap);
+            //物资规格筛选
+            Map<String,Object> filtermaterialSpeMap = new HashMap<>();
+            filtermaterialSpeMap.put("text",stringObjectMap.get("materialSpe"));
+            filtermaterialSpeMap.put("value",stringObjectMap.get("materialSpe"));
+            filtermaterialSpe.add(filtermaterialSpeMap);
+            //摘要筛选
+            Map<String,Object> filterSaleRemarkMap = new HashMap<>();
+            filterSaleRemarkMap.put("text",stringObjectMap.get("saleRemark"));
+            filterSaleRemarkMap.put("value",stringObjectMap.get("saleRemark"));
+            filterSaleRemark.add(filterSaleRemarkMap);
+            totalNumber += Integer.parseInt(stringObjectMap.get("materialNum").toString());
+            String capacityNumbers= (String) stringObjectMap.get("capacityNumbers");
+            //确认是否有多个收货单位
+            //if (shippingAddressIds !=null && !("".equals(shippingAddressIds))){
+            //    String[] split = shippingAddressIds.split(",");
+            //    String address="";
+            //    int i=0;
+            //    for (String s : split) {
+            //        i++;
+            //        String getaddress = getaddress(DataChange.dataToBigDecimal(s));
+            //        if (i==1){
+            //            address+="旧地址:"+getaddress+",";
+            //        }else if (i==2){
+            //            address+="新地址:"+getaddress;
+            //        }
+            //    }
+            //    stringObjectMap.put("addressPlace",address);
+            //}
+            //确认是否有多个车牌号
+            if (capacityNumbers!=null &&!("".equals(capacityNumbers))){
+                String[] split = capacityNumbers.split(",");
+                String capacityNumber="";
+                int flag=0;
+                for (String s : split) {
+                    flag++;
+                    String s1 = getcapacityNumber(DataChange.dataToBigDecimal(s));
+                    if (flag==1){
+                        capacityNumber+="旧车号:"+s1+",";
+                    }else if (flag==2){
+                        capacityNumber+="新车号:"+s1;
+                        break;
+                    }
+                }
+                stringObjectMap.put("capacityNo",capacityNumber);
+            }
+        }
+        if(saleSteelReport.size() > 0 && saleSteelReport.get(0) != null){
+            saleSteelReport.get(0).put("totalCapacity",set.size() + 1);
+            saleSteelReport.get(0).put("totalNumber",totalNumber);
+            saleSteelReport.get(0).put("filterConsigneeList",filterConsigneeList);
+            saleSteelReport.get(0).put("filtermaterialNameList",filtermaterialNameList);
+            saleSteelReport.get(0).put("filterorderStatus",filterorderStatus);
+            saleSteelReport.get(0).put("filteraddressPlace",filteraddressPlace);
+            saleSteelReport.get(0).put("filtermaterialSpe",filtermaterialSpe);
+            saleSteelReport.get(0).put("filterCapacityList",filterCapacityList);
+            saleSteelReport.get(0).put("filterCarrierList",filterCarrierList);
+            saleSteelReport.get(0).put("filterSaleRemark",filterSaleRemark);
+
+        }
         return saleSteelReport;
     }
 
+    private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
+        Set<Map<String, Object>> setString = new HashSet<>();
+        for (Map<String, Object> map : list) {//遍历每条数据
+            Map<String, Object> map1 = new HashMap<>();
+            //map.get(name)获取每条数据中对应表头字段的数据
+            map1.put("text", map.get(name));
+            if (map.get(name) != null) {
+                map1.put("value", map.get(name));
+                setString.add(map1);
+            }
+        }
+        return setString;
+    }
+
+    //public PageListAdd tableColumnData(Integer apiId, List<Map<String, Object>> list, List<Map<String,Object>> data) {
+    //    for (Map<String, Object> columnData : columnDataList) {
+    //        //每个表头字段的过滤条件
+    //        columnData.put("filters", setListMap(data, columnData.get("prop").toString()));
+    //    }
+    //    PageListAdd pageList = new PageListAdd(data);
+    //    pageList.setColumnData(columnDataList);
+    //    return pageList;
+    //}
+
+
     @Override
     public List<Map<String, Object>> getSaleSteelSpellingReport(Map<String, Object> mapValue) {
         List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelSpellingReport(mapValue);

+ 5 - 0
src/main/resources/application-prod.yml

@@ -5,6 +5,11 @@ spring:
     password: Dil123789
     username: dil
     driver-class-name: oracle.jdbc.OracleDriver
+    druid:
+      max-active: 50
+      initial-size: 5
+      min-idle: 3
+      max-wait: 1800000
   application:
     name: dil-tms-truck-dev
   mvc:

+ 9 - 13
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -1937,14 +1937,14 @@
                     ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
                     RS.SHIPPER_NAME "shipperName",
                     (CASE WHEN
-                    RCA.CAPACITY_NUMBER = '空白'
-                    then null
-                    else RCA.CAPACITY_NUMBER
+                    RCA.CAPACITY_NUMBER != '空白'
+                    then RCA.CAPACITY_NUMBER
+                    else ''
                     END) "capacityNo",
                     RCA.CAPACITY_NUMBER "newCapacityNo",
                     NVL(OO.CAPACITY_ID,0)  "capacityIds",
                     OO.CAPACITY_ID "capacityId",
-                    DECODE(NVL(OO.IS_ACCEPT,0),1,'已接收','') "isAccept",
+                    DECODE(OO.IS_ACCEPT,1,'已接收','') "isAccept",
                     ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
                     ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
                     ASOM.TRUCK_REMARK "truckRemark",
@@ -1954,9 +1954,9 @@
                     RM.MATERIAL_ID  "materialId",
                     RM.MATERIAL_NAME  "materialName",
                     RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpe",
-                    (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = ''
-                        THEN '自提'
-                        ELSE R_CARRIER.CARRIER_ABBREVIATION
+                    (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = ''
+                        THEN R_CARRIER.CARRIER_ABBREVIATION
+                        ELSE '自提'
                         END)
                      "carrierName",
                     OO.ORDER_NUMBER "orderNo",
@@ -1986,7 +1986,6 @@
                     TWR.RESULT_TARE_WEIGHT       "tareWeight",
                     TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
                     TWR.RESULT_NET_WEIGHT        "netWeight",
-                    TLR.RESULT_LOAD_END_TIME     "loadTime",
                     TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
                     TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
                     TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
@@ -2112,9 +2111,6 @@
                     TWR.SALE_MATERIAL_ID = ASM.SALE_MATERIAL_ID
                     and twr.SALE_MATERIAL_ID is not null
                     OR ( TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID AND TWR.MATERIAL_ID = RM.MATERIAL_ID and twr.sale_material_id is null )
-                    LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
-                              ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-                                  AND TLR.MATERIAL_ID = RM.MATERIAL_ID
                     LEFT JOIN BMSTRUCK_DETAILS_ORDER BDO
                               ON BDO.WEIGHT_TASK_RESULT_ID = TWR.WEIGHT_TASK_RESULT_ID
                     LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
@@ -2251,7 +2247,8 @@
                     <if test="consigneeLoginName != null">
                         and RC.CONSIGNEE_COMPANY_NAME LIKE '%${consigneeLoginName}%'
                     </if>
-                    and (aso.DELETED = 1 and aso.SALE_ORDER_STATUS = 4 or aso.DELETED != 1 and aso.SALE_ORDER_STATUS between 0 and 4)
+                    and (aso.DELETED between 1 and 2 and aso.SALE_ORDER_STATUS = 4 or aso.DELETED = 0 and aso.SALE_ORDER_STATUS between 0 and 4)
+                    and ASO.SALE_TYPE = 1
                     <if test="oneDate != null">
                         and to_date(#{oneDate}, 'yyyy-mm-dd') &lt; = to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
                     </if>
@@ -2260,7 +2257,6 @@
                         and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
                         and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
                     </if>
-                    and ASO.SALE_TYPE = 1
                     order by ASO.SALE_ORDER_ID DESC, ASOM.SALE_ORDER_MATERIAL_ID DESC,OO.ORDER_ID  DESC
                      )
     </select>

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

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