zhoulisky 10 months ago
parent
commit
7f4d7877e8
31 changed files with 220 additions and 133 deletions
  1. 4 7
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/dto/XmDTO.java
  2. 3 9
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/XmEntity.java
  3. 5 3
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/YsWxzctxfyEntity.java
  4. 5 3
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/YsZjfyycqdtfyEntity.java
  5. 0 4
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/YsZjtrfyEntity.java
  6. 6 0
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/ZcEntity.java
  7. 5 0
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/vo/XmBgrzVO.java
  8. 5 0
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/vo/YsWxzctxfyVO.java
  9. 6 0
      kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/vo/YsZjfyycqdtfyVO.java
  10. 19 28
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmBgrzController.java
  11. 6 2
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmController.java
  12. 14 16
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/YsZjfyycqdtfyController.java
  13. 21 23
      kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/ZcController.java
  14. 7 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmBgrzMapper.java
  15. 11 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmBgrzMapper.xml
  16. 2 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmMapper.java
  17. 5 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmMapper.xml
  18. 8 3
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsWxzctxfyMapper.xml
  19. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsZjfyycqdtfyMapper.java
  20. 10 5
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsZjfyycqdtfyMapper.xml
  21. 0 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsZjtrfyMapper.xml
  22. 4 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/ZcMapper.java
  23. 28 2
      kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/ZcMapper.xml
  24. 2 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IXmBgrzService.java
  25. 2 3
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IXmService.java
  26. 1 1
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IYsZjfyycqdtfyService.java
  27. 6 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IZcService.java
  28. 6 0
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmBgrzServiceImpl.java
  29. 13 10
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmServiceImpl.java
  30. 2 2
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/YsZjfyycqdtfyServiceImpl.java
  31. 13 9
      kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/ZcServiceImpl.java

+ 4 - 7
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/dto/XmDTO.java

@@ -1,15 +1,12 @@
 
 package org.sky.scientific.pojo.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.v3.oas.annotations.media.Schema;
-import org.sky.scientific.pojo.entity.XmEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.sky.scientific.pojo.entity.XmEntity;
+
 import java.io.Serial;
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
 
 /**
  * 科研项目 数据传输对象实体类
@@ -23,8 +20,8 @@ public class XmDTO extends XmEntity {
 	@Serial
 	private static final long serialVersionUID = 1L;
 
-	@Schema(description = "项目预算总额-每年的预算,用于接收前端的数组")
-	private List<HashMap<String, Float>> yearAmountList;
+//	@Schema(description = "项目预算总额-每年的预算,用于接收前端的数组")
+//	private List<HashMap<String, Float>> yearAmountList;
 
 	@Schema(description = "年月,如:202507")
 	private String yearAndMonth;

+ 3 - 9
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/XmEntity.java

@@ -1,25 +1,19 @@
 
 package org.sky.scientific.pojo.entity;
 
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
 import lombok.Data;
-import io.swagger.v3.oas.annotations.media.Schema;
-import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.EqualsAndHashCode;
 import org.sky.core.tenant.mp.TenantEntity;
-import org.sky.core.tool.jackson.Sensitive;
 import org.sky.core.tool.utils.DateUtil;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serial;
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
 
 /**
  * 科研项目 实体类
@@ -37,7 +31,7 @@ public class XmEntity extends TenantEntity {
 	private static final long serialVersionUID = 1L;
 
 	@Schema(description = "项目编号")
-//	@NotBlank(message = "项目编号不能为空")
+	@NotBlank(message = "项目编号不能为空")
 	private String xmbh;
 
 	@NotBlank(message = "项目名称不能为空")

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

@@ -1,6 +1,7 @@
 
 package org.sky.scientific.pojo.entity;
 
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -28,14 +29,15 @@ public class YsWxzctxfyEntity extends TenantEntity {
 	@NotNull(message = "请选择研发项目")
 	private Long xmId;
 
-	@Schema(description = "资产id,kd_zichan的主键")
-	private Long zcId;
+	@Schema(description = "资产编码")
+	@NotBlank(message = "请选择资产")
+	private String zcbm;
 
 	@Schema(description = "在项目中的工作时长(月)")
 	private Integer zzsc;
 
 	@Schema(description = "长期待摊费用名称")
-	private Double cqdtfymc;
+	private String cqdtfymc;
 
 	@Schema(description = "长期待摊费用预算金额")
 	private Double cqdtfyysje;

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

@@ -1,6 +1,7 @@
 
 package org.sky.scientific.pojo.entity;
 
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -28,14 +29,15 @@ public class YsZjfyycqdtfyEntity extends TenantEntity {
 	@NotNull(message = "请选择研发项目")
 	private Long xmId;
 
-	@Schema(description = "资产id,kd_zichan的主键")
-	private Long zcId;
+	@Schema(description = "资产编码")
+	@NotBlank(message = "请选择资产")
+	private String zcbm;
 
 	@Schema(description = "在项目中的工作时长(月)")
 	private Integer zzsc;
 
 	@Schema(description = "长期待摊费用名称")
-	private Double cqdtfymc;
+	private String cqdtfymc;
 
 	@Schema(description = "长期待摊费用预算金额")
 	private Double cqdtfyysje;

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

@@ -28,10 +28,6 @@ public class YsZjtrfyEntity extends TenantEntity {
 	@NotNull(message = "请选择研发项目")
 	private Long xmId;
 
-	@Schema(description = "科技人员id")
-	@NotNull(message = "请选择科技人员")
-	private Long technicianId;
-
 	@Schema(description = "物资名称")
 	@NotNull(message = "请填写物资名称")
 	private String wzmc;

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

@@ -1,11 +1,15 @@
 
 package org.sky.scientific.pojo.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import io.swagger.v3.oas.annotations.media.Schema;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.EqualsAndHashCode;
 import org.sky.core.tenant.mp.TenantEntity;
+import org.sky.core.tool.utils.DateUtil;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serial;
 import java.util.Date;
 
@@ -58,6 +62,8 @@ public class ZcEntity extends TenantEntity {
 	 * 开始日期
 	 */
 	@Schema(description = "开始日期")
+	@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
+	@JsonFormat(pattern = DateUtil.PATTERN_DATE)
 	private Date kssj;
 	/**
 	 * 使用寿命/月

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

@@ -1,9 +1,12 @@
 
 package org.sky.scientific.pojo.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import org.sky.scientific.pojo.entity.XmBgrzEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.sky.scientific.pojo.entity.XmEntity;
+
 import java.io.Serial;
 
 /**
@@ -18,4 +21,6 @@ public class XmBgrzVO extends XmBgrzEntity {
 	@Serial
 	private static final long serialVersionUID = 1L;
 
+	@Schema(description = "项目信息")
+	private XmEntity xmEntity;
 }

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

@@ -1,9 +1,12 @@
 
 package org.sky.scientific.pojo.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import org.sky.scientific.pojo.entity.YsWxzctxfyEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.sky.scientific.pojo.entity.ZcEntity;
+
 import java.io.Serial;
 
 /**
@@ -18,4 +21,6 @@ public class YsWxzctxfyVO extends YsWxzctxfyEntity {
 	@Serial
 	private static final long serialVersionUID = 1L;
 
+	@Schema(description = "资产信息")
+	private ZcEntity zcEntity;
 }

+ 6 - 0
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/vo/YsZjfyycqdtfyVO.java

@@ -1,9 +1,12 @@
 
 package org.sky.scientific.pojo.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import org.sky.scientific.pojo.entity.YsZjfyycqdtfyEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.sky.scientific.pojo.entity.ZcEntity;
+
 import java.io.Serial;
 
 /**
@@ -18,4 +21,7 @@ public class YsZjfyycqdtfyVO extends YsZjfyycqdtfyEntity {
 	@Serial
 	private static final long serialVersionUID = 1L;
 
+	@Schema(description = "资产信息")
+	private ZcEntity zcEntity;
+
 }

+ 19 - 28
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmBgrzController.java

@@ -1,33 +1,31 @@
 
 package org.sky.scientific.controller;
 
-import io.swagger.v3.oas.annotations.tags.Tag;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import lombok.AllArgsConstructor;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
-
+import lombok.AllArgsConstructor;
+import org.sky.core.boot.ctrl.KdController;
 import org.sky.core.excel.util.ExcelUtil;
 import org.sky.core.mp.support.Condition;
 import org.sky.core.mp.support.Query;
 import org.sky.core.secure.KdUser;
-import org.sky.core.secure.annotation.IsAdmin;
 import org.sky.core.tool.api.R;
 import org.sky.core.tool.utils.DateUtil;
-import org.sky.core.tool.utils.Func;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.sky.scientific.excel.XmBgrzExcel;
 import org.sky.scientific.pojo.entity.XmBgrzEntity;
 import org.sky.scientific.pojo.vo.XmBgrzVO;
-import org.sky.scientific.excel.XmBgrzExcel;
-import org.sky.scientific.wrapper.XmBgrzWrapper;
 import org.sky.scientific.service.IXmBgrzService;
-import org.sky.core.boot.ctrl.KdController;
-import java.util.Map;
+import org.sky.scientific.wrapper.XmBgrzWrapper;
+import org.springframework.web.bind.annotation.*;
+
 import java.util.List;
-import jakarta.servlet.http.HttpServletResponse;
+import java.util.Map;
 
 /**
  * 项目-变更记录 控制器
@@ -41,36 +39,29 @@ import jakarta.servlet.http.HttpServletResponse;
 @Tag(name = "项目-变更记录", description = "项目-变更记录接口")
 public class XmBgrzController extends KdController {
 
-	private final IXmBgrzService xmBgrzService;
+	private final IXmBgrzService service;
 
 	@GetMapping("/detail")
 	@ApiOperationSupport(order = 1)
 	@Operation(summary = "详情", description  = "传入xmBgrz")
 	public R<XmBgrzVO> detail(XmBgrzEntity xmBgrz) {
-		XmBgrzEntity detail = xmBgrzService.getOne(Condition.getQueryWrapper(xmBgrz));
+		XmBgrzEntity detail = service.getOne(Condition.getQueryWrapper(xmBgrz));
 		return R.data(XmBgrzWrapper.build().entityVO(detail));
 	}
 
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@Operation(summary = "分页", description  = "传入xmBgrz")
-	public R<IPage<XmBgrzVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> xmBgrz, Query query) {
-		IPage<XmBgrzEntity> pages = xmBgrzService.page(Condition.getPage(query), Condition.getQueryWrapper(xmBgrz, XmBgrzEntity.class));
-		return R.data(XmBgrzWrapper.build().pageVO(pages));
+	public R<IPage<XmBgrzVO>> list(XmBgrzEntity xmBgrz, Query query) {
+		IPage<XmBgrzVO> pages = service.selectBgrzPage(xmBgrz, Condition.getPage( query));
+		return R.data(pages);
 	}
 
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@Operation(summary = "新增", description  = "传入xmBgrz")
 	public R save(@Valid @RequestBody XmBgrzEntity xmBgrz) {
-		return R.status(xmBgrzService.saveBgrz(xmBgrz));
-	}
-
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 5)
-	@Operation(summary = "修改", description  = "传入xmBgrz")
-	public R update(@Valid @RequestBody XmBgrzEntity xmBgrz) {
-		return R.status(xmBgrzService.updateById(xmBgrz));
+		return R.status(service.saveBgrz(xmBgrz));
 	}
 
 	@GetMapping("/export")
@@ -78,7 +69,7 @@ public class XmBgrzController extends KdController {
 	@Operation(summary = "导出数据", description  = "传入xmBgrz")
 	public void export(@Parameter(hidden = true) @RequestParam Map<String, Object> xmBgrz, KdUser kdUser, HttpServletResponse response) {
 		QueryWrapper<XmBgrzEntity> queryWrapper = Condition.getQueryWrapper(xmBgrz, XmBgrzEntity.class);
-		List<XmBgrzExcel> list = xmBgrzService.exportXmBgrz(queryWrapper);
+		List<XmBgrzExcel> list = service.exportXmBgrz(queryWrapper);
 		ExcelUtil.export(response, "项目-变更记录数据" + DateUtil.time(), "项目-变更记录数据表", list, XmBgrzExcel.class);
 	}
 

+ 6 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/XmController.java

@@ -1,6 +1,7 @@
 
 package org.sky.scientific.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -72,8 +73,11 @@ public class XmController extends KdController {
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@Operation(summary = "项目立项", description  = "传入xm")
-	public R save(@Valid @RequestBody XmDTO xm) {
-		return R.status(xmService.approval(xm));
+	public R<JSONObject> save(@Valid @RequestBody XmDTO xm) {
+		Long xmId = xmService.approval(xm);
+		JSONObject result = new JSONObject();
+		result.put("xmId", xmId);
+		return R.data(result);
 	}
 
 	@PostMapping("/update")

+ 14 - 16
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/YsZjfyycqdtfyController.java

@@ -1,35 +1,33 @@
 
 package org.sky.scientific.controller;
 
-import io.swagger.v3.oas.annotations.tags.Tag;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import lombok.AllArgsConstructor;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
-
+import lombok.AllArgsConstructor;
+import org.sky.core.boot.ctrl.KdController;
 import org.sky.core.excel.util.ExcelUtil;
 import org.sky.core.mp.support.Condition;
 import org.sky.core.mp.support.Query;
 import org.sky.core.secure.KdUser;
-import org.sky.core.secure.annotation.IsAdmin;
 import org.sky.core.tool.api.R;
 import org.sky.core.tool.utils.DateUtil;
 import org.sky.core.tool.utils.Func;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.sky.scientific.excel.YsZjfyycqdtfyExcel;
 import org.sky.scientific.pojo.entity.YsZjfyycqdtfyEntity;
 import org.sky.scientific.pojo.vo.YsZjfyycqdtfyVO;
-import org.sky.scientific.excel.YsZjfyycqdtfyExcel;
-import org.sky.scientific.wrapper.YsZjfyycqdtfyWrapper;
 import org.sky.scientific.service.IYsZjfyycqdtfyService;
-import org.sky.core.boot.ctrl.KdController;
-import java.util.Map;
-import java.util.List;
-import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 项目预算-折旧费用与长期待摊费用 控制器
  *
@@ -48,7 +46,7 @@ public class YsZjfyycqdtfyController extends KdController {
 	@ApiOperationSupport(order = 3)
 	@Operation(summary = "分页", description  = "传入ysZjfyycqdtfy")
 	public R<IPage<YsZjfyycqdtfyVO>> page(YsZjfyycqdtfyVO ysZjfyycqdtfy, Query query) {
-		IPage<YsZjfyycqdtfyVO> pages = service.selectYsZjfyycqdtfyPage(Condition.getPage(query), ysZjfyycqdtfy);
+		IPage<YsZjfyycqdtfyVO> pages = service.selectList(Condition.getPage(query), ysZjfyycqdtfy);
 		return R.data(pages);
 	}
 
@@ -68,7 +66,7 @@ public class YsZjfyycqdtfyController extends KdController {
 
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 7)
-	@Operation(summary = "逻辑删除", description  = "传入ids")
+	@Operation(summary = "删除", description  = "传入ids")
 	public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(service.physicalDeleteByIds(Func.toLongList(ids)));
 	}

+ 21 - 23
kd-service/kd-scientific/src/main/java/org/sky/scientific/controller/ZcController.java

@@ -1,13 +1,16 @@
 
 package org.sky.scientific.controller;
 
-import io.swagger.v3.oas.annotations.tags.Tag;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import lombok.AllArgsConstructor;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
-
+import lombok.AllArgsConstructor;
+import org.sky.core.boot.ctrl.KdController;
 import org.sky.core.excel.util.ExcelUtil;
 import org.sky.core.mp.support.Condition;
 import org.sky.core.mp.support.Query;
@@ -16,24 +19,18 @@ import org.sky.core.secure.annotation.IsAdmin;
 import org.sky.core.tool.api.R;
 import org.sky.core.tool.utils.DateUtil;
 import org.sky.core.tool.utils.Func;
-import org.sky.scientific.excel.TechnicianExcel;
-import org.sky.scientific.excel.TechnicianImporter;
-import org.sky.scientific.pojo.dto.TechnicianDTO;
+import org.sky.scientific.excel.ZcExcel;
 import org.sky.scientific.pojo.dto.ZcDTO;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.sky.scientific.pojo.entity.ZcEntity;
 import org.sky.scientific.pojo.vo.ZcVO;
-import org.sky.scientific.excel.ZcExcel;
-import org.sky.scientific.wrapper.ZcWrapper;
 import org.sky.scientific.service.IZcService;
-import org.sky.core.boot.ctrl.KdController;
-import java.util.Map;
-import java.util.List;
-import jakarta.servlet.http.HttpServletResponse;
+import org.sky.scientific.wrapper.ZcWrapper;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 资产表 控制器
  *
@@ -59,6 +56,14 @@ public class ZcController extends KdController {
 		return R.data(ZcWrapper.build().entityVO(detail));
 	}
 
+	@GetMapping("/simple/list")
+	@ApiOperationSupport(order = 2)
+	@Operation(summary = "列表-所有不分页", description  = "")
+	public R<List<ZcEntity>> list() {
+		List<ZcEntity> list = service.selectZcList();
+		return R.data(list);
+	}
+
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
 	@Operation(summary = "分页", description  = "传入zc")
@@ -81,13 +86,6 @@ public class ZcController extends KdController {
 		return R.status(service.updateById(zc));
 	}
 
-	@PostMapping("/submit")
-	@ApiOperationSupport(order = 6)
-	@Operation(summary = "新增或修改", description  = "传入zc")
-	public R submit(@Valid @RequestBody ZcEntity zc) {
-		return R.status(service.saveOrUpdate(zc));
-	}
-
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 7)
 	@Operation(summary = "逻辑删除", description  = "传入ids")

+ 7 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmBgrzMapper.java

@@ -27,4 +27,11 @@ public interface XmBgrzMapper extends BaseMapper<XmBgrzEntity> {
 	 */
 	List<XmBgrzExcel> exportXmBgrz(@Param("ew") Wrapper<XmBgrzEntity> queryWrapper);
 
+	/**
+	 * 查询项目-变更记录分页数据
+	 * @param page
+	 * @param xmBgrz
+	 * @return
+	 */
+	List<XmBgrzVO> selectBgrzPage(IPage<XmBgrzVO> page, @Param("ew") XmBgrzEntity xmBgrz);
 }

+ 11 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/XmBgrzMapper.xml

@@ -22,8 +22,19 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
+    <resultMap id="ResultVoMap" type="org.sky.scientific.pojo.vo.XmBgrzVO" extends="xmBgrzResultMap">
+        <association property="xmEntity" column="XM_ID" select="org.sky.scientific.mapper.XmMapper.selectByXmId"/>
+    </resultMap>
+
     <select id="exportXmBgrz" resultType="org.sky.scientific.excel.XmBgrzExcel">
         SELECT * FROM kd_xm_bgrz ${ew.customSqlSegment}
     </select>
 
+
+    <select id="selectBgrzPage" resultMap="ResultVoMap">
+        SELECT * FROM kd_xm_bgrz
+        WHERE is_deleted = 0
+        <if test="ew.xmId!=null">and XM_ID = #{ew.xmId}</if>
+    </select>
+
 </mapper>

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

@@ -54,4 +54,6 @@ public interface XmMapper extends BaseMapper<XmEntity> {
 	 * @return
 	 */
 	XmYszbVO selectYszb(@Param("xmId") Long xmId);
+
+	XmEntity selectByXmId(@Param("xmId") Long xmId);
 }

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

@@ -82,4 +82,9 @@
         FROM kd_xm xm
         WHERE xm.is_deleted = 0 and xm.id = #{xmId}
     </select>
+
+    <select id="selectByXmId" resultMap="xmResultMap">
+        SELECT * FROM kd_xm
+        WHERE id = #{xmId}
+    </select>
 </mapper>

+ 8 - 3
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsWxzctxfyMapper.xml

@@ -7,7 +7,7 @@
         <result column="id" property="id"/>
         <result column="tenant_id" property="tenantId"/>
         <result column="XM_ID" property="xmId"/>
-        <result column="ZC_ID" property="zcId"/>
+        <result column="ZCBM" property="zcbm"/>
         <result column="ZZSC" property="zzsc"/>
         <result column="create_user" property="createUser"/>
         <result column="create_dept" property="createDept"/>
@@ -20,6 +20,10 @@
         <result column="CQDTFYYSJE" property="cqdtfyysje"/>
     </resultMap>
 
+    <resultMap id="ResultVoMap" type="org.sky.scientific.pojo.vo.YsWxzctxfyVO" extends="ysWxzctxfyResultMap">
+        <association property="zcEntity" column="ZCBM" select="org.sky.scientific.mapper.ZcMapper.selectLastOneByZcbm"/>
+    </resultMap>
+
     <delete id="physicalDeleteByIds">
         DELETE FROM kd_ys_wxzctxfy
         WHERE id IN
@@ -30,8 +34,9 @@
     </delete>
 
 
-    <select id="selectYsWxzctxfyPage" resultMap="ysWxzctxfyResultMap">
-        select * from kd_ys_wxzctxfy where is_deleted = 0
+    <select id="selectYsWxzctxfyPage" resultMap="ResultVoMap">
+        select * from kd_ys_wxzctxfy
+        where is_deleted = 0
         <if test="ysWxzctxfy.xmId!=null">and XM_ID = #{ysWxzctxfy.xmId}</if>
     </select>
 

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

@@ -25,7 +25,7 @@ public interface YsZjfyycqdtfyMapper extends BaseMapper<YsZjfyycqdtfyEntity> {
 	 * @param ysZjfyycqdtfy 查询参数
 	 * @return List<YsZjfyycqdtfyVO>
 	 */
-	List<YsZjfyycqdtfyVO> selectYsZjfyycqdtfyPage(IPage page, @Param("ysZjfyycqdtfy") YsZjfyycqdtfyVO ysZjfyycqdtfy);
+	List<YsZjfyycqdtfyVO> selectList(IPage page, @Param("ysZjfyycqdtfy") YsZjfyycqdtfyVO ysZjfyycqdtfy);
 
 
 	/**

+ 10 - 5
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsZjfyycqdtfyMapper.xml

@@ -7,7 +7,7 @@
         <result column="id" property="id"/>
         <result column="tenant_id" property="tenantId"/>
         <result column="XM_ID" property="xmId"/>
-        <result column="ZC_ID" property="zcId"/>
+        <result column="ZCBM" property="zcbm"/>
         <result column="ZZSC" property="zzsc"/>
         <result column="CQDTFYMC" property="cqdtfymc"/>
         <result column="CQDTFYYSJE" property="cqdtfyysje"/>
@@ -20,24 +20,29 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
+    <resultMap id="ResultVoMap" type="org.sky.scientific.pojo.vo.YsZjfyycqdtfyVO" extends="ysZjfyycqdtfyResultMap">
+        <association property="zcEntity" column="ZCBM" select="org.sky.scientific.mapper.ZcMapper.selectLastOneByZcbm"/>
+    </resultMap>
+
     <delete id="physicalDeleteByIds">
         DELETE FROM kd_ys_zjfyycqdtfy
         WHERE id IN
         <foreach item="id" collection="list" separator="," close=")" open="(" index="">
             #{id}
         </foreach>
-        />
     </delete>
 
 
-    <select id="selectYsZjfyycqdtfyPage" resultMap="ysZjfyycqdtfyResultMap">
-        select * from kd_ys_zjfyycqdtfy where is_deleted = 0
+    <select id="selectList" resultMap="ResultVoMap">
+        select * from kd_ys_zjfyycqdtfy
+        where is_deleted = 0
         <if test="ysZjfyycqdtfy.xmId!=null">and XM_ID = #{ysZjfyycqdtfy.xmId}</if>
     </select>
 
 
     <select id="exportYsZjfyycqdtfy" resultType="org.sky.scientific.excel.YsZjfyycqdtfyExcel">
-        SELECT * FROM kd_ys_zjfyycqdtfy ${ew.customSqlSegment}
+        SELECT *
+        FROM kd_ys_zjfyycqdtfy ${ew.customSqlSegment}
     </select>
 
 </mapper>

+ 0 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/YsZjtrfyMapper.xml

@@ -7,7 +7,6 @@
         <result column="id" property="id"/>
         <result column="tenant_id" property="tenantId"/>
         <result column="XM_ID" property="xmId"/>
-        <result column="technician_id" property="technicianId"/>
         <result column="WZMC" property="wzmc"/>
         <result column="yong_liang" property="yongLiang"/>
         <result column="dan_jia" property="danJia"/>

+ 4 - 1
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/ZcMapper.java

@@ -25,7 +25,7 @@ public interface ZcMapper extends BaseMapper<ZcEntity> {
 	 * @param zc 查询参数
 	 * @return List<ZcVO>
 	 */
-	List<ZcVO> selectZcPage(IPage page, ZcVO zc);
+	List<ZcVO> selectZcPage(IPage page, @Param("zc") ZcVO zc);
 
 
 	/**
@@ -36,4 +36,7 @@ public interface ZcMapper extends BaseMapper<ZcEntity> {
 	 */
 	List<ZcExcel> exportZc(@Param("ew") Wrapper<ZcEntity> queryWrapper);
 
+	ZcEntity selectLastOneByZcbm(@Param("zcbm") String zcbm);
+
+	List<ZcEntity> selectZcList();
 }

+ 28 - 2
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/ZcMapper.xml

@@ -27,9 +27,17 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
-
     <select id="selectZcPage" resultMap="zcResultMap">
-        select * from kd_zc where is_deleted = 0
+        SELECT t.*
+        FROM kd_zc t
+        INNER JOIN (
+            SELECT ZCBM, MAX(year_and_month) as max_month FROM kd_zc
+            WHERE  is_deleted = 0
+            <if test="zc.yearAndMonth.length()==4">AND left(year_and_month, 4) = #{zc.yearAndMonth}</if>
+            <if test="zc.yearAndMonth.length()==6">AND year_and_month = #{zc.yearAndMonth}</if>
+            GROUP BY ZCBM
+        ) tm ON t.ZCBM = tm.ZCBM AND t.year_and_month = tm.max_month
+        ORDER BY t.ZCBM, t.year_and_month DESC
     </select>
 
 
@@ -37,4 +45,22 @@
         SELECT * FROM kd_zc ${ew.customSqlSegment}
     </select>
 
+    <select id="selectLastOneByZcbm" resultMap="zcResultMap">
+        select * from kd_zc z
+        where z.ZCBM = #{zcbm} and z.year_and_month = (select max(year_and_month) from kd_zc where ZCBM = #{zcbm})
+    </select>
+
+    <select id="selectZcList" resultMap="zcResultMap">
+        SELECT t.*
+        FROM kd_zc t
+                 INNER JOIN (
+            SELECT
+                ZCBM,
+                MAX(year_and_month) as max_month
+            FROM kd_zc
+            GROUP BY ZCBM
+        ) tm ON t.ZCBM = tm.ZCBM AND t.year_and_month = tm.max_month
+        ORDER BY t.ZCBM, t.year_and_month DESC
+    </select>
+
 </mapper>

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

@@ -26,4 +26,6 @@ public interface IXmBgrzService extends BaseService<XmBgrzEntity> {
 	List<XmBgrzExcel> exportXmBgrz(Wrapper<XmBgrzEntity> queryWrapper);
 
     boolean saveBgrz(XmBgrzEntity xmBgrz);
+
+	IPage<XmBgrzVO> selectBgrzPage(XmBgrzEntity xmBgrz, IPage<XmBgrzVO> page);
 }

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

@@ -37,11 +37,10 @@ public interface IXmService extends BaseService<XmEntity> {
 
 	/**
 	 * 立项
-	 *
 	 * @param xm
-	 * @return
+	 * @return 项目id
 	 */
-    boolean approval(XmDTO xm);
+    Long approval(XmDTO xm);
 
 	/**
 	 * 修改

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

@@ -23,7 +23,7 @@ public interface IYsZjfyycqdtfyService extends BaseService<YsZjfyycqdtfyEntity>
 	 * @param ysZjfyycqdtfy 查询参数
 	 * @return IPage<YsZjfyycqdtfyVO>
 	 */
-	IPage<YsZjfyycqdtfyVO> selectYsZjfyycqdtfyPage(IPage<YsZjfyycqdtfyVO> page, YsZjfyycqdtfyVO ysZjfyycqdtfy);
+	IPage<YsZjfyycqdtfyVO> selectList(IPage<YsZjfyycqdtfyVO> page, YsZjfyycqdtfyVO ysZjfyycqdtfy);
 
 
 	/**

+ 6 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/IZcService.java

@@ -50,4 +50,10 @@ public interface IZcService extends BaseService<ZcEntity> {
 	 * @return
 	 */
 	boolean fetchLastMonthData(ZcDTO zc);
+
+	/**
+	 * 获取资产列表
+	 * @return
+	 */
+	List<ZcEntity> selectZcList();
 }

+ 6 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/XmBgrzServiceImpl.java

@@ -42,4 +42,10 @@ public class XmBgrzServiceImpl extends BaseServiceImpl<XmBgrzMapper, XmBgrzEntit
         return this.save(xmBgrz);
     }
 
+	@Override
+	public IPage<XmBgrzVO> selectBgrzPage(XmBgrzEntity xmBgrz, IPage<XmBgrzVO> page) {
+		List<XmBgrzVO> voList = baseMapper.selectBgrzPage(page, xmBgrz);
+		return page.setRecords(voList);
+	}
+
 }

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

@@ -1,7 +1,7 @@
 
 package org.sky.scientific.service.impl;
 
-import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import jakarta.annotation.Resource;
 import org.sky.core.log.exception.ServiceException;
 import org.sky.core.mp.base.BaseServiceImpl;
+import org.sky.core.tool.utils.CollectionUtil;
 import org.sky.core.tool.utils.DateUtil;
 import org.sky.scientific.excel.XmExcel;
 import org.sky.scientific.mapper.*;
@@ -52,7 +53,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 
 	@Override
 	public IPage<XmEntity> selectXmList(IPage<XmEntity> page, XmDTO xm) {
-		if(xm.getYearAndMonth() == null){
+		if (xm.getYearAndMonth() == null) {
 			xm.setYearAndMonth(DateUtil.format(new Date(), DateUtil.PATTERN_YYYYMM));
 		}
 		return page.setRecords(baseMapper.selectXmPage(page, xm));
@@ -68,7 +69,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 	}
 
 	@Override
-	public boolean approval(XmDTO xm) {
+	public Long approval(XmDTO xm) {
 
 		this.judgeXmmcAvailable(xm.getXmmc());
 
@@ -83,15 +84,17 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 			throw new ServiceException("研发项目编号已存在");
 		}
 
-		if (xm.getYearAmountList() != null && xm.getXmysze().floatValue() > 0) {
-			double total = xm.getYearAmountList().stream().mapToDouble(t -> ((Float) t.get("amount"))).sum();
-			if (total != xm.getXmysze().doubleValue()) {
-				throw new ServiceException("项目预算总额明细不对");
+		if (xm.getXmyszemx() != null) {
+			List<JSONObject> list = JSONObject.parseArray(xm.getXmyszemx(), JSONObject.class);
+			if(CollectionUtil.isNotEmpty(list)){
+				double total = list.stream().mapToDouble(t -> t.getDouble("amount")).sum();
+				if (total != xm.getXmysze().doubleValue()) {
+					throw new ServiceException("项目预算总额明细不对");
+				}
 			}
-			xm.setXmyszemx(JSON.toJSONString(xm.getYearAmountList()));
 		}
 
-		return this.save(xm);
+		return this.save(xm) ? xm.getId() : null;
 	}
 
 	@Override
@@ -128,7 +131,7 @@ public class XmServiceImpl extends BaseServiceImpl<XmMapper, XmEntity> implement
 
 	@Override
 	public XmYszbVO selectYszb(Long xmId) {
-		if(xmId == null || xmId <= 0){
+		if (xmId == null || xmId <= 0) {
 			throw new ServiceException("参数xmId不能为空");
 		}
 		XmYszbVO xmYszbVO = baseMapper.selectYszb(xmId);

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

@@ -23,8 +23,8 @@ import java.util.List;
 public class YsZjfyycqdtfyServiceImpl extends BaseServiceImpl<YsZjfyycqdtfyMapper, YsZjfyycqdtfyEntity> implements IYsZjfyycqdtfyService {
 
 	@Override
-	public IPage<YsZjfyycqdtfyVO> selectYsZjfyycqdtfyPage(IPage<YsZjfyycqdtfyVO> page, YsZjfyycqdtfyVO ysZjfyycqdtfy) {
-		return page.setRecords(baseMapper.selectYsZjfyycqdtfyPage(page, ysZjfyycqdtfy));
+	public IPage<YsZjfyycqdtfyVO> selectList(IPage<YsZjfyycqdtfyVO> page, YsZjfyycqdtfyVO ysZjfyycqdtfy) {
+		return page.setRecords(baseMapper.selectList(page, ysZjfyycqdtfy));
 	}
 
 

+ 13 - 9
kd-service/kd-scientific/src/main/java/org/sky/scientific/service/impl/ZcServiceImpl.java

@@ -1,28 +1,24 @@
 
 package org.sky.scientific.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.extern.slf4j.Slf4j;
 import org.sky.core.excel.util.ExcelUtil;
 import org.sky.core.log.exception.ServiceException;
+import org.sky.core.mp.base.BaseServiceImpl;
 import org.sky.core.tool.utils.BeanUtil;
 import org.sky.core.tool.utils.CollectionUtil;
 import org.sky.core.tool.utils.DateUtil;
-import org.sky.scientific.excel.CgRjzzqExcel;
-import org.sky.scientific.pojo.dto.CgRjzzqDTO;
+import org.sky.scientific.excel.ZcExcel;
+import org.sky.scientific.mapper.ZcMapper;
 import org.sky.scientific.pojo.dto.ZcDTO;
-import org.sky.scientific.pojo.entity.CgRjzzqEntity;
-import org.sky.scientific.pojo.entity.TechnicianEntity;
 import org.sky.scientific.pojo.entity.ZcEntity;
 import org.sky.scientific.pojo.vo.ZcVO;
-import org.sky.scientific.excel.ZcExcel;
-import org.sky.scientific.mapper.ZcMapper;
 import org.sky.scientific.service.IZcService;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.sky.core.mp.base.BaseServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -85,6 +81,9 @@ public class ZcServiceImpl extends BaseServiceImpl<ZcMapper, ZcEntity> implement
 			} else {
 //				okCount++;
 				temp.setYearAndMonth(zc.getYearAndMonth());
+				temp.setYsysm(temp.getYsysm() + 1);
+				//使用寿命-已使用月份数=0时,即已足额折旧
+				temp.setStatus((temp.getSysm() - temp.getYsysm() == 0) ? 2 : 0);
 				temp.setId(null);
 				this.save(temp);
 			}
@@ -94,6 +93,11 @@ public class ZcServiceImpl extends BaseServiceImpl<ZcMapper, ZcEntity> implement
 	}
 
 	@Override
+	public List<ZcEntity> selectZcList() {
+		return baseMapper.selectZcList();
+	}
+
+	@Override
 
 	public List<ZcExcel> exportZc(Wrapper<ZcEntity> queryWrapper) {
 		List<ZcExcel> zcList = baseMapper.exportZc(queryWrapper);