|
@@ -32,6 +32,7 @@ import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
|
|
|
import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
|
|
|
import vip.xiaonuo.modular.base.pigpen.mapper.BasePigpenMapper;
|
|
|
import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
|
|
|
+import vip.xiaonuo.modular.env.envdevice.entity.vo.EnvDeviceCountVo;
|
|
|
import vip.xiaonuo.modular.env.envdevice.param.EnvDeviceOrgIdParam;
|
|
|
import vip.xiaonuo.modular.feed.feedingenv.entity.FeedingEnv;
|
|
|
import vip.xiaonuo.modular.feed.feedingenv.mapper.FeedingEnvMapper;
|
|
@@ -40,6 +41,7 @@ import vip.xiaonuo.modular.feed.feedingenv.service.FeedingEnvService;
|
|
|
|
|
|
import javax.validation.constraints.NotBlank;
|
|
|
import java.text.DecimalFormat;
|
|
|
+import java.text.NumberFormat;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -87,11 +89,13 @@ public class FeedingEnvServiceImpl extends ServiceImpl<FeedingEnvMapper, Feeding
|
|
|
@Override
|
|
|
public CommonResult edit(FeedingEnvEditParam feedingEnvEditParam) {
|
|
|
if (this.count(new QueryWrapper<FeedingEnv>().lambda().eq(FeedingEnv::getOrgId, feedingEnvEditParam.getOrgId())
|
|
|
- .eq(FeedingEnv::getUnitId, feedingEnvEditParam.getUnitId())) > 0) {
|
|
|
+ .eq(FeedingEnv::getUnitId, feedingEnvEditParam.getUnitId())
|
|
|
+ .ne(FeedingEnv::getId,feedingEnvEditParam.getId())) > 0) {
|
|
|
return new CommonResult(500, "栋舍已被绑定", false);
|
|
|
}
|
|
|
if (this.count(new QueryWrapper<FeedingEnv>().lambda().eq(FeedingEnv::getOrgId, feedingEnvEditParam.getOrgId())
|
|
|
- .eq(FeedingEnv::getDeviceCode, feedingEnvEditParam.getDeviceCode())) > 0) {
|
|
|
+ .eq(FeedingEnv::getDeviceCode, feedingEnvEditParam.getDeviceCode())
|
|
|
+ .ne(FeedingEnv::getId,feedingEnvEditParam.getId())) > 0) {
|
|
|
return new CommonResult(500, "设备编号已存在!", false);
|
|
|
}
|
|
|
FeedingEnv feedingEnv = this.queryEntity(feedingEnvEditParam.getId().toString());
|
|
@@ -123,29 +127,28 @@ public class FeedingEnvServiceImpl extends ServiceImpl<FeedingEnvMapper, Feeding
|
|
|
|
|
|
@Override
|
|
|
public JSONObject listEnv(String orgId) {
|
|
|
- QueryWrapper<FeedingEnv> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("org_id", orgId);
|
|
|
- List<FeedingEnv> envs = envMapper.selectList(queryWrapper);
|
|
|
- Integer onliveCount = 0;
|
|
|
- Integer offliveCount = 0;
|
|
|
- for (FeedingEnv env : envs) {
|
|
|
- if (env.getDeviceStatus() == 1) {
|
|
|
- //在线
|
|
|
- onliveCount = onliveCount + 1;
|
|
|
- }
|
|
|
- if (env.getDeviceStatus() == 0) {
|
|
|
- //离线
|
|
|
- offliveCount = offliveCount + 1;
|
|
|
- }
|
|
|
- }
|
|
|
- double v = Double.parseDouble(onliveCount.toString());
|
|
|
- double rank = v / Double.parseDouble(String.valueOf(envs.size()));
|
|
|
- DecimalFormat dft = new DecimalFormat("0.00");
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("envCount", envs.size());
|
|
|
- jsonObject.put("onliveCount", onliveCount);
|
|
|
- jsonObject.put("offliveCount", offliveCount);
|
|
|
- jsonObject.put("rank", dft.format(rank));
|
|
|
+ long deviceNum = this.count(new QueryWrapper<FeedingEnv>().lambda().eq(FeedingEnv::getOrgId, orgId));
|
|
|
+ if (deviceNum == 0){
|
|
|
+ jsonObject.put("envCount", 0);
|
|
|
+ jsonObject.put("onliveCount", 0);
|
|
|
+ jsonObject.put("offliveCount", 0);
|
|
|
+ jsonObject.put("rank", "0%");
|
|
|
+ }else {
|
|
|
+ jsonObject.put("envCount",deviceNum);
|
|
|
+ long onDeviceNum = this.count(new QueryWrapper<FeedingEnv>().lambda().eq(FeedingEnv::getDeviceStatus,"1").eq(FeedingEnv::getOrgId, orgId));
|
|
|
+ jsonObject.put("onliveCount", onDeviceNum);
|
|
|
+
|
|
|
+ long offDeviceNum = this.count(new QueryWrapper<FeedingEnv>().lambda().eq(FeedingEnv::getDeviceStatus,"0").eq(FeedingEnv::getOrgId, orgId));
|
|
|
+ jsonObject.put("offliveCount", offDeviceNum);
|
|
|
+ //创建一个数值格式化对象
|
|
|
+ NumberFormat numberFormat = NumberFormat.getInstance();
|
|
|
+ //设置精确到小数点后两位
|
|
|
+ numberFormat.setMaximumFractionDigits(2);
|
|
|
+ String onlineRate = numberFormat.format((float)onDeviceNum / (float) deviceNum* 100) + "%";
|
|
|
+ jsonObject.put("rank", onlineRate);
|
|
|
+
|
|
|
+ }
|
|
|
return jsonObject;
|
|
|
}
|
|
|
|