Bladeren bron

修改采购统计报表 修改根据时间查询数据工具类

txf 3 jaren geleden
bovenliggende
commit
96e3104625

+ 28 - 1
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -199,14 +199,41 @@ public class DataChange {
      * @return
      **/
     public static void queryDataByTwoDate(String startTime, String endTime, Map<String, Object> map,SimpleDateFormat sdf){
+        SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
         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))));
+        }
+        //如果开始时间和结束时间有且只有一个为空 则只查那天的数据
+        else if((startTime != null && !"null".equals(startTime)) || (endTime != null && !"null".equals(endTime))){
+            if(startTime != null && !"null".equals(startTime)){
+                queryDataByTwoDateSon(map, startTime, sdfDate);
+            }
+            if(endTime != null && !"null".equals(endTime)){
+                queryDataByTwoDateSon(map, endTime, sdfDate);
+            }
         }else {
             //如果两者时间都为空,则查询当天数据
-            SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
             String nowDate = sdfDate.format(new Date());
             map.put("oneDate", nowDate + " 00:00:00");
         }
     }
+
+    /**
+     * 上面方法的儿子方法 如果只传入了一个时间 则查询那天的数据
+     * @Author TXF
+     * @Date 2022/1/17 16:17
+     * @param map
+     * @param time
+     * @param sdfDate
+     * @return
+     **/
+    private static void queryDataByTwoDateSon(Map<String, Object> map, String time, SimpleDateFormat sdfDate){
+        Date date1 = new Date(Long.parseLong(time));
+        Date date2 = new Date(Long.parseLong(time) + 86400000);
+        String dayStartTime = sdfDate.format(date1);
+        String dayEndTime = sdfDate.format(date2);
+        map.put("startTime", dayStartTime + "00:00:00");
+        map.put("endTime", dayEndTime + "00:00:00");
+    }
 }

+ 10 - 12
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -30,10 +30,9 @@
                      TWR.RESULT_GROSS_WEIGHT_TIME   "resultGrossWeightTime",
                      RM.MATERIAL_NAME                     "materialName",
                      CONCAT(CONCAT(RM.MATERIAL_SPECIFICATION, '('), CONCAT(RM.MATERIAL_MODEL, ')')) "materialCode",
-                        <if test="orderTypee == 17 or orderTypee == 18">
-                            RS.SUPPLIER_NAME           "supplierName",
-                            RCON.CONSIGNEE_COMPANY_NAME "receiveName",
-                        </if>
+                     APO.PURCHASE_ORDER_NO      "purchaseOrderNo",
+                     RS.SUPPLIER_NAME           "supplierName",
+                     RCON.CONSIGNEE_COMPANY_NAME "receiveName",
                      TWR.RESULT_TARE_WEIGHT_TIME    "resultTareWeightTime"
               from OMSTRUCK_ORDER OO
                        left join TMSTRUCK_TOTAL_RESULT TTR
@@ -66,14 +65,13 @@
                                  on TRR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
                        left join TMSTRUCK_QUALITY_RESULT TQR
                                  on TQR.TOTAL_RESULT_ID = TTR.RESULT_TOTAL_ID
-                       <if test="orderTypee == 17 or orderTypee == 18">
-                           left join AMS_PURCHASE_ORDER APO
-                                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
-                       </if>
+                       left join AMS_PURCHASE_ORDER APO
+                            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_STATUS in (5, 8, 9, 1, 2)
                 and OO.ORDER_TYPE = #{orderTypee}
                     <if test="oneDate != null">