|
@@ -20,6 +20,8 @@ import vip.xiaonuo.money.service.IMoneyProduceService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
@@ -56,42 +58,37 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
|
|
|
String year = time.substring(0, 4);
|
|
|
queryWrapper.between("create_time", year + "-01-01 00:00:00", time + "-31 23:59:59");
|
|
|
}
|
|
|
- List<MoneyProduce> list = produceMapper.selectList(queryWrapper);
|
|
|
+ queryWrapper.select(" IFNULL(sum(nf_cholesterol),'0') nfCholesterol," +
|
|
|
+ "IFNULL(sum(breed_cholesterol),'0') breedCholesterol," +
|
|
|
+ "IFNULL(sum(sheep_alcohol),'0') sheepAlcohol," +
|
|
|
+ "IFNULL(sum(sheep_sour),'0') sheepSour," +
|
|
|
+ "IFNULL(sum(sheep_sour_bing),'0') sheepSourBing," +
|
|
|
+ "IFNULL(sum(other),'0') other");
|
|
|
+ MoneyProduce produce1 = produceMapper.selectOne(queryWrapper);
|
|
|
+
|
|
|
MoneyProduce produce = new MoneyProduce();
|
|
|
- DecimalFormat def = new DecimalFormat("0.00");
|
|
|
- double v1 = 0.00;
|
|
|
- double v2 = 0.00;
|
|
|
- double v3 = 0.00;
|
|
|
- double v4 = 0.00;
|
|
|
- double v5 = 0.00;
|
|
|
- double v6 = 0.00;
|
|
|
- double count = 0.00;
|
|
|
- if (list.size() != 0) {
|
|
|
- for (MoneyProduce moneyProduce : list) {
|
|
|
- v1 = v1 + Double.valueOf(moneyProduce.getNfCholesterol());
|
|
|
- v2 = v2 + Double.valueOf(moneyProduce.getBreedCholesterol());
|
|
|
- v3 = v3 + Double.valueOf(moneyProduce.getSheepAlcohol());
|
|
|
- v4 = v4 + Double.valueOf(moneyProduce.getSheepSour());
|
|
|
- v5 = v5 + Double.valueOf(moneyProduce.getSheepSourBing());
|
|
|
- v6 = v6 + Double.valueOf(moneyProduce.getOther());
|
|
|
- count = v1 + v2 + v3 + v4 + v5 + v6;
|
|
|
- }
|
|
|
- if (count != 0) {
|
|
|
- produce.setNfCholesterol(def.format(v1 / count));
|
|
|
- produce.setBreedCholesterol(def.format(v2 / count));
|
|
|
- produce.setSheepAlcohol(def.format(v3 / count));
|
|
|
- produce.setSheepSour(def.format(v4 / count));
|
|
|
- produce.setSheepSourBing(def.format(v5 / count));
|
|
|
- produce.setOther(def.format(v6 / count));
|
|
|
- } else {
|
|
|
- produce.setNfCholesterol(def.format(v1));
|
|
|
- produce.setBreedCholesterol(def.format(v2));
|
|
|
- produce.setSheepAlcohol(def.format(v3));
|
|
|
- produce.setSheepSour(def.format(v4));
|
|
|
- produce.setSheepSourBing(def.format(v5));
|
|
|
- produce.setOther(def.format(v6));
|
|
|
- }
|
|
|
- }
|
|
|
+ BigDecimal math = new BigDecimal("10000");
|
|
|
+ BigDecimal bd = new BigDecimal(produce1.getNfCholesterol());
|
|
|
+ bd = bd.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal bd1 = new BigDecimal(produce1.getBreedCholesterol());
|
|
|
+ bd1 = bd1.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal bd2 = new BigDecimal(produce1.getSheepAlcohol());
|
|
|
+ bd2 = bd2.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal bd3 = new BigDecimal(produce1.getSheepSour());
|
|
|
+ bd3 = bd3.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal bd4 = new BigDecimal(produce1.getSheepSourBing());
|
|
|
+ bd4 = bd4.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal bd5 = new BigDecimal(produce1.getOther());
|
|
|
+ bd5 = bd5.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+
|
|
|
+
|
|
|
+ produce.setNfCholesterol(bd.toString());
|
|
|
+ produce.setBreedCholesterol(bd1.toString());
|
|
|
+ produce.setSheepAlcohol(bd2.toString());
|
|
|
+ produce.setSheepSour(bd3.toString());
|
|
|
+ produce.setSheepSourBing(bd4.toString());
|
|
|
+ produce.setOther(bd5.toString());
|
|
|
+
|
|
|
return produce;
|
|
|
}
|
|
|
|
|
@@ -115,31 +112,44 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
|
|
|
}
|
|
|
List<MoneyProduce> list = produceMapper.selectList(queryWrapper);
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
+ BigDecimal math = new BigDecimal("10000");
|
|
|
for (MoneyProduce produce : list) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
switch (moneyProduceParam.getPType()) {
|
|
|
case 0:
|
|
|
- jsonObject.put("value", produce.getNfCholesterol());
|
|
|
+ BigDecimal bg=new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bg = bg.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bg.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 1:
|
|
|
- jsonObject.put("value", produce.getBreedCholesterol());
|
|
|
+ BigDecimal bg1=new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bg1.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 2:
|
|
|
- jsonObject.put("value", produce.getSheepAlcohol());
|
|
|
+ BigDecimal bg2=new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bg2 = bg2.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bg2.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 3:
|
|
|
- jsonObject.put("value", produce.getSheepSour());
|
|
|
+ BigDecimal bg3=new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bg3 = bg3.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bg3.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 4:
|
|
|
- jsonObject.put("value", produce.getSheepSourBing());
|
|
|
+ BigDecimal bg4=new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bg4 = bg4.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value",bg4.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 5:
|
|
|
- jsonObject.put("value", produce.getOther());
|
|
|
+ BigDecimal bg5=new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bg5 = bg5.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bg5.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
}
|
|
@@ -152,40 +162,18 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
|
|
|
public JSONObject getInOut(MoneyInOutParam inOutParam) {
|
|
|
String orgId = inOutParam.getOrgId();
|
|
|
QueryWrapper<MoneyProduce> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId).groupBy("type");
|
|
|
- List<MoneyProduce> produces = produceMapper.selectList(queryWrapper);
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
|
|
|
+ queryWrapper.select(" IFNULL(sum(in_money),'0') inMoney,IFNULL(sum(out_money),'0') outMoney");
|
|
|
+ MoneyProduce moneyProduce = produceMapper.selectOne(queryWrapper);
|
|
|
+
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- DecimalFormat def = new DecimalFormat("0.00");
|
|
|
- double in = 0.00;
|
|
|
- double out = 0.00;
|
|
|
- double count = 0.00;
|
|
|
- if (produces.size() != 0) {
|
|
|
- for (MoneyProduce produce : produces) {
|
|
|
- if (produce.getType() == 0) {
|
|
|
- in = in + Double.valueOf(produce.getNfCholesterol()) + Double.valueOf(produce.getBreedCholesterol())
|
|
|
- + Double.valueOf(produce.getSheepAlcohol())
|
|
|
- + Double.valueOf(produce.getSheepSour())
|
|
|
- + Double.valueOf(produce.getSheepSourBing())
|
|
|
- + Double.valueOf(produce.getOther());
|
|
|
- } else {
|
|
|
- out = out + Double.valueOf(produce.getNfCholesterol()) + Double.valueOf(produce.getBreedCholesterol())
|
|
|
- + Double.valueOf(produce.getSheepAlcohol())
|
|
|
- + Double.valueOf(produce.getSheepSour())
|
|
|
- + Double.valueOf(produce.getSheepSourBing())
|
|
|
- + Double.valueOf(produce.getOther());
|
|
|
- }
|
|
|
- count = count+in + out;
|
|
|
- }
|
|
|
- if (count != 0) {
|
|
|
- in = in / count;
|
|
|
- out = out / count;
|
|
|
- } else {
|
|
|
- in = 0.00;
|
|
|
- out = 0.00;
|
|
|
- }
|
|
|
- }
|
|
|
- jsonObject.put("in", def.format(in));
|
|
|
- jsonObject.put("out", def.format(out));
|
|
|
+ BigDecimal math = new BigDecimal("10000");
|
|
|
+ BigDecimal bg=new BigDecimal(moneyProduce.getInMoney());
|
|
|
+ bg = bg.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal bg1=new BigDecimal(moneyProduce.getOutMoney());
|
|
|
+ bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("in", bg.toString());
|
|
|
+ jsonObject.put("out", bg1.toString());
|
|
|
return jsonObject;
|
|
|
}
|
|
|
|
|
@@ -207,31 +195,44 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
|
|
|
}
|
|
|
List<MoneyProduceIncome> list = incomeMapper.selectList(queryWrapper);
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
+ BigDecimal math = new BigDecimal("10000");
|
|
|
for (MoneyProduceIncome produce : list) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
switch (moneyProduceParam.getPType()) {
|
|
|
case 0:
|
|
|
- jsonObject.put("value", produce.getNfCholesterol());
|
|
|
+ BigDecimal bd = new BigDecimal(produce.getNfCholesterol());
|
|
|
+ bd = bd.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bd.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 1:
|
|
|
- jsonObject.put("value", produce.getBreedCholesterol());
|
|
|
+ BigDecimal bd1 = new BigDecimal(produce.getBreedCholesterol());
|
|
|
+ bd1 = bd1.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bd1.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 2:
|
|
|
- jsonObject.put("value", produce.getSheepAlcohol());
|
|
|
+ BigDecimal bd2 = new BigDecimal(produce.getSheepAlcohol());
|
|
|
+ bd2 = bd2.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bd2.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 3:
|
|
|
- jsonObject.put("value", produce.getSheepSour());
|
|
|
+ BigDecimal bd3 = new BigDecimal(produce.getSheepSour());
|
|
|
+ bd3 = bd3.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value",bd3.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 4:
|
|
|
- jsonObject.put("value", produce.getSheepSourBing());
|
|
|
+ BigDecimal bd4 = new BigDecimal(produce.getSheepSourBing());
|
|
|
+ bd4 = bd4.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value", bd4.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
case 5:
|
|
|
- jsonObject.put("value", produce.getOther());
|
|
|
+ BigDecimal bd5 = new BigDecimal(produce.getOther());
|
|
|
+ bd5 = bd5.divide(math, 2, RoundingMode.HALF_UP);
|
|
|
+ jsonObject.put("value",bd5.toString());
|
|
|
jsonObject.put("createTime", produce.getCreateTime());
|
|
|
break;
|
|
|
}
|