Răsfoiți Sursa

fix:SQL优化

ly 9 luni în urmă
părinte
comite
497c441ae7

+ 2 - 0
src/main/java/cn/ezhizao/project/business/finance/IndividualIncomeTax/mapper/BizFinancialIndividualIncomeTaxDetailMapper.java

@@ -1,6 +1,7 @@
 package cn.ezhizao.project.business.finance.IndividualIncomeTax.mapper;
 
 import cn.ezhizao.project.business.finance.IndividualIncomeTax.domain.BizFinancialIndividualIncomeTaxDetail;
+import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxDetailIsZero;
 import cn.ezhizao.project.system.domain.SysFileStorage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -21,6 +22,7 @@ public interface BizFinancialIndividualIncomeTaxDetailMapper extends BaseMapper<
      * @return 个税详情集合
      */
     public List<BizFinancialIndividualIncomeTaxDetail> getList(BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail);
+    public List<BizFinancialIndividualIncomeTaxDetailIsZero> getList2(BizFinancialIndividualIncomeTaxDetailIsZero bizFinancialIndividualIncomeTaxDetail);
 
     /**
      * 物理删除

+ 2 - 0
src/main/java/cn/ezhizao/project/business/finance/IndividualIncomeTax/service/IBizFinancialIndividualIncomeTaxDetailService.java

@@ -1,6 +1,7 @@
 package cn.ezhizao.project.business.finance.IndividualIncomeTax.service;
 
 import cn.ezhizao.project.business.finance.IndividualIncomeTax.domain.BizFinancialIndividualIncomeTaxDetail;
+import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxDetailIsZero;
 import cn.ezhizao.project.system.domain.SysFileStorage;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -21,6 +22,7 @@ public interface IBizFinancialIndividualIncomeTaxDetailService extends IService<
      * @return 个税详情集合
      */
     public List<BizFinancialIndividualIncomeTaxDetail> getList(BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail);
+    public List<BizFinancialIndividualIncomeTaxDetailIsZero> getList2(BizFinancialIndividualIncomeTaxDetailIsZero bizFinancialIndividualIncomeTaxDetail);
 
     /**
      * 物理删除

+ 7 - 0
src/main/java/cn/ezhizao/project/business/finance/IndividualIncomeTax/service/impl/BizFinancialIndividualIncomeTaxDetailServiceImpl.java

@@ -3,11 +3,13 @@ package cn.ezhizao.project.business.finance.IndividualIncomeTax.service.impl;
 import cn.ezhizao.project.business.finance.IndividualIncomeTax.domain.BizFinancialIndividualIncomeTaxDetail;
 import cn.ezhizao.project.business.finance.IndividualIncomeTax.mapper.BizFinancialIndividualIncomeTaxDetailMapper;
 import cn.ezhizao.project.business.finance.IndividualIncomeTax.service.IBizFinancialIndividualIncomeTaxDetailService;
+import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxDetailIsZero;
 import cn.ezhizao.project.system.domain.SysFileStorage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -34,6 +36,11 @@ public class BizFinancialIndividualIncomeTaxDetailServiceImpl  extends ServiceIm
         return bizFinancialIndividualIncomeTaxDetailMapper.getList(bizFinancialIndividualIncomeTaxDetail);
     }
 
+    @Override
+    public List<BizFinancialIndividualIncomeTaxDetailIsZero> getList2(BizFinancialIndividualIncomeTaxDetailIsZero bizFinancialIndividualIncomeTaxDetail) {
+        return bizFinancialIndividualIncomeTaxDetailMapper.getList2(bizFinancialIndividualIncomeTaxDetail);
+    }
+
     /**
      * 物理删除
      * @param bizFinancialIndividualIncomeTaxDetail

+ 15 - 3
src/main/java/cn/ezhizao/project/business/finance/IndividualIncomeTaxIsZero/controller/BizFinancialIndividualIncomeTaxIsZeroController.java

@@ -1,11 +1,16 @@
 package cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.controller;
 
 import java.util.List;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.ezhizao.project.business.finance.IndividualIncomeTax.domain.BizFinancialIndividualIncomeTax;
+import cn.ezhizao.project.business.finance.IndividualIncomeTax.domain.BizFinancialIndividualIncomeTaxDetail;
+import cn.ezhizao.project.business.finance.IndividualIncomeTax.service.IBizFinancialIndividualIncomeTaxDetailService;
 import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxDetailIsZero;
 import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxIsZero;
+import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.service.IBizFinancialIndividualIncomeTaxDetailIsZeroService;
 import cn.ezhizao.project.business.salary.domain.BizFinancialSalary;
 import cn.ezhizao.project.business.salary.domain.BizFinancialSalaryDetail;
 import cn.ezhizao.project.business.salary.domain.BizFinancialSalaryDetailEmployee;
@@ -41,6 +46,8 @@ public class BizFinancialIndividualIncomeTaxIsZeroController extends BaseControl
 {
     @Resource
     private IBizFinancialIndividualIncomeTaxIsZeroService bizFinancialIndividualIncomeTaxService;
+    @Resource
+    private IBizFinancialIndividualIncomeTaxDetailService bizFinancialIndividualIncomeTaxDetailService;
 
     @Resource
     private IBizFinancialSalaryService bizFinancialSalaryService;
@@ -63,9 +70,14 @@ public class BizFinancialIndividualIncomeTaxIsZeroController extends BaseControl
         List<BizFinancialIndividualIncomeTaxIsZero> list = bizFinancialIndividualIncomeTaxService.getList(bizFinancialIndividualIncomeTax);
         //获取个税详情数据
         if(list.size()>0){
-            list.forEach(item->{
-                BizFinancialIndividualIncomeTaxDetailIsZero detail=bizFinancialIndividualIncomeTaxService.getTaxDetail(year,month,item.getId());
-                item.setDetail(detail);
+            BizFinancialIndividualIncomeTaxDetailIsZero detailConditions = new BizFinancialIndividualIncomeTaxDetailIsZero();
+            detailConditions.setMainIds(list.stream().map(BizFinancialIndividualIncomeTaxIsZero::getId).collect(Collectors.toList()));
+            detailConditions.setYear(year);
+            detailConditions.setMonth(month);
+            List<BizFinancialIndividualIncomeTaxDetailIsZero> details = bizFinancialIndividualIncomeTaxDetailService.getList2(detailConditions);
+            list.forEach(l -> {
+                List<BizFinancialIndividualIncomeTaxDetailIsZero> lDetail = details.stream().filter(v -> v.getFinancialIndividualIncomeTaxId().equals(l.getId())).collect(Collectors.toList());
+                l.setDetail(lDetail.isEmpty() ? null : lDetail.get(0));
             });
         }
         //返回数据

+ 8 - 1
src/main/java/cn/ezhizao/project/business/finance/IndividualIncomeTaxIsZero/domain/BizFinancialIndividualIncomeTaxDetailIsZero.java

@@ -1,6 +1,7 @@
 package cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain;
 
 import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -8,6 +9,7 @@ import lombok.Data;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 个税任务对象 biz_financial_individual_income_tax
@@ -61,6 +63,11 @@ public class BizFinancialIndividualIncomeTaxDetailIsZero extends BaseEntity impl
     private Long verifierId;
 
     private Date verifierTime;
-
+    @TableField(exist = false)
+    private String currentMonth;
     private String refuseReason;
+    @TableField(exist = false)
+    private List<Long> mainIds;
+    @TableField(exist = false)
+    private String companyName;
 }

+ 24 - 0
src/main/resources/mybatis/business/BizFinancialIndividualIncomeTaxDetailMapper.xml

@@ -23,6 +23,27 @@
         <result column="deleted" jdbcType="TINYINT" property="deleted"/>
         <result column="version" jdbcType="INTEGER" property="version"/>
 
+    </resultMap>
+    <resultMap id="BaseResultMap2"
+               type="cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxDetailIsZero">
+        <id column="id" jdbcType="BIGINT" property="id"/>
+        <result column="id" jdbcType="BIGINT" property="id"/>
+        <result column="financial_individual_income_tax_id" jdbcType="BIGINT"
+                property="financialIndividualIncomeTaxId"/>
+        <result column="company_id" jdbcType="BIGINT" property="companyId"/>
+        <result column="year" jdbcType="CHAR" property="year"/>
+        <result column="month" jdbcType="CHAR" property="month"/>
+        <result column="amount" jdbcType="DECIMAL" property="amount"/>
+        <result column="status" jdbcType="TINYINT" property="status"/>
+        <result column="content" jdbcType="CHAR" property="content"/>
+        <result column="verify_content" jdbcType="CHAR" property="verifyContent"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="creator_id" jdbcType="BIGINT" property="creatorId"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="updater_id" jdbcType="BIGINT" property="updaterId"/>
+        <result column="deleted" jdbcType="TINYINT" property="deleted"/>
+        <result column="version" jdbcType="INTEGER" property="version"/>
+
     </resultMap>
     <resultMap
             type="cn.ezhizao.project.business.finance.IndividualIncomeTax.domain.BizFinancialIndividualIncomeTaxDetail"
@@ -48,6 +69,9 @@
     <select id="getList" resultMap="BaseResultMap">
         <include refid="getListSql"/>
     </select>
+    <select id="getList2" resultMap="BaseResultMap2">
+        <include refid="getListSql"/>
+    </select>
 
     <!--带条件的List查询 数据总条数-->
     <select id="getTotal" resultType="java.lang.Integer">

+ 0 - 1
src/main/resources/mybatis/business/BizFinancialIndividualIncomeTaxIsZeroMapper.xml

@@ -16,7 +16,6 @@
         <association property="taxType" javaType="java.lang.String" select="getTaxType" column="company_id"/>
         <association property="currentEmployeeName" javaType="java.lang.String" select="getCurrentEmployeeName"
                      column="current_employee_id"/>
-        <association property="evidenceFile" javaType="java.lang.String" select="getCurrentEvidenceFile" column="id"/>
         <association property="serviceName" javaType="java.lang.Long" select="getServiceName" column="company_id"/>
     </resultMap>