diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml index adc04451a5..9b6048e889 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml @@ -2,7 +2,114 @@ diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java index 8706e41d5c..2297fd6dc4 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java @@ -39,7 +39,7 @@ public class DailyReportService extends MybatisBaseService listPage(PagerQuery pagerQuery) { - DailyReportQuery query = pagerQuery.getParams(); + /* DailyReportQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); if (query != null) { String useOrgSid = query.getUseOrgSid(); @@ -80,11 +80,59 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); + return p;*/ + DailyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + String useOrgSid = query.getUseOrgSid(); + qw.eq("dr.useOrgSid", useOrgSid); + if (StringUtils.isNotBlank(query.getTodayDate())) { + qw.like("dr.createTime", query.getTodayDate()); + } + qw.orderByDesc("dr.useOrgSid"); + qw.orderByDesc("dr.brandSid"); + qw.groupBy("dr.brandSid"); + qw.orderByDesc("bm.fuelTypeValue"); + qw.groupBy("bm.fuelTypeValue"); + qw.orderByDesc("bm.emissionStandardValue"); + qw.groupBy("bm.emissionStandardValue"); + List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null)); + for (int i = 0; i < parameterVoList.size(); i++) { + DailyParameterVo dailyParameterVo = parameterVoList.get(i); + String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1); + if ("base_model_config".equals(tableName)) { + qw.orderByDesc("bmc." + dailyParameterVo.getColName()); + qw.groupBy("bmc." + dailyParameterVo.getColName()); + } else if ("base_vehicle_model".equals(tableName)) { + qw.orderByDesc("bm." + dailyParameterVo.getColName()); + qw.groupBy("bm." + dailyParameterVo.getColName()); + } + } + + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportVo dailyReportVo = recordList.get(i); + String ratio = ""; + if (dailyReportVo.getSaleAllToThree() == 0) { + ratio = dailyReportVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportVo.getStock_total()).divide((new BigDecimal(dailyReportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, RoundingMode.HALF_UP)), 0, RoundingMode.HALF_UP).toString() + ":1"; + } + dailyReportVo.setSaleOfStockRatio(ratio); + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } public PagerVo listPage2(PagerQuery pagerQuery) { - DailyReportQuery query = pagerQuery.getParams(); + /*DailyReportQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); if (query != null) { //查询事业部 @@ -132,6 +180,65 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); + return p;*/ + DailyReportQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //查询事业部 + if (StringUtils.isNotBlank(query.getOrgPath())) { + List stringList = Arrays.asList(query.getOrgPath().split("/")); + String sybOrgSid = query.getOrgPath().substring(37, 73); + qw.eq("dr.busOrgSid", sybOrgSid); + } + if (StringUtils.isNotBlank(query.getTodayDate())) { + qw.like("dr.createTime", query.getTodayDate()); + } + + qw.orderByDesc("dr.useOrgSid"); + qw.groupBy("dr.useOrgSid"); + qw.orderByDesc("dr.brandSid"); + qw.groupBy("dr.brandSid"); + qw.orderByDesc("bm.fuelTypeValue"); + qw.groupBy("bm.fuelTypeValue"); + qw.orderByDesc("bm.emissionStandardValue"); + qw.groupBy("bm.emissionStandardValue"); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportVo dailyReportVo = recordList.get(i); + /*String modelSid = dailyReportVo.getVehModelSid(); + String configSid = dailyReportVo.getVehMConfigSid(); + BaseVehicleModel baseVehicleModel = baseMapper.selectModel(modelSid); + BaseModelConfig baseModelConfig = baseMapper.selectConfig(configSid); + BeanUtil.copyProperties(baseModelConfig, dailyReportVo, "useOrgName"); + BeanUtil.copyProperties(baseVehicleModel, dailyReportVo, "useOrgName");*/ + //根据库存小计和排产小计计算库存总计 + /*int stock_subtotal = dailyReportVo.getStock_subtotal(); + int pcOrder_subtotal = dailyReportVo.getPcOrder_subtotal(); + int stock_total = stock_subtotal + pcOrder_subtotal; + dailyReportVo.setStock_total(stock_total); + //根据库存总计/前三月的平均销售台数为存销比 + String threeNum = baseMapper.select(dailyReportVo.getUseOrgSid(), dailyReportVo.getBrandSid(), dailyReportVo.getVehModelSid(), dailyReportVo.getVehMConfigSid(), dailyReportVo.getCreateTime()); + if ("0".equals(threeNum)) { + dailyReportVo.setSaleOfStockRatio(String.valueOf(stock_total)); + } else { + BigDecimal big = new BigDecimal(stock_total).divide(new BigDecimal(threeNum).divide(new BigDecimal(3), 2, BigDecimal.ROUND_CEILING), 2, BigDecimal.ROUND_CEILING); + dailyReportVo.setSaleOfStockRatio(big.toString()); + }*/ + String ratio = ""; + if (dailyReportVo.getSaleAllToThree() == 0) { + ratio = dailyReportVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportVo.getStock_total()).divide((new BigDecimal(dailyReportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, RoundingMode.HALF_UP)), 0, RoundingMode.HALF_UP).toString() + ":1"; + } + dailyReportVo.setSaleOfStockRatio(ratio); + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -159,7 +266,7 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); @@ -294,6 +420,24 @@ public class DailyReportService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listPage3_1(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, RoundingMode.HALF_UP)), 0, RoundingMode.HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -623,20 +767,20 @@ public class DailyReportService extends MybatisBaseService getReport(String date, String userSid,String orgPath,String type) { + public ResultBean getReport(String date, String userSid, String orgPath, String type) { ResultBean rb = ResultBean.fireFail(); QueryWrapper qw = new QueryWrapper<>(); if (StringUtils.isNotBlank(date)) { qw.like("createTime", date); } - if(StringUtils.isNotBlank(type)){//事业部或分公司 - if("syb".equals(type)){ + if (StringUtils.isNotBlank(type)) {//事业部或分公司 + if ("syb".equals(type)) { if (StringUtils.isNotBlank(orgPath)) { List stringList = Arrays.asList(orgPath.split("/")); String busOrgSid = orgPath.substring(37, 73); qw.eq("busOrgSid", busOrgSid); } - }else if("fgs".equals(type)){ + } else if ("fgs".equals(type)) { if (StringUtils.isNotBlank(orgPath)) { String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); qw.eq("useOrgSid", useOrgSid);