From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 13 十二月 2024 16:53:45 +0800 Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。 --- pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java | 75 +++++++++++++++++++++++++++++++------ 1 files changed, 62 insertions(+), 13 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java index 2688634..80700e6 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateUnit/IrrigateUnitCtrl.java @@ -7,13 +7,11 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit; -import com.dy.pipIrrGlobal.pojoIr.IrProject; -import com.dy.pipIrrGlobal.voIr.VoProject; -import com.dy.pipIrrGlobal.voIr.VoProjectOne; +import com.dy.pipIrrGlobal.pojoIr.IrUnitClient; import com.dy.pipIrrGlobal.voIr.VoUnit; import com.dy.pipIrrGlobal.voIr.VoUnitOne; import com.dy.pipIrrGlobal.voSe.VoActiveCard; -import com.dy.pipIrrIrrigate.irrigateUnit.QueryVo; +import com.dy.pipIrrIrrigate.irrigateUnit.dto.UnitClient; import com.dy.pipIrrIrrigate.result.IrrigateResultCode; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; @@ -30,10 +28,7 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; /** * @author :WuZeYu @@ -76,7 +71,7 @@ try { Integer rec = Optional.ofNullable(irrigateUnitSv.addIrrigateUnit(po)).orElse(0); if (rec == 0) { - return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage()); + return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_UNIT_FAIL.getMessage()); } } catch (Exception e) { log.error("鍒涘缓鐏屾簤鍗曞厓寮傚父", e); @@ -104,13 +99,13 @@ @SsoAop() public BaseResponse<Boolean> delete(@RequestBody Map map) { if (map == null || map.size() <= 0) { - BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_PROJECT_ID.getMessage()); + BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_UNIT_ID.getMessage()); } Long unitId = Long.parseLong(map.get("id").toString()); try { Integer rows = irrigateUnitSv.deleteUnit(unitId); if (rows == 0) { - return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage()); + return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_UNIT_FAIL.getMessage()); } } catch (Exception e) { log.error("鍒犻櫎鐏屾簤鍗曞厓寮傚父", e); @@ -137,7 +132,7 @@ try { Integer rows = irrigateUnitSv.deleteUnit(unitId); if (rows == 0) { - return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage()); + return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_UNIT_FAIL.getMessage()); } } catch (Exception e) { log.error("鍒犻櫎鐏屾簤鍗曞厓寮傚父", e); @@ -172,7 +167,7 @@ try { Integer rec = Optional.ofNullable(irrigateUnitSv.updateUnit(po)).orElse(0); if (rec == 0) { - return BaseResponseUtils.buildFail(IrrigateResultCode.UPDATE_PROJECT_FAIL.getMessage()); + return BaseResponseUtils.buildFail(IrrigateResultCode.UPDATE_UNIT_FAIL.getMessage()); } } catch (Exception e) { log.error("淇敼鐏屾簤鍗曞厓寮傚父", e); @@ -229,4 +224,58 @@ return BaseResponseUtils.buildException(e.getMessage()); } } + + /** + * 鐏屾簤鍗曞厓鍒嗛厤锛堝啘鎴风鍦帮級 + * @param po + * @param bindingResult + * @return + */ + @PostMapping(path = "add_unit_client", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> addUnitClient(@RequestBody @Valid UnitClient po, BindingResult bindingResult) { + if (bindingResult != null && bindingResult.hasErrors()) { + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + IrUnitClient irUnitClient = new IrUnitClient(); + irUnitClient.setUnitId(po.getUnitId()); + irUnitClient.setClientId(po.getClientId()); + irUnitClient.setOperator(po.getOperator()); + irUnitClient.setOperateTime(new Date()); + + try { + Long rec = Optional.ofNullable(irrigateUnitSv.addUnitClient(irUnitClient)).orElse(0L); + if (rec == 0) { + return BaseResponseUtils.buildErrorMsg(IrrigateResultCode.UNIT_ASSOCIATE_CLIENT_FAIL.getMessage()); + } + } catch (Exception e) { + return BaseResponseUtils.buildException(e.getMessage()); + } + return BaseResponseUtils.buildSuccess(true); + } + + @PostMapping(path = "delete_unit_client", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> deleteUnitClient(@RequestBody @Valid UnitClient po, BindingResult bindingResult) { + if (bindingResult != null && bindingResult.hasErrors()) { + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + IrUnitClient irUnitClient = new IrUnitClient(); + irUnitClient.setUnitId(po.getUnitId()); + irUnitClient.setClientId(po.getClientId()); + irUnitClient.setOperator(po.getOperator()); + irUnitClient.setOperateTime(new Date()); + + try { + Long rec = Optional.ofNullable(irrigateUnitSv.addUnitClient(irUnitClient)).orElse(0L); + if (rec == 0) { + return BaseResponseUtils.buildErrorMsg(IrrigateResultCode.UNIT_ASSOCIATE_CLIENT_FAIL.getMessage()); + } + } catch (Exception e) { + return BaseResponseUtils.buildException(e.getMessage()); + } + return BaseResponseUtils.buildSuccess(true); + } } -- Gitblit v1.8.0