|
@@ -1,20 +1,32 @@
|
|
|
package com.zfjg.manage.service.impl.other;
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.zfjg.common.core.constant.SecurityConstants;
|
|
|
+import com.zfjg.common.core.domain.R;
|
|
|
+import com.zfjg.common.core.exception.ServiceException;
|
|
|
+import com.zfjg.common.core.utils.StringUtils;
|
|
|
import com.zfjg.common.core.utils.bean.BeanUtils;
|
|
|
import com.zfjg.common.core.web.page.TableInfo;
|
|
|
import com.zfjg.manage.api.domain.other.WReport;
|
|
|
import com.zfjg.manage.api.dto.other.WReportDto;
|
|
|
import com.zfjg.manage.api.dto.other.WReportQuery;
|
|
|
-import com.zfjg.manage.api.vo.other.WReportDetailVO;
|
|
|
+import com.zfjg.manage.api.vo.other.WReportVo;
|
|
|
import com.zfjg.manage.mapper.other.WReportMapper;
|
|
|
import com.zfjg.manage.service.other.IWReportService;
|
|
|
import com.zfjg.manage.service.other.WReportBizService;
|
|
|
-import org.springframework.beans.BeansException;
|
|
|
+import com.zfjg.system.api.RemoteUserService;
|
|
|
+import com.zfjg.system.api.domain.SysDept;
|
|
|
+import com.zfjg.system.api.domain.SysUser;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -26,34 +38,184 @@ import java.time.LocalDateTime;
|
|
|
*/
|
|
|
@Service
|
|
|
public class WReportServiceImpl extends ServiceImpl<WReportMapper, WReport> implements IWReportService, WReportBizService {
|
|
|
+ @Resource
|
|
|
+ private RemoteUserService remoteUserService;
|
|
|
+
|
|
|
@Override
|
|
|
public String addReport(WReportDto reportDto) {
|
|
|
- try {
|
|
|
- WReport wReport = new WReport();
|
|
|
- BeanUtils.copyProperties(reportDto, wReport);
|
|
|
- LocalDateTime currentTime = LocalDateTime.now();
|
|
|
- wReport.setId(IdUtil.getSnowflake(1, 1).nextId());
|
|
|
- wReport.setCreateTime(currentTime);
|
|
|
- wReport.setUpdateTime(currentTime);
|
|
|
- this.save(wReport);
|
|
|
- return "ok";
|
|
|
- } catch (Exception e) {
|
|
|
- return "error";
|
|
|
+ WReport wReport = new WReport();
|
|
|
+ BeanUtils.copyProperties(reportDto, wReport);
|
|
|
+ LocalDateTime currentTime = LocalDateTime.now();
|
|
|
+
|
|
|
+ String orgId = String.join("", reportDto.getOrgName());
|
|
|
+ R<SysDept> infoByOrgId = remoteUserService.getInfoByOrgId(orgId);
|
|
|
+ SysDept data = infoByOrgId.getData();
|
|
|
+
|
|
|
+ wReport.setOrgId(data.getEnforceOrgId());
|
|
|
+ wReport.setOrgName(data.getDeptShortName());
|
|
|
+ wReport.setId(IdUtil.getSnowflake(1, 1).nextId());
|
|
|
+ if (ObjectUtil.isNotEmpty(reportDto.getWrongCategory())) {
|
|
|
+ wReport.setWType(String.join("|||", reportDto.getWrongCategory()));
|
|
|
+ wReport.setWTypeC(reportDto.getWrongCategory().size());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(reportDto.getNotCategory())) {
|
|
|
+ wReport.setNType(String.join("|||", reportDto.getNotCategory()));
|
|
|
+ wReport.setNTypeC(reportDto.getNotCategory().size());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(reportDto.getBreakLawCategory())) {
|
|
|
+ wReport.setSType(String.join("|||", reportDto.getBreakLawCategory()));
|
|
|
+ wReport.setSTypeC(reportDto.getBreakLawCategory().size());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(reportDto.getFiles())) {
|
|
|
+ wReport.setFDown(String.join("|||", reportDto.getFiles()));
|
|
|
}
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(reportDto.getDoHandler())) {
|
|
|
+ wReport.setDDo(String.join("|||", reportDto.getDoHandler()));
|
|
|
+ }
|
|
|
+ wReport.setCreateTime(currentTime);
|
|
|
+ wReport.setUpdateTime(currentTime);
|
|
|
+ this.save(wReport);
|
|
|
+ return "ok";
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String updateReport(WReportDto reportDto) {
|
|
|
- return "";
|
|
|
+ WReport wReport = this.getById(reportDto.getId());
|
|
|
+ WReport report = Optional.ofNullable(wReport).map(it -> {
|
|
|
+ BeanUtils.copyProperties(reportDto, it);
|
|
|
+ return it;
|
|
|
+ }).orElseThrow(() -> new ServiceException("error"));
|
|
|
+ this.updateById(report);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String removeReport(Long id) {
|
|
|
+ this.removeById(id);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<WReport> reportDetail(WReportQuery wReportQuery) {
|
|
|
+ LambdaQueryWrapper<WReport> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(WReport::getOrgId, wReportQuery.getOrgId());
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getUsername())) {
|
|
|
+ queryWrapper.eq(WReport::getWUser, wReportQuery.getUsername());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wReportQuery.getStartTime())) {
|
|
|
+ queryWrapper.gt(WReport::getCreateTime, wReportQuery.getStartTime());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wReportQuery.getEndTime())) {
|
|
|
+ queryWrapper.lt(WReport::getCreateTime, wReportQuery.getEndTime());
|
|
|
+ }
|
|
|
+ return this.list(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TableInfo<WReportVo> listReport(WReportQuery wReportQuery) {
|
|
|
+ QueryWrapper<WReport> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getOrgId())) {
|
|
|
+ queryWrapper.eq("org_id", wReportQuery.getOrgId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getYear())){
|
|
|
+ queryWrapper.ge("create_time", wReportQuery.getYear());
|
|
|
+ queryWrapper.le("create_time", wReportQuery.getYear());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getUsername())) {
|
|
|
+ R<SysUser> info2 = remoteUserService.getInfo2(wReportQuery.getUsername(), SecurityConstants.INNER);
|
|
|
+ queryWrapper.eq("w_user", info2.getData().getNickName());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wReportQuery.getStartTime())) {
|
|
|
+ queryWrapper.gt("create_time", wReportQuery.getStartTime());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wReportQuery.getEndTime())) {
|
|
|
+ queryWrapper.lt("create_time", wReportQuery.getEndTime());
|
|
|
+ }
|
|
|
+ queryWrapper.groupBy("org_id");
|
|
|
+ queryWrapper.select("ANY_VALUE(id) as id", "ANY_VALUE(org_id) as org_id", "ANY_VALUE(org_name) as org_name", "ANY_VALUE(w_user) as w_user", "ANY_VALUE(create_time) as create_time", "ANY_VALUE(w_type) as w_type", "sum(w_type_c) as w_type_c", "ANY_VALUE(n_type) as n_type", "sum(n_type_c) as n_type_c", "ANY_VALUE(s_type) as s_type", "sum(s_type_c) as s_type_c");
|
|
|
+// queryWrapper.select("id", "org_id", "org_name", "w_user", "create_time", "w_type", "w_type_c", "n_type", "n_type_c", "s_type", "as s_type_c");
|
|
|
+ List<WReport> wReports = this.list(queryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+ TableInfo<WReportVo> reportVoPageInfo = new TableInfo<>();
|
|
|
+ BeanUtils.copyProperties(wReports, reportVoPageInfo);
|
|
|
+ List<WReportVo> wReportVos = wReports.stream().map(it -> {
|
|
|
+ WReportVo wReportVo = new WReportVo();
|
|
|
+ wReportVo.setId(it.getId());
|
|
|
+ wReportVo.setOrgId(it.getOrgId());
|
|
|
+ wReportVo.setOrgName(it.getOrgName());
|
|
|
+ wReportVo.setWUser(it.getWUser());
|
|
|
+ Integer i = Optional.ofNullable(it.getWTypeC()).orElse(0);
|
|
|
+ Integer i1 = Optional.ofNullable(it.getNTypeC()).orElse(0);
|
|
|
+ Integer i2 = Optional.ofNullable(it.getSTypeC()).orElse(0);
|
|
|
+ wReportVo.setDCount(it.getWTypeC());
|
|
|
+ wReportVo.setNCount(it.getNTypeC());
|
|
|
+ wReportVo.setWCount(it.getSTypeC());
|
|
|
+ Integer i3 = i + i1 + i2;
|
|
|
+ wReportVo.setACount(i3);
|
|
|
+ wReportVo.setCreateTime(it.getCreateTime());
|
|
|
+ return wReportVo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ reportVoPageInfo.setRows(wReportVos);
|
|
|
+ return reportVoPageInfo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public WReportDetailVO reportDetail(String orgId) {
|
|
|
- return null;
|
|
|
+ public List<WReportVo> getList(WReportQuery wReportQuery) {
|
|
|
+ QueryWrapper<WReport> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getOrgId())) {
|
|
|
+ queryWrapper.eq("org_id", wReportQuery.getOrgId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getYear())){
|
|
|
+ queryWrapper.ge("create_time", wReportQuery.getYear());
|
|
|
+ queryWrapper.le("create_time", wReportQuery.getYear());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNoneBlank(wReportQuery.getUsername())) {
|
|
|
+ R<SysUser> info2 = remoteUserService.getInfo2(wReportQuery.getUsername(), SecurityConstants.INNER);
|
|
|
+ queryWrapper.eq("w_user", info2.getData().getNickName());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wReportQuery.getStartTime())) {
|
|
|
+ queryWrapper.gt("create_time", wReportQuery.getStartTime());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(wReportQuery.getEndTime())) {
|
|
|
+ queryWrapper.lt("create_time", wReportQuery.getEndTime());
|
|
|
+ }
|
|
|
+ queryWrapper.groupBy("org_id");
|
|
|
+ queryWrapper.select("ANY_VALUE(id) as id", "ANY_VALUE(org_id) as org_id", "ANY_VALUE(org_name) as org_name", "ANY_VALUE(w_user) as w_user", "ANY_VALUE(create_time) as create_time", "ANY_VALUE(w_type) as w_type", "sum(w_type_c) as w_type_c", "ANY_VALUE(n_type) as n_type", "sum(n_type_c) as n_type_c", "ANY_VALUE(s_type) as s_type", "sum(s_type_c) as s_type_c");
|
|
|
+// queryWrapper.select("id", "org_id", "org_name", "w_user", "create_time", "w_type", "w_type_c", "n_type", "n_type_c", "s_type", "as s_type_c");
|
|
|
+ List<WReport> wReports = this.list(queryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+ TableInfo<WReportVo> reportVoPageInfo = new TableInfo<>();
|
|
|
+ BeanUtils.copyProperties(wReports, reportVoPageInfo);
|
|
|
+ List<WReportVo> wReportVos = wReports.stream().map(it -> {
|
|
|
+ WReportVo wReportVo = new WReportVo();
|
|
|
+ wReportVo.setId(it.getId());
|
|
|
+ wReportVo.setOrgId(it.getOrgId());
|
|
|
+ wReportVo.setOrgName(it.getOrgName());
|
|
|
+ wReportVo.setWUser(it.getWUser());
|
|
|
+ Integer i = Optional.ofNullable(it.getWTypeC()).orElse(0);
|
|
|
+ Integer i1 = Optional.ofNullable(it.getNTypeC()).orElse(0);
|
|
|
+ Integer i2 = Optional.ofNullable(it.getSTypeC()).orElse(0);
|
|
|
+ wReportVo.setDCount(it.getWTypeC());
|
|
|
+ wReportVo.setNCount(it.getNTypeC());
|
|
|
+ wReportVo.setWCount(it.getSTypeC());
|
|
|
+ Integer i3 = i + i1 + i2;
|
|
|
+ wReportVo.setACount(i3);
|
|
|
+ wReportVo.setCreateTime(it.getCreateTime());
|
|
|
+ return wReportVo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return wReportVos;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TableInfo<?> listReport(WReportQuery wReportQuery) {
|
|
|
- return null;
|
|
|
+ public WReport info(Long id) {
|
|
|
+ return this.getById(id);
|
|
|
}
|
|
|
+
|
|
|
}
|