Explorar el Código

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

FengChaoYu hace 3 meses
padre
commit
737a51e1ee

+ 45 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/settle/SettlementWorkerOrderVO.java

@@ -0,0 +1,45 @@
+package com.gree.mall.manager.bean.settle;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@ApiModel
+@Data
+@ZfireField(tbName = "a")
+public class SettlementWorkerOrderVO {
+
+
+    @ApiModelProperty(value = "网点编号")
+    private String websitId;
+
+    @ApiModelProperty(value = "网点名称")
+    private String websitName;
+
+
+    @ApiModelProperty(value = "工程师编号")
+    private String workerNumber;
+
+    @ApiModelProperty(value = "工程师名称")
+    private String workerName;
+
+    @ApiModelProperty(value = "工程师手机号")
+    private String workerMobile;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+    @ZfireField(tbName = "b",isQuery = false)
+    @ApiModelProperty(value = "数量")
+    private BigDecimal allNum;
+
+    @ZfireField(tbName = "b",isQuery = false)
+    @ApiModelProperty(value = "汇总金额")
+    private BigDecimal allTotalAmount;
+
+
+}

+ 6 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/WebsitSalesRetCMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.settle.SettlementWorkerLogicVO;
+import com.gree.mall.manager.bean.settle.SettlementWorkerOrderVO;
 import com.gree.mall.manager.bean.websit.*;
 import com.gree.mall.manager.bean.worker.SettlementPgOrderVO;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
@@ -49,4 +50,9 @@ public interface WebsitSalesRetCMapper {
             ,@Param("orderBaseIds")List<String> orderBaseIds,
             @Param("value")String value
                                           );
+    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
+    IPage<SettlementWorkerOrderVO> pageV4(Page page,@Param("ex") ZfireParamBean zfireParam,
+                                          @Param("companyWechatIds")List<String> companyWechatIds
+            ,@Param("orderBaseIds")List<String> orderBaseIds,
+                                          @Param("value")String value       );
 }

+ 23 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/websit/SettlementOrderNewController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.gree.mall.manager.annotation.ZfireList;
 import com.gree.mall.manager.bean.settle.SettlementWorkerLogicVO;
+import com.gree.mall.manager.bean.settle.SettlementWorkerOrderVO;
 import com.gree.mall.manager.bean.websit.SettlementOrderDetail;
 import com.gree.mall.manager.bean.websit.SettlementOrderLogicVO;
 import com.gree.mall.manager.bean.websit.WorkerSettlementLineVO;
@@ -143,4 +144,26 @@ public class SettlementOrderNewController {
     }
 
 
+    @ZfireList
+    @PostMapping("/list/pageV4")
+    @ApiOperation(value = "汇总师傅电子支付查询")
+    public ResponseHelper<IPage<SettlementWorkerOrderVO>> pageV4(
+            @RequestBody SettlementZfireParamBean zfireParamBean
+    ) {
+        IPage<SettlementWorkerOrderVO> page = settlementOrderLogic.pageV4(zfireParamBean);
+        return ResponseHelper.success(page, new TypeReference<SettlementWorkerOrderVO>() {});
+    }
+
+    @PostMapping("/pageV4Export")
+    @ApiOperation(value = "汇总师傅电子支付查询导出")
+    public void listpageV4Export(@RequestBody SettlementZfireParamBean zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        //1.组装查询条件
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        //2.查询要导出的内容
+        IPage<SettlementWorkerOrderVO> page = settlementOrderLogic.pageV4(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(page.getRecords(), zfireParam.getExportFields(), request, response);
+    }
+
+
 }

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

@@ -18,6 +18,7 @@ import com.gree.mall.manager.bean.WorkerNormStockBean;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.material.stock.WorkerStockDTO;
 import com.gree.mall.manager.bean.settle.SettlementWorkerLogicVO;
+import com.gree.mall.manager.bean.settle.SettlementWorkerOrderVO;
 import com.gree.mall.manager.bean.websit.SettlementOrderDetail;
 import com.gree.mall.manager.bean.websit.SettlementOrderLogicVO;
 import com.gree.mall.manager.bean.websit.WorkerSettlementLineVO;
@@ -944,6 +945,33 @@ public class SettlementOrderLogic {
         return settlementOrderLogicVOIPage;
     }
 
+    public IPage<SettlementWorkerOrderVO> pageV4(SettlementZfireParamBean zfireParamBean) {
+
+
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        List<String> companyWechatIds = adminUser.getCompanyWechatIds();
+        List<String> websitIds = adminUser.getAdminWebsitIds();
+
+        List<String> orderBaseIds = new ArrayList<>();
+
+        if (!StringUtil.isEmpty(zfireParamBean.getStartTime())) {
+            List<PgOrderBase> pgOrderBaseList = pgOrderBaseService.lambdaQuery()
+                    .between(PgOrderBase::getOverTime, zfireParamBean.getStartTime(), zfireParamBean.getEndTime())
+                    .select(PgOrderBase::getId).list();
+
+            orderBaseIds.addAll(pgOrderBaseList.stream().map(PgOrderBase::getId).collect(Collectors.toList()));
+        }
+
+        //1.组装查询条件
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean, SettlementWorkerLogicVO.class, adminUser);
+        IPage<SettlementWorkerOrderVO> settlementOrderLogicVOIPage = websitSalesRetCMapper.pageV4(new Page(zfireParamBean.getPageNum(),
+                        zfireParamBean.getPageSize()),
+                zfireParam
+                , companyWechatIds,orderBaseIds,zfireParamBean.getValue());
+
+        return settlementOrderLogicVOIPage;
+    }
+
 /*
 
     private void addSettlementOrder(WorkerOrder workerOrder, List<WorkerOrderItem> workerOrderItems) {

+ 46 - 0
mall-server-api/src/main/resources/mapper/WebsitSalesCMapper.xml

@@ -239,4 +239,50 @@
         </if>
         ${ex.orderBy}
     </select>
+    <select id="pageV4" resultType="com.gree.mall.manager.bean.settle.SettlementWorkerOrderVO">
+        select
+        a.websit_id,
+        a.websit_name,
+        a.worker_number,
+        a.worker_name,
+        a.worker_mobile,
+        b.goods_name,
+        SUM(b.total_amount) as all_total_amount,
+        SUM(b.num) as all_num
+        from
+        settlement_order a
+        join settlement_order_item b on a.settlement_order_id = b.settlement_order_id and b.charge_type != 'SERV'
+        ${ex.query}
+
+        <if test="value != null and value !=''">
+            AND  (a.worker_name like concat('%',#{value},'%') or a.worker_mobile like concat('%',#{value},'%')
+            or a.worker_number like concat('%',#{value},'%')
+            )
+        </if>
+
+        <if test="companyWechatIds != null and companyWechatIds.size > 0">
+            AND a.company_wechat_id IN
+            <foreach item="item" index="index" collection="companyWechatIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+
+        <if test="orderBaseIds != null and orderBaseIds.size > 0">
+            AND a.worker_order_id IN
+            <foreach item="item" index="index" collection="orderBaseIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <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>
+        GROUP BY a.websit_id,a.worker_id,b.goods_name
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            order by a.create_time desc
+        </if>
+        ${ex.orderBy}
+    </select>
 </mapper>