|
|
@@ -3,9 +3,8 @@ package com.ydtech.modules.order.service.impl;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.github.pagehelper.PageInfo;
|
|
|
-import com.github.pagehelper.page.PageMethod;
|
|
|
import com.ydtech.components.OrderComponents;
|
|
|
import com.ydtech.constants.InsuranceEnum;
|
|
|
import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
|
|
|
@@ -188,12 +187,34 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
if ("admin".equals(orderQueryVo.getUserId())) {
|
|
|
orderQueryVo.setUserId("");
|
|
|
}
|
|
|
- PageMethod.startPage(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
|
|
|
|
|
|
- List<InsOrders> insOrders = baseMapper.selectByOrderQueryVo(orderQueryVo);
|
|
|
- PageInfo<InsOrders> page = new PageInfo<>(insOrders);
|
|
|
+ // 构造查询条件
|
|
|
+ LambdaQueryWrapper<InsOrders> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getOrderNo()), InsOrders::getOrderno, orderQueryVo.getOrderNo())
|
|
|
+ .likeRight(StringUtils.isNotEmpty(orderQueryVo.getDeptId()), InsOrders::getDeptid, orderQueryVo.getDeptId())
|
|
|
+ .eq(StringUtils.isEmpty(orderQueryVo.getDeptId()) && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid, orderQueryVo.getUserId())
|
|
|
+ .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus, orderQueryVo.getOrderStatus())
|
|
|
+ .like(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno, orderQueryVo.getFrameNo())
|
|
|
+ .like(StringUtils.isNotEmpty(orderQueryVo.getLicenseNo()), InsOrders::getLicenseno, orderQueryVo.getLicenseNo())
|
|
|
+ .like(StringUtils.isNotEmpty(orderQueryVo.getInsuredName()), InsOrders::getInsuredname, orderQueryVo.getInsuredName())
|
|
|
+ .between(!ObjectUtils.isEmpty(orderQueryVo.getStartDate()) && !ObjectUtils.isEmpty(orderQueryVo.getEndDate()),
|
|
|
+ InsOrders::getCreatetime, orderQueryVo.getStartDate(), orderQueryVo.getEndDatePlusOneDay());
|
|
|
+
|
|
|
+ Page<InsOrders> page = new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(orderQueryVo.getCompanyId())) {
|
|
|
+ Page<InsAreaCompany> insAreaCompanyPage = insAreaCompanyService.query()
|
|
|
+ .select("DISTINCT orderno")
|
|
|
+ .eq("company_id", orderQueryVo.getCompanyId())
|
|
|
+ .page(new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize()));
|
|
|
+ List<String> collect = insAreaCompanyPage.getRecords().stream().map(InsAreaCompany::getOrderno).collect(Collectors.toList());
|
|
|
+ wrapper.in(InsOrders::getOrderno, collect);
|
|
|
+ List<InsOrders> insOrdersList = list(wrapper);
|
|
|
+ return new BasePageResult<>(orderQueryVo.getPageNum(), insAreaCompanyPage.getSize(), insAreaCompanyPage.getTotal(), insAreaCompanyPage.getPages(), insOrdersList);
|
|
|
+ }
|
|
|
|
|
|
- return new BasePageResult<>(orderQueryVo.getPageNum(), page.getSize(), page.getTotal(), page.getPages(), page.getList());
|
|
|
+ Page<InsOrders> insOrdersPage = page(page, wrapper);
|
|
|
+ return new BasePageResult<>(orderQueryVo.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(), insOrdersPage.getRecords());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -201,33 +222,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
return insAreaCompanyService.getByOrderNo(orderNo);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public BasePageResult<InsOrders> queryOrders(OrderQueryVo orderQueryVo) {
|
|
|
- if ("admin".equals(orderQueryVo.getUserId())) {
|
|
|
- orderQueryVo.setUserId("");
|
|
|
- }
|
|
|
-
|
|
|
- PageMethod.startPage(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
|
|
|
- List<InsOrders> order = baseMapper.getOrder(orderQueryVo);
|
|
|
-
|
|
|
- if (order.isEmpty()) {
|
|
|
- return new BasePageResult<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize(), 0, 0, Collections.emptyList());
|
|
|
- }
|
|
|
- PageInfo<InsOrders> pageInfo = new PageInfo<>(order);
|
|
|
-
|
|
|
- List<String> collect = pageInfo.getList().stream().map(InsOrders::getOrderno).collect(Collectors.toList());
|
|
|
- // 2. 查询订单信息包括的子订单信息
|
|
|
- LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<InsAreaCompany>()
|
|
|
- .in(InsAreaCompany::getOrderno, collect)
|
|
|
- .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsAreaCompany::getOrderstatus, orderQueryVo.getOrderStatus());
|
|
|
-
|
|
|
- List<InsAreaCompany> insAreaCompanies = insAreaCompanyService.getBaseMapper()
|
|
|
- .selectList(queryWrapper);
|
|
|
- // 3. 包装订单信息
|
|
|
- List<InsOrders> ordersList = pageInfo.getList().stream()
|
|
|
- .peek(insOrder -> insOrder.setInsAreaCompanyList(insAreaCompanies.stream().filter(insAreaCompany -> insAreaCompany.getOrderno().equals(insOrder.getOrderno())).collect(Collectors.toList()))).collect(Collectors.toList());
|
|
|
- return new BasePageResult<>(orderQueryVo.getPageNum(), pageInfo.getSize(), pageInfo.getTotal(), pageInfo.getPages(), ordersList);
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public HttpResult<OrderVo> getByCompanyId(@NotBlank(message = "子订单不能为空") String companyId) {
|
|
|
@@ -243,19 +237,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
yaExtendInfoDto = MapToYaExtendInfoDto.INSTANCE.mapToYaExtendInfoDto(stringStringMap);
|
|
|
orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
|
|
|
}
|
|
|
-// else
|
|
|
-// //永诚
|
|
|
-// if (InsuranceEnum.AICS.getCode().equals(orderAndAreaCompany.getCompanyId().substring(0, 4))) {
|
|
|
-//
|
|
|
-// InsAreaCompany iac = insAreaCompanyService.getById(companyId);
|
|
|
-// orderAndAreaCompany.setJqstartdate(iac.getJqStartDate());
|
|
|
-// orderAndAreaCompany.setJqenddate(iac.getJqEndDate());
|
|
|
-//
|
|
|
-// orderAndAreaCompany.setSystartdate(iac.getSyStartDate());
|
|
|
-// orderAndAreaCompany.setSyenddate(iac.getSyEndDate());
|
|
|
-//
|
|
|
-//
|
|
|
-// }
|
|
|
|
|
|
InsAreaCompany iac = insAreaCompanyService.getById(companyId);
|
|
|
//保费因素
|