Browse Source

Merge remote-tracking branch 'origin/0727' into 0727

609324174@qq.com 4 years ago
parent
commit
11c0de7b96

+ 21 - 0
smart-city-bat/src/main/resources/sql/stat_meter_unread_device_by_building.sql

@@ -0,0 +1,21 @@
+insert into sc_stat_meter_unread_device_by_building (stat_day,site_id,channel_id,building_id,device_id,date_create)
+SELECT
+	DATE_FORMAT( date_add( :date, INTERVAL - 1 DAY ), '%Y%m%d' ),
+	site_id,
+	sys_id,
+	building_id,
+	device_id,
+	now()
+FROM
+	sc_meter_read_record 
+WHERE
+	read_date < DATE_FORMAT( :date, '%Y%m%d' ) 
+AND read_date >= DATE_FORMAT( date_add(:date, interval -1 day), '%Y%m%d' )
+	AND read_status = 1 
+GROUP BY
+	site_id,
+	sys_id,
+	building_id,
+	device_id 
+HAVING
+	count(1) = 1;

+ 2 - 0
smart-city-platform/src/main/java/com/bz/smart_city/dao/assistant/InstallListMapper.java

@@ -38,6 +38,8 @@ public interface InstallListMapper {
 
     int updateByPrimaryKey(InstallList record);
 
+    int updateByDeviceId2(InstallList record);
+
     List<InstallListDTO> queryUnPlanedList(@Param("customerId") Integer customerId,
                                            @Param("meterCode") String meterCode,
                                            @Param("communityId") Integer communityId,

+ 13 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/WaterMeterMaintenanceLogServiceImpl.java

@@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSON;
 import com.bz.smart_city.commom.exception.ServiceException;
 import com.bz.smart_city.commom.util.UserUtil;
 import com.bz.smart_city.dao.*;
+import com.bz.smart_city.dao.assistant.InstallListMapper;
 import com.bz.smart_city.dto.DeviceErrorDto;
 import com.bz.smart_city.dto.WaterMeterMaintenanceLogDto;
 import com.bz.smart_city.entity.*;
+import com.bz.smart_city.entity.assistant.InstallList;
 import com.bz.smart_city.service.WorkOrderService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -43,6 +45,8 @@ public class WaterMeterMaintenanceLogServiceImpl implements WaterMeterMaintenanc
     private DeviceMapper deviceMapper;
     @Autowired
     private WorkOrderService workOrderService;
+    @Resource
+    private InstallListMapper installListMapper;
 
     @Override
     public int insert(WaterMeterMaintenanceLog waterMeterMaintenanceLog) {
@@ -160,6 +164,15 @@ public class WaterMeterMaintenanceLogServiceImpl implements WaterMeterMaintenanc
 
                 //完成工单任务
                 workOrderService.handle(waterMeterMaintenanceLog.getTaskId(), "换表", null);
+
+                //更新安装列表中的初始读数和旧表读数
+                InstallList installList = new InstallList();
+                installList.setDeviceId(waterMeterMaintenanceLog.getDeviceId());
+                installList.setNewMeterStart(waterMeterMaintenanceLog.getNewBeginWsv());
+                installList.setOldMeterEnd(waterMeterMaintenanceLog.getOldEndWsv());
+                installList.setDateUpdate(LocalDateTime.now());
+                installListMapper.updateByDeviceId2(installList);
+
             }
             //4、更新设备信息
             Device newDevice = new Device();

+ 17 - 0
smart-city-platform/src/main/resources/mapper/InstallListMapper.xml

@@ -761,6 +761,23 @@
     </set>
     where id = #{id}
   </update>
+
+  <update id="updateByDeviceId2" parameterType="com.bz.smart_city.entity.assistant.InstallList">
+    update sc_install_list
+    <set>
+      <if test="newMeterStart != null">
+        new_meter_start = #{newMeterStart},
+      </if>
+      <if test="oldMeterEnd != null">
+        old_meter_end = #{oldMeterEnd},
+      </if>
+      <if test="dateUpdate != null">
+        date_update = #{dateUpdate},
+      </if>
+
+    </set>
+    where device_id = #{deviceId}
+  </update>
   
   <select id="queryUnPlanedList" resultType="com.bz.smart_city.dto.assistant.InstallListDTO">
 		SELECT

+ 2 - 3
smart-city-platform/src/main/resources/mapper/pay/AmountWaterUsedAmountMapper.xml

@@ -353,14 +353,14 @@
 		NULL
 		FROM
 		pay_base_customerandmeterrela c
+		LEFT JOIN sc_install_list sil ON sil.device_id = c.watermeter_id
 		LEFT JOIN pay_amount_waterusedamount_day amount ON amount.watermeter_id = c.watermeter_id
 		AND amount.read_date = DATE_FORMAT( DATE_SUB( now(), INTERVAL 1 DAY ), '%Y%m%d' )
 		LEFT JOIN (
 		SELECT
 		oldwua.watermeter_id,
 		oldwua.reading,
-		oldwua.recorddate,
-		sil.new_meter_start
+		oldwua.recorddate
 		FROM
 		(
 		SELECT
@@ -374,7 +374,6 @@
 		waterusedamount.watermeter_id
 		) lastid
 		LEFT JOIN pay_amount_waterusedamount oldwua ON lastid.create_date = oldwua.create_date
-		LEFT JOIN sc_install_list sil on sil.device_id = oldwua.watermeter_id
 		AND oldwua.watermeter_id = lastid.watermeter_id
 		) lastwua ON c.watermeter_id = lastwua.watermeter_id
 		WHERE