123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- package com.huimv.cattle.service.impl;
- import cn.hutool.core.util.ObjectUtil;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.huimv.cattle.mapper.SysRegionCounTownVillMapper;
- import com.huimv.cattle.pojo.Stock;
- import com.huimv.cattle.mapper.StockMapper;
- import com.huimv.cattle.service.OverviewService;
- import com.huimv.cattle.service.StockService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.huimv.cattle.token.TokenSign;
- import com.huimv.common.utils.Result;
- import com.huimv.common.utils.ResultCode;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import java.text.NumberFormat;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author zn
- * @since 2022-12-14
- */
- @Service
- public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements StockService {
- @Autowired
- private StockMapper stockMapper;
- @Autowired
- private SysRegionCounTownVillMapper sysRegionCounTownVillMapper;
- @Override
- public Result getStock(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- // Stock stock = stockMapper.getList();
- QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_Code",0);
- List<Stock> stocks = stockMapper.selectList(queryWrapper);
- JSONObject jsonObject = new JSONObject();
- int count = 0;
- int fatCount = 0;
- int cowStock = 0;
- int bullStock = 0;
- if (stocks.size() == 0) {
- jsonObject.put("fatStock", 0);
- jsonObject.put("cowStock", 0);
- jsonObject.put("bullStock", 0);
- jsonObject.put("count", 0);
- jsonObject.put("fat", 0);
- jsonObject.put("cow", 0);
- jsonObject.put("bull", 0);
- jsonObject.put("farmCode", 0);
- } else {
- for (int i = 0; i < stocks.size(); i++) {
- count = count + stocks.get(i).getFatStock() + stocks.get(i).getCowStock() + stocks.get(i).getBullStock();
- fatCount = fatCount + stocks.get(i).getFatStock();
- cowStock = cowStock + stocks.get(i).getCowStock();
- bullStock = bullStock + stocks.get(i).getBullStock();
- }
- //创建一个数值格式化对象
- NumberFormat numberFormat = NumberFormat.getInstance();
- //设置精确到小数点后2位
- numberFormat.setMaximumFractionDigits(2);
- String fat = numberFormat.format((float) fatCount / (float) count * 100) + "%";
- String cow = numberFormat.format((float) cowStock / (float) count * 100) + "%";
- String bull = numberFormat.format((float) bullStock / (float) count * 100) + "%";
- jsonObject.put("fatStock", fatCount);
- jsonObject.put("cowStock", cowStock);
- jsonObject.put("bullStock", bullStock);
- jsonObject.put("count", count);
- jsonObject.put("fat", fat);
- jsonObject.put("cow", cow);
- jsonObject.put("bull", bull);
- }
- return new Result(ResultCode.SUCCESS, jsonObject);
- }
- @Override
- public Result add(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- String farmCode = paramsMap.get("farmCode");
- if (farmCode == null) {
- farmCode = TokenSign.getFarmCode(httpServletRequest);
- }
- QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_code", farmCode);
- Stock stock1 = stockMapper.selectOne(queryWrapper);
- Integer fatStock = Integer.parseInt(paramsMap.get("fatStock"));
- Integer cowStock = Integer.parseInt(paramsMap.get("cowStock"));
- Integer bullStock = Integer.parseInt(paramsMap.get("bullStock"));
- // Stock list = stockMapper.getList();
- if (ObjectUtil.isEmpty(stock1)) {
- Stock stock = new Stock();
- stock.setFatStock(fatStock);
- stock.setCowStock(cowStock);
- stock.setBullStock(bullStock);
- stock.setFarmCode(farmCode);
- stockMapper.insert(stock);
- return new Result(ResultCode.SUCCESS);
- } else {
- stock1.setFatStock(fatStock);
- stock1.setCowStock(cowStock);
- stock1.setBullStock(bullStock);
- stock1.setFarmCode(farmCode);
- stockMapper.updateById(stock1);
- return new Result(ResultCode.SUCCESS);
- }
- }
- @Override
- public Result getListStock(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- String farmCode = paramsMap.get("farmCode");
- if (farmCode == null) {
- farmCode = TokenSign.getFarmCode(httpServletRequest);
- }
- JSONObject jsonObject = new JSONObject();
- QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_code", farmCode);
- Stock stock = stockMapper.selectOne(queryWrapper);
- if (ObjectUtil.isEmpty(stock)) {
- jsonObject.put("fatStock", 0);
- jsonObject.put("cowStock", 0);
- jsonObject.put("bullStock", 0);
- jsonObject.put("count", 0);
- jsonObject.put("fat", 0);
- jsonObject.put("cow", 0);
- jsonObject.put("bull", 0);
- jsonObject.put("farmCode", 0);
- } else {
- Integer count = stock.getFatStock() + stock.getBullStock() + stock.getCowStock();
- //创建一个数值格式化对象
- NumberFormat numberFormat = NumberFormat.getInstance();
- //设置精确到小数点后2位
- numberFormat.setMaximumFractionDigits(2);
- String fat = numberFormat.format((float) stock.getFatStock() / (float) count * 100) + "%";
- String cow = numberFormat.format((float) stock.getCowStock() / (float) count * 100) + "%";
- String bull = numberFormat.format((float) stock.getBullStock() / (float) count * 100) + "%";
- jsonObject.put("fatStock", stock.getFatStock());
- jsonObject.put("cowStock", stock.getCowStock());
- jsonObject.put("bullStock", stock.getBullStock());
- jsonObject.put("count", count);
- jsonObject.put("fat", fat);
- jsonObject.put("cow", cow);
- jsonObject.put("bull", bull);
- }
- return new Result(ResultCode.SUCCESS, jsonObject);
- }
- @Override
- public Result getListStockScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- String farmCode = paramsMap.get("farmCode");
- if (farmCode == null) {
- farmCode = TokenSign.getFarmCode(httpServletRequest);
- }
- JSONObject jsonObject = new JSONObject();
- Stock stock = new Stock();
- String cityCode ="";
- if (farmCode == null || farmCode.equals("0")){
- cityCode= sysRegionCounTownVillMapper.listSub(farmCode);
- System.out.println(cityCode);
- String[] city = cityCode.split(",");
- stock = stockMapper.getListStock(city);
- }else {
- QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_code", farmCode);
- stock = stockMapper.selectOne(queryWrapper);
- }
- if (ObjectUtil.isEmpty(stock)) {
- jsonObject.put("fatStock", 0);
- jsonObject.put("cowStock", 0);
- jsonObject.put("bullStock", 0);
- jsonObject.put("count", 0);
- jsonObject.put("fat", 0);
- jsonObject.put("cow", 0);
- jsonObject.put("bull", 0);
- jsonObject.put("farmCode", 0);
- } else {
- Integer count = stock.getFatStock() + stock.getBullStock() + stock.getCowStock();
- //创建一个数值格式化对象
- NumberFormat numberFormat = NumberFormat.getInstance();
- //设置精确到小数点后2位
- numberFormat.setMaximumFractionDigits(2);
- String fat = numberFormat.format((float) stock.getFatStock() / (float) count * 100) + "%";
- String cow = numberFormat.format((float) stock.getCowStock() / (float) count * 100) + "%";
- String bull = numberFormat.format((float) stock.getBullStock() / (float) count * 100) + "%";
- jsonObject.put("fatStock", stock.getFatStock());
- jsonObject.put("cowStock", stock.getCowStock());
- jsonObject.put("bullStock", stock.getBullStock());
- jsonObject.put("count", count);
- jsonObject.put("fat", fat);
- jsonObject.put("cow", cow);
- jsonObject.put("bull", bull);
- }
- return new Result(ResultCode.SUCCESS, jsonObject);
- }
- @Override
- public Result getListVillageStockScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
- String farmCode = paramsMap.get("farmCode");
- if (farmCode == null) {
- farmCode = TokenSign.getFarmCode(httpServletRequest);
- }
- JSONObject jsonObject = new JSONObject();
- Stock stock = new Stock();
- String cityCode ="";
- String subCityCode="";
- List<String> subCityList = new ArrayList<>();
- if (farmCode == null || farmCode.equals("0")){
- cityCode= sysRegionCounTownVillMapper.listSub(farmCode);
- String[] city = cityCode.split(",");
- for (String s : city) {
- subCityCode = sysRegionCounTownVillMapper.listSub(s);
- String[] strings = subCityCode.split(",");
- for (String string : strings) {
- subCityList.add(string);
- }
- }
- String[] subCity = subCityList.toArray(new String[subCityList.size()]);
- stock = stockMapper.getListStock(subCity);
- }else {
- cityCode= sysRegionCounTownVillMapper.listSub(farmCode);
- System.out.println(cityCode);
- String[] city = cityCode.split(",");
- stock = stockMapper.getListStock(city);
- }
- if (ObjectUtil.isEmpty(stock)) {
- jsonObject.put("fatStock", 0);
- jsonObject.put("cowStock", 0);
- jsonObject.put("bullStock", 0);
- jsonObject.put("count", 0);
- jsonObject.put("fat", 0);
- jsonObject.put("cow", 0);
- jsonObject.put("bull", 0);
- jsonObject.put("farmCode", 0);
- } else {
- Integer count = stock.getFatStock() + stock.getBullStock() + stock.getCowStock();
- //创建一个数值格式化对象
- NumberFormat numberFormat = NumberFormat.getInstance();
- //设置精确到小数点后2位
- numberFormat.setMaximumFractionDigits(2);
- String fat = numberFormat.format((float) stock.getFatStock() / (float) count * 100) + "%";
- String cow = numberFormat.format((float) stock.getCowStock() / (float) count * 100) + "%";
- String bull = numberFormat.format((float) stock.getBullStock() / (float) count * 100) + "%";
- jsonObject.put("fatStock", stock.getFatStock());
- jsonObject.put("cowStock", stock.getCowStock());
- jsonObject.put("bullStock", stock.getBullStock());
- jsonObject.put("count", count);
- jsonObject.put("fat", fat);
- jsonObject.put("cow", cow);
- jsonObject.put("bull", bull);
- }
- return new Result(ResultCode.SUCCESS, jsonObject);
- }
- @Resource
- private OverviewService overviewService;
- @Override
- public Result getAllTownStock(HttpServletRequest request, JSONArray allTownsJa) {
- for (int a = 0; a < allTownsJa.size(); a++) {
- JSONObject townJo = allTownsJa.getJSONObject(a);
- System.out.println("townJo=" + townJo);
- //根据乡镇读取填报存栏数据
- JSONObject stockJo = getStockByTown(townJo);
- townJo.put("fatStock", stockJo.getString("fatStock"));
- townJo.put("sowStock", stockJo.getString("cowStock"));
- townJo.put("boarStock", stockJo.getString("bullStock"));
- townJo.put("totalStock", stockJo.getString("totalStock"));
- //根据乡镇读取填报出栏数据
- Integer outStock = overviewService.getOutStock(townJo);
- townJo.put("outStock", String.valueOf(outStock));
- }
- return new Result(ResultCode.SUCCESS, allTownsJa);
- }
- //获取一个城镇的存栏和出栏
- private JSONObject getStockByTown(JSONObject townJo) {
- System.out.println("farmCode==" + townJo.getString("farmCode"));
- JSONObject jsonObject = new JSONObject();
- QueryWrapper<Stock> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("farm_code", townJo.getString("farmCode"));
- Stock stock = stockMapper.selectOne(queryWrapper);
- if (ObjectUtil.isEmpty(stock)) {
- jsonObject.put("fatStock", 0);
- jsonObject.put("cowStock", 0);
- jsonObject.put("bullStock", 0);
- jsonObject.put("totalStock", 0);
- jsonObject.put("outStock", 0);
- jsonObject.put("farmCode", 0);
- } else {
- Integer count = stock.getFatStock() + stock.getBullStock() + stock.getCowStock();
- jsonObject.put("fatStock", stock.getFatStock());
- jsonObject.put("cowStock", stock.getCowStock());
- jsonObject.put("bullStock", stock.getBullStock());
- jsonObject.put("totalStock", String.valueOf(count));
- jsonObject.put("outStock", String.valueOf(0));
- }
- return jsonObject;
- }
- }
|