Browse Source

333312121

zhoulisky 4 months ago
parent
commit
8ce9147816

+ 27 - 25
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmServiceImpl.java

@@ -100,11 +100,13 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 				selDate = DateUtil.parse(dateStr, DateUtil.PATTERN_YYYYMMDD);
 			} else if (dateStr.length() == 6) {
 				selDate = DateUtil.parse(dateStr, DateUtil.PATTERN_YYYYMM);
+			} else if (dateStr.length() == 10 && dateStr.split("-").length == 3) {
+				selDate = DateUtil.parse(dateStr, DateUtil.PATTERN_YYYY_MM_DD);
 			}
 		}
 		Integer status = byXmId.getInteger("status");
- 		Date xmjssj = byXmId.getDate("xmjssj");
- 		if (Func.equals(status, XmStatusEnum.已结题.getCode()) || xmjssj.compareTo(selDate) < 0) {
+		Date xmjssj = byXmId.getDate("xmjssj");
+		if (Func.equals(status, XmStatusEnum.已结题.getCode()) || xmjssj.compareTo(selDate) < 0) {
 			if (isThrowEx) {
 				String xmbh = byXmId.getString("xmbh");
 				throw new ServiceException("项目【" + xmbh + "】已结题/已结束,不可操作");
@@ -147,7 +149,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			if (Func.isNotEmpty(validate)) {
 				throw new ServiceException(String.join("\n", validate));
 			}
- 			if (xm.getXmyszemx() != null) {
+			if (xm.getXmyszemx() != null) {
 				List<JSONObject> list = JSONObject.parseArray(xm.getXmyszemx(), JSONObject.class);
 				BigDecimal total = list.stream().map(item -> item.getBigDecimal("amount")).reduce(BigDecimal.valueOf(0.00), BigDecimal::add).setScale(2, RoundingMode.UP);
 				if (total.compareTo(BigDecimal.ZERO) <= 0) {
@@ -260,7 +262,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			if (xmVO.getQzqygj() == null || xmVO.getQzqygj().compareTo(BigDecimal.ZERO) <= 0 || xmVO.getXmysze() == null || xmVO.getXmysze().compareTo(BigDecimal.ZERO) <= 0) {
 				xmVO.setZyswcl(BigDecimal.valueOf(0.00));
 			} else {
- 				xmVO.setZyswcl(xmVO.getQzqygj().multiply(BigDecimal.valueOf(100)).divide(xmVO.getXmysze(), 2, RoundingMode.HALF_UP));
+				xmVO.setZyswcl(xmVO.getQzqygj().multiply(BigDecimal.valueOf(100)).divide(xmVO.getXmysze(), 2, RoundingMode.HALF_UP));
 			}
 
 			//本年度已归集研发费用(万元)
@@ -339,20 +341,20 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			vo.setWtwbyjkffyRate(0.00);
 			vo.setQtfyRate(0.00);
 		} else {
-			vo.setRyrgfyRate(vo.getRyrgfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setZjtrfyRate(vo.getZjtrfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setZjfyycqdtfyRate(vo.getZjfyycqdtfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setWxzctxfyRate(vo.getWxzctxfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setSjfyRate(vo.getSjfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setZbtsysyfyRate(vo.getZbtsysyfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setWtwbyjkffyRate(vo.getWtwbyjkffy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
-			vo.setQtfyRate(vo.getQtfy().divide(vo.getTotal(),2, RoundingMode.HALF_UP).doubleValue());
+			vo.setRyrgfyRate(vo.getRyrgfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setZjtrfyRate(vo.getZjtrfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setZjfyycqdtfyRate(vo.getZjfyycqdtfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setWxzctxfyRate(vo.getWxzctxfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setSjfyRate(vo.getSjfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setZbtsysyfyRate(vo.getZbtsysyfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setWtwbyjkffyRate(vo.getWtwbyjkffy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
+			vo.setQtfyRate(vo.getQtfy().divide(vo.getTotal(), 2, RoundingMode.HALF_UP).doubleValue());
 		}
 
- 		BigDecimal totalRate = BigDecimal.ZERO;
-		if(StringUtil.isNotBlank(vo.getXmyszemx())){
-			BigDecimal temp =  JSONObject.parseArray(vo.getXmyszemx(), JSONObject.class).stream().map(item -> item.getBigDecimal("amount")).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.UP);
-			totalRate = vo.getTotal().divide(BigDecimal.valueOf(10000L)).divide(temp,4, RoundingMode.UP).multiply(BigDecimal.valueOf(100)) ;
+		BigDecimal totalRate = BigDecimal.ZERO;
+		if (StringUtil.isNotBlank(vo.getXmyszemx())) {
+			BigDecimal temp = JSONObject.parseArray(vo.getXmyszemx(), JSONObject.class).stream().map(item -> item.getBigDecimal("amount")).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(4, RoundingMode.UP);
+			totalRate = vo.getTotal().divide(BigDecimal.valueOf(10000L)).divide(temp, 4, RoundingMode.UP).multiply(BigDecimal.valueOf(100));
 		}
 		vo.setTotalRate(Math.min(totalRate.doubleValue(), 100.0));
 		vo.setXmsqdw(departmentMapper.getFullNameById(vo.getXmsqdwid()));
@@ -374,14 +376,14 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 		vo.setQtfy(vo.getQtfy().divide(BigDecimal.valueOf(10000L), 4, RoundingMode.UP));
 		vo.setTotal(vo.getTotal().divide(BigDecimal.valueOf(10000L), 4, RoundingMode.UP));
 
-		vo.setRyrgfyRate(vo.getRyrgfyRate()*100.00);
-		vo.setZjtrfyRate(vo.getZjtrfyRate()*100.00);
-		vo.setZjfyycqdtfyRate(vo.getZjfyycqdtfyRate()*100.00);
-		vo.setWxzctxfyRate(vo.getWxzctxfyRate()*100.00);
-		vo.setSjfyRate(vo.getSjfyRate()*100.00);
-		vo.setZbtsysyfyRate(vo.getZbtsysyfyRate()*100.00);
-		vo.setWtwbyjkffyRate(vo.getWtwbyjkffyRate()*100.00);
-		vo.setQtfyRate(vo.getQtfyRate()*100.00);
+		vo.setRyrgfyRate(vo.getRyrgfyRate() * 100.00);
+		vo.setZjtrfyRate(vo.getZjtrfyRate() * 100.00);
+		vo.setZjfyycqdtfyRate(vo.getZjfyycqdtfyRate() * 100.00);
+		vo.setWxzctxfyRate(vo.getWxzctxfyRate() * 100.00);
+		vo.setSjfyRate(vo.getSjfyRate() * 100.00);
+		vo.setZbtsysyfyRate(vo.getZbtsysyfyRate() * 100.00);
+		vo.setWtwbyjkffyRate(vo.getWtwbyjkffyRate() * 100.00);
+		vo.setQtfyRate(vo.getQtfyRate() * 100.00);
 
 		vo.setXmkssjStr(Func.notNull(vo.getXmkssj()) ? DateUtil.format(vo.getXmkssj(), "yyyy年MM月dd日") : null);
 		vo.setXmjssjStr(Func.notNull(vo.getXmjssj()) ? DateUtil.format(vo.getXmjssj(), "yyyy年MM月dd日") : null);
@@ -460,7 +462,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 		List<String> errorWords = Arrays.asList("技改", "技术改造", "推广", "打样", "翻新", "产业化", "生产线", "改造", "年产", "示范");
 		//xmmc包含errorWords,则报错
 		for (String errorWord : errorWords) {
-			if(xmmc.contains(errorWord)){
+			if (xmmc.contains(errorWord)) {
 				throw new ServiceException("研发项目名称,不符合统计部门的命名要求!");
 			}
 		}