From 780578502875aa0c339cb73f11b1e635df458c77 Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期三, 28 二月 2024 14:55:05 +0800 Subject: [PATCH] 系统调整 --- data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java | 135 ++++++++++++++++++++++++++++++-------------- 1 files changed, 92 insertions(+), 43 deletions(-) diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java index 3a1de81..6357459 100644 --- a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java +++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java @@ -23,6 +23,7 @@ import com.yuanchu.mom.dto.ProductCountDto; import com.yuanchu.mom.dto.RegistrantCountDto; import com.yuanchu.mom.mapper.FansSubmitMapper; +import com.yuanchu.mom.mapper.FinanceSubmitMapper; import com.yuanchu.mom.pojo.DataReporting; import com.yuanchu.mom.pojo.FansSubmit; import com.yuanchu.mom.pojo.FinanceSubmit; @@ -79,6 +80,9 @@ @Resource private FinanceSubmitService financeSubmitService; + @Resource + private FinanceSubmitMapper financeSubmitMapper; + @Override public Map<String, Object> selectDataReportingList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) { Map<String, Object> map = new HashMap<>(); @@ -97,6 +101,7 @@ dataReporting2.setCustomerCosts(dataReporting.getCustomerCosts()); dataReporting2.setCustomerRebate(dataReporting.getCustomerRebate()); dataReporting2.setRemark(dataReporting.getRemark()); + dataReporting2.setVxCard(dataReporting.getVxCard()); try { dataReporting2.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP)); } catch (Exception e) { @@ -107,13 +112,23 @@ } try { dataReporting2.setDiscountedConsumption(dataReporting.getConsumption().divide(dataReporting.getAgentRebate(), 2, RoundingMode.HALF_UP)); - }catch (Exception e){} + } catch (Exception e) { + } try { dataReporting2.setActualCost(dataReporting.getAccountConsumption().divide(new BigDecimal(dataReporting.getFansAdd()), 2, RoundingMode.HALF_UP)); - }catch (Exception e){} + } catch (Exception e) { + } try { dataReporting2.setProfit(dataReporting.getRebateConsumption().subtract(dataReporting.getConsumption())); - }catch (Exception e){} + } catch (Exception e) { + } + String format = dataReportingMapper.selectById(dataReporting.getId()).getCreateTime().plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + List<FansSubmit> fansSubmits = fansSubmitMapper.selectList(Wrappers.<FansSubmit>lambdaQuery().eq(FansSubmit::getProduct, dataReporting.getProduct()).eq(FansSubmit::getVx, dataReporting.getVxCard()).select(FansSubmit::getFansAdd).like(FansSubmit::getCreateTime, format)); + Integer sum = 0; + for (FansSubmit fansSubmit : fansSubmits) { + sum += fansSubmit.getFansAdd(); + } + dataReporting2.setFansAdd(sum); return dataReportingMapper.updateById(dataReporting2); } @@ -150,15 +165,28 @@ @Override @Transactional(rollbackFor = Exception.class) - public void addDataReporting(List<DataReporting> list, String date) { + public void addDataReporting(List<DataReporting> list, String date, String param) { int userId = Integer.parseInt(JSONUtil.parseObj(new Jwt().readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""); Map<String, String> map = dataReportingMapper.selectUser(userId); for (DataReporting dataReporting : list) { - if (dataReporting.getName() == null || dataReporting.getName().equals("")) dataReporting.setName(map.get("account")); - if (date == null) { - date = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); - }; - DataReporting one = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getProduct, dataReporting.getProduct()).eq(DataReporting::getName, dataReporting.getName()).eq(DataReporting::getCreateUser, userId).like(DataReporting::getCreateTime, date)); + String date2 = date; + if(date == null) { + date2 = fansSubmitService.getYesterday(); + date = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + } else date = LocalDateTime.parse(date+"T00:00:00").plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); +// List<FansSubmit> fansSubmits = fansSubmitMapper.selectList(Wrappers.<FansSubmit>lambdaQuery().eq(FansSubmit::getProduct, dataReporting.getProduct()).eq(FansSubmit::getVx, param).select(FansSubmit::getFansAdd).like(FansSubmit::getCreateTime, date)); + FinanceSubmit financeSubmit = financeSubmitMapper.selectOne(Wrappers.<FinanceSubmit>lambdaQuery().eq(FinanceSubmit::getCompany, dataReporting.getAgent()).eq(FinanceSubmit::getName, dataReporting.getName()).select(FinanceSubmit::getEmployeeRebate).like(FinanceSubmit::getCreateTime, date).orderByDesc(FinanceSubmit::getId).last("limit 1")); +// Integer sum = 0; +// for (FansSubmit fansSubmit : fansSubmits) { +// sum += fansSubmit.getFansAdd(); +// } +// dataReporting.setFansAdd(sum); + if(ObjectUtil.isNotEmpty(financeSubmit)){ + dataReporting.setAgentRebate(financeSubmit.getEmployeeRebate()); + } + if (dataReporting.getName() == null || dataReporting.getName().equals("")) + dataReporting.setName(map.get("account")); +// DataReporting one = dataReportingMapper.selectOne(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getProduct, dataReporting.getProduct()).eq(DataReporting::getName, dataReporting.getName()).eq(DataReporting::getCreateUser, userId).like(DataReporting::getCreateTime, date)); try { dataReporting.setRebateConsumption(dataReporting.getAccountConsumption().divide(dataReporting.getCustomerRebate(), 2, RoundingMode.HALF_UP)); } catch (Exception e) { @@ -183,24 +211,27 @@ dataReporting.setRemark(dataReporting.getConsumption().subtract(dataReporting.getRebateConsumption())); } catch (Exception e) { } - if (ObjectUtil.isEmpty(one)) { - dataReporting.setRegistrant(map.get("name")); - dataReporting.setDepartment(map.get("department")); - dataReporting.setCreateTime(LocalDateTime.parse(date + " " + new SimpleDateFormat("HH:mm:ss").format(new Date()), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - dataReportingMapper.insert(dataReporting); - } else { - dataReporting.setId(one.getId()); - dataReporting.setName(null); - dataReportingMapper.updateById(dataReporting); - } +// dataReporting.setVxCard(param); +// if (ObjectUtil.isEmpty(one)) { + dataReporting.setRegistrant(map.get("name")); + dataReporting.setDepartment(map.get("department")); + dataReporting.setCreateTime(LocalDateTime.parse(date2 + " " + new SimpleDateFormat("HH:mm:ss").format(new Date()), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + dataReportingMapper.insert(dataReporting); +// } else { +// dataReporting.setId(one.getId()); +// dataReporting.setName(null); +// dataReportingMapper.updateById(dataReporting); +// } } } @Transactional(rollbackFor = Exception.class) @Override public Integer delDataReporting(Integer id) { - List<FansSubmit> fansSubmits = fansSubmitMapper.selectList(Wrappers.<FansSubmit>lambdaQuery().eq(FansSubmit::getDataId, id).select(FansSubmit::getId)); - fansSubmitMapper.deleteBatchIds(fansSubmits); + /*List<FansSubmit> fansSubmits = fansSubmitMapper.selectList(Wrappers.<FansSubmit>lambdaQuery().eq(FansSubmit::getDataId, id).select(FansSubmit::getId)); + if(fansSubmits.size()>0)fansSubmitMapper.deleteBatchIds(fansSubmits); + List<FinanceSubmit> financeSubmits = financeSubmitMapper.selectList(Wrappers.<FinanceSubmit>lambdaQuery().eq(FinanceSubmit::getDataId, id).select(FinanceSubmit::getId)); + if(financeSubmits.size()>0)financeSubmitMapper.deleteBatchIds(financeSubmits);*/ return dataReportingMapper.deleteById(id); } @@ -211,9 +242,9 @@ String name = "鏁版嵁涓婃姤" + time + ".csv"; String path = outPath + name; CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); - writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�" + time}); writer.write(new String[]{}); - writer.write(new String[]{"鏃堕棿鑼冨洿锛�"+dataReportingPageDto.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))}); + writer.write(new String[]{"鏃堕棿鑼冨洿锛�" + dataReportingPageDto.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))}); writer.write(new String[]{}); writer.write(new String[]{}); List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class); @@ -222,10 +253,10 @@ str[i] = head.get(i).get("value"); } writer.write(str); - JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a -> { Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); for (int i = 0; i < head.size(); i++) { - str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + str[i] = map1.get(head.get(i).get("label")) == null ? null : map1.get(head.get(i).get("label")) + ""; } writer.write(str); }); @@ -240,7 +271,7 @@ String name = "椤圭洰鏁版嵁缁熻" + time + ".csv"; String path = outPath + name; CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); - writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�" + time}); writer.write(new String[]{}); writer.write(new String[]{}); writer.write(new String[]{}); @@ -251,10 +282,10 @@ str[i] = head.get(i).get("value"); } writer.write(str); - JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a -> { Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); for (int i = 0; i < head.size(); i++) { - str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + str[i] = map1.get(head.get(i).get("label")) == null ? null : map1.get(head.get(i).get("label")) + ""; } writer.write(str); }); @@ -269,7 +300,7 @@ String name = "鍛樺伐鏁版嵁缁熻" + time + ".csv"; String path = outPath + name; CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); - writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�" + time}); writer.write(new String[]{}); writer.write(new String[]{}); writer.write(new String[]{}); @@ -280,10 +311,10 @@ str[i] = head.get(i).get("value"); } writer.write(str); - JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a -> { Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); for (int i = 0; i < head.size(); i++) { - str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + str[i] = map1.get(head.get(i).get("label")) == null ? null : map1.get(head.get(i).get("label")) + ""; } writer.write(str); }); @@ -298,9 +329,9 @@ String name = "绮変笣涓婃姤" + time + ".csv"; String path = outPath + name; CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); - writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�" + time}); writer.write(new String[]{}); - writer.write(new String[]{"鏃堕棿鑼冨洿锛�"+fansSubmit.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))}); + writer.write(new String[]{"鏃堕棿鑼冨洿锛�" + fansSubmit.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))}); writer.write(new String[]{}); writer.write(new String[]{}); List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class); @@ -309,10 +340,10 @@ str[i] = head.get(i).get("value"); } writer.write(str); - JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a -> { Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); for (int i = 0; i < head.size(); i++) { - str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + str[i] = map1.get(head.get(i).get("label")) == null ? null : map1.get(head.get(i).get("label")) + ""; } writer.write(str); }); @@ -327,9 +358,9 @@ String name = "璐㈠姟涓婃姤" + time + ".csv"; String path = outPath + name; CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_GBK); - writer.write(new String[]{"瀵煎嚭鏃堕棿锛�"+time}); + writer.write(new String[]{"瀵煎嚭鏃堕棿锛�" + time}); writer.write(new String[]{}); - writer.write(new String[]{"鏃堕棿鑼冨洿锛�"+financeSubmit.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))}); + writer.write(new String[]{"鏃堕棿鑼冨洿锛�" + financeSubmit.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd"))}); writer.write(new String[]{}); writer.write(new String[]{}); List<Map<String, String>> head = JSON.parseObject(JSON.toJSONString(map.get("head")), List.class); @@ -338,10 +369,10 @@ str[i] = head.get(i).get("value"); } writer.write(str); - JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a->{ + JSON.parseObject(JSON.toJSONString(map.get("body")), IPage.class).getRecords().forEach(a -> { Map<String, Object> map1 = JSON.parseObject(JSON.toJSONString(a), Map.class); for (int i = 0; i < head.size(); i++) { - str[i] = map1.get(head.get(i).get("label"))==null?null:map1.get(head.get(i).get("label"))+""; + str[i] = map1.get(head.get(i).get("label")) == null ? null : map1.get(head.get(i).get("label")) + ""; } writer.write(str); }); @@ -360,15 +391,33 @@ if (StringUtils.isEmpty(dataComparisonDto.getName()) || StringUtils.isEmpty(dataComparisonDto.getComparisonName())) { map.put("body", new Page<DataComparisonDto>()); - }else { - long startTime = System.currentTimeMillis(); + } else { IPage<DataComparisonDto> dataReportingPageDtoIPage = dataReportingMapper.selectDataComparisonDtoPageList(page, dataComparisonDto); - long endTime = System.currentTimeMillis(); - System.out.println("鎵ц鏃堕棿锛�" + (endTime - startTime) + " 姣"); map.put("body", dataReportingPageDtoIPage); } return map; } + + @Override + public void deleteAllData(String date) { + List<DataReporting> list = dataReportingMapper.selectList(Wrappers.<DataReporting>lambdaQuery().eq(DataReporting::getCreateUser, getLook.selectPowerByMethodAndUserId("selectDataReportingList").get("userId")).like(DataReporting::getCreateTime, date)); + for (DataReporting reporting : list) { + delDataReporting(reporting.getId()); + } + } + + @Override + public List<String> selectDataReportingForCreateUserNames(String time) { + return dataReportingMapper.selectDataReportingForCreateUserNames(time.split(" ")[0]); + } + + @Override + public int updateVxCards(List<DataReporting> list) { + for (DataReporting reporting : list) { + updateDataReporting(reporting); + } + return 1; + } } -- Gitblit v1.9.3