Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
| | |
| | | public static final String cd_39 = "39" ;//设置电池电压报警值 |
| | | public static final String cd_3A = "3A" ;//设置阀门堵转电流 |
| | | public static final String cd_3B = "3B" ;//设置阀门超时时间 |
| | | public static final String cd_3C = "3C" ;//设置自报周期(未实现) |
| | | public static final String cd_3C = "3C" ;//设置自报周期 |
| | | public static final String cd_3D = "3D" ;//设置阶梯水价 |
| | | public static final String cd_3E = "3E" ;//设置黑名单(未实现) |
| | | public static final String cd_50 = "50" ;//查询遥测站终端地址 |
| | |
| | | public static final String cd_81 = "81" ;//随机自报报 |
| | | public static final String cd_83 = "83" ;//遥测站开关阀自报 |
| | | public static final String cd_84 = "84" ;//开阀工作报 |
| | | public static final String cd_85 = "85" ;//APP开阀工作报 |
| | | public static final String cd_91 = "91" ;//清空历史记录 |
| | | public static final String cd_92 = "92" ;//遥控启动阀门 |
| | | public static final String cd_93 = "93" ;//遥控关闭阀门 |
| | |
| | | public static final String cd_99 = "99" ;//定时关阀开阀 |
| | | public static final String cd_A0 = "A0" ;//定量关阀开阀 |
| | | public static final String cd_B0 = "B0" ;//查询实时数据(未实现) |
| | | public static final String cd_C0 = "C0" ;//遥测站自报实时数据 |
| | | public static final String cd_C0 = "C0" ;//遥测站整点上报实时数据 |
| | | |
| | | public static String getCodeName(String code) { |
| | | String name = (code.equals(cd_02) ? "链路检测" : |
| | |
| | | (code.equals(cd_81) ? "随机自报" : |
| | | (code.equals(cd_83) ? "开关阀自报" : |
| | | (code.equals(cd_84) ? "开阀工作报" : |
| | | (code.equals(cd_85) ? "APP开阀工作报" : |
| | | (code.equals(cd_91) ? "清空历史记录" : |
| | | (code.equals(cd_92) ? "遥控启动阀门" : |
| | | (code.equals(cd_93) ? "遥控关闭阀门" : |
| | |
| | | (code.equals(cd_A0) ? "定量关阀开阀" : |
| | | (code.equals(cd_B0) ? "查询实时数据" : |
| | | (code.equals(cd_C0) ? "自报实时数据" : |
| | | "")))))))))))))))))))))))))))))))))))))))))) ; |
| | | ""))))))))))))))))))))))))))))))))))))))))) ; |
| | | return name ; |
| | | } |
| | | |
| | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 控制器地址 : " + (rtuAddr==null?"":rtuAddr) + "\n") ; |
| | | sb.append(" 接收数据时间 : " + (dt==null?"":dt) + "\n") ; |
| | | sb.append(" 终端数据:\n") ; |
| | | if(subData != null){ |
| | | sb.append(subData.toString()) ; |
| | |
| | | cdData.type = opType ; |
| | | |
| | | short index = ProtocolConstantV206V1_0_0.dataIndex + 1 ; |
| | | //累计流量:5字节BCD码,取值范围0~9999999999,单位为m3。 |
| | | //累计流量:5字节BCD码,取值范围0~99999999.99,单位为m3。 |
| | | cdData.totalAmount = 0.0D ; |
| | | int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 100.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 10000.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 1000000.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 100000000.0 ; |
| | | int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ; |
| | | cdData.totalAmount += tpInt/100.0 ; |
| | | |
| | | index += 5 ; |
| | | //用水户号数据格式:5字节BCD码低位在前高位在后。 |
| | | cdData.icCardNo = ByteUtil.BCD2String_LE(bs, index, index + 4) ; |
| | | index += 5 ; |
| | | |
| | | index += 5 ; |
| | | //IC卡号格式:4字节HEX码低位在前高位在后。 |
| | | cdData.icCardAddr = ByteUtil.bytesToHex(bs, index, index + 3) ; |
| | | index += 4 ; |
| | | |
| | | index += 4 ; |
| | | //用水户余额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元。 |
| | | cdData.remainMoney = 0.0D ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ; |
| | | cdData.remainMoney += tpInt/100.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.remainMoney += tpInt; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.remainMoney += tpInt * 100.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.remainMoney += tpInt * 10000.0 ; |
| | | |
| | | index += 4 ; |
| | | //用水户用水开始时间:6字节BCD码,顺序是年月日时分秒,其中公元年=2000+年。 |
| | | cdData.openDt = GlParse.parseTp(bs, index) ; |
| | | |
| | |
| | | dV1.subData = cdData ; |
| | | |
| | | short index = ProtocolConstantV206V1_0_0.dataIndex ; |
| | | cdData.opType = bs[index] ; |
| | | //cdData.opType = bs[index] ; |
| | | |
| | | index++ ; |
| | | cdData.cardType = bs[index] ; |
| | | //index++ ; |
| | | //cdData.cardType = bs[index] ; |
| | | |
| | | index++ ; |
| | | cdData.cardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ; |
| | | //index++ ; |
| | | //cdData.cardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ; |
| | | |
| | | index += 4 ; |
| | | //index += 4 ; |
| | | //用水户号数据格式:5字节BCD码低位在前高位在后。 |
| | | cdData.cardNo = ByteUtil.BCD2String_LE(bs, index, index + 4) ; |
| | | |
| | | index += 5 ; |
| | | //用水户余额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元。 |
| | | cdData.remainMoney = 0.0D ; |
| | | int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | int tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 3) ; |
| | | cdData.remainMoney += tpInt/100.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.remainMoney += tpInt; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.remainMoney += tpInt * 100.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.remainMoney += tpInt * 10000.0 ; |
| | | |
| | | index += 4 ; |
| | | //累计流量:5字节BCD码,取值范围0~9999999999,单位为m3。 |
| | | cdData.totalAmount = 0.0D ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ; |
| | | cdData.totalAmount += tpInt; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 100.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 10000.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 1000000.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.totalAmount += tpInt * 100000000.0 ; |
| | | |
| | | index += 5 ; |
| | | //瞬时流量:5字节BCD码,取值范围0~9999999.999,单位为m3/h。 |
| | | cdData.instantAmount = 0.0D ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index + 4) ; |
| | | cdData.instantAmount += tpInt/1000.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.instantAmount += tpInt/10.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.instantAmount += tpInt * 10.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.instantAmount += tpInt * 1000.0 ; |
| | | tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; |
| | | index++ ; |
| | | cdData.instantAmount += tpInt * 100000.0 ; |
| | | |
| | | index += 5 ; |
| | | cdData.alarmVo = GlParse.parseAlarm(bs, index) ; |
| | | index += 2 ; |
| | | cdData.stateVo = GlParse.parseState(bs, index) ; |
| | |
| | | @Data |
| | | public class DataCd84Vo { |
| | | |
| | | public Byte opType;//开关阀类型(1:刷卡开阀;2:刷卡关阀;3:中心站开阀;4:中心站关阀;5:欠费关阀;6:流量计故障关阀;7:紧急关闭;8:用户远程开阀;9:用户远程关阀;10:开关阀卡关阀;11:开关阀卡刷卡卡开阀;) |
| | | public Byte cardType ;//卡类型(1:用户卡;2:管理员卡;3:调试卡;4:开关阀卡;5:清空卡) |
| | | public String cardAddr ;//IC卡地址(8位字符) |
| | | //public Byte opType;//开关阀类型(1:刷卡开阀;2:刷卡关阀;3:中心站开阀;4:中心站关阀;5:欠费关阀;6:流量计故障关阀;7:紧急关闭;8:用户远程开阀;9:用户远程关阀;10:开关阀卡关阀;11:开关阀卡刷卡卡开阀;) |
| | | //public Byte cardType ;//卡类型(1:用户卡;2:管理员卡;3:调试卡;4:开关阀卡;5:清空卡) |
| | | //public String cardAddr ;//IC卡地址(8位字符) |
| | | public String cardNo ;//IC卡编号 |
| | | public Double remainMoney ;//剩余金额:用户余额4字节BCD码,取值范围0.00~999999.99,单位为元 |
| | | public Double totalAmount; //累计流量(本次开阀以来的累计流量):5字节BCD码,取值范围0~9999999999,单位为m3。 |
| | | public Double totalAmount; //累计流量(水表上的累计流量):5字节BCD码,取值范围0~9999999999,单位为m3。 |
| | | public Double instantAmount; //瞬时流量:5字节BCD码,取值范围0~9999999.999,单位为m3/h。 |
| | | public String rtuDt ;//控制器时钟 |
| | | |
| | |
| | | public String toString(){ |
| | | StringBuilder sb = new StringBuilder() ; |
| | | sb.append(" 终端开阀工作报:\n"); |
| | | sb.append(" 开阀类型:"); |
| | | sb.append(opType==null?"未知": CommonV1_0_1.openCloseValveType(opType)); |
| | | sb.append("\n"); |
| | | sb.append(" IC卡类型:"); |
| | | sb.append(cardType==null?"未知":CommonV1_0_1.icCardType(cardType)) ; |
| | | sb.append("\n"); |
| | | sb.append(" IC卡地址:"); |
| | | sb.append(cardAddr); |
| | | sb.append("\n"); |
| | | // sb.append(" 开阀类型:"); |
| | | // sb.append(opType==null?"未知": CommonV1_0_1.openCloseValveType(opType)); |
| | | // sb.append("\n"); |
| | | // sb.append(" IC卡类型:"); |
| | | // sb.append(cardType==null?"未知":CommonV1_0_1.icCardType(cardType)) ; |
| | | // sb.append("\n"); |
| | | // sb.append(" IC卡地址:"); |
| | | // sb.append(cardAddr); |
| | | // sb.append("\n"); |
| | | sb.append(" IC卡编号:"); |
| | | sb.append(cardNo); |
| | | sb.append("\n"); |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2023/12/5 16:03 |
| | | * @LastEditTime 2023/12/5 16:03 |
| | | * @author :WuZeYu |
| | | * @Date :2024/6/27 15:00 |
| | | * @LastEditTime :2024/6/27 15:00 |
| | | * @Description |
| | | */ |
| | | |
| | | @Mapper |
| | | public interface SePaymentMethodMapper extends BaseMapper<SePaymentMethod> { |
| | | int deleteByPrimaryKey(Long id); |
| | | |
| | |
| | | |
| | | /** |
| | | * 获取全部未删除付款方式 |
| | | * |
| | | * @return 未删除付款方式 |
| | | */ |
| | | List<SePaymentMethod> getPaymentMethods(); |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| | | import com.dy.common.po.BaseEntity; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import jakarta.validation.constraints.NotBlank; |
| | | import jakarta.validation.constraints.NotNull; |
| | |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | public class RmCommandHistory { |
| | | public class RmCommandHistory implements BaseEntity { |
| | | public static final long serialVersionUID = 202401151517005L; |
| | | |
| | | /** |
| | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo; |
| | | import com.dy.common.po.BaseEntity; |
| | | import com.dy.common.util.DateTime; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.*; |
| | |
| | | public Double lossAmount; |
| | | |
| | | |
| | | public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception{ |
| | | this.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt); |
| | | this.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); |
| | | this.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); |
| | | this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。 |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo; |
| | | import com.dy.common.po.BaseEntity; |
| | | import com.dy.common.util.DateTime; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.*; |
| | |
| | | @Schema(description = "日漏损量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | public Double lossAmount; |
| | | |
| | | public void valueFrom(DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception{ |
| | | this.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt); |
| | | this.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); |
| | | this.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); |
| | | this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。 |
| | | } |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.dy.common.po.BaseEntity; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.*; |
| | |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @Schema(name = "控制器开关阀上报最新数据") |
| | | public class RmOpenCloseValveLast { |
| | | public class RmOpenCloseValveLast implements BaseEntity { |
| | | |
| | | public static final long serialVersionUID = 202402231602001L; |
| | | /** |
| | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo; |
| | | import com.dy.common.mw.protocol.p206V202404.DataV202404; |
| | | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo; |
| | | import com.dy.common.po.BaseEntity; |
| | |
| | | this.waterMeterTransVolt = cdData.waterMeterTransVolt ; |
| | | this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ; |
| | | } |
| | | |
| | | |
| | | public void valueFrom(DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception{ |
| | | this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); |
| | | this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); |
| | | //this.orderNo = cdData.orderNo ; |
| | | //this.icCardAddr = cdData.icCardAddr ; |
| | | this.icCardNo = cdData.cardNo ; |
| | | //this.waterLevel = cdData.waterLevel ; |
| | | //this.waterPress = cdData.waterPress ; |
| | | this.waterInstant = cdData.instantAmount ; |
| | | this.waterTotal = cdData.totalAmount ; |
| | | //this.eleTotal = cdData.eleTotal ; |
| | | this.moneyRemain = cdData.remainMoney ; |
| | | //this.waterRemain = cdData.waterRemain ; |
| | | //this.thisEle = cdData.thisEle ; |
| | | //this.thisWater = cdData.thisWater ; |
| | | //this.thisMoney = cdData.thisMoney ; |
| | | //this.thisDuration = cdData.thisDuration ; |
| | | //this.waterPrice = cdData.waterPrice ; |
| | | //this.elePrice = cdData.elePrice ; |
| | | //this.aVolt = cdData.aVolt ; |
| | | //this.bVolt = cdData.bVolt ; |
| | | //this.cVolt = cdData.cVolt ; |
| | | //this.aCurrent = cdData.aCurrent ; |
| | | //this.bCurrent = cdData.bCurrent ; |
| | | //this.cCurrent = cdData.cCurrent ; |
| | | //this.batteryVolt = cdData.batteryVolt ; |
| | | //this.waterMeterTransVolt = cdData.waterMeterTransVolt ; |
| | | //this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ; |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo; |
| | | import com.dy.common.mw.protocol.p206V202404.DataV202404; |
| | | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo; |
| | | import com.dy.common.po.BaseEntity; |
| | |
| | | this.waterMeterTransVolt = cdData.waterMeterTransVolt ; |
| | | this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ; |
| | | } |
| | | |
| | | |
| | | public void valueFrom(DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception{ |
| | | this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); |
| | | this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt); |
| | | //this.orderNo = cdData.orderNo ; |
| | | //this.icCardAddr = cdData.icCardAddr ; |
| | | this.icCardNo = cdData.cardNo ; |
| | | //this.waterLevel = cdData.waterLevel ; |
| | | //this.waterPress = cdData.waterPress ; |
| | | this.waterInstant = cdData.instantAmount ; |
| | | this.waterTotal = cdData.totalAmount ; |
| | | //this.eleTotal = cdData.eleTotal ; |
| | | this.moneyRemain = cdData.remainMoney ; |
| | | //this.waterRemain = cdData.waterRemain ; |
| | | //this.thisEle = cdData.thisEle ; |
| | | //this.thisWater = cdData.thisWater ; |
| | | //this.thisMoney = cdData.thisMoney ; |
| | | //this.thisDuration = cdData.thisDuration ; |
| | | //this.waterPrice = cdData.waterPrice ; |
| | | //this.elePrice = cdData.elePrice ; |
| | | //this.aVolt = cdData.aVolt ; |
| | | //this.bVolt = cdData.bVolt ; |
| | | //this.cVolt = cdData.cVolt ; |
| | | //this.aCurrent = cdData.aCurrent ; |
| | | //this.bCurrent = cdData.bCurrent ; |
| | | //this.cCurrent = cdData.cCurrent ; |
| | | //this.batteryVolt = cdData.batteryVolt ; |
| | | //this.waterMeterTransVolt = cdData.waterMeterTransVolt ; |
| | | //this.waterMeterWorkVolt = cdData.waterMeterWorkVolt ; |
| | | } |
| | | } |
| | |
| | | package com.dy.pipIrrGlobal.pojoSe; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2023/12/5 16:03 |
| | | * @LastEditTime 2023/12/5 16:03 |
| | | * @author :WuZeYu |
| | | * @Date :2024/6/27 15:00 |
| | | * @LastEditTime :2024/6/27 15:00 |
| | | * @Description |
| | | */ |
| | | |
| | | import com.alibaba.fastjson2.annotation.JSONField; |
| | | import com.alibaba.fastjson2.writer.ObjectWriterImplToString; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.dy.common.po.BaseEntity; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import jakarta.validation.constraints.NotEmpty; |
| | | import lombok.*; |
| | | import org.hibernate.validator.constraints.Length; |
| | | |
| | | /** |
| | | * 付款方式表 |
| | | */ |
| | | |
| | | @TableName(value="se_payment_method", autoResultMap = true) |
| | | @Data |
| | | @Builder |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @Schema(name = "付款方式实体") |
| | | public class SePaymentMethod implements BaseEntity { |
| | | public class SePaymentMethod { |
| | | public static final long serialVersionUID = 202401151518006L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @TableId(type = IdType.INPUT) |
| | | @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | * 主键 |
| | | */ |
| | | private Long id; |
| | | |
| | | /** |
| | | * 付款方式 |
| | | */ |
| | | @Schema(description = "付款方式名称", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @NotEmpty(message = "付款方式名称不能为空") //不能为空也不能为null |
| | | @Length(message = "付款方式名称名称不大于{max}字,不小于{min}字", min = 1, max = 10) |
| | | * 名称 |
| | | */ |
| | | private String name; |
| | | |
| | | /** |
| | | * 备注信息 |
| | | */ |
| | | @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @Length(message = "备注长度小于{max}字", min = 1, max = 200) |
| | | * 备注信息 |
| | | */ |
| | | private String remarks; |
| | | |
| | | /** |
| | | * 逻辑删除标识;0-未删除,1-删除 |
| | | */ |
| | | @Schema(description = "付款方式删除标志,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | * 逻辑删除标识;0-未删除,1-删除 |
| | | */ |
| | | private Byte deleted; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getRemarks() { |
| | | return remarks; |
| | | } |
| | | |
| | | public void setRemarks(String remarks) { |
| | | this.remarks = remarks; |
| | | } |
| | | |
| | | public Byte getDeleted() { |
| | | return deleted; |
| | | } |
| | | |
| | | public void setDeleted(Byte deleted) { |
| | | this.deleted = deleted; |
| | | } |
| | | } |
| | |
| | | </province> |
| | | </districts> |
| | | <user name="超级管理员" phone="admin" password="admin" supperAdmin="1" /> |
| | | <payments> |
| | | <item1 name="现金"/> |
| | | <item2 name="微信支付"/> |
| | | <item3 name="支付宝支付"/> |
| | | <item4 name="银行转账"/> |
| | | </payments> |
| | | <settings> |
| | | <item1 item_name="lng" item_value="101.87345" remarks="经度"/> |
| | | <item2 item_name="lat" item_value="25.70424" remarks="纬度"/> |
| | | <item3 item_name="projectNo" item_value="10" remarks="项目编号"/> |
| | | <item4 item_name="controllerType" item_value="57" remarks="控制器类型"/> |
| | | <item5 item_name="protocolName" item_value="p206V202404" remarks="协议名称"/> |
| | | </settings> |
| | | </org1> |
| | | </orgs> |
| | | </config> |
| | |
| | | ge.deleted = 0 |
| | | AND divi.deleted = 0 |
| | | and blo.deleted = 0 |
| | | and cont.deleted = 0 |
| | | <if test="intakeName != null and intakeName != ''"> |
| | | AND ge.name LIKE CONCAT('%', #{intakeName}, '%') |
| | | </if> |
| | |
| | | ge.deleted = 0 |
| | | AND divi.deleted = 0 |
| | | and blo.deleted = 0 |
| | | and cont.deleted = 0 |
| | | <if test="intakeName != null and intakeName != ''"> |
| | | AND ge.name LIKE CONCAT('%', #{intakeName}, '%') |
| | | </if> |
| | |
| | | from se_payment_method |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | |
| | | <!--获取全部未删除付款方式--> |
| | | <select id="getPaymentMethods" resultType="com.dy.pipIrrGlobal.pojoSe.SePaymentMethod"> |
| | | SELECT * FROM se_payment_method WHERE deleted = 0 |
| | | </select> |
| | | |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | <!--@mbg.generated--> |
| | | delete from se_payment_method |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SePaymentMethod" useGeneratedKeys="true"> |
| | | <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SePaymentMethod" > |
| | | <!--@mbg.generated--> |
| | | insert into se_payment_method (`name`, remarks, deleted |
| | | insert into se_payment_method (id, `name`, remarks, deleted |
| | | ) |
| | | values (#{name,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, #{deleted,jdbcType=TINYINT} |
| | | values (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, #{deleted,jdbcType=TINYINT} |
| | | ) |
| | | </insert> |
| | | <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SePaymentMethod" useGeneratedKeys="true"> |
| | | <!--@mbg.generated--> |
| | | insert into se_payment_method |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="name != null"> |
| | | `name`, |
| | | </if> |
| | |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="name != null"> |
| | | #{name,jdbcType=VARCHAR}, |
| | | </if> |
| | |
| | | deleted = #{deleted,jdbcType=TINYINT} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | |
| | | |
| | | <!--获取全部未删除付款方式--> |
| | | <select id="getPaymentMethods" resultType="com.dy.pipIrrGlobal.pojoSe.SePaymentMethod"> |
| | | SELECT * FROM se_payment_method WHERE deleted = 0 |
| | | </select> |
| | | </mapper> |
| | |
| | | import com.dy.common.mw.protocol.Data; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83CloseVo; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo; |
| | | import com.dy.common.util.DateTime; |
| | | import com.dy.pipIrrGlobal.pojoPr.PrController; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory; |
| | |
| | | |
| | | //类ID,一定与Tree.xml配置文件中配置一致 |
| | | public static final String taskId = "TkDealCloseValveReport" ; |
| | | |
| | | /** |
| | | * 执行节点任务: 处理控制器关阀上报 |
| | | * @param data 需要处理的数据 |
| | |
| | | @Override |
| | | public void execute(Object data) { |
| | | Data d = (Data) data; |
| | | Object subD = d.getSubData(); |
| | | if (subD != null) { |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; |
| | | // if (dV1_0_1 != null && dV1_0_1.dataCd83CloseVo != null) { |
| | | // Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | // DbSv sv = (DbSv)objs[0] ; |
| | | // PrController controller = (PrController)objs[1] ; |
| | | // try{ |
| | | // this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83CloseVo) ; |
| | | // }catch (Exception e){ |
| | | // log.error("保存控制器关阀上报时发生异常", e); |
| | | // } |
| | | // } |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData(); |
| | | Object cdObj = dV1_0_1.subData; |
| | | if (cdObj != null && cdObj instanceof DataCd83CloseVo) { |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | DbSv sv = (DbSv)objs[0] ; |
| | | PrController controller = (PrController)objs[1] ; |
| | | try{ |
| | | this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83CloseVo)cdObj) ; |
| | | }catch (Exception e){ |
| | | log.error("保存控制器开阀上报时发生异常", e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 保存数据 |
| | | * @param sv 服务 |
| | |
| | | package com.dy.rtuMw.server.rtuData.p206V1_0_0; |
| | | |
| | | import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp; |
| | | import com.dy.rtuMw.server.rtuData.TaskSurpport; |
| | | import com.dy.rtuMw.server.rtuData.dbSv.DbSv; |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public void execute(Object data) { |
| | | //此任务无具体业务逻辑,只是在任务xml配置文件中,框住其子任务节点 |
| | | this.toNextTasks(data); |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | PrControllerTramp tramp = (PrControllerTramp)objs[2] ; |
| | | if(tramp == null){ |
| | | this.toNextTasks(data); |
| | | } |
| | | } |
| | | } |
| | |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Author liurunyu |
| | | * @Date 2024/1/15 16:29 |
| | |
| | | PrControllerTramp tramp = (PrControllerTramp)objs[2] ; |
| | | if(tramp != null){ |
| | | DbSv sv = (DbSv)objs[0] ; |
| | | sv.savePrConctrollerTramp(tramp); |
| | | if(tramp.id == null){ |
| | | sv.savePrConctrollerTramp(tramp); |
| | | }else{ |
| | | tramp.findDt = new Date() ; |
| | | sv.updatePrConctrollerTramp(tramp) ; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | @Override |
| | | public void execute(Object data) { |
| | | Data d = (Data) data; |
| | | Object subD = d.getSubData(); |
| | | if (subD != null) { |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; |
| | | if (dV1_0_1 != null && dV1_0_1.subData != null && dV1_0_1.subData instanceof DataCdC0Vo) { |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId); |
| | | DbSv sv = (DbSv) objs[0]; |
| | | PrController controller = (PrController) objs[1]; |
| | | try { |
| | | this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)dV1_0_1.subData); |
| | | } catch (Exception e) { |
| | | log.error("保存遥测站自报实时数据中的漏损数据时发生异常", e); |
| | | } |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//前面任务已经判断不为null |
| | | Object cdObj = dV1_0_1.subData; |
| | | if (cdObj != null && cdObj instanceof DataCdC0Vo){ |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | DbSv sv = (DbSv)objs[0] ; |
| | | PrController controller = (PrController)objs[1] ; |
| | | try{ |
| | | this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCdC0Vo)cdObj); |
| | | }catch (Exception e){ |
| | | log.error("保存遥测站自报实时数据中的漏损数据时发生异常", e); |
| | | } |
| | | } |
| | | } |
| | |
| | | this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast); |
| | | sv.saveRmLossLast(poLast); |
| | | }else{ |
| | | //这种情况不存在(收到数据的日期早于本地记录中的日期,此种情况不会存在) |
| | | //这种情况不存在(RTU时钟早于本地记录中的RTU时钟(RTU穿越回过去了,可能时钟重置了),此种情况不处理) |
| | | } |
| | | } |
| | | } |
| | |
| | | * @param controller |
| | | * @param rtuAddr |
| | | * @param dV1_0_1 |
| | | * @param dataCdC0Vo |
| | | * @param cdData |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception { |
| | | RmLossLast po = new RmLossLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(), |
| | | rtuAddr, |
| | | DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt), |
| | | DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), |
| | | DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt), |
| | | dataCdC0Vo.lossAmount) ; |
| | | private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception { |
| | | RmLossLast po = new RmLossLast() ; |
| | | po.controllerId = controller==null?null:controller.getId(); |
| | | po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | po.rtuAddr = rtuAddr; |
| | | po.valueFrom(dV1_0_1, cdData) ; |
| | | return po ; |
| | | } |
| | | |
| | |
| | | * @param controller |
| | | * @param rtuAddr |
| | | * @param dV1_0_1 |
| | | * @param dataCdC0Vo |
| | | * @param cdData |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo)throws Exception { |
| | | RmLossHistory po = new RmLossHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(), |
| | | rtuAddr, |
| | | DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt), |
| | | DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), |
| | | DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt), |
| | | dataCdC0Vo.lossAmount) ; |
| | | private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception { |
| | | RmLossHistory po = new RmLossHistory() ; |
| | | po.controllerId = controller==null?null:controller.getId(); |
| | | po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | po.rtuAddr = rtuAddr; |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | return po ; |
| | | } |
| | | |
| | |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.updateRmOnHourReportLast(po); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | import com.dy.common.mw.protocol.Data; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo; |
| | | import com.dy.common.util.DateTime; |
| | | import com.dy.pipIrrGlobal.pojoPr.PrController; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory; |
| | |
| | | @Override |
| | | public void execute(Object data) { |
| | | Data d = (Data) data; |
| | | Object subD = d.getSubData(); |
| | | if (subD != null) { |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; |
| | | if (dV1_0_1 != null && dV1_0_1.subData != null) { |
| | | if(dV1_0_1.subData instanceof DataCd83OpenVo){ |
| | | DataCd83OpenVo vo83 = (DataCd83OpenVo)dV1_0_1.subData ; |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | DbSv sv = (DbSv)objs[0] ; |
| | | PrController controller = (PrController)objs[1] ; |
| | | try{ |
| | | this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, vo83) ; |
| | | }catch (Exception e){ |
| | | log.error("保存控制器开阀上报时发生异常", e); |
| | | } |
| | | } |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData(); |
| | | Object cdObj = dV1_0_1.subData; |
| | | if (cdObj != null && cdObj instanceof DataCd83OpenVo) { |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | DbSv sv = (DbSv)objs[0] ; |
| | | PrController controller = (PrController)objs[1] ; |
| | | try{ |
| | | this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83OpenVo)cdObj) ; |
| | | }catch (Exception e){ |
| | | log.error("保存控制器开阀上报时发生异常", e); |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.dy.common.mw.protocol.Data; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.util.DateTime; |
| | | import com.dy.pipIrrGlobal.pojoPr.PrController; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmWorkReportHistory; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmWorkReportLast; |
| | |
| | | @Override |
| | | public void execute(Object data) { |
| | | Data d = (Data) data; |
| | | Object subD = d.getSubData(); |
| | | if (subD != null) { |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; |
| | | // if (dV1_0_1 != null && dV1_0_1.dataCd84Vo != null) { |
| | | // Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | // DbSv sv = (DbSv)objs[0] ; |
| | | // PrController controller = (PrController)objs[1] ; |
| | | // try{ |
| | | // this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd84Vo) ; |
| | | // }catch (Exception e){ |
| | | // log.error("保存控制器阀开工作报时发生异常", e); |
| | | // } |
| | | // } |
| | | DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//前面任务已经判断不为null |
| | | Object cdObj = dV1_0_1.subData; |
| | | if (cdObj != null && cdObj instanceof DataCd84Vo) { |
| | | Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; |
| | | DbSv sv = (DbSv)objs[0] ; |
| | | PrController controller = (PrController)objs[1] ; |
| | | try{ |
| | | this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd84Vo)cdObj) ; |
| | | }catch (Exception e){ |
| | | log.error("保存控制器阀开工作报时发生异常", e); |
| | | } |
| | | } |
| | | } |
| | | /** |
| | |
| | | * @param controller |
| | | * @param rtuAddr |
| | | * @param dV1_0_1 |
| | | * @param dataCd84Vo |
| | | * @param cdData |
| | | */ |
| | | private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception { |
| | | // RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ; |
| | | // if(po == null){ |
| | | // po = new RmWorkReportLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(), |
| | | // rtuAddr, |
| | | // DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), |
| | | // DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.rtuDt), |
| | | // dataCd84Vo.cardNo, |
| | | // dataCd84Vo.totalAmount, |
| | | // dataCd84Vo.instantAmount, |
| | | // dataCd84Vo.remainMoney) ; |
| | | // sv.saveRmWorkReportLast(po) ; |
| | | // }else{ |
| | | // po.controllerId = controller==null?null:controller.getId(); |
| | | // po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | // |
| | | // po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); |
| | | // po.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.rtuDt); |
| | | // po.icCardNo = dataCd84Vo.cardNo; |
| | | // po.totalAmount = dataCd84Vo.totalAmount; |
| | | // po.instantAmount = dataCd84Vo.instantAmount; |
| | | // po.remainMoney = dataCd84Vo.remainMoney; |
| | | // sv.updateRmWorkReportLast(po); |
| | | // } |
| | | private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception { |
| | | RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ; |
| | | if(po == null){ |
| | | po = new RmWorkReportLast() ; |
| | | po.controllerId = controller==null?null:controller.getId(); |
| | | po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | po.rtuAddr = rtuAddr; |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.saveRmWorkReportLast(po) ; |
| | | }else{ |
| | | po.controllerId = controller==null?null:controller.getId(); |
| | | po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.updateRmWorkReportLast(po); |
| | | } |
| | | } |
| | | /** |
| | | * 保存阀开工作报历史数据 |
| | |
| | | * @param controller |
| | | * @param rtuAddr |
| | | * @param dV1_0_1 |
| | | * @param dataCd84Vo |
| | | * @param cdData |
| | | */ |
| | | private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo dataCd84Vo) throws Exception { |
| | | // RmWorkReportHistory po = new RmWorkReportHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(), |
| | | // rtuAddr, |
| | | // DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), |
| | | // DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.rtuDt), |
| | | // dataCd84Vo.cardNo, |
| | | // dataCd84Vo.totalAmount, |
| | | // dataCd84Vo.instantAmount, |
| | | // dataCd84Vo.remainMoney) ; |
| | | // sv.saveRmWorkReportHistory(po) ; |
| | | private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd84Vo cdData) throws Exception { |
| | | RmWorkReportHistory po = new RmWorkReportHistory(); |
| | | po.controllerId = controller==null?null:controller.getId(); |
| | | po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | po.rtuAddr = rtuAddr; |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.saveRmWorkReportHistory(po) ; |
| | | } |
| | | |
| | | |
| | |
| | | package com.dy.rtuMw.server.rtuData.p206V202404; |
| | | |
| | | import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp; |
| | | import com.dy.rtuMw.server.rtuData.TaskSurpport; |
| | | import com.dy.rtuMw.server.rtuData.dbSv.DbSv; |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Author liurunyu |
| | |
| | | */ |
| | | @Override |
| | | public void execute(Object data) { |
| | | //此任务无具体业务逻辑,只是在任务xml配置文件中,框住其子任务节点 |
| | | this.toNextTasks(data); |
| | | Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ; |
| | | PrControllerTramp tramp = (PrControllerTramp)objs[2] ; |
| | | if(tramp == null){ |
| | | this.toNextTasks(data); |
| | | } |
| | | } |
| | | } |
| | |
| | | tramp.findDt = new Date() ; |
| | | sv.updatePrConctrollerTramp(tramp) ; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | <!-- 识别非命令应答上行数据 --> |
| | | <task id="TkFindReport" name="识别非命令应答上行数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindReport"> |
| | | <task id="TkDealAlarmStatus" name="控制器报警与状态数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus" /> |
| | | <task id="TkDealOnHourReport" name="控制器自报数据(整点报)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOnHourReport" /> |
| | | <task id="TkDealWorkReport" name="控制器阀开工作上报" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" /> |
| | | <task id="TkDealOpenValveReport" name="控制器开阀上报" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" /> |
| | | <task id="TkDealCloseValveReport" name="控制器关阀上报" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" /> |
| | | <task id="TkDealLoss" name="控制器漏损统计(待新协议出来后修改实现)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealLoss" /> |
| | | <task id="TkDealOnHourReport" name="控制器自报数据(整点报)(功能码C0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOnHourReport" /> |
| | | <task id="TkDealWorkReport" name="控制器阀开工作上报(功能码84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" /> |
| | | <task id="TkDealOpenValveReport" name="控制器开阀上报(功能码83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" /> |
| | | <task id="TkDealCloseValveReport" name="控制器关阀上报(功能码83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" /> |
| | | <task id="TkDealLoss" name="控制器漏损统计(功能码C0)(待新协议出来后修改实现)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealLoss" /> |
| | | </task> |
| | | <!-- 识别命令响应数据 --> |
| | | <task id="TkFindComResponse" name="识别响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindComResponse"> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> |
| | | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_16"> |
| | | <output url="file://$MODULE_DIR$/target/classes" /> |
| | | <output-test url="file://$MODULE_DIR$/target/test-classes" /> |
| | | <content url="file://$MODULE_DIR$"> |
| | | <excludeFolder url="file://$MODULE_DIR$/target" /> |
| | | </content> |
| | | <orderEntry type="inheritedJdk" /> |
| | | <orderEntry type="sourceFolder" forTests="false" /> |
| | | </component> |
| | | </module> |
| | |
| | | }) |
| | | } |
| | | ) |
| | | @MapperScan(basePackages={"com.dy.pipIrrGlobal.daoBa"}) |
| | | @MapperScan(basePackages={"com.dy.pipIrrGlobal.daoBa","com.dy.pipIrrGlobal.daoSe"}) |
| | | public class PipIrrBaseApplication { |
| | | |
| | | public static void main(String[] args) { |
| | |
| | | import com.dy.common.util.MD5; |
| | | import com.dy.common.webListener.ConfigListener; |
| | | import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; |
| | | import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; |
| | | import com.dy.pipIrrGlobal.daoBa.BaUserMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaDistrict; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaSettings; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaUser; |
| | | import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod; |
| | | import com.dy.pipIrrGlobal.util.DistrictLevel; |
| | | import org.jdom2.Document; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | private BaDistrictMapper distriDao ; |
| | | private BaUserMapper userDao ; |
| | | private SePaymentMethodMapper paymentMethodDao ; |
| | | private BaSettingsMapper settingsDao ; |
| | | |
| | | @Autowired |
| | | public void setDistriDao(BaDistrictMapper distriDao){ |
| | |
| | | @Autowired |
| | | public void setUserDao(BaUserMapper userDao){ |
| | | this.userDao = userDao ; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setPaymentDao(SePaymentMethodMapper paymentMethodDao){ |
| | | this.paymentMethodDao = paymentMethodDao ; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setSettingsDao(BaSettingsMapper settingsDao){ |
| | | this.settingsDao = settingsDao ; |
| | | } |
| | | |
| | | |
| | |
| | | this.saveUser(orgTag, name, phone, password, supperAdmin); |
| | | } |
| | | } |
| | | if(!this.existPayments()){ |
| | | if(configXml.existElement(doc, "config.orgs.org" + num + ".payments")){ |
| | | for(int i = 1 ; i < 10000; i++){ |
| | | if(configXml.existElement(doc, "config.orgs.org" + num + ".payments.item" + i)){ |
| | | String name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".payments.item" + i,"name", null, false, null) ; |
| | | this.savePayment(orgTag, name); |
| | | }else{ |
| | | break ; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(!this.existSettings()){ |
| | | if(configXml.existElement(doc, "config.orgs.org" + num + ".settings")){ |
| | | for(int i = 1 ; i < 10000; i++){ |
| | | if(configXml.existElement(doc, "config.orgs.org" + num + ".settings.item" + i)){ |
| | | String item_name = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"item_name", null, false, null) ; |
| | | String item_value = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"item_value", null, false, null) ; |
| | | String remarks = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".settings.item" + i,"remarks", null, false, null) ; |
| | | this.saveSettings(orgTag, item_name, item_value, remarks); |
| | | }else{ |
| | | break ; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | break ; |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 数据库中是否存在行政区划数据 |
| | | * 数据库中是否存在用户数据 |
| | | * @return 存在否 |
| | | */ |
| | | private boolean existUsers(){ |
| | | Long total = this.userDao.selectCount(null) ; |
| | | return (total != null && total > 0) ; |
| | | } |
| | | |
| | | /** |
| | | * 数据库中是否存在支付方式数据 |
| | | * @return 存在否 |
| | | */ |
| | | private boolean existPayments(){ |
| | | Long total = this.paymentMethodDao.selectCount(null) ; |
| | | return (total != null && total > 0) ; |
| | | } |
| | | |
| | | /** |
| | | * 数据库中是否存在系统配置数据 |
| | | * @return 存在否 |
| | | */ |
| | | private boolean existSettings(){ |
| | | Long total = this.settingsDao.selectCount(null) ; |
| | | return (total != null && total > 0) ; |
| | | } |
| | | |
| | |
| | | this.userDao.putin(po) ; |
| | | } |
| | | } |
| | | /** |
| | | * 保存支付方式 |
| | | * @param orgTag 机构标签 |
| | | * @param name 名称 |
| | | */ |
| | | private void savePayment(String orgTag, String name) throws Exception{ |
| | | if(name != null && !name.trim().equals("")){ |
| | | SePaymentMethod po = new SePaymentMethod() ; |
| | | po.setName(name); |
| | | po.setDeleted(Deleted.NO.code); |
| | | this.paymentMethodDao.insert(po) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 保存系统配置 |
| | | * @param item_name 配置项 |
| | | * @param item_value 配置项值 |
| | | * @param remarks 备注信息 |
| | | * @throws Exception |
| | | */ |
| | | private void saveSettings(String orgTag,String item_name, String item_value,String remarks) throws Exception{ |
| | | if((item_name != null && !item_name.trim().equals("")) && |
| | | (item_value != null && !item_value.trim().equals("")) && |
| | | (remarks != null && !remarks.trim().equals(""))){ |
| | | BaSettings po = new BaSettings() ; |
| | | po.setItemName(item_name); |
| | | po.setItemValue(item_value); |
| | | po.setRemarks(remarks); |
| | | this.settingsDao.insert(po) ; |
| | | } |
| | | } |
| | | |
| | | } |