zhoulisky 4 months ago
parent
commit
d052dddbec
18 changed files with 67 additions and 40 deletions
  1. 1 2
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/CostController.java
  2. 2 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/XmIntangibleAssetExcel.java
  3. 3 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/listener/XmCqdtfyImportListener.java
  4. 2 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmCqdtfyMapper.java
  5. 5 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmCqdtfyMapper.xml
  6. 17 15
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/CgZlServiceImpl.java
  7. 14 2
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmCqdtfyServiceImpl.java
  8. 3 3
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmDesignCostServiceImpl.java
  9. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmDirectCostServiceImpl.java
  10. 9 3
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmIntangibleAssetServiceImpl.java
  11. 3 3
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmOtherCostServiceImpl.java
  12. 2 2
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmServiceImpl.java
  13. 2 5
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/YsRyrgfyServiceImpl.java
  14. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/YsWxzctxfyServiceImpl.java
  15. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/YsZbtsysyfyServiceImpl.java
  16. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/YsZjfyycqdtfyServiceImpl.java
  17. BIN
      kd-service/kd-scientific/src/main/resources/export-template/研发费用管理/折旧费用与长期待摊费用/每月长期待摊费用分配表.xls
  18. BIN
      kd-service/kd-scientific/src/main/resources/export-template/研发费用管理/无形资产摊销费用/无形资产摊销费用分配表.xls

+ 1 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/CostController.java

@@ -58,8 +58,7 @@ public class CostController {
 	public R<List<JSONObject>> xmysygjqst(String year, Boolean currentYear) {
 	public R<List<JSONObject>> xmysygjqst(String year, Boolean currentYear) {
 		List<JSONObject> list = xmCostDetailsMapper.xmysygjqst(SecureUtil.getTenantId(), year, currentYear);
 		List<JSONObject> list = xmCostDetailsMapper.xmysygjqst(SecureUtil.getTenantId(), year, currentYear);
 		for (JSONObject obj : list) {
 		for (JSONObject obj : list) {
-
-			BigDecimal cost = obj.getBigDecimal("cost").multiply(BigDecimal.valueOf(0.0001).setScale(2, RoundingMode.HALF_UP));
+			BigDecimal cost = obj.getBigDecimal("cost").multiply(new BigDecimal("0.0001")).setScale(2, RoundingMode.HALF_UP);
 			obj.put("cost", cost);
 			obj.put("cost", cost);
 
 
 			List<JSONObject> XMYSZEMX = JSONObject.parseArray(obj.getString("XMYSZEMX"), JSONObject.class);
 			List<JSONObject> XMYSZEMX = JSONObject.parseArray(obj.getString("XMYSZEMX"), JSONObject.class);

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

@@ -2,6 +2,7 @@
 package org.sky.scientific.excel;
 package org.sky.scientific.excel;
 
 
 
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.format.DateTimeFormat;
 import com.alibaba.excel.annotation.format.DateTimeFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -74,7 +75,7 @@ public class XmIntangibleAssetExcel implements Serializable {
 	private Integer zcyz;
 	private Integer zcyz;
 
 
 	@Schema(description = "净残值(%)")
 	@Schema(description = "净残值(%)")
-	@ExcelProperty(index = 12)
+	@ExcelIgnore
 	private Double jcz;
 	private Double jcz;
 
 
 	@Schema(description = "月摊销额(每节点/套)")
 	@Schema(description = "月摊销额(每节点/套)")

+ 3 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/excel/listener/XmCqdtfyImportListener.java

@@ -9,6 +9,7 @@ import org.sky.scientific.excel.XmCqdtfyExcel;
 import org.sky.scientific.utils.ImportResult;
 import org.sky.scientific.utils.ImportResult;
 import org.sky.scientific.utils.ValidationUtils;
 import org.sky.scientific.utils.ValidationUtils;
 
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
@@ -68,6 +69,8 @@ public class XmCqdtfyImportListener extends BaseReadListener {
 		excel.setSyzb(ValidationUtils.safeParseBigDecimal(data.get(11)));
 		excel.setSyzb(ValidationUtils.safeParseBigDecimal(data.get(11)));
 		if (Func.isNull(excel.getSyzb())) {
 		if (Func.isNull(excel.getSyzb())) {
 			errors.add("使用占比数据格式错误");
 			errors.add("使用占比数据格式错误");
+		}else {
+			excel.setSyzb(excel.getSyzb().multiply(new BigDecimal("0.01")));
 		}
 		}
 
 
 		excel.setZbyj(data.get(12));
 		excel.setZbyj(data.get(12));

+ 2 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmCqdtfyMapper.java

@@ -28,4 +28,6 @@ public interface XmCqdtfyMapper extends BaseMapper<XmCqdtfyEntity> {
 	List<XmCqdtfyVO> selectPageByCondition(IPage page, @Param("ew") XmCqdtfyDTO dto);
 	List<XmCqdtfyVO> selectPageByCondition(IPage page, @Param("ew") XmCqdtfyDTO dto);
 
 
 	int physicalDeleteByIds(List<Long> ids);
 	int physicalDeleteByIds(List<Long> ids);
+
+	int physicalDeleteByNameAndMonth(@Param("ctdtfymc") String ctdtfymc, @Param("yearAndMonth") String yearAndMonth);
 }
 }

+ 5 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmCqdtfyMapper.xml

@@ -41,6 +41,11 @@
         </foreach>
         </foreach>
     </delete>
     </delete>
 
 
+    <delete id="physicalDeleteByNameAndMonth">
+        DELETE FROM kd_xm_cqdtfy
+        WHERE ctdtfymc =#{ctdtfymc} and year_and_month >= #{yearAndMonth}
+    </delete>
+
 
 
     <select id="selectPageByCondition" resultMap="ResutVoMap" parameterType="org.sky.scientific.pojo.dto.XmCqdtfyDTO">
     <select id="selectPageByCondition" resultMap="ResutVoMap" parameterType="org.sky.scientific.pojo.dto.XmCqdtfyDTO">
         select c.*,xm.xmbh, xm.xmmc
         select c.*,xm.xmbh, xm.xmmc

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

@@ -159,38 +159,40 @@ public class CgZlServiceImpl extends BaseServiceImpl<CgZlMapper, CgZlEntity> imp
 //		标准数=申请数=授权数
 //		标准数=申请数=授权数
 //		其他成果数=申请数=授权数
 //		其他成果数=申请数=授权数
 
 
-		JSONObject result = new JSONObject();
+		int intYear = Integer.parseInt(year);
 
 
+		JSONObject result = new JSONObject();
 		long total = 0, shenqingshu = 0, shouquanshu = 0;
 		long total = 0, shenqingshu = 0, shouquanshu = 0;
-  		List<CgZlEntity> zlList = baseMapper.selectList(Wrappers.emptyWrapper());
-		long zl = zlList.stream().filter(temp -> Func.equals(DateUtil.format(temp.getShenqingRq(), DateUtil.PATTERN_YYYY), year) || Func.equals(DateUtil.format(temp.getShouquanRq(), DateUtil.PATTERN_YYYY), year)).count();
-		total += zl;
 
 
-		shenqingshu += zlList.stream().filter(temp ->  temp.getShenqingRq()!=null && Func.equals(DateUtil.format(temp.getShenqingRq(), DateUtil.PATTERN_YYYY), year)).count();
-		shouquanshu += zlList.stream().filter(temp -> temp.getShouquanRq()!=null && Func.equals(DateUtil.format(temp.getShouquanRq(), DateUtil.PATTERN_YYYY), year)).count();
+   		List<CgZlEntity> zlList = baseMapper.selectList(Wrappers.<CgZlEntity>lambdaQuery().apply("DATE_FORMAT(SHENQING_RQ,'%Y') <= {0} or DATE_FORMAT(SHOUQUAN_RQ,'%Y') <= {1}", year, year));
+
+
+ 		shenqingshu += zlList.stream().filter(temp-> Func.notNull(temp.getShenqingRq()) && cn.hutool.core.date.DateUtil.year(temp.getShenqingRq()) <= intYear).count();
+		shouquanshu += zlList.stream().filter(temp-> Func.notNull(temp.getShouquanRq()) && cn.hutool.core.date.DateUtil.year(temp.getShouquanRq()) <= intYear).count();
+
+		total += Func.isEmpty(zlList)?0:zlList.size();
 
 
-		long rjzzq = rjzzqMapper.selectCount(Wrappers.<CgRjzzqEntity>lambdaQuery().apply("DATE_FORMAT(DJPZRQ,'%Y') = {0}", year));
+		long rjzzq = rjzzqMapper.selectCount(Wrappers.<CgRjzzqEntity>lambdaQuery().apply("DATE_FORMAT(DJPZRQ,'%Y') <= {0}", year));
 		total += rjzzq;
 		total += rjzzq;
 		shenqingshu += rjzzq;
 		shenqingshu += rjzzq;
 		shouquanshu += rjzzq;
 		shouquanshu += rjzzq;
 
 
-		long jsbz = jsbzMapper.selectCount(Wrappers.<CgJsbzEntity>lambdaQuery().apply("DATE_FORMAT(SSRQ,'%Y') = {0}", year));
+		long jsbz = jsbzMapper.selectCount(Wrappers.<CgJsbzEntity>lambdaQuery().apply("DATE_FORMAT(SSRQ,'%Y') <= {0}", year));
 		total += jsbz;
 		total += jsbz;
 		shenqingshu += jsbz;
 		shenqingshu += jsbz;
 		shouquanshu += jsbz;
 		shouquanshu += jsbz;
 
 
-		long kylw = kylwMapper.selectCount(Wrappers.<CgKylwEntity>lambdaQuery().apply("DATE_FORMAT(FBRQ,'%Y') = {0}", year));
+		long kylw = kylwMapper.selectCount(Wrappers.<CgKylwEntity>lambdaQuery().apply("DATE_FORMAT(FBRQ,'%Y') <= {0}", year));
 		total += kylw;
 		total += kylw;
 		shenqingshu += kylw;
 		shenqingshu += kylw;
 		shouquanshu += kylw;
 		shouquanshu += kylw;
 
 
-		List<CgQtEntity> qtEntityList = qtMapper.selectList(Wrappers.emptyWrapper());
-		long qt = qtEntityList.stream().filter(temp -> Func.equals(DateUtil.format(temp.getShenqingRq(), DateUtil.PATTERN_YYYY), year) || Func.equals(DateUtil.format(temp.getShouquanRq(), DateUtil.PATTERN_YYYY), year)).count();
-		total += qt;
-		shenqingshu += qt;
-		shouquanshu += qt;
+		List<CgQtEntity> qtEntityList = qtMapper.selectList(Wrappers.<CgQtEntity>lambdaQuery().apply("DATE_FORMAT(SHENQING_RQ,'%Y') <= {0} or DATE_FORMAT(SHOUQUAN_RQ,'%Y') <= {1}", year, year));
+		shenqingshu += qtEntityList.stream().filter(temp-> Func.notNull(temp.getShenqingRq())).count();
+		shouquanshu += qtEntityList.stream().filter(temp-> Func.notNull(temp.getShouquanRq())).count();
+		total += Func.isEmpty(qtEntityList)?0:qtEntityList.size();
 
 
-		result.put("total", total);
+ 		result.put("total", total);
 		result.put("shenqingshu", shenqingshu);
 		result.put("shenqingshu", shenqingshu);
 		result.put("shouquanshu", shouquanshu);
 		result.put("shouquanshu", shouquanshu);
 
 

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

@@ -32,7 +32,10 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.BufferedInputStream;
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.OutputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicInteger;
 
 
 /**
 /**
@@ -118,8 +121,16 @@ public class XmCqdtfyServiceImpl extends BaseServiceImpl<XmCqdtfyMapper, XmCqdtf
 	}
 	}
 
 
 	@Override
 	@Override
+	@Transactional
 	public boolean physicalDeleteByIds(List<Long> ids) {
 	public boolean physicalDeleteByIds(List<Long> ids) {
-		return baseMapper.physicalDeleteByIds(ids) > 0;
+		for (Long id : ids) {
+			XmCqdtfyEntity cqdtfy = baseMapper.selectById(id);
+			if(Func.notNull(cqdtfy)){
+				baseMapper.physicalDeleteByNameAndMonth(cqdtfy.getCtdtfymc(), cqdtfy.getYearAndMonth());
+			}
+		}
+//		return baseMapper.physicalDeleteByIds(ids) > 0;
+		return true;
 	}
 	}
 
 
 	@Override
 	@Override
@@ -158,6 +169,7 @@ public class XmCqdtfyServiceImpl extends BaseServiceImpl<XmCqdtfyMapper, XmCqdtf
 		list.forEach(temp -> {
 		list.forEach(temp -> {
 			temp.setXh(index.getAndIncrement() + "");
 			temp.setXh(index.getAndIncrement() + "");
 			temp.setYftxe(temp.getYtxe().multiply(temp.getSyzb()));
 			temp.setYftxe(temp.getYtxe().multiply(temp.getSyzb()));
+//			temp.setSyzb(temp.getSyzb().multiply(new BigDecimal("100")));
 		});
 		});
 		InputStream templateFileName = this.getClass().getClassLoader().getResourceAsStream("export-template/研发费用管理/折旧费用与长期待摊费用/每月长期待摊费用分配表.xls");
 		InputStream templateFileName = this.getClass().getClassLoader().getResourceAsStream("export-template/研发费用管理/折旧费用与长期待摊费用/每月长期待摊费用分配表.xls");
 		ExcelWriter excelWriter = EasyExcel.write(os)
 		ExcelWriter excelWriter = EasyExcel.write(os)

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

@@ -90,7 +90,7 @@ public class XmDesignCostServiceImpl extends BaseServiceImpl<XmDesignCostMapper,
 				throw new ServiceException("序号[" + data.getXh() + "]的研发项目不存在,请检查模板数据");
 				throw new ServiceException("序号[" + data.getXh() + "]的研发项目不存在,请检查模板数据");
 			}
 			}
 
 
-			xmService.judgeXmIsOver(xmId, DateUtil.format(data.getRecordDate(), DateUtil.PATTERN_DATE),true);
+			xmService.judgeXmIsOver(xmId, DateUtil.format(data.getRecordDate(), DateUtil.PATTERN_YYYYMMDD),true);
 
 
 			XmDesignCostEntity entity = Objects.requireNonNull(BeanUtil.copyProperties(data, XmDesignCostEntity.class));
 			XmDesignCostEntity entity = Objects.requireNonNull(BeanUtil.copyProperties(data, XmDesignCostEntity.class));
 			entity.setXmId(xmId);
 			entity.setXmId(xmId);
@@ -108,7 +108,7 @@ public class XmDesignCostServiceImpl extends BaseServiceImpl<XmDesignCostMapper,
 		for (Long id : ids) {
 		for (Long id : ids) {
 			XmDesignCostEntity entity = baseMapper.selectById(id);
 			XmDesignCostEntity entity = baseMapper.selectById(id);
 			if(Func.notNull(entity)){
 			if(Func.notNull(entity)){
-				xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getRecordDate(), DateUtil.PATTERN_DATE),true);
+				xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getRecordDate(), DateUtil.PATTERN_YYYYMMDD),true);
 			}
 			}
 		}
 		}
 		return baseMapper.physicalDeleteByIds(ids) > 0;
 		return baseMapper.physicalDeleteByIds(ids) > 0;
@@ -149,7 +149,7 @@ public class XmDesignCostServiceImpl extends BaseServiceImpl<XmDesignCostMapper,
 		if (judged != null) {
 		if (judged != null) {
 			throw new ServiceException(judged);
 			throw new ServiceException(judged);
 		}
 		}
-		xmService.judgeXmIsOver(xmDesignCost.getXmId(), DateUtil.format(xmDesignCost.getRecordDate(), DateUtil.PATTERN_DATE),true);
+		xmService.judgeXmIsOver(xmDesignCost.getXmId(), DateUtil.format(xmDesignCost.getRecordDate(), DateUtil.PATTERN_YYYYMMDD),true);
 		return this.saveOrUpdate(xmDesignCost);
 		return this.saveOrUpdate(xmDesignCost);
 	}
 	}
 
 

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

@@ -128,7 +128,7 @@ public class XmDirectCostServiceImpl extends BaseServiceImpl<XmDirectCostMapper,
 		for (Long id : ids) {
 		for (Long id : ids) {
 			XmDirectCostEntity entity = baseMapper.selectById(id);
 			XmDirectCostEntity entity = baseMapper.selectById(id);
 			if(Func.notNull(entity)){
 			if(Func.notNull(entity)){
-				xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getUseDate(), DateUtil.PATTERN_DATE),true);
+				xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getUseDate(), DateUtil.PATTERN_YYYYMMDD),true);
 			}
 			}
 		}
 		}
 		return baseMapper.physicalDeleteByIds(ids) > 0;
 		return baseMapper.physicalDeleteByIds(ids) > 0;

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

@@ -115,6 +115,8 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 				asset.setYearAndMonth(yearAndMonth);
 				asset.setYearAndMonth(yearAndMonth);
 				asset.setXmId(dbAsset.getXmId());
 				asset.setXmId(dbAsset.getXmId());
 				asset.setZcbm(dbAsset.getZcbm());
 				asset.setZcbm(dbAsset.getZcbm());
+				asset.setUserUnicode(dbAsset.getUserUnicode());
+				asset.setUserName(dbAsset.getUserName());
 				insertList.add(asset);
 				insertList.add(asset);
 			}
 			}
 
 
@@ -186,6 +188,10 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 			xmIdMap.put(xmkey, xmId);
 			xmIdMap.put(xmkey, xmId);
 
 
 			List<String> zcbmList = map.get(xmId);
 			List<String> zcbmList = map.get(xmId);
+			if(Func.isEmpty(zcbmList)){
+				zcbmList = new ArrayList<>();
+				map.put(xmId, zcbmList);
+			}
 			if (zcbmList.contains(excel.getZcbm())) {
 			if (zcbmList.contains(excel.getZcbm())) {
 				throw new ServiceException("序号为[" + excel.getXh() + "]的资产已存在");
 				throw new ServiceException("序号为[" + excel.getXh() + "]的资产已存在");
 			}else {
 			}else {
@@ -280,7 +286,7 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 			data.put("sysm", temp.getAsset().getSysm());
 			data.put("sysm", temp.getAsset().getSysm());
 			data.put("ysysm", temp.getAsset().getYsysm());
 			data.put("ysysm", temp.getAsset().getYsysm());
 			data.put("zcyz", temp.getAsset().getZcyz());
 			data.put("zcyz", temp.getAsset().getZcyz());
-			data.put("jcz", temp.getAsset().getJcz());
+			data.put("jcz", "/");
 			data.put("yzje", temp.getAsset().getYzje());
 			data.put("yzje", temp.getAsset().getYzje());
 			data.put("userName", temp.getUserName());
 			data.put("userName", temp.getUserName());
 			Optional<AssetStatusEnum> optional = Arrays.stream(AssetStatusEnum.values()).filter(o -> o.getCode() == temp.getAsset().getStatus()).findFirst();
 			Optional<AssetStatusEnum> optional = Arrays.stream(AssetStatusEnum.values()).filter(o -> o.getCode() == temp.getAsset().getStatus()).findFirst();
@@ -349,11 +355,11 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 			data.put("zclb", temp.getAsset().getZclb());
 			data.put("zclb", temp.getAsset().getZclb());
 			data.put("yt", temp.getAsset().getYt());
 			data.put("yt", temp.getAsset().getYt());
 			data.put("zcyz", temp.getAsset().getZcyz());
 			data.put("zcyz", temp.getAsset().getZcyz());
-			data.put("jcz", temp.getAsset().getJcz());
+			data.put("jcz",  "/");
 			data.put("yzje", temp.getAsset().getYzje());
 			data.put("yzje", temp.getAsset().getYzje());
 			data.put("attendanceHours", temp.getAttendanceHours());
 			data.put("attendanceHours", temp.getAttendanceHours());
 			data.put("workHours", temp.getWorkHours());
 			data.put("workHours", temp.getWorkHours());
-			data.put("yanfaFenTanLv", temp.getYanfaFenTanLv());
+			data.put("yanfaFenTanLv", temp.getYanfaFenTanLv()*100);
 			data.put("yanfaTanXiao", temp.getYanfaTanXiao());
 			data.put("yanfaTanXiao", temp.getYanfaTanXiao());
 			results.add(data);
 			results.add(data);
 		});
 		});

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

@@ -104,7 +104,7 @@ public class XmOtherCostServiceImpl extends BaseServiceImpl<XmOtherCostMapper, X
 				throw new ServiceException("序号[" + data.getXh() + "]的研发项目不存在,请检查模板数据");
 				throw new ServiceException("序号[" + data.getXh() + "]的研发项目不存在,请检查模板数据");
 			}
 			}
 
 
-			xmService.judgeXmIsOver(xmId, DateUtil.format(data.getRecordDate(), DateUtil.PATTERN_DATE),true);
+			xmService.judgeXmIsOver(xmId, DateUtil.format(data.getRecordDate(), DateUtil.PATTERN_YYYYMMDD),true);
 
 
 			entity.setXmId(xmId);
 			entity.setXmId(xmId);
 			entity.setYearAndMonth(yearAndMonth);
 			entity.setYearAndMonth(yearAndMonth);
@@ -123,7 +123,7 @@ public class XmOtherCostServiceImpl extends BaseServiceImpl<XmOtherCostMapper, X
 		if (Func.isNull(entity.getXmId())) {
 		if (Func.isNull(entity.getXmId())) {
 			throw new ServiceException("参数xmId不能为空");
 			throw new ServiceException("参数xmId不能为空");
 		}
 		}
-		xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getRecordDate(), DateUtil.PATTERN_DATE),true);
+		xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getRecordDate(), DateUtil.PATTERN_YYYYMMDD),true);
 
 
 		String judged = DateUtil.judgeDate(entity.getRecordDate(), entity.getYearAndMonth());
 		String judged = DateUtil.judgeDate(entity.getRecordDate(), entity.getYearAndMonth());
 		if (judged != null) {
 		if (judged != null) {
@@ -138,7 +138,7 @@ public class XmOtherCostServiceImpl extends BaseServiceImpl<XmOtherCostMapper, X
 		for (Long id : ids) {
 		for (Long id : ids) {
 			XmOtherCostEntity entity = baseMapper.selectById(id);
 			XmOtherCostEntity entity = baseMapper.selectById(id);
 			if (Func.notNull(entity)) {
 			if (Func.notNull(entity)) {
-				xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getRecordDate(), DateUtil.PATTERN_DATE),true);
+				xmService.judgeXmIsOver(entity.getXmId(), DateUtil.format(entity.getRecordDate(), DateUtil.PATTERN_YYYYMMDD),true);
 			}
 			}
 		}
 		}
 		return baseMapper.physicalDeleteByIds(ids);
 		return baseMapper.physicalDeleteByIds(ids);

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

@@ -255,7 +255,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			//全周期已归集(万元)
 			//全周期已归集(万元)
 			double qzqygj = costAllList.stream().filter(item -> Func.equals(item.getLong("xmId"), xmVO.getId())).mapToDouble(item -> item.getDouble("amountTotal")).sum();
 			double qzqygj = costAllList.stream().filter(item -> Func.equals(item.getLong("xmId"), xmVO.getId())).mapToDouble(item -> item.getDouble("amountTotal")).sum();
 			//元->万元
 			//元->万元
-			xmVO.setQzqygj(BigDecimal.valueOf(qzqygj).multiply(BigDecimal.valueOf(0.0001)).setScale(2, RoundingMode.HALF_UP));
+			xmVO.setQzqygj(BigDecimal.valueOf(qzqygj).multiply(new BigDecimal("0.0001")).setScale(2, RoundingMode.HALF_UP));
 			//总预算完成率(%)
 			//总预算完成率(%)
 			if (xmVO.getQzqygj() == null || xmVO.getQzqygj().compareTo(BigDecimal.ZERO) <= 0 || xmVO.getXmysze() == null || xmVO.getXmysze().compareTo(BigDecimal.ZERO) <= 0) {
 			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));
 				xmVO.setZyswcl(BigDecimal.valueOf(0.00));
@@ -266,7 +266,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			//本年度已归集研发费用(万元)
 			//本年度已归集研发费用(万元)
 			double ndygjyffy = costByDateList.stream().filter(item -> Func.equals(item.getLong("xmId"), xmVO.getId())).mapToDouble(item -> item.getDouble("amountTotal")).sum();
 			double ndygjyffy = costByDateList.stream().filter(item -> Func.equals(item.getLong("xmId"), xmVO.getId())).mapToDouble(item -> item.getDouble("amountTotal")).sum();
 			//元->万元
 			//元->万元
-			xmVO.setNdygjyffy(BigDecimal.valueOf(ndygjyffy).multiply(BigDecimal.valueOf(0.0001)).setScale(2, RoundingMode.HALF_UP));
+			xmVO.setNdygjyffy(BigDecimal.valueOf(ndygjyffy).multiply(new BigDecimal("0.0001")).setScale(2, RoundingMode.HALF_UP));
 			//年度已归集金额/年度预算(%)xmyszeCurrentYear
 			//年度已归集金额/年度预算(%)xmyszeCurrentYear
 			if (xmVO.getNdygjyffy() == null || xmVO.getNdygjyffy().compareTo(BigDecimal.ZERO) <= 0 || xmVO.getXmyszeCurrentYear() == null || xmVO.getXmyszeCurrentYear().compareTo(BigDecimal.ZERO) <= 0) {
 			if (xmVO.getNdygjyffy() == null || xmVO.getNdygjyffy().compareTo(BigDecimal.ZERO) <= 0 || xmVO.getXmyszeCurrentYear() == null || xmVO.getXmyszeCurrentYear().compareTo(BigDecimal.ZERO) <= 0) {
 				xmVO.setNdygjjel(BigDecimal.ZERO);
 				xmVO.setNdygjjel(BigDecimal.ZERO);

+ 2 - 5
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/YsRyrgfyServiceImpl.java

@@ -38,10 +38,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.OutputStream;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicInteger;
 
 
 /**
 /**
@@ -216,7 +213,7 @@ public class YsRyrgfyServiceImpl extends BaseServiceImpl<YsRyrgfyMapper, YsRyrgf
 	}
 	}
 
 
 	private void judgeZzsc(XmVO xmVO, Integer zzsc){
 	private void judgeZzsc(XmVO xmVO, Integer zzsc){
-		long betweenMonth = cn.hutool.core.date.DateUtil.betweenMonth(xmVO.getXmkssj(), xmVO.getXmjssj(), true);
+ 		long betweenMonth = cn.hutool.core.date.DateUtil.betweenMonth(xmVO.getXmkssj(), xmVO.getXmjssj(), true) + 1;
 		if(betweenMonth < zzsc){
 		if(betweenMonth < zzsc){
 			throw new ServiceException("工作时长不能大于研发项目【"+xmVO.getXmbh()+"】的周期【" + betweenMonth +"】个月");
 			throw new ServiceException("工作时长不能大于研发项目【"+xmVO.getXmbh()+"】的周期【" + betweenMonth +"】个月");
 		}
 		}

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

@@ -218,7 +218,7 @@ public class YsWxzctxfyServiceImpl extends BaseServiceImpl<YsWxzctxfyMapper, YsW
 	}
 	}
 
 
 	private void judgeZzsc(XmVO xmVO, Integer zzsc){
 	private void judgeZzsc(XmVO xmVO, Integer zzsc){
-		long betweenMonth = cn.hutool.core.date.DateUtil.betweenMonth(xmVO.getXmkssj(), xmVO.getXmjssj(), true);
+		long betweenMonth = cn.hutool.core.date.DateUtil.betweenMonth(xmVO.getXmkssj(), xmVO.getXmjssj(), true) + 1;
 		if(betweenMonth < zzsc){
 		if(betweenMonth < zzsc){
 			throw new ServiceException("工作时长不能大于研发项目【"+xmVO.getXmbh()+"】的周期【" + betweenMonth +"】个月");
 			throw new ServiceException("工作时长不能大于研发项目【"+xmVO.getXmbh()+"】的周期【" + betweenMonth +"】个月");
 		}
 		}

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

@@ -122,7 +122,7 @@ public class YsZbtsysyfyServiceImpl extends BaseServiceImpl<YsZbtsysyfyMapper, Y
 		for (YsZbtsysyfyVO temp : list) {
 		for (YsZbtsysyfyVO temp : list) {
 			temp.setXh(index.getAndIncrement() + "");
 			temp.setXh(index.getAndIncrement() + "");
 			if (temp.getYsje() != null) {
 			if (temp.getYsje() != null) {
-				temp.setYsje(temp.getYsje().multiply(BigDecimal.valueOf(0.0001)));
+				temp.setYsje(temp.getYsje().multiply(new BigDecimal("0.0001")));
 			}
 			}
 		}
 		}
 		InputStream templateFileName = this.getClass().getClassLoader().getResourceAsStream("export-template/研发项目管理/预算编制/装备调试费用与试验费用.xls");
 		InputStream templateFileName = this.getClass().getClassLoader().getResourceAsStream("export-template/研发项目管理/预算编制/装备调试费用与试验费用.xls");

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

@@ -234,7 +234,7 @@ public class YsZjfyycqdtfyServiceImpl extends BaseServiceImpl<YsZjfyycqdtfyMappe
     }
     }
 
 
 	private void judgeZzsc(XmVO xmVO, Integer zzsc){
 	private void judgeZzsc(XmVO xmVO, Integer zzsc){
-		long betweenMonth = cn.hutool.core.date.DateUtil.betweenMonth(xmVO.getXmkssj(), xmVO.getXmjssj(), true);
+		long betweenMonth = cn.hutool.core.date.DateUtil.betweenMonth(xmVO.getXmkssj(), xmVO.getXmjssj(), true) + 1;
 		if(betweenMonth < zzsc){
 		if(betweenMonth < zzsc){
 			throw new ServiceException("工作时长不能大于研发项目【"+xmVO.getXmbh()+"】的周期【" + betweenMonth +"】个月");
 			throw new ServiceException("工作时长不能大于研发项目【"+xmVO.getXmbh()+"】的周期【" + betweenMonth +"】个月");
 		}
 		}

BIN
kd-service/kd-scientific/src/main/resources/export-template/研发费用管理/折旧费用与长期待摊费用/每月长期待摊费用分配表.xls


BIN
kd-service/kd-scientific/src/main/resources/export-template/研发费用管理/无形资产摊销费用/无形资产摊销费用分配表.xls