zhouli 6 months ago
parent
commit
3ecdcda6ac

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

@@ -6,6 +6,7 @@ import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resource;
@@ -75,17 +76,34 @@ public class CgJsbzServiceImpl extends BaseServiceImpl<CgJsbzMapper, CgJsbzEntit
 				}
 				}
 				jsbzDTO.setXmId(xmId);
 				jsbzDTO.setXmId(xmId);
 			}
 			}
-			this.save(jsbzDTO);
+			if (isDuplicate(jsbzDTO)) {
+				throw new ServiceException("标准号/标准名称已存在");
+			}
+//			List<CgJsbzEntity> dbList = baseMapper.selectList(Wrappers.<CgJsbzEntity>lambdaQuery().eq(CgJsbzEntity::getZbmc, excel.getZbmc()).or().eq(CgJsbzEntity::getZbh, excel.getZbh()));
+//			if (dbList.isEmpty()) {
+//				this.save(jsbzDTO);
+//			} else if (dbList.size() == 1) {
+//				jsbzDTO.setId(dbList.get(0).getId());
+//				this.updateById(jsbzDTO);
+//			} else {
+//				throw new ServiceException("标准号/标准名称已存在");
+//			}
 		}
 		}
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean save(CgJsbzEntity cgJsbz) {
 	public boolean save(CgJsbzEntity cgJsbz) {
+		if (isDuplicate(cgJsbz)) {
+			throw new ServiceException("标准号/标准名称已存在");
+		}
 		return super.save(cgJsbz);
 		return super.save(cgJsbz);
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean update(CgJsbzEntity cgJsbz) {
 	public boolean update(CgJsbzEntity cgJsbz) {
+		if (isDuplicate(cgJsbz)) {
+			throw new ServiceException("标准号/标准名称已存在");
+		}
 		CgJsbzEntity dbJsbz = this.getById(cgJsbz.getId());
 		CgJsbzEntity dbJsbz = this.getById(cgJsbz.getId());
 		if (!Objects.equals(dbJsbz.getXmbh(), cgJsbz.getXmbh())) {
 		if (!Objects.equals(dbJsbz.getXmbh(), cgJsbz.getXmbh())) {
 			XmEntity dbXm = xmMapper.selectOne(Wrappers.<XmEntity>lambdaQuery().eq(XmEntity::getXmbh, cgJsbz.getXmbh()));
 			XmEntity dbXm = xmMapper.selectOne(Wrappers.<XmEntity>lambdaQuery().eq(XmEntity::getXmbh, cgJsbz.getXmbh()));
@@ -95,6 +113,19 @@ public class CgJsbzServiceImpl extends BaseServiceImpl<CgJsbzMapper, CgJsbzEntit
 		return updateById(cgJsbz);
 		return updateById(cgJsbz);
 	}
 	}
 
 
+	private boolean isDuplicate(CgJsbzEntity cgJsbz) {
+		LambdaQueryWrapper<CgJsbzEntity> wrapper = Wrappers.<CgJsbzEntity>lambdaQuery()
+			.eq(CgJsbzEntity::getZbh, cgJsbz.getZbh()).or().eq(CgJsbzEntity::getZbmc, cgJsbz.getZbmc());
+		List<CgJsbzEntity> list = baseMapper.selectList(wrapper);
+		if (Func.isEmpty(list)) {
+			return false;
+		}
+		if (list.size() == 1) {
+			return cgJsbz.getId() == null || !Func.equals(cgJsbz.getId(), list.get(0).getId());
+		}
+		return true;
+	}
+
 	@Override
 	@Override
 	public boolean physicalDeleteByIds(List<Long> ids) {
 	public boolean physicalDeleteByIds(List<Long> ids) {
 		return baseMapper.physicalDeleteByIds(ids);
 		return baseMapper.physicalDeleteByIds(ids);

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

@@ -6,6 +6,7 @@ import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resource;
@@ -102,18 +103,26 @@ public class CgKylwServiceImpl extends BaseServiceImpl<CgKylwMapper, CgKylwEntit
 				}
 				}
 				kylwDTO.setXmId(xmId);
 				kylwDTO.setXmId(xmId);
 			}
 			}
+			if(isDuplicate(kylwDTO)){
+				throw new ServiceException("论文名称已存在");
+			}
 			this.save(kylwDTO);
 			this.save(kylwDTO);
 		}
 		}
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean save(CgKylwEntity cgKylw) {
 	public boolean save(CgKylwEntity cgKylw) {
-
+		if(isDuplicate(cgKylw)){
+			throw new ServiceException("论文名称已存在");
+		}
 		return super.save(cgKylw);
 		return super.save(cgKylw);
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean update(CgKylwEntity cgKylw) {
 	public boolean update(CgKylwEntity cgKylw) {
+		if(isDuplicate(cgKylw)){
+			throw new ServiceException("论文名称已存在");
+		}
 		CgKylwEntity dbKylw = this.getById(cgKylw.getId());
 		CgKylwEntity dbKylw = this.getById(cgKylw.getId());
 		if (!Objects.equals(dbKylw.getXmbh(), cgKylw.getXmbh())) {
 		if (!Objects.equals(dbKylw.getXmbh(), cgKylw.getXmbh())) {
 			XmEntity dbXm = xmMapper.selectOne(Wrappers.<XmEntity>lambdaQuery().eq(XmEntity::getXmbh, cgKylw.getXmbh()));
 			XmEntity dbXm = xmMapper.selectOne(Wrappers.<XmEntity>lambdaQuery().eq(XmEntity::getXmbh, cgKylw.getXmbh()));
@@ -123,6 +132,19 @@ public class CgKylwServiceImpl extends BaseServiceImpl<CgKylwMapper, CgKylwEntit
 		return updateById(cgKylw);
 		return updateById(cgKylw);
 	}
 	}
 
 
+	private boolean isDuplicate(CgKylwEntity cgKylw) {
+		LambdaQueryWrapper<CgKylwEntity> wrapper = Wrappers.<CgKylwEntity>lambdaQuery()
+			.eq(CgKylwEntity::getLwmc, cgKylw.getLwmc());
+		List<CgKylwEntity> list = baseMapper.selectList(wrapper);
+		if (Func.isEmpty(list)) {
+			return false;
+		}
+		if (list.size() == 1) {
+			return cgKylw.getId() == null || !Func.equals(cgKylw.getId(), list.get(0).getId());
+		}
+		return true;
+	}
+
 	@Override
 	@Override
 	public boolean physicalDeleteByIds(List<Long> ids) {
 	public boolean physicalDeleteByIds(List<Long> ids) {
 		return baseMapper.physicalDeleteByIds(ids);
 		return baseMapper.physicalDeleteByIds(ids);

+ 23 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/CgQtServiceImpl.java

@@ -7,6 +7,7 @@ import com.alibaba.excel.support.ExcelTypeEnum;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resource;
@@ -76,17 +77,26 @@ public class CgQtServiceImpl extends BaseServiceImpl<CgQtMapper, CgQtEntity> imp
 				}
 				}
 				qtDTO.setXmId(xmId);
 				qtDTO.setXmId(xmId);
 			}
 			}
+			if(isDuplicate(qtDTO)){
+				throw new ServiceException("成果编号/成果名称已存在");
+			}
 			this.save(qtDTO);
 			this.save(qtDTO);
 		}
 		}
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean save(CgQtEntity cgQt) {
 	public boolean save(CgQtEntity cgQt) {
+		if(isDuplicate(cgQt)){
+			throw new ServiceException("成果编号/成果名称已存在");
+		}
 		return super.save(cgQt);
 		return super.save(cgQt);
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean update(CgQtEntity cgQt) {
 	public boolean update(CgQtEntity cgQt) {
+		if(isDuplicate(cgQt)){
+			throw new ServiceException("成果编号/成果名称已存在");
+		}
 		CgQtEntity dbQt = this.getById(cgQt.getId());
 		CgQtEntity dbQt = this.getById(cgQt.getId());
 		if (!Objects.equals(dbQt.getXmbh(), cgQt.getXmbh())) {
 		if (!Objects.equals(dbQt.getXmbh(), cgQt.getXmbh())) {
 			XmEntity dbXm = xmMapper.selectOne(Wrappers.<XmEntity>lambdaQuery().eq(XmEntity::getXmbh, cgQt.getXmbh()));
 			XmEntity dbXm = xmMapper.selectOne(Wrappers.<XmEntity>lambdaQuery().eq(XmEntity::getXmbh, cgQt.getXmbh()));
@@ -107,6 +117,19 @@ public class CgQtServiceImpl extends BaseServiceImpl<CgQtMapper, CgQtEntity> imp
 		return page.setRecords(list);
 		return page.setRecords(list);
 	}
 	}
 
 
+	private boolean isDuplicate(CgQtEntity cgQt) {
+		LambdaQueryWrapper<CgQtEntity> wrapper = Wrappers.<CgQtEntity>lambdaQuery()
+			.eq(CgQtEntity::getCgbh, cgQt.getCgbh()).or().eq(CgQtEntity::getCgmc, cgQt.getCgmc());
+		List<CgQtEntity> list = baseMapper.selectList(wrapper);
+		if (Func.isEmpty(list)) {
+			return false;
+		}
+		if (list.size() == 1) {
+			return cgQt.getId()==null || !Func.equals(cgQt.getId(), list.get(0).getId());
+		}
+		return true;
+	}
+
 	@SneakyThrows
 	@SneakyThrows
 	@Override
 	@Override
 	public void exportXmCgSummary(OutputStream os, List<XmCGSummary> list) {
 	public void exportXmCgSummary(OutputStream os, List<XmCGSummary> list) {

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

@@ -86,7 +86,7 @@ public class CgRjzzqServiceImpl extends BaseServiceImpl<CgRjzzqMapper, CgRjzzqEn
 
 
 	@Override
 	@Override
 	public boolean updateRjzzq(CgRjzzqEntity rjzzq) {
 	public boolean updateRjzzq(CgRjzzqEntity rjzzq) {
-		if (!isDuplicate(rjzzq)) {
+		if (isDuplicate(rjzzq)) {
 			throw new ServiceException("软件名称已存在");
 			throw new ServiceException("软件名称已存在");
 		}
 		}
 		return updateById(rjzzq);
 		return updateById(rjzzq);
@@ -99,10 +99,10 @@ public class CgRjzzqServiceImpl extends BaseServiceImpl<CgRjzzqMapper, CgRjzzqEn
 		if (Func.isEmpty(list)) {
 		if (Func.isEmpty(list)) {
 			return false;
 			return false;
 		}
 		}
-		if (list.size() > 1) {
-			return true;
+		if (list.size() == 1) {
+			return rjzzq.getId() == null || !Func.equals(rjzzq.getId(), list.get(0).getId());
 		}
 		}
-		return !Func.notNull(rjzzq.getId()) || Objects.equals(rjzzq.getId(), list.get(0).getId());
+		return true;
 	}
 	}
 
 
 	@Override
 	@Override

+ 8 - 8
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/CgZlServiceImpl.java

@@ -69,7 +69,7 @@ public class CgZlServiceImpl extends BaseServiceImpl<CgZlMapper, CgZlEntity> imp
 		}
 		}
 		for (CgZlExcel excel : dataList) {
 		for (CgZlExcel excel : dataList) {
 			CgZlEntity zlDTO = Objects.requireNonNull(BeanUtil.copyProperties(excel, CgZlEntity.class));
 			CgZlEntity zlDTO = Objects.requireNonNull(BeanUtil.copyProperties(excel, CgZlEntity.class));
-			if(isDuplicate(zlDTO)){
+			if (isDuplicate(zlDTO)) {
 				throw new ServiceException("专利号/专利名称已存在");
 				throw new ServiceException("专利号/专利名称已存在");
 			}
 			}
 			if (StringUtil.isNotBlank(excel.getXmbh())) {
 			if (StringUtil.isNotBlank(excel.getXmbh())) {
@@ -83,22 +83,22 @@ public class CgZlServiceImpl extends BaseServiceImpl<CgZlMapper, CgZlEntity> imp
 		}
 		}
 	}
 	}
 
 
-	private boolean isDuplicate(CgZlEntity cgZl){
+	private boolean isDuplicate(CgZlEntity cgZl) {
 		LambdaQueryWrapper<CgZlEntity> wrapper = Wrappers.<CgZlEntity>lambdaQuery()
 		LambdaQueryWrapper<CgZlEntity> wrapper = Wrappers.<CgZlEntity>lambdaQuery()
 			.eq(CgZlEntity::getZlmc, cgZl.getZlmc()).or().eq(CgZlEntity::getZlh, cgZl.getZlh());
 			.eq(CgZlEntity::getZlmc, cgZl.getZlmc()).or().eq(CgZlEntity::getZlh, cgZl.getZlh());
 		List<CgZlEntity> list = baseMapper.selectList(wrapper);
 		List<CgZlEntity> list = baseMapper.selectList(wrapper);
-		if(Func.isEmpty(list)){
+		if (Func.isEmpty(list)) {
 			return false;
 			return false;
 		}
 		}
-		if(list.size() > 1){
-			return true;
+		if (list.size() == 1) {
+			return cgZl.getId()==null || !Func.equals(cgZl.getId(), list.get(0).getId());
 		}
 		}
-		return !Func.notNull(cgZl.getId()) || Objects.equals(cgZl.getId(), list.get(0).getId());
+		return true;
 	}
 	}
 
 
 	@Override
 	@Override
 	public boolean save(CgZlEntity cgZl) {
 	public boolean save(CgZlEntity cgZl) {
-		if(isDuplicate(cgZl)){
+		if (isDuplicate(cgZl)) {
 			throw new ServiceException("专利号/专利名称已存在");
 			throw new ServiceException("专利号/专利名称已存在");
 		}
 		}
 		return super.save(cgZl);
 		return super.save(cgZl);
@@ -106,7 +106,7 @@ public class CgZlServiceImpl extends BaseServiceImpl<CgZlMapper, CgZlEntity> imp
 
 
 	@Override
 	@Override
 	public boolean update(CgZlEntity cgZl) {
 	public boolean update(CgZlEntity cgZl) {
-		if(!isDuplicate(cgZl)){
+		if (isDuplicate(cgZl)) {
 			throw new ServiceException("专利号/专利名称已存在");
 			throw new ServiceException("专利号/专利名称已存在");
 		}
 		}
 		return updateById(cgZl);
 		return updateById(cgZl);

BIN
kd-service/kd-scientific/src/main/resources/export-template/研发费用管理/直接投入费用/直接投入费用汇总表P081.xls