|
|
@@ -23,11 +23,13 @@ import com.ydtech.modules.admin.service.*;
|
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
|
import com.ydtech.modules.base.model.dto.PageDto;
|
|
|
import com.ydtech.modules.base.model.vo.PageVo;
|
|
|
+import com.ydtech.modules.esm.model.EsmInsAttributionTemplate;
|
|
|
import com.ydtech.modules.esm.model.EsmUserImage;
|
|
|
import com.ydtech.modules.esm.model.EsmUserReferrer;
|
|
|
import com.ydtech.modules.esm.model.vo.EsmUserImageVo;
|
|
|
import com.ydtech.modules.esm.service.EsmUserImageService;
|
|
|
import com.ydtech.modules.esm.service.EsmUserReferrerService;
|
|
|
+import com.ydtech.modules.ins.model.InsOrdersExcel;
|
|
|
import com.ydtech.security.utils.PasswordUtils;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import com.ydtech.utils.idgen.IdGenerate;
|
|
|
@@ -88,43 +90,172 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Override
|
|
|
public IPage<QuTeamNum> quTeamNum(QuTeamNumDto quTeamNumDto) {
|
|
|
//判断必传标识是否为空
|
|
|
- if (quTeamNumDto.getTeamOrUserFlag() != null) {
|
|
|
- //判断是要查询用户还是团队
|
|
|
- if ("1".equals(quTeamNumDto.getTeamOrUserFlag())) {
|
|
|
- PageRequest pageRequest = new PageRequest();
|
|
|
- pageRequest.setPageNum(quTeamNumDto.getPageNo());
|
|
|
- pageRequest.setPageSize(quTeamNumDto.getPageSize());
|
|
|
- Page page = PageRequest.buildPageRequest(pageRequest);
|
|
|
-
|
|
|
- if (quTeamNumDto.getCreateTimeStart() == null && quTeamNumDto.getCreateTimeEnd() == null) {
|
|
|
- LocalDate date = LocalDate.now();
|
|
|
- LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth()); // 获取当前月的第一天
|
|
|
- LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth()); // 获取当前月的最后一天
|
|
|
-
|
|
|
- quTeamNumDto.setCreateTimeStart(firstDay);
|
|
|
- quTeamNumDto.setCreateTimeEnd(lastDay);
|
|
|
- }
|
|
|
+ if (quTeamNumDto.getTeamOrUserFlag() == null) {
|
|
|
+ throw new SystemException("必传参数未传");
|
|
|
+ }
|
|
|
+ //判断是要查询用户还是团队
|
|
|
+ if ("1".equals(quTeamNumDto.getTeamOrUserFlag())) {
|
|
|
+ List<SysDept> dept = sysUserMapper.getDept();
|
|
|
+ List<QuOrders> orders = sysUserMapper.getOrders(quTeamNumDto);
|
|
|
+ List<QuTeamNum> list = new ArrayList<>();
|
|
|
+ dept.forEach(item -> {
|
|
|
+ QuTeamNum quTeamNum = new QuTeamNum();
|
|
|
+ quTeamNum.setQuoteNum("0");
|
|
|
+ quTeamNum.setSubmitNum("0");
|
|
|
+ quTeamNum.setHasInsuredNum("0");
|
|
|
+ quTeamNum.setTotalSumpremium("0");
|
|
|
+ quTeamNum.setJqPremiumSum("0");
|
|
|
+ quTeamNum.setSyPremiumSum("0");
|
|
|
+ quTeamNum.setTaxaMountSum("0");
|
|
|
+ orders.forEach(order -> {
|
|
|
+ if (order.getDeptId() != null) {
|
|
|
+ if (order.getDeptId().equals(item.getId())) {
|
|
|
+ //报价次数
|
|
|
+ if (Integer.parseInt(order.getOrderStatus()) > 1) {
|
|
|
+ quTeamNum.setQuoteNum(String.valueOf(Integer.parseInt(quTeamNum.getQuoteNum()) + 1));
|
|
|
+ }
|
|
|
+ //提交核保次数
|
|
|
+ if (Integer.parseInt(order.getOrderStatus()) == 3) {
|
|
|
+ quTeamNum.setSubmitNum(String.valueOf(Integer.parseInt(quTeamNum.getSubmitNum()) + 1));
|
|
|
+ }
|
|
|
+ //已承保次数
|
|
|
+ if (Integer.parseInt(order.getOrderStatus()) == 4) {
|
|
|
+ quTeamNum.setHasInsuredNum(String.valueOf(Integer.parseInt(quTeamNum.getHasInsuredNum()) + 1));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //总保费
|
|
|
+ BigDecimal totalSumpremium = new BigDecimal(quTeamNum.getTotalSumpremium());
|
|
|
+ //交强费用
|
|
|
+ BigDecimal jqPremiumSum = new BigDecimal(quTeamNum.getJqPremiumSum());
|
|
|
+ //商业费用
|
|
|
+ BigDecimal syPremiumSum = new BigDecimal(quTeamNum.getSyPremiumSum());
|
|
|
+ //车船税
|
|
|
+ BigDecimal taxaMountSum = new BigDecimal(quTeamNum.getTaxaMountSum());
|
|
|
+
|
|
|
+
|
|
|
+ if (order.getJqPremium() != null && order.getSyPremium() != null) {
|
|
|
+ //交强险费用
|
|
|
+ quTeamNum.setJqPremiumSum(String.valueOf(jqPremiumSum.add(new BigDecimal(order.getJqPremium()))));
|
|
|
+ //商业险费用
|
|
|
+ quTeamNum.setSyPremiumSum(String.valueOf(syPremiumSum.add(new BigDecimal(order.getSyPremium()))));
|
|
|
+ //总承保保费总数
|
|
|
+ quTeamNum.setTotalSumpremium(String.valueOf(totalSumpremium.add(new BigDecimal(order.getJqPremium())).add(new BigDecimal(order.getSyPremium()))));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (order.getTaxAmount() != null) {
|
|
|
+ //车船税
|
|
|
+ quTeamNum.setTaxaMountSum(String.valueOf(taxaMountSum.add(new BigDecimal(order.getTaxAmount()))));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ quTeamNum.setDeptId(item.getId());
|
|
|
+ quTeamNum.setDeptName(item.getName());
|
|
|
+ list.add(quTeamNum);
|
|
|
+ });
|
|
|
+
|
|
|
+ return getQuTeamNumIPage(quTeamNumDto, list);
|
|
|
+
|
|
|
+ } else if ("2".equals(quTeamNumDto.getTeamOrUserFlag())) {
|
|
|
+ List<SysDept> dept = sysUserMapper.getDept();
|
|
|
+ List<SysUser> user = sysUserMapper.getUser(dept);
|
|
|
+ //如果未传时间 就默认当前月
|
|
|
+ if (quTeamNumDto.getCreateTimeStart() == null && quTeamNumDto.getCreateTimeEnd() == null) {
|
|
|
+ LocalDate now = LocalDate.now();
|
|
|
+ quTeamNumDto.setCreateTimeStart(now.with(TemporalAdjusters.firstDayOfMonth()));
|
|
|
+ quTeamNumDto.setCreateTimeEnd(now.with(TemporalAdjusters.lastDayOfMonth()));
|
|
|
+ }
|
|
|
+ List<QuOrders> orders = sysUserMapper.getOrders(quTeamNumDto);
|
|
|
+ List<QuTeamNum> list = new ArrayList<>();
|
|
|
+ user.forEach(item -> {
|
|
|
+ QuTeamNum quTeamNum = new QuTeamNum();
|
|
|
+ quTeamNum.setQuoteNum("0");
|
|
|
+ quTeamNum.setSubmitNum("0");
|
|
|
+ quTeamNum.setHasInsuredNum("0");
|
|
|
+ quTeamNum.setTotalSumpremium("0");
|
|
|
+ quTeamNum.setJqPremiumSum("0");
|
|
|
+ quTeamNum.setSyPremiumSum("0");
|
|
|
+ quTeamNum.setTaxaMountSum("0");
|
|
|
+ orders.forEach(order -> {
|
|
|
+ if (order.getUserId() != null) {
|
|
|
+ if (order.getUserId().equals(item.getId())) {
|
|
|
+ //报价次数
|
|
|
+ if (Integer.parseInt(order.getOrderStatus()) > 1) {
|
|
|
+ quTeamNum.setQuoteNum(String.valueOf(Integer.parseInt(quTeamNum.getQuoteNum()) + 1));
|
|
|
+ }
|
|
|
+ //提交核保次数
|
|
|
+ if (Integer.parseInt(order.getOrderStatus()) == 3) {
|
|
|
+ quTeamNum.setSubmitNum(String.valueOf(Integer.parseInt(quTeamNum.getSubmitNum()) + 1));
|
|
|
+ }
|
|
|
+ //已承保次数
|
|
|
+ if (Integer.parseInt(order.getOrderStatus()) == 4) {
|
|
|
+ quTeamNum.setHasInsuredNum(String.valueOf(Integer.parseInt(quTeamNum.getHasInsuredNum()) + 1));
|
|
|
+ }
|
|
|
+
|
|
|
+ //总保费
|
|
|
+ BigDecimal totalSumpremium = new BigDecimal(quTeamNum.getTotalSumpremium());
|
|
|
+ //交强费用
|
|
|
+ BigDecimal jqPremiumSum = new BigDecimal(quTeamNum.getJqPremiumSum());
|
|
|
+ //商业费用
|
|
|
+ BigDecimal syPremiumSum = new BigDecimal(quTeamNum.getSyPremiumSum());
|
|
|
+ //车船税
|
|
|
+ BigDecimal taxaMountSum = new BigDecimal(quTeamNum.getTaxaMountSum());
|
|
|
+
|
|
|
+ if (order.getJqPremium() != null && order.getSyPremium() != null) {
|
|
|
+ //交强险费用
|
|
|
+ quTeamNum.setJqPremiumSum(String.valueOf(jqPremiumSum.add(new BigDecimal(order.getJqPremium()))));
|
|
|
+ //商业险费用
|
|
|
+ quTeamNum.setSyPremiumSum(String.valueOf(syPremiumSum.add(new BigDecimal(order.getSyPremium()))));
|
|
|
+ //总承保保费总数
|
|
|
+ quTeamNum.setTotalSumpremium(String.valueOf(totalSumpremium.add(new BigDecimal(order.getJqPremium())).add(new BigDecimal(order.getSyPremium()))));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (order.getTaxAmount() != null) {
|
|
|
+ //车船税
|
|
|
+ quTeamNum.setTaxaMountSum(String.valueOf(taxaMountSum.add(new BigDecimal(order.getTaxAmount()))));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ quTeamNum.setUserId(item.getId());
|
|
|
+ quTeamNum.setUserName(item.getName());
|
|
|
+ quTeamNum.setDeptId(item.getDeptId());
|
|
|
+ quTeamNum.setDeptName(item.getDeptName());
|
|
|
+ list.add(quTeamNum);
|
|
|
+ });
|
|
|
+
|
|
|
+ return getQuTeamNumIPage(quTeamNumDto, list);
|
|
|
+ }
|
|
|
+ throw new SystemException("参数错误");
|
|
|
|
|
|
- return sysUserMapper.quTeamNum(page, quTeamNumDto);
|
|
|
- } else if ("2".equals(quTeamNumDto.getTeamOrUserFlag())) {
|
|
|
- PageRequest pageRequest = new PageRequest();
|
|
|
- pageRequest.setPageNum(quTeamNumDto.getPageNo());
|
|
|
- pageRequest.setPageSize(quTeamNumDto.getPageSize());
|
|
|
- Page page = PageRequest.buildPageRequest(pageRequest);
|
|
|
|
|
|
- if (quTeamNumDto.getCreateTimeStart() == null && quTeamNumDto.getCreateTimeEnd() == null) {
|
|
|
- LocalDate date = LocalDate.now();
|
|
|
- LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth()); // 获取当前月的第一天
|
|
|
- LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth()); // 获取当前月的最后一天
|
|
|
+ }
|
|
|
|
|
|
- quTeamNumDto.setCreateTimeStart(firstDay);
|
|
|
- quTeamNumDto.setCreateTimeEnd(lastDay);
|
|
|
- }
|
|
|
- return sysUserMapper.quUserNum(page, quTeamNumDto);
|
|
|
- }
|
|
|
- throw new SystemException("参数错误");
|
|
|
+ private IPage<QuTeamNum> getQuTeamNumIPage(QuTeamNumDto quTeamNumDto, List<QuTeamNum> list) {
|
|
|
+ if (quTeamNumDto.getUserId() != null) {
|
|
|
+ List<QuTeamNum> collect = list.stream().filter(item -> item.getUserId().equals(quTeamNumDto.getUserId())).collect(Collectors.toList());
|
|
|
+ collect = collect.stream().skip((quTeamNumDto.getPageNo() - 1) * quTeamNumDto.getPageSize()).limit(quTeamNumDto.getPageSize()).
|
|
|
+ collect(Collectors.toList());
|
|
|
+ IPage<QuTeamNum> page = new Page<>(quTeamNumDto.getPageNo(), quTeamNumDto.getPageSize(), list.size());
|
|
|
+ page.setRecords(collect);
|
|
|
+ return page;
|
|
|
}
|
|
|
- throw new SystemException("必传参数未传");
|
|
|
+ if (quTeamNumDto.getDeptId() != null) {
|
|
|
+ List<QuTeamNum> collect = list.stream().filter(item -> item.getDeptId().equals(quTeamNumDto.getDeptId())).collect(Collectors.toList());
|
|
|
+ collect = collect.stream().skip((quTeamNumDto.getPageNo() - 1) * quTeamNumDto.getPageSize()).limit(quTeamNumDto.getPageSize()).
|
|
|
+ collect(Collectors.toList());
|
|
|
+ IPage<QuTeamNum> page = new Page<>(quTeamNumDto.getPageNo(), quTeamNumDto.getPageSize(), list.size());
|
|
|
+ page.setRecords(collect);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<QuTeamNum> collection = list.stream().skip((quTeamNumDto.getPageNo() - 1) * quTeamNumDto.getPageSize()).limit(quTeamNumDto.getPageSize()).
|
|
|
+ collect(Collectors.toList());
|
|
|
+ IPage<QuTeamNum> page = new Page<>(quTeamNumDto.getPageNo(), quTeamNumDto.getPageSize(), list.size());
|
|
|
+ page.setRecords(collection);
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
|