he2802 2 years ago
parent
commit
540cc7bbbc

+ 19 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/financial/TopDivideLogController.java

@@ -3,14 +3,19 @@ package com.zhongzheng.controller.financial;
 import java.util.List;
 import java.util.Arrays;
 
+import com.zhongzheng.common.constant.UserConstants;
+import com.zhongzheng.common.utils.SecurityUtils;
+import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogEditBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo;
 import com.zhongzheng.modules.top.financial.service.ITopDivideLogService;
 import com.zhongzheng.modules.top.financial.vo.TopDivideLogVo;
 import com.zhongzheng.modules.top.goods.bo.TopOldOrderEditBo;
+import com.zhongzheng.modules.top.user.vo.TopSysConfigVo;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -82,4 +87,18 @@ public class TopDivideLogController extends BaseController {
         List<TopDivideLogVo> list = iTopDivideLogService.getCommissionList(bo);
         return getDataTable(list);
     }
+
+    @ApiOperation("通过坏账配置详情")
+    @GetMapping(value = "/configKey/badBill")
+    public AjaxResult getBadBill()
+    {
+        return AjaxResult.success("配置内容",iTopDivideLogService.getBadBillConfig());
+    }
+
+    @ApiOperation("修改坏账配置")
+    @PostMapping("/updateBadBill")
+    public AjaxResult editBadBill(@Validated @RequestBody List<SysTenantBadBillConfigBo> bo)
+    {
+        return toAjax(iTopDivideLogService.updateBadBillConfig(bo));
+    }
 }

+ 25 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTenantBadBillConfigBo.java

@@ -0,0 +1,25 @@
+package com.zhongzheng.modules.system.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 系统商户编辑对象 sys_tenant
+ *
+ * @author hjl
+ * @date 2021-08-03
+ */
+@Data
+@ApiModel("系统商户编辑对象")
+public class SysTenantBadBillConfigBo {
+
+    /** 账龄 */
+    @ApiModelProperty("账龄 1(1年以上),2(1-2年),3(2-3年),4(3-4年),5(5年以上)")
+    private Integer yearType;
+
+    @ApiModelProperty("扣押百分比")
+    private Integer detainRate;
+
+}

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/ITopDivideLogService.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.top.financial.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogAddBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogEditBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo;
@@ -61,4 +62,8 @@ public interface ITopDivideLogService extends IService<TopDivideLog> {
 	List<TopDivideLogVo> getSellerList(TopDivideLogQueryBo bo);
 
 	List<TopDivideLogVo> getCommissionList(TopDivideLogQueryBo bo);
+
+	String getBadBillConfig();
+
+	boolean updateBadBillConfig(List<SysTenantBadBillConfigBo> bo);
 }

+ 25 - 31
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/impl/TopDivideLogServiceImpl.java

@@ -3,17 +3,23 @@ package com.zhongzheng.modules.top.financial.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogAddBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogEditBo;
 import com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo;
 import com.zhongzheng.modules.top.financial.domain.TopDivideLog;
 import com.zhongzheng.modules.top.financial.mapper.TopDivideLogMapper;
+import com.zhongzheng.modules.top.financial.service.ITopCostTpItemService;
 import com.zhongzheng.modules.top.financial.service.ITopDivideLogService;
 import com.zhongzheng.modules.top.financial.vo.TopDivideLogVo;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
+import com.zhongzheng.modules.top.user.domain.TopSysConfig;
+import com.zhongzheng.modules.top.user.service.ITopSysConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -34,6 +40,9 @@ import java.util.stream.Collectors;
 @Service
 public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, TopDivideLog> implements ITopDivideLogService {
 
+    @Autowired
+    private ITopSysConfigService topConfigService;
+
     @Override
     public TopDivideLogVo queryById(Long id){
         TopDivideLog db = this.baseMapper.selectById(id);
@@ -112,16 +121,6 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
     @Override
     public List<TopDivideLogVo> getCompanyList(TopDivideLogQueryBo bo) {
         List<TopDivideLogVo> list = baseMapper.getCompanyList(bo);
-        for(TopDivideLogVo vo :list){
-            TopDivideLogQueryBo queryBo = new TopDivideLogQueryBo();
-            queryBo.setTenantId(vo.getTenantId());
-            queryBo.setDivideType(1);
-            queryBo.setRoleId(bo.getRoleId());
-            queryBo.setCheckStatus(bo.getCheckStatus());
-            queryBo.setMonthTime(bo.getMonthTime());
-            List<TopDivideLogVo> monthList = baseMapper.getCheckList(queryBo);
-            vo.setMonthList(monthList);
-        }
         return list;
     }
 
@@ -146,32 +145,27 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
     @Override
     public List<TopDivideLogVo> getSellerList(TopDivideLogQueryBo bo) {
         List<TopDivideLogVo> list = baseMapper.getSellerList(bo);
-        for(TopDivideLogVo vo :list){
-            TopDivideLogQueryBo queryBo = new TopDivideLogQueryBo();
-            queryBo.setTenantId(vo.getTenantId());
-            queryBo.setDivideType(2);
-            queryBo.setRoleId(bo.getRoleId());
-            queryBo.setCheckStatus(bo.getCheckStatus());
-            queryBo.setMonthTime(bo.getMonthTime());
-            List<TopDivideLogVo> monthList = baseMapper.getCheckList(queryBo);
-            vo.setMonthList(monthList);
-        }
         return list;
     }
 
     @Override
     public List<TopDivideLogVo> getCommissionList(TopDivideLogQueryBo bo) {
-        List<TopDivideLogVo> list = baseMapper.getSellerList(bo);
-        for(TopDivideLogVo vo :list){
-            TopDivideLogQueryBo queryBo = new TopDivideLogQueryBo();
-            queryBo.setTenantId(vo.getTenantId());
-            queryBo.setDivideType(3);
-            queryBo.setRoleId(bo.getRoleId());
-            queryBo.setCheckStatus(bo.getCheckStatus());
-            queryBo.setMonthTime(bo.getMonthTime());
-            List<TopDivideLogVo> monthList = baseMapper.getCheckList(queryBo);
-            vo.setMonthList(monthList);
-        }
+        List<TopDivideLogVo> list = baseMapper.getCommissionList(bo);
         return list;
     }
+
+    @Override
+    public String getBadBillConfig() {
+        return topConfigService.selectConfigByKeyNoCache("bad_bill");
+    }
+
+    @Override
+    public boolean updateBadBillConfig(List<SysTenantBadBillConfigBo> bo) {
+        LambdaUpdateWrapper<TopSysConfig> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+        objectLambdaUpdateWrapper.eq(TopSysConfig::getConfigKey, "bad_bill");
+
+        objectLambdaUpdateWrapper.set(TopSysConfig::getConfigValue, JSON.toJSON(bo));
+
+        return topConfigService.update(null, objectLambdaUpdateWrapper);
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopDivideLogVo.java

@@ -104,4 +104,6 @@ public class TopDivideLogVo {
 	@Excel(name = "业务号")
 	@ApiModelProperty("业务号")
 	private String createNo;
+	@ApiModelProperty("账单类型 (1月份 2季度 3半年 4年度)")
+	private Integer billType;
 }

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

@@ -179,7 +179,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
 
     @Autowired
     private ITopOrderBankPayService iTopOrderBankPayService;
-    
+
     @Autowired
     private ITopDivideLogService iTopDivideLogService;
 

+ 8 - 57
zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideLogMapper.xml

@@ -24,41 +24,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="getCompanyList" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo"  resultType="com.zhongzheng.modules.top.financial.vo.TopDivideLogVo">
         SELECT
-            dl.tenant_id,
-            sum(
-                    IF
-                        ( pay_status = 1, dl.pay_money, 0 )) AS pay_money_total,
-            sum(
-                    IF
-                        ( pay_status = 1, dl.deduct_money, 0 )) AS deduct_money_total,
-            st.tenant_name
+            dl.*,
+            st.tenant_name,
+               st.bill_type
         FROM
             top_divide_log dl
                 LEFT JOIN sys_tenant st ON dl.tenant_id = st.tenant_id
-            LEFT JOIN
-            top_old_order_check_log cl ON dl.id = cl.month_divide_id AND  cl.check_sign = 1
+
         WHERE
             dl.divide_type = 1
         <if test="tenantId != null and tenantId != ''">
             AND dl.tenant_id = #{tenantId}
         </if>
-        <if test="roleId != null and roleId != ''">
-            AND cl.role_id = #{roleId}
-        </if>
-        <if test="checkStatus != null and checkStatus != ''">
-            AND cl.check_status in
-            <foreach collection="checkStatus" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
         <if test="monthTime != null and monthTime != ''">
             AND dl.month_time in
             <foreach collection="monthTime" item="item" index="index" open="(" close=")" separator=",">
                 #{item}
             </foreach>
         </if>
-        GROUP BY
-            dl.tenant_id
     </select>
 
 
@@ -127,70 +110,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="getSellerList" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo"  resultType="com.zhongzheng.modules.top.financial.vo.TopDivideLogVo">
         SELECT
-        dl.tenant_id,
-        dl.create_no,dl.create_username,
-        sum(
-        IF
-        ( pay_status = 1, dl.pay_money, 0 )) AS pay_money_total,
-        sum(
-        IF
-        ( pay_status = 1, dl.deduct_money, 0 )) AS deduct_money_total,
+        dl.*,
         st.tenant_name
         FROM
         top_divide_log dl
         LEFT JOIN sys_tenant st ON dl.tenant_id = st.tenant_id
-        LEFT JOIN
-        top_old_order_check_log cl ON dl.id = cl.month_divide_id AND  cl.check_sign = 1
         WHERE
         dl.divide_type = 2
         <if test="tenantId != null and tenantId != ''">
             AND dl.tenant_id = #{tenantId}
         </if>
-        <if test="roleId != null and roleId != ''">
-            AND cl.role_id = #{roleId}
-        </if>
-        <if test="checkStatus != null and checkStatus != ''">
-            AND cl.check_status in
-            <foreach collection="checkStatus" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
         <if test="monthTime != null and monthTime != ''">
             AND dl.month_time in
             <foreach collection="monthTime" item="item" index="index" open="(" close=")" separator=",">
                 #{item}
             </foreach>
         </if>
-        GROUP BY
-        dl.tenant_id,dl.create_no,dl.create_username
     </select>
 
     <select id="getCommissionList" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideLogQueryBo"  resultType="com.zhongzheng.modules.top.financial.vo.TopDivideLogVo">
         SELECT
-        dl.tenant_id,
-        sum(
-        IF
-        ( pay_status = 1, dl.pay_money, 0 )) AS pay_money_total,
+        dl.*,
         st.tenant_name
         FROM
         top_divide_log dl
         LEFT JOIN sys_tenant st ON dl.tenant_id = st.tenant_id
-        LEFT JOIN
-        top_old_order_check_log cl ON dl.id = cl.month_divide_id AND  cl.check_sign = 1
         WHERE
         dl.divide_type = 3
         <if test="tenantId != null and tenantId != ''">
             AND dl.tenant_id = #{tenantId}
         </if>
-        <if test="roleId != null and roleId != ''">
-            AND cl.role_id = #{roleId}
-        </if>
-        <if test="checkStatus != null and checkStatus != ''">
-            AND cl.check_status in
-            <foreach collection="checkStatus" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
         <if test="monthTime != null and monthTime != ''">
             AND dl.month_time in
             <foreach collection="monthTime" item="item" index="index" open="(" close=")" separator=",">
@@ -200,4 +149,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         GROUP BY
         dl.tenant_id
     </select>
+
+
 </mapper>