|
@@ -1,6 +1,7 @@
|
|
|
package com.energy.manage.service.service.windenginegroup.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.energy.manage.common.base.BaseServiceImpl;
|
|
|
import com.energy.manage.common.base.Page;
|
|
@@ -39,6 +40,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
import tk.mybatis.mapper.entity.Example;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -182,7 +184,7 @@ public class WindEngineGroupServiceImpl extends BaseServiceImpl<WindEngineGroupP
|
|
|
Example.Criteria criteria = queryExample.createCriteria();
|
|
|
criteria.andEqualTo("engineCode", windEngineGroupCodeDto.getEngineCode());
|
|
|
|
|
|
- if (windEngineGroupMapper.updateByExampleSelective(po,queryExample) <= 0) {
|
|
|
+ if (windEngineGroupMapper.updateByExampleSelective(po, queryExample) <= 0) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -222,12 +224,51 @@ public class WindEngineGroupServiceImpl extends BaseServiceImpl<WindEngineGroupP
|
|
|
|
|
|
@Override
|
|
|
public boolean updateWindEngineGroup(WindEngineGroupUpdateDto windEngineGroupUpdateDto) {
|
|
|
+
|
|
|
WindEngineGroupPO po = new WindEngineGroupPO();
|
|
|
BeanUtil.copyProperties(windEngineGroupUpdateDto, po);
|
|
|
Example queryExample = new Example(WindEngineGroupPO.class);
|
|
|
Example.Criteria criteria = queryExample.createCriteria();
|
|
|
criteria.andEqualTo("engineCode", windEngineGroupUpdateDto.getEngineCode());
|
|
|
- return windEngineGroupMapper.updateByExampleSelective(po, queryExample) > 0;
|
|
|
+
|
|
|
+ // 查询当前风机信息
|
|
|
+ WindEngineGroupPO windEngineGroupPO = new WindEngineGroupPO();
|
|
|
+ windEngineGroupPO.setEngineCode(windEngineGroupUpdateDto.getEngineCode());
|
|
|
+ WindEngineGroupPO windEngineGroup = windEngineGroupMapper.selectOne(windEngineGroupPO);
|
|
|
+
|
|
|
+ if (windEngineGroupMapper.updateByExampleSelective(po, queryExample) <= 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理总额定功率
|
|
|
+ outerLoop:
|
|
|
+ if (windEngineGroup.getRatedCapacity().doubleValue() == windEngineGroupUpdateDto.getRatedCapacity().doubleValue()) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ WindFieldCodeDto windFieldCodeDto = new WindFieldCodeDto();
|
|
|
+ windFieldCodeDto.setFieldCode(windEngineGroup.getFieldCode());
|
|
|
+ WindFieldVo windFieldVo = windFieldService.getWindFieldVo(windFieldCodeDto);
|
|
|
+ if (windFieldVo == null) {
|
|
|
+ break outerLoop;
|
|
|
+ }
|
|
|
+ WindFieldUpdateDto windFieldUpdateDto = new WindFieldUpdateDto();
|
|
|
+ windFieldUpdateDto.setFieldCode(windFieldCodeDto.getFieldCode());
|
|
|
+ double value = windFieldVo.getRatedCapacityNumber() == null ? 0 : windFieldVo.getRatedCapacityNumber().doubleValue();
|
|
|
+ if (windEngineGroup.getRatedCapacity().doubleValue() < windEngineGroupUpdateDto.getRatedCapacity().doubleValue()) {
|
|
|
+ double less = NumberUtil.round(windEngineGroupUpdateDto.getRatedCapacity().doubleValue() - windEngineGroup.getRatedCapacity().doubleValue(),2).doubleValue();
|
|
|
+ windFieldUpdateDto.setRatedCapacityNumber(value + less);
|
|
|
+ windFieldService.updateWindField(windFieldUpdateDto);
|
|
|
+ }
|
|
|
+ if (windEngineGroup.getRatedCapacity().doubleValue() > windEngineGroupUpdateDto.getRatedCapacity().doubleValue()) {
|
|
|
+ double greater = NumberUtil.round(windEngineGroup.getRatedCapacity().doubleValue() - windEngineGroupUpdateDto.getRatedCapacity().doubleValue(),2).doubleValue();
|
|
|
+ if (value > windEngineGroup.getRatedCapacity()) {
|
|
|
+ windFieldUpdateDto.setRatedCapacityNumber(value - greater);
|
|
|
+ windFieldService.updateWindField(windFieldUpdateDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|