Ver código fonte

添加报销并实发、报销不实发功能

user5 3 anos atrás
pai
commit
1cfcec0d89
24 arquivos alterados com 199 adições e 1 exclusões
  1. 1 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/domain/dto/AccountantReimbursementBusinessDTO.java
  2. 2 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/domain/dto/AccountantReimbursementBusinessReturnDTO.java
  3. 8 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/AccountantReimbursementBusinessMapper.java
  4. 23 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/xml/AccountantReimbursementBusinessMapper.xml
  5. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementBusinessServiceImpl.java
  6. 10 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementUserServiceImpl.java
  7. 1 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/domain/dto/AssessReimbursementBusinessDTO.java
  8. 2 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/domain/dto/AssessReimbursementBusinessReturnDTO.java
  9. 8 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/mapper/AssessReimbursementBusinessMapper.java
  10. 22 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/mapper/xml/AssessReimbursementBusinessMapper.xml
  11. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/service/impl/AssessReimbursementBusinessServiceImpl.java
  12. 11 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/service/impl/AssessReimbursementUserServiceImpl.java
  13. 1 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/domain/dto/ProjectReimbursementBusinessDTO.java
  14. 2 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/domain/dto/ProjectReimbursementBusinessReturnDTO.java
  15. 10 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/mapper/ProjectReimbursementBusinessMapper.java
  16. 23 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/mapper/xml/ProjectReimbursementBusinessMapper.xml
  17. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/service/impl/ProjectReimbursementBusinessServiceImpl.java
  18. 11 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/service/impl/ProjectReimbursementUserServiceImpl.java
  19. 1 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/domain/dto/ReimbursementBusinessDTO.java
  20. 2 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/domain/dto/ReimbursementBusinessReturnDTO.java
  21. 7 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/mapper/ReimbursementBusinessMapper.java
  22. 23 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/mapper/xml/ReimbursementBusinessMapper.xml
  23. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementBusinessServiceImpl.java
  24. 7 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementUserServiceImpl.java

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/domain/dto/AccountantReimbursementBusinessDTO.java

@@ -29,6 +29,7 @@ public class AccountantReimbursementBusinessDTO extends BaseEntity {
     private String reimbursementDay;  //报销天数
     private String surplusReimbursementDay;  //剩余报销天数
     private String reimbursementType;  //报销类型(1:正常报销;2:补差)
+    private String reimbursementFsalary;  //实发类型(1:报销不实发;2:报销并实发)
     private String reimbursementAmount;  //报销额度
     private String remainReimbursementAmount;  //剩余报销额度
     private String remarks; //备注

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/domain/dto/AccountantReimbursementBusinessReturnDTO.java

@@ -26,6 +26,8 @@ public class AccountantReimbursementBusinessReturnDTO {
     private String alreadyReimbursementAmount;  //已报销额度
     private String surplusReimbursementAmount;  //剩余报销额度
     private List<AccountantReimbursementBusinessDTO> list;
+    private List<ReimbursementAddressDTO> reimbursementFsalaryList; //实发类型列表
+    private String reimbursementFsalary; //实发类型
 
     private String userId;  //报销人员id
     private String year; //报销年份

+ 8 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/AccountantReimbursementBusinessMapper.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.reimbursementAccountant.domain.dto.AccountantReimbursementBusinessDTO;
 import com.jeeplus.test.reimbursementAccountant.domain.dto.AccountantReimbursementDTO;
 import com.jeeplus.test.reimbursementAccountant.domain.dto.AccountantReimbursementUserDTO;
+import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementBusinessDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -118,4 +120,10 @@ public interface AccountantReimbursementBusinessMapper extends BaseMapper<Accoun
      * @param reimbursementDTO
      */
     void updateReimbursementInfo(AccountantReimbursementDTO reimbursementDTO);
+    /**
+     * 根据人员和年份获取实发类型信息
+     * @param reimbursementBusiness
+     * @return
+     */
+    List<ReimbursementAddressDTO> getReimbursementFsalaryByUserIdAndYear(AccountantReimbursementBusinessDTO reimbursementBusiness);
 }

+ 23 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/mapper/xml/AccountantReimbursementBusinessMapper.xml

@@ -32,6 +32,7 @@
         a.year AS "year",
         a.reimbursement_day as "reimbursementDay",
         a.reimbursement_type AS "reimbursementType",
+        a.reimbursement_fsalary AS "reimbursementFsalary",
         a.reimbursement_amount as "reimbursementAmount"
     </sql>
 
@@ -114,6 +115,7 @@
                 reimbursement_day,
             </if>
             reimbursement_type,
+            reimbursement_fsalary,
             reimbursement_amount
         )
         values
@@ -132,6 +134,7 @@
                 #{reimbursementDay},
             </if>
             #{reimbursementType},
+            #{reimbursementFsalary},
             #{reimbursementAmount}
         )
     </insert>
@@ -246,6 +249,9 @@
             <if test="endReimbursementQuota != null and endReimbursementQuota != ''">
                 and a.reimbursement_amount &lt;= #{endReimbursementQuota}
             </if>
+            <if test="reimbursementFsalary != null and reimbursementFsalary != ''">
+                and a.reimbursement_fsalary = #{reimbursementFsalary}
+            </if>
             <if test="beginDate != null">
                 and a.create_date >= #{beginDate}
             </if>
@@ -261,4 +267,21 @@
         set reimbursement_status = #{reimbursementStatus}
         where id = #{id}
     </update>
+
+
+    <select id="getReimbursementFsalaryByUserIdAndYear" resultType="com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO">
+        SELECT
+        a.reimbursement_fsalary AS "value",
+        (case when a.reimbursement_fsalary = '1' then '报销不实发' when a.reimbursement_fsalary = '2' then '报销并实发' else 0 end) as "label"
+        FROM zs_reimbursement_business_accountant_info a
+        <include refid="reimbursementUserJoinColumns"/>
+        left join zs_reimbursement_accountant_info zri on zri.id = a.business_code_id
+        <where>
+            a.del_flag = 0
+            and a.user_id = #{userId}
+            and a.year = #{year}
+        </where>
+        group by a.reimbursement_fsalary
+        order by a.reimbursement_fsalary desc
+    </select>
 </mapper>

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementBusinessServiceImpl.java

@@ -166,6 +166,11 @@ public class AccountantReimbursementBusinessServiceImpl implements AccountantRei
                 return map;
             }
         }
+        if(StringUtils.isBlank(reimbursementUser.getReimbursementFsalary())){
+            map.put("success", false);
+            map.put("message", "报销类型不正确,请重新填写!");
+            return map;
+        }
         //根据人员id和报销年份查询该年度的报销信息
         AccountantReimbursementUserDTO reimbursementUserByUserIdAndYear = mapper.reimbursementUserByUserIdAndYear(reimbursementUser);
         if(null == reimbursementUserByUserIdAndYear){
@@ -279,6 +284,7 @@ public class AccountantReimbursementBusinessServiceImpl implements AccountantRei
         List<AccountantReimbursementBusinessDTO> list = mapper.findListByBusinessCodeId(reimbursementBusiness);
         for (AccountantReimbursementBusinessDTO info : list) {
             info.setReimbursementType(DictUtils.getDictLabel(info.getReimbursementType(), "reimbursement_type", null));
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
         }
         AccountantReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new AccountantReimbursementBusinessReturnDTO();
         //获取业务报销信息

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAccountant/service/impl/AccountantReimbursementUserServiceImpl.java

@@ -17,6 +17,8 @@ import com.jeeplus.test.reimbursementAccountant.mapper.AccountantReimbursementBu
 import com.jeeplus.test.reimbursementAccountant.mapper.AccountantReimbursementUserMapper;
 import com.jeeplus.test.reimbursementAccountant.service.AccountantReimbursementUserService;
 import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementBusinessDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementBusinessDTO;
 import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementUserDTO;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -185,10 +187,18 @@ public class AccountantReimbursementUserServiceImpl implements AccountantReimbur
         reimbursementBusiness.setEndDate(reimbursementBusinessReturn.getEndDate());
         reimbursementBusiness.setBeginReimbursementQuota(reimbursementBusinessReturn.getBeginReimbursementQuota());
         reimbursementBusiness.setEndReimbursementQuota(reimbursementBusinessReturn.getEndReimbursementQuota());
+        reimbursementBusiness.setReimbursementFsalary(reimbursementBusinessReturn.getReimbursementFsalary());
 
         AccountantReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new AccountantReimbursementBusinessReturnDTO();
         List<AccountantReimbursementBusinessDTO> showList = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
 
+        //获取实发类型集合
+        List<ReimbursementAddressDTO> reimbursementFsalaryList = businessMapper.getReimbursementFsalaryByUserIdAndYear(reimbursementBusiness);
+        reimbursementBusinessReturnDTO.setReimbursementFsalaryList(reimbursementFsalaryList);
+
+        for (AccountantReimbursementBusinessDTO info : showList) {
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
+        }
         //获取人员年度报销详情
         AccountantReimbursementUserDTO reimbursementUserInfo = mapper.queryByUserIdAndYear(reimbursementUserDTO);
         reimbursementBusinessReturnDTO.setList(showList);

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/domain/dto/AssessReimbursementBusinessDTO.java

@@ -29,6 +29,7 @@ public class AssessReimbursementBusinessDTO extends BaseEntity {
     private String reimbursementDay;  //报销天数
     private String surplusReimbursementDay;  //剩余报销天数
     private String reimbursementType;  //报销类型(1:正常报销;2:补差)
+    private String reimbursementFsalary;  //实发类型(1:报销不实发;2:报销并实发)
     private String reimbursementAmount;  //报销额度
     private String remainReimbursementAmount;  //剩余报销额度
     private String remarks; //备注

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/domain/dto/AssessReimbursementBusinessReturnDTO.java

@@ -28,6 +28,8 @@ public class AssessReimbursementBusinessReturnDTO {
     private String alreadyReimbursementAmount;  //已报销额度
     private String surplusReimbursementAmount;  //剩余报销额度
     private List<AssessReimbursementBusinessDTO> list;
+    private List<ReimbursementAddressDTO> reimbursementFsalaryList; //实发类型列表
+    private String reimbursementFsalary; //实发类型
 
     private String userId;  //报销人员id
     private String year; //报销年份

+ 8 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/mapper/AssessReimbursementBusinessMapper.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.reimbursementAssess.domain.dto.AssessReimbursementBusinessDTO;
 import com.jeeplus.test.reimbursementAssess.domain.dto.AssessReimbursementDTO;
 import com.jeeplus.test.reimbursementAssess.domain.dto.AssessReimbursementUserDTO;
+import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementBusinessDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -118,4 +120,10 @@ public interface AssessReimbursementBusinessMapper extends BaseMapper<AssessReim
      * @param reimbursementDTO
      */
     void updateReimbursementInfo(AssessReimbursementDTO reimbursementDTO);
+    /**
+     * 根据人员和年份获取实发类型信息
+     * @param reimbursementBusiness
+     * @return
+     */
+    List<ReimbursementAddressDTO> getReimbursementFsalaryByUserIdAndYear(AssessReimbursementBusinessDTO reimbursementBusiness);
 }

+ 22 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/mapper/xml/AssessReimbursementBusinessMapper.xml

@@ -32,6 +32,7 @@
         a.year AS "year",
         a.reimbursement_day as "reimbursementDay",
         a.reimbursement_type AS "reimbursementType",
+        a.reimbursement_fsalary AS "reimbursementFsalary",
         a.reimbursement_amount as "reimbursementAmount"
     </sql>
 
@@ -114,6 +115,7 @@
                 reimbursement_day,
             </if>
             reimbursement_type,
+            reimbursement_fsalary,
             reimbursement_amount
         )
         values
@@ -132,6 +134,7 @@
                 #{reimbursementDay},
             </if>
             #{reimbursementType},
+            #{reimbursementFsalary},
             #{reimbursementAmount}
         )
     </insert>
@@ -246,6 +249,9 @@
             <if test="endReimbursementQuota != null and endReimbursementQuota != ''">
                 and a.reimbursement_amount &lt;= #{endReimbursementQuota}
             </if>
+            <if test="reimbursementFsalary != null and reimbursementFsalary != ''">
+                and a.reimbursement_fsalary = #{reimbursementFsalary}
+            </if>
             <if test="beginDate != null">
                 and a.create_date >= #{beginDate}
             </if>
@@ -261,4 +267,20 @@
         set reimbursement_status = #{reimbursementStatus}
         where id = #{id}
     </update>
+
+    <select id="getReimbursementFsalaryByUserIdAndYear" resultType="com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO">
+        SELECT
+        a.reimbursement_fsalary AS "value",
+        (case when a.reimbursement_fsalary = '1' then '报销不实发' when a.reimbursement_fsalary = '2' then '报销并实发' else 0 end) as "label"
+        FROM zs_reimbursement_business_assess_info a
+        <include refid="reimbursementUserJoinColumns"/>
+        left join zs_reimbursement_assess_info zri on zri.id = a.business_code_id
+        <where>
+            a.del_flag = 0
+            and a.user_id = #{userId}
+            and a.year = #{year}
+        </where>
+        group by a.reimbursement_fsalary
+        order by a.reimbursement_fsalary desc
+    </select>
 </mapper>

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/service/impl/AssessReimbursementBusinessServiceImpl.java

@@ -166,6 +166,11 @@ public class AssessReimbursementBusinessServiceImpl implements AssessReimburseme
                 return map;
             }
         }
+        if(StringUtils.isBlank(reimbursementUser.getReimbursementFsalary())){
+            map.put("success", false);
+            map.put("message", "报销类型不正确,请重新填写!");
+            return map;
+        }
         //根据人员id和报销年份查询该年度的报销信息
         AssessReimbursementUserDTO reimbursementUserByUserIdAndYear = mapper.reimbursementUserByUserIdAndYear(reimbursementUser);
         if(null == reimbursementUserByUserIdAndYear){
@@ -279,6 +284,7 @@ public class AssessReimbursementBusinessServiceImpl implements AssessReimburseme
         List<AssessReimbursementBusinessDTO> list = mapper.findListByBusinessCodeId(reimbursementBusiness);
         for (AssessReimbursementBusinessDTO info : list) {
             info.setReimbursementType(DictUtils.getDictLabel(info.getReimbursementType(), "reimbursement_type", null));
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
         }
         AssessReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new AssessReimbursementBusinessReturnDTO();
         //获取业务报销信息

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementAssess/service/impl/AssessReimbursementUserServiceImpl.java

@@ -17,6 +17,8 @@ import com.jeeplus.test.reimbursementAssess.domain.dto.AssessReimbursementUserDT
 import com.jeeplus.test.reimbursementAssess.mapper.AssessReimbursementBusinessMapper;
 import com.jeeplus.test.reimbursementAssess.mapper.AssessReimbursementUserMapper;
 import com.jeeplus.test.reimbursementAssess.service.AssessReimbursementUserService;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementBusinessDTO;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -183,10 +185,19 @@ public class AssessReimbursementUserServiceImpl implements AssessReimbursementUs
         reimbursementBusiness.setEndDate(reimbursementBusinessReturn.getEndDate());
         reimbursementBusiness.setBeginReimbursementQuota(reimbursementBusinessReturn.getBeginReimbursementQuota());
         reimbursementBusiness.setEndReimbursementQuota(reimbursementBusinessReturn.getEndReimbursementQuota());
+        reimbursementBusiness.setReimbursementFsalary(reimbursementBusinessReturn.getReimbursementFsalary());
 
         AssessReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new AssessReimbursementBusinessReturnDTO();
         List<AssessReimbursementBusinessDTO> showList = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
 
+        //获取实发类型集合
+        List<ReimbursementAddressDTO> reimbursementFsalaryList = businessMapper.getReimbursementFsalaryByUserIdAndYear(reimbursementBusiness);
+        reimbursementBusinessReturnDTO.setReimbursementFsalaryList(reimbursementFsalaryList);
+
+        for (AssessReimbursementBusinessDTO info : showList) {
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
+        }
+
         //获取人员年度报销详情
         AssessReimbursementUserDTO reimbursementUserInfo = mapper.queryByUserIdAndYear(reimbursementUserDTO);
         reimbursementBusinessReturnDTO.setList(showList);

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/domain/dto/ProjectReimbursementBusinessDTO.java

@@ -29,6 +29,7 @@ public class ProjectReimbursementBusinessDTO extends BaseEntity {
     private String reimbursementDay;  //报销天数
     private String surplusReimbursementDay;  //剩余报销天数
     private String reimbursementType;  //报销类型(1:正常报销;2:补差)
+    private String reimbursementFsalary;  //实发类型(1:报销不实发;2:报销并实发)
     private String reimbursementAmount;  //报销额度
     private String remainReimbursementAmount;  //剩余报销额度
     private String remarks; //备注

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/domain/dto/ProjectReimbursementBusinessReturnDTO.java

@@ -27,6 +27,8 @@ public class ProjectReimbursementBusinessReturnDTO {
     private String alreadyReimbursementAmount;  //已报销额度
     private String surplusReimbursementAmount;  //剩余报销额度
     private List<ProjectReimbursementBusinessDTO> list;
+    private List<ReimbursementAddressDTO> reimbursementFsalaryList; //实发类型列表
+    private String reimbursementFsalary; //实发类型
 
     private String userId;  //报销人员id
     private String year; //报销年份

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/mapper/ProjectReimbursementBusinessMapper.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementBusinessDTO;
 import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementDTO;
 import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementUserDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementBusinessDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -118,4 +120,12 @@ public interface ProjectReimbursementBusinessMapper extends BaseMapper<ProjectRe
      * @param reimbursementDTO
      */
     void updateReimbursementInfo(ProjectReimbursementDTO reimbursementDTO);
+
+
+    /**
+     * 根据人员和年份获取实发类型信息
+     * @param reimbursementBusiness
+     * @return
+     */
+    List<ReimbursementAddressDTO> getReimbursementFsalaryByUserIdAndYear(ProjectReimbursementBusinessDTO reimbursementBusiness);
 }

+ 23 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/mapper/xml/ProjectReimbursementBusinessMapper.xml

@@ -32,6 +32,7 @@
         a.year AS "year",
         a.reimbursement_day as "reimbursementDay",
         a.reimbursement_type AS "reimbursementType",
+        a.reimbursement_fsalary AS "reimbursementFsalary",
         a.reimbursement_amount as "reimbursementAmount"
     </sql>
 
@@ -114,6 +115,7 @@
                 reimbursement_day,
             </if>
             reimbursement_type,
+            reimbursement_fsalary,
             reimbursement_amount
         )
         values
@@ -132,6 +134,7 @@
                 #{reimbursementDay},
             </if>
             #{reimbursementType},
+            #{reimbursementFsalary},
             #{reimbursementAmount}
         )
     </insert>
@@ -246,6 +249,9 @@
             <if test="endReimbursementQuota != null and endReimbursementQuota != ''">
                 and a.reimbursement_amount &lt;= #{endReimbursementQuota}
             </if>
+            <if test="reimbursementFsalary != null and reimbursementFsalary != ''">
+                and a.reimbursement_fsalary = #{reimbursementFsalary}
+            </if>
             <if test="beginDate != null">
                 and a.create_date >= #{beginDate}
             </if>
@@ -261,4 +267,21 @@
         set reimbursement_status = #{reimbursementStatus}
         where id = #{id}
     </update>
+
+
+    <select id="getReimbursementFsalaryByUserIdAndYear" resultType="com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO">
+        SELECT
+        a.reimbursement_fsalary AS "value",
+        (case when a.reimbursement_fsalary = '1' then '报销不实发' when a.reimbursement_fsalary = '2' then '报销并实发' else 0 end) as "label"
+        FROM zs_reimbursement_business_project_info a
+        <include refid="reimbursementUserJoinColumns"/>
+        left join zs_reimbursement_project_info zri on zri.id = a.business_code_id
+        <where>
+            a.del_flag = 0
+            and a.user_id = #{userId}
+            and a.year = #{year}
+        </where>
+        group by a.reimbursement_fsalary
+        order by a.reimbursement_fsalary desc
+    </select>
 </mapper>

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/service/impl/ProjectReimbursementBusinessServiceImpl.java

@@ -166,6 +166,11 @@ public class ProjectReimbursementBusinessServiceImpl implements ProjectReimburse
                 return map;
             }
         }
+        if(StringUtils.isBlank(reimbursementUser.getReimbursementFsalary())){
+            map.put("success", false);
+            map.put("message", "报销类型不正确,请重新填写!");
+            return map;
+        }
         //根据人员id和报销年份查询该年度的报销信息
         ProjectReimbursementUserDTO reimbursementUserByUserIdAndYear = mapper.reimbursementUserByUserIdAndYear(reimbursementUser);
         if(null == reimbursementUserByUserIdAndYear){
@@ -279,6 +284,7 @@ public class ProjectReimbursementBusinessServiceImpl implements ProjectReimburse
         List<ProjectReimbursementBusinessDTO> list = mapper.findListByBusinessCodeId(reimbursementBusiness);
         for (ProjectReimbursementBusinessDTO info : list) {
             info.setReimbursementType(DictUtils.getDictLabel(info.getReimbursementType(), "reimbursement_type", null));
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
         }
         ProjectReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new ProjectReimbursementBusinessReturnDTO();
         //获取业务报销信息

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementProject/service/impl/ProjectReimbursementUserServiceImpl.java

@@ -16,6 +16,8 @@ import com.jeeplus.test.reimbursementProject.domain.dto.ProjectReimbursementUser
 import com.jeeplus.test.reimbursementProject.mapper.ProjectReimbursementBusinessMapper;
 import com.jeeplus.test.reimbursementProject.mapper.ProjectReimbursementUserMapper;
 import com.jeeplus.test.reimbursementProject.service.ProjectReimbursementUserService;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO;
+import com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementBusinessDTO;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -182,10 +184,19 @@ public class ProjectReimbursementUserServiceImpl implements ProjectReimbursement
         reimbursementBusiness.setEndDate(reimbursementBusinessReturn.getEndDate());
         reimbursementBusiness.setBeginReimbursementQuota(reimbursementBusinessReturn.getBeginReimbursementQuota());
         reimbursementBusiness.setEndReimbursementQuota(reimbursementBusinessReturn.getEndReimbursementQuota());
+        reimbursementBusiness.setReimbursementFsalary(reimbursementBusinessReturn.getReimbursementFsalary());
 
         ProjectReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new ProjectReimbursementBusinessReturnDTO();
         List<ProjectReimbursementBusinessDTO> showList = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
 
+        //获取实发类型集合
+        List<ReimbursementAddressDTO> reimbursementFsalaryList = businessMapper.getReimbursementFsalaryByUserIdAndYear(reimbursementBusiness);
+        reimbursementBusinessReturnDTO.setReimbursementFsalaryList(reimbursementFsalaryList);
+
+        for (ProjectReimbursementBusinessDTO info : showList) {
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
+        }
+
         //获取人员年度报销详情
         ProjectReimbursementUserDTO reimbursementUserInfo = mapper.queryByUserIdAndYear(reimbursementUserDTO);
         reimbursementBusinessReturnDTO.setList(showList);

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/domain/dto/ReimbursementBusinessDTO.java

@@ -29,6 +29,7 @@ public class ReimbursementBusinessDTO extends BaseEntity {
     private String reimbursementDay;  //报销天数
     private String surplusReimbursementDay;  //剩余报销天数
     private String reimbursementType;  //报销类型(1:正常报销;2:补差)
+    private String reimbursementFsalary;  //实发类型(1:报销不实发;2:报销并实发)
     private String reimbursementAmount;  //报销额度
     private String remainReimbursementAmount;  //剩余报销额度
     private String remarks; //备注

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/domain/dto/ReimbursementBusinessReturnDTO.java

@@ -27,7 +27,9 @@ public class ReimbursementBusinessReturnDTO{
     private List<ReimbursementBusinessDTO> list;
     private String userId;  //报销人员id
     private List<ReimbursementAddressDTO> reimbursementAddressList; //报销来源列表
+    private List<ReimbursementAddressDTO> reimbursementFsalaryList; //实发类型列表
     private String reimbursementAddress; //报销来源
+    private String reimbursementFsalary; //实发类型
     private String year; //报销年份
 
     /**

+ 7 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/mapper/ReimbursementBusinessMapper.java

@@ -143,4 +143,11 @@ public interface ReimbursementBusinessMapper extends BaseMapper<ReimbursementUse
      * @param wuHanReimbursementDTO
      */
     void updateWuHanReimbursementInfo(WuHanReimbursementDTO wuHanReimbursementDTO);
+
+    /**
+     * 根据人员和年份获取实发类型信息
+     * @param reimbursementBusiness
+     * @return
+     */
+    List<ReimbursementAddressDTO> getReimbursementFsalaryByUserIdAndYear(ReimbursementBusinessDTO reimbursementBusiness);
 }

+ 23 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/mapper/xml/ReimbursementBusinessMapper.xml

@@ -32,6 +32,7 @@
         a.year AS "year",
         a.reimbursement_day as "reimbursementDay",
         a.reimbursement_type AS "reimbursementType",
+        a.reimbursement_fsalary AS "reimbursementFsalary",
         a.reimbursement_address AS "reimbursementAddress",
         a.reimbursement_amount as "reimbursementAmount"
     </sql>
@@ -117,6 +118,7 @@
                 reimbursement_day,
             </if>
             reimbursement_type,
+            reimbursement_fsalary,
             reimbursement_address,
             reimbursement_amount
         )
@@ -136,6 +138,7 @@
                 #{reimbursementDay},
             </if>
             #{reimbursementType},
+            #{reimbursementFsalary},
             0,
             #{reimbursementAmount}
         )
@@ -256,6 +259,9 @@
             <if test="reimbursementAddress != null and reimbursementAddress != ''">
                 and a.reimbursement_address = #{reimbursementAddress}
             </if>
+            <if test="reimbursementFsalary != null and reimbursementFsalary != ''">
+                and a.reimbursement_fsalary = #{reimbursementFsalary}
+            </if>
             <if test="beginReimbursementQuota != null and beginReimbursementQuota != ''">
                 and a.reimbursement_amount >= #{beginReimbursementQuota}
             </if>
@@ -319,4 +325,21 @@
         set reimbursement_status = #{reimbursementStatus}
         where id = #{id}
     </update>
+
+
+    <select id="getReimbursementFsalaryByUserIdAndYear" resultType="com.jeeplus.test.reimbursementsys.domain.dto.ReimbursementAddressDTO">
+        SELECT
+        a.reimbursement_fsalary AS "value",
+        (case when a.reimbursement_fsalary = '1' then '报销不实发' when a.reimbursement_fsalary = '2' then '报销并实发' else 0 end) as "label"
+        FROM zs_reimbursement_business_info a
+        <include refid="reimbursementUserJoinColumns"/>
+        left join zs_reimbursement_info zri on zri.id = a.business_code_id
+        <where>
+            a.del_flag = 0
+            and a.user_id = #{userId}
+            and a.year = #{year}
+        </where>
+        group by a.reimbursement_fsalary
+        order by a.reimbursement_fsalary desc
+    </select>
 </mapper>

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementBusinessServiceImpl.java

@@ -191,6 +191,11 @@ public class ReimbursementBusinessServiceImpl implements ReimbursementBusinessSe
                 return map;
             }
         }
+        if(StringUtils.isBlank(reimbursementUser.getReimbursementFsalary())){
+            map.put("success", false);
+            map.put("message", "报销类型不正确,请重新填写!");
+            return map;
+        }
         //根据人员id和报销年份查询该年度的报销信息
         ReimbursementUserDTO reimbursementUserByUserIdAndYear = mapper.reimbursementUserByUserIdAndYear(reimbursementUser);
         if(null == reimbursementUserByUserIdAndYear){
@@ -426,6 +431,7 @@ public class ReimbursementBusinessServiceImpl implements ReimbursementBusinessSe
         List<ReimbursementBusinessDTO> list = mapper.findListByBusinessCodeId(reimbursementBusiness);
         for (ReimbursementBusinessDTO info : list) {
             info.setReimbursementType(DictUtils.getDictLabel(info.getReimbursementType(), "reimbursement_type", null));
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
         }
         ReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new ReimbursementBusinessReturnDTO();
         //获取业务报销信息

+ 7 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursementsys/service/impl/ReimbursementUserServiceImpl.java

@@ -213,14 +213,20 @@ public class ReimbursementUserServiceImpl implements ReimbursementUserService {
         reimbursementBusiness.setBeginReimbursementQuota(reimbursementBusinessReturn.getBeginReimbursementQuota());
         reimbursementBusiness.setEndReimbursementQuota(reimbursementBusinessReturn.getEndReimbursementQuota());
         reimbursementBusiness.setReimbursementAddress(reimbursementBusinessReturn.getReimbursementAddress());
+        reimbursementBusiness.setReimbursementFsalary(reimbursementBusinessReturn.getReimbursementFsalary());
 
         ReimbursementBusinessReturnDTO reimbursementBusinessReturnDTO = new ReimbursementBusinessReturnDTO();
         List<ReimbursementBusinessDTO> showList = businessMapper.findListByUserIdAndYear(reimbursementBusiness);
         //获取报销来源集合
-
         List<ReimbursementAddressDTO> reimbursementAddressList = businessMapper.getReimbursementAddressByUserIdAndYear(reimbursementBusiness);
         reimbursementBusinessReturnDTO.setReimbursementAddressList(reimbursementAddressList);
+        //获取实发类型集合
+        List<ReimbursementAddressDTO> reimbursementFsalaryList = businessMapper.getReimbursementFsalaryByUserIdAndYear(reimbursementBusiness);
+        reimbursementBusinessReturnDTO.setReimbursementFsalaryList(reimbursementFsalaryList);
 
+        for (ReimbursementBusinessDTO info : showList) {
+            info.setReimbursementFsalary(DictUtils.getDictLabel(info.getReimbursementFsalary(), "reimbursement_fsalary", null));
+        }
         //获取人员年度报销详情
         ReimbursementUserDTO reimbursementUserInfo = mapper.queryByUserIdAndYear(reimbursementUserDTO);
         reimbursementBusinessReturnDTO.setList(showList);