zhouli 5 months ago
parent
commit
e1fd0abe78

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

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.EqualsAndHashCode;
 import org.sky.core.tenant.mp.TenantEntity;
 import java.io.Serial;
+import java.math.BigDecimal;
 
 /**
  * 项目预算-人员人工费用 实体类
@@ -38,6 +39,6 @@ public class YsRyrgfyEntity extends TenantEntity {
 
 	@NotNull(message = "请填写月平均人工费用")
 	@Schema(description = "月平均人工费用/元")
-	private Double pjrgfy;
+	private BigDecimal pjrgfy;
 
 }

+ 2 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/YsRyrgfyExcel.java

@@ -9,6 +9,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 
 /**
@@ -37,6 +38,6 @@ public class YsRyrgfyExcel implements Serializable {
 	private Integer zzsc;
  	@Schema(description = "月平均人工费用/万元")
 	@NotNull(message = "月平均人工费用/万元不能为空")
-	private Double pjrgfy;
+	private BigDecimal pjrgfy;
 
 }

+ 3 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/YsZjfyycqdtfyExcel.java

@@ -8,6 +8,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 
 /**
@@ -34,12 +35,12 @@ public class YsZjfyycqdtfyExcel implements Serializable {
 	private Integer zzsc;
 
  	@Schema(description = "预算金额/万元")
-	private Double ysje;
+	private BigDecimal ysje;
 
  	@Schema(description = "长期待摊费用名称")
 	private String cqdtfymc;
 
  	@Schema(description = "预算金额")
-	private Double cqdtfyysje;
+	private BigDecimal cqdtfyysje;
 
 }

+ 3 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/listener/YsRyrgfyImportListener.java

@@ -8,6 +8,7 @@ import org.sky.scientific.excel.YsRyrgfyExcel;
 import org.sky.scientific.utils.ImportResult;
 import org.sky.scientific.utils.ValidationUtils;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -50,11 +51,11 @@ public class YsRyrgfyImportListener extends BaseReadListener {
 
 		String pjrgfy = data.get(5);
 		if(Func.isNotBlank(pjrgfy)){
-			excel.setPjrgfy(ValidationUtils.safeParseDouble(pjrgfy));
+			excel.setPjrgfy(ValidationUtils.safeParseBigDecimal(pjrgfy));
 			if (Func.isNull(excel.getPjrgfy())) {
 				errors.add("月平均人工费用(元)数据格式错误");
 			}else {
-				excel.setPjrgfy(excel.getPjrgfy() * 10000);
+				excel.setPjrgfy(excel.getPjrgfy().multiply(BigDecimal.valueOf(10000)));
 			}
 		}
 		errors.addAll(ValidationUtils.validate(excel));

+ 4 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/listener/YsZjfyycqdtfyImportListener.java

@@ -8,6 +8,7 @@ import org.sky.scientific.excel.YsZjfyycqdtfyExcel;
 import org.sky.scientific.utils.ImportResult;
 import org.sky.scientific.utils.ValidationUtils;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -47,13 +48,14 @@ public class YsZjfyycqdtfyImportListener extends BaseReadListener {
 		}
 
 		excel.setCqdtfymc(data.get(5));
+
  		String cqdtfyysje = data.get(6);
 		if(Func.isNotBlank(cqdtfyysje)){
-			excel.setCqdtfyysje(ValidationUtils.safeParseDouble(cqdtfyysje));
+			excel.setCqdtfyysje(ValidationUtils.safeParseBigDecimal(cqdtfyysje));
 			if (Func.isNull(excel.getCqdtfyysje())) {
 				errors.add("长期待摊费用预算金额数据格式错误");
 			}else {
-				excel.setCqdtfyysje(excel.getCqdtfyysje() * 10000);
+				excel.setCqdtfyysje(excel.getCqdtfyysje().multiply(new BigDecimal("10000")));
 			}
 		}
 		errors.addAll(ValidationUtils.validate(excel));

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

@@ -94,7 +94,7 @@ public class YsQtfyServiceImpl extends BaseServiceImpl<YsQtfyMapper, YsQtfyEntit
 			.doRead();
 		List<Object> dataList = listener.getDataList();
 		if (Func.isEmpty(dataList)) {
-			throw new ServiceException("读取导入数据失败,请检查数据");
+			throw new ServiceException("未能读取到数据,请检查");
 		}
 
 		List<YsQtfyEntity> insertList = new ArrayList<>();

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

@@ -1,6 +1,7 @@
 
 package org.sky.scientific.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.support.ExcelTypeEnum;
@@ -36,6 +37,7 @@ import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -63,8 +65,7 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 			if (Func.notNull(vo.getTechnician())) {
 				vo.getTechnician().setForeign(!"在职".equals(vo.getTechnician().getNature()));
 			}
-//			vo.setPjrgfy(vo.getPjrgfy() / 10000);
-		}
+ 		}
 		return page.setRecords(dataList);
 	}
 
@@ -107,9 +108,6 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 			excel.setIdCard(Func.isBlank(excel.getIdCard()) ? null : excel.getIdCard().trim());
 
 			Long technicianId = technicianMapper.getIdByNumberAndIdentityCard(excel.getNumber(), excel.getIdCard(), DateUtil.format(xmVO.getXmkssj(), DateUtil.PATTERN_YYYYMM));
-//			List<Long> list = dbTechnicianList.stream()
-//				.filter(technician -> Func.equals(technician.getNumber(), excel.getNumber()) || Func.equals(technician.getIdCard(), excel.getIdCard()))
-//				.map(TechnicianEntity::getId).toList();
 			if (technicianId == null) {
 				throw new ServiceException("[" + excel.getName() + "]不存在");
 			}
@@ -117,9 +115,8 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 			if (dbYsList.stream().anyMatch(ys -> Func.equals(ys.getTechnicianId(), technicianId))) {
 				throw new ServiceException("[" + excel.getName() + "]已在预算表中");
 			}
+			BeanUtil.copyProperties(excel, entity);
 			entity.setTechnicianId(technicianId);
-			entity.setZzsc(excel.getZzsc());
-			entity.setPjrgfy(excel.getPjrgfy() * 10000);
 			entity.setXmId(xmId);
 			insertList.add(entity);
 
@@ -149,9 +146,9 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 			obj.put("number", Func.notNull(technician) ? technician.getNumber() : "");
 			obj.put("idCard", Func.notNull(technician) ? technician.getIdCard() : "");
 			obj.put("zzsc", temp.getZzsc());
-			temp.setPjrgfy(temp.getPjrgfy() / 10000);
+			temp.setPjrgfy(temp.getPjrgfy().divide(BigDecimal.valueOf(10000L), 4 , RoundingMode.UP));
 			obj.put("pjrgfy", temp.getPjrgfy());
-			obj.put("total", BigDecimal.valueOf(temp.getZzsc() * temp.getPjrgfy()));
+			obj.put("total", temp.getPjrgfy().multiply(BigDecimal.valueOf(temp.getZzsc())));
 			obj.put("foreignStr", Func.notNull(temp.getTechnician()) ? (temp.getTechnician().isForeign() ? "是" : "否") : "");
 			results.add(obj);
 		}
@@ -185,7 +182,7 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 		if (dbTechnicianIdList.contains(ysRyrgfy.getTechnicianId())) {
 			throw new ServiceException("人员已在预算表中");
 		}
-		ysRyrgfy.setPjrgfy(ysRyrgfy.getPjrgfy() * 10000);
+		ysRyrgfy.setPjrgfy(ysRyrgfy.getPjrgfy().multiply(BigDecimal.valueOf(10000)));
 		return this.save(ysRyrgfy);
 	}
 
@@ -202,7 +199,7 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 				throw new ServiceException("人员已在预算表中");
 			}
 		}
-		ysRyrgfy.setPjrgfy(ysRyrgfy.getPjrgfy() * 10000);
+		ysRyrgfy.setPjrgfy(ysRyrgfy.getPjrgfy().multiply(BigDecimal.valueOf(10000)));
 		return this.updateById(ysRyrgfy);
 	}
 }

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

@@ -96,7 +96,7 @@ public class YsSjfyServiceImpl extends BaseServiceImpl<YsSjfyMapper, YsSjfyEntit
 			.doRead();
 		List<Object> dataList = listener.getDataList();
 		if (Func.isEmpty(dataList)) {
-			throw new ServiceException("读取导入数据失败,请检查数据");
+			throw new ServiceException("未能读取到数据,请检查");
 		}
 
 		List<YsSjfyEntity> insertList = new ArrayList<>();

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

@@ -86,7 +86,7 @@ public class YsWtwbyjkffyServiceImpl extends BaseServiceImpl<YsWtwbyjkffyMapper,
 			.doRead();
 		List<Object> dataList = listener.getDataList();
 		if (Func.isEmpty(dataList)) {
-			throw new ServiceException("读取导入数据失败,请检查数据");
+			throw new ServiceException("未能读取到数据,请检查");
 		}
 
 		List<YsWtwbyjkffyEntity> insertList = new ArrayList<>();

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

@@ -118,7 +118,7 @@ public class YsWxzctxfyServiceImpl extends BaseServiceImpl<YsWxzctxfyMapper, YsW
 			.doRead();
 		List<Object> dataList = listener.getDataList();
 		if (Func.isEmpty(dataList)) {
-			throw new ServiceException("读取导入数据失败,请检查数据");
+			throw new ServiceException("未能读取到数据,请检查");
 		}
 		List<YsWxzctxfyEntity> dbYsList = baseMapper.selectList(Wrappers.<YsWxzctxfyEntity>lambdaQuery().eq(YsWxzctxfyEntity::getXmId, xmId));
 

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

@@ -89,7 +89,7 @@ public class YsZbtsysyfyServiceImpl extends BaseServiceImpl<YsZbtsysyfyMapper, Y
 			.doRead();
 		List<Object> dataList = listener.getDataList();
 		if (Func.isEmpty(dataList)) {
-			throw new ServiceException("读取导入数据失败,请检查数据");
+			throw new ServiceException("未能读取到数据,请检查");
 		}
 
 		List<YsZbtsysyfyEntity> insertList = new ArrayList<>();

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

@@ -120,7 +120,7 @@ public class YsZjfyycqdtfyServiceImpl extends BaseServiceImpl<YsZjfyycqdtfyMappe
 			.doRead();
 		List<Object> dataList = listener.getDataList();
  		if(Func.isEmpty(dataList)){
-			throw new ServiceException("读取导入数据失败,请检查数据");
+			throw new ServiceException("未能读取到数据,请检查");
 		}
 
 		//查询项目开始时间对应月份的资产清单