Procházet zdrojové kódy

优化报价查询

wks před 2 roky
rodič
revize
46eb20c65e

+ 0 - 7
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -90,13 +90,6 @@ public class InsOrdersController extends BaseController {
     }
 
 
-    @PostMapping("/queryOrders")
-    @ApiOperation(value = "查询订单和子订单")
-    public HttpResult<BasePageResult<InsOrders>> queryOrders(@RequestBody @Valid OrderQueryVo orderQueryVo) {
-        BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryOrders(orderQueryVo);
-        return HttpResult.ok("success", quoteResult);
-    }
-
     @PostMapping("/queryInsAreaCompany")
     @ApiOperation(value = "通过主订单ID查询子订单")
     public HttpResult<List<InsAreaCompany>> queryInsAreaCompany(@RequestSingleParam(value = "orderNo") String orderNo) {

+ 0 - 4
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -18,11 +18,7 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
 
     OrderVo getOrderAndAreaCompany(String companyId);
 
-    List<InsOrders> getOrder(OrderQueryVo orderQueryVo);
-
     InsOrders getByUseridAndLicenseNo(VerifyOrdersVo verifyOrdersVo);
 
 
-    List<InsOrders> selectByOrderQueryVo(OrderQueryVo orderQueryVo);
-
 }

+ 8 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.util.ObjectUtils;
 
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
@@ -56,4 +57,11 @@ public class OrderQueryVo {
     @Min(value = 1, message = "页数最小为1")
     private int pageNum;
 
+
+    public LocalDate getEndDatePlusOneDay() {
+        if(ObjectUtils.isEmpty(endDate)){
+            return endDate;
+        }
+        return endDate.plusDays(1);
+    }
 }

+ 0 - 6
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -70,12 +70,6 @@ public interface InsOrdersService extends IService<InsOrders> {
      */
     BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo);
 
-    /**
-     * @param orderQueryVo
-     * @return
-     */
-    BasePageResult<InsOrders> queryOrders(OrderQueryVo orderQueryVo);
-
     /**
      * @param companyId
      * @return

+ 27 - 46
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -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);
         //保费因素

+ 0 - 123
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -179,64 +179,6 @@
         where iac.id = #{companyId}
     </select>
 
-    <select id="getOrder" resultMap="BaseResultMap" parameterType="com.ydtech.modules.order.entity.vo.OrderQueryVo">
-        select  io.orderno,
-        io.quoteno,
-        io.orderstatus,
-        io.carinfo,
-        io.userid,
-        io.username,
-        io.deptid,
-        io.deptname,
-        io.ownerinfo,
-        io.applyinfo,
-        io.insureinfo,
-        io.agreeid,
-        io.productid,
-        io.product,
-        io.createtime,
-        io.frameno,
-        io.licenseno,
-        io.insuredname,
-        io.jqstartdate,
-        io.jqenddate,
-        io.systartdate,
-        io.syenddate,
-        io.risk,
-        io.king,
-        io.vehicle_and_vessel_tax from ins_orders io
-
-        JOIN (SELECT DISTINCT(o.orderno) as orderno
-        FROM ins_orders o
-        LEFT JOIN ins_area_company a ON o.orderno = a.orderno
-        left join sys_user u on o.userid=u.id
-        WHERE 1 = 1
-        <if test="orderNo != null and orderNo != ''">
-            and o.orderno = #{orderNo, jdbcType=VARCHAR}
-        </if>
-        <if test="deptId != null and deptId != ''">
-            and u.dept_id like CONCAT(#{deptId, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="deptId == null and deptId == '' and userId != null and userId != ''">
-            and o.userid = #{userId, jdbcType=VARCHAR}
-        </if>
-        <if test="orderStatus != null and orderStatus != ''">
-            and a.orderstatus like CONCAT('%', #{orderStatus, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="frameNo != null and frameNo != ''">
-            and o.frameno like CONCAT('%', #{frameNo, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="licenseNo != null and licenseNo != ''">
-            and o.licenseno like CONCAT('%', #{licenseNo, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="insuredName != null and insuredName != ''">
-            and o.insuredname like CONCAT('%', #{insuredName, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="startDate != null and endDate != null">
-            and o.createtime between #{startDate, jdbcType=TIMESTAMP} and #{endDate, jdbcType=TIMESTAMP}
-        </if>) as f on io.orderno=f.orderno
-        order by createtime desc
-    </select>
 
     <select id="getByUseridAndLicenseNo" resultType="com.ydtech.modules.order.entity.InsOrders"
             parameterType="com.ydtech.modules.order.entity.vo.VerifyOrdersVo">
@@ -271,69 +213,4 @@
           and createtime > DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
     </select>
 
-    <select id="selectByOrderQueryVo" resultMap="BaseResultMap"  parameterType="com.ydtech.modules.order.entity.vo.OrderQueryVo">
-        select o.orderno,
-        o.quoteno,
-        o.company_id,
-        o.ins_company,
-        o.orderstatus,
-        o.carinfo,
-        o.userid,
-        o.username,
-        o.deptid,
-        o.deptname,
-        o.ownerinfo,
-        o.applyinfo,
-        o.insureinfo,
-        o.agreeid,
-        o.productid,
-        o.product,
-        o.createtime,
-        o.frameno,
-        o.licenseno,
-        o.insuredname,
-        o.jqstartdate,
-        o.jqenddate,
-        o.systartdate,
-        o.syenddate,
-        o.risk,
-        o.king,
-        o.vehicle_and_vessel_tax from ins_orders o
-
-        <if test="companyId != null and companyId != ''">
-            left join ins_area_company iac on iac.orderno = o.orderno
-        </if>
-
-        where 1 = 1
-        <if test="orderNo != null and orderNo != ''">
-            and o.orderno = #{orderNo, jdbcType=VARCHAR}
-        </if>
-        <if test="deptId != null and deptId != ''">
-            and o.deptid like CONCAT(#{deptId, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="(deptId == null or deptId == '') and userId != null and userId != ''">
-            and o.userid = #{userId, jdbcType=VARCHAR}
-        </if>
-        <if test="orderStatus != null and orderStatus != ''">
-            and o.orderstatus like CONCAT('%', #{orderStatus, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="frameNo != null and frameNo != ''">
-            and o.frameno like CONCAT('%', #{frameNo, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="licenseNo != null and licenseNo != ''">
-            and o.licenseno like CONCAT('%', #{licenseNo, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="insuredName != null and insuredName != ''">
-            and o.insuredname like CONCAT('%', #{insuredName, jdbcType=VARCHAR}, '%')
-        </if>
-        <if test="startDate != null and endDate != null">
-            and o.createtime between #{startDate, jdbcType=TIMESTAMP} and DATE_ADD(#{endDate, jdbcType=TIMESTAMP},
-            INTERVAL 1 DAY)
-        </if>
-        <if test="companyId != null and companyId != ''">
-            and iac.company_id = #{companyId, jdbcType=VARCHAR}
-        </if>
-        order by o.createtime desc
-
-    </select>
 </mapper>