Parcourir la source

提交修改优化

ioioio il y a 3 ans
Parent
commit
07b238262c

+ 3 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProject.java

@@ -165,4 +165,7 @@ public class ServiceProject  implements Serializable {
 
 	@TableField(exist = false)
 	private Integer countUserName;
+
+	@TableField(exist = false)
+	private BigDecimal total;
 }

+ 2 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -167,6 +167,8 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 
 	@TableField(exist = false)
 	private Integer countCorp;
+	@TableField(exist = false)
+	private BigDecimal total;
 
 
 }

+ 95 - 2
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -463,11 +463,62 @@ public class ProjectController {
 				e.setOct(serviceProject==null?BigDecimal.ZERO:serviceProject.getOct());//10
 				e.setNov(serviceProject==null?BigDecimal.ZERO:serviceProject.getNov());//11
 				e.setDece(serviceProject==null?BigDecimal.ZERO:serviceProject.getDece());//12
+				e.setTotal
+					(    e.getJan()
+						.add(e.getFeb())
+						.add(e.getMar())
+						.add(e.getApr())
+						.add(e.getMay())
+						.add(e.getJune())
+						.add(e.getJuly())
+						.add(e.getAug())
+						.add(e.getSept())
+						.add(e.getOct())
+						.add(e.getNov())
+						.add(e.getDece())
+					);
 			});
 			return R.data(itemList);
 		}
 		else if(flag==2)
 		{
+			List<ServiceProject> serviceProjectList = serviceProjectService.statisticalAnalysisOutData(AuthUtil.getTenantId(), year, null);
+			if(!CollectionUtils.isEmpty(serviceProjectList))
+			{
+				serviceProjectList.forEach(e->{
+					//统计服务费
+					ServiceProject serviceProject = calculateServiceCharge(null,e.getCorpId(), 2, year);
+					e.setJan(serviceProject==null?BigDecimal.ZERO:serviceProject.getJan());//1
+					e.setFeb(serviceProject==null?BigDecimal.ZERO:serviceProject.getFeb());//2
+					e.setMar(serviceProject==null?BigDecimal.ZERO:serviceProject.getMar());//3
+					e.setApr(serviceProject==null?BigDecimal.ZERO:serviceProject.getApr());//4
+					e.setMay(serviceProject==null?BigDecimal.ZERO:serviceProject.getMay());//5
+					e.setJune(serviceProject==null?BigDecimal.ZERO:serviceProject.getJune());//6
+					e.setJuly(serviceProject==null?BigDecimal.ZERO:serviceProject.getJuly());//7
+					e.setAug(serviceProject==null?BigDecimal.ZERO:serviceProject.getAug());//8
+					e.setSept(serviceProject==null?BigDecimal.ZERO:serviceProject.getSept());//9
+					e.setOct(serviceProject==null?BigDecimal.ZERO:serviceProject.getOct());//10
+					e.setNov(serviceProject==null?BigDecimal.ZERO:serviceProject.getNov());//11
+					e.setDece(serviceProject==null?BigDecimal.ZERO:serviceProject.getDece());//12
+					e.setTotal
+						(    e.getJan()
+							.add(e.getFeb())
+							.add(e.getMar())
+							.add(e.getApr())
+							.add(e.getMay())
+							.add(e.getJune())
+							.add(e.getJuly())
+							.add(e.getAug())
+							.add(e.getSept())
+							.add(e.getOct())
+							.add(e.getNov())
+							.add(e.getDece())
+						);
+				});
+				return R.data(serviceProjectList);
+			}
+
+/*
 			//获取结算时间为指定年的数据
 			LambdaQueryWrapper<ServiceProjectItem> itemLambdaQueryWrapper=new LambdaQueryWrapper<>();
 			itemLambdaQueryWrapper.apply(" year(pay_time) = '"+year+"'");
@@ -538,9 +589,22 @@ public class ProjectController {
 				e.setOct(serviceProject==null?BigDecimal.ZERO:serviceProject.getOct());//10
 				e.setNov(serviceProject==null?BigDecimal.ZERO:serviceProject.getNov());//11
 				e.setDece(serviceProject==null?BigDecimal.ZERO:serviceProject.getDece());//12
+				e.setTotal
+					(    e.getJan()
+						.add(e.getFeb())
+						.add(e.getMar())
+						.add(e.getApr())
+						.add(e.getMay())
+						.add(e.getJune())
+						.add(e.getJuly())
+						.add(e.getAug())
+						.add(e.getSept())
+						.add(e.getOct())
+						.add(e.getNov())
+						.add(e.getDece())
+					);
+			});*/
 
-			});
-			return R.data(projectList);
 		}
 		return R.data(Collections.EMPTY_LIST);
 	}
@@ -616,6 +680,20 @@ public class ProjectController {
 				e.setOct(serviceProject==null?BigDecimal.ZERO:serviceProject.getOct());//10
 				e.setNov(serviceProject==null?BigDecimal.ZERO:serviceProject.getNov());//11
 				e.setDece(serviceProject==null?BigDecimal.ZERO:serviceProject.getDece());//12
+				e.setTotal
+					(    e.getJan()
+					.add(e.getFeb())
+					.add(e.getMar())
+					.add(e.getApr())
+					.add(e.getMay())
+					.add(e.getJune())
+					.add(e.getJuly())
+					.add(e.getAug())
+					.add(e.getSept())
+					.add(e.getOct())
+					.add(e.getNov())
+					.add(e.getDece())
+				);
 			});
            return R.data(ipage);
 		}
@@ -693,6 +771,21 @@ public class ProjectController {
 				e.setNov(serviceProject==null?BigDecimal.ZERO:serviceProject.getNov());//11
 				e.setDece(serviceProject==null?BigDecimal.ZERO:serviceProject.getDece());//12
 
+				e.setTotal
+					(    e.getJan()
+						.add(e.getFeb())
+						.add(e.getMar())
+						.add(e.getApr())
+						.add(e.getMay())
+						.add(e.getJune())
+						.add(e.getJuly())
+						.add(e.getAug())
+						.add(e.getSept())
+						.add(e.getOct())
+						.add(e.getNov())
+						.add(e.getDece())
+					);
+
 			});
 			return R.data(iPage);
 		}

+ 2 - 0
blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectItemMapper.java

@@ -22,4 +22,6 @@ public interface ServiceProjectItemMapper extends BaseMapper<ServiceProjectItem>
 	List<ServiceProjectItem>  statisticalAnalysis(@Param("tenantId") String tenantId,@Param("userName") String userName,@Param("projectType") String projectType,@Param("deptid") String deptid,@Param("pname") String pname,@Param("status") String status,@Param("cornId") String cornId,@Param("payStartTime") String payStartTime,@Param("payEndTime") String payEndTime);
 
 	ServiceProject calculateServiceCharge(@Param("tenantId") String tenantId,@Param("year") String year,@Param("corpId") Long corpId,@Param("createUser") Long createUser,@Param("userName")String userName);
+
+    List<ServiceProject> statisticalAnalysisOutData(@Param("tenantId") String tenantId,@Param("year") Long year,@Param("corpId") Long corpId);
 }

+ 24 - 0
blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectItemMapper.xml

@@ -109,4 +109,28 @@
         </if>
     </select>
 
+
+    <select id="statisticalAnalysisOutData" resultType="org.springblade.project.entity.ServiceProject">
+    select
+    a.*,
+    b.cname as corpNames
+    from
+    (
+    select
+    a.corp_id ,
+    count(distinct b.userid) countUserName
+    from
+    service_project a,
+    service_project_item b
+    where b.p_id=a.id
+    and year(b.pay_time)=#{year}
+    and b.tenant_id=#{tenantId}
+    <if test="corpId!=null">
+        and  a.corp_id=#{corpId}
+    </if>
+    and a.corp_id is not null
+    group by a.corp_id
+    )a LEFT JOIN basic_corps_desc b on a.corp_id=b.id
+    </select>
+
 </mapper>

+ 2 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectService.java

@@ -41,4 +41,6 @@ public interface ServiceProjectService extends IService<ServiceProject>
     void settleAccounts(Long id,int status, String accountName,String accountBank,Date payTime, String accountNo);
 
 	ServiceProject calculateServiceCharge(String tenantId,  String year,  Long corpId,  Long createUser,String userName);
+
+	List<ServiceProject> statisticalAnalysisOutData(String tenantId,  Long year,  Long corpId);
 }

+ 6 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -479,6 +479,12 @@ public class ServiceProjectServiceImpl extends ServiceImpl<ServiceProjectMapper,
 		return serviceProjectItemMapper.calculateServiceCharge(tenantId,year,corpId,createUser,userName);
 	}
 
+	@Override
+	public List<ServiceProject> statisticalAnalysisOutData(String tenantId, Long year, Long corpId)
+	{
+		return serviceProjectItemMapper.statisticalAnalysisOutData(tenantId,year,corpId);
+	}
+
 	public void checkMoney(Long serviceId,List<ServiceProjectItem> items)
 	{
 		ServiceProject serviceProject = serviceProjectMapper.selectById(serviceId);