he2802 2 年 前
コミット
3b309bf108

+ 7 - 6
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java

@@ -20,6 +20,7 @@ import com.zhongzheng.modules.top.goods.vo.TopOrderStatisticsVo;
 import com.zhongzheng.modules.top.goods.vo.TopRefundOrderDetailVo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCompanyExportVo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderExportVo;
+import com.zhongzheng.modules.top.order.vo.TopOldOrderSellerExportVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -148,9 +149,9 @@ public class TopOldOrderController extends BaseController {
     @ApiOperation("业务员提成列表导出")
     @PreAuthorize("@ss.hasPermi('system:tp:list')")
     @GetMapping("/sellerListExport")
-    public AjaxResult<List<TopOldOrderCompanyExportVo>> sellerListExport(TopDivideLogQueryBo bo) {
-        List<TopOldOrderCompanyExportVo> list = iTopOldOrderService.tenantListExport(bo);
-        ExcelUtil<TopOldOrderCompanyExportVo> util = new ExcelUtil<TopOldOrderCompanyExportVo>(TopOldOrderCompanyExportVo.class);
+    public AjaxResult<List<TopOldOrderSellerExportVo>> sellerListExport(TopDivideLogQueryBo bo) {
+        List<TopOldOrderSellerExportVo> list = iTopOldOrderService.sellerListExport(bo);
+        ExcelUtil<TopOldOrderSellerExportVo> util = new ExcelUtil<TopOldOrderSellerExportVo>(TopOldOrderSellerExportVo.class);
         return util.exportExcel(list, "机构分成列表");
     }
 
@@ -259,9 +260,9 @@ public class TopOldOrderController extends BaseController {
 
 
     @ApiOperation("订单分成审核详情")
-    @GetMapping("/divide/detail/{orderSn}")
-    public AjaxResult<TopOldOrderVo> divideOrderDetail(@PathVariable("orderSn") String orderSn) {
-        return AjaxResult.success(iTopOldOrderService.divideOrderDetail(orderSn));
+    @GetMapping("/divide/detail")
+    public AjaxResult<TopOldOrderVo> divideOrderDetail(TopOldOrderCheckLogQueryBo bo) {
+        return AjaxResult.success(iTopOldOrderService.divideOrderDetail(bo));
     }
 
     /**

+ 15 - 1
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/schedule/ScheduleController.java

@@ -64,10 +64,24 @@ public class ScheduleController extends BaseController {
         return AjaxResult.success();
     }
 
-    @ApiOperation("应收应付月度账单")
+    @ApiOperation("应收应付机构分成月度账单")
     @GetMapping("/makeDivideMonthBill")
     public AjaxResult makeDivideMonthBill(){
         iScheduleService.makeDivideMonthBill();
         return AjaxResult.success();
     }
+
+    @ApiOperation("应收应付机构佣金月度账单")
+    @GetMapping("/makeDivideBrokerageMonthBill")
+    public AjaxResult makeDivideBrokerageMonthBill(){
+        iScheduleService.makeDivideBrokerageMonthBill();
+        return AjaxResult.success();
+    }
+
+    @ApiOperation("应收应付业务员提成月度账单")
+    @GetMapping("/makeDivideSellerMonthBill")
+    public AjaxResult makeDivideSellerMonthBill(){
+        iScheduleService.makeDivideSellerMonthBill();
+        return AjaxResult.success();
+    }
 }

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java

@@ -1440,14 +1440,14 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
         List<TopCreateUserVo> createList = iTopDivideOrderService.getMonthFinishAllSeller(queryBo);
         //生成月度记录
         for(TopCreateUserVo createNo : createList){
+            int year = cal1.get(Calendar.YEAR);
+            int month = cal1.get(Calendar.MONTH) + 1;
             TopDivideLog divideLog = new TopDivideLog();
             divideLog.setCreateNo(createNo.getCreateNo());
             divideLog.setCreateUsername(createNo.getCreateUsername());
             divideLog.setDivideType(2);
             divideLog.setPayStatus(2);
             divideLog.setMonthTime(cal1.getTimeInMillis()/1000);
-            int year = cal1.get(Calendar.YEAR);
-            int month = cal1.get(Calendar.MONTH) + 1;
             divideLog.setYear(year);
             divideLog.setMonth(month);
             divideLog.setCreateTime(DateUtils.getNowTime());
@@ -1455,6 +1455,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
             //判断账单是否生成
             TopDivideLog nowMonth = iTopDivideLogService.getOne(new LambdaQueryWrapper<TopDivideLog>()
                     .eq(TopDivideLog::getCreateNo,createNo.getCreateNo())
+                    .eq(TopDivideLog::getTenantId,createNo.getTenantId())
                     .eq(TopDivideLog::getDivideType,2)
                     .eq(TopDivideLog::getYear,year)
                     .eq(TopDivideLog::getMonth,month)

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderCheckLogQueryBo.java

@@ -61,7 +61,7 @@ public class TopOldOrderCheckLogQueryBo extends BaseEntity {
 	@ApiModelProperty("顺序")
 	private Integer checkSort;
 	/** 审核来源 1退款 2机构分成应付 3业务员提成 */
-	@ApiModelProperty("审核来源 1退款 2机构分成应付 3业务员提成")
+	@ApiModelProperty("审核来源 1退款 2机构分成应付 3业务员提成 4佣金结算")
 	private Integer checkFrom;
 	/** 订单号 */
 	@ApiModelProperty("订单号")

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderService.java

@@ -14,6 +14,7 @@ import com.zhongzheng.modules.top.order.bo.TopOrderRecNoteAddBo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCompanyExportVo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderExportVo;
 import com.zhongzheng.modules.top.goods.vo.TopRefundOrderDetailVo;
+import com.zhongzheng.modules.top.order.vo.TopOldOrderSellerExportVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -79,7 +80,7 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 
 	TopRefundOrderDetailVo refundOrderDetail(String orderSn);
 
-	TopOldOrderVo divideOrderDetail(String orderSn);
+	TopOldOrderVo divideOrderDetail(TopOldOrderCheckLogQueryBo bo);
 
 	boolean refundOrderCheck(TopRefundOrderCheckBo bo);
 
@@ -92,7 +93,7 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 
 	List<TopOldOrderCompanyExportVo> tenantListExport(TopDivideLogQueryBo bo);
 
-	List<TopOldOrderExportVo> sellerListExport(TopOldOrderQueryBo bo);
+	List<TopOldOrderSellerExportVo> sellerListExport(TopDivideLogQueryBo bo);
 
 
 	TopCostTpVo getOrderCost(String orderSn);

+ 40 - 9
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -65,6 +65,7 @@ import com.zhongzheng.modules.top.order.bo.TopOrderRecNoteAddBo;
 import com.zhongzheng.modules.top.order.domain.TopOrderBankPay;
 import com.zhongzheng.modules.top.order.service.ITopOrderBankPayService;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCompanyExportVo;
+import com.zhongzheng.modules.top.order.vo.TopOldOrderSellerExportVo;
 import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysUserRole;
 import com.zhongzheng.modules.top.user.service.ITopSysConfigService;
@@ -1732,9 +1733,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     }
 
     @Override
-    public TopOldOrderVo divideOrderDetail(String orderSn) {
+    public TopOldOrderVo divideOrderDetail(TopOldOrderCheckLogQueryBo bo) {
         //查询视图 v_top_order
-        TopOldOrderVo orderVo = baseMapper.queryById(orderSn);
+        TopOldOrderVo orderVo = baseMapper.queryById(bo.getOrderSn());
         if (ObjectUtils.isNull(orderVo)) {
             throw new CustomException("订单号错误!");
         }
@@ -2580,6 +2581,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 Integer predictDay = DateUtils.dayBetween(logVos.getPredictPayTime(), DateUtils.getNowTime());
                 exportVo.setPredictPayDay(predictDay);
             }
+            if(logVos.getPayStatus()!=1){
+                exportVo.setWaitDeductMoney(exportVo.getDeductMoney());
+            }
             if(logVos.getPayStatus()==1){
                 exportVo.setCheckStatus("已支付");
                 exportVo.setPayTime(DateUtils.timestampToDate(logVos.getPayTime()));
@@ -2617,14 +2621,41 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     }
 
     @Override
-    public List<TopOldOrderExportVo> sellerListExport(TopOldOrderQueryBo bo) {
-        List<TopOldOrderExportVo> listExport = new ArrayList<>();
-        List<TopOldOrderVo> list = this.baseMapper.queryDivSellerList(bo);
-        for (TopOldOrderVo vo : list) {
-            if (vo.getCreditStatus() == 0 && Validator.isNotEmpty(vo.getPredictReceiveTime())) {
-                Integer predictDay = DateUtils.dayBetween(vo.getPredictReceiveTime(), DateUtils.getNowTime());
-                vo.setPredictReceiveDay(predictDay);
+    public List<TopOldOrderSellerExportVo> sellerListExport(TopDivideLogQueryBo bo) {
+        List<TopOldOrderSellerExportVo> listExport = new ArrayList<>();
+        List<TopDivideLogVo> list = iTopDivideLogService.getSellerList(bo);
+        for (TopDivideLogVo logVos : list) {
+            TopOldOrderSellerExportVo  exportVo = BeanUtil.toBean(logVos, TopOldOrderSellerExportVo.class);
+            if (Validator.isNotEmpty(logVos.getBillDay())) {
+                Calendar cal1 = new GregorianCalendar();
+                cal1.setTimeInMillis(logVos.getMonthTime()* 1000);
+                cal1.add(Calendar.MONTH, 1);
+                cal1.set(Calendar.DAY_OF_MONTH, logVos.getBillDay());
+                exportVo.setPredictPayTime(DateUtils.timestampToDate(cal1.getTimeInMillis()/1000));
+                Integer predictDay = DateUtils.dayBetween(logVos.getPredictPayTime(), DateUtils.getNowTime());
+                exportVo.setPredictPayDay(predictDay);
             }
+            if(logVos.getPayStatus()!=1){
+                exportVo.setWaitDeductMoney(exportVo.getDeductMoney());
+            }
+            if(logVos.getPayStatus()==1){
+                exportVo.setCheckStatus("已支付");
+                exportVo.setPayTime(DateUtils.timestampToDate(logVos.getPayTime()));
+            }
+            else if(logVos.getPayStatus()==0){
+                exportVo.setCheckStatus("待支付");
+            }
+            else if(logVos.getPayStatus()==2){
+                exportVo.setCheckStatus("待审核");
+            }
+            else if(logVos.getPayStatus()==3){
+                exportVo.setCheckStatus("打款中");
+            }
+            else if(logVos.getPayStatus()==4){
+                exportVo.setCheckStatus("打款失败");
+            }
+            exportVo.setTimeStr(logVos.getYear()+"-"+logVos.getMonth());
+            listExport.add(exportVo);
         }
         return listExport;
     }

+ 63 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/vo/TopOldOrderSellerExportVo.java

@@ -0,0 +1,63 @@
+package com.zhongzheng.modules.top.order.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+
+/**
+ * 订单视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2023-04-20
+ */
+@Data
+@ApiModel("订单视图对象")
+public class TopOldOrderSellerExportVo {
+	private static final long serialVersionUID = 1L;
+
+	@Excel(name = "时间")
+	@ApiModelProperty("时间")
+	private String timeStr;
+
+	@Excel(name = "机构名称")
+	@ApiModelProperty("机构名称")
+	private String tenantName;
+	/** 业务员名称 */
+	@Excel(name = "业务员")
+	@ApiModelProperty("业务员名称")
+	private String createUsername;
+	/** 业务号 */
+	@Excel(name = "业务号")
+	@ApiModelProperty("业务号")
+	private String createNo;
+
+	@Excel(name = "已付分成(元)")
+	@ApiModelProperty("已付分成(元)")
+	private BigDecimal payMoney;
+	@Excel(name = "已扣分成(元)")
+	@ApiModelProperty("已扣分成(元)")
+	private BigDecimal deductMoney;
+
+
+	@Excel(name = "待付分成(元)")
+	@ApiModelProperty("待付分成(元)")
+	private BigDecimal waitPayMoney;
+	@Excel(name = "待扣分成(元)")
+	@ApiModelProperty("待扣分成(元)")
+	private BigDecimal waitDeductMoney;
+	@ApiModelProperty("预付时间")
+	private String predictPayTime;
+	@ApiModelProperty("预付款剩余天数")
+	private Integer predictPayDay;
+	@ApiModelProperty("审核状态")
+	private String checkStatus;
+	@ApiModelProperty("支付时间")
+	private String payTime;
+	@ApiModelProperty("备注")
+	private String remark;
+
+}