电表同步
This commit is contained in:
parent
74e70bd5cd
commit
9245e75ed2
|
|
@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
|
||||
import com.nu.modules.tq.electricity.service.IElectricityMeterService;
|
||||
import com.nu.modules.tq.water.entity.WaterMeter;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
|
@ -15,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
|
|
@ -98,8 +98,6 @@ public class ElectricityMeterController extends JeecgController<ElectricityMeter
|
|||
return Result.OK("同步成功!");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 电表-同步
|
||||
* @return
|
||||
|
|
@ -119,4 +117,110 @@ public class ElectricityMeterController extends JeecgController<ElectricityMeter
|
|||
return Result.error("其他错误,请联系管理员!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 电表源数据查询
|
||||
*
|
||||
* @param electricityMeter
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/sourceList")
|
||||
public Result<IPage<ElectricityMeter>> sourceList(ElectricityMeter electricityMeter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
Page<ElectricityMeter> page = new Page<ElectricityMeter>(pageNo, pageSize);
|
||||
IPage<ElectricityMeter> pageList = service.findSourcePage(page, electricityMeter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 电表数据中机构列表查询
|
||||
*
|
||||
* @param electricityMeter
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/departList")
|
||||
public Result<List<ElectricityMeter>> departList(ElectricityMeter electricityMeter) {
|
||||
List<ElectricityMeter> list = service.findDepartList(electricityMeter);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 电表数据中区域列表查询
|
||||
*
|
||||
* @param electricityMeter
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/nuList")
|
||||
public Result<List<ElectricityMeter>> nuList(ElectricityMeter electricityMeter) {
|
||||
List<ElectricityMeter> list = service.findNuList(electricityMeter);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 电表数据中已同步列表查询
|
||||
*
|
||||
* @param electricityMeter
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/businessList")
|
||||
public Result<IPage<ElectricityMeter>> businessList(ElectricityMeter electricityMeter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
Page<ElectricityMeter> page = new Page<ElectricityMeter>(pageNo, pageSize);
|
||||
IPage<ElectricityMeter> pageList = service.findBusinessPage(page,electricityMeter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 以设备维度同步电表到业务
|
||||
*
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/syncDevices")
|
||||
public Result<String> syncDevices(@RequestBody List<ElectricityMeter> list) {
|
||||
String result = service.syncDevices(list);
|
||||
if(StringUtils.equals(result,"0")){
|
||||
return Result.OK("操作成功!");
|
||||
}else if (StringUtils.equals(result,"1")){
|
||||
return Result.error("参数为空!");
|
||||
}else if (StringUtils.equals(result,"2")){
|
||||
return Result.error("设备ID为空!");
|
||||
}else{
|
||||
return Result.error("其他错误,请联系管理员!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 电表同步日志列表查询
|
||||
*
|
||||
* @param electricityMeter
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/syncLogList")
|
||||
public Result<IPage<ElectricityMeter>> syncLogList(ElectricityMeter electricityMeter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
Page<ElectricityMeter> page = new Page<ElectricityMeter>(pageNo, pageSize);
|
||||
IPage<ElectricityMeter> pageList = service.findSyncLogPage(page, electricityMeter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定完摄像头的区域列表查询
|
||||
*
|
||||
* @param electricityMeter
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/nuSyncList")
|
||||
public Result<IPage<ElectricityMeter>> nuSyncList(ElectricityMeter electricityMeter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
Page<ElectricityMeter> page = new Page<ElectricityMeter>(pageNo, pageSize);
|
||||
IPage<ElectricityMeter> pageList = service.findNuSyncPage(page, electricityMeter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,9 +9,11 @@ import io.swagger.annotations.ApiModelProperty;
|
|||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>Class :物联电表管理Entity
|
||||
|
|
@ -69,14 +71,43 @@ public class ElectricityMeter implements Serializable {
|
|||
|
||||
private String nuId;//护理单元ID
|
||||
private String nuName;//护理单元
|
||||
@Dict(dicCode = "nu_type")
|
||||
@TableField(exist = false)
|
||||
private String areaFlag;//区域标签
|
||||
@TableField(exist = false)
|
||||
private Integer deviceNum;//已绑定设备数
|
||||
private String departId;//机构ID
|
||||
private String departName;//机构名称
|
||||
private String departServerUrl;//机构服务地址
|
||||
@TableField(exist = false)
|
||||
private String orgCode;//机构编码
|
||||
private String oldServerUrl;//原机构服务地址
|
||||
private String syncType;//是否同步 0 未同步 1已同步
|
||||
private String oldDepartId;//原机构id
|
||||
private String oldDepartName;//原机构名称
|
||||
|
||||
@TableField(exist = false)
|
||||
private String oldOrgCode;//原机构编码
|
||||
@TableField(exist = false)
|
||||
private String checkType;
|
||||
@TableField(exist = false)
|
||||
private String viewType;//选择,未选择 用于设备同步功能
|
||||
@TableField(exist = false)
|
||||
private String dataType;//数据类型
|
||||
@TableField(exist = false)
|
||||
private String actionType;//操作类型
|
||||
|
||||
@TableField(exist = false)
|
||||
private String sn;//设备号
|
||||
@TableField(exist = false)
|
||||
private String deviceName;//设备名称
|
||||
@TableField(exist = false)
|
||||
private String status;//状态
|
||||
@TableField(exist = false)
|
||||
private String serverType;//服务类型
|
||||
@TableField(exist = false)
|
||||
private String oldNuId;//原护理单元ID
|
||||
@TableField(exist = false)
|
||||
private String createTime;//时间
|
||||
@TableField(exist = false)
|
||||
private List<ElectricityMeter> seedList;//子列表
|
||||
}
|
||||
|
|
@ -18,5 +18,17 @@ public interface ElectricityMeterMapper extends BaseMapper<ElectricityMeter> {
|
|||
|
||||
int updateElectricty(ElectricityMeter electricityMeter);
|
||||
|
||||
void updateDepartById(ElectricityMeter cameraInfo);
|
||||
void updateDepartById(ElectricityMeter electricityMeter);
|
||||
|
||||
void updateSync(ElectricityMeter electricityMeter);
|
||||
|
||||
IPage<ElectricityMeter> findSourcePage(Page<ElectricityMeter> page, @Param("params") ElectricityMeter electricityMeter);
|
||||
List<ElectricityMeter> findDepartList(ElectricityMeter electricityMeter);
|
||||
List<ElectricityMeter> findNuList(ElectricityMeter electricityMeter);
|
||||
IPage<ElectricityMeter> findBusinessPage(Page<ElectricityMeter> page, @Param("params") ElectricityMeter electricityMeter);
|
||||
|
||||
IPage<ElectricityMeter> findSyncLogMainPage(Page<ElectricityMeter> page, @Param("params") ElectricityMeter electricityMeter);
|
||||
List<ElectricityMeter> findSyncLogSeedList(ElectricityMeter electricityMeter);
|
||||
|
||||
IPage<ElectricityMeter> findNuSyncPage(Page<ElectricityMeter> page, @Param("params") ElectricityMeter electricityMeter);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,10 +89,24 @@
|
|||
ele_value as eleValue,
|
||||
relay_state as relayState,
|
||||
read_time as readTime,
|
||||
remark
|
||||
remark,
|
||||
nu_id as nuId,
|
||||
nu_name as nuName,
|
||||
depart_id as departId,
|
||||
depart_name as departName,
|
||||
depart_server_url as departServerUrl,
|
||||
old_server_url as oldServerUrl,
|
||||
old_depart_id as oldDepartId,
|
||||
old_depart_name as oldDepartName
|
||||
from nu_iot_tq_electricity_meter
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="insertElectricty" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
|
|
@ -118,8 +132,14 @@
|
|||
relay_state = #{relayState},
|
||||
remark = #{remark},
|
||||
update_time = now()
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<update id="updateValue" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
|
|
@ -128,8 +148,14 @@
|
|||
ele_value = #{eleValue},
|
||||
read_time = #{readTime},
|
||||
update_time = now()
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<update id="updateRelayState" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
|
|
@ -137,12 +163,212 @@
|
|||
set
|
||||
relay_state = #{relayState},
|
||||
update_time = now()
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
<update id="updateDepartById" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" >
|
||||
update nu_iot_tq_electricity_meter set nu_id = null,nu_name = null,depart_id = null,depart_name = null,depart_server_url=null where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateSync" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
update nu_iot_tq_electricity_meter
|
||||
set
|
||||
sync_type = #{syncType},
|
||||
nu_id = #{nuId},
|
||||
nu_name = #{nuName},
|
||||
depart_server_url = #{departServerUrl},
|
||||
depart_id = #{departId},
|
||||
depart_name = #{departName},
|
||||
old_server_url = #{oldServerUrl},
|
||||
old_depart_id = #{oldDepartId},
|
||||
old_depart_name = #{oldDepartName}
|
||||
where address = #{address}
|
||||
</update>
|
||||
|
||||
<select id="findSourcePage" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select
|
||||
a.id,
|
||||
a.cid,
|
||||
a.address,
|
||||
a.ele_value as eleValue,
|
||||
a.relay_state as relayState,
|
||||
a.read_time as readTime,
|
||||
a.remark,
|
||||
b.online,
|
||||
b.csq,
|
||||
b.disconnect_time as disconnectTime,
|
||||
b.connect_time as connectTime,
|
||||
a.nu_id as nuId,
|
||||
a.nu_name as nuName,
|
||||
a.depart_id as departId,
|
||||
a.depart_name as departName,
|
||||
a.depart_server_url as departServerUrl,
|
||||
a.old_server_url as oldServerUrl,
|
||||
a.old_depart_id as oldDepartId,
|
||||
a.old_depart_name as oldDepartName,
|
||||
c.area_flag as areaFlag
|
||||
from nu_iot_tq_electricity_meter a
|
||||
left join nu_iot_tq_collector b on a.cid = b.cid
|
||||
left join nu_base_info c on a.nu_id = c.nu_id
|
||||
<where>
|
||||
<if test="params.address != null and params.address != ''">
|
||||
AND a.address LIKE concat('%',#{params.address},'%')
|
||||
</if>
|
||||
<if test="params.viewType != null and params.viewType == 'unselected'">
|
||||
AND ifnull(a.nu_id,'') = ''
|
||||
</if>
|
||||
<if test="params.viewType != null and params.viewType == 'selected'">
|
||||
AND ifnull(a.nu_id,'') != ''
|
||||
<if test="params.nuId != null and params.nuId != ''">
|
||||
AND a.nu_id = #{params.nuId}
|
||||
</if>
|
||||
<if test="params.departId != null and params.departId != ''">
|
||||
AND a.depart_id = #{params.departId}
|
||||
</if>
|
||||
<if test="params.status != null and params.status != ''">
|
||||
AND c.del_flag = #{params.status}
|
||||
</if>
|
||||
<if test="params.departServerUrl != null and params.departServerUrl != ''">
|
||||
AND a.depart_server_url != #{params.departServerUrl}
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findDepartList" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select distinct
|
||||
depart_id as departId,
|
||||
depart_name as departName
|
||||
from nu_iot_tq_electricity_meter
|
||||
where depart_id is not null
|
||||
<if test="departServerUrl != null and departServerUrl != ''">
|
||||
<if test="dataType != null and dataType == 'source'">
|
||||
AND depart_server_url != #{departServerUrl}
|
||||
</if>
|
||||
<if test="dataType != null and dataType == 'business'">
|
||||
AND depart_server_url = #{departServerUrl}
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="findNuList" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select distinct
|
||||
nu_id as nuId,
|
||||
nu_name as nuName
|
||||
from nu_iot_tq_electricity_meter
|
||||
where nu_id is not null
|
||||
<if test="departId != null and departId != ''">
|
||||
AND depart_id = #{departId}
|
||||
</if>
|
||||
<if test="departServerUrl != null and departServerUrl != ''">
|
||||
<if test="dataType != null and dataType == 'source'">
|
||||
AND depart_server_url != #{departServerUrl}
|
||||
</if>
|
||||
<if test="dataType != null and dataType == 'business'">
|
||||
AND depart_server_url = #{departServerUrl}
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="findBusinessPage" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select
|
||||
a.id,
|
||||
a.cid,
|
||||
a.address,
|
||||
a.ele_value as eleValue,
|
||||
a.relay_state as relayState,
|
||||
a.read_time as readTime,
|
||||
a.remark,
|
||||
b.online,
|
||||
b.csq,
|
||||
b.disconnect_time as disconnectTime,
|
||||
b.connect_time as connectTime,
|
||||
a.nu_id as nuId,
|
||||
a.nu_name as nuName,
|
||||
a.depart_id as departId,
|
||||
a.depart_name as departName,
|
||||
a.depart_server_url as departServerUrl,
|
||||
a.old_server_url as oldServerUrl,
|
||||
a.old_depart_id as oldDepartId,
|
||||
a.old_depart_name as oldDepartName,
|
||||
c.area_flag as areaFlag
|
||||
from nu_iot_tq_electricity_meter a
|
||||
left join nu_iot_tq_collector b on a.cid = b.cid
|
||||
left join nu_base_info c on a.nu_id = c.nu_id
|
||||
where a.depart_server_url = #{params.departServerUrl}
|
||||
<if test="params.address != null and params.address != ''">
|
||||
AND a.address LIKE concat('%',#{params.address},'%')
|
||||
</if>
|
||||
<if test="params.nuId != null and params.nuId != ''">
|
||||
AND a.nu_id = #{params.nuId}
|
||||
</if>
|
||||
<if test="params.departId != null and params.departId != ''">
|
||||
AND a.depart_id = #{params.departId}
|
||||
</if>
|
||||
<if test="params.status != null and params.status != ''">
|
||||
AND c.del_flag = #{params.status}
|
||||
</if>
|
||||
order by a.nu_id
|
||||
</select>
|
||||
|
||||
<select id="findSyncLogMainPage" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select
|
||||
main_id as sn,
|
||||
main_name as deviceName,
|
||||
server_type as serverType,
|
||||
max(create_time) as createTime
|
||||
from nu_iot_sync_log
|
||||
where server_type = '电表'
|
||||
and (org_code = #{params.departServerUrl} or new_org_code = #{params.departServerUrl})
|
||||
<if test="params.sn != null and params.sn != ''">
|
||||
AND main_id LIKE concat('%',#{params.sn},'%')
|
||||
</if>
|
||||
group by main_id,main_name,server_type
|
||||
order by createTime desc
|
||||
</select>
|
||||
|
||||
<select id="findSyncLogSeedList" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select
|
||||
main_id as sn,
|
||||
main_name as deviceName,
|
||||
sync_type as syncType,
|
||||
server_type as serverType,
|
||||
status,
|
||||
org_id as oldDepartId,
|
||||
org_name as oldDepartName,
|
||||
org_code as oldServerUrl,
|
||||
nu_id as oldNuId,
|
||||
new_org_id as departId,
|
||||
new_org_name as departName,
|
||||
new_org_code as departServerUrl,
|
||||
new_nu_id as nuId,
|
||||
create_time as createTime
|
||||
from nu_iot_sync_log
|
||||
where server_type = '电表'
|
||||
AND main_id = #{sn}
|
||||
order by createTime desc
|
||||
</select>
|
||||
|
||||
<select id="findNuSyncPage" parameterType="com.nu.modules.tq.electricity.entity.ElectricityMeter" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
|
||||
select
|
||||
a.nu_id as nuId,
|
||||
a.nu_name as nuName,
|
||||
a.area_flag as areaFlag,
|
||||
(select count(*) from nu_iot_tq_electricity_meter m where a.nu_id = m.nu_id) as deviceNum
|
||||
from nu_base_info a
|
||||
inner join nu_iot_tplink_camera b on a.nu_id = b.nu_id
|
||||
where a.del_flag = '0'
|
||||
and a.iz_sync = '0'
|
||||
<if test="params.orgCode != null and params.orgCode != ''">
|
||||
and a.sys_org_code = #{params.orgCode}
|
||||
</if>
|
||||
order by a.nu_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -25,4 +25,12 @@ public interface IElectricityMeterService extends IService<ElectricityMeter> {
|
|||
void editHldy(ElectricityMeter electricityMeter);
|
||||
|
||||
String syncElectricityList(Map<String, Object> electricityList);
|
||||
|
||||
IPage<ElectricityMeter> findSourcePage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter);
|
||||
List<ElectricityMeter> findDepartList(ElectricityMeter electricityMeter);
|
||||
List<ElectricityMeter> findNuList(ElectricityMeter electricityMeter);
|
||||
IPage<ElectricityMeter> findBusinessPage(Page<ElectricityMeter> page,ElectricityMeter electricityMeter);
|
||||
String syncDevices(List<ElectricityMeter> list);
|
||||
IPage<ElectricityMeter> findSyncLogPage(Page<ElectricityMeter> page,ElectricityMeter electricityMeter);
|
||||
IPage<ElectricityMeter> findNuSyncPage(Page<ElectricityMeter> page,ElectricityMeter electricityMeter);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,13 +10,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nu.modules.syncLog.entity.SyncLog;
|
||||
import com.nu.modules.syncLog.service.ISyncLogService;
|
||||
import com.nu.modules.tplink.camera.entity.CameraInfo;
|
||||
import com.nu.modules.tq.common.entity.TqApiLog;
|
||||
import com.nu.modules.tq.common.service.ITqApiLogService;
|
||||
import com.nu.modules.tq.utils.HttpTool;
|
||||
import com.nu.modules.tq.utils.SignTool;
|
||||
import com.nu.modules.tq.utils.TqApi;
|
||||
import com.nu.modules.tq.water.entity.WaterMeter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
|
||||
import com.nu.modules.tq.electricity.mapper.ElectricityMeterMapper;
|
||||
|
|
@ -673,5 +671,286 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ElectricityMeter> findSourcePage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter){
|
||||
return baseMapper.findSourcePage(page,electricityMeter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ElectricityMeter> findDepartList(ElectricityMeter electricityMeter){
|
||||
return baseMapper.findDepartList(electricityMeter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ElectricityMeter> findNuList(ElectricityMeter electricityMeter){
|
||||
return baseMapper.findNuList(electricityMeter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ElectricityMeter> findBusinessPage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter){
|
||||
return baseMapper.findBusinessPage(page,electricityMeter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 以设备维度同步电表到业务
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String syncDevices(List<ElectricityMeter> list){
|
||||
|
||||
for (ElectricityMeter electricityMeter : list) {
|
||||
ElectricityMeter waterInfo = baseMapper.getElectricityMeter(electricityMeter);
|
||||
String actionType = electricityMeter.getActionType();//操作类型
|
||||
if(actionType.equals("添加")){
|
||||
String orgCode = electricityMeter.getOrgCode();
|
||||
if(!StringUtils.isNotBlank(orgCode)){
|
||||
return "1";
|
||||
}
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(electricityMeter.getNuId());
|
||||
waterInfo.setNuName(electricityMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(orgCode);
|
||||
waterInfo.setDepartId(electricityMeter.getDepartId());
|
||||
waterInfo.setDepartName(electricityMeter.getDepartName());
|
||||
waterInfo.setOldServerUrl(null);
|
||||
waterInfo.setOldDepartId(null);
|
||||
waterInfo.setOldDepartName(null);
|
||||
|
||||
boolean flag = syncImpl.syncDevice(orgCode,"更新",waterInfo);
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(electricityMeter.getAddress());
|
||||
syncLog.setMainName(electricityMeter.getAddress());
|
||||
syncLog.setSyncType("添加");
|
||||
syncLog.setNewOrgId(electricityMeter.getDepartId());
|
||||
syncLog.setNewOrgCode(orgCode);
|
||||
syncLog.setNewOrgName(electricityMeter.getDepartName());
|
||||
if(flag){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("添加业务机构电表数据");
|
||||
syncLog.setServerType("电表");
|
||||
syncLog.setNewNuId(electricityMeter.getNuId());
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
if(flag){
|
||||
//更新同步
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
if(actionType.equals("删除")){
|
||||
String oldOrgCode = electricityMeter.getOldOrgCode();
|
||||
if(!StringUtils.isNotBlank(oldOrgCode)){
|
||||
return "1";
|
||||
}
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(null);
|
||||
waterInfo.setNuName(null);
|
||||
waterInfo.setDepartServerUrl(null);
|
||||
waterInfo.setDepartId(null);
|
||||
waterInfo.setDepartName(null);
|
||||
waterInfo.setOldServerUrl(oldOrgCode);
|
||||
waterInfo.setOldDepartId(electricityMeter.getOldDepartId());
|
||||
waterInfo.setOldDepartName(electricityMeter.getOldDepartName());
|
||||
|
||||
boolean flag = syncImpl.syncDevice(oldOrgCode,"删除",waterInfo);
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(electricityMeter.getAddress());
|
||||
syncLog.setMainName(electricityMeter.getAddress());
|
||||
syncLog.setSyncType("删除");
|
||||
syncLog.setOrgId(electricityMeter.getOldDepartId());
|
||||
syncLog.setOrgCode(oldOrgCode);
|
||||
syncLog.setOrgName(electricityMeter.getOldDepartName());
|
||||
if(flag){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("删除原来业务机构电表数据");
|
||||
syncLog.setServerType("电表");
|
||||
syncLog.setNuId(electricityMeter.getNuId());
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
if(flag){
|
||||
//更新同步
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
if(actionType.equals("调整")){
|
||||
String oldNuId = waterInfo.getNuId();//原护理单元ID
|
||||
String nuId = electricityMeter.getNuId();//新护理单元ID
|
||||
if(!oldNuId.equals(nuId)){
|
||||
String oldOrgCode = electricityMeter.getOldOrgCode();
|
||||
waterInfo.setNuId(electricityMeter.getNuId());
|
||||
waterInfo.setNuName(electricityMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(oldOrgCode);
|
||||
waterInfo.setDepartId(electricityMeter.getOldDepartId());
|
||||
waterInfo.setDepartName(electricityMeter.getOldDepartName());
|
||||
waterInfo.setOldServerUrl(null);
|
||||
waterInfo.setOldDepartId(null);
|
||||
waterInfo.setOldDepartName(null);
|
||||
boolean flag = syncImpl.syncDevice(oldOrgCode,"更新",waterInfo);
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(electricityMeter.getAddress());
|
||||
syncLog.setMainName(electricityMeter.getAddress());
|
||||
syncLog.setSyncType("调整");
|
||||
syncLog.setNewOrgId(electricityMeter.getOldDepartId());
|
||||
syncLog.setNewOrgCode(oldOrgCode);
|
||||
syncLog.setNewOrgName(electricityMeter.getOldDepartName());
|
||||
if(flag){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("调整业务机构电表数据");
|
||||
syncLog.setServerType("电表");
|
||||
syncLog.setNewNuId(nuId);
|
||||
syncLog.setNuId(oldNuId);
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
if(flag){
|
||||
//更新同步
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(actionType.equals("变更")){
|
||||
String oldOrgCode = electricityMeter.getOldOrgCode();
|
||||
String orgCode = electricityMeter.getOrgCode();
|
||||
String oldNuId = waterInfo.getNuId();//原护理单元ID
|
||||
if(!StringUtils.isNotBlank(oldOrgCode)){
|
||||
return "1";
|
||||
}
|
||||
if(!StringUtils.isNotBlank(orgCode)){
|
||||
return "1";
|
||||
}
|
||||
|
||||
boolean flag = syncImpl.syncDevice(oldOrgCode,"删除",waterInfo);
|
||||
if(!flag){
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(electricityMeter.getAddress());
|
||||
syncLog.setMainName(electricityMeter.getAddress());
|
||||
syncLog.setSyncType("删除");
|
||||
syncLog.setOrgId(electricityMeter.getOldDepartId());
|
||||
syncLog.setOrgCode(oldOrgCode);
|
||||
syncLog.setOrgName(electricityMeter.getOldDepartName());
|
||||
syncLog.setStatus("失败");
|
||||
syncLog.setContent("删除业务机构电表数据");
|
||||
syncLog.setServerType("电表");
|
||||
syncLog.setNuId(oldNuId);
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
}
|
||||
boolean flag2 = false;
|
||||
if(flag){
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(electricityMeter.getNuId());
|
||||
waterInfo.setNuName(electricityMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(orgCode);
|
||||
waterInfo.setDepartId(electricityMeter.getDepartId());
|
||||
waterInfo.setDepartName(electricityMeter.getDepartName());
|
||||
waterInfo.setOldServerUrl(null);
|
||||
waterInfo.setOldDepartId(null);
|
||||
waterInfo.setOldDepartName(null);
|
||||
flag2 = syncImpl.syncDevice(orgCode,"更新",waterInfo);
|
||||
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(electricityMeter.getAddress());
|
||||
syncLog.setMainName(electricityMeter.getAddress());
|
||||
syncLog.setSyncType("更新");
|
||||
syncLog.setOrgId(electricityMeter.getOldDepartId());
|
||||
syncLog.setOrgCode(oldOrgCode);
|
||||
syncLog.setOrgName(electricityMeter.getOldDepartName());
|
||||
syncLog.setNewOrgId(electricityMeter.getDepartId());
|
||||
syncLog.setNewOrgCode(orgCode);
|
||||
syncLog.setNewOrgName(electricityMeter.getDepartName());
|
||||
if(flag2){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("更新业务机构电表数据");
|
||||
syncLog.setServerType("电表");
|
||||
syncLog.setNewNuId(waterInfo.getNuId());
|
||||
syncLog.setNuId(oldNuId);
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
}
|
||||
if(flag2){
|
||||
//更新同步
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(electricityMeter.getNuId());
|
||||
waterInfo.setNuName(electricityMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(orgCode);
|
||||
waterInfo.setDepartId(electricityMeter.getDepartId());
|
||||
waterInfo.setDepartName(electricityMeter.getDepartName());
|
||||
waterInfo.setOldServerUrl(oldOrgCode);
|
||||
waterInfo.setOldDepartId(electricityMeter.getOldDepartId());
|
||||
waterInfo.setOldDepartName(electricityMeter.getOldDepartName());
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}else{
|
||||
if(flag){
|
||||
//更新同步
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(null);
|
||||
waterInfo.setNuName(null);
|
||||
waterInfo.setDepartServerUrl(null);
|
||||
waterInfo.setDepartId(null);
|
||||
waterInfo.setDepartName(null);
|
||||
waterInfo.setOldServerUrl(oldOrgCode);
|
||||
waterInfo.setOldDepartId(electricityMeter.getOldDepartId());
|
||||
waterInfo.setOldDepartName(electricityMeter.getOldDepartName());
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "0";
|
||||
}
|
||||
|
||||
//业务系统保存或者修改命令
|
||||
@DS("#dataSourceCode")
|
||||
public boolean syncDevice(String dataSourceCode,String type,ElectricityMeter electricityMeter) {
|
||||
try {
|
||||
QueryWrapper<ElectricityMeter> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("address",electricityMeter.getAddress());
|
||||
ElectricityMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
|
||||
if(type.equals("更新")){
|
||||
if(oldParam == null){
|
||||
baseMapper.insert(electricityMeter);
|
||||
}else{
|
||||
electricityMeter.setId(oldParam.getId());
|
||||
baseMapper.updateById(electricityMeter);
|
||||
}
|
||||
}
|
||||
if(type.equals("删除")){
|
||||
baseMapper.deleteById(oldParam);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ElectricityMeter> findSyncLogPage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter){
|
||||
IPage<ElectricityMeter> mainPage = baseMapper.findSyncLogMainPage(page,electricityMeter);
|
||||
List<ElectricityMeter> records = mainPage.getRecords();
|
||||
for(int i=0;i<records.size();i++){
|
||||
ElectricityMeter record = records.get(i);
|
||||
List<ElectricityMeter> seedList = baseMapper.findSyncLogSeedList(record);
|
||||
record.setSeedList(seedList);
|
||||
}
|
||||
return mainPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ElectricityMeter> findNuSyncPage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter){
|
||||
return baseMapper.findNuSyncPage(page,electricityMeter);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,14 @@
|
|||
old_depart_id as oldDepartId,
|
||||
old_depart_name as oldDepartName
|
||||
from nu_iot_tq_water_meter
|
||||
where address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="insertWater" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
|
|
@ -121,7 +128,14 @@
|
|||
battery_state = #{batteryState},
|
||||
remark = #{remark},
|
||||
update_time = now()
|
||||
where address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<update id="updateValue" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
|
|
@ -130,7 +144,14 @@
|
|||
water_value = #{waterValue},
|
||||
read_time = #{readTime},
|
||||
update_time = now()
|
||||
where address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<update id="updateRelayState" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
|
|
@ -138,7 +159,14 @@
|
|||
set
|
||||
relay_state = #{relayState},
|
||||
update_time = now()
|
||||
where address = #{address}
|
||||
<where>
|
||||
<if test="address != null and address != ''">
|
||||
AND address = #{address}
|
||||
</if>
|
||||
<if test=" cid != null and cid != ''">
|
||||
AND cid = #{cid}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<update id="updateDepartById" parameterType="com.nu.modules.tq.water.entity.WaterMeter" >
|
||||
|
|
|
|||
Loading…
Reference in New Issue