Kaynağa Gözat

Merge branch 'develop'

FengChaoYu 4 ay önce
ebeveyn
işleme
7970ec1797
18 değiştirilmiş dosya ile 366 ekleme ve 77 silme
  1. 5 1
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/apply/WorkerInvolveApplyVO.java
  2. 1 1
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/apply/WorkerApplyController.java
  3. 22 6
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/apply/WorkerApplyLogic.java
  4. 2 1
      mall-miniapp-service/src/main/resources/mapper/workorder/OrderBaseCMapper.xml
  5. 28 0
      mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerApplyCount.java
  6. 43 5
      mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolveApplyVO.java
  7. 1 1
      mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolvePrincipalVO.java
  8. 19 0
      mall-server-api/src/main/java/com/gree/mall/manager/bean/order/PgOrderBaseDetail.java
  9. 12 0
      mall-server-api/src/main/java/com/gree/mall/manager/controller/apply/WorkerInvolveController.java
  10. 21 3
      mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/ESOrderBaseController.java
  11. 11 0
      mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/OrderBaseController.java
  12. 27 0
      mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerInvolveChargeEnum.java
  13. 67 5
      mall-server-api/src/main/java/com/gree/mall/manager/logic/apply/WorkerInvolveLogic.java
  14. 11 1
      mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/SettlementOrderLogic.java
  15. 93 53
      mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java
  16. 1 0
      mall-server-api/src/main/resources/bootstrap-dev.properties
  17. 1 0
      mall-server-api/src/main/resources/bootstrap-prd.properties
  18. 1 0
      mall-server-api/src/main/resources/bootstrap-test.properties

+ 5 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/apply/WorkerInvolveApplyVO.java

@@ -1,5 +1,6 @@
 package com.gree.mall.miniapp.bean.apply;
 
+import com.gree.mall.miniapp.plus.entity.WorkerInvolveApply;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -8,7 +9,7 @@ import java.math.BigDecimal;
 
 @ApiModel
 @Data
-public class WorkerInvolveApplyVO {
+public class WorkerInvolveApplyVO  {
 
     @ApiModelProperty(value = "工单编号")
     private String orderBaseId;
@@ -26,6 +27,9 @@ public class WorkerInvolveApplyVO {
     @ApiModelProperty(value = "申请费用")
     private BigDecimal maintenancePricePass;
 
+    @ApiModelProperty(value = "1 待网点审核 2驳回重申 3待中心审核 4驳回禁止申诉 5通过审核 ")
+    private Integer status;
+
 
     @ApiModelProperty(value = "省")
     private String province;

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/apply/WorkerApplyController.java

@@ -65,7 +65,7 @@ public class WorkerApplyController {
     @PostMapping("/list")
     public ResponseHelper<IPage<WorkerInvolveApplyVO>> list(
             @ApiParam(required = true, value = "1 待网点审核 2驳回重申 3待中心审核 4驳回禁止申诉 5通过审核 ") @RequestParam(required = true) List<String> status,
-            @ApiParam(required = true, value = "查询") @RequestParam(required = true) String value,
+            @ApiParam(required = false, value = "查询") @RequestParam(required = false) String value,
             @ApiParam(required = true, value = "页大小") @RequestParam(required = true) Integer pageSize,
             @ApiParam(required = true, value = "页数") @RequestParam(required = true) Integer pageNum,
             HttpServletRequest request

+ 22 - 6
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/apply/WorkerApplyLogic.java

@@ -11,12 +11,8 @@ import com.gree.mall.miniapp.bean.user.CurrentCompanyWechat;
 import com.gree.mall.miniapp.commonmapper.workorder.OrderBaseCMapper;
 import com.gree.mall.miniapp.exception.RemoteServiceException;
 import com.gree.mall.miniapp.logic.common.CommonLogic;
-import com.gree.mall.miniapp.plus.entity.PgOrderBase;
-import com.gree.mall.miniapp.plus.entity.WorkerInvolveApply;
-import com.gree.mall.miniapp.plus.entity.WorkerInvolveApplyItem;
-import com.gree.mall.miniapp.plus.service.PgOrderBaseService;
-import com.gree.mall.miniapp.plus.service.WorkerInvolveApplyItemService;
-import com.gree.mall.miniapp.plus.service.WorkerInvolveApplyService;
+import com.gree.mall.miniapp.plus.entity.*;
+import com.gree.mall.miniapp.plus.service.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -33,9 +29,28 @@ public class WorkerApplyLogic {
     private final PgOrderBaseService pgOrderBaseService;
     private final OrderBaseCMapper orderBaseCMapper;
     private final CommonLogic commonLogic;
+    private final WorkerInvolvePrincipalService workerInvolvePrincipalService;
+    private final WorkerInvolvePrincipalItemService workerInvolvePrincipalItemService;
 
     public void add(WorkerInvolveApply workerInvolveApply) {
+        CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
+        PgOrderBase pgOrderBase = pgOrderBaseService.getById(workerInvolveApply.getOrderBaseId());
+        workerInvolveApply.setWebsitId(pgOrderBase.getWebsitId());
+        workerInvolveApply.setWebsitName(pgOrderBase.getWebsitName());
 
+        WorkerInvolvePrincipalItem workerInvolvePrincipalItem = workerInvolvePrincipalItemService.lambdaQuery().eq(WorkerInvolvePrincipalItem::getWebsitId, workerInvolveApply.getWebsitId())
+                .last("limit 1").one();
+        if (workerInvolvePrincipalItem != null){
+            WorkerInvolvePrincipal workerInvolvePrincipal = workerInvolvePrincipalService.getById(workerInvolvePrincipalItem.getPrincipalId());
+            workerInvolveApply.setAuditPrincipal(workerInvolvePrincipal.getPrincipal());
+
+        }
+        workerInvolveApply.setUserId(currentCompanyWechat.getUserId());
+        workerInvolveApply.setApplyWorkerName(currentCompanyWechat.getUser().getNickName());
+        workerInvolveApply.setApplyWorkerNumber(currentCompanyWechat.getUser().getWorkerNumber());
+        workerInvolveApply.setApplyWorkerPhone(currentCompanyWechat.getUser().getMobile());
+        workerInvolveApply.setCompanyWechatId(currentCompanyWechat.getCompanyWechatId());
+        workerInvolveApply.setCompanyWechatName(currentCompanyWechat.getCompanyName());
         workerInvolveApply.insert();
 
     }
@@ -56,6 +71,7 @@ public class WorkerApplyLogic {
             throw new RemoteServiceException("无法重新申请");
 
 
+        workerInvolveApply.setStatus(1);
         workerInvolveApply.updateById();
     }
 

+ 2 - 1
mall-miniapp-service/src/main/resources/mapper/workorder/OrderBaseCMapper.xml

@@ -49,6 +49,7 @@
         SELECT
 	    a.order_base_id,
 	    a.maintenance_price_pass,
+	    a.status,
 	    b.link_name,
 	    b.user_mobile,
 	    a.create_time,
@@ -76,7 +77,7 @@
         </if>
 
         <if test="value != null and value !=''">
-            and (b.user_name like concat('%',#{value},'%') or a.order_base_id like concat('%',#{value},'%') or a.address like concat('%',#{address},'%'))
+            and (b.user_name like concat('%',#{value},'%') or a.order_base_id like concat('%',#{value},'%') or b.address like concat('%',#{value},'%'))
         </if>
     </select>
 

+ 28 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerApplyCount.java

@@ -0,0 +1,28 @@
+package com.gree.mall.manager.bean.apply;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel
+@Data
+public class WorkerApplyCount {
+
+    @ApiModelProperty(value = "待网点审批")
+    private Integer dwdsp;
+
+
+    @ApiModelProperty(value = "待中心审批")
+    private Integer dzxsp;
+
+    @ApiModelProperty(value = "中心审批通过")
+    private Integer zxsptg;
+
+
+    @ApiModelProperty(value = "驳回可重审")
+    private Integer bhcs;
+
+
+    @ApiModelProperty(value = "驳回不可重审")
+    private Integer bhbkcx;
+}

+ 43 - 5
mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolveApplyVO.java

@@ -3,7 +3,9 @@ package com.gree.mall.manager.bean.apply;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.WorkerInvolveChargeEnum;
 import com.gree.mall.manager.enums.WorkerInvolveEnum;
+import com.gree.mall.manager.plus.entity.WorkerInvolveApply;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,18 +16,21 @@ import java.util.Date;
 @ApiModel
 @Data
 @ZfireField(tbName = "a")
-public class WorkerInvolveApplyVO    {
+public class WorkerInvolveApplyVO{
 
     @ApiModelProperty(value = "状态")
     private WorkerInvolveEnum status;
 
-    @ApiModelProperty(value = "工单id")
+    @ApiModelProperty(value = "工单")
     private String orderBaseId;
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "工单类型")
+    private String orderSmallTypeText;
 
-
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "联系人")
     private String linkName;
-
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "客户电话")
     private String userMobile;
 
@@ -60,7 +65,7 @@ public class WorkerInvolveApplyVO    {
 
 
     @ApiModelProperty(value = "网点编号")
-    private String websitNumber;
+    private String websitId;
 
     @ApiModelProperty(value = "网点名称")
     private String websitName;
@@ -92,4 +97,37 @@ public class WorkerInvolveApplyVO    {
 
     @ApiModelProperty(value = "申请理由")
     private String reason;
+
+
+
+    @ApiModelProperty(value = "申请费用")
+    private BigDecimal websitMaintenancePricePass;
+
+    @ApiModelProperty(value = "网点审批时间")
+    private Date websitAuditTime;
+
+    @ApiModelProperty(value = "网点审批人")
+    private String websitPrincipal;
+
+    @ApiModelProperty(value = "网点审批备注")
+    private String websitRemark;
+
+    @ApiModelProperty(value = "是否向客户收费")
+    private WorkerInvolveChargeEnum websitCustomerCharges;
+
+
+    @ApiModelProperty(value = "中心审批负责人")
+    private String auditPrincipal;
+
+    @ApiModelProperty(value = "审批费用")
+    private BigDecimal maintenancePricePass;
+
+    @ApiModelProperty(value = "中心审核时间")
+    private Date auditTime;
+
+    @ApiModelProperty(value = "中心审批人")
+    private String principal;
+
+    @ApiModelProperty(value = "中心审批备注")
+    private String remark;
 }

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolvePrincipalVO.java

@@ -18,7 +18,7 @@ public class WorkerInvolvePrincipalVO   {
 
     @ZfireField(hide = true)
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private String id;
 
     @ApiModelProperty(value = "审核负责人")
     private String principal;

+ 19 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/order/PgOrderBaseDetail.java

@@ -0,0 +1,19 @@
+package com.gree.mall.manager.bean.order;
+
+import com.gree.mall.manager.bean.websit.SettlementOrderDetail;
+import com.gree.mall.manager.plus.entity.PgOrderBase;
+import com.gree.mall.manager.plus.entity.PgOrderOperatorLog;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PgOrderBaseDetail extends PgOrderBase {
+
+    @ApiModelProperty("操作日志")
+    private List<PgOrderOperatorLog> pgOrderOperatorLogs;
+
+    @ApiModelProperty("辅材明细")
+    private List<SettlementOrderDetail> settlementOrderDetails;
+}

+ 12 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/apply/WorkerInvolveController.java

@@ -5,6 +5,7 @@ package com.gree.mall.manager.controller.apply;
 import cn.hutool.core.lang.TypeReference;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.apply.WorkerApplyCount;
 import com.gree.mall.manager.bean.apply.WorkerInvolveApplyBean;
 import com.gree.mall.manager.bean.apply.WorkerInvolveApplyDetail;
 import com.gree.mall.manager.bean.apply.WorkerInvolveApplyVO;
@@ -38,6 +39,17 @@ public class WorkerInvolveController {
     WorkerInvolveLogic workerInvolveLogic;
 
 
+    @ApiOperation("统计数量")
+    @PostMapping("/count")
+    public ResponseHelper<WorkerApplyCount> count(
+
+    ){
+        WorkerApplyCount workerApplyCount = workerInvolveLogic.count();
+        return ResponseHelper.success(workerApplyCount);
+    }
+
+
+
 
     @ZfireList
     @PostMapping("/list")

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

@@ -76,15 +76,33 @@ public class ESOrderBaseController {
 
     @PostMapping("/list/export")
     @ApiOperation(value = "导出")
-    public void listExport(@RequestBody WorkOrderZfireParam zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    public synchronized void listExport(@RequestBody WorkOrderZfireParam zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
         //1.组装查询条件
         ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
         //2.查询要导出的内容
         zfireParamBean.setPageNum(1);
-        zfireParamBean.setPageSize(30000);
+        zfireParamBean.setPageSize(20000);
         IPage<OrderBaseVO> orderBaseVOIPage = orderBaseEsLogic.orderBaseEsList(zfireParamBean);
+        List<OrderBaseVO> records = orderBaseVOIPage.getRecords();
+        if (records.size() == 20000){
+            zfireParamBean.setPageNum(2);
+            zfireParamBean.setPageSize(20000);
+            IPage<OrderBaseVO> orderBaseVOIPage2 = orderBaseEsLogic.orderBaseEsList(zfireParamBean);
+
+            records.addAll(orderBaseVOIPage2.getRecords());
+
+        }
+
+        if (records.size() == 40000){
+            zfireParamBean.setPageNum(3);
+            zfireParamBean.setPageSize(20000);
+            IPage<OrderBaseVO> orderBaseVOIPage3 = orderBaseEsLogic.orderBaseEsList(zfireParamBean);
+
+            records.addAll(orderBaseVOIPage3.getRecords());
+
+        }
         //3.导出
-        FieldUtils.exportData(orderBaseVOIPage.getRecords(), zfireParam.getExportFields(), request, response);
+        FieldUtils.exportData(records, zfireParam.getExportFields(), request, response);
     }
 
     @PostMapping("/status/count")

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

@@ -9,6 +9,7 @@ import com.gree.mall.manager.bean.admin.AdminUserCom;
 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.OrderBaseVO;
+import com.gree.mall.manager.bean.order.PgOrderBaseDetail;
 import com.gree.mall.manager.bean.workorder.OrderAddBean2DTO;
 import com.gree.mall.manager.bean.workorder.OrderAddBeanDTO;
 import com.gree.mall.manager.bean.workorder.OrderSettleDetailBean;
@@ -123,6 +124,16 @@ public class OrderBaseController {
     }
 
 
+
+    @ApiNotAuth
+    @PostMapping("/orderDetailJsm")
+    @ApiOperation(value = "保存工单jsm")
+    public ResponseHelper<List<PgOrderBaseDetail>> orderDetailJsm(@RequestParam(required = false) String saleOrderId){
+        List<PgOrderBaseDetail> orderBaseId = orderBaseLogic.orderDetailJsm(saleOrderId);
+        return ResponseHelper.success(orderBaseId);
+    }
+
+
     @PostMapping("/update")
     @ApiOperation(value = "修改工单")
     public ResponseHelper update(@Valid @RequestBody PgOrderBase pgOrderBase){

+ 27 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerInvolveChargeEnum.java

@@ -0,0 +1,27 @@
+package com.gree.mall.manager.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.baomidou.mybatisplus.annotation.IEnum;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum WorkerInvolveChargeEnum implements BaseEnum, IEnum<Integer> {
+    ZERO("1","是"),
+    ONE("2","否");
+
+    @EnumValue
+    @JsonValue
+    private final String key;
+    private final String remark;
+
+    @Override
+    public Integer getValue() {
+        return Integer.parseInt(key);
+    }
+
+}

+ 67 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/apply/WorkerInvolveLogic.java

@@ -1,6 +1,7 @@
 package com.gree.mall.manager.logic.apply;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.activity.PromotionActivityBatchBean;
@@ -18,6 +19,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 @Slf4j
@@ -56,16 +58,22 @@ public class WorkerInvolveLogic {
 
     public void add(WorkerInvolvePrincipalDetail bean) {
 
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+
         if (workerInvolvePrincipalService.lambdaQuery().eq(WorkerInvolvePrincipal::getPrincipal,bean.getId())
         .count() > 0)
             throw new RemoteServiceException("存在相同审批人名称");
 
+        bean.setCompanyWechatId(adminUser.getCompanyWechatId());
+        bean.setCompanyWechatName(adminUser.getCompanyName());
         bean.insert();
 
         for (WorkerInvolvePrincipalItem workerInvolvePrincipalItem : bean.getWorkerInvolvePrincipalItems()) {
             workerInvolvePrincipalItem.setPrincipalId(bean.getId());
         }
 
+
+
         workerInvolvePrincipalItemService.saveBatch(bean.getWorkerInvolvePrincipalItems());
     }
 
@@ -125,26 +133,80 @@ public class WorkerInvolveLogic {
     }
 
     public void websitAppeal(WorkerInvolveApplyBean workerInvolveApplyBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
 
         workerInvolveApplyBean.setStatus(workerInvolveApplyBean.getWorkerInvolveApplyItem().getWebsitStatus());
 
-        workerInvolveApplyBean.updateById();
-
+        workerInvolveApplyBean.getWorkerInvolveApplyItem().setInvolveApplyId(workerInvolveApplyBean.getId());
+        workerInvolveApplyBean.getWorkerInvolveApplyItem().setWebsitPrincipal(adminUser.getNickName());
+        workerInvolveApplyBean.getWorkerInvolveApplyItem().setWebsitAuditTime(new Date());
         workerInvolveApplyBean.getWorkerInvolveApplyItem().insert();
+
+        workerInvolveApplyBean.setWebsitMaintenancePricePass(workerInvolveApplyBean.getWorkerInvolveApplyItem().getWebsitMaintenancePricePass());
+        workerInvolveApplyBean.setWebsitAuditTime(workerInvolveApplyBean.getWorkerInvolveApplyItem().getWebsitAuditTime());
+        workerInvolveApplyBean.setWebsitPrincipal(workerInvolveApplyBean.getWorkerInvolveApplyItem().getWebsitPrincipal());
+        workerInvolveApplyBean.setWebsitRemark(workerInvolveApplyBean.getWorkerInvolveApplyItem().getWebsitRemark());
+        workerInvolveApplyBean.setWebsitCustomerCharges(workerInvolveApplyBean.getWorkerInvolveApplyItem().getWebsitCustomerCharges());
+        workerInvolveApplyBean.updateById();
     }
 
     public void appeal(WorkerInvolveApplyItem workerInvolveApplyItem) {
-
-        if (!workerInvolveApplyItem.getWebsitStatus().equals(5))
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        if (!workerInvolveApplyItem.getWebsitStatus().equals(3))
             throw new RemoteServiceException("网点未审批通过");
 
 
         WorkerInvolveApply workerInvolveApply = workerInvolveApplyService.getById(workerInvolveApplyItem.getInvolveApplyId());
 
         workerInvolveApply.setStatus(workerInvolveApplyItem.getStatus());
-
+        workerInvolveApply.setPrincipal(adminUser.getNickName());
+        workerInvolveApply.setRemark(workerInvolveApplyItem.getRemark());
+        workerInvolveApply.setMaintenancePricePass(workerInvolveApplyItem.getMaintenancePricePass());
+        workerInvolveApply.setAuditTime(new Date());
         workerInvolveApply.updateById();
 
+
+        workerInvolveApplyItem.setPrincipal(adminUser.getNickName());
+        workerInvolveApplyItem.setRemark(workerInvolveApplyItem.getRemark());
+        workerInvolveApplyItem.setMaintenancePricePass(workerInvolveApplyItem.getMaintenancePricePass());
+        workerInvolveApplyItem.setAuditTime(new Date());
         workerInvolveApplyItem.updateById();
+
+
+    }
+
+
+    public WorkerApplyCount count() {
+
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+
+        Integer dwdsp = workerInvolveApplyService.lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(adminUser.getAdminWebsitIds()),WorkerInvolveApply::getWebsitId, adminUser.getAdminWebsitIds())
+                .in(WorkerInvolveApply::getStatus, 1).count();
+
+        Integer dzxsp = workerInvolveApplyService.lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(adminUser.getAdminWebsitIds()),WorkerInvolveApply::getWebsitId, adminUser.getAdminWebsitIds())
+                .in(WorkerInvolveApply::getStatus, 3).count();
+
+        Integer tgsp = workerInvolveApplyService.lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(adminUser.getAdminWebsitIds()),WorkerInvolveApply::getWebsitId, adminUser.getAdminWebsitIds())
+                .in(WorkerInvolveApply::getStatus,  5).count();
+
+        Integer bhcs = workerInvolveApplyService.lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(adminUser.getAdminWebsitIds()),WorkerInvolveApply::getWebsitId, adminUser.getAdminWebsitIds())
+                .in(WorkerInvolveApply::getStatus,  2).count();
+
+        Integer bhbkcs = workerInvolveApplyService.lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(adminUser.getAdminWebsitIds()),WorkerInvolveApply::getWebsitId, adminUser.getAdminWebsitIds())
+                .in(WorkerInvolveApply::getStatus,  4).count();
+
+        WorkerApplyCount workerApplyCount = new WorkerApplyCount();
+        workerApplyCount.setDwdsp(dwdsp);
+        workerApplyCount.setDzxsp(dzxsp);
+        workerApplyCount.setZxsptg(tgsp);
+        workerApplyCount.setBhcs(bhcs);
+        workerApplyCount.setBhbkcx(bhbkcs);
+        return workerApplyCount;
+
     }
 }

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

@@ -406,9 +406,19 @@ public class SettlementOrderLogic {
 
         workerOrders.addAll(workerOrderService.lambdaQuery()
                 .eq(WorkerOrder::getPayState, IsYesNoEnum.YES.getKey())
-                .le(WorkerOrder::getPayStateTime, DateUtil.offsetMinute(new Date(),-20))
+                .le(WorkerOrder::getPayStateTime, DateUtil.offsetMinute(new Date(),-10))
                 .ne(WorkerOrder::getPayStatus, PayStatusEnum.PAID.getKey())
                 .le(WorkerOrder::getPayNum, 11)
+                .gt(WorkerOrder::getPayNum, 10)
+                .list());
+
+
+        workerOrders.addAll(workerOrderService.lambdaQuery()
+                .eq(WorkerOrder::getPayState, IsYesNoEnum.YES.getKey())
+                .le(WorkerOrder::getPayStateTime, DateUtil.offsetMinute(new Date(),-20))
+                .ne(WorkerOrder::getPayStatus, PayStatusEnum.PAID.getKey())
+                .gt(WorkerOrder::getPayNum, 11)
+                .le(WorkerOrder::getPayNum, 12)
                 .list());
 
         for (WorkerOrder workerOrder : workerOrders) {

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

@@ -16,6 +16,8 @@ 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;
 import com.gree.mall.manager.bean.listvo.workorder.OrderBaseVO;
+import com.gree.mall.manager.bean.order.PgOrderBaseDetail;
+import com.gree.mall.manager.bean.websit.SettlementOrderDetail;
 import com.gree.mall.manager.bean.workorder.OrderAddBean2DTO;
 import com.gree.mall.manager.bean.workorder.OrderAddBeanDTO;
 import com.gree.mall.manager.commonmapper.CommonMapper;
@@ -101,6 +103,9 @@ public class OrderBaseLogic {
     private final PgAppraiseConfigService pgAppraiseConfigService;
     private final ElasticsearchRestTemplate elasticsearchRestTemplate;
     private final WebsitDispatchService websitDispatchService;
+    private final PgOrderOperatorLogService pgOrderOperatorLogService;
+    private final SettlementOrderService settlementOrderService;
+    private final SettlementOrderItemService settlementOrderItemService;
 
     /**
      * 工单列表
@@ -127,7 +132,7 @@ public class OrderBaseLogic {
 
         List<String> orderBaseId = new ArrayList<>();
 
-        if (zfireParamBean.getIsWait() != null && zfireParamBean.getIsWait()){
+        if (zfireParamBean.getIsWait() != null && zfireParamBean.getIsWait()) {
             List<String> collect = workerOrderService.lambdaQuery()
                     .eq(WorkerOrder::getPayStatus, "WAIT")
                     .ne(WorkerOrder::getWorkerOrderId, "").select(WorkerOrder::getWorkerOrderId)
@@ -147,7 +152,7 @@ public class OrderBaseLogic {
         zfireParamBean.setAdminWebsitIds(zfireParamBean.getAdminWebsitIds());
 
         IPage<OrderBaseVO> page = commonMapper.orderBaseList(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()),
-                zfireParamBean, adminUser.getType(),adminUser.getType().equals(1)?adminUser.getCompanyWechatId():null,orderBaseId);
+                zfireParamBean, adminUser.getType(), adminUser.getType().equals(1) ? adminUser.getCompanyWechatId() : null, orderBaseId);
 
         //服务单标识
         if (zfireParamBean.getPageSize() != -1 && page.getTotal() > 0) {
@@ -258,10 +263,10 @@ public class OrderBaseLogic {
      *
      * @return
      */
-    public List<Map<String, Object>> countStatus(String startTime,String endTime,String orderSmallType, String orderSmallTypeText) {
+    public List<Map<String, Object>> countStatus(String startTime, String endTime, String orderSmallType, String orderSmallTypeText) {
         AdminUserCom adminUser = commonLogic.getAdminUser();
         List<Map<String, Object>> maps = orderBaseCMapper.countOrderStatus(adminUser.getCompanyWechatId(), adminUser.getAdminWebsitIds(),
-                adminUser.getType(), orderSmallType, orderSmallTypeText,startTime,endTime);
+                adminUser.getType(), orderSmallType, orderSmallTypeText, startTime, endTime);
 
         BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
 
@@ -286,18 +291,19 @@ public class OrderBaseLogic {
                     .withQuery(queryBuilder)
                     .withPageable(PageRequest.of(1, 1))
                     .addAggregation(this.getAggs(AggregationBuilders.filter("DZF", QueryBuilders.boolQuery()
-                            .must(QueryBuilders.termsQuery("id",orderBaseId))
+                            .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");
+            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")
@@ -354,8 +360,8 @@ public class OrderBaseLogic {
         orderBase.setIsQd(orderAddBeanDTO.getIsQd());
         orderBase.setIsQdNotice(true);
         orderBase.setId(orderBaseId);
-        orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null?old.getIsImportExcel():false);
-        orderBase.setIsMeet(orderBase.getIsImportExcel()?orderAddBeanDTO.getIsMeet():true);
+        orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null ? old.getIsImportExcel() : false);
+        orderBase.setIsMeet(orderBase.getIsImportExcel() ? orderAddBeanDTO.getIsMeet() : true);
 
 
         //是否变更了师傅
@@ -411,7 +417,7 @@ public class OrderBaseLogic {
         orderBase.insertOrUpdate();
 
 
-        orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()),OrderFlagEnum.ORDER);
+        orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()), OrderFlagEnum.ORDER);
 
         //日志记录
         if (addFlag) {
@@ -1400,7 +1406,7 @@ public class OrderBaseLogic {
         orderLogLogic.addLog(pgOrderBase.getId(), "创建工单", "创建工单-家盛茂商城api", websitName);
         //派工网点
         if (StringUtils.isNotBlank(pgOrderBase.getWebsitId())) {
-            orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" +(pgOrderBase.getWebsitId())+ pgOrderBase.getWebsitName() + "】", websitName);
+            orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" + (pgOrderBase.getWebsitId()) + pgOrderBase.getWebsitName() + "】", websitName);
         }
         //派工给师傅
         if (StringUtils.isNotBlank(pgOrderBase.getWorkerId())) {
@@ -1418,9 +1424,10 @@ public class OrderBaseLogic {
             String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
 
             String s2 = StringUtils.isNotBlank(pgOrderBase.getAppointmentRemark()) ? "备注:" + pgOrderBase.getAppointmentRemark() : "";
-            orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime())+" "+format+"-"+format1 + " "  + "," + s2, websitName);
+            orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime()) + " " + format + "-" + format1 + " " + "," + s2, websitName);
         }
     }
+
     /**
      * 生成过程反馈
      *
@@ -1432,7 +1439,7 @@ public class OrderBaseLogic {
         orderLogLogic.addLog(pgOrderBase.getId(), "创建工单", "创建工单-自建工单", websitName);
         //派工网点
         if (StringUtils.isNotBlank(pgOrderBase.getWebsitId())) {
-            orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" +(pgOrderBase.getWebsitId())+ pgOrderBase.getWebsitName() + "】", websitName);
+            orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" + (pgOrderBase.getWebsitId()) + pgOrderBase.getWebsitName() + "】", websitName);
         }
         //派工给师傅
         if (StringUtils.isNotBlank(pgOrderBase.getWorkerId())) {
@@ -1450,13 +1457,13 @@ public class OrderBaseLogic {
             String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
 
             String s2 = StringUtils.isNotBlank(pgOrderBase.getAppointmentRemark()) ? "备注:" + pgOrderBase.getAppointmentRemark() : "";
-            orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime())+" "+format+"-"+format1 + " "  + "," + s2, websitName);
+            orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime()) + " " + format + "-" + format1 + " " + "," + s2, websitName);
         }
     }
 
     public Region getRegion(String province, String city, String area, String street) {
         Region one = regionService.lambdaQuery()
-                .like(Region::getProvinceName,province).eq(Region::getCityName,city).eq(Region::getAreaName,area).eq(Region::getName,street).last("limit 1").one();
+                .like(Region::getProvinceName, province).eq(Region::getCityName, city).eq(Region::getAreaName, area).eq(Region::getName, street).last("limit 1").one();
         return one;
     }
 
@@ -1877,7 +1884,6 @@ public class OrderBaseLogic {
         PgOrderBase pgOrderBase = pgOrderBaseService.getById(orderBaseId);
 
 
-
         ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
         itfGreeSynDownloadRec.setSynReqTime(new Date());
         itfGreeSynDownloadRec.setGreeStatSynStatus(0);
@@ -1921,8 +1927,8 @@ public class OrderBaseLogic {
         orderBase.setIsQd(orderAddBeanDTO.getIsQd());
         orderBase.setIsQdNotice(true);
         orderBase.setId(orderBaseId);
-        orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null?old.getIsImportExcel():false);
-        orderBase.setIsMeet(orderBase.getIsImportExcel()?orderAddBeanDTO.getIsMeet():true);
+        orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null ? old.getIsImportExcel() : false);
+        orderBase.setIsMeet(orderBase.getIsImportExcel() ? orderAddBeanDTO.getIsMeet() : true);
 
 
         //是否变更了师傅
@@ -1978,7 +1984,7 @@ public class OrderBaseLogic {
         orderBase.insertOrUpdate();
 
 
-        orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()),OrderFlagEnum.ORDER);
+        orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()), OrderFlagEnum.ORDER);
 
         //日志记录
         if (addFlag) {
@@ -2137,48 +2143,48 @@ public class OrderBaseLogic {
         OrderBaseStatusEnum orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
         AdminWebsit adminWebsit = null;
         //网点
+
         if (StringUtils.isNotBlank(orderAddBeanDTO.getWebsitId())) {
             adminWebsit = adminWebsitService.getById(orderAddBeanDTO.getWebsitId());
+        }
+        if (adminWebsit == null) {
 
+            WebsitDispatch websitDispatch = websitDispatchService.lambdaQuery()
+                    .eq(WebsitDispatch::getStreetCode, pgOrderBase.getStreetId())
+                    .eq(WebsitDispatch::getSaleTypeId, pgOrderBase.getSaleType())
+                    .eq(WebsitDispatch::getCategoryId, orderAddBeanDTO.getOrderProducts().get(0).getMainId())
+                    .eq(WebsitDispatch::getOrderSmallId, orderAddBeanDTO.getOrderSmallType())
+                    .last("limit 1").one();
 
-            if (adminWebsit == null) {
-
-                WebsitDispatch websitDispatch = websitDispatchService.lambdaQuery()
-                        .eq(WebsitDispatch::getStreetCode, pgOrderBase.getStreetId())
-                        .eq(WebsitDispatch::getSaleTypeId, pgOrderBase.getSaleType())
-                        .eq(WebsitDispatch::getCategoryId, orderAddBeanDTO.getOrderProducts().get(0).getMainId())
-                        .eq(WebsitDispatch::getOrderSmallId, pgOrderBase.getOrderSmallType())
-                        .last("limit 1").one();
-
-                if (websitDispatch != null) {
-
-                    adminWebsit = adminWebsitService.getById(websitDispatch.getWebsitId());
-                }
+            if (websitDispatch != null) {
 
+                adminWebsit = adminWebsitService.getById(websitDispatch.getWebsitId());
             }
-            if (adminWebsit == null) {
+
+        }
+        if (adminWebsit == null) {
+            orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
+        } else {
+            if (adminWebsit.getType().equals(AdminWebsitTypeEnum.B.getKey())) {
                 orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
-            }else {
-                if (adminWebsit.getType().equals(AdminWebsitTypeEnum.B.getKey())) {
-                    orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
-                }
-                if (adminWebsit.getType().equals(AdminWebsitTypeEnum.C.getKey())
-                        && (orderBaseStatusEnum == OrderBaseStatusEnum.DSHPG || orderBaseStatusEnum == OrderBaseStatusEnum.DWDPG || orderBaseStatusEnum == OrderBaseStatusEnum.DQD)) {
-                    orderBaseStatusEnum = OrderBaseStatusEnum.DWDPG;
-                    if (pgOrderBase.getIsQd() != null && pgOrderBase.getIsQd()) {
-                        orderBaseStatusEnum = OrderBaseStatusEnum.DQD;
-                    }
-                }
-                pgOrderBase.setWebsitId(adminWebsit.getWebsitId());
-                pgOrderBase.setWebsitName(adminWebsit.getName());
-                pgOrderBase.setWebsitPhone(adminWebsit.getWebsitPhone());
-                //只记录第一次
-                if (pgOrderBase.getDispatchWebsitTime() == null) {
-                    pgOrderBase.setDispatchWebsitTime(new Date());
+            }
+            if (adminWebsit.getType().equals(AdminWebsitTypeEnum.C.getKey())
+                    && (orderBaseStatusEnum == OrderBaseStatusEnum.DSHPG || orderBaseStatusEnum == OrderBaseStatusEnum.DWDPG || orderBaseStatusEnum == OrderBaseStatusEnum.DQD)) {
+                orderBaseStatusEnum = OrderBaseStatusEnum.DWDPG;
+                if (pgOrderBase.getIsQd() != null && pgOrderBase.getIsQd()) {
+                    orderBaseStatusEnum = OrderBaseStatusEnum.DQD;
                 }
             }
-
+            pgOrderBase.setWebsitId(adminWebsit.getWebsitId());
+            pgOrderBase.setWebsitName(adminWebsit.getName());
+            pgOrderBase.setWebsitPhone(adminWebsit.getWebsitPhone());
+            //只记录第一次
+            if (pgOrderBase.getDispatchWebsitTime() == null) {
+                pgOrderBase.setDispatchWebsitTime(new Date());
+            }
         }
+
+
         //师傅
         String workerIdsStr = "";
         if (CollectionUtils.isNotEmpty(orderAddBeanDTO.getOrderWorkers())) {
@@ -2271,10 +2277,10 @@ public class OrderBaseLogic {
 
         PgOrderBase pgOrderBase = pgOrderBaseService.getById(orderBaseId);
         if (pgOrderBase == null) {
-           return;
+            return;
         }
         if (OrderBaseStatusEnum.isOver().contains(pgOrderBase.getOrderStatus())) {
-           return;
+            return;
         }
         pgOrderBase.setOrderStatus(OrderBaseStatusEnum.YQX.getKey());
         pgOrderBase.setOrderStatusText(OrderBaseStatusEnum.YQX.getRemark());
@@ -2282,4 +2288,38 @@ public class OrderBaseLogic {
 
         orderLogLogic.addLog(orderBaseId, "取消工单", "取消工单-家盛茂商城api", "");
     }
+
+    public List<PgOrderBaseDetail> orderDetailJsm(String saleOrderId) {
+        List<PgOrderBase> pgOrderBases = pgOrderBaseService.lambdaQuery().eq(PgOrderBase::getSaleOrderId, saleOrderId)
+                .list();
+
+        List<PgOrderBaseDetail>  pgOrderBaseDetails = new ArrayList<>();
+
+        for (PgOrderBase pgOrderBase : pgOrderBases) {
+            PgOrderBaseDetail pgOrderBaseDetail = BeanUtil.toBean(pgOrderBase, PgOrderBaseDetail.class);
+
+            List<PgOrderOperatorLog> pgOrderOperatorLogs = pgOrderOperatorLogService.lambdaQuery().eq(PgOrderOperatorLog::getOrderBaseId, pgOrderBase.getId()).list();
+
+            List<SettlementOrder> settlementOrderList = settlementOrderService.lambdaQuery().eq(SettlementOrder::getWorkerOrderId, pgOrderBase.getId()).list();
+
+            List<SettlementOrderDetail> settlementOrderDetails = new ArrayList<>();
+            for (SettlementOrder settlementOrder : settlementOrderList) {
+                SettlementOrderDetail settlementOrderDetail = BeanUtil.toBean(settlementOrder, SettlementOrderDetail.class);
+
+                List<SettlementOrderItem> settlementOrderItems = settlementOrderItemService.lambdaQuery().eq(SettlementOrderItem::getSettlementOrderId, settlementOrder.getSettlementOrderId())
+                        .list();
+
+                settlementOrderDetail.setSettlementOrderItemList(settlementOrderItems);
+
+                settlementOrderDetails.add(settlementOrderDetail);
+            }
+            pgOrderBaseDetail.setPgOrderOperatorLogs(pgOrderOperatorLogs);
+            pgOrderBaseDetail.setSettlementOrderDetails(settlementOrderDetails);
+
+            pgOrderBaseDetails.add(pgOrderBaseDetail);
+
+        }
+
+        return pgOrderBaseDetails;
+    }
 }

+ 1 - 0
mall-server-api/src/main/resources/bootstrap-dev.properties

@@ -102,6 +102,7 @@ spring.elasticsearch.rest.username=elastic
 spring.elasticsearch.rest.password=zfire2022@
 spring.elasticsearch.rest.connection-timeout=5s
 spring.elasticsearch.rest.read-timeout=30s
+spring.data.elasticsearch.client.reactive.max-in-memory-size=500MB
 
 #spring.elasticsearch.rest.uris=http://es-cn-i7m27kcyd002c3v8f.public.elasticsearch.aliyuncs.com:9200
 #spring.elasticsearch.rest.username=elastic

+ 1 - 0
mall-server-api/src/main/resources/bootstrap-prd.properties

@@ -95,6 +95,7 @@ spring.elasticsearch.rest.username=elastic
 spring.elasticsearch.rest.password=zongjUzongjU2021_
 spring.elasticsearch.rest.connection-timeout=5s
 spring.elasticsearch.rest.read-timeout=30s
+spring.data.elasticsearch.client.reactive.max-in-memory-size=500MB
 
 
 management.health.elasticsearch.enabled=false

+ 1 - 0
mall-server-api/src/main/resources/bootstrap-test.properties

@@ -87,6 +87,7 @@ spring.elasticsearch.rest.username=elastic
 spring.elasticsearch.rest.password=zfire2022@
 spring.elasticsearch.rest.connection-timeout=5s
 spring.elasticsearch.rest.read-timeout=30s
+spring.data.elasticsearch.client.reactive.max-in-memory-size=500MB
 
 #cmc bank request setting
 cmc.bank.url=http://cdctest.cmburl.cn:80/cdcserver/api/v2