作者 shenhailong

添加送电逻辑 充值成功后 判断余额是否充足 是送电 否 不操作

... ... @@ -182,4 +182,7 @@ eeUrl:
#获取设备跟公寓信息
# getRoomAndDeviceUrl: "http://10.5.10.102:8000/api/emcs/getRoomAndDevice"
getRoomAndDeviceUrl: "http://192.168.1.7:18080/api/emcs/getRoomAndDevice"
#电表送电 1送电 2断电
# remoteControlDevices: "http://10.5.10.102:8000/api/emcs/remoteControlDevices"
remoteControlDevices: "http://192.168.1.199:18080/api/emcs/remoteControlDevices"
... ...
... ... @@ -8,6 +8,7 @@ import com.sunyo.energy.location.model.PayRecords;
import com.sunyo.energy.location.model.PayResponse;
import com.sunyo.energy.location.service.ElectricityMeterService;
import com.sunyo.energy.location.service.WaterMeterService;
import com.sunyo.energy.location.utils.HttpsUtils;
import com.sunyo.energy.location.websocket.WebSocketServer;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
... ... @@ -20,6 +21,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
... ... @@ -140,6 +143,7 @@ public class PayRseponeController {
// 通知充值电费
int eeResult = electricityMeterService.rechargeDevices(eeId, PAYMENT, "0", ORDERID);
if (eeResult > 0) {
log.info("电表信息充值成功{}",eeResult);
/**
* 修改电表充值状态
... ...
package com.sunyo.energy.location.dao;
import com.sunyo.energy.location.model.WaterElectricityParameter;
import java.util.List;
public interface WaterElectricityParameterMapper {
int deleteByPrimaryKey(Integer id);
int insert(WaterElectricityParameter record);
int insertSelective(WaterElectricityParameter record);
WaterElectricityParameter selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(WaterElectricityParameter record);
int updateByPrimaryKey(WaterElectricityParameter record);
int countOne(String eeId);
WaterElectricityParameter findOneElectricity(String eeId);
}
\ No newline at end of file
package com.sunyo.energy.location.service;
import com.github.pagehelper.PageInfo;
import com.sunyo.energy.location.model.ElectricityInfo;
import com.sunyo.energy.location.model.PayRecords;
import java.util.List;
/**
* @author shenhailong
* <p>
* 2020/6/5/10:45
*/
public interface EeInfoService {
int deleteByPrimaryKey(String orderNumber);
int insert(ElectricityInfo record);
int insertSelective(ElectricityInfo record);
ElectricityInfo selectByPrimaryKey(String orderNumber);
PageInfo<ElectricityInfo> getEeInfo(int pageSize, int pageNum, String deviceId);
int updateByPrimaryKeySelective(ElectricityInfo record);
int updateByPrimaryKey(ElectricityInfo record);
}
package com.sunyo.energy.location.service;
import java.util.List;
public interface LocationService {
List userPayList(String roomNumber);
}
package com.sunyo.energy.location.service;
import com.github.pagehelper.PageInfo;
import com.sunyo.energy.location.model.PayRecords;
/**
* Created by XYH on 2019/12/16.
*/
public interface PayOrderService {
PageInfo<PayRecords> getOrder(int pageSize, int pageNum, String orderNumber, String payTime, String username);
int addOrder(PayRecords payRecords);
int ediOrder(PayRecords payRecords);
int delOrder(PayRecords payRecords);
}
package com.sunyo.energy.location.service;
import com.sunyo.energy.location.model.WaterElectricityParameter;
import java.util.List;
public interface WaterElectricityParameterService {
int insertSelective(WaterElectricityParameter record);
int updateByPrimaryKeySelective(WaterElectricityParameter record);
int countOne(String eeId);
WaterElectricityParameter findOneElectricity(String eeId);
}
package com.sunyo.energy.location.service.imp;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sunyo.energy.location.dao.ElectricityInfoMapper;
import com.sunyo.energy.location.model.ElectricityInfo;
import com.sunyo.energy.location.model.PayRecords;
import com.sunyo.energy.location.service.EeInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.List;
/**
* @author shenhailong
* <p>
* 2020/6/5/10:45
*/
@Service
public class EeInfoServiceImpl implements EeInfoService {
@Autowired
ElectricityInfoMapper electricityInfoMapper;
@Override
public int deleteByPrimaryKey(String orderNumber) {
return 0;
}
@Override
public int insert(ElectricityInfo record) {
return 0;
}
@Override
public int insertSelective(ElectricityInfo record) {
return 0;
}
@Override
public ElectricityInfo selectByPrimaryKey(String orderNumber) {
return null;
}
@Override
public PageInfo<ElectricityInfo> getEeInfo(int pageSize, int pageNum, String deviceId) {
PageHelper.startPage(pageNum, pageSize);
List<ElectricityInfo> list = electricityInfoMapper.selectAll(deviceId);
PageInfo<ElectricityInfo> result = new PageInfo<>(list);
return result;
}
@Override
public int updateByPrimaryKeySelective(ElectricityInfo record) {
return 0;
}
@Override
public int updateByPrimaryKey(ElectricityInfo record) {
return 0;
}
}
... ... @@ -51,11 +51,10 @@ public class ElectricityMeterServiceImp implements ElectricityMeterService {
*/
@Value("${eeUrl.rechargeDevicesUrl}")
private String rechargeDevicesUrl;
/**
* 获取设备跟公寓信息
*/
@Value("${eeUrl.getRoomAndDeviceUrl}")
private String getRoomAndDeviceUrl;
@Value("${eeUrl.remoteControlDevices}")
private String remoteControlDevices;
/**
* 实施获取电表数据
... ... @@ -81,6 +80,7 @@ public class ElectricityMeterServiceImp implements ElectricityMeterService {
}
}
/**
* 电表充值
*
... ... @@ -111,6 +111,20 @@ public class ElectricityMeterServiceImp implements ElectricityMeterService {
}
if ("0".equals(rechargeDevicesResult.getErrcode()) && message == true) {
log.info("电表充值成功,充值额度:{}", money);
/**
* 充值成功送电
*/
ElectricityMeter energyInfoForRealTime = getEnergyInfoForRealTime(deviceId);
if (energyInfoForRealTime.getBalance() != null){
int i = energyInfoForRealTime.getBalance().compareTo(BigDecimal.ZERO);
if (i > 0){
Map<String, Object> map = new HashMap<>();
map.put("deviceId", deviceId);
map.put("action", "1");
HttpsUtils.sendPost(remoteControlDevices, map);
}
}
return 1;
} else {
log.info("电表充值失败,充值额度:{}", money);
... ... @@ -142,40 +156,6 @@ public class ElectricityMeterServiceImp implements ElectricityMeterService {
return datas;
}
/**
* 定时读取电表临时表 发起充值
*/
// @Scheduled(fixedDelay = 30000)
public void electricityInfo() {
List<ElectricityInfo> electricityInfos = electricityInfoMapper.selectAll("");
if (electricityInfos.size() > 0) {
for (ElectricityInfo electricityInfo : electricityInfos) {
Map<String, Object> stringObjectMap = mapCommon(electricityInfo.getActionType(),
electricityInfo.getDeviceId(),
String.valueOf(electricityInfo.getMoney()),
electricityInfo.getIpAddress());
stringObjectMap.put("secret", electricityInfo.getSecret());
String result = HttpsUtils.sendPost(rechargeDevicesUrl, stringObjectMap);
log.info("电表临时表充值请求信息:{}", electricityInfo.toString());
log.info("电表临时表充值返回信息:{}", result);
RechargeDevicesResult rechargeDevicesResult = JSON.parseObject(result, RechargeDevicesResult.class);
if (rechargeDevicesResult.getData() != null) {
List<RechargeDevicesResultData> data = rechargeDevicesResult.getData().getDatas();
Boolean message = null;
for (RechargeDevicesResultData rechargeDevicesResultData : data) {
message = rechargeDevicesResultData.getSuccess();
}
if ("0".equals(rechargeDevicesResult.getErrcode()) && message == true) {
payRecordsMapper.updateStatus(electricityInfo.getOrderNumber());
electricityInfo.setStatus("0");
electricityInfoMapper.updateByPrimaryKeySelective(electricityInfo);
}
}
}
}
log.info("定时任务处理完成");
}
public Map<String, Object> mapCommon(String actionType, String deviceId, String money, String ip_address) {
Map<String, Object> map = new HashMap<>();
... ... @@ -186,4 +166,5 @@ public class ElectricityMeterServiceImp implements ElectricityMeterService {
return map;
}
}
... ...
package com.sunyo.energy.location.service.imp;
import com.sunyo.energy.location.dao.LocationMapper;
import com.sunyo.energy.location.model.ElectricityMeter;
import com.sunyo.energy.location.model.WaterMeter;
import com.sunyo.energy.location.service.ElectricityMeterService;
import com.sunyo.energy.location.service.LocationService;
import com.sunyo.energy.location.utils.AllUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class LocationServiceImp implements LocationService {
@Autowired
LocationMapper locationMapper;
@Autowired
ElectricityMeterService electricityMeterService;
@Override
public List userPayList(String roomNumber) {
try {
// 房间号如果为null 跳过
if (!StringUtils.isEmpty(roomNumber)) {
List<Map<String, Object>> list = new ArrayList<>();
/**
* 水费查询
*/
// 查询房间号 水表本地查询list
Map<String, Object> thisLocalityWaterMap = locationMapper.userPayList(roomNumber);
Map<String, Object> distanceWaterMap = new HashMap<>();
// 是否为null 为null则去线上查询
if (thisLocalityWaterMap != null) {
if (!StringUtils.isEmpty(thisLocalityWaterMap.get("wmSacc").toString()) && !StringUtils.isEmpty(thisLocalityWaterMap.get("wmLacc").toString())) {
// 计算剩余量 充值量 减去 消费量 参数1 减去 参数2
String subtraction = AllUtils.nubmerSubtraction(thisLocalityWaterMap.get("wmSacc").toString(), thisLocalityWaterMap.get("wmLacc").toString());
// 余量
thisLocalityWaterMap.put("subtraction", subtraction);
}
list.add(thisLocalityWaterMap);
} else {
// 查询该房间号的水表编号
String wmId = locationMapper.findWmId(roomNumber);
if (!"".equals(wmId) && "" != wmId) {
Map<String, Object> waterMaps = new HashMap<>();
WaterMeterServiceImp waterMeterServiceImp = new WaterMeterServiceImp();
WaterMeter realTime = waterMeterServiceImp.findRealTime(wmId);
String subtraction = AllUtils.nubmerSubtraction(realTime.getWmSacc(), realTime.getWmLacc());
distanceWaterMap.put("subtraction", subtraction);
distanceWaterMap.put("wmSacc", realTime.getWmSacc());
distanceWaterMap.put("wmFmstate", realTime.getWmFmstate());
distanceWaterMap.put("wmLacc", realTime.getWmLacc());
distanceWaterMap.put("wmId", wmId);
list.add(distanceWaterMap);
}
}
/**
* 电费查询 通过房间号查询设备id
*/
String eeId = locationMapper.eeId(roomNumber);
if (!"".equals(eeId)) {
ElectricityMeter energyInfoForRealTime = electricityMeterService.getEnergyInfoForRealTime(eeId);
Map<String, Object> eeMap = new HashMap<>();
if (energyInfoForRealTime != null) {
eeMap.put("deviceId", energyInfoForRealTime.getDeviceId());
eeMap.put("balance", energyInfoForRealTime.getBalance());
eeMap.put("wmId", "");
list.add(eeMap);
}
}
return list;
}
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
package com.sunyo.energy.location.service.imp;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sunyo.energy.location.dao.PayRecordsMapper;
import com.sunyo.energy.location.model.PayRecords;
import com.sunyo.energy.location.service.PayOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* Created by XYH on 2019/12/16.
*/
@Service
public class PayOrderImpl implements PayOrderService {
@Autowired
PayRecordsMapper recordsMapper;
@Override
public PageInfo<PayRecords> getOrder(int pageSize, int pageNum, String orderNumber, String payTime, String username) {
// 开始时间
String startTime = "";
// 结束时间
String endTime = "";
Page<PayRecords> page = PageHelper.startPage(pageNum, pageSize);
if (!StringUtils.isEmpty(payTime) && !payTime.contains("undefined")) {
String[] split = payTime.split(",");
startTime = split[0].toString();
endTime = split[1].toString();
}
List<PayRecords> list = new ArrayList<>();
if ("admin".equals(username)) {
username = "";
list = recordsMapper.findAll(orderNumber, startTime, endTime, username);
} else {
list = recordsMapper.findAll(orderNumber, startTime, endTime, username);
}
PageInfo<PayRecords> result = new PageInfo<>(list);
return result;
}
@Override
public int addOrder(PayRecords payRecords) {
return recordsMapper.insert(payRecords);
}
@Override
public int ediOrder(PayRecords payRecords) {
return recordsMapper.updateByPrimaryKey(payRecords);
}
@Override
public int delOrder(PayRecords payRecords) {
return recordsMapper.deleteByPrimaryKey(payRecords.getId());
}
}
package com.sunyo.energy.location.service.imp;
import com.sunyo.energy.location.controller.response.ResultJson;
import com.sunyo.energy.location.dao.WaterElectricityParameterMapper;
import com.sunyo.energy.location.model.WaterElectricityParameter;
import com.sunyo.energy.location.service.WaterElectricityParameterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
@Service
public class WaterElectricityParameterServiceImp implements WaterElectricityParameterService {
@Autowired
private WaterElectricityParameterMapper waterElectricityParameterMapper;
@Override
public int insertSelective(WaterElectricityParameter record) {
record.setCreattime(new Date());
return waterElectricityParameterMapper.insertSelective(record);
}
@Override
public int updateByPrimaryKeySelective(WaterElectricityParameter record) {
return waterElectricityParameterMapper.updateByPrimaryKeySelective(record);
}
@Override
public int countOne(String eeId) {
return waterElectricityParameterMapper.countOne(eeId);
}
@Override
public WaterElectricityParameter findOneElectricity(String eeId) {
try {
return waterElectricityParameterMapper.findOneElectricity(eeId);
} catch (Exception e) {
return null;
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sunyo.energy.location.dao.WaterElectricityParameterMapper">
<resultMap id="BaseResultMap" type="com.sunyo.energy.location.model.WaterElectricityParameter">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="prepaid" property="prepaid" jdbcType="BIT"/>
<result column="warningTrip" property="warningtrip" jdbcType="BIT"/>
<result column="warningThreshold" property="warningthreshold" jdbcType="DECIMAL"/>
<result column="overdraft" property="overdraft" jdbcType="BIT"/>
<result column="overdraftThreshold" property="overdraftthreshold" jdbcType="DECIMAL"/>
<result column="waterLoad" property="waterload" jdbcType="BIT"/>
<result column="water" property="water" jdbcType="DECIMAL"/>
<result column="power" property="power" jdbcType="DECIMAL"/>
<result column="powerFactor" property="powerfactor" jdbcType="VARCHAR"/>
<result column="free" property="free" jdbcType="BIT"/>
<result column="freeElectricityLimit" property="freeelectricitylimit" jdbcType="DECIMAL"/>
<result column="freeWater" property="freewater" jdbcType="VARCHAR"/>
<result column="wm_id" property="wmId" jdbcType="VARCHAR"/>
<result column="creatTime" property="creattime" jdbcType="TIMESTAMP"/>
<result column="ee_id" property="eeId" jdbcType="VARCHAR"/>
<result column="reamke2" property="reamke2" jdbcType="VARCHAR"/>
<result column="reamke3" property="reamke3" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id, prepaid, warningTrip, warningThreshold, overdraft, overdraftThreshold, waterLoad,
water, power, powerFactor, free, freeElectricityLimit, freeWater, wm_id, creatTime,
ee_id, reamke2, reamke3
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from water_electricity_parameter
where id = #{id,jdbcType=INTEGER}
</select>
<select id="countOne" parameterType="java.lang.String" resultType="int">
select count(*) from water_electricity_parameter where ee_id=#{value, jdbcType=VARCHAR}
</select>
<select id="findOneElectricity" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from water_electricity_parameter where ee_id = #{value,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from water_electricity_parameter
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.sunyo.energy.location.model.WaterElectricityParameter">
insert into water_electricity_parameter (id, prepaid, warningTrip,
warningThreshold, overdraft, overdraftThreshold,
waterLoad, water, power,
powerFactor, free, freeElectricityLimit,
freeWater, wm_id, creatTime,
ee_id, reamke2, reamke3
)
values (#{id,jdbcType=INTEGER}, #{prepaid,jdbcType=BIT}, #{warningtrip,jdbcType=BIT},
#{warningthreshold,jdbcType=DECIMAL}, #{overdraft,jdbcType=BIT}, #{overdraftthreshold,jdbcType=DECIMAL},
#{waterload,jdbcType=BIT}, #{water,jdbcType=DECIMAL}, #{power,jdbcType=DECIMAL},
#{powerfactor,jdbcType=VARCHAR}, #{free,jdbcType=BIT}, #{freeelectricitylimit,jdbcType=DECIMAL},
#{freewater,jdbcType=VARCHAR}, #{wmId,jdbcType=VARCHAR}, #{creattime,jdbcType=TIMESTAMP},
#{eeId,jdbcType=VARCHAR}, #{reamke2,jdbcType=VARCHAR}, #{reamke3,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.sunyo.energy.location.model.WaterElectricityParameter">
insert into water_electricity_parameter
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="prepaid != null">
prepaid,
</if>
<if test="warningtrip != null">
warningTrip,
</if>
<if test="warningthreshold != null">
warningThreshold,
</if>
<if test="overdraft != null">
overdraft,
</if>
<if test="overdraftthreshold != null">
overdraftThreshold,
</if>
<if test="waterload != null">
waterLoad,
</if>
<if test="water != null">
water,
</if>
<if test="power != null">
power,
</if>
<if test="powerfactor != null">
powerFactor,
</if>
<if test="free != null">
free,
</if>
<if test="freeelectricitylimit != null">
freeElectricityLimit,
</if>
<if test="freewater != null">
freeWater,
</if>
<if test="wmId != null">
wm_id,
</if>
<if test="creattime != null">
creatTime,
</if>
<if test="eeId != null">
ee_id,
</if>
<if test="reamke2 != null">
reamke2,
</if>
<if test="reamke3 != null">
reamke3,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="prepaid != null">
#{prepaid,jdbcType=BIT},
</if>
<if test="warningtrip != null">
#{warningtrip,jdbcType=BIT},
</if>
<if test="warningthreshold != null">
#{warningthreshold,jdbcType=DECIMAL},
</if>
<if test="overdraft != null">
#{overdraft,jdbcType=BIT},
</if>
<if test="overdraftthreshold != null">
#{overdraftthreshold,jdbcType=DECIMAL},
</if>
<if test="waterload != null">
#{waterload,jdbcType=BIT},
</if>
<if test="water != null">
#{water,jdbcType=DECIMAL},
</if>
<if test="power != null">
#{power,jdbcType=DECIMAL},
</if>
<if test="powerfactor != null">
#{powerfactor,jdbcType=VARCHAR},
</if>
<if test="free != null">
#{free,jdbcType=BIT},
</if>
<if test="freeelectricitylimit != null">
#{freeelectricitylimit,jdbcType=DECIMAL},
</if>
<if test="freewater != null">
#{freewater,jdbcType=VARCHAR},
</if>
<if test="wmId != null">
#{wmId,jdbcType=VARCHAR},
</if>
<if test="creattime != null">
#{creattime,jdbcType=TIMESTAMP},
</if>
<if test="eeId != null">
#{eeId,jdbcType=VARCHAR},
</if>
<if test="reamke2 != null">
#{reamke2,jdbcType=VARCHAR},
</if>
<if test="reamke3 != null">
#{reamke3,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.sunyo.energy.location.model.WaterElectricityParameter">
update water_electricity_parameter
<set>
<if test="prepaid != null">
prepaid = #{prepaid,jdbcType=BIT},
</if>
<if test="warningtrip != null">
warningTrip = #{warningtrip,jdbcType=BIT},
</if>
<if test="warningthreshold != null">
warningThreshold = #{warningthreshold,jdbcType=DECIMAL},
</if>
<if test="overdraft != null">
overdraft = #{overdraft,jdbcType=BIT},
</if>
<if test="overdraftthreshold != null">
overdraftThreshold = #{overdraftthreshold,jdbcType=DECIMAL},
</if>
<if test="waterload != null">
waterLoad = #{waterload,jdbcType=BIT},
</if>
<if test="water != null">
water = #{water,jdbcType=DECIMAL},
</if>
<if test="power != null">
power = #{power,jdbcType=DECIMAL},
</if>
<if test="powerfactor != null">
powerFactor = #{powerfactor,jdbcType=VARCHAR},
</if>
<if test="free != null">
free = #{free,jdbcType=BIT},
</if>
<if test="freeelectricitylimit != null">
freeElectricityLimit = #{freeelectricitylimit,jdbcType=DECIMAL},
</if>
<if test="freewater != null">
freeWater = #{freewater,jdbcType=VARCHAR},
</if>
<if test="wmId != null">
wm_id = #{wmId,jdbcType=VARCHAR},
</if>
<if test="creattime != null">
creatTime = #{creattime,jdbcType=TIMESTAMP},
</if>
<if test="eeId != null">
ee_id = #{eeId,jdbcType=VARCHAR},
</if>
<if test="reamke2 != null">
reamke2 = #{reamke2,jdbcType=VARCHAR},
</if>
<if test="reamke3 != null">
reamke3 = #{reamke3,jdbcType=VARCHAR},
</if>
</set>
where ee_id = #{eeId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.sunyo.energy.location.model.WaterElectricityParameter">
update water_electricity_parameter
set prepaid = #{prepaid,jdbcType=BIT},
warningTrip = #{warningtrip,jdbcType=BIT},
warningThreshold = #{warningthreshold,jdbcType=DECIMAL},
overdraft = #{overdraft,jdbcType=BIT},
overdraftThreshold = #{overdraftthreshold,jdbcType=DECIMAL},
waterLoad = #{waterload,jdbcType=BIT},
water = #{water,jdbcType=DECIMAL},
power = #{power,jdbcType=DECIMAL},
powerFactor = #{powerfactor,jdbcType=VARCHAR},
free = #{free,jdbcType=BIT},
freeElectricityLimit = #{freeelectricitylimit,jdbcType=DECIMAL},
freeWater = #{freewater,jdbcType=VARCHAR},
wm_id = #{wmId,jdbcType=VARCHAR},
creatTime = #{creattime,jdbcType=TIMESTAMP},
ee_id = #{eeId,jdbcType=VARCHAR},
reamke2 = #{reamke2,jdbcType=VARCHAR},
reamke3 = #{reamke3,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file