Przeglądaj źródła

调整待审核订单

785834757 2 lat temu
rodzic
commit
5a0d6db696

+ 4 - 1
src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java

@@ -61,9 +61,12 @@ public class CarSettleController extends BaseController {
     @ApiOperation(value = "[2]根据订单号查询费用明细")
     public HttpResult<OrderVo> queryFeeDetail(@RequestSingleParam(value = "orderNo") @Valid String orderNo) {
         //查询已承保的子订单号
+        //测试使用
         List<InsAreaCompany> areaList =insAreaCompanyService.query()
                 .eq(StringUtils.isNotEmpty(orderNo),"orderno",orderNo)
-                .eq("orderstatus","3").list();//3已承保
+                .eq("orderstatus","3")
+                .or()
+                .eq("orderstatus","2").list();//3已承保
         if(areaList!=null && areaList.size()>0){
             return insOrdersService.getByCompanyId(areaList.get(0).getId(),"accountingUser");
         }else{

+ 7 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -1,8 +1,11 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.vo.OrderQueryVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -43,6 +46,10 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
 
     List<InsAreaCompany> getorDerIds();
 
+    /**
+     * 获取待审核的订单
+     */
+    Page<InsOrders> getPendingAuditOrders(Page page, @Param("params") OrderQueryVo orderQueryVo);
 
 }
 

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

@@ -1,6 +1,7 @@
 package com.ydtech.modules.order.entity.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.core.page.PageRequest;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -68,4 +69,11 @@ public class OrderQueryVo {
         }
         return endDate.plusDays(1);
     }
+
+    public PageRequest getPageRequest() {
+        PageRequest pageRequest = new PageRequest();
+        pageRequest.setPageNum(pageNum);
+        pageRequest.setPageSize(pageSize);
+        return pageRequest;
+    }
 }

+ 9 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -1,8 +1,11 @@
 package com.ydtech.modules.order.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.vo.OrderQueryVo;
 
 import java.util.List;
 
@@ -69,5 +72,11 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
 
     List<InsAreaCompany> getorDerIds();
 
+    /**
+     * 查询待审核的订单
+     * @return
+     */
+    Page<InsOrders> getPendingAuditOrders(Page page, OrderQueryVo orderQueryVo);
+
 
 }

+ 8 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -1,11 +1,14 @@
 package com.ydtech.modules.order.service.impl;
 
 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.ydtech.exception.SystemException;
 import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import com.ydtech.modules.order.entity.vo.OrderQueryVo;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsOrdersTrackService;
@@ -99,6 +102,11 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         return  baseMapper.getorDerIds();
     }
 
+    @Override
+    public Page<InsOrders> getPendingAuditOrders(Page page, OrderQueryVo orderQueryVo) {
+        return baseMapper.getPendingAuditOrders(page,orderQueryVo);
+    }
+
 }
 
 

+ 101 - 73
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -14,6 +14,7 @@ import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.constants.enums.dict.insurance.NatureOfVehicleUse;
 import com.ydtech.constants.sys.SystemConstant;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.model.SysDept;
@@ -348,82 +349,109 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             }
 
         }
+        Page<InsAreaCompany> page = PageRequest.buildPageRequest(orderQueryVo.getPageRequest());
+        Page<InsOrders> pendingAuditOrders = insAreaCompanyService.getPendingAuditOrders(page,orderQueryVo);
 
-        // 构造查询条件
-        LambdaQueryWrapper<InsOrders> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getOrderNo()), InsOrders::getOrderno, orderQueryVo.getOrderNo())
-                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getDeptId()) && isTeamLeader, InsOrders::getDeptid,
-                        orderQueryVo.getDeptId())
-                .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus,
-                        orderQueryVo.getOrderStatus())
-                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno,
-                        orderQueryVo.getFrameNo())
-                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getLicenseNo()), InsOrders::getLicenseno,
-                        orderQueryVo.getLicenseNo())
-                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getInsuredName()), InsOrders::getInsuredname,
-                        orderQueryVo.getInsuredName())
-                .between(!ObjectUtils.isEmpty(orderQueryVo.getStartDate()) && !ObjectUtils.isEmpty(orderQueryVo.getEndDate()),
-                        InsOrders::getCreatetime, orderQueryVo.getStartDate(), orderQueryVo.getEndDatePlusOneDay())
-                .orderBy(true, false, InsOrders::getCreatetime);
-
-
-        if (isCdy) {//如果是出单员查询时,只查自己的  与代客录单一致,查operatorid (手机前端userid传过来是出单用户,直接用该字段查询查operatorid)
-            wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getOperatorid,
-                    orderQueryVo.getUserId());
-        } else {
-            wrapper.eq(!isTeamLeader && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid,
-                    orderQueryVo.getUserId());
-        }
-
-        Page<InsOrders> page = new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
-
-        if (StringUtils.isNotEmpty(orderQueryVo.getCompanyId())) {
-            List<InsAreaCompany> list = insAreaCompanyService.query().select("DISTINCT orderno").eq("company_id",
-                    orderQueryVo.getCompanyId()).list();
-            List<String> collect =
-                    list.stream().map(InsAreaCompany::getOrderno).distinct().collect(Collectors.toList());
-            if (!collect.isEmpty()) {
-                wrapper.in(InsOrders::getOrderno, collect);
-            }
-
-        }
-
-        if (StringUtils.isNotEmpty(orderQueryVo.getAuditStatus()) && orderQueryVo.getAuditStatus().equals("1")) {
-            List<InsFeeAudit> list = insFeeAuditService.query().select("DISTINCT orderno").eq("auditstatus",
-                    orderQueryVo.getAuditStatus()).list();
-            List<String> collect = list.stream().map(InsFeeAudit::getOrderno).distinct().collect(Collectors.toList());
-            collect.add("");
-            wrapper.in(InsOrders::getOrderno, collect);
-        }
-
-        if (StringUtils.isNotEmpty(orderQueryVo.getAuditStatus()) && orderQueryVo.getAuditStatus().equals("0")) {
-            List<InsFeeAudit> list =
-                    insFeeAuditService.query().select("DISTINCT orderno").eq("auditstatus", "1").list();
-            List<String> collect = list.stream().map(InsFeeAudit::getOrderno).distinct().collect(Collectors.toList());
-
-            if (!collect.isEmpty()) {
-                wrapper.notIn(InsOrders::getOrderno, collect);
-            }
-        }
-
-        //查出报价状态为 3
-        List<InsAreaCompany> insAreaCompanies = insAreaCompanyService.getorDerIds();
-//      新的费用订单表
-        if (insAreaCompanies.size() > 0) {
-            List<String> collect =
-                    insAreaCompanies.stream().map(insAreaCompany -> insAreaCompany.getOrderno()).collect(Collectors.toList());
-            if (!collect.isEmpty()) {
-                wrapper.in(InsOrders::getOrderno, collect);
-            }
-        }
-
-        Page<InsOrders> insOrdersPage = page(page, wrapper);
-
-        return new BasePageResult<>(orderQueryVo.getPageNum(), page.getSize(), insOrdersPage.getTotal(),
-                page.getPages(),
-                insOrdersPage.getRecords());
+        return new BasePageResult<>(pendingAuditOrders.getCurrent(), page.getSize(), pendingAuditOrders.getTotal(),
+                pendingAuditOrders.getPages(),
+                pendingAuditOrders.getRecords());
     }
 
+//    @Override
+//    public BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo) {
+//        // 领导标志
+//        boolean isTeamLeader = false;
+//        //是否出单员标志
+//        boolean isCdy = false;
+//        if (StringUtils.isNotEmpty(orderQueryVo.getUserId())) {
+//            SysUserRole userRole = sysUserRoleService.selectByUserId(orderQueryVo.getUserId());
+//
+//            if (Arrays.asList(SystemConstant.getSysRoleTeamLeader()).contains(userRole.getRoleId().toString())) {
+//                //团队长可查询下面所有人员订单
+//                isTeamLeader = true;
+//            }
+//
+//            if (19 == userRole.getRoleId()) {
+//                isCdy = true;
+//            }
+//
+//        }
+//
+//        // 构造查询条件
+//        LambdaQueryWrapper<InsOrders> wrapper = new LambdaQueryWrapper<>();
+//        wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getOrderNo()), InsOrders::getOrderno, orderQueryVo.getOrderNo())
+//                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getDeptId()) && isTeamLeader, InsOrders::getDeptid,
+//                        orderQueryVo.getDeptId())
+//                .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus,
+//                        orderQueryVo.getOrderStatus())
+//                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno,
+//                        orderQueryVo.getFrameNo())
+//                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getLicenseNo()), InsOrders::getLicenseno,
+//                        orderQueryVo.getLicenseNo())
+//                .likeRight(StringUtils.isNotEmpty(orderQueryVo.getInsuredName()), InsOrders::getInsuredname,
+//                        orderQueryVo.getInsuredName())
+//                .between(!ObjectUtils.isEmpty(orderQueryVo.getStartDate()) && !ObjectUtils.isEmpty(orderQueryVo.getEndDate()),
+//                        InsOrders::getCreatetime, orderQueryVo.getStartDate(), orderQueryVo.getEndDatePlusOneDay())
+//                .orderBy(true, false, InsOrders::getCreatetime);
+//
+//
+//        if (isCdy) {//如果是出单员查询时,只查自己的  与代客录单一致,查operatorid (手机前端userid传过来是出单用户,直接用该字段查询查operatorid)
+//            wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getOperatorid,
+//                    orderQueryVo.getUserId());
+//        } else {
+//            wrapper.eq(!isTeamLeader && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid,
+//                    orderQueryVo.getUserId());
+//        }
+//
+//        Page<InsOrders> page = new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
+//
+//        if (StringUtils.isNotEmpty(orderQueryVo.getCompanyId())) {
+//            List<InsAreaCompany> list = insAreaCompanyService.query().select("DISTINCT orderno").eq("company_id",
+//                    orderQueryVo.getCompanyId()).list();
+//            List<String> collect =
+//                    list.stream().map(InsAreaCompany::getOrderno).distinct().collect(Collectors.toList());
+//            if (!collect.isEmpty()) {
+//                wrapper.in(InsOrders::getOrderno, collect);
+//            }
+//
+//        }
+//
+//        if (StringUtils.isNotEmpty(orderQueryVo.getAuditStatus()) && orderQueryVo.getAuditStatus().equals("1")) {
+//            List<InsFeeAudit> list = insFeeAuditService.query().select("DISTINCT orderno").eq("auditstatus",
+//                    orderQueryVo.getAuditStatus()).list();
+//            List<String> collect = list.stream().map(InsFeeAudit::getOrderno).distinct().collect(Collectors.toList());
+//            collect.add("");
+//            wrapper.in(InsOrders::getOrderno, collect);
+//        }
+//
+//        if (StringUtils.isNotEmpty(orderQueryVo.getAuditStatus()) && orderQueryVo.getAuditStatus().equals("0")) {
+//            List<InsFeeAudit> list =
+//                    insFeeAuditService.query().select("DISTINCT orderno").eq("auditstatus", "1").list();
+//            List<String> collect = list.stream().map(InsFeeAudit::getOrderno).distinct().collect(Collectors.toList());
+//
+//            if (!collect.isEmpty()) {
+//                wrapper.notIn(InsOrders::getOrderno, collect);
+//            }
+//        }
+//
+//        //查出报价状态为 3
+//        List<InsAreaCompany> insAreaCompanies = insAreaCompanyService.getorDerIds();
+////      新的费用订单表
+//        if (insAreaCompanies.size() > 0) {
+//            List<String> collect =
+//                    insAreaCompanies.stream().map(insAreaCompany -> insAreaCompany.getOrderno()).collect(Collectors.toList());
+//            if (!collect.isEmpty()) {
+//                wrapper.in(InsOrders::getOrderno, collect);
+//            }
+//        }
+//
+//        Page<InsOrders> insOrdersPage = page(page, wrapper);
+//
+//        return new BasePageResult<>(orderQueryVo.getPageNum(), page.getSize(), insOrdersPage.getTotal(),
+//                page.getPages(),
+//                insOrdersPage.getRecords());
+//    }
+
     /**
      * 订单信息导出excel
      *

+ 31 - 1
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -128,9 +128,39 @@
             ins_area_company a
                 LEFT JOIN ins_fee_order_new b ON  a.id =b.ins_order_no
         WHERE
-            a.orderstatus = '3'
+            a.orderstatus = '3' or a.orderstatus = '2'
             and  b.id is not  null
     </select>
 
+    <select id="getPendingAuditOrders" resultType="com.ydtech.modules.order.entity.InsOrders">
+        SELECT
+            *
+        FROM
+            ins_orders
+        WHERE
+            orderno IN (
+            SELECT
+                orderno
+            FROM
+                ins_area_company
+            WHERE
+                    id IN ( SELECT ins_order_no FROM ins_fee_order_new WHERE ins_order_no IN ( SELECT id FROM ins_area_company WHERE orderstatus = 2 OR orderstatus = 3 ) UNION SELECT ins_order_no FROM ins_fee_audit )
+        )
+        <if test="params.orderNo != null and params.orderNo != ''">
+            AND orderno = #{params.orderNo}
+        </if>
+        <if test="params.licenseNo != null and params.licenseNo != ''">
+            AND license_no = #{params.licenseNo}
+        </if>
+        <if test="params.frameNo != null and params.frameNo != ''">
+            AND frame_no = #{params.frameNo}
+        </if>
+        <if test="params.insuredname != null and params.insuredname != ''">
+            AND insuredname = #{params.insuredname}
+        </if>
+        <if test="params.startDate != null and params.startDate != ''">
+            BETWEEN createtime = #{params.startDate} and #{params.endDate}
+        </if>
+    </select>
 
 </mapper>