Browse Source

Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java
FengChaoYu 4 months ago
parent
commit
ea35ea1efa
15 changed files with 326 additions and 40 deletions
  1. 9 0
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/workorder/ChangeOrderController.java
  2. 16 0
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/ChangeOrderLogic.java
  3. 59 0
      mall-server-api/src/main/java/com/gree/mall/manager/bean/workorder/WorkerNumberCheckVO.java
  4. 2 0
      mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/CommonMapper.java
  5. 37 0
      mall-server-api/src/main/java/com/gree/mall/manager/controller/member/WorkerManagerController.java
  6. 7 0
      mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/ESOrderBaseController.java
  7. 7 6
      mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/PolicyOrderLogic.java
  8. 60 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java
  9. 3 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/SettlementOrderLogic.java
  10. 20 3
      mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseCountLogic.java
  11. 6 9
      mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseEsLogic.java
  12. 65 5
      mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java
  13. 20 0
      mall-server-api/src/main/resources/mapper/CommonMapper.xml
  14. 15 17
      mall-server-api/src/main/resources/mapper/WebsitSalesCMapper.xml
  15. BIN
      mall-server-api/src/main/resources/template/4.0工程师导入模板.xlsx

+ 9 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/workorder/ChangeOrderController.java

@@ -173,4 +173,13 @@ public class ChangeOrderController {
         return ResponseHelper.success(workerOrderDetail);
     }
 
+
+    @PostMapping("/dow")
+    @ApiOperation(value = "4.0总部下载")
+    public ResponseHelper dow(@ApiParam(value = "工单号id", required = true) @RequestParam String orderBaseId
+    ){
+        changeOrderLogic.dow(orderBaseId);
+        return ResponseHelper.success();
+    }
+
 }

+ 16 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/ChangeOrderLogic.java

@@ -671,4 +671,20 @@ public class ChangeOrderLogic {
                 .eq(WebsitSales::getProjectNo, id)
                 .update();
     }
+
+    public void dow(String orderBaseId) {
+
+        PgOrderBase pgOrderBase = pgOrderBaseService.getById(orderBaseId);
+
+
+
+        ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
+        itfGreeSynDownloadRec.setSynReqTime(new Date());
+        itfGreeSynDownloadRec.setGreeStatSynStatus(0);
+        itfGreeSynDownloadRec.setSalesWebsitNumber(pgOrderBase.getSalesWebsitNumber());
+
+        itfGreeSynDownloadRec.setWorkOrderId(pgOrderBase.getId());
+        itfGreeSynDownloadRec.setUpdatedTimestamp(new Date());
+        itfGreeSynDownloadRec.insert();
+    }
 }

+ 59 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/workorder/WorkerNumberCheckVO.java

@@ -0,0 +1,59 @@
+package com.gree.mall.manager.bean.workorder;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.plus.entity.AdminWebsit;
+import com.gree.mall.manager.plus.entity.WorkerNumberCheck;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ZfireField(tbName = "a")
+public class WorkerNumberCheckVO     {
+
+    @ZfireField(hide = true)
+    @TableId(value = "id", type = IdType.ID_WORKER_STR)
+    private String id;
+
+    @ApiModelProperty(value = "所属公司")
+    @ZfireField(tbName = "b")
+    private String belongCompany;
+
+    @ApiModelProperty(value = "所属公司编号")
+    @ZfireField(tbName = "b")
+    private String belongCompanyCode;
+
+    @ApiModelProperty(value = "网点编号")
+    private String websitId;
+
+    @ApiModelProperty(value = "网点名称")
+    private String websitName;
+
+    @ApiModelProperty(value = "联系人名称")
+    @ZfireField(tbName = "b")
+    private String linkName;
+
+    @ApiModelProperty(value = "联系电话")
+    @ZfireField(tbName = "b")
+    private String linkMobile;
+
+    @ApiModelProperty(value = "师傅名称")
+    private String workerName;
+
+    @ApiModelProperty(value = "云售后4.0手机号")
+    private String workerPhoneYun;
+
+    @ApiModelProperty(value = "师傅电话")
+    @ZfireField(tbName = "c",colName = "mobile")
+    private String mobile;
+
+    @ApiModelProperty(value = "云售后4.0编号")
+    private String workerNumberYun;
+
+    @ApiModelProperty(value = "广佛家用系统师傅编号")
+    @ZfireField(tbName = "c",colName = "worker_number")
+    private String workerNumber;
+}

+ 2 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/CommonMapper.java

@@ -743,4 +743,6 @@ public interface CommonMapper {
     IPage<PgAppraiseCategoryVO> appraiseCategoryList(Page page, @Param("ex") ZfireParamBean zfireParamBean);
 
     IPage<PgAppraiseApplyVO> appraiseApplyList(Page page, @Param("ex") ZfireParamBean zfireParamBean);
+
+    IPage<WorkerNumberCheckVO> workerManagerCheck(Page page,@Param("ex") WorkerParamBean zfireParamBean);
 }

+ 37 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/member/WorkerManagerController.java

@@ -15,6 +15,7 @@ import com.gree.mall.manager.bean.policy.WorkerManagerDetail;
 import com.gree.mall.manager.bean.policy.WorkerUserCount;
 import com.gree.mall.manager.bean.user.UserApplyWorkerBean;
 import com.gree.mall.manager.bean.user.UserWxBean;
+import com.gree.mall.manager.bean.workorder.WorkerNumberCheckVO;
 import com.gree.mall.manager.enums.ExamineStatusEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.helper.ResponseHelper;
@@ -191,4 +192,40 @@ public class WorkerManagerController {
     }
 
 
+
+    @ZfireList
+    @PostMapping("/list/workerManagerCheck")
+    @ApiOperation(value = "师傅编号查询-v2")
+    public ResponseHelper<Page<WorkerNumberCheckVO>> workerManagerCheck(
+            @RequestBody WorkerParamBean zfireParamBean
+    ) throws RemoteServiceException {
+        IPage<WorkerNumberCheckVO> page = workerManagerLogic.workerManagerCheck(zfireParamBean);
+        return ResponseHelper.success(page, new TypeReference<WorkerNumberCheckVO>() {
+        });
+    }
+
+    @PostMapping("/list/workerManagerCheck/export")
+    @ApiOperation(value = "师傅编号查询-导出-v2")
+    public void workerManagerCheckExel(
+            @RequestBody WorkerParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        //2.查询要导出的内容
+        IPage<WorkerNumberCheckVO> page = workerManagerLogic.workerManagerCheck(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(page.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+
+
+    @PostMapping("/list/workerManagerCheck/import")
+    @ApiOperation(value = "师傅编号查询模板导入")
+    public ResponseHelper wait2Del(
+            @RequestParam MultipartFile file
+    ) throws RemoteServiceException, IOException {
+        List<Object> objects = ExcelUtils.importExcel(file);
+        workerManagerLogic.importData(objects);
+        return ResponseHelper.success();
+    }
+
 }

+ 7 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/ESOrderBaseController.java

@@ -107,4 +107,11 @@ public class ESOrderBaseController {
         return ResponseHelper.success();
     }
 
+    @ApiNotAuth
+    @PostMapping("del")
+    public ResponseHelper del() throws IllegalAccessException {
+        orderBaseEsLogic.del();
+        return ResponseHelper.success();
+    }
+
 }

+ 7 - 6
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/PolicyOrderLogic.java

@@ -258,7 +258,7 @@ public class PolicyOrderLogic {
                 policyOrderup.setId(IdWorker.getIdStr());
                 policyOrderup.setPolicyId(policyOrderup.getId());
                 policyOrderup.setPolicyNumber(policyOrderup.getId());
-                policyOrderup.setPolicyName("工伤险");
+                policyOrderup.setPolicyName((String)row.get(7));
 
                 policyOrderup.setType("IN");
 
@@ -302,8 +302,9 @@ public class PolicyOrderLogic {
                     policyOrderup.setPolicyOrderStatus("DSX");
                 }
 
-                if (policyOrderService.lambdaQuery().lt(PolicyOrder::getStartTime,policyOrderup.getEndTime())
-                .gt(PolicyOrder::getEndTime,policyOrderup.getStartTime())
+                log.info("打印保险导入1");
+                if (policyOrderService.lambdaQuery().le(PolicyOrder::getStartTime,policyOrderup.getEndTime())
+                .ge(PolicyOrder::getEndTime,policyOrderup.getStartTime())
                         .eq(PolicyOrder::getType,"IN")
                         .ne(PolicyOrder::getPolicyOrderStatus,"YSX")
                         .eq(PolicyOrder::getWebsitUserId,policyOrderup.getWebsitUserId()).count() > 0){
@@ -337,9 +338,9 @@ public class PolicyOrderLogic {
                     workerPolicy.setStatus("DSX");
                 }
                 workerPolicy.insert();
-
-                if (workerPolicyService.lambdaQuery().lt(WorkerPolicy::getStartTime,policyOrderup.getEndTime())
-                        .gt(WorkerPolicy::getEndTime,policyOrderup.getStartTime())
+                log.info("打印保险导入2");
+                if (workerPolicyService.lambdaQuery().le(WorkerPolicy::getStartTime,policyOrderup.getEndTime())
+                        .ge(WorkerPolicy::getEndTime,policyOrderup.getStartTime())
                         .eq(WorkerPolicy::getPolicyType,"IN")
                         .ne(WorkerPolicy::getStatus,"YSX")
                         .eq(WorkerPolicy::getWebsitUserId,policyOrderup.getWebsitUserId()).count() > 0){

+ 60 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java

@@ -4,11 +4,16 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.db.sql.Order;
 import com.alibaba.druid.support.spring.stat.annotation.Stat;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.listvo.workorder.OrderBaseVO;
 import com.gree.mall.manager.bean.policy.WorkerManagerBean;
 import com.gree.mall.manager.bean.policy.WorkerManagerDetail;
 import com.gree.mall.manager.bean.policy.WorkerUserCount;
+import com.gree.mall.manager.bean.workorder.WorkerNumberCheckVO;
+import com.gree.mall.manager.commonmapper.CommonMapper;
 import com.gree.mall.manager.enums.*;
 import com.gree.mall.manager.enums.workorder.OrderBaseStatusEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
@@ -16,6 +21,8 @@ import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.utils.StringUtil;
+import com.gree.mall.manager.zfire.bean.WorkerParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,6 +32,7 @@ import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.ZoneId;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -60,6 +68,12 @@ public class WorkerManagerLogic {
     @Autowired
     SysDictCompanyService sysDictCompanyService;
 
+    @Autowired
+    CommonMapper commonMapper;
+
+    @Autowired
+    WorkerNumberCheckService workerNumberCheckService;
+
 
 
     public void stop(String id) {
@@ -993,4 +1007,50 @@ public class WorkerManagerLogic {
         return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
     }
 
+    public IPage<WorkerNumberCheckVO> workerManagerCheck(WorkerParamBean zfireParamBean) {
+
+        FieldUtils.supplyParam(zfireParamBean, WorkerNumberCheckVO.class, commonLogic.getAdminUser());
+        zfireParamBean.setAdminWebsitIds(zfireParamBean.getAdminWebsitIds());
+
+        IPage<WorkerNumberCheckVO> page = commonMapper.workerManagerCheck(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()),
+                zfireParamBean);
+
+        return page;
+
+    }
+
+    public void importData(List<Object> datas) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        int index = 0;
+        List<WorkerNumberCheck> workerNumberChecks =new ArrayList<>();
+        for (Object o : datas) {
+            index++;
+            String errPrefix = "第" + index + "行";
+            List<Object> row = (List<Object>) o;
+
+
+            WorkerNumberCheck workerNumberCheck = new WorkerNumberCheck();
+
+            workerNumberCheck.setCompanyWechatId(adminUser.getCompanyWechatId());
+            workerNumberCheck.setCompanyWechatName(adminUser.getCompanyName());
+            workerNumberCheck.setWebsitId((String)row.get(0));
+            workerNumberCheck.setWebsitName((String)row.get(1));
+            workerNumberCheck.setWorkerNumberYun((String)row.get(2));
+            workerNumberCheck.setWorkerName((String)row.get(3));
+            workerNumberCheck.setWorkerPhoneYun((String)row.get(4));
+
+            WorkerNumberCheck workerNumberCheckUp = workerNumberCheckService.lambdaQuery().eq(WorkerNumberCheck::getWorkerNumberYun, workerNumberCheck.getWorkerNumberYun())
+                    .last("limit 1").one();
+
+            if (workerNumberCheckUp != null){
+                workerNumberCheck.setId(workerNumberCheckUp.getId());
+            }
+
+            workerNumberChecks.add(workerNumberCheck);
+
+
+        }
+
+        workerNumberCheckService.saveOrUpdateBatch(workerNumberChecks);
+    }
 }

+ 3 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/SettlementOrderLogic.java

@@ -840,6 +840,9 @@ public class SettlementOrderLogic {
             if (CollectionUtils.isEmpty(orderBaseIdWorker))
                 continue;
 
+            record.setZgds(pgOrderBaseList.size());
+            record.setSbzts(pgOrderBaseList.stream().mapToInt(PgOrderBase::getTotalNum).sum());
+
             List<WorkerOrder> workerOrderList = workerOrders.stream().filter(
                     item -> item.getWorkerNumber().equals(record.getWorkerNumber())
                             && item.getWebsitId().equals(record.getWebsitId())

+ 20 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseCountLogic.java

@@ -54,6 +54,23 @@ public class OrderBaseCountLogic {
         List<Integer> wgdList = new ArrayList<>();
         List<Integer> jxzList = new ArrayList<>();
         List<Integer> qtsmList = new ArrayList<>();
+
+        List<String> orderStatus = new ArrayList<>();
+
+        orderStatus.add("YWG");
+        orderStatus.add("GCSZX");
+        orderStatus.add("WDWG");
+        orderStatus.add("YWGO");
+        orderStatus.add("YJS");
+        orderStatus.add("LRCD");
+
+        List<String> orderStatusQx = new ArrayList<>();
+        orderStatusQx.add("YQX");
+        orderStatusQx.add("FWZT");
+        orderStatusQx.add("YCGB");
+        orderStatusQx.add("FWQX");
+        orderStatusQx.add("FL");
+
         for (int i = 6; i >= 0; i--) {
             Integer day = i*-1;
             int xzgd = pgOrderBaseList.stream().filter(item -> item.getCreateTime().before(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), (day)))) &&
@@ -62,14 +79,14 @@ public class OrderBaseCountLogic {
             xzgdList.add(xzgd);
             int wgd = pgOrderBaseList.stream().filter(item -> item.getCreateTime().before(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), (day)))) &&
                     item.getCreateTime().after(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), (day))))
-                    && (item.getOrderStatus().equals(OrderBaseStatusEnum.YWG.getKey()) || item.getOrderStatus().equals(OrderBaseStatusEnum.YJS.getKey()))
+                    && orderStatus.contains(item.getOrderStatus())
 
             ).collect(Collectors.toList()).size();
             wgdList.add(wgd);
             int jxz = pgOrderBaseList.stream().filter(item -> item.getCreateTime().before(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), (day)))) &&
                     item.getCreateTime().after(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), (day))))
-                    && !(item.getOrderStatus().equals(OrderBaseStatusEnum.YWG.getKey()) || item.getOrderStatus().equals(OrderBaseStatusEnum.YJS.getKey())
-                    || item.getOrderStatus().equals(OrderBaseStatusEnum.YQX.getKey()))
+                    && !orderStatus.contains(item.getOrderStatus())
+                    && !orderStatusQx.contains(item.getOrderStatus())
             ).collect(Collectors.toList()).size();
             jxzList.add(jxz);
 

+ 6 - 9
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseEsLogic.java

@@ -317,14 +317,14 @@ public class OrderBaseEsLogic {
 
       // orderBaseEsRepository.saveAll(orderBaseEsDates);
 
-        boolean a = elasticsearchRestTemplate.indexOps(SettlementOrderEs.class).delete();
+ /*       boolean a = elasticsearchRestTemplate.indexOps(SettlementOrderEs.class).delete();
         IndexOperations indexOperations1 = elasticsearchRestTemplate.indexOps(SettlementOrderEs.class);
         if (!indexOperations1.exists()) {
             indexOperations1.create();
             Document document = indexOperations1.createMapping();
             indexOperations1.putMapping(document);
         }
-
+*/
     }
 
     public List<Map<String, Object>> countStatus(String startTime, String endTime, String orderSmallType, String orderSmallTypeText) {
@@ -574,7 +574,7 @@ public class OrderBaseEsLogic {
             NativeSearchQuery searchQueryDZF = new NativeSearchQueryBuilder()
                     .withQuery(queryBuilder)
                     .withPageable(PageRequest.of(1, 1))
-                    .addAggregation(this.getAggs(AggregationBuilders.filter("DJD", QueryBuilders.boolQuery()
+                    .addAggregation(this.getAggs(AggregationBuilders.filter("DZF", QueryBuilders.boolQuery()
                             .must(QueryBuilders.termsQuery("id",orderBaseId))
                     )))
                     .build();
@@ -584,12 +584,6 @@ public class OrderBaseEsLogic {
 
             maps.add(DZF);
 
-        }else {
-
-            DZF.put("total",this.getWorkerOrderCountResult(responsePJYQX.getAggregations(),"DZF"));
-            DZF.put("orderStatus","DZF");
-
-            maps.add(DZF);
         }
 
         return maps;
@@ -631,4 +625,7 @@ public class OrderBaseEsLogic {
 
         settlementOrderEsRepository.saveAll(orderBaseEsDates);
     }
+
+    public void del() {
+    }
 }

+ 65 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.common.RegionBean;
+import com.gree.mall.manager.bean.es.OrderBaseEs;
 import com.gree.mall.manager.bean.listvo.param.WorkOrderZfireParam;
 import com.gree.mall.manager.bean.listvo.workorder.OrderBase2VO;
 import com.gree.mall.manager.bean.listvo.workorder.OrderBaseAppraiseVO;
@@ -40,6 +41,19 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.elasticsearch.index.query.BoolQueryBuilder;
+import org.elasticsearch.index.query.QueryBuilder;
+import org.elasticsearch.index.query.QueryBuilders;
+import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
+import org.elasticsearch.search.aggregations.AggregationBuilders;
+import org.elasticsearch.search.aggregations.Aggregations;
+import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder;
+import org.elasticsearch.search.aggregations.bucket.filter.ParsedFilter;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
+import org.springframework.data.elasticsearch.core.SearchHits;
+import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
+import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -85,6 +99,7 @@ public class OrderBaseLogic {
     private final NoticeRecordService noticeRecordService;
     private final LeaseOrderService leaseOrderService;
     private final PgAppraiseApplyService pgAppraiseApplyService;
+    private final ElasticsearchRestTemplate elasticsearchRestTemplate;
 
     /**
      * 工单列表
@@ -219,9 +234,59 @@ public class OrderBaseLogic {
         AdminUserCom adminUser = commonLogic.getAdminUser();
         List<Map<String, Object>> maps = orderBaseCMapper.countOrderStatus(adminUser.getCompanyWechatId(), adminUser.getAdminWebsitIds(),
                 adminUser.getType(), orderSmallType, orderSmallTypeText,startTime,endTime);
+
+        BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
+
+        if (CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
+            List<QueryBuilder> should = queryBuilder.should();
+            if (adminUser.getType().equals(1)) {
+                should.add(QueryBuilders.termsQuery("company_wechat_id", adminUser.getCompanyWechatId()));
+            }
+            should.add(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()));
+            should.add(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()));
+        }
+
+        List<String> orderBaseId = new ArrayList<>();
+
+        HashMap<String, Object> DZF = new HashMap<>();
+        List<String> collect = workerOrderService.lambdaQuery()
+                .eq(WorkerOrder::getPayStatus, "WAIT")
+                .ne(WorkerOrder::getWorkerOrderId, "").select(WorkerOrder::getWorkerOrderId)
+                .list().stream().map(WorkerOrder::getWorkerOrderId).collect(Collectors.toList());
+        if (!CollectionUtils.isEmpty(collect)) {
+
+            orderBaseId.addAll(collect);
+            //待支付
+            NativeSearchQuery searchQueryDZF = new NativeSearchQueryBuilder()
+                    .withQuery(queryBuilder)
+                    .withPageable(PageRequest.of(1, 1))
+                    .addAggregation(this.getAggs(AggregationBuilders.filter("DZF", QueryBuilders.boolQuery()
+                            .must(QueryBuilders.termsQuery("id",orderBaseId))
+                    )))
+                    .build();
+            SearchHits responseDZF = elasticsearchRestTemplate.search(searchQueryDZF, OrderBaseEs.class);
+            DZF.put("total",this.getWorkerOrderCountResult(responseDZF.getAggregations(),"DZF"));
+            DZF.put("orderStatus","DZF");
+
+            maps.add(DZF);
+
+        }
         return maps;
     }
+    public AbstractAggregationBuilder<?> getAggs(FilterAggregationBuilder filter) {
+        return filter.subAggregation(AggregationBuilders.sum("total_mac_sum").field("total_num"))
+                .subAggregation(AggregationBuilders.terms("order_type_group").field("order_type")
+                        .subAggregation(AggregationBuilders.sum("mac_sum").field("total_num")));
+    }
 
+    private long getWorkerOrderCountResult(Aggregations aggregations, String name) {
+        StringBuffer sb = new StringBuffer();
+        ParsedFilter parsedFilter = aggregations.get(name);
+        //总服务单数
+        long totalOrderNums = parsedFilter.getDocCount();
+
+        return totalOrderNums;
+    }
 
     /**
      * 保存工单
@@ -1765,10 +1830,5 @@ public class OrderBaseLogic {
         itfGreeSynDownloadRec.insert();
     }
 
-    public IPage<OrderBaseVO> orderEsBaseList(WorkOrderZfireParam workOrderZfireParam) {
-
 
-
-        return new Page<>();
-    }
 }

+ 20 - 0
mall-server-api/src/main/resources/mapper/CommonMapper.xml

@@ -1603,6 +1603,26 @@
         </if>
         ${ex.orderBy}
     </select>
+    <select id="workerManagerCheck" resultType="com.gree.mall.manager.bean.workorder.WorkerNumberCheckVO">
+        SELECT
+        ${ex.selected}
+        FROM
+        worker_number_check a
+        LEFT JOIN admin_websit b on a.websit_id = b.websit_id
+        LEFT JOIN `user` c on c.nick_name = a.worker_name and RIGHT(c.mobile,4) = RIGHT(a.worker_phone_yun,4)
+        LEFT JOIN websit_user d on d.websit_id = a.websit_id and d.user_id = c.user_id
+        ${ex.query}
+        <if test="ex.adminWebsitIds != null and ex.adminWebsitIds.size > 0">
+            AND a.websit_id IN
+            <foreach item="item" index="index" collection="ex.adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
 
 
 </mapper>

+ 15 - 17
mall-server-api/src/main/resources/mapper/WebsitSalesCMapper.xml

@@ -174,27 +174,25 @@
 
     <select id="pgOrderList" resultType="com.gree.mall.manager.bean.worker.SettlementPgOrderVO">
         SELECT
-        	d.belong_company,
-        	d.belong_company_code,
-        	d.websit_id,
-        	d.`name` as websit_name,
-        	d.link_name,
-        	d.link_mobile,
-        	a.worker_name,
-        	a.worker_number,
-        	a.worker_mobile,
-        	b.order_small_type_text,
-        	COUNT(b.id) as zgds,
-        	SUM(b.total_num) as sbzts
+        d.belong_company,
+        d.belong_company_code,
+        d.websit_id,
+        d.`name` as websit_name,
+        d.link_name,
+        d.link_mobile,
+        b.worker_name,
+        b.worker_number,
+        b.worker_mobile,
+        a.order_small_type_text
         FROM
-          pg_order_worker a
-        	JOIN admin_websit d on  a.websit_id = d.websit_id
-          JOIN pg_order_base b ON a.order_base_id = b.id and a.is_master = true   and b.order_status in ("YWG","GCSZX","WDWG","YWGO","YJS","LRCD")
-          LEFT JOIN settlement_order c ON a.worker_number = c.worker_number
+        pg_order_worker b
+        JOIN admin_websit d on  b.websit_id = d.websit_id
+        JOIN pg_order_base a ON b.order_base_id = a.id and b.is_master = true   and a.order_status in ("YWG","GCSZX","WDWG","YWGO","YJS","LRCD")
+        ${ex.query}
         <if test="overTime != null and overTime !=''">
             AND a.create_time between  #{overTime} and #{overEndTime}
         </if>
         GROUP BY
-          a.worker_number,b.order_small_type,a.websit_id
+          b.worker_number,a.order_small_type,b.websit_id
     </select>
 </mapper>

BIN
mall-server-api/src/main/resources/template/4.0工程师导入模板.xlsx