Explorar el Código

财务管理调整

sangwenwei hace 1 año
padre
commit
c79ced9f8b

+ 3 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/ReimbursementInfoMapper.java

@@ -31,6 +31,7 @@ public interface ReimbursementInfoMapper extends BaseMapper<ReimbursementInfo> {
      * @param companyId
      * @return
      */
+    @InterceptorIgnore(tenantLine = "true")
     List<TreeUserDto> findOfficeListByCompanyId(@Param("companyId")String companyId);
 
     List<TreeUserDto> findUserList(@Param("name") String name);
@@ -72,4 +73,6 @@ public interface ReimbursementInfoMapper extends BaseMapper<ReimbursementInfo> {
 
     @InterceptorIgnore(tenantLine = "true")
     List<ReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(@Param("idList") List<String> idList);
+    @InterceptorIgnore(tenantLine = "true")
+    List<TreeUserDto> findZhglgsUserList( @Param("name")String name);
 }

+ 17 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/ReimbursementInfoMapper.xml

@@ -139,6 +139,23 @@
 			</if>
 	</select>
 
+	<select id="findZhglgsUserList" resultType="com.jeeplus.assess.reimbursement.reimbursementInfo.service.dto.TreeUserDto">
+		SELECT
+		a.id,
+		a.`name`,
+		a.office_id AS parent_id,
+		b.`name` AS office_name,
+		true AS is_user
+		FROM
+		sys_user a
+		LEFT JOIN sys_office b ON a.office_id = b.id
+		WHERE
+		a.del_flag = 0 and a.is_admin is null and a.tenant_id = '10002'
+		<if test="name != null and name != ''">
+			and a.`name` LIKE CONCAT ('%', #{name}, '%')
+		</if>
+	</select>
+
 	<select id="findExportList" resultType="com.jeeplus.assess.reimbursement.reimbursementInfo.service.dto.RetureListDto">
 		SELECT
 			a.id,

+ 16 - 2
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -664,7 +664,11 @@ public class ReimbursementInfoService {
         // 查询部门
         List<TreeUserDto> officeList = infoMapper.findOfficeListByCompanyId(userDTO.getCompanyDTO().getId());
         List<TreeUserDto> filterList = new ArrayList<>();
-        filterList = officeList;
+        filterList.addAll(officeList);
+        //查询综合管理公司
+        UserDTO dtoByName = SpringUtil.getBean(IUserApi.class).getByLoginName("潘中","10002");
+        List<TreeUserDto> officeList1 = infoMapper.findOfficeListByCompanyId(dtoByName.getCompanyDTO().getId());
+        filterList.addAll(officeList1);
         /*if (userDTO.isAdmin ()) {
             filterList = officeList;
         } else {
@@ -752,15 +756,25 @@ public class ReimbursementInfoService {
 
         // 查询用户
         List<TreeUserDto> userList = infoMapper.findUserList(name);
+        //查询综合管理公司用户信息
+        List<TreeUserDto> userList1=infoMapper.findZhglgsUserList(name);
         /*if (CollectionUtils.isNotEmpty(userList)) {
             list.addAll(userList);
         }*/
-        list = disposeUserTree(userList, filterList);
+        ArrayList<TreeUserDto> treeUserDtos = new ArrayList<>();
+        treeUserDtos.addAll(userList);
+        treeUserDtos.addAll(userList1);
+        list = disposeUserTree(treeUserDtos, filterList);
         for (TreeUserDto officeDto : officeList) {
             if("0".equals(officeDto.getParentId())){
                 list.add(officeDto);
             }
         }
+        for (TreeUserDto officeDto : officeList1) {
+            if("0".equals(officeDto.getParentId())){
+                list.add(officeDto);
+            }
+        }
         //去重
         List<TreeUserDto> newList = list.stream().collect(Collectors.collectingAndThen(
                 Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TreeUserDto::getId))), ArrayList::new)

+ 20 - 18
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/CwProjectReportArchiveDetailService.java

@@ -14,7 +14,6 @@ import com.jeeplus.finance.projectReport.mapper.CwProjectInfoMapper;
 import com.jeeplus.finance.projectReportArchive.domain.CwProjectReportArchiveDetail;
 import com.jeeplus.finance.projectReportArchive.mapper.CwProjectReportArchiveDetailMapper;
 import com.jeeplus.finance.projectReportArchive.mapper.CwProjectReportArchiveReportMapper;
-import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveDTO;
 import com.jeeplus.finance.projectReportArchive.service.dto.CwProjectReportArchiveDetailDTO;
 import com.jeeplus.finance.projectReportArchive.service.mapstruct.CwProjectReportArchiveDetailWrapper;
 import com.jeeplus.sys.domain.User;
@@ -94,38 +93,41 @@ public class CwProjectReportArchiveDetailService extends ServiceImpl<CwProjectRe
             for (CwProjectReportArchiveDetailDTO info : records) {
                 //如果归档日期为空,则表示该报告还未归档
                 if(null == info.getAuditDate()){
-                    //如果归档日期差大于60天,表示超期未归档
-                    if(info.getArchiveDay()>60){
-                        // 超期天数
-                        Integer overdueDay = info.getArchiveDay() - 60;
+                    //如果归档日期差大于30天,表示超期未归档
+                    if(info.getArchiveDay()>=30){
                         info.setStatus("超期未归档");
-                        long n = (long) Math.ceil((double)(overdueDay) / 30);
+                        long n = (info.getArchiveDay()) / 30;
+                        long yu = (info.getArchiveDay()) % 30;
+                        if (yu>0){
+                            n+=1;
+                        }
                         String money = Long.toString(n * 200);
-                        info.setOverdueDay(String.valueOf(overdueDay));
+                        info.setOverdueDay(String.valueOf(info.getArchiveDay()));
                         info.setFineMoney(money);
                     }else{
-                        //如果归档日期差小于等于60天,表示暂时未归档
+                        //如果归档日期差小于等于30天,表示暂时未归档
                         info.setStatus("暂时未归档");
-                        info.setOverdueDay(String.valueOf(info.getArchiveDay() - 60));
+                        info.setOverdueDay(String.valueOf(info.getArchiveDay()));
                         info.setFineMoney("0");
                     }
                 } else {
                     //如果归档日期不为空,则表示该报告已归档
 
-                    //如果归档日期差大于60天,表示已超期归档
-                    if(info.getArchiveDay()>60){
-                        // 超期天数
-                        Integer overdueDay = info.getArchiveDay() - 60;
-
+                    //如果归档日期差大于30天,表示已超期归档
+                    if(info.getArchiveDay()>=30){
                         info.setStatus("已超期归档");
-                        long n = (long) Math.ceil((double)(overdueDay) / 30);
+                        long n = (info.getArchiveDay()) / 30;
+                        long yu = (info.getArchiveDay()) % 30;
+                        if (yu>0){
+                            n+=1;
+                        }
                         String money = Long.toString(n * 200);
-                        info.setOverdueDay(String.valueOf(overdueDay));
+                        info.setOverdueDay(String.valueOf(info.getArchiveDay() ));
                         info.setFineMoney(money);
                     }else{
-                        //如果归档日期差小于等于60天,表示已按时归档
+                        //如果归档日期差小于等于30天,表示已按时归档
                         info.setStatus("已按时归档");
-                        info.setOverdueDay(String.valueOf(info.getArchiveDay() - 60));
+                        info.setOverdueDay(String.valueOf(info.getArchiveDay()));
                         info.setFineMoney("0");
                     }
                 }

+ 4 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/CwReimbursementInfoMapper.java

@@ -67,5 +67,8 @@ public interface CwReimbursementInfoMapper extends BaseMapper<CwReimbursementInf
     List<CwReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(@Param("idList") List<String> idList);
 
     CwReimbursementInfo getById( @Param("id") String id);
-
+    @InterceptorIgnore(tenantLine = "true")
+    String findUserById(@Param("projectUser") String projectUser);
+    @InterceptorIgnore(tenantLine = "true")
+    String findOfficeById(@Param("projectOffice")String projectOffice);
 }

+ 10 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/xml/CwReimbursementInfoMapper.xml

@@ -76,6 +76,10 @@
 			a.source_type,
 			a.purchase_id,
 			a.reimbursement_type,
+			b.user_id as projectUser,
+			b.dept_id as projectOffice,
+			b3.user_id as reportUser,
+			b3.dept_id as reportOffice,
 			pru.purchase_no
 		FROM
 			cw_reimbursement_info a
@@ -642,4 +646,10 @@ select
 			resultType="com.jeeplus.finance.reimbursementApproval.approvalInfo.domain.CwReimbursementInfo">
 		select * from cw_reimbursement_info where id = #{id}
 	</select>
+	<select id="findUserById" resultType="string">
+		select name from sys_user where id = #{projectUser}
+	</select>
+	<select id="findOfficeById" resultType="string">
+		select name from sys_office where id = #{projectOffice}
+	</select>
 </mapper>

+ 15 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/CwReimbursementInfoService.java

@@ -242,7 +242,22 @@ public class CwReimbursementInfoService {
                     String proName = selectProjectByIds(item.getProjectId());
                     item.setProjectName(proName);
                 }
+                if (StringUtils.isBlank(item.getDeptName())){
+                    String name = infoMapper.findUserById(item.getProjectUser());
+                    item.setName(name);
+                    String office = infoMapper.findOfficeById(item.getProjectOffice());
+                    item.setDeptName(office);
+                }
+            }
+            if (StringUtils.isNotBlank(item.getSourceType()) && "3".equals(item.getSourceType())){//报告报销
+                if (StringUtils.isBlank(item.getDeptName())){
+                    String name = infoMapper.findUserById(item.getReportUser());
+                    item.setName(name);
+                    String office = infoMapper.findOfficeById(item.getReportOffice());
+                    item.setDeptName(office);
+                }
             }
+
         });
         return list;
     }

+ 11 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/dto/RetureListDto.java

@@ -125,4 +125,15 @@ public class RetureListDto {
      * 数据审核人  报销
      */
     private List<String> auditUserIds;
+
+    /**
+     * 项目报销人id,报销部门id
+     */
+    private String projectUser;
+    private String projectOffice;
+    /**
+     * 报告报销人id,报销部门id
+     */
+    private String reportUser;
+    private String reportOffice;
 }