dengyj 3 jaren geleden
bovenliggende
commit
8ab08345cd
23 gewijzigde bestanden met toevoegingen van 1757 en 39 verwijderingen
  1. 2 0
      src/main/java/com/steerinfo/baseinfo/meterbaseoperationlog/mapper/MeterBaseOperationLogMapper.java
  2. 74 0
      src/main/java/com/steerinfo/baseinfo/meterbaseoperationlog/mapper/MeterBaseOperationLogMapper.xml
  3. 3 0
      src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.java
  4. 155 0
      src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.xml
  5. 2 0
      src/main/java/com/steerinfo/filter/SecurityFilter.java
  6. 1 1
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.java
  7. 42 2
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.xml
  8. 1 1
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java
  9. 1 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.java
  10. 34 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.xml
  11. 13 0
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/controller/MeterWorkDataCountController.java
  12. 3 0
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/mapper/MeterWorkDataCountMapper.java
  13. 189 3
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/mapper/MeterWorkDataCountMapper.xml
  14. 9 0
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/model/CarRegularComparison.java
  15. 67 0
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/model/WorkLoadReportInfo.java
  16. 1 0
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/service/IMeterWorkDataCountService.java
  17. 1038 13
      src/main/java/com/steerinfo/meterwork/meterworkdatacount/service/impl/MeterWorkDataCountServiceImpl.java
  18. 2 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.java
  19. 41 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.xml
  20. 1 1
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java
  21. 2 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.java
  22. 47 3
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml
  23. 29 15
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/impl/MeterWorkRailwayReceivedServiceImpl.java

+ 2 - 0
src/main/java/com/steerinfo/baseinfo/meterbaseoperationlog/mapper/MeterBaseOperationLogMapper.java

@@ -18,6 +18,8 @@ public interface MeterBaseOperationLogMapper extends IBaseMapper<MeterBaseOperat
 
     //根据时间查询所有秤点的结净匹配委托、撤销委托、结净已上传、结净未上传
     List<HashMap> countAllFirstState(Map<String, Object> params);
+    List<HashMap> countAllFirstState02(Map<String, Object> params);
+    List<HashMap> countAllFirstState03(Map<String, Object> params);
     List<HashMap> countAllActualState(Map<String, Object> params);
     List<HashMap> allFirstStateView(Map<String, Object> params);
     List<HashMap> allActualStateView(Map<String, Object> params);

+ 74 - 0
src/main/java/com/steerinfo/baseinfo/meterbaseoperationlog/mapper/MeterBaseOperationLogMapper.xml

@@ -636,6 +636,80 @@
     </if>
   </select>
 
+  <select id="countAllFirstState02" parameterType="java.util.HashMap" resultType="hashmap">
+    select B.base_spot_no,
+           B.base_spot_name,
+           t.create_man_no,
+           t.create_man_name,
+           B.meter_mode,
+           C.meter_type_no,
+           C.meter_type_name,
+           count(1) count_resetCar
+    from meter_base_operation_log t
+        left join meter_work_car_actual_First B
+            on t.operation_id = B.Actual_First_No
+        left join pre_track_scale C
+            on B.prediction_no = C.prediction_no
+    where 1=1
+      and t.operation_page like '%web端-汽车衡一次数据维护%'
+      and t.operation_function like '%车号%'
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      <if test="baseSpotNo != null and baseSpotNo != ''">
+        and  B.base_spot_no like '%${baseSpotNo}%'
+      </if>
+      <if test="baseSpotName != null and baseSpotName != ''">
+        and  B.base_spot_name like '%${baseSpotName}%'
+      </if>
+    group by B.base_spot_no,
+            B.base_spot_name,
+            t.create_man_no,
+            t.create_man_name,
+            B.meter_mode,
+            C.meter_type_no,
+            C.meter_type_name
+  </select>
+
+  <select id="countAllFirstState03" parameterType="java.util.HashMap" resultType="hashmap">
+    select B.base_spot_no,
+          B.base_spot_name,
+          t.create_man_no,
+          t.create_man_name,
+          B.meter_mode,
+          C.meter_type_no,
+          C.meter_type_name,
+          count(1) count_resetCar
+    from meter_base_operation_log t
+        left join meter_work_railway_act_first B
+            on t.operation_id = B.Actual_First_No
+        left join pre_railway_scale C
+            on B.prediction_no = C.prediction_no
+    where 1=1
+      and t.operation_page like '%web端-轨道衡一次数据维护%'
+      and t.operation_function like '%车号%'
+      and B.RAILWAY_TYPE_NO in
+      <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      <if test="baseSpotNo != null and baseSpotNo != ''">
+        and  B.base_spot_no like '%${baseSpotNo}%'
+      </if>
+      <if test="baseSpotName != null and baseSpotName != ''">
+        and  B.base_spot_name like '%${baseSpotName}%'
+      </if>
+    group by B.base_spot_no,
+            B.base_spot_name,
+            t.create_man_no,
+            t.create_man_name,
+            B.meter_mode,
+            C.meter_type_no,
+            C.meter_type_name
+  </select>
+
   <select id="countAllActualState" parameterType="java.util.HashMap" resultType="hashmap">
     select t.ID, t.CREATE_MAN_NO, t.CREATE_MAN_NAME, t.CREATE_TIME, t.UPDATE_MAN_NO, t.UPDATE_MAN_NAME,
     t.UPDATE_TIME, t.DELETE_MAN_NO, t.DELETE_MAN_NAME, t.DELETE_TIME, t.OPERATION_PAGE,

+ 3 - 0
src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.java

@@ -27,4 +27,7 @@ public interface MeterBaseSpotInfoMapper extends IBaseMapper<MeterBaseSpotInfo,
      List<MeterBaseSpotInfo> TSDGSpotInfo(Map<String, Object> parameters);
 
      List<MeterBaseSpotInfo> spotInfoByList(Map<String, Object> param);
+
+     List<MeterBaseSpotInfo> carSpotGroupByActualAndFirst(Map<String, Object> param);
+     List<MeterBaseSpotInfo> staticSpotGroupByActualAndFirst(Map<String, Object> param);
 }

+ 155 - 0
src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.xml

@@ -1130,4 +1130,159 @@
       and SPOT_TYPE_NAME = #{spotTypeName}
     </if>
   </select>
+
+  <select id="carSpotGroupByActualAndFirst" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    select  base_spot_no,
+       base_spot_name
+    from
+    (
+      (select A.base_spot_no base_spot_no,
+             A.base_spot_name base_spot_name,
+             A.create_man_no create_man_no,
+             A.create_man_name create_man_name,
+             A.meter_mode meter_mode,
+             B.meter_type_no meter_type_no,
+             B.meter_type_name meter_type_name
+        from meter_work_car_actual_first A
+        left join pre_track_scale B
+          on A.prediction_no = B.prediction_no
+        where 1 = 1
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+          and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+          and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+       group by A.base_spot_no, A.base_spot_name, A.create_man_no, A.create_man_name, A.meter_mode, B.meter_type_no, B.meter_type_name)
+      union
+      (select A.net_spot3_no base_spot_no,
+             A.net_spot3_name base_spot_name,
+             A.net_man_no create_man_no,
+             A.net_man_name create_man_name,
+             A.net_mode meter_mode,
+             B.meter_type_no meter_type_no,
+             B.meter_type_name meter_type_name
+      from meter_work_car_actual A
+        left join pre_track_scale B
+          on A.prediction_no = B.prediction_no
+          where 1 = 1
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+          and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+          and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+       group by A.net_spot3_no, A.net_spot3_name, A.net_man_no, A.net_man_name, A.net_mode, B.meter_type_no, B.meter_type_name)
+    union
+    (
+    select B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name
+    from meter_base_operation_log t
+    left join meter_work_car_actual_First B
+    on t.operation_id = B.Actual_First_No
+    left join pre_track_scale C
+    on B.prediction_no = C.prediction_no
+    where 1=1
+    and t.operation_page like '%web端-汽车衡一次数据维护%'
+    and t.operation_function like '%车号%'
+    <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+      and  B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+      and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+    </if>
+    group by B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name)
+    )
+    where 1 = 1
+    <if test="netSpot3NoStr != null and netSpot3NoStr != ''">
+      and base_spot_no in
+      <foreach collection="spotNoStr" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+    </if>
+    <if test="baseSpotNo != null and baseSpotNo != ''">
+      and base_spot_no = #{baseSpotNo}
+    </if>
+    <if test="baseSpotName != null and baseSpotName != ''">
+      and base_spot_name = #{baseSpotName}
+    </if>
+    group by base_spot_no,
+           base_spot_name
+  </select>
+
+  <select id="staticSpotGroupByActualAndFirst" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    select  base_spot_no,
+            base_spot_name
+    from
+    (
+      (select A.base_spot_no base_spot_no,
+      A.base_spot_name base_spot_name,
+      A.create_man_no create_man_no,
+      A.create_man_name create_man_name,
+      A.meter_mode meter_mode,
+      B.meter_type_no meter_type_no,
+      B.meter_type_name meter_type_name
+      from meter_work_railway_act_first A
+      left join pre_railway_scale B
+      on A.prediction_no = B.prediction_no
+      where 1 = 1
+      and A.RAILWAY_TYPE_NO in
+      <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+        and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      group by A.base_spot_no, A.base_spot_name, A.create_man_no, A.create_man_name, A.meter_mode, B.meter_type_no, B.meter_type_name)
+    union
+      (select A.net_spot3_no base_spot_no,
+      A.net_spot3_name base_spot_name,
+      A.net_man_no create_man_no,
+      A.net_man_name create_man_name,
+      A.net_mode meter_mode,
+      B.meter_type_no meter_type_no,
+      B.meter_type_name meter_type_name
+      from meter_work_railway_actual A
+      left join pre_railway_scale B
+      on A.prediction_no = B.prediction_no
+      where 1 = 1
+      and A.RAILWAY_TYPE_NO in
+      <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+        and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      group by A.net_spot3_no, A.net_spot3_name, A.net_man_no, A.net_man_name, A.net_mode, B.meter_type_no, B.meter_type_name)
+    union
+      (select B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name
+      from meter_base_operation_log t
+      left join meter_work_railway_act_first B
+      on t.operation_id = B.Actual_First_No
+      left join pre_railway_scale C
+      on B.prediction_no = C.prediction_no
+      where 1=1
+      and B.RAILWAY_TYPE_NO in
+      <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+      and t.operation_page like '%web端-轨道衡一次数据维护%'
+      and t.operation_function like '%车号%'
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+        and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      group by B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name)
+    )
+    where 1 = 1
+    <if test="netSpot3NoStr != null and netSpot3NoStr != ''">
+      and base_spot_no in
+      <foreach collection="spotNoStr" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+    </if>
+    <if test="baseSpotNo != null and baseSpotNo != ''">
+      and base_spot_no = #{baseSpotNo}
+    </if>
+    <if test="baseSpotName != null and baseSpotName != ''">
+      and base_spot_name = #{baseSpotName}
+    </if>
+    group by base_spot_no,
+    base_spot_name
+  </select>
 </mapper>

+ 2 - 0
src/main/java/com/steerinfo/filter/SecurityFilter.java

@@ -41,6 +41,8 @@ public class SecurityFilter implements Filter {
                 ||path.contains("/v1/meterbasecars/applogin")
                 ||path.contains("/v1/MeterWorkZnlc")
                 ||path.contains("/v1/authority/getVerification")
+                ||path.contains("/v1/meterworkcaractuals/ApplikeByDesc")
+                ||path.contains("/v1/meterworkcaractualfirsts/ApplikeByDesc")
                 ||"/v2/api-docs".equals(path)){
             filterChain.doFilter(servletRequest,servletResponse);
             return;

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.java

@@ -2,7 +2,6 @@ package com.steerinfo.meterwork.meterworkcaractual.mapper;
 
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
-import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
 import feign.Param;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -65,6 +64,7 @@ public interface MeterWorkCarActualMapper extends IBaseMapper<MeterWorkCarActual
     
     //根据时间查询所有秤点的结净已匹配、结净未匹配、结净已上传、结净未上传
     List<MeterWorkCarActual> countAllState(Map<String, Object> params);
+    List<HashMap> countDayAllState(Map<String, Object> params);
     List<HashMap> netWeightAndTheoryAmount(Map<String, Object> params);
 
     //查询符合内倒双委托车辆在铁合金秤点用普通委托信息过磅的结净信息倒序

+ 42 - 2
src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.xml

@@ -4308,7 +4308,7 @@
       and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
     </if>
     <if test="carNo != null and carNo != ''">
-      and B.car_no like '%${carNo}%'
+      and A.car_no like '%${carNo}%'
     </if>
      order by A.net_time desc
   </select>
@@ -4326,6 +4326,46 @@
         <if test="carNo != null and carNo != ''">
           and A.car_no like '%${carNo}%'
         </if>
-     order by A.net_time desc
+     order by A.net_time ASC
+  </select>
+
+  <select id="countDayAllState" parameterType="java.util.HashMap" resultType="hashmap">
+    SELECT A.net_spot3_no,
+           A.net_spot3_name,
+           A.net_man_no,
+           A.net_man_name,
+           A.net_mode,
+           B.meter_type_no,
+           B.meter_type_name,
+           count(1) count_actual
+    from meter_work_car_actual A
+        left join pre_track_scale B
+            on A.prediction_no = B.prediction_no
+    where 1 = 1
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      <if test="baseSpotNo != null and baseSpotNo != ''">
+        and  A.net_spot3_no like '%${baseSpotNo}%'
+      </if>
+      <if test="baseSpotName != null and baseSpotName != ''">
+        and  A.net_spot3_name like '%${baseSpotName}%'
+      </if>
+      <if test="valueFlag != null and valueFlag != ''">
+        and  A.value_flag like '%${valueFlag}%'
+      </if>
+      <if test="validFlag != null and validFlag != ''">
+        and  A.value_flag != '0'
+      </if>
+      <if test="isPreScale != null and isPreScale != ''">
+        and  A.is_pre_scale like '%${isPreScale}%'
+      </if>
+    group by A.net_spot3_no,
+            A.net_spot3_name,
+            A.net_man_no,
+            A.net_man_name,
+            A.net_mode,
+            B.meter_type_no,
+            B.meter_type_name
   </select>
 </mapper>

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java

@@ -3103,7 +3103,7 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
                 List<MeterWorkCarActual> modelTemp = meterWorkCarActualMapper.findFiveNetWeight(map);
                 if(modelTemp.size() >= 1) {
                     for(int i = 0; i < modelTemp.size(); i++) {
-                        if(i % 2 == 0) {
+                        if(i == 0) {
                             MeterWorkCarActualTHJCompare modelTHJ01 = new MeterWorkCarActualTHJCompare();
                             BeanUtils.copyProperties(model, modelTHJ01);
                             modelTHJ01.setGrossWeightSub(modelTemp.get(i).getGrossWeight().subtract(model.getGrossWeight()));

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.java

@@ -87,6 +87,7 @@ public interface MeterWorkCarActualFirstMapper extends IBaseMapper<MeterWorkCarA
 
     //根据时间查询所有秤点的一次毛重、一次皮重、一次期限皮、一次有效、一次作废
     List<MeterWorkCarActualFirst> countAllState(Map<String, Object> params);
+    List<HashMap> countDayAllState(Map<String, Object> params);
     List<MeterWorkCarActualFirst> allStateView(Map<String, Object> params);
 
 }

+ 34 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.xml

@@ -2978,4 +2978,38 @@
     </if>
     order by create_time desc
   </select>
+
+  <select id="countDayAllState" parameterType="java.util.HashMap" resultType="hashmap">
+    select A.base_spot_no,
+           A.base_spot_name,
+           A.create_man_no,
+           A.create_man_name,
+           A.meter_mode,
+           B.meter_type_no,
+           B.meter_type_name,
+           count(1) count_first
+    from meter_work_car_actual_first A
+        left join pre_track_scale B
+            on A.prediction_no = B.prediction_no
+    where 1 = 1
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      <if test="baseSpotNo != null and baseSpotNo != ''">
+        and  A.base_spot_no like '%${baseSpotNo}%'
+      </if>
+      <if test="baseSpotName != null and baseSpotName != ''">
+        and  A.base_spot_name like '%${baseSpotName}%'
+      </if>
+      <if test="valueFlag != null and valueFlag != ''">
+        and  A.value_flag like '%${valueFlag}%'
+      </if>
+    group by A.base_spot_no,
+            A.base_spot_name,
+            A.create_man_no,
+            A.create_man_name,
+            A.meter_mode,
+            B.meter_type_no,
+            B.meter_type_name
+  </select>
 </mapper>

+ 13 - 0
src/main/java/com/steerinfo/meterwork/meterworkdatacount/controller/MeterWorkDataCountController.java

@@ -2,6 +2,7 @@ package com.steerinfo.meterwork.meterworkdatacount.controller;
 
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.meterwork.except.MarkerMetException;
 import com.steerinfo.meterwork.meterworkcaractual.mapper.MeterWorkCarActualMapper;
 import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
 import com.steerinfo.meterwork.meterworkdatacount.service.IMeterWorkDataCountService;
@@ -288,4 +289,16 @@ public class MeterWorkDataCountController extends BaseRESTfulController {
         //workbook将Excel写入到response的输出流中,供页面下载
         workbook.write(response.getOutputStream());
     }
+
+    @ApiOperation(value = "日工作量分类统计", notes = "根据计量时间、计量点查询")
+    @PostMapping(value = "/countDayAllSpot")
+    public List<HashMap> countDayAllSpot(@RequestBody(required = false) HashMap params) {
+        try {
+            List<HashMap> list = meterWorkDataCountService.countDayAllSpot(params);
+            return list;
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
 }

+ 3 - 0
src/main/java/com/steerinfo/meterwork/meterworkdatacount/mapper/MeterWorkDataCountMapper.java

@@ -1,6 +1,7 @@
 package com.steerinfo.meterwork.meterworkdatacount.mapper;
 
 import com.steerinfo.meterwork.meterworkdatacount.model.CarRegularComparison;
+import com.steerinfo.meterwork.meterworkdatacount.model.WorkLoadReportInfo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.HashMap;
@@ -12,4 +13,6 @@ public interface MeterWorkDataCountMapper {
     HashMap productionAndOperationDaily(HashMap<String, Object> param);
     List<CarRegularComparison> carRegularComparisonA(HashMap<String, Object> param);
     List<CarRegularComparison> carRegularComparisonB(HashMap<String, Object> param);
+    List<WorkLoadReportInfo> groupByDayCarReportInfo(HashMap<String, Object> param);
+    List<WorkLoadReportInfo> groupByDayStaticReportInfo(HashMap<String, Object> param);
 }

+ 189 - 3
src/main/java/com/steerinfo/meterwork/meterworkdatacount/mapper/MeterWorkDataCountMapper.xml

@@ -140,6 +140,7 @@
         <result column="base_spot_name" jdbcType="VARCHAR" property="baseSpotName" />
         <result column="spot_area_no" jdbcType="VARCHAR" property="spotAreaNo" />
         <result column="spot_area_name" jdbcType="VARCHAR" property="spotAreaName" />
+        <result column="weight_type" jdbcType="VARCHAR" property="weightType" />
     </resultMap>
 
     <select id="carRegularComparisonA" parameterType="java.util.HashMap" resultMap="carRegularComparisonBaseResultMap">
@@ -150,12 +151,12 @@
                A.actual_first_no,
                A.car_no,
                A.create_time,
-               A.meter_weight
+               A.meter_weight,
+               A.weight_type
           from meter_work_car_actual_first A
           left join meter_base_spot_info B
             on A.base_spot_no = B.base_spot_no
-          where A.value_flag != '0'
-            and (A.weight_type in ('0') or A.weight_type is null)
+          where 1 = 1
             <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
                 and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
             </if>
@@ -191,4 +192,189 @@
         </if>
         order by A.create_time desc
     </select>
+
+    <resultMap id="workLoadReportInfoBaseResultMap" type="com.steerinfo.meterwork.meterworkdatacount.model.WorkLoadReportInfo">
+        <result column="base_spot_no" jdbcType="VARCHAR" property="baseSpotNo" />
+        <result column="base_spot_name" jdbcType="VARCHAR" property="baseSpotName" />
+        <result column="create_man_no" jdbcType="VARCHAR" property="createManNo" />
+        <result column="create_man_name" jdbcType="VARCHAR" property="createManName" />
+        <result column="meter_mode" jdbcType="VARCHAR" property="meterMode" />
+        <result column="meter_type_no" jdbcType="VARCHAR" property="meterTypeNo" />
+        <result column="meter_type_name" jdbcType="VARCHAR" property="meterTypeName" />
+    </resultMap>
+
+    <select id="groupByDayCarReportInfo" parameterType="java.util.HashMap" resultMap="workLoadReportInfoBaseResultMap">
+        select  base_spot_no,
+                base_spot_name,
+                create_man_no,
+                create_man_name,
+                meter_mode,
+                meter_type_no,
+                meter_type_name
+        from
+        (
+            (select A.base_spot_no base_spot_no,
+            A.base_spot_name base_spot_name,
+            A.create_man_no create_man_no,
+            A.create_man_name create_man_name,
+            A.meter_mode meter_mode,
+            B.meter_type_no meter_type_no,
+            B.meter_type_name meter_type_name
+            from meter_work_car_actual_first A
+            left join pre_track_scale B
+            on A.prediction_no = B.prediction_no
+            where 1 = 1
+            <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+                and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+                and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+            </if>
+            group by A.base_spot_no, A.base_spot_name, A.create_man_no, A.create_man_name, A.meter_mode, B.meter_type_no, B.meter_type_name)
+            union
+            (select A.net_spot3_no base_spot_no,
+            A.net_spot3_name base_spot_name,
+            A.net_man_no create_man_no,
+            A.net_man_name create_man_name,
+            A.net_mode meter_mode,
+            B.meter_type_no meter_type_no,
+            B.meter_type_name meter_type_name
+            from meter_work_car_actual A
+            left join pre_track_scale B
+            on A.prediction_no = B.prediction_no
+            where 1 = 1
+            <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+                and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+                and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+            </if>
+            group by A.net_spot3_no, A.net_spot3_name, A.net_man_no, A.net_man_name, A.net_mode, B.meter_type_no, B.meter_type_name)
+        union
+        (
+        select B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name
+        from meter_base_operation_log t
+        left join meter_work_car_actual_First B
+        on t.operation_id = B.Actual_First_No
+        left join pre_track_scale C
+        on B.prediction_no = C.prediction_no
+        where 1=1
+        and t.operation_page like '%web端-汽车衡一次数据维护%'
+        and t.operation_function like '%车号%'
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and  B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+            and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        group by B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name)
+        )
+        where 1 = 1
+            <if test="netSpot3NoStr != null and netSpot3NoStr != ''">
+                and base_spot_no in
+                <foreach collection="spotNoStr" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="baseSpotNo != null and baseSpotNo != ''">
+                and BASE_SPOT_NO = #{baseSpotNo}
+            </if>
+            <if test="baseSpotName != null and baseSpotName != ''">
+                and BASE_SPOT_NAME = #{baseSpotName}
+            </if>
+        group by base_spot_no,
+                base_spot_name,
+                create_man_no,
+                create_man_name,
+                meter_mode,
+                meter_type_no,
+                meter_type_name
+    </select>
+
+    <select id="groupByDayStaticReportInfo" parameterType="java.util.HashMap" resultMap="workLoadReportInfoBaseResultMap">
+        select  base_spot_no,
+                base_spot_name,
+                create_man_no,
+                create_man_name,
+                meter_mode,
+                meter_type_no,
+                meter_type_name
+        from
+        (
+            (select A.base_spot_no base_spot_no,
+            A.base_spot_name base_spot_name,
+            A.create_man_no create_man_no,
+            A.create_man_name create_man_name,
+            A.meter_mode meter_mode,
+            B.meter_type_no meter_type_no,
+            B.meter_type_name meter_type_name
+            from meter_work_railway_act_first A
+            left join pre_railway_scale B
+            on A.prediction_no = B.prediction_no
+            where 1 = 1
+            <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+                and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+                and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+            </if>
+            and A.RAILWAY_TYPE_NO in
+            <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            group by A.base_spot_no, A.base_spot_name, A.create_man_no, A.create_man_name, A.meter_mode, B.meter_type_no, B.meter_type_name)
+        union
+            (select A.net_spot3_no base_spot_no,
+            A.net_spot3_name base_spot_name,
+            A.net_man_no create_man_no,
+            A.net_man_name create_man_name,
+            A.net_mode meter_mode,
+            B.meter_type_no meter_type_no,
+            B.meter_type_name meter_type_name
+            from meter_work_railway_actual A
+            left join pre_railway_scale B
+            on A.prediction_no = B.prediction_no
+            where 1 = 1
+            <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+                and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+                and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+            </if>
+            and A.RAILWAY_TYPE_NO in
+            <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            group by A.net_spot3_no, A.net_spot3_name, A.net_man_no, A.net_man_name, A.net_mode, B.meter_type_no, B.meter_type_name)
+        union
+            (select B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name
+            from meter_base_operation_log t
+            left join meter_work_railway_act_first B
+            on t.operation_id = B.Actual_First_No
+            left join pre_railway_scale C
+            on B.prediction_no = C.prediction_no
+            where 1=1
+            and t.operation_page like '%web端-轨道衡一次数据维护%'
+            and t.operation_function like '%车号%'
+            and B.RAILWAY_TYPE_NO in
+            <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+                and  B.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+                and B.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+            </if>
+            group by B.base_spot_no, B.base_spot_name,t.create_man_no,t.create_man_name,B.meter_mode,C.meter_type_no, C.meter_type_name)
+        )
+        where 1 = 1
+        <if test="netSpot3NoStr != null and netSpot3NoStr != ''">
+            and base_spot_no in
+            <foreach collection="spotNoStr" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="baseSpotNo != null and baseSpotNo != ''">
+            and BASE_SPOT_NO = #{baseSpotNo}
+        </if>
+        <if test="baseSpotName != null and baseSpotName != ''">
+            and BASE_SPOT_NAME = #{baseSpotName}
+        </if>
+        group by base_spot_no,
+                base_spot_name,
+                create_man_no,
+                create_man_name,
+                meter_mode,
+                meter_type_no,
+                meter_type_name
+    </select>
 </mapper>

+ 9 - 0
src/main/java/com/steerinfo/meterwork/meterworkdatacount/model/CarRegularComparison.java

@@ -14,6 +14,7 @@ public class CarRegularComparison {
     private String baseSpotName;
     private BigDecimal substract;
     private String memo;
+    private String weightType;
 
     public String getActualFirstNo() {
         return actualFirstNo;
@@ -94,4 +95,12 @@ public class CarRegularComparison {
     public void setMemo(String memo) {
         this.memo = memo;
     }
+
+    public String getWeightType() {
+        return weightType;
+    }
+
+    public void setWeightType(String weightType) {
+        this.weightType = weightType;
+    }
 }

+ 67 - 0
src/main/java/com/steerinfo/meterwork/meterworkdatacount/model/WorkLoadReportInfo.java

@@ -0,0 +1,67 @@
+package com.steerinfo.meterwork.meterworkdatacount.model;
+
+public class WorkLoadReportInfo {
+    private String baseSpotNo;
+    private String baseSpotName;
+    private String createManNo;
+    private String createManName;
+    private String meterMode;
+    private String meterTypeNo;
+    private String meterTypeName;
+
+    public String getBaseSpotNo() {
+        return baseSpotNo;
+    }
+
+    public void setBaseSpotNo(String baseSpotNo) {
+        this.baseSpotNo = baseSpotNo;
+    }
+
+    public String getBaseSpotName() {
+        return baseSpotName;
+    }
+
+    public void setBaseSpotName(String baseSpotName) {
+        this.baseSpotName = baseSpotName;
+    }
+
+    public String getCreateManNo() {
+        return createManNo;
+    }
+
+    public void setCreateManNo(String createManNo) {
+        this.createManNo = createManNo;
+    }
+
+    public String getCreateManName() {
+        return createManName;
+    }
+
+    public void setCreateManName(String createManName) {
+        this.createManName = createManName;
+    }
+
+    public String getMeterMode() {
+        return meterMode;
+    }
+
+    public void setMeterMode(String meterMode) {
+        this.meterMode = meterMode;
+    }
+
+    public String getMeterTypeNo() {
+        return meterTypeNo;
+    }
+
+    public void setMeterTypeNo(String meterTypeNo) {
+        this.meterTypeNo = meterTypeNo;
+    }
+
+    public String getMeterTypeName() {
+        return meterTypeName;
+    }
+
+    public void setMeterTypeName(String meterTypeName) {
+        this.meterTypeName = meterTypeName;
+    }
+}

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkdatacount/service/IMeterWorkDataCountService.java

@@ -11,4 +11,5 @@ public interface IMeterWorkDataCountService{
     List<HashMap> countFirstAndActual(HashMap<String, Object> params);
     HashMap productionAndOperationDaily(HashMap<String, Object> params) throws ParseException;
     RESTfulResult carRegularComparison(HashMap<String, Object> params);
+    List<HashMap> countDayAllSpot(HashMap<String, Object> params);
 }

+ 1038 - 13
src/main/java/com/steerinfo/meterwork/meterworkdatacount/service/impl/MeterWorkDataCountServiceImpl.java

@@ -1,17 +1,26 @@
 package com.steerinfo.meterwork.meterworkdatacount.service.impl;
 
-import com.google.inject.internal.cglib.core.$RejectModifierPredicate;
-import com.ibm.wsdl.extensions.schema.SchemaImpl;
+import com.steerinfo.baseinfo.meterbaseoperationlog.mapper.MeterBaseOperationLogMapper;
+import com.steerinfo.baseinfo.meterbasespotinfo.mapper.MeterBaseSpotInfoMapper;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.user.UserPayload;
+import com.steerinfo.meterwork.meterworkcaractual.mapper.MeterWorkCarActualMapper;
+import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
+import com.steerinfo.meterwork.meterworkcaractualfirst.mapper.MeterWorkCarActualFirstMapper;
+import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
 import com.steerinfo.meterwork.meterworkdatacount.mapper.MeterWorkDataCountMapper;
 import com.steerinfo.meterwork.meterworkdatacount.model.CarRegularComparison;
+import com.steerinfo.meterwork.meterworkdatacount.model.WorkLoadReportInfo;
 import com.steerinfo.meterwork.meterworkdatacount.service.IMeterWorkDataCountService;
-import org.apache.shiro.crypto.hash.Hash;
+import com.steerinfo.meterwork.meterworkrailwayactfirst.mapper.MeterWorkRailwayActFirstMapper;
+import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
+import com.steerinfo.meterwork.meterworkrailwayactual.mapper.MeterWorkRailwayActualMapper;
+import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActual;
+import com.steerinfo.util.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.validation.Payload;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -23,6 +32,23 @@ public class MeterWorkDataCountServiceImpl implements IMeterWorkDataCountService
     @Resource
     private MeterWorkDataCountMapper meterWorkDataCountMapper;
 
+    @Resource
+    private MeterBaseSpotInfoMapper meterBaseSpotInfoMapper;
+
+    @Resource
+    private MeterWorkCarActualMapper meterWorkCarActualMapper;
+
+    @Resource
+    private MeterWorkCarActualFirstMapper meterWorkCarActualFirstMaper;
+
+    @Resource
+    private MeterBaseOperationLogMapper meterBaseOperationLogMapper;
+
+    @Resource
+    private MeterWorkRailwayActualMapper meterWorkRailwayActualMapper;
+    @Resource
+    private MeterWorkRailwayActFirstMapper meterWorkRailwayActFirstMapper;
+
     @Override
     public List<HashMap> countFirstAndActual(HashMap<String, Object> params) {
         List<HashMap> models = meterWorkDataCountMapper.countFirstAndActual(params);
@@ -61,8 +87,8 @@ public class MeterWorkDataCountServiceImpl implements IMeterWorkDataCountService
                     Calendar afterTime = Calendar.getInstance();
                     beforeTime.setTime(model.getCreateTime());     //设置时间
                     afterTime.setTime(model.getCreateTime());     //设置时间
-                    beforeTime.add(Calendar.MINUTE, -5);// 5分钟之前的时间
-                    afterTime.add(Calendar.MINUTE, 5);// 5分钟之后的时间
+                    beforeTime.add(Calendar.MINUTE, -30);// 5分钟之前的时间
+                    afterTime.add(Calendar.MINUTE, 30);// 5分钟之后的时间
                     Date beforeD = beforeTime.getTime();
                     Date afterD = afterTime.getTime();
                     String startTime = sdf.format(beforeD);
@@ -85,14 +111,46 @@ public class MeterWorkDataCountServiceImpl implements IMeterWorkDataCountService
                         long count = models.stream().filter(item -> item.getActualFirstNo().equals(modelsB.get(0).getActualFirstNo())).count();
                         //一次作业编号不存在,则添加,否者,跳过
                         if(count < 1) {
-                                if(modelsB.get(0).getSpotAreaNo().equals(model.getSpotAreaNo())) {
-                                    model.setMemo("双秤比对");
-                                }else {
-                                    model.setMemo("异地比对");
+                                SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                                Date timeDate1 = simpleFormat.parse(sdf.format(modelsB.get(0).getCreateTime()));
+                                Date timeDate2 = simpleFormat.parse(sdf.format(model.getCreateTime()));
+                                long time1 = timeDate1.getTime();
+                                long time2 = timeDate2.getTime();
+                                int minutes = Math.abs((int) ((time1 - time2) / (1000 * 60)));
+                                if(StringUtils.isEmpty(model.getWeightType()) ||  StringUtils.isEmpty(modelsB.get(0).getWeightType())){
+                                    if(modelsB.get(0).getSpotAreaNo().equals(model.getSpotAreaNo())
+                                            && minutes <= 20) {
+                                        model.setMemo("双秤比对");
+                                        model.setSubstract(model.getMeterWeight().subtract(modelsB.get(0).getMeterWeight()));
+                                        models.add(model);
+                                        models.add(modelsB.get(0));
+                                    }else if(!modelsB.get(0).getSpotAreaNo().equals(model.getSpotAreaNo())
+                                            && minutes >= 30 && minutes <= 60){
+                                        model.setMemo("异地比对");
+                                        model.setSubstract(model.getMeterWeight().subtract(modelsB.get(0).getMeterWeight()));
+                                        models.add(model);
+                                        models.add(modelsB.get(0));
+                                    }
+                                }else if(StringUtils.isNotEmpty(model.getWeightType()) && StringUtils.isNotEmpty(modelsB.get(0).getWeightType())
+                                        && !(modelsB.get(0).getWeightType().equals("0") && model.getWeightType().equals("1"))
+                                        && !(modelsB.get(0).getWeightType().equals("1") && model.getWeightType().equals("0"))
+                                        && !(modelsB.get(0).getWeightType().equals("0") && model.getWeightType().equals("2"))
+                                        && !(modelsB.get(0).getWeightType().equals("2") && model.getWeightType().equals("0"))) {
+                                    if(modelsB.get(0).getSpotAreaNo().equals(model.getSpotAreaNo())
+                                            && minutes <= 20) {
+                                        model.setMemo("双秤比对");
+                                        model.setSubstract(model.getMeterWeight().subtract(modelsB.get(0).getMeterWeight()));
+                                        models.add(model);
+                                        models.add(modelsB.get(0));
+                                    }else if(!modelsB.get(0).getSpotAreaNo().equals(model.getSpotAreaNo())
+                                            && minutes >= 30 && minutes <= 60){
+                                        model.setMemo("异地比对");
+                                        model.setSubstract(model.getMeterWeight().subtract(modelsB.get(0).getMeterWeight()));
+                                        models.add(model);
+                                        models.add(modelsB.get(0));
+                                    }
                                 }
-                            model.setSubstract(model.getMeterWeight().subtract(modelsB.get(0).getMeterWeight()));
-                            models.add(model);
-                            models.add(modelsB.get(0));
+
                         }
                     }
                 }
@@ -106,4 +164,971 @@ public class MeterWorkDataCountServiceImpl implements IMeterWorkDataCountService
         }
         return rm;
     }
+
+    @Override
+    public List<HashMap> countDayAllSpot(HashMap<String, Object> params) {
+
+        if(params.get("netSpot3NoStr") != null) {
+            String[] spotNoStr = params.get("netSpot3NoStr").toString().split(",");
+            params.put("spotNoStr", spotNoStr);
+        }
+        List<HashMap> paramsList = new ArrayList<>();
+        long countActualTemp = 0L;
+        long countFirstTemp = 0L;
+        long countActualValidTemp = 0L;
+        long countFirstValidTemp = 0L;
+        {
+            HashMap params01 = new HashMap();
+            List<HashMap> paramsList02 = new ArrayList<>();
+            List<MeterBaseSpotInfo> spotModelList = meterBaseSpotInfoMapper.carSpotGroupByActualAndFirst(params);
+
+            //总结净数
+            HashMap<String, Object> actualMap = new HashMap<>();
+            actualMap.put("startTime", params.get("startTime"));
+            actualMap.put("endTime", params.get("endTime"));
+            List<HashMap> carActualTotal = meterWorkCarActualMapper.countDayAllState(actualMap);
+            if(carActualTotal.size() >= 1) {
+                for(HashMap modelTemp: carActualTotal) {
+                    countActualValidTemp += Long.parseLong(modelTemp.get("COUNT_ACTUAL").toString());
+                }
+            }
+            //作废结净总数
+            HashMap<String, Object> actualVoidMap = new HashMap<>();
+            actualVoidMap.put("startTime", params.get("startTime"));
+            actualVoidMap.put("endTime", params.get("endTime"));
+            actualVoidMap.put("valueFlag", "0");
+            List<HashMap> carActualVoidTotal = meterWorkCarActualMapper.countDayAllState(actualVoidMap);
+            //结净未匹配委托总数
+            HashMap<String, Object> actualNotMatchScaleMap = new HashMap<>();
+            actualNotMatchScaleMap.put("startTime", params.get("startTime"));
+            actualNotMatchScaleMap.put("endTime", params.get("endTime"));
+            actualNotMatchScaleMap.put("isPreScale", "0");
+            List<HashMap> carActualNotMatchTotal = meterWorkCarActualMapper.countDayAllState(actualNotMatchScaleMap);
+            if(carActualNotMatchTotal.size() >= 1) {
+                for(HashMap modelTemp: carActualNotMatchTotal) {
+                    countActualValidTemp += Long.parseLong(modelTemp.get("COUNT_ACTUAL").toString());
+                }
+            }
+            //一次计量总数
+            HashMap<String, Object> firstMap = new HashMap<>();
+            firstMap.put("startTime", params.get("startTime"));
+            firstMap.put("endTime", params.get("endTime"));
+            List<HashMap> carFirstTotal = meterWorkCarActualFirstMaper.countDayAllState(firstMap);
+            if(carFirstTotal.size() >= 1) {
+                for(HashMap modelTemp: carFirstTotal) {
+                    countFirstTemp += Long.parseLong(modelTemp.get("COUNT_FIRST").toString());
+                }
+            }
+            //未结净有效一次总数
+            HashMap<String, Object> firstNotNetMap = new HashMap<>();
+            firstNotNetMap.put("startTime", params.get("startTime"));
+            firstNotNetMap.put("endTime", params.get("endTime"));
+            firstNotNetMap.put("valueFlag", "1");
+            List<HashMap> carFirst = meterWorkCarActualFirstMaper.countDayAllState(firstNotNetMap);
+            if(carFirst.size() >= 1) {
+                for(HashMap modelTemp: carFirst) {
+                    countFirstValidTemp += Long.parseLong(modelTemp.get("COUNT_FIRST").toString());
+                }
+            }
+            HashMap<String, Object> firstResetMap = new HashMap<>();
+            firstResetMap.put("startTime", params.get("startTime"));
+            firstResetMap.put("endTime", params.get("endTime"));
+            List<HashMap> carFirstLog = meterBaseOperationLogMapper.countAllFirstState02(firstResetMap);
+
+            HashMap<String, Object> obj = new HashMap<>();
+            obj.put("startTime", params.get("startTime"));
+            obj.put("endTime", params.get("endTime"));
+            List<WorkLoadReportInfo> models = meterWorkDataCountMapper.groupByDayCarReportInfo(obj);
+            if (spotModelList.size() >= 1) {
+                for (MeterBaseSpotInfo spotModel : spotModelList) {
+                    //写入返回值
+                    HashMap<String, Object> params02 = new HashMap<>();
+                    params02.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    params02.put("baseSpotName", spotModel.getBaseSpotName());
+                    List<HashMap> carMap02List = new ArrayList<>();
+
+                    //根据秤点和时间查询操作人编号、操作人名称、计量方式编号、计量方式名称、计量类型
+                    List<WorkLoadReportInfo> modelTemp = models.stream()
+                            .filter(item -> item.getBaseSpotNo().equals(spotModel.getBaseSpotNo())
+                                    && item.getBaseSpotName().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                    if (modelTemp.size() >= 1) {
+                        //总结净数
+                        List<HashMap> carActualTotalTemp01 = carActualTotal.stream().filter(item ->
+                                item.get("NET_SPOT3_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("NET_SPOT3_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        //作废结净总数
+                        List<HashMap> carActualVoidTotalTemp01 = carActualVoidTotal.stream().filter(item ->
+                                item.get("NET_SPOT3_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("NET_SPOT3_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        //一次计量总数
+                        List<HashMap> carFirstTotalTemp01 = carFirstTotal.stream().filter(item ->
+                                item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        //修改车号总数
+                        List<HashMap> carFirstLogTemp01 = carFirstLog.stream().filter(item ->
+                                item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+
+                        for (WorkLoadReportInfo model : modelTemp) {
+                            HashMap<String, Object> carMap = new HashMap<>();
+                            carMap.put("meterMode", model.getMeterMode());
+                            carMap.put("meterTypeNo", model.getMeterTypeNo());
+                            carMap.put("meterTypeName", model.getMeterTypeName());
+                            carMap.put("createManNo", model.getCreateManNo());
+                            carMap.put("createManName", model.getCreateManName());
+                            carMap02List.add(carMap);
+
+                            long countActualSum = 0L;
+                            long countActualValidSum = 0L;
+                            long countFirstSum = 0L;
+//                            long countFirsValidtSum = 0L;
+                            long carFirstLogSum = 0L;
+                            if (carActualTotalTemp01 != null && carActualTotalTemp01.size() >= 1) {
+                                List<HashMap> carActualTotalTemp02 = carActualTotalTemp01.stream().filter(item ->
+                                        (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").equals(model.getMeterMode()))
+                                                && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                || StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").equals(model.getMeterTypeNo()))
+                                                && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                || StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").equals(model.getMeterTypeName()))
+                                                && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                || StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").equals(model.getCreateManNo()))
+                                                && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                || StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").equals(model.getCreateManName()))).collect(Collectors.toList());
+                                if(carActualTotalTemp02 != null && carActualTotalTemp02.size() >= 1) {
+                                    countActualSum = Long.parseLong(carActualTotalTemp02.get(0).get("COUNT_ACTUAL").toString());
+                                }
+                            }
+                            if (carActualVoidTotalTemp01 != null && carActualVoidTotalTemp01.size() >= 1) {
+                                List<HashMap> carActualVoidTotalTemp02 = carActualVoidTotalTemp01.stream().filter(item ->
+                                        (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").equals(model.getMeterMode()))
+                                                && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                || StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").equals(model.getMeterTypeNo()))
+                                                && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                || StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").equals(model.getMeterTypeName()))
+                                                && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                || StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").equals(model.getCreateManNo()))
+                                                && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                || StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").equals(model.getCreateManName()))).collect(Collectors.toList());
+                                if(carActualVoidTotalTemp02 != null && carActualVoidTotalTemp02.size() >= 1) {
+                                    countActualValidSum = Long.parseLong(carActualVoidTotalTemp02.get(0).get("COUNT_ACTUAL").toString());
+                                }
+                            }
+                            if (carFirstTotalTemp01 != null && carFirstTotalTemp01.size() >= 1) {
+                                List<HashMap> carFirstTotalTemp02 = carFirstTotalTemp01.stream().filter(item ->
+                                        (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").equals(model.getMeterMode()))
+                                                && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                || StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").equals(model.getMeterTypeNo()))
+                                                && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                || StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").equals(model.getMeterTypeName()))
+                                                && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                || StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").equals(model.getCreateManNo()))
+                                                && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                || StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").equals(model.getCreateManName()))).collect(Collectors.toList());
+                                if(carFirstTotalTemp02 != null && carFirstTotalTemp02.size() >= 1) {
+                                    countFirstSum = Long.parseLong(carFirstTotalTemp02.get(0).get("COUNT_FIRST").toString());
+                                }
+                            }
+                            if (carFirstLogTemp01 != null && carFirstLogTemp01.size() >= 1) {
+                                List<HashMap> carFirstLogTemp02 = carFirstLogTemp01.stream().filter(item ->
+                                        (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").toString().equals(model.getMeterMode()))
+                                        && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                ||StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").toString().equals(model.getMeterTypeNo()))
+                                        && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                ||StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").toString().equals(model.getMeterTypeName()))
+                                        && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                ||StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").toString().equals(model.getCreateManNo()))
+                                        && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                ||StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").toString().equals(model.getCreateManName()))).collect(Collectors.toList());
+                                if (carFirstLogTemp02 != null && carFirstLogTemp02.size() >= 1) {
+                                    carFirstLogSum = Long.parseLong(carFirstLogTemp02.get(0).get("COUNT_RESETCAR").toString());
+                                }
+                            }
+                            carMap.put("countActualSum", countActualSum);
+                            carMap.put("countActualValidSum", countActualValidSum);
+                            carMap.put("countFirstSum", countFirstSum);
+                            carMap.put("carFirstLogSum", carFirstLogSum);
+
+                            countActualTemp += countActualSum;
+                            countFirstTemp += countFirstSum;
+                            countActualValidTemp += countActualValidSum;
+//                            countFirstValidTemp += countFirsValidtSum;
+                        }
+                        params02.put("childrenBase", carMap02List);
+                    }else {
+                        HashMap<String, Object> carMap = new HashMap<>();
+                        carMap.put("meterMode", null);
+                        carMap.put("meterTypeNo", null);
+                        carMap.put("meterTypeName", null);
+                        carMap.put("createManNo", null);
+                        carMap.put("createManName", null);
+                        carMap02List.add(carMap);
+                        carMap.put("countActualSum", 0L);
+                        carMap.put("countFirstSum", 0L);
+                        carMap.put("carFirstLogSum", 0L);
+                        params02.put("childrenBase", carMap02List);
+                    }
+                    paramsList02.add(params02);
+                }
+                params01.put("countActualTemp", countActualTemp);
+                params01.put("countFirstTemp", countFirstTemp);
+                params01.put("type", "汽车衡");
+                params01.put("countFirst", countFirstValidTemp);
+                params01.put("countActual", countActualValidTemp);
+                params01.put("children", paramsList02);
+                paramsList.add(params01);
+            }
+        }
+
+
+        {
+            String[][] railwayTypeNoList = new String[][]{{"001019001"},{"001019002"}, {"001019003", "001019004"}, {"001019005"}};
+            for(int i = 0; i <= railwayTypeNoList.length-1; i++) {
+                String[] railwayTypeNo = railwayTypeNoList[i];
+                HashMap params01 = new HashMap();
+                List<HashMap> paramsList02 = new ArrayList<>();
+                countActualTemp = 0L;
+                countFirstTemp = 0L;
+                countActualValidTemp = 0L;
+                countFirstValidTemp = 0L;
+                //静态轨道衡
+//                String[] railwayTypeNo = new String[]{"001019001"};
+                HashMap<String, Object> spotModelMap = new HashMap<>();
+                spotModelMap.put("startTime", params.get("startTime"));
+                spotModelMap.put("endTime", params.get("endTime"));
+                spotModelMap.put("railwayTypeNo", railwayTypeNo);
+                List<MeterBaseSpotInfo> spotModelList = meterBaseSpotInfoMapper.staticSpotGroupByActualAndFirst(spotModelMap);
+
+                //总结净数
+                HashMap<String, Object> actualMap = new HashMap<>();
+                actualMap.put("startTime", params.get("startTime"));
+                actualMap.put("endTime", params.get("endTime"));
+                actualMap.put("railwayTypeNo", railwayTypeNo);
+                List<HashMap> carActualTotal = meterWorkRailwayActualMapper.countDayAllState(actualMap);
+                if(carActualTotal.size() >= 1) {
+                    for(HashMap modelTemp: carActualTotal) {
+                        countActualValidTemp += Long.parseLong(modelTemp.get("COUNT_ACTUAL").toString());
+                    }
+                }
+                //作废结净总数
+                HashMap<String, Object> actualVoidMap = new HashMap<>();
+                actualVoidMap.put("startTime", params.get("startTime"));
+                actualVoidMap.put("endTime", params.get("endTime"));
+                actualVoidMap.put("railwayTypeNo", railwayTypeNo);
+                actualVoidMap.put("valueFlag", "0");
+                List<HashMap> carActualVoidTotal = meterWorkRailwayActualMapper.countDayAllState(actualVoidMap);
+                //结净未匹配委托总数
+                HashMap<String, Object> actualNotMatchScaleMap = new HashMap<>();
+                actualNotMatchScaleMap.put("startTime", params.get("startTime"));
+                actualNotMatchScaleMap.put("endTime", params.get("endTime"));
+                actualNotMatchScaleMap.put("railwayTypeNo", railwayTypeNo);
+                actualNotMatchScaleMap.put("isPreScale", "0");
+                List<HashMap> carActualNotMatchTotal = meterWorkRailwayActualMapper.countDayAllState(actualNotMatchScaleMap);
+                if(carActualNotMatchTotal.size() >= 1) {
+                    for(HashMap modelTemp: carActualNotMatchTotal) {
+                        countActualValidTemp += Long.parseLong(modelTemp.get("COUNT_ACTUAL").toString());
+                    }
+                }
+                //一次计量总数
+                HashMap<String, Object> firstMap = new HashMap<>();
+                firstMap.put("startTime", params.get("startTime"));
+                firstMap.put("endTime", params.get("endTime"));
+                firstMap.put("railwayTypeNo", railwayTypeNo);
+                List<HashMap> carFirstTotal = meterWorkRailwayActFirstMapper.countDayAllState(firstMap);
+                if(carFirstTotal.size() >= 1) {
+                    for(HashMap modelTemp: carFirstTotal) {
+                        countFirstTemp += Long.parseLong(modelTemp.get("COUNT_FIRST").toString());
+                    }
+                }
+                //未结净有效一次总数
+                HashMap<String, Object> firstNotNetMap = new HashMap<>();
+                firstNotNetMap.put("startTime", params.get("startTime"));
+                firstNotNetMap.put("endTime", params.get("endTime"));
+                firstNotNetMap.put("railwayTypeNo", railwayTypeNo);
+                firstNotNetMap.put("valueFlag", "1");
+                List<HashMap> carFirst = meterWorkRailwayActFirstMapper.countDayAllState(firstNotNetMap);
+                if(carFirst.size() >= 1) {
+                    for(HashMap modelTemp: carFirst) {
+                        countFirstValidTemp += Long.parseLong(modelTemp.get("COUNT_FIRST").toString());
+                    }
+                }
+                HashMap<String, Object> firstResetMap = new HashMap<>();
+                firstResetMap.put("startTime", params.get("startTime"));
+                firstResetMap.put("endTime", params.get("endTime"));
+                firstResetMap.put("railwayTypeNo", railwayTypeNo);
+                List<HashMap> carFirstLog = meterBaseOperationLogMapper.countAllFirstState03(firstResetMap);
+
+                HashMap<String, Object> obj = new HashMap<>();
+                obj.put("startTime", params.get("startTime"));
+                obj.put("endTime", params.get("endTime"));
+                obj.put("railwayTypeNo", railwayTypeNo);
+                List<WorkLoadReportInfo> models = meterWorkDataCountMapper.groupByDayStaticReportInfo(obj);
+                if(spotModelList.size() >= 1) {
+                    for(MeterBaseSpotInfo spotModel: spotModelList) {
+                        //写入返回值
+                        HashMap<String, Object> params02 = new HashMap<>();
+                        params02.put("baseSpotNo", spotModel.getBaseSpotNo());
+                        params02.put("baseSpotName", spotModel.getBaseSpotName());
+                        List<HashMap> carMap02List = new ArrayList<>();
+                        //根据秤点和时间查询操作人编号、操作人名称、计量方式编号、计量方式名称、计量类型
+                        List<WorkLoadReportInfo> modelTemp = models.stream()
+                                .filter(item -> item.getBaseSpotNo().equals(spotModel.getBaseSpotNo())
+                                        && item.getBaseSpotName().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        if(modelTemp.size() >= 1) {
+                            //总结净数
+                            List<HashMap> carActualTotalTemp01 = carActualTotal.stream().filter(item ->
+                                    item.get("NET_SPOT3_NO").equals(spotModel.getBaseSpotNo())
+                                            && item.get("NET_SPOT3_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                            //作废结净总数
+                            List<HashMap> carActualVoidTotalTemp01 = carActualVoidTotal.stream().filter(item ->
+                                    item.get("NET_SPOT3_NO").equals(spotModel.getBaseSpotNo())
+                                            && item.get("NET_SPOT3_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                            //一次计量总数
+                            List<HashMap> carFirstTotalTemp01 = carFirstTotal.stream().filter(item ->
+                                    item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                            && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                            //修改车号总数
+                            List<HashMap> carFirstLogTemp01 = carFirstLog.stream().filter(item ->
+                                    item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                            && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                            for(WorkLoadReportInfo model: modelTemp) {
+                                HashMap<String, Object> carMap = new HashMap<>();
+                                carMap.put("meterMode", model.getMeterMode());
+                                carMap.put("meterTypeNo", model.getMeterTypeNo());
+                                carMap.put("meterTypeName", model.getMeterTypeName());
+                                carMap.put("createManNo", model.getCreateManNo());
+                                carMap.put("createManName", model.getCreateManName());
+                                carMap02List.add(carMap);
+
+                                long countActualSum = 0L;
+                                long countActualValidSum = 0L;
+                                long countFirstSum = 0L;
+//                            long countFirsValidtSum = 0L;
+                                long carFirstLogSum = 0L;
+                                if (carActualTotalTemp01 != null && carActualTotalTemp01.size() >= 1) {
+                                    List<HashMap> carActualTotalTemp02 = carActualTotalTemp01.stream().filter(item ->
+                                            (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                    || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").equals(model.getMeterMode()))
+                                                    && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                    || StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").equals(model.getMeterTypeNo()))
+                                                    && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                    || StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").equals(model.getMeterTypeName()))
+                                                    && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                    || StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").equals(model.getCreateManNo()))
+                                                    && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                    || StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").equals(model.getCreateManName()))).collect(Collectors.toList());
+                                    if(carActualTotalTemp02 != null && carActualTotalTemp02.size() >= 1) {
+                                        countActualSum = Long.parseLong(carActualTotalTemp02.get(0).get("COUNT_ACTUAL").toString());
+                                    }
+                                }
+                                if (carActualVoidTotalTemp01 != null && carActualVoidTotalTemp01.size() >= 1) {
+                                    List<HashMap> carActualVoidTotalTemp02 = carActualVoidTotalTemp01.stream().filter(item ->
+                                            (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                    || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").equals(model.getMeterMode()))
+                                                    && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                    || StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").equals(model.getMeterTypeNo()))
+                                                    && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                    || StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").equals(model.getMeterTypeName()))
+                                                    && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                    || StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").equals(model.getCreateManNo()))
+                                                    && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                    || StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").equals(model.getCreateManName()))).collect(Collectors.toList());
+                                    if(carActualVoidTotalTemp02 != null && carActualVoidTotalTemp02.size() >= 1) {
+                                        countActualValidSum = Long.parseLong(carActualVoidTotalTemp02.get(0).get("COUNT_ACTUAL").toString());
+                                    }
+                                }
+                                if (carFirstTotalTemp01 != null && carFirstTotalTemp01.size() >= 1) {
+                                    List<HashMap> carFirstTotalTemp02 = carFirstTotalTemp01.stream().filter(item ->
+                                            (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                    || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").equals(model.getMeterMode()))
+                                                    && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                    || StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").equals(model.getMeterTypeNo()))
+                                                    && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                    || StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").equals(model.getMeterTypeName()))
+                                                    && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                    || StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").equals(model.getCreateManNo()))
+                                                    && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                    || StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").equals(model.getCreateManName()))).collect(Collectors.toList());
+                                    if(carFirstTotalTemp02 != null && carFirstTotalTemp02.size() >= 1) {
+                                        countFirstSum = Long.parseLong(carFirstTotalTemp02.get(0).get("COUNT_FIRST").toString());
+                                    }
+                                }
+                                if (carFirstLogTemp01 != null && carFirstLogTemp01.size() >= 1) {
+                                    List<HashMap> carFirstLogTemp02 = carFirstLogTemp01.stream().filter(item ->
+                                            (item.get("METER_MODE") == null || StringUtils.isEmpty(item.get("METER_MODE").toString())
+                                                    || StringUtils.isEmpty(model.getMeterMode()) || item.get("METER_MODE").toString().equals(model.getMeterMode()))
+                                                    && (item.get("METER_TYPE_NO") == null || StringUtils.isEmpty(item.get("METER_TYPE_NO").toString())
+                                                    ||StringUtils.isEmpty(model.getMeterTypeNo()) || item.get("METER_TYPE_NO").toString().equals(model.getMeterTypeNo()))
+                                                    && (item.get("METER_TYPE_NAME") == null || StringUtils.isEmpty(item.get("METER_TYPE_NAME").toString())
+                                                    ||StringUtils.isEmpty(model.getMeterTypeName()) || item.get("METER_TYPE_NAME").toString().equals(model.getMeterTypeName()))
+                                                    && (item.get("CREATE_MAN_NO") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NO").toString())
+                                                    ||StringUtils.isEmpty(model.getCreateManNo()) || item.get("CREATE_MAN_NO").toString().equals(model.getCreateManNo()))
+                                                    && (item.get("CREATE_MAN_NAME") == null || StringUtils.isEmpty(item.get("CREATE_MAN_NAME").toString())
+                                                    ||StringUtils.isEmpty(model.getCreateManName()) || item.get("CREATE_MAN_NAME").toString().equals(model.getCreateManName()))).collect(Collectors.toList());
+                                    if (carFirstLogTemp02 != null && carFirstLogTemp02.size() >= 1) {
+                                        carFirstLogSum = Long.parseLong(carFirstLogTemp02.get(0).get("COUNT_RESETCAR").toString());
+                                    }
+                                }
+                                carMap.put("countActualSum", countActualSum);
+                                carMap.put("countActualValidSum", countActualValidSum);
+                                carMap.put("countFirstSum", countFirstSum);
+                                carMap.put("carFirstLogSum", carFirstLogSum);
+
+                                countActualTemp += countActualSum;
+                                countFirstTemp += countFirstSum;
+                                countActualValidTemp += countActualValidSum;
+//                            countFirstValidTemp += countFirsValidtSum;
+                            }
+                            params02.put("childrenBase", carMap02List);
+                        }else {
+                            HashMap<String, Object> carMap = new HashMap<>();
+                            carMap.put("meterMode", null);
+                            carMap.put("meterTypeNo", null);
+                            carMap.put("meterTypeName", null);
+                            carMap.put("createManNo", null);
+                            carMap.put("createManName", null);
+                            carMap02List.add(carMap);
+                            carMap.put("countActualSum", 0L);
+                            carMap.put("countFirstSum", 0L);
+                            carMap.put("carFirstLogSum", 0L);
+                            params02.put("childrenBase", carMap02List);
+                        }
+                        paramsList02.add(params02);
+                    }
+                    params01.put("countActualTemp", countActualTemp);
+                    params01.put("countFirstTemp", countFirstTemp);
+                    if(i == 0) {
+                        params01.put("type", "静态轨轨道衡");
+                    }else if(i == 1){
+                        params01.put("type", "动态轨轨道衡");
+                    }else if(i == 2){
+                        params01.put("type", "铁水衡");
+                    }else if(i == 3){
+                        params01.put("type", "吊钩秤");
+                    }
+                    params01.put("countFirst", countFirstValidTemp);
+                    params01.put("countActual", countActualValidTemp);
+                    params01.put("children", paramsList02);
+                    paramsList.add(params01);
+                }
+            }
+
+        }
+
+        /*
+        {
+            HashMap params01 = new HashMap();
+            List<HashMap> paramsList02 = new ArrayList<>();
+            countActualTemp = 0L;
+            countFirstTemp = 0L;
+            countActualValidTemp = 0L;
+            countFirstValidTemp = 0L;
+            List<MeterBaseSpotInfo> spotModelList = meterBaseSpotInfoMapper.staticSpotGroupByActualAndFirst(params);
+            if(spotModelList.size() >= 1) {
+                for(MeterBaseSpotInfo spotModel: spotModelList) {
+                    HashMap<String, Object> params02 = new HashMap<>();
+                    params02.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    params02.put("baseSpotName", spotModel.getBaseSpotName());
+
+                    HashMap<String, Object> obj = new HashMap<>();
+                    obj.put("startTime", params.get("startTime"));
+                    obj.put("endTime", params.get("endTime"));
+                    String[] railwayTypeNo = new String[]{"001019002"};
+                    obj.put("railwayTypeNo", railwayTypeNo);
+                    obj.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    obj.put("baseSpotName", spotModel.getBaseSpotName());
+                    List<WorkLoadReportInfo> models = meterWorkDataCountMapper.groupByDayStaticReportInfo(obj);
+
+                    HashMap<String, Object> objB = new HashMap<>();
+                    objB.put("startTime", params.get("startTime"));
+                    objB.put("endTime", params.get("endTime"));
+                    objB.put("railwayTypeNo", railwayTypeNo);
+//                    objB.put("baseSpotNo", spotModel.getBaseSpotNo());
+//                    objB.put("baseSpotName", spotModel.getBaseSpotName());
+//                    objB.put("meterMode", model.getMeterMode());
+//                    objB.put("meterTypeNo", model.getMeterTypeNo());
+//                    objB.put("meterTypeName", model.getMeterTypeName());
+//                    objB.put("createManNo", model.getCreateManNo());
+//                    objB.put("createManName", model.getCreateManName());
+                    List<MeterWorkRailwayActual> carActual = meterWorkRailwayActualMapper.countDayAllState(objB);
+                    List<MeterWorkRailwayActFirst> carFirst = meterWorkRailwayActFirstMapper.countDayAllState(objB);
+                    List<HashMap> carFirstLog = meterBaseOperationLogMapper.countAllFirstState03(objB);
+                    List<HashMap> carMap02List = new ArrayList<>();
+                    if(models.size() >= 1) {
+                        List<MeterWorkRailwayActual> carActualTemp = carActual.stream().filter(item -> item.getNetSpot3No().equals(spotModel.getBaseSpotNo())
+                                && item.getNetSpot3Name().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        List<MeterWorkRailwayActFirst> carFirstTemp = carFirst.stream().filter(item -> item.getBaseSpotNo().equals(spotModel.getBaseSpotNo())
+                                && item.getBaseSpotName().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        List<HashMap> carFirstLogTemp = carFirstLog.stream().filter(item -> item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        for(WorkLoadReportInfo model: models) {
+//                        objB.put("startTime", params.get("startTime"));
+//                        objB.put("endTime", params.get("endTime"));
+                            HashMap<String, Object> carMap = new HashMap<>();
+                            carMap.put("meterMode", model.getMeterMode());
+                            carMap.put("meterTypeNo", model.getMeterTypeNo());
+                            carMap.put("meterTypeName", model.getMeterTypeName());
+                            carMap.put("createManNo", model.getCreateManNo());
+                            carMap.put("createManName", model.getCreateManName());
+
+                            carMap02List.add(carMap);
+                            long countActualSum = 0L;
+                            long countActualValidSum = 0L;
+                            long countFirstSum = 0L;
+                            long countFirsValidtSum = 0L;
+                            long carFirstLogSum = 0L;
+                            boolean T = StringUtils.isNotEmpty(model.getMeterMode())
+                                    && StringUtils.isNotEmpty(model.getMeterTypeNo())
+                                    && StringUtils.isNotEmpty(model.getMeterTypeName())
+                                    && StringUtils.isNotEmpty(model.getCreateManNo())
+                                    && StringUtils.isNotEmpty(model.getCreateManName());
+                            if(carActual != null && carActual.size() >= 1) {
+                                countActualSum = carActualTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getNetMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getNetManNo())
+                                        && StringUtils.isNotEmpty(item.getNetManName())
+                                        && item.getNetMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getNetManNo().equals(model.getCreateManNo())
+                                        && item.getNetManName().equals(model.getCreateManName())).count();
+                                countActualValidSum = carActualTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getNetMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getNetManNo())
+                                        && StringUtils.isNotEmpty(item.getNetManName())
+                                        && item.getNetMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getNetManNo().equals(model.getCreateManNo())
+                                        && item.getNetManName().equals(model.getCreateManName())
+                                        && (item.getIsPreSacale().equals("0") || StringUtils.isEmpty(item.getIsPreSacale()))).count();
+                            }
+                            if(carFirst != null && carFirst.size() >= 1) {
+                                countFirstSum = carFirstTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getMeterMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getCreateManNo())
+                                        && StringUtils.isNotEmpty(item.getCreateManName())
+                                        && item.getMeterMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getCreateManNo().equals(model.getCreateManNo())
+                                        && item.getCreateManName().equals(model.getCreateManName())).count();
+                                //一次毛重
+                                countFirsValidtSum = carFirstTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getMeterMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getCreateManNo())
+                                        && StringUtils.isNotEmpty(item.getCreateManName())
+                                        && item.getMeterMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getCreateManNo().equals(model.getCreateManNo())
+                                        && item.getCreateManName().equals(model.getCreateManName())
+                                        && item.getValueFlag().equals("1")).count();
+                            }
+                            if(carFirstLog != null && carFirstLog.size() >= 1) {
+                                carFirstLogSum = carFirstLogTemp.stream().filter(item -> T
+                                        && item.get("METER_MODE") != null
+                                        && item.get("METER_TYPE_NO") != null
+                                        && item.get("METER_TYPE_NAME") != null
+                                        && item.get("CREATE_MAN_NO") != null
+                                        && item.get("CREATE_MAN_NAMEss") != null
+                                        && StringUtils.isNotEmpty(item.get("METER_MODE").toString())
+                                        && StringUtils.isNotEmpty(item.get("METER_TYPE_NO").toString())
+                                        && StringUtils.isNotEmpty(item.get("METER_TYPE_NAME").toString())
+                                        && StringUtils.isNotEmpty(item.get("CREATE_MAN_NO").toString())
+                                        && StringUtils.isNotEmpty(item.get("CREATE_MAN_NAME").toString())
+                                        && item.get("METER_MODE").toString().equals(model.getMeterMode())
+                                        && item.get("METER_TYPE_NO").toString().equals(model.getMeterTypeNo())
+                                        && item.get("METER_TYPE_NAME").toString().equals(model.getMeterTypeName())
+                                        && item.get("CREATE_MAN_NO").toString().equals(model.getCreateManNo())
+                                        && item.get("CREATE_MAN_NAME").toString().equals(model.getCreateManName())).count();
+                            }
+                            carMap.put("countActualSum", countActualSum);
+                            carMap.put("countFirstSum", countFirstSum);
+                            carMap.put("carFirstLogSum", carFirstLogSum);
+
+                            countActualTemp += countActualSum;
+                            countFirstTemp += countFirstSum;
+                            countActualValidTemp += countActualValidSum;
+                            countFirstValidTemp += countFirsValidtSum;
+                        }
+                        params02.put("childrenBase", carMap02List);
+                    }else {
+                        HashMap<String, Object> carMap = new HashMap<>();
+                        carMap.put("meterMode", null);
+                        carMap.put("meterTypeNo", null);
+                        carMap.put("meterTypeName", null);
+                        carMap.put("createManNo", null);
+                        carMap.put("createManName", null);
+                        carMap02List.add(carMap);
+                        carMap.put("countActualSum", 0L);
+                        carMap.put("countFirstSum", 0L);
+                        carMap.put("carFirstLogSum", 0L);
+                        params02.put("childrenBase", carMap02List);
+                    }
+                    paramsList02.add(params02);
+                }
+                params01.put("countActualTemp", countActualTemp);
+                params01.put("countFirstTemp", countFirstTemp);
+                params01.put("type", "动态轨道衡");
+                params01.put("countFirst", countFirstValidTemp);
+                params01.put("countActual", countActualValidTemp);
+                params01.put("children", paramsList02);
+                paramsList.add(params01);
+            }
+        }
+
+        {
+            HashMap params01 = new HashMap();
+            List<HashMap> paramsList02 = new ArrayList<>();
+            countActualTemp = 0L;
+            countFirstTemp = 0L;
+            countActualValidTemp = 0L;
+            countFirstValidTemp = 0L;
+            List<MeterBaseSpotInfo> spotModelList = meterBaseSpotInfoMapper.staticSpotGroupByActualAndFirst(params);
+            if(spotModelList.size() >= 1) {
+                for(MeterBaseSpotInfo spotModel: spotModelList) {
+                    HashMap<String, Object> params02 = new HashMap<>();
+                    params02.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    params02.put("baseSpotName", spotModel.getBaseSpotName());
+
+                    HashMap<String, Object> obj = new HashMap<>();
+                    obj.put("startTime", params.get("startTime"));
+                    obj.put("endTime", params.get("endTime"));
+                    String[] railwayTypeNo = new String[]{"001019003", "001019004"};
+                    obj.put("railwayTypeNo", railwayTypeNo);
+                    obj.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    obj.put("baseSpotName", spotModel.getBaseSpotName());
+                    List<WorkLoadReportInfo> models = meterWorkDataCountMapper.groupByDayStaticReportInfo(obj);
+
+                    HashMap<String, Object> objB = new HashMap<>();
+                    objB.put("startTime", params.get("startTime"));
+                    objB.put("endTime", params.get("endTime"));
+                    objB.put("railwayTypeNo", railwayTypeNo);
+//                    objB.put("baseSpotNo", spotModel.getBaseSpotNo());
+//                    objB.put("baseSpotName", spotModel.getBaseSpotName());
+//                    objB.put("meterMode", model.getMeterMode());
+//                    objB.put("meterTypeNo", model.getMeterTypeNo());
+//                    objB.put("meterTypeName", model.getMeterTypeName());
+//                    objB.put("createManNo", model.getCreateManNo());
+//                    objB.put("createManName", model.getCreateManName());
+                    List<MeterWorkRailwayActual> carActual = meterWorkRailwayActualMapper.countDayAllState(objB);
+                    List<MeterWorkRailwayActFirst> carFirst = meterWorkRailwayActFirstMapper.countDayAllState(objB);
+                    List<HashMap> carFirstLog = meterBaseOperationLogMapper.countAllFirstState03(objB);
+                    List<HashMap> carMap02List = new ArrayList<>();
+                    if(models.size() >= 1) {
+                        List<MeterWorkRailwayActual> carActualTemp = carActual.stream().filter(item -> item.getNetSpot3No().equals(spotModel.getBaseSpotNo())
+                                && item.getNetSpot3Name().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        List<MeterWorkRailwayActFirst> carFirstTemp = carFirst.stream().filter(item -> item.getBaseSpotNo().equals(spotModel.getBaseSpotNo())
+                                && item.getBaseSpotName().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        List<HashMap> carFirstLogTemp = carFirstLog.stream().filter(item -> item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        for(WorkLoadReportInfo model: models) {
+//                        objB.put("startTime", params.get("startTime"));
+//                        objB.put("endTime", params.get("endTime"));
+                            HashMap<String, Object> carMap = new HashMap<>();
+                            carMap.put("meterMode", model.getMeterMode());
+                            carMap.put("meterTypeNo", model.getMeterTypeNo());
+                            carMap.put("meterTypeName", model.getMeterTypeName());
+                            carMap.put("createManNo", model.getCreateManNo());
+                            carMap.put("createManName", model.getCreateManName());
+
+                            carMap02List.add(carMap);
+                            long countActualSum = 0L;
+                            long countActualValidSum = 0L;
+                            long countFirstSum = 0L;
+                            long countFirsValidtSum = 0L;
+                            long carFirstLogSum = 0L;
+                            boolean T = StringUtils.isNotEmpty(model.getMeterMode())
+                                    && StringUtils.isNotEmpty(model.getMeterTypeNo())
+                                    && StringUtils.isNotEmpty(model.getMeterTypeName())
+                                    && StringUtils.isNotEmpty(model.getCreateManNo())
+                                    && StringUtils.isNotEmpty(model.getCreateManName());
+                            if(carActual != null && carActual.size() >= 1) {
+                                countActualSum = carActualTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getNetMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getNetManNo())
+                                        && StringUtils.isNotEmpty(item.getNetManName())
+                                        && item.getNetMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getNetManNo().equals(model.getCreateManNo())
+                                        && item.getNetManName().equals(model.getCreateManName())).count();
+                                countActualValidSum = carActualTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getNetMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getNetManNo())
+                                        && StringUtils.isNotEmpty(item.getNetManName())
+                                        && item.getNetMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getNetManNo().equals(model.getCreateManNo())
+                                        && item.getNetManName().equals(model.getCreateManName())
+                                        && (item.getIsPreSacale().equals("0") || StringUtils.isEmpty(item.getIsPreSacale()))).count();
+                            }
+                            if(carFirst != null && carFirst.size() >= 1) {
+                                countFirstSum = carFirstTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getMeterMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getCreateManNo())
+                                        && StringUtils.isNotEmpty(item.getCreateManName())
+                                        && item.getMeterMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getCreateManNo().equals(model.getCreateManNo())
+                                        && item.getCreateManName().equals(model.getCreateManName())).count();
+                                //一次毛重
+                                countFirsValidtSum = carFirstTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getMeterMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getCreateManNo())
+                                        && StringUtils.isNotEmpty(item.getCreateManName())
+                                        && item.getMeterMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getCreateManNo().equals(model.getCreateManNo())
+                                        && item.getCreateManName().equals(model.getCreateManName())
+                                        && item.getValueFlag().equals("1")).count();
+                            }
+                            if(carFirstLog != null && carFirstLog.size() >= 1) {
+                                carFirstLogSum = carFirstLogTemp.stream().filter(item -> T
+                                        && item.get("METER_MODE") != null
+                                        && item.get("METER_TYPE_NO") != null
+                                        && item.get("METER_TYPE_NAME") != null
+                                        && item.get("CREATE_MAN_NO") != null
+                                        && item.get("CREATE_MAN_NAMEss") != null
+                                        && StringUtils.isNotEmpty(item.get("METER_MODE").toString())
+                                        && StringUtils.isNotEmpty(item.get("METER_TYPE_NO").toString())
+                                        && StringUtils.isNotEmpty(item.get("METER_TYPE_NAME").toString())
+                                        && StringUtils.isNotEmpty(item.get("CREATE_MAN_NO").toString())
+                                        && StringUtils.isNotEmpty(item.get("CREATE_MAN_NAME").toString())
+                                        && item.get("METER_MODE").toString().equals(model.getMeterMode())
+                                        && item.get("METER_TYPE_NO").toString().equals(model.getMeterTypeNo())
+                                        && item.get("METER_TYPE_NAME").toString().equals(model.getMeterTypeName())
+                                        && item.get("CREATE_MAN_NO").toString().equals(model.getCreateManNo())
+                                        && item.get("CREATE_MAN_NAME").toString().equals(model.getCreateManName())).count();
+                            }
+                            carMap.put("countActualSum", countActualSum);
+                            carMap.put("countFirstSum", countFirstSum);
+                            carMap.put("carFirstLogSum", carFirstLogSum);
+
+                            countActualTemp += countActualSum;
+                            countFirstTemp += countFirstSum;
+                            countActualValidTemp += countActualValidSum;
+                            countFirstValidTemp += countFirsValidtSum;
+                        }
+                        params02.put("childrenBase", carMap02List);
+                    }else {
+                        HashMap<String, Object> carMap = new HashMap<>();
+                        carMap.put("meterMode", null);
+                        carMap.put("meterTypeNo", null);
+                        carMap.put("meterTypeName", null);
+                        carMap.put("createManNo", null);
+                        carMap.put("createManName", null);
+                        carMap02List.add(carMap);
+                        carMap.put("countActualSum", 0L);
+                        carMap.put("countFirstSum", 0L);
+                        carMap.put("carFirstLogSum", 0L);
+                        params02.put("childrenBase", carMap02List);
+                    }
+                    paramsList02.add(params02);
+                }
+                params01.put("countActualTemp", countActualTemp);
+                params01.put("countFirstTemp", countFirstTemp);
+                params01.put("type", "铁水衡");
+                params01.put("countFirst", countFirstValidTemp);
+                params01.put("countActual", countActualValidTemp);
+                params01.put("children", paramsList02);
+                paramsList.add(params01);
+            }
+        }
+
+        {
+            HashMap params01 = new HashMap();
+            List<HashMap> paramsList02 = new ArrayList<>();
+            countActualTemp = 0L;
+            countFirstTemp = 0L;
+            countActualValidTemp = 0L;
+            countFirstValidTemp = 0L;
+            List<MeterBaseSpotInfo> spotModelList = meterBaseSpotInfoMapper.staticSpotGroupByActualAndFirst(params);
+            if(spotModelList.size() >= 1) {
+                for(MeterBaseSpotInfo spotModel: spotModelList) {
+                    HashMap<String, Object> params02 = new HashMap<>();
+                    params02.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    params02.put("baseSpotName", spotModel.getBaseSpotName());
+
+                    HashMap<String, Object> obj = new HashMap<>();
+                    obj.put("startTime", params.get("startTime"));
+                    obj.put("endTime", params.get("endTime"));
+                    String[] railwayTypeNo = new String[]{"001019005"};
+                    obj.put("railwayTypeNo", railwayTypeNo);
+                    obj.put("baseSpotNo", spotModel.getBaseSpotNo());
+                    obj.put("baseSpotName", spotModel.getBaseSpotName());
+                    List<WorkLoadReportInfo> models = meterWorkDataCountMapper.groupByDayStaticReportInfo(obj);
+
+                    HashMap<String, Object> objB = new HashMap<>();
+                    objB.put("startTime", params.get("startTime"));
+                    objB.put("endTime", params.get("endTime"));
+                    objB.put("railwayTypeNo", railwayTypeNo);
+//                    objB.put("baseSpotNo", spotModel.getBaseSpotNo());
+//                    objB.put("baseSpotName", spotModel.getBaseSpotName());
+//                    objB.put("meterMode", model.getMeterMode());
+//                    objB.put("meterTypeNo", model.getMeterTypeNo());
+//                    objB.put("meterTypeName", model.getMeterTypeName());
+//                    objB.put("createManNo", model.getCreateManNo());
+//                    objB.put("createManName", model.getCreateManName());
+                    List<MeterWorkRailwayActual> carActual = meterWorkRailwayActualMapper.countDayAllState(objB);
+                    List<MeterWorkRailwayActFirst> carFirst = meterWorkRailwayActFirstMapper.countDayAllState(objB);
+                    List<HashMap> carFirstLog = meterBaseOperationLogMapper.countAllFirstState03(objB);
+                    List<HashMap> carMap02List = new ArrayList<>();
+                    if(models.size() >= 1) {
+                        List<MeterWorkRailwayActual> carActualTemp = carActual.stream().filter(item -> item.getNetSpot3No().equals(spotModel.getBaseSpotNo())
+                                && item.getNetSpot3Name().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        List<MeterWorkRailwayActFirst> carFirstTemp = carFirst.stream().filter(item -> item.getBaseSpotNo().equals(spotModel.getBaseSpotNo())
+                                && item.getBaseSpotName().equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        List<HashMap> carFirstLogTemp = carFirstLog.stream().filter(item -> item.get("BASE_SPOT_NO").equals(spotModel.getBaseSpotNo())
+                                && item.get("BASE_SPOT_NAME").equals(spotModel.getBaseSpotName())).collect(Collectors.toList());
+                        for(WorkLoadReportInfo model: models) {
+//                        objB.put("startTime", params.get("startTime"));
+//                        objB.put("endTime", params.get("endTime"));
+                            HashMap<String, Object> carMap = new HashMap<>();
+                            carMap.put("meterMode", model.getMeterMode());
+                            carMap.put("meterTypeNo", model.getMeterTypeNo());
+                            carMap.put("meterTypeName", model.getMeterTypeName());
+                            carMap.put("createManNo", model.getCreateManNo());
+                            carMap.put("createManName", model.getCreateManName());
+
+                            carMap02List.add(carMap);
+                            long countActualSum = 0L;
+                            long countActualValidSum = 0L;
+                            long countFirstSum = 0L;
+                            long countFirsValidtSum = 0L;
+                            long carFirstLogSum = 0L;
+                            boolean T = StringUtils.isNotEmpty(model.getMeterMode())
+                                    && StringUtils.isNotEmpty(model.getMeterTypeNo())
+                                    && StringUtils.isNotEmpty(model.getMeterTypeName())
+                                    && StringUtils.isNotEmpty(model.getCreateManNo())
+                                    && StringUtils.isNotEmpty(model.getCreateManName());
+                            if(carActual != null && carActual.size() >= 1) {
+                                countActualSum = carActualTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getNetMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getNetManNo())
+                                        && StringUtils.isNotEmpty(item.getNetManName())
+                                        && item.getNetMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getNetManNo().equals(model.getCreateManNo())
+                                        && item.getNetManName().equals(model.getCreateManName())).count();
+                                countActualValidSum = carActualTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getNetMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getNetManNo())
+                                        && StringUtils.isNotEmpty(item.getNetManName())
+                                        && item.getNetMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getNetManNo().equals(model.getCreateManNo())
+                                        && item.getNetManName().equals(model.getCreateManName())
+                                        && (item.getIsPreSacale().equals("0") || StringUtils.isEmpty(item.getIsPreSacale()))).count();
+                            }
+                            if(carFirst != null && carFirst.size() >= 1) {
+                                countFirstSum = carFirstTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getMeterMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getCreateManNo())
+                                        && StringUtils.isNotEmpty(item.getCreateManName())
+                                        && item.getMeterMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getCreateManNo().equals(model.getCreateManNo())
+                                        && item.getCreateManName().equals(model.getCreateManName())).count();
+                                //一次毛重
+                                countFirsValidtSum = carFirstTemp.stream().filter(item -> T
+                                        && StringUtils.isNotEmpty(item.getMeterMode())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeNo())
+                                        && StringUtils.isNotEmpty(item.getMeterTypeName())
+                                        && StringUtils.isNotEmpty(item.getCreateManNo())
+                                        && StringUtils.isNotEmpty(item.getCreateManName())
+                                        && item.getMeterMode().equals(model.getMeterMode())
+                                        && item.getMeterTypeNo().equals(model.getMeterTypeNo())
+                                        && item.getMeterTypeName().equals(model.getMeterTypeName())
+                                        && item.getCreateManNo().equals(model.getCreateManNo())
+                                        && item.getCreateManName().equals(model.getCreateManName())
+                                        && item.getValueFlag().equals("1")).count();
+                            }
+                            if(carFirstLog != null && carFirstLog.size() >= 1) {
+                                carFirstLogSum = carFirstLogTemp.stream().filter(item -> T
+                                        && item.get("METER_MODE") != null
+                                        && item.get("METER_TYPE_NO") != null
+                                        && item.get("METER_TYPE_NAME") != null
+                                        && item.get("CREATE_MAN_NO") != null
+                                        && item.get("CREATE_MAN_NAMEss") != null
+                                        && StringUtils.isNotEmpty(item.get("METER_MODE").toString())
+                                        && StringUtils.isNotEmpty(item.get("METER_TYPE_NO").toString())
+                                        && StringUtils.isNotEmpty(item.get("METER_TYPE_NAME").toString())
+                                        && StringUtils.isNotEmpty(item.get("CREATE_MAN_NO").toString())
+                                        && StringUtils.isNotEmpty(item.get("CREATE_MAN_NAME").toString())
+                                        && item.get("METER_MODE").toString().equals(model.getMeterMode())
+                                        && item.get("METER_TYPE_NO").toString().equals(model.getMeterTypeNo())
+                                        && item.get("METER_TYPE_NAME").toString().equals(model.getMeterTypeName())
+                                        && item.get("CREATE_MAN_NO").toString().equals(model.getCreateManNo())
+                                        && item.get("CREATE_MAN_NAME").toString().equals(model.getCreateManName())).count();
+                            }
+                            carMap.put("countActualSum", countActualSum);
+                            carMap.put("countFirstSum", countFirstSum);
+                            carMap.put("carFirstLogSum", carFirstLogSum);
+
+                            countActualTemp += countActualSum;
+                            countFirstTemp += countFirstSum;
+                            countActualValidTemp += countActualValidSum;
+                            countFirstValidTemp += countFirsValidtSum;
+                        }
+                        params02.put("childrenBase", carMap02List);
+                    }else {
+                        HashMap<String, Object> carMap = new HashMap<>();
+                        carMap.put("meterMode", null);
+                        carMap.put("meterTypeNo", null);
+                        carMap.put("meterTypeName", null);
+                        carMap.put("createManNo", null);
+                        carMap.put("createManName", null);
+                        carMap02List.add(carMap);
+                        carMap.put("countActualSum", 0L);
+                        carMap.put("countFirstSum", 0L);
+                        carMap.put("carFirstLogSum", 0L);
+                        params02.put("childrenBase", carMap02List);
+                    }
+                    paramsList02.add(params02);
+                }
+                params01.put("countActualTemp", countActualTemp);
+                params01.put("countFirstTemp", countFirstTemp);
+                params01.put("type", "吊钩秤");
+                params01.put("countFirst", countFirstValidTemp);
+                params01.put("countActual", countActualValidTemp);
+                params01.put("children", paramsList02);
+                paramsList.add(params01);
+            }
+        }
+         */
+        return paramsList;
+    }
 }

+ 2 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.java

@@ -61,4 +61,6 @@ public interface MeterWorkRailwayActFirstMapper extends IBaseMapper<MeterWorkRai
     //铁水吊钩秤业务
     List<MeterWorkRailwayActFirst> distinctHookRailwayNo(HashMap<String, Object> obj);
     List<MeterWorkRailwayActFirst> hookFirstByDesc(HashMap parmas);
+
+    List<HashMap> countDayAllState(Map<String, Object> params);
 }

+ 41 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.xml

@@ -3919,4 +3919,45 @@
     </if>
     order by create_time desc
   </select>
+
+  <select id="countDayAllState" parameterType="java.util.HashMap" resultType="hashmap">
+    select A.base_spot_no,
+          A.base_spot_name,
+          A.create_man_no,
+          A.create_man_name,
+          A.meter_mode,
+          B.meter_type_no,
+          B.meter_type_name,
+          count(1) count_first
+    from meter_work_railway_act_first A
+        left join pre_railway_scale B
+            on A.prediction_no = B.prediction_no
+    where 1 = 1
+      and A.RAILWAY_TYPE_NO in
+      <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  A.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      <if test="baseSpotNo != null and baseSpotNo != ''">
+        and  A.base_spot_no like '%${baseSpotNo}%'
+      </if>
+      <if test="baseSpotName != null and baseSpotName != ''">
+        and  A.base_spot_name like '%${baseSpotName}%'
+      </if>
+      <if test="netSpot3NoStr != null and netSpot3NoStr != ''">
+        and base_spot_no in
+        <foreach collection="spotNoStr" item="item" open="(" separator="," close=")">
+          #{item}
+        </foreach>
+      </if>
+    group by A.base_spot_no,
+            A.base_spot_name,
+            A.create_man_no,
+            A.create_man_name,
+            A.meter_mode,
+            B.meter_type_no,
+            B.meter_type_name
+  </select>
 </mapper>

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -451,7 +451,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 //                    preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
 //                }
 //            }
-            
+
             return num;
         } catch (MarkerMetException e) {
             throw e;

+ 2 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.java

@@ -60,4 +60,6 @@ public interface MeterWorkRailwayActualMapper extends IBaseMapper<MeterWorkRailw
     List<MeterWorkRailwayActual> distinctHookRailwayNo(HashMap<String, Object> obj);
     List<MeterWorkRailwayActual> hookActualByDesc(Map<String, Object> params);
     List<HashMap> dynamicAndStaticCompare(HashMap<String, Object> params);
+
+    List<HashMap> countDayAllState(Map<String, Object> params);
 }

+ 47 - 3
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml

@@ -4678,13 +4678,13 @@
        A.tare_time dynamic_tare_time,
        A.base_spot2_name dynamic_base_spot2_name,
        to_char(round(A.net_weight/1000,2),'FM9999999999999999.00') dynamic_net_weight,
-       to_char(round(A.gross_weight/1000,2),'FM9999999999999999.00') static_gross_weight,
+       to_char(round(B.gross_weight/1000,2),'FM9999999999999999.00') static_gross_weight,
        B.gross_time static_gross_time,
        B.base_spot1_name static_base_spot1_name,
-       to_char(round(A.tare_weight/1000,2),'FM9999999999999999.00') static_tare_weight,
+       to_char(round(B.tare_weight/1000,2),'FM9999999999999999.00') static_tare_weight,
        B.tare_time static_tare_time,
        B.base_spot2_name static_base_spot2_name,
-       to_char(round(A.net_weight/1000,2),'FM9999999999999999.00') static_net_weight,
+       to_char(round(B.net_weight/1000,2),'FM9999999999999999.00') static_net_weight,
        round((A.gross_weight - B.gross_weight)/1000,2) gross_weight_sub,
        round((A.gross_weight - B.gross_weight)/B.gross_weight*100,2) gross_weight_rate,
        round((A.tare_weight - B.tare_weight)/1000,2) tare_weight_sub,
@@ -4706,4 +4706,48 @@
     </if>
   order by A.net_time desc
   </select>
+
+  <select id="countDayAllState" parameterType="java.util.HashMap" resultType="hashmap">
+    select A.net_spot3_no,
+          A.net_spot3_name,
+          A.net_man_no,
+          A.net_man_name,
+          A.net_mode,
+          B.meter_type_no,
+          B.meter_type_name,
+          count(1) count_actual
+    from meter_work_railway_actual A
+        left join pre_railway_scale B
+            on A.prediction_no = B.prediction_no
+    where 1 = 1
+      and A.RAILWAY_TYPE_NO in
+      <foreach collection="railwayTypeNo" item="item" open="(" separator="," close=")">
+          #{item}
+      </foreach>
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  A.net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      <if test="baseSpotNo != null and baseSpotNo != ''">
+        and  A.net_spot3_no like '%${baseSpotNo}%'
+      </if>
+      <if test="baseSpotName != null and baseSpotName != ''">
+        and  A.net_spot3_name like '%${baseSpotName}%'
+      </if>
+      <if test="valueFlag != null and valueFlag != ''">
+        and  A.value_flag like '%${valueFlag}%'
+      </if>
+      <if test="validFlag != null and validFlag != ''">
+        and  A.value_flag != '0'
+      </if>
+      <if test="isPreSacale != null and isPreSacale != ''">
+        and  A.is_pre_sacale like '%${isPreSacale}%'
+      </if>
+    group by A.net_spot3_no,
+            A.net_spot3_name,
+            A.net_man_no,
+            A.net_man_name,
+            A.net_mode,
+            B.meter_type_no,
+            B.meter_type_name
+  </select>
 </mapper>

+ 29 - 15
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/impl/MeterWorkRailwayReceivedServiceImpl.java

@@ -136,7 +136,7 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                 if(model.getAiWeight() != null && StringUtils.isNotEmpty(model.getAiWeight())) {
                     HashMap<String, Object> map = new HashMap<>();
                     map.put("railwayNo", model.getRailwayNo());
-                    List<MeterBaseRailwayAiweight> AiModels = meterBaseRailwayAiweightMapper.selectByParameters(map);
+                        List<MeterBaseRailwayAiweight> AiModels = meterBaseRailwayAiweightMapper.selectByParameters(map);
                     MeterBaseRailwayAiweight AiModel = new MeterBaseRailwayAiweight();
                     if(AiModels.size() >= 1) {
                         AiModel = AiModels.get(0);
@@ -149,18 +149,32 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                         AiModel.setValueFlag("0");
                         meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(AiModel);
                     }else {
-                        AiModel.setActualFirstNo(model.getActualFirstNo());
-                        AiModel.setRailwayNo(model.getRailwayNo());
-                        AiModel.setMeterWeight(new BigDecimal(model.getAiWeight()));
-                        AiModel.setRailwayType(model.getRailwayModelName());
-                        AiModel.setRailwayTypeNo("001019002");
-                        AiModel.setRailwayTypeName("动态轨道衡");
-                        AiModel.setValueFlag("0");
-                        AiModel.setCreateManNo(model.getUpdateManNo());
-                        AiModel.setCreateManName(model.getUpdateManName());
-                        AiModel.setCreateTime(new Date());
-                        AiModel.setRailwaySpeed(model.getRailwaySpeed());
-                        meterBaseRailwayAiweightMapper.insertSelective(AiModel);
+                        MeterBaseRailwayAiweight aiModel = meterBaseRailwayAiweightMapper.selectByPrimaryKey(model.getActualFirstNo());
+                        if(aiModel != null) {
+                            AiModel = aiModel;
+                            AiModel.setRailwayNo(model.getRailwayNo());
+                            AiModel.setMeterWeight(new BigDecimal(model.getAiWeight()));
+                            AiModel.setRailwayType(model.getRailwayModelName());
+                            AiModel.setRailwaySpeed(model.getRailwaySpeed());
+                            AiModel.setUpdateManNo(model.getUpdateManNo());
+                            AiModel.setUpdateManName(model.getUpdateManName());
+                            AiModel.setUpdateTime(new Date());
+                            AiModel.setValueFlag("0");
+                            meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(AiModel);
+                        }else {
+                            AiModel.setActualFirstNo(model.getActualFirstNo());
+                            AiModel.setRailwayNo(model.getRailwayNo());
+                            AiModel.setMeterWeight(new BigDecimal(model.getAiWeight()));
+                            AiModel.setRailwayType(model.getRailwayModelName());
+                            AiModel.setRailwayTypeNo("001019002");
+                            AiModel.setRailwayTypeName("动态轨道衡");
+                            AiModel.setValueFlag("0");
+                            AiModel.setCreateManNo(model.getUpdateManNo());
+                            AiModel.setCreateManName(model.getUpdateManName());
+                            AiModel.setCreateTime(new Date());
+                            AiModel.setRailwaySpeed(model.getRailwaySpeed());
+                            meterBaseRailwayAiweightMapper.insertSelective(AiModel);
+                        }
                     }
                 }
                 meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(model);
@@ -185,7 +199,7 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                     }
                 }
             }
-            
+
             rm.setSucceed();
             rm.setMessage("操作成功,共有" + count + "条数据更新成功");
             rm.setCode("200");
@@ -264,7 +278,7 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                 meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(model);
                 count ++;
             }
-            
+
             //修改主表是否已处理完
             if(models.size() >= 1) {
                 MeterWorkRailwayReceived receivedModel = meterWorkRailwayReceivedMapper.selectByPrimaryKey(models.get(0).getActualFirstNo());