Browse Source

对外报表2

zhouli 9 months ago
parent
commit
f8c30bde06

+ 0 - 4
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/vo/HighTechYBVO.java

@@ -43,11 +43,7 @@ public class HighTechYBVO extends HighTechYB {
 	@Schema(description = "当年获得软件著作权")
 	private Integer d11;
 
-
-
 	@Schema(description = "科技人员数")
 	private Integer d14;
 
-
-
 }

+ 4 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/CgRjzzqMapper.java

@@ -1,6 +1,7 @@
 
 package org.sky.scientific.mapper;
 
+import org.sky.core.tenant.annotation.TenantIgnore;
 import org.sky.scientific.pojo.entity.CgRjzzqEntity;
 import org.sky.scientific.pojo.vo.CgRjzzqVO;
 import org.sky.scientific.excel.CgRjzzqExcel;
@@ -37,4 +38,7 @@ public interface CgRjzzqMapper extends BaseMapper<CgRjzzqEntity> {
 	List<CgRjzzqExcel> exportCgRjzzq(@Param("ew") Wrapper<CgRjzzqEntity> queryWrapper);
 
     boolean physicalDeleteByIds(List<Long> ids);
+
+	@TenantIgnore
+	Long countByYear(@Param("year") String year, @Param("tenantId") String tenantId);
 }

+ 4 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/CgRjzzqMapper.xml

@@ -39,6 +39,10 @@
         SELECT * FROM kd_cg_rjzzq ${ew.customSqlSegment}
     </select>
 
+    <select id="countByYear" resultType="java.lang.Long">
+        select ifnull(count(*),0) from kd_cg_rjzzq where DJPZRQ is not null and left(DJPZRQ,4) = #{year} and tenant_id = #{tenantId}
+    </select>
+
     <delete id="physicalDeleteByIds">
         DELETE FROM kd_cg_rjzzq WHERE id IN
         <foreach item="item" index="index" collection="list" separator="," open="(" close=")">

+ 91 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/EnterpriseInfoServiceImpl.java

@@ -50,6 +50,8 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
 	private final CgZlMapper zlMapper;
 	private final CgKylwMapper kylwMapper;
 	private final CgJsbzMapper jsbzMapper;
+	private final CgRjzzqMapper rjzzqMapper;
+	private final CgQtMapper qtMapper;
 
 	@Override
 	@Transactional
@@ -106,6 +108,12 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
 
 	@Override
 	public List<A107_1VO> qyyjkfxmqk(String year) {
+		if(Func.isNull(year)){
+			throw new ServiceException("参数year不能为空");
+		}
+		if(year.length() != 4){
+			throw new ServiceException("参数year为年份,如2025");
+		}
 		List<A107_1VO> list = a107_1Mapper.qyyjkfxmqk(year, SecureUtil.getTenantId());
 		return list;
 	}
@@ -126,6 +134,13 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
 
 	@Override
 	public A107_2VO qyyjkfhdjxgfy(String year) {
+		if(Func.isNull(year)){
+			throw new ServiceException("参数year不能为空");
+		}
+		if(year.length() != 4){
+			throw new ServiceException("参数year为年份,如2025");
+		}
+
 
 		A107_2VO vo = new A107_2VO();
 		A107_2 db = a107_2Mapper.selectOne(Wrappers.<A107_2>lambdaQuery().eq(A107_2::getYearAndMonth, year).eq(A107_2::getTenantId, SecureUtil.getTenantId()));
@@ -278,7 +293,16 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
 
 	@Override
 	public A107012VO yffyjjkcyhmxb(String year) {
-		return new A107012VO();
+		if(Func.isNull(year)){
+			throw new ServiceException("参数year不能为空");
+		}
+		if(year.length() != 4){
+			throw new ServiceException("参数year为年份,如2025");
+		}
+		A107012VO vo = new A107012VO();
+
+
+		return vo;
 	}
 
 	@Override
@@ -314,7 +338,72 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
 
 	@Override
 	public HighTechYBVO gqnb(String year) {
-		return new HighTechYBVO();
+
+		if(Func.isNull(year)){
+			throw new ServiceException("参数year不能为空");
+		}
+		if(year.length() != 4){
+			throw new ServiceException("参数year为年份,如2025");
+		}
+		HighTechYBVO vo = new HighTechYBVO();
+
+		HighTechYB db = highTechYbMapper.selectOne(Wrappers.<HighTechYB>lambdaQuery().eq(HighTechYB::getYearAndMonth, year));
+		if(Func.notNull(db)){
+			vo.setD13(db.getD13());
+			vo.setD15(db.getD15());
+			vo.setD16(db.getD16());
+		}
+		Date dateMin = DateUtil.parse(year+"-01-01", DateUtil.PATTERN_DATE);
+		Date dateMax = DateUtil.parse(year+"-12-31", DateUtil.PATTERN_DATE);
+		List<CgZlEntity> zlList = zlMapper.selectList(Wrappers.<CgZlEntity>lambdaQuery().between(CgZlEntity::getShouquanRq, dateMin, dateMax));
+		int d2=0,d3=0,d9=0,d10=0;
+		if(Func.isNotEmpty(zlList)){
+			d2 = (int) zlList.stream().filter(item -> Func.equals(item.getZllx(), "发明专利")).count();
+			d3 = (int) zlList.stream().filter(item -> Func.equals(item.getZllx(), "发明专利") && Func.equals(item.getSfgfzl(), "是")).count();
+			d9 = (int) zlList.stream().filter(item -> Func.equals(item.getZllx(), "实用新型专利")).count();
+			d10 = (int) zlList.stream().filter(item -> Func.equals(item.getZllx(), "外观专利")).count();
+		}
+		vo.setD2(d2);
+		vo.setD3(d3);
+		vo.setD9(d9);
+		vo.setD10(d10);
+
+		int d4=0,d5=0,d6=0,d7=0,d8=0;
+		List<CgQtEntity> qtList = qtMapper.selectList(Wrappers.<CgQtEntity>lambdaQuery().between(CgQtEntity::getShouquanRq, dateMin, dateMax));
+		if(Func.isNotEmpty(qtList)){
+			d4 = (int) qtList.stream().filter(item-> Func.equals(item.getCmlx(), "植物新品种")).count();
+			d5 = (int) qtList.stream().filter(item-> Func.equals(item.getCmlx(), "国家级农作物品种")).count();
+			d6 = (int) qtList.stream().filter(item-> Func.equals(item.getCmlx(), "国家新药")).count();
+			d7 = (int) qtList.stream().filter(item-> Func.equals(item.getCmlx(), "国家一级中药保护品种")).count();
+			d8 = (int) qtList.stream().filter(item-> Func.equals(item.getCmlx(), "集成电路布图设计专有权")).count();
+		}
+		vo.setD4(d4);
+		vo.setD5(d5);
+		vo.setD6(d6);
+		vo.setD7(d7);
+		vo.setD8(d8);
+
+		Query query = new Query();
+		query.setCurrent(1);
+		query.setSize(Integer.MAX_VALUE);
+		IPage<TechnicianVO> page = Condition.getPage(query);
+		TechnicianDTO dto = new TechnicianDTO();
+		dto.setYearAndMonth(year);
+		dto.setTenantId(SecureUtil.getTenantId());
+		List<TechnicianVO> technicianVOList = technicianMapper.niandugaokejirenyuanhuizongbiao(page, dto);
+
+		int d14=0 ;
+		if(Func.isNotEmpty(technicianVOList)){
+			d14 = technicianVOList.size();
+		}
+		//科技人员数
+		vo.setD14(d14);
+
+		//当年获得软件著作权
+		Long count = rjzzqMapper.countByYear(year, SecureUtil.getTenantId());
+		vo.setD11(count.intValue());
+
+		return vo;
 	}
 
 	@Override

+ 1 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmCostDetailsServiceImpl.java

@@ -551,7 +551,7 @@ public class XmCostDetailsServiceImpl extends BaseServiceImpl<XmCostDetailsMappe
 
 
 			//前五项小计=1、人员人工费用+2、直接投入费用+3、折旧费用+4、无形资产摊销+5、新产品设计费等
-			fyhSummary.setTotal(summary.getTotal_qt().add(fyhSummary.getTotal().add(fyhSummary.getRyrgTotal().add(fyhSummary.getZjtrTotal()).add(fyhSummary.getZjfyTotal()).add(fyhSummary.getWxzctxTotal()).add(fyhSummary.getXcpsjfd()))));
+			fyhSummary.setTotal(fyhSummary.getRyrgTotal().add(fyhSummary.getZjtrTotal()).add(fyhSummary.getZjfyTotal()).add(fyhSummary.getWxzctxTotal()).add(fyhSummary.getXcpsjfd()));
 			zbhSummary.setTotal(zbhSummary.getRyrgTotal().add(zbhSummary.getZjtrTotal()).add(zbhSummary.getZjfyTotal()).add(zbhSummary.getWxzctxTotal()).add(zbhSummary.getXcpsjfd()));
 
 			zbhSummary.setWtjnfyAdjust(zbhSummary.getWtjnfyAdjust().multiply(new BigDecimal("0.8")));