zhouli 9 months ago
parent
commit
ec59523bfa

+ 1 - 1
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/XmIntangibleAsset.java

@@ -58,7 +58,7 @@ public class XmIntangibleAsset extends TenantEntity {
 	private String userUnicode;
 
 	@Schema(description = "使用人名称")
-	@NotNull(message = "使用人名称不能为空")
+//	@NotNull(message = "使用人名称不能为空")
 	private String userName;
 
 	@TableField(exist = false)

+ 2 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmMapper.xml

@@ -113,8 +113,8 @@
             COALESCE( (SELECT bgrz.BGHDZ FROM kd_xm_bgrz bgrz WHERE bgrz.XM_ID = xm.id AND bgrz.ZDMC = 'XMYSZEMX' and bgrz.BGSXSJ <![CDATA[<=]]> now() ORDER BY bgrz.BGSXSJ DESC LIMIT 1),xm.XMYSZEMX) AS XMYSZEMX,
             (select sum(ZZSC*PJRGFY) from kd_ys_ryrgfy where XM_ID = #{xmId}) as ryrgfy,
             (select sum(yong_liang*dan_jia) from kd_ys_zjtrfy where XM_ID = #{xmId}) as zjtrfy,
-            (select sum(ZZSC*100+CQDTFYYSJE) from kd_ys_zjfyycqdtfy where XM_ID = #{xmId}) as zjfyycqdtfy,
-            (select sum(ZZSC*100) from kd_ys_wxzctxfy where XM_ID = #{xmId}) as wxzctxfy,
+            (select sum(ZZSC*YZJE+CQDTFYYSJE) from kd_ys_zjfyycqdtfy t where XM_ID = #{xmId}) as zjfyycqdtfy,
+            (select sum(ZZSC*YZJE) from kd_ys_wxzctxfy where XM_ID = #{xmId}) as wxzctxfy,
             (select sum(YSJE) from kd_ys_sjfy where XM_ID = #{xmId}) as sjfy,
             (select sum(YSJE) from kd_ys_zbtsysyfy where XM_ID = #{xmId}) as zbtsysyfy,
             (select sum(WWFY) from kd_ys_wtwbyjkffy where XM_ID = #{xmId}) as wtwbyjkffy,

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

@@ -102,7 +102,7 @@ public class XmCqdtfyServiceImpl extends BaseServiceImpl<XmCqdtfyMapper, XmCqdtf
 		}
 		//查询本月数据,若有,则不能导入
 		Long count = baseMapper.selectCount(Wrappers.<XmCqdtfyEntity>lambdaQuery().eq(XmCqdtfyEntity::getYearAndMonth, yearAndMonth));
-		if(count == 0){
+		if(count > 0){
 			throw new ServiceException("有数据,需要删除"+yearAndMonth+"的数据才能导入");
 		}
 		//查询上月数据
@@ -113,6 +113,7 @@ public class XmCqdtfyServiceImpl extends BaseServiceImpl<XmCqdtfyMapper, XmCqdtf
 		}
 		List<XmCqdtfyEntity> insertList = new ArrayList<>();
 		for (XmCqdtfyEntity entity : lastMonthDataList) {
+			entity.setYearAndMonth(yearAndMonth);
 			entity.setId(null);
 			entity.setCreateUser(null);
 			entity.setCreateDept(null);

+ 17 - 4
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmIntangibleAssetServiceImpl.java

@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 研发项目无形资产表 服务实现类
@@ -77,22 +78,30 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 		List<XmIntangibleAsset> lastMonthList = baseMapper.selectListByYearAndMonth(DateUtil.format(lastDate, DateUtil.PATTERN_YYYYMM));
 
 		List<String> zcbmList = thisMonthList.stream().map(XmIntangibleAsset::getZcbm).toList();
+		Map<Long, List<XmIntangibleAsset>> c1 = thisMonthList.stream().collect(Collectors.groupingBy(XmIntangibleAsset::getXmId));
+
 		if (!CollectionUtil.isEmpty(lastMonthList)) {
 			//复制上个月数据到本月
 			List<XmIntangibleAsset> insertList = new ArrayList<>();
 			for (XmIntangibleAsset dbAsset : lastMonthList) {
 				//本月为包含dbAsset,新增
-				if (Func.contains(new List[]{zcbmList}, dbAsset.getZcbm())) {
+//				if (!Func.contains(new List[]{zcbmList}, dbAsset.getZcbm())) {
+				if(Func.isNotEmpty(c1.get(dbAsset.getXmId())) && c1.get(dbAsset.getXmId()).stream().anyMatch(item -> Func.equals(item.getZcbm(), dbAsset.getZcbm()))){
+					continue;
+				}
+//				if (!Func.contains(new List[]{zcbmList}, dbAsset.getZcbm())) {
 					XmIntangibleAsset asset = new XmIntangibleAsset();
 					asset.setYearAndMonth(yearAndMonth);
 					asset.setXmId(dbAsset.getXmId());
 					asset.setAssetId(dbAsset.getAssetId());
 					asset.setZcbm(dbAsset.getZcbm());
 					insertList.add(asset);
-				}
+//				}
 			}
 			if (CollectionUtil.isNotEmpty(insertList)) {
 				return this.saveBatch(insertList);
+			}else {
+				throw new ServiceException("无数据可引入");
 			}
 		} else {
 			//若无,则获取预算表中的无形资产,研发项目周期(含变更)包含本月的
@@ -102,7 +111,10 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 			}
 			List<XmIntangibleAsset> insertList = new ArrayList<>();
 			for (YsWxzctxfyVO ys : ysList) {
-				if (CollectionUtil.isNotEmpty(zcbmList) && zcbmList.contains(ys.getZcbm())) {
+//				if (CollectionUtil.isNotEmpty(zcbmList) && zcbmList.contains(ys.getZcbm())) {
+//					continue;
+//				}
+				if(Func.isNotEmpty(c1.get(ys.getXmId())) && c1.get(ys.getXmId()).stream().anyMatch(item -> Func.equals(item.getZcbm(), ys.getZcbm()))){
 					continue;
 				}
 				XmIntangibleAsset asset = new XmIntangibleAsset();
@@ -114,9 +126,10 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 			}
 			if (CollectionUtil.isNotEmpty(insertList)) {
 				return this.saveBatch(insertList);
+			}else {
+				throw new ServiceException("无数据可引入");
 			}
 		}
-		return true;
 	}
 
 	@Override

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

@@ -156,6 +156,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 	@Override
 	public XmVO selectByXmId(Long xmId) {
 		XmVO xmVO = baseMapper.selectByXmId(xmId);
+		xmVO.setXmfzrxm(technicianMapper.getNameById(xmVO.getXmfzr()));
 		xmVO.setXmsqdw(departmentMapper.getFullNameById(xmVO.getXmsqdwid()));
 		return xmVO;
 	}