Răsfoiți Sursa

1. 添加账户余额查询统计

785834757 10 luni în urmă
părinte
comite
fa14ea1e32

+ 7 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java

@@ -51,6 +51,13 @@ public class SysUserAccountController extends BaseController {
         return HttpResult.ok("success", result);
     }
 
+    @PostMapping("/querySum")
+    @ApiOperation(value = "用户账户统计")
+    public HttpResult<SysUserAccount> querySum(@RequestBody SysUserAccountVo sysUserAccountVo) {
+        SysUserAccount result = sysUserAccountService.querySum(sysUserAccountVo);
+        return HttpResult.ok("success", result);
+    }
+
 
     @PostMapping("/insert")
     @ApiOperation("提交")

+ 2 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserAccountMapper.java

@@ -22,6 +22,8 @@ public interface SysUserAccountMapper extends BaseMapper<SysUserAccount> {
 
     Page<SysUserAccount> queryPageOrder1(@Param("page") Page page,@Param("sysUserAccountVo") SysUserAccountVo sysUserAccountVo);
 
+    List<SysUserAccount> querySum(@Param("sysUserAccountVo") SysUserAccountVo sysUserAccountVo);
+
     SysUserAccount getById(String userId);
     /**
      *  @version

+ 2 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserAccountService.java

@@ -26,6 +26,8 @@ public interface SysUserAccountService extends IService<SysUserAccount> {
 
     BasePageResult<SysUserAccount> queryByVo1(SysUserAccountVo sysUserAccountVo);
 
+    SysUserAccount querySum(SysUserAccountVo sysUserAccountVo);
+
     HttpResult<Object> inert(SysUserAccountVo sysUserAccountVo);
 
     HttpResult withdraw(SysUserAccountVo sysUserAccountVo);

+ 39 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -294,6 +294,45 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
                 sysUserAccountHistoryPage.getRecords());
     }
 
+    @Override
+    public SysUserAccount querySum(SysUserAccountVo sysUserAccountVo){
+        List<SysUserAccount> records = baseMapper.querySum(sysUserAccountVo);
+        SysUserAccount sumAccount = new SysUserAccount();
+        List<String> userIds = new ArrayList<>();
+        List<String> dxUserIds = new ArrayList<>();
+        if (records != null) {
+            BigDecimal ssKTAmountSum = BigDecimal.ZERO;
+            BigDecimal ysTXAmountSum = BigDecimal.ZERO;
+            BigDecimal txzTXAmountSum = BigDecimal.ZERO;
+            BigDecimal sumAmountSum = BigDecimal.ZERO;
+            BigDecimal sumDocumentary = BigDecimal.ZERO;
+            if (records != null && !records.isEmpty()) {
+                for (SysUserAccount sysUserAccount : records) {
+                    //如果是电销组长,将组员的数据算进来
+                    if ("72".equals(sysUserAccount.getRoleId()) && "3".equals(sysUserAccount.getManagementSource())) {
+                        dxUserIds.add(sysUserAccount.getUserId());
+                    }
+                    userIds.add(sysUserAccount.getUserId());
+                    BigDecimal ssKTAmount = sysUserAccount.getSumAmount() == null ? BigDecimal.ZERO : sysUserAccount.getSumAmount();
+                    ssKTAmountSum = ssKTAmountSum.add(ssKTAmount);
+                    sumDocumentary = sumDocumentary.add(sysUserAccount.getDocumentary());
+                }
+                if(!dxUserIds.isEmpty()) {
+                    userIds.addAll(insFeeOrderNewService.findDxUserIds(dxUserIds));
+                }
+                ysTXAmountSum = insFeeOrderNewService.findSumAmountYTXmount(userIds,"3");
+                txzTXAmountSum = insFeeOrderNewService.findSumAmountYTXmount(userIds, "2");
+                sumAmountSum = ysTXAmountSum.add(ssKTAmountSum).add(txzTXAmountSum);
+            }
+
+            sumAccount.setSumAmountWithdrawal(sumAmountSum);
+            sumAccount.setSumAmountAccount(ysTXAmountSum);
+            sumAccount.setSumAmountPayment(txzTXAmountSum);
+            sumAccount.setDocumentary(sumDocumentary);
+        }
+        return sumAccount;
+    }
+
     @Override
     @Transactional
     public HttpResult<Object> inert(SysUserAccountVo sysUserAccountVo) {

+ 4 - 0
src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java

@@ -151,6 +151,10 @@ public interface InsFeeOrderNewMapper extends BaseMapper<InsFeeOrderNew> {
      *  @Description:  查询可提现的金额
      */
     BigDecimal findMyAmountYTXmount(@Param("userId") String userId,@Param("status") String status,@Param("groupFlag")  boolean groupFlag);
+
+    List<String> findDxUserIds(@Param("userIds") List<String> userIds);
+
+    BigDecimal findSumAmountYTXmount(@Param("userIds") List<String> userIds,@Param("status") String status);
     /**
      *  @version
      *  @author: hxl

+ 6 - 0
src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java

@@ -7,6 +7,7 @@ import com.ydtech.modules.order.entity.vo.CostSettlementExcelVo;
 import com.ydtech.modules.order.entity.vo.CostSettlementQueryVo;
 import com.ydtech.modules.order.entity.vo.FeeReceivableVo;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
+import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
 import java.util.HashMap;
@@ -181,6 +182,11 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
      */
     BigDecimal findMyAmountYTXmount(String userId, String status,boolean groupFlag);
 
+
+    List<String> findDxUserIds(List<String> userIds);
+
+    BigDecimal findSumAmountYTXmount(List<String> userId, String status);
+
     /**
      * 获取费用结算导出表的数据
      *

+ 11 - 0
src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java

@@ -197,6 +197,17 @@ public class InsFeeOrderNewServiceImpl extends ServiceImpl<InsFeeOrderNewMapper,
         return baseMapper.findMyAmountYTXmount(userId,status,groupFlag);
     }
 
+    @Override
+    public List<String> findDxUserIds(List<String> userIds) {
+        return baseMapper.findDxUserIds(userIds);
+    }
+
+    @Override
+    public BigDecimal findSumAmountYTXmount(List<String> userIds, String status) {
+        return baseMapper.findSumAmountYTXmount(userIds, status);
+    }
+
+
     @Override
     public List<CostSettlementExcelVo> getCostSettlementExcel(CostSettlementQueryVo costSettlementQueryVo) {
         return baseMapper.getCostSettlementExcel(costSettlementQueryVo);

+ 52 - 0
src/main/resources/mapper/modules/admin/SysUserAccountMapper.xml

@@ -157,6 +157,58 @@
             </if>
         </where>
     </select>
+
+    <select id="querySum"  resultType="com.ydtech.modules.admin.model.po.SysUserAccount">
+        select
+        a.user_id as id,
+        a.user_id,
+        a.handling_fee,
+        a.documentary,
+        a.promotion,
+        a.create_time,
+        a.handling_amount_withdrawal,
+        a.handling_amount_account,
+        a.handling_amount_payment,
+        a.documentary_amount_withdrawal,
+        a.documentary_amount_account,
+        a.documentary_amount_payment,
+        a.promotion_amount_withdrawal,
+        a.promotion_amount_account,
+        a.promotion_amount_payment,
+        b.dept_id  as  deptId,
+        b.name  as  name,
+        sd.name  as  deptName,
+        a.sum_amount,
+        a.sum_amount_withdrawal,
+        a.sum_amount_account,
+        a.sum_amount_payment,
+        sd.management_source  as managementSource,
+        role.role_id  as  roleId
+        from
+        sys_user_account a
+        left join sys_user b on a.user_id = b.id
+        left join sys_dept sd on sd.id = b.dept_id
+        left join sys_user_role role on role.user_id = a.user_id
+        <where>
+            <if test="sysUserAccountVo.userId != null and sysUserAccountVo.userId != ''">
+                and a.user_id = #{sysUserAccountVo.userId}
+            </if>
+            <if test="sysUserAccountVo.name != null and sysUserAccountVo.name != ''">
+                and b.name = #{sysUserAccountVo.name}
+            </if>
+            <if test="sysUserAccountVo.deptId != null and sysUserAccountVo.deptId != ''">
+                and b.dept_id like concat(#{sysUserAccountVo.deptId}, '%')
+            </if>
+            <if test="sysUserAccountVo.userName != null and sysUserAccountVo.userName != ''">
+                and b.name = #{sysUserAccountVo.userName}
+            </if>
+            <if test="sysUserAccountVo.bankNumber != null and sysUserAccountVo.bankNumber != ''">
+                and c.bank_number = #{sysUserAccountVo.bankNumber}
+            </if>
+        </where>
+    </select>
+
+
     <select id="getGroupById" resultType="java.math.BigDecimal">
         select sum(sum_amount) from   sys_user_account WHERE user_id in (
             select id from  sys_user  where manager_id = #{userId}   or id = #{userId}

+ 24 - 0
src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

@@ -1237,6 +1237,30 @@
           AND auditing_status = #{status}
     </select>
 
+    <select id="findDxUserIds" resultType="java.lang.String">
+        select id from  sys_user  where manager_id in
+        <foreach collection="userIds" item="uid" open="(" separator="," close=")">
+            #{uid}
+        </foreach>
+        or id in
+        <foreach collection="userIds" item="uid" open="(" separator="," close=")">
+            #{uid}
+        </foreach>
+    </select>
+
+    <select id="findSumAmountYTXmount" resultType="java.math.BigDecimal">
+        SELECT
+        ifnull( sum( au.amount ), 0 )
+        FROM
+        sys_amount_auditing au
+        WHERE
+            au.user_id in
+        <foreach collection="userIds" item="uid" open="(" separator="," close=")">
+            #{uid}
+        </foreach>
+        AND auditing_status = #{status}
+    </select>
+
     <select id="queryAdvanceAndActualDataPage"
             resultType="com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto">
         SELECT