zhoulisky 5 months ago
parent
commit
1ee802b25a

+ 5 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/XmGoodsExcel.java

@@ -62,14 +62,18 @@ public class XmGoodsExcel implements Serializable {
 	private String model;
 	private String model;
 
 
 	@ExcelProperty(index = 8, value ="单位")
 	@ExcelProperty(index = 8, value ="单位")
+	@NotBlank(message = "请填写单位")
 	private String unit;
 	private String unit;
 
 
 	@ExcelProperty(index = 9, value ="单价(元)")
 	@ExcelProperty(index = 9, value ="单价(元)")
+	@NotNull(message = "请填写单价")
 	private BigDecimal unitPrice;
 	private BigDecimal unitPrice;
 
 
-	@ExcelProperty(index = 10, value ="领用数量")
+	@ExcelProperty(index = 10, value ="领取数量")
+	@NotNull(message = "请填写领取数量")
 	private Double useQuantity;
 	private Double useQuantity;
 
 
 	@ExcelProperty(index = 11, value ="金额(元)")
 	@ExcelProperty(index = 11, value ="金额(元)")
+
 	private BigDecimal amount;
 	private BigDecimal amount;
 }
 }

+ 19 - 3
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/listener/XmGoodsImportListener.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.sky.core.tool.utils.DateUtil;
 import org.sky.core.tool.utils.DateUtil;
+import org.sky.core.tool.utils.Func;
 import org.sky.scientific.excel.XmGoodsExcel;
 import org.sky.scientific.excel.XmGoodsExcel;
 import org.sky.scientific.utils.ImportResult;
 import org.sky.scientific.utils.ImportResult;
 import org.sky.scientific.utils.ValidationUtils;
 import org.sky.scientific.utils.ValidationUtils;
@@ -41,7 +42,7 @@ public class XmGoodsImportListener extends BaseReadListener {
 		excel.setXh(data.get(0));
 		excel.setXh(data.get(0));
 		excel.setUseDate(ValidationUtils.safeParseDate(data.get(1), DateUtil.PATTERN_DATE));
 		excel.setUseDate(ValidationUtils.safeParseDate(data.get(1), DateUtil.PATTERN_DATE));
 		if (excel.getUseDate() == null) {
 		if (excel.getUseDate() == null) {
-			errors.add("领日期为空或格式错误,yyyy-MM-dd");
+			errors.add("领日期为空或格式错误,yyyy-MM-dd");
 		}
 		}
 		excel.setXmbh(data.get(2));
 		excel.setXmbh(data.get(2));
 		excel.setXmmc(data.get(3));
 		excel.setXmmc(data.get(3));
@@ -50,8 +51,23 @@ public class XmGoodsImportListener extends BaseReadListener {
 		excel.setName(data.get(6));
 		excel.setName(data.get(6));
 		excel.setModel(data.get(7));
 		excel.setModel(data.get(7));
 		excel.setUnit(data.get(8));
 		excel.setUnit(data.get(8));
-		excel.setUnitPrice(ValidationUtils.safeParseBigDecimal(data.get(9)));
-		excel.setUseQuantity(ValidationUtils.safeParseDouble(data.get(10)));
+
+		String unitPrice = data.get(9);
+		if(Func.isNotBlank(unitPrice)){
+			BigDecimal tmp = ValidationUtils.safeParseBigDecimal(data.get(9));
+			if(tmp==null || tmp.compareTo(BigDecimal.ZERO) <= 0){
+				errors.add("单价须为数字,且大于等于0");
+			}
+			excel.setUnitPrice(tmp);
+		}
+		String useQuantity = data.get(10);
+		if(Func.isNotBlank(useQuantity)){
+			Double tmp = ValidationUtils.safeParseDouble(useQuantity);
+			if(tmp == null || tmp <= 0){
+				errors.add("领取数量须为数字,且大于等于0");
+			}
+			excel.setUseQuantity(tmp);
+		}
 		excel.setAmount(BigDecimal.valueOf(excel.getUseQuantity()).multiply(excel.getUnitPrice()));
 		excel.setAmount(BigDecimal.valueOf(excel.getUseQuantity()).multiply(excel.getUnitPrice()));
 
 
 		errors.addAll(ValidationUtils.validate(excel));
 		errors.addAll(ValidationUtils.validate(excel));

+ 9 - 3
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmServiceImpl.java

@@ -147,9 +147,15 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			throw new ServiceException("项目不存在");
 			throw new ServiceException("项目不存在");
 		}
 		}
 		xm.setStatus(baseMapper.getXmStatusByXmId(xmId).getInteger("status"));
 		xm.setStatus(baseMapper.getXmStatusByXmId(xmId).getInteger("status"));
-		xm.setXmfzrxm(Func.toStr(technicianMapper.getNameById(xm.getXmfzr()), ""));
-		xm.setXmsqdw(Func.toStr(departmentMapper.getFullNameById(xm.getXmsqdwid()), ""));
-		return BeanUtil.copyProperties(xm, XmVO.class);
+		if(xm.getXmfzr()!=null){
+			xm.setXmfzrxm(Func.toStr(technicianMapper.getNameById(xm.getXmfzr()), ""));
+		}
+		if(xm.getXmsqdwid()!=null){
+			xm.setXmsqdw(Func.toStr(departmentMapper.getFullNameById(xm.getXmsqdwid()), ""));
+		}
+		XmVO vo = cn.hutool.core.bean.BeanUtil.copyProperties(xm, XmVO.class);
+//		return BeanUtil.copyProperties(xm, XmVO.class);
+		return vo;
 	}
 	}
 
 
 	@SneakyThrows
 	@SneakyThrows