zhoulisky 9 months ago
parent
commit
903e29ede7
16 changed files with 264 additions and 99 deletions
  1. 5 0
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/SettingEntity.java
  2. 0 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/AssetController.java
  3. 45 36
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/EnterpriseController.java
  4. 0 54
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/EnterpriseInfoController.java
  5. 7 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/SettingController.java
  6. 1 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmController.java
  7. 2 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmCostDetailsController.java
  8. 4 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/DepartmentMapper.java
  9. 5 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/DepartmentMapper.xml
  10. 35 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IDepartmentService.java
  11. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IEnterpriseInfoService.java
  12. 2 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/SettingService.java
  13. 106 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/DepartmentServiceImpl.java
  14. 16 3
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/EnterpriseInfoServiceImpl.java
  15. 35 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/SettingServiceImpl.java
  16. 0 4
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmIntangibleAssetServiceImpl.java

+ 5 - 0
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/SettingEntity.java

@@ -2,6 +2,7 @@
 package org.sky.scientific.pojo.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -39,4 +40,8 @@ public class SettingEntity {
 	@Schema(description = "高企证书url")
 	private String highTechUrl;
 
+	@Schema(description = "类型,读取上年度数据时需要传这个值,1:出勤时长,2:高企证书")
+	@TableField(exist = false)
+	private Integer type;
+
 }

+ 0 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/AssetController.java

@@ -296,7 +296,6 @@ public class AssetController extends KdController {
 		return R.data(intangibleAssetService.keyanwuxingzichantanxiaofeiyongfenpeibiao(Condition.getPage(query), dto));
 	}
 
-
 	@GetMapping("/zj-cqdt-wxzctx-fy-hzb")
 	@ApiOperationSupport(order = 60)
 	@Operation(summary = "折旧费用、长期待摊费用、无形资产摊销费用汇总表")

+ 45 - 36
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/EnterpriseController.java

@@ -1,7 +1,6 @@
 
 package org.sky.scientific.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.v3.oas.annotations.Operation;
@@ -13,8 +12,10 @@ import org.sky.core.boot.ctrl.KdController;
 import org.sky.core.log.exception.ServiceException;
 import org.sky.core.tool.api.R;
 import org.sky.core.tool.utils.Func;
-import org.sky.scientific.mapper.DepartmentMapper;
 import org.sky.scientific.pojo.entity.DepartmentEntity;
+import org.sky.scientific.pojo.entity.EnterpriseInfoEntity;
+import org.sky.scientific.service.IDepartmentService;
+import org.sky.scientific.service.IEnterpriseInfoService;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -30,55 +31,63 @@ import java.util.List;
 @Tag(name = "企业基础信息管理")
 public class EnterpriseController extends KdController {
 
-	private final DepartmentMapper departmentMapper;
+	private final IDepartmentService departmentService;
 
-	@GetMapping("/department/list")
+	private final IEnterpriseInfoService enterpriseInfoService;
+
+	@GetMapping("enterpriseInfo/detail/{yearAndMonth}")
 	@ApiOperationSupport(order = 1)
+	@Operation(summary = "企业基础信息表-获取指定年份的企业信息")
+	public R<EnterpriseInfoEntity> enterpriseDetail(@PathVariable("yearAndMonth") String yearAndMonth) {
+		EnterpriseInfoEntity detail = enterpriseInfoService.getOne(Wrappers.<EnterpriseInfoEntity>lambdaQuery().eq(EnterpriseInfoEntity::getYearAndMonth, yearAndMonth));
+		return R.data(detail);
+	}
+
+	@PostMapping("enterpriseInfo/submit")
+	@ApiOperationSupport(order = 2)
+	@Operation(summary = "企业基础信息表-新增或修改", description = "传入enterpriseInfo")
+	public R submitEnterprise(@Valid @RequestBody EnterpriseInfoEntity enterpriseInfo) {
+		return R.status(enterpriseInfoService.submit(enterpriseInfo));
+	}
+
+	@GetMapping("enterpriseInfo/fetchLastYearData")
+	@ApiOperationSupport(order = 3)
+	@Operation(summary = "企业基础信息表-读取上年度数据")
+	public R<Boolean> fetchEnterpriseLastYearData(EnterpriseInfoEntity enterpriseInfo) {
+		return R.status(enterpriseInfoService.fetchLastYearData(enterpriseInfo));
+	}
+
+	@GetMapping("/department/list")
+	@ApiOperationSupport(order = 10)
 	@Operation(summary = "二级单位/部门-列表")
 	public R<List<DepartmentEntity>> departmentList(DepartmentEntity dto) {
 		if (Func.isBlank(dto.getYearAndMonth())) {
 			throw new ServiceException("参数yearAndMonth不能为空");
 		}
-		List<DepartmentEntity> list = departmentMapper.selectList(Wrappers.<DepartmentEntity>lambdaQuery()
-			.eq(DepartmentEntity::getYearAndMonth, dto.getYearAndMonth()));
+		List<DepartmentEntity> list = departmentService.selectDepartmentList(dto.getYearAndMonth());
 		return R.data(list);
 	}
 
 	@PostMapping("/department/submit")
-	@ApiOperationSupport(order = 6)
+	@ApiOperationSupport(order = 12)
 	@Operation(summary = "二级单位/部门-新增或修改")
-	public R submit(@Valid @RequestBody DepartmentEntity department) {
-		LambdaQueryWrapper<DepartmentEntity> wrapper = Wrappers.<DepartmentEntity>lambdaQuery()
-			.eq(DepartmentEntity::getName, department.getName())
-			.eq(DepartmentEntity::getYearAndMonth, department.getYearAndMonth());
-		DepartmentEntity dbEntity = departmentMapper.selectOne(wrapper);
-		if (department.getId() == null) {
-			//新增
-			if (dbEntity != null) {
-				throw new ServiceException("名称[" + department.getName() + "]已存在");
-			}
-			departmentMapper.insert(department);
-		} else {
-			//修改
-			if (dbEntity!=null && Func.equals(department.getName(), dbEntity.getName()) && !Func.equals(dbEntity.getId(), department.getId())) {
-				throw new ServiceException("名称[" + department.getName() + "]已存在");
-			}
-			departmentMapper.updateById(department);
-		}
+	public R submitDepartment(@Valid @RequestBody DepartmentEntity department) {
 
-		boolean result = departmentMapper.insertOrUpdate(department);
-		return R.status(result);
+		return R.status(departmentService.submit(department));
 	}
 
-	@DeleteMapping("/remove")
+	@GetMapping("/fetchLastYearData")
+	@ApiOperationSupport(order = 14)
+	@Operation(summary = "二级单位/部门-删除-读取上年度数据")
+	public R<Boolean> fetchLastYearData(DepartmentEntity department) {
+		return R.status(departmentService.fetchLastYearData(department));
+	}
+
+	@DeleteMapping("department/remove")
 	@Operation(summary = "二级单位/部门-删除")
-	public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
-		for (Long id : Func.toLongList(ids)) {
-			Long count = departmentMapper.selectCount(Wrappers.<DepartmentEntity>lambdaQuery().eq(DepartmentEntity::getParentId, id));
-			if (count > 0) {
-				throw new ServiceException("请先删除下级部门");
-			}
-		}
-		return R.status(departmentMapper.deleteByIds(Func.toLongList(ids)) > 0);
+	@ApiOperationSupport(order = 18)
+	public R removeDepartment(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(departmentService.deleteByIds(Func.toLongList(ids)));
 	}
+
 }

+ 0 - 54
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/EnterpriseInfoController.java

@@ -1,54 +0,0 @@
-
-package org.sky.scientific.controller;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.validation.Valid;
-import lombok.AllArgsConstructor;
-import org.sky.core.boot.ctrl.KdController;
-import org.sky.core.tool.api.R;
-import org.sky.scientific.pojo.entity.EnterpriseInfoEntity;
-import org.sky.scientific.service.IEnterpriseInfoService;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * 企业基础信息表 控制器
- *
- * @author Kd
- * @since 2025-08-14
- */
-@RestController
-@AllArgsConstructor
-@RequestMapping("/enterpriseInfo")
-@Tag(name = "企业基础信息表", description = "企业基础信息表接口")
-public class EnterpriseInfoController extends KdController {
-
-	private final IEnterpriseInfoService enterpriseInfoService;
-
-	@GetMapping("/detail/{yearAndMonth}")
-	@ApiOperationSupport(order = 1)
-	@Operation(summary = "获取指定年份的企业信息")
-	public R<EnterpriseInfoEntity> detail(@PathVariable("yearAndMonth") String yearAndMonth) {
-		EnterpriseInfoEntity detail = enterpriseInfoService.getOne(Wrappers.<EnterpriseInfoEntity>lambdaQuery().eq(EnterpriseInfoEntity::getYearAndMonth, yearAndMonth));
-		return R.data(detail);
-	}
-
-	@PostMapping("/submit")
-	@ApiOperationSupport(order = 2)
-	@Operation(summary = "新增或修改", description = "传入enterpriseInfo")
-	public R submit(@Valid @RequestBody EnterpriseInfoEntity enterpriseInfo) {
-		return R.status(enterpriseInfoService.submit(enterpriseInfo));
-	}
-
-	@GetMapping("/fetchLastYearData")
-	@ApiOperationSupport(order = 3)
-	@Operation(summary = "读取上年度数据")
-	public R<EnterpriseInfoEntity> fetchLastYearData(EnterpriseInfoEntity enterpriseInfo) {
-		EnterpriseInfoEntity entity = enterpriseInfoService.fetchLastYearData(enterpriseInfo);
-		return R.data(entity);
-	}
-
-
-}

+ 7 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/SettingController.java

@@ -43,5 +43,12 @@ public class SettingController extends KdController {
 		return R.status(service.submit(dto));
 	}
 
+	@GetMapping("/fetchLastYearData")
+	@ApiOperationSupport(order = 4)
+	@Operation(summary = "读取上年度数据")
+	public R<Boolean> fetchLastYearData(SettingEntity settingEntity) {
+		return R.status(service.fetchLastYearData(settingEntity));
+	}
+
 
 }

+ 1 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmController.java

@@ -146,6 +146,7 @@ public class XmController extends KdController {
 	}
 
 
+
 	@GetMapping("annual-situation/{year}")
 	@ApiOperationSupport(order = 30)
 	@Operation(summary = "107-1-企业研究开发项目情况")

+ 2 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmCostDetailsController.java

@@ -116,4 +116,6 @@ public class XmCostDetailsController extends KdController {
 	public R<IPage<DeductionCostSummary>>deductionCostSummary(Query query, XmCostDetailsDTO dto) {
 		return R.data(service.deductionCostSummary(Condition.getPage(query), dto));
 	}
+
+
 }

+ 4 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/DepartmentMapper.java

@@ -2,6 +2,7 @@ package org.sky.scientific.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
+import org.sky.core.tenant.annotation.TenantIgnore;
 import org.sky.scientific.pojo.entity.DepartmentEntity;
 
 import java.util.List;
@@ -17,4 +18,7 @@ public interface DepartmentMapper extends BaseMapper<DepartmentEntity> {
 
 	String getNameById(@Param("id") Long id);
 
+	@TenantIgnore
+	int deleteByYearAndTenantId(@Param("year") String year, @Param("tenantId") String tenantId);
+
 }

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

@@ -19,6 +19,11 @@
             #{item}
         </foreach>
     </delete>
+    <delete id="deleteByYearAndTenantId">
+        DELETE FROM kd_department
+        WHERE year_and_month = #{year}
+        AND tenant_id = #{tenantId}
+    </delete>
 
     <select id="getNameById" parameterType="java.lang.Long" resultType="java.lang.String">
         select name from kd_department where id = #{id}

+ 35 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IDepartmentService.java

@@ -0,0 +1,35 @@
+
+package org.sky.scientific.service;
+
+import org.sky.scientific.pojo.entity.DepartmentEntity;
+
+import java.util.List;
+
+/**
+ * 二级单位/部门 服务类
+ *
+ * @author Kd
+ * @since 2025-08-14
+ */
+public interface IDepartmentService  {
+
+	/**
+	 * 获取上一年度数据
+	 *
+	 * @param enterpriseInfo
+	 * @return
+	 */
+	Boolean fetchLastYearData(DepartmentEntity department);
+
+	/**
+	 * 新增或修改
+	 *
+	 * @param department
+	 * @return
+	 */
+	boolean submit(DepartmentEntity department);
+
+	List<DepartmentEntity> selectDepartmentList(String yearAndMonth);
+
+	boolean deleteByIds(List<Long> ids);
+}

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

@@ -18,7 +18,7 @@ public interface IEnterpriseInfoService extends BaseService<EnterpriseInfoEntity
 	 * @param enterpriseInfo
 	 * @return
 	 */
-	EnterpriseInfoEntity fetchLastYearData(EnterpriseInfoEntity enterpriseInfo);
+	Boolean fetchLastYearData(EnterpriseInfoEntity enterpriseInfo);
 
 	/**
 	 * 新增或修改

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

@@ -14,4 +14,6 @@ public interface SettingService {
 	SettingEntity detail(String year);
 
 	boolean submit(SettingEntity dto);
+
+	Boolean fetchLastYearData(SettingEntity settingEntity);
 }

+ 106 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/DepartmentServiceImpl.java

@@ -0,0 +1,106 @@
+
+package org.sky.scientific.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.sky.core.log.exception.ServiceException;
+import org.sky.core.secure.utils.SecureUtil;
+import org.sky.core.tool.utils.DateUtil;
+import org.sky.core.tool.utils.Func;
+import org.sky.scientific.mapper.DepartmentMapper;
+import org.sky.scientific.pojo.entity.DepartmentEntity;
+import org.sky.scientific.service.IDepartmentService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 二级单位/部门 服务类 服务实现类
+ *
+ * @author Kd
+ * @since 2025-08-14
+ */
+@Service
+@AllArgsConstructor
+public class DepartmentServiceImpl  implements IDepartmentService {
+
+	private final DepartmentMapper mapper;
+	@Override
+	@Transactional
+	public Boolean fetchLastYearData(DepartmentEntity department) {
+		if (Func.isBlank(department.getYearAndMonth())) {
+			throw new ServiceException("参数yearAndMonth不能为空");
+		}
+		String lastYear = DateUtil.format(DateUtil.minusYears(DateUtil.parse(department.getYearAndMonth(), DateUtil.PATTERN_YYYY), 1), DateUtil.PATTERN_YYYY);
+		LambdaQueryWrapper<DepartmentEntity> eq = Wrappers.<DepartmentEntity>lambdaQuery()
+			.eq(DepartmentEntity::getYearAndMonth, lastYear);
+		List<DepartmentEntity> list = mapper.selectList(eq);
+		if (Func.isEmpty(list)) {
+			throw new ServiceException("上年度没有数据");
+		}
+
+		//管他有没有,先清除本年度数据
+		mapper.deleteByYearAndTenantId(department.getYearAndMonth(), SecureUtil.getTenantId());
+
+		List<DepartmentEntity> parentList = list.stream().filter(item -> Func.equals(item.getParentId(), 0L)).toList();
+		for (DepartmentEntity parent : parentList) {
+			Long oldParentId = parent.getId();
+			parent.setId(null);
+			parent.setYearAndMonth(department.getYearAndMonth());
+			mapper.insert(parent);
+
+			List<DepartmentEntity> tmpList = list.stream().filter(item -> Func.equals(item.getParentId(), oldParentId)).toList();
+			for (DepartmentEntity entity : tmpList) {
+				entity.setId(null);
+				entity.setParentId(parent.getId());
+				entity.setYearAndMonth(department.getYearAndMonth());
+				mapper.insert(entity);
+			}
+		}
+		return true;
+	}
+
+	@Override
+	public boolean submit(DepartmentEntity department) {
+		if (Func.isBlank(department.getYearAndMonth())) {
+			throw new ServiceException("参数yearAndMonth不能为空");
+		}
+
+		LambdaQueryWrapper<DepartmentEntity> wrapper = Wrappers.<DepartmentEntity>lambdaQuery()
+			.eq(DepartmentEntity::getName, department.getName())
+			.eq(DepartmentEntity::getYearAndMonth, department.getYearAndMonth());
+		DepartmentEntity dbEntity = mapper.selectOne(wrapper);
+		if (department.getId() == null) {
+			//新增
+			if (dbEntity != null) {
+				throw new ServiceException("名称[" + department.getName() + "]已存在");
+			}
+			return mapper.insert(department) == 1;
+		} else {
+			//修改
+			if (dbEntity!=null && Func.equals(department.getName(), dbEntity.getName()) && !Func.equals(dbEntity.getId(), department.getId())) {
+				throw new ServiceException("名称[" + department.getName() + "]已存在");
+			}
+			return mapper.updateById(department) == 1;
+		}
+	}
+
+	@Override
+	public List<DepartmentEntity> selectDepartmentList(String yearAndMonth) {
+		return mapper.selectList(Wrappers.<DepartmentEntity>lambdaQuery()
+			.eq(DepartmentEntity::getYearAndMonth, yearAndMonth));
+	}
+
+	@Override
+	public boolean deleteByIds(List<Long> ids) {
+		for (Long id : ids) {
+			Long count = mapper.selectCount(Wrappers.<DepartmentEntity>lambdaQuery().eq(DepartmentEntity::getParentId, id));
+			if (count > 0) {
+				throw new ServiceException("请先删除下级部门");
+			}
+		}
+		return  mapper.deleteByIds(ids) > 0;
+	}
+}

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

@@ -12,6 +12,7 @@ import org.sky.scientific.mapper.EnterpriseInfoMapper;
 import org.sky.scientific.pojo.entity.EnterpriseInfoEntity;
 import org.sky.scientific.service.IEnterpriseInfoService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 企业基础信息表 服务实现类
@@ -23,7 +24,8 @@ import org.springframework.stereotype.Service;
 public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMapper, EnterpriseInfoEntity> implements IEnterpriseInfoService {
 
 	@Override
-	public EnterpriseInfoEntity fetchLastYearData(EnterpriseInfoEntity enterpriseInfo) {
+	@Transactional
+	public Boolean fetchLastYearData(EnterpriseInfoEntity enterpriseInfo) {
 		if (Func.isBlank(enterpriseInfo.getYearAndMonth())) {
 			throw new ServiceException("参数yearAndMonth不能为空");
 		}
@@ -34,9 +36,20 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
 		if (Func.isNull(one)) {
 			throw new ServiceException("上年度没有数据");
 		}
-		one.setId(null);
 		one.setYearAndMonth(enterpriseInfo.getYearAndMonth());
-		return one;
+
+		// 企业基础信息表
+		EnterpriseInfoEntity dbEntity = this.getOne(Wrappers.<EnterpriseInfoEntity>lambdaQuery()
+			.eq(EnterpriseInfoEntity::getYearAndMonth, enterpriseInfo.getYearAndMonth()));
+		if(Func.isNull(dbEntity)){
+			//新增
+			one.setId(null);
+			return this.save(one);
+		}else {
+			//修改
+			one.setId(dbEntity.getId());
+			return this.updateById(one);
+		}
 	}
 
 	@Override

+ 35 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/SettingServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.sky.core.log.exception.ServiceException;
+import org.sky.core.tool.utils.DateUtil;
 import org.sky.core.tool.utils.Func;
 import org.sky.scientific.mapper.SettingMapper;
 import org.sky.scientific.pojo.entity.SettingEntity;
@@ -46,4 +47,38 @@ public class SettingServiceImpl implements SettingService {
 		}
 		return result;
 	}
+
+	@Override
+	public Boolean fetchLastYearData(SettingEntity settingEntity) {
+		if (Func.isBlank(settingEntity.getYearAndMonth())) {
+			throw new ServiceException("参数yearAndMonth不能为空");
+		}
+		if(Func.isNull(settingEntity.getType())){
+			throw new ServiceException("类型,读取上年度数据时需要传这个值,1:出勤时长,2:高企证书");
+		}
+		String lastYear = DateUtil.format(DateUtil.minusYears(DateUtil.parse(settingEntity.getYearAndMonth(), DateUtil.PATTERN_YYYY), 1), DateUtil.PATTERN_YYYY);
+		LambdaQueryWrapper<SettingEntity> eq = Wrappers.<SettingEntity>lambdaQuery()
+			.eq(SettingEntity::getYearAndMonth, lastYear);
+		SettingEntity one = mapper.selectOne(eq);
+		if (Func.isNull(one)) {
+			throw new ServiceException("上年度没有数据");
+		}
+		one.setYearAndMonth(settingEntity.getYearAndMonth());
+
+		SettingEntity dbEntity = mapper.selectOne(Wrappers.<SettingEntity>lambdaQuery()
+			.eq(SettingEntity::getYearAndMonth, settingEntity.getYearAndMonth()));
+		if(Func.isNull(dbEntity)){
+			//新增
+			one.setId(null);
+			return mapper.insert(one) == 1;
+		}else {
+			//修改
+			if(Func.equals(settingEntity.getType(), 1)){
+				dbEntity.setWorkHours(one.getWorkHours());
+			}else if(Func.equals(settingEntity.getType(), 2)){
+				dbEntity.setHighTechUrl(one.getHighTechUrl());
+			}
+			return mapper.updateById(dbEntity) == 1;
+		}
+	}
 }

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

@@ -230,8 +230,4 @@ public class XmIntangibleAssetServiceImpl extends BaseServiceImpl<XmIntangibleAs
 		}
         return page.setRecords(list);
     }
-
-	public static void main(String[] args) {
-		System.out.println("dd"+(0/1));
-	}
 }