From 2cc7bcdfa41f00f879832320f3154030bdda3e1d Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 19 二月 2025 00:00:04 +0800
Subject: [PATCH] 项目中标单位、项目年度投资计划表代码生成
---
business/src/main/resources/mapper/ProjectInfoWinUnitMapper.xml | 33 ++
business/src/main/java/com/ycl/service/impl/ProjectInfoWinUnitServiceImpl.java | 106 ++++++++
business/src/main/java/com/ycl/domain/entity/ProjectInfoYearPlan.java | 40 +++
business/src/main/java/com/ycl/service/ProjectInfoYearPlanService.java | 57 ++++
business/src/main/java/com/ycl/domain/entity/ProjectInfoWinUnit.java | 39 +++
business/src/main/java/com/ycl/domain/form/ProjectInfoWinUnitForm.java | 50 +++
business/src/main/java/com/ycl/service/ProjectInfoWinUnitService.java | 57 ++++
business/src/main/java/com/ycl/domain/form/ProjectInfoYearPlanForm.java | 50 +++
business/src/main/java/com/ycl/service/impl/ProjectInfoYearPlanServiceImpl.java | 106 ++++++++
business/src/main/java/com/ycl/domain/vo/ProjectInfoYearPlanVO.java | 47 +++
business/src/main/resources/mapper/ProjectInfoYearPlanMapper.xml | 33 ++
business/src/main/java/com/ycl/mapper/ProjectInfoYearPlanMapper.java | 29 ++
business/src/main/java/com/ycl/mapper/ProjectInfoWinUnitMapper.java | 29 ++
business/src/main/java/com/ycl/domain/vo/ProjectInfoWinUnitVO.java | 47 +++
14 files changed, 723 insertions(+), 0 deletions(-)
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectInfoWinUnit.java b/business/src/main/java/com/ycl/domain/entity/ProjectInfoWinUnit.java
new file mode 100644
index 0000000..395e96e
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectInfoWinUnit.java
@@ -0,0 +1,39 @@
+package com.ycl.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+
+import com.ycl.system.domain.base.AbsEntity;
+import lombok.Data;
+
+/**
+ * 椤圭洰涓爣鍗曚綅
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Data
+@TableName("t_project_info_win_unit")
+public class ProjectInfoWinUnit extends AbsEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableField("project_info_id")
+ /** 椤圭洰id */
+ private Long projectInfoId;
+
+ @TableField("win_unit")
+ /** 涓爣鍗曚綅 */
+ private String winUnit;
+
+ @TableField("contacts")
+ /** 鑱旂郴浜� */
+ private String contacts;
+
+ @TableField("phone")
+ /** 鑱旂郴鏂瑰紡 */
+ private String phone;
+
+
+}
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectInfoYearPlan.java b/business/src/main/java/com/ycl/domain/entity/ProjectInfoYearPlan.java
new file mode 100644
index 0000000..8c706b7
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectInfoYearPlan.java
@@ -0,0 +1,40 @@
+package com.ycl.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+import com.ycl.system.domain.base.AbsEntity;
+import lombok.Data;
+
+/**
+ * 椤圭洰骞村害鎶曡祫璁″垝
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Data
+@TableName("t_project_info_year_plan")
+public class ProjectInfoYearPlan extends AbsEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableField("project_info_id")
+ /** 椤圭洰id */
+ private Long projectInfoId;
+
+ @TableField("year")
+ /** 骞翠唤 */
+ private String year;
+
+ @TableField("year_total_money")
+ /** 骞村害鎶曡祫閲戦 */
+ private BigDecimal yearTotalMoney;
+
+ @TableField("project_image_progress")
+ /** 宸ョ▼褰㈣薄杩涘害 */
+ private String projectImageProgress;
+
+
+}
diff --git a/business/src/main/java/com/ycl/domain/form/ProjectInfoWinUnitForm.java b/business/src/main/java/com/ycl/domain/form/ProjectInfoWinUnitForm.java
new file mode 100644
index 0000000..de77074
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/form/ProjectInfoWinUnitForm.java
@@ -0,0 +1,50 @@
+package com.ycl.domain.form;
+
+import com.ycl.common.group.Update;
+import com.ycl.common.group.Add;
+import com.ycl.system.domain.base.AbsForm;
+import com.ycl.domain.entity.ProjectInfoWinUnit;
+import org.springframework.beans.BeanUtils;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import org.springframework.lang.NonNull;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * 椤圭洰涓爣鍗曚綅琛ㄥ崟
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Data
+@ApiModel(value = "ProjectInfoWinUnit琛ㄥ崟", description = "椤圭洰涓爣鍗曚綅琛ㄥ崟")
+public class ProjectInfoWinUnitForm extends AbsForm {
+
+ @NotNull(message = "椤圭洰id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("椤圭洰id")
+ private Long projectInfoId;
+
+ @NotBlank(message = "涓爣鍗曚綅涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("涓爣鍗曚綅")
+ private String winUnit;
+
+ @NotBlank(message = "鑱旂郴浜轰笉鑳戒负绌�", groups = {Add.class, Update.class})
+ @ApiModelProperty("鑱旂郴浜�")
+ private String contacts;
+
+ @NotBlank(message = "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("鑱旂郴鏂瑰紡")
+ private String phone;
+
+ public static ProjectInfoWinUnit getEntityByForm(@NonNull ProjectInfoWinUnitForm form, ProjectInfoWinUnit entity) {
+ if(entity == null) {
+ entity = new ProjectInfoWinUnit();
+ }
+ BeanUtils.copyProperties(form, entity);
+ return entity;
+ }
+
+}
diff --git a/business/src/main/java/com/ycl/domain/form/ProjectInfoYearPlanForm.java b/business/src/main/java/com/ycl/domain/form/ProjectInfoYearPlanForm.java
new file mode 100644
index 0000000..9583ca0
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/form/ProjectInfoYearPlanForm.java
@@ -0,0 +1,50 @@
+package com.ycl.domain.form;
+
+import com.ycl.common.group.Update;
+import com.ycl.common.group.Add;
+import com.ycl.system.domain.base.AbsForm;
+import com.ycl.domain.entity.ProjectInfoYearPlan;
+import org.springframework.beans.BeanUtils;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import org.springframework.lang.NonNull;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * 椤圭洰骞村害鎶曡祫璁″垝琛ㄥ崟
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Data
+@ApiModel(value = "ProjectInfoYearPlan琛ㄥ崟", description = "椤圭洰骞村害鎶曡祫璁″垝琛ㄥ崟")
+public class ProjectInfoYearPlanForm extends AbsForm {
+
+ @NotNull(message = "椤圭洰id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("椤圭洰id")
+ private Long projectInfoId;
+
+ @NotBlank(message = "骞翠唤涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("骞翠唤")
+ private String year;
+
+ @NotNull(message = "骞村害鎶曡祫閲戦涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("骞村害鎶曡祫閲戦")
+ private BigDecimal yearTotalMoney;
+
+ @NotBlank(message = "宸ョ▼褰㈣薄杩涘害涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("宸ョ▼褰㈣薄杩涘害")
+ private String projectImageProgress;
+
+ public static ProjectInfoYearPlan getEntityByForm(@NonNull ProjectInfoYearPlanForm form, ProjectInfoYearPlan entity) {
+ if(entity == null) {
+ entity = new ProjectInfoYearPlan();
+ }
+ BeanUtils.copyProperties(form, entity);
+ return entity;
+ }
+
+}
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectInfoWinUnitVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectInfoWinUnitVO.java
new file mode 100644
index 0000000..bec0351
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectInfoWinUnitVO.java
@@ -0,0 +1,47 @@
+package com.ycl.domain.vo;
+
+import com.ycl.system.domain.base.AbsVo;
+import com.ycl.domain.entity.ProjectInfoWinUnit;
+import java.util.List;
+import org.springframework.lang.NonNull;
+import org.springframework.beans.BeanUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * 椤圭洰涓爣鍗曚綅灞曠ず
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Data
+@ApiModel(value = "椤圭洰涓爣鍗曚綅鍝嶅簲鏁版嵁", description = "椤圭洰涓爣鍗曚綅鍝嶅簲鏁版嵁")
+public class ProjectInfoWinUnitVO extends AbsVo {
+
+ /** 椤圭洰id */
+ @ApiModelProperty("椤圭洰id")
+ private Long projectInfoId;
+
+ /** 涓爣鍗曚綅 */
+ @ApiModelProperty("涓爣鍗曚綅")
+ private String winUnit;
+
+ /** 鑱旂郴浜� */
+ @ApiModelProperty("鑱旂郴浜�")
+ private String contacts;
+
+ /** 鑱旂郴鏂瑰紡 */
+ @ApiModelProperty("鑱旂郴鏂瑰紡")
+ private String phone;
+
+ public static ProjectInfoWinUnitVO getVoByEntity(@NonNull ProjectInfoWinUnit entity, ProjectInfoWinUnitVO vo) {
+ if(vo == null) {
+ vo = new ProjectInfoWinUnitVO();
+ }
+ BeanUtils.copyProperties(entity, vo);
+ return vo;
+ }
+
+}
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectInfoYearPlanVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectInfoYearPlanVO.java
new file mode 100644
index 0000000..4765938
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectInfoYearPlanVO.java
@@ -0,0 +1,47 @@
+package com.ycl.domain.vo;
+
+import com.ycl.system.domain.base.AbsVo;
+import com.ycl.domain.entity.ProjectInfoYearPlan;
+import java.util.List;
+import org.springframework.lang.NonNull;
+import org.springframework.beans.BeanUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * 椤圭洰骞村害鎶曡祫璁″垝灞曠ず
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Data
+@ApiModel(value = "椤圭洰骞村害鎶曡祫璁″垝鍝嶅簲鏁版嵁", description = "椤圭洰骞村害鎶曡祫璁″垝鍝嶅簲鏁版嵁")
+public class ProjectInfoYearPlanVO extends AbsVo {
+
+ /** 椤圭洰id */
+ @ApiModelProperty("椤圭洰id")
+ private Long projectInfoId;
+
+ /** 骞翠唤 */
+ @ApiModelProperty("骞翠唤")
+ private String year;
+
+ /** 骞村害鎶曡祫閲戦 */
+ @ApiModelProperty("骞村害鎶曡祫閲戦")
+ private BigDecimal yearTotalMoney;
+
+ /** 宸ョ▼褰㈣薄杩涘害 */
+ @ApiModelProperty("宸ョ▼褰㈣薄杩涘害")
+ private String projectImageProgress;
+
+ public static ProjectInfoYearPlanVO getVoByEntity(@NonNull ProjectInfoYearPlan entity, ProjectInfoYearPlanVO vo) {
+ if(vo == null) {
+ vo = new ProjectInfoYearPlanVO();
+ }
+ BeanUtils.copyProperties(entity, vo);
+ return vo;
+ }
+
+}
diff --git a/business/src/main/java/com/ycl/mapper/ProjectInfoWinUnitMapper.java b/business/src/main/java/com/ycl/mapper/ProjectInfoWinUnitMapper.java
new file mode 100644
index 0000000..e7c864e
--- /dev/null
+++ b/business/src/main/java/com/ycl/mapper/ProjectInfoWinUnitMapper.java
@@ -0,0 +1,29 @@
+package com.ycl.mapper;
+
+import com.ycl.domain.entity.ProjectInfoWinUnit;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.domain.vo.ProjectInfoWinUnitVO;
+import com.ycl.domain.form.ProjectInfoWinUnitForm;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 椤圭洰涓爣鍗曚綅 Mapper 鎺ュ彛
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Mapper
+public interface ProjectInfoWinUnitMapper extends BaseMapper<ProjectInfoWinUnit> {
+
+ /**
+ * id鏌ユ壘椤圭洰涓爣鍗曚綅
+ * @param id
+ * @return
+ */
+ ProjectInfoWinUnitVO getById(Integer id);
+
+
+}
diff --git a/business/src/main/java/com/ycl/mapper/ProjectInfoYearPlanMapper.java b/business/src/main/java/com/ycl/mapper/ProjectInfoYearPlanMapper.java
new file mode 100644
index 0000000..00aecb5
--- /dev/null
+++ b/business/src/main/java/com/ycl/mapper/ProjectInfoYearPlanMapper.java
@@ -0,0 +1,29 @@
+package com.ycl.mapper;
+
+import com.ycl.domain.entity.ProjectInfoYearPlan;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.domain.vo.ProjectInfoYearPlanVO;
+import com.ycl.domain.form.ProjectInfoYearPlanForm;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 椤圭洰骞村害鎶曡祫璁″垝 Mapper 鎺ュ彛
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Mapper
+public interface ProjectInfoYearPlanMapper extends BaseMapper<ProjectInfoYearPlan> {
+
+ /**
+ * id鏌ユ壘椤圭洰骞村害鎶曡祫璁″垝
+ * @param id
+ * @return
+ */
+ ProjectInfoYearPlanVO getById(Integer id);
+
+
+}
diff --git a/business/src/main/java/com/ycl/service/ProjectInfoWinUnitService.java b/business/src/main/java/com/ycl/service/ProjectInfoWinUnitService.java
new file mode 100644
index 0000000..4b6a93d
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/ProjectInfoWinUnitService.java
@@ -0,0 +1,57 @@
+package com.ycl.service;
+
+import com.ycl.domain.entity.ProjectInfoWinUnit;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.common.base.Result;
+import com.ycl.domain.form.ProjectInfoWinUnitForm;
+import java.util.List;
+
+/**
+ * 椤圭洰涓爣鍗曚綅 鏈嶅姟绫�
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+public interface ProjectInfoWinUnitService extends IService<ProjectInfoWinUnit> {
+
+ /**
+ * 娣诲姞
+ * @param form
+ * @return
+ */
+ Result add(ProjectInfoWinUnitForm form);
+
+ /**
+ * 淇敼
+ * @param form
+ * @return
+ */
+ Result update(ProjectInfoWinUnitForm form);
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ Result remove(List<String> ids);
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ Result removeById(String id);
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ Result detail(Integer id);
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ Result all();
+}
diff --git a/business/src/main/java/com/ycl/service/ProjectInfoYearPlanService.java b/business/src/main/java/com/ycl/service/ProjectInfoYearPlanService.java
new file mode 100644
index 0000000..a9274d6
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/ProjectInfoYearPlanService.java
@@ -0,0 +1,57 @@
+package com.ycl.service;
+
+import com.ycl.domain.entity.ProjectInfoYearPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.common.base.Result;
+import com.ycl.domain.form.ProjectInfoYearPlanForm;
+import java.util.List;
+
+/**
+ * 椤圭洰骞村害鎶曡祫璁″垝 鏈嶅姟绫�
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+public interface ProjectInfoYearPlanService extends IService<ProjectInfoYearPlan> {
+
+ /**
+ * 娣诲姞
+ * @param form
+ * @return
+ */
+ Result add(ProjectInfoYearPlanForm form);
+
+ /**
+ * 淇敼
+ * @param form
+ * @return
+ */
+ Result update(ProjectInfoYearPlanForm form);
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ Result remove(List<String> ids);
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ Result removeById(String id);
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ Result detail(Integer id);
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ Result all();
+}
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoWinUnitServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoWinUnitServiceImpl.java
new file mode 100644
index 0000000..1269665
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoWinUnitServiceImpl.java
@@ -0,0 +1,106 @@
+package com.ycl.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ycl.domain.entity.ProjectInfoWinUnit;
+import com.ycl.mapper.ProjectInfoWinUnitMapper;
+import com.ycl.service.ProjectInfoWinUnitService;
+import com.ycl.common.base.Result;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.domain.form.ProjectInfoWinUnitForm;
+import com.ycl.domain.vo.ProjectInfoWinUnitVO;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+import com.ycl.framework.utils.PageUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.Assert;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 椤圭洰涓爣鍗曚綅 鏈嶅姟瀹炵幇绫�
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Service
+@RequiredArgsConstructor
+public class ProjectInfoWinUnitServiceImpl extends ServiceImpl<ProjectInfoWinUnitMapper, ProjectInfoWinUnit> implements ProjectInfoWinUnitService {
+
+ private final ProjectInfoWinUnitMapper projectInfoWinUnitMapper;
+
+ /**
+ * 娣诲姞
+ * @param form
+ * @return
+ */
+ @Override
+ public Result add(ProjectInfoWinUnitForm form) {
+ ProjectInfoWinUnit entity = ProjectInfoWinUnitForm.getEntityByForm(form, null);
+ baseMapper.insert(entity);
+ return Result.ok("娣诲姞鎴愬姛");
+ }
+
+ /**
+ * 淇敼
+ * @param form
+ * @return
+ */
+ @Override
+ public Result update(ProjectInfoWinUnitForm form) {
+ ProjectInfoWinUnit entity = baseMapper.selectById(form.getId());
+
+ // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
+ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
+ BeanUtils.copyProperties(form, entity);
+ baseMapper.updateById(entity);
+ return Result.ok("淇敼鎴愬姛");
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ @Override
+ public Result remove(List<String> ids) {
+ baseMapper.deleteBatchIds(ids);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ @Override
+ public Result removeById(String id) {
+ baseMapper.deleteById(id);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ @Override
+ public Result detail(Integer id) {
+ ProjectInfoWinUnitVO vo = baseMapper.getById(id);
+ Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+ return Result.ok().data(vo);
+ }
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ @Override
+ public Result all() {
+ List<ProjectInfoWinUnit> entities = baseMapper.selectList(null);
+ List<ProjectInfoWinUnitVO> vos = entities.stream()
+ .map(entity -> ProjectInfoWinUnitVO.getVoByEntity(entity, null))
+ .collect(Collectors.toList());
+ return Result.ok().data(vos);
+ }
+}
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoYearPlanServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoYearPlanServiceImpl.java
new file mode 100644
index 0000000..1d32dc3
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoYearPlanServiceImpl.java
@@ -0,0 +1,106 @@
+package com.ycl.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ycl.domain.entity.ProjectInfoYearPlan;
+import com.ycl.mapper.ProjectInfoYearPlanMapper;
+import com.ycl.service.ProjectInfoYearPlanService;
+import com.ycl.common.base.Result;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.domain.form.ProjectInfoYearPlanForm;
+import com.ycl.domain.vo.ProjectInfoYearPlanVO;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+import com.ycl.framework.utils.PageUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.Assert;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 椤圭洰骞村害鎶曡祫璁″垝 鏈嶅姟瀹炵幇绫�
+ *
+ * @author xp
+ * @since 2025-02-18
+ */
+@Service
+@RequiredArgsConstructor
+public class ProjectInfoYearPlanServiceImpl extends ServiceImpl<ProjectInfoYearPlanMapper, ProjectInfoYearPlan> implements ProjectInfoYearPlanService {
+
+ private final ProjectInfoYearPlanMapper projectInfoYearPlanMapper;
+
+ /**
+ * 娣诲姞
+ * @param form
+ * @return
+ */
+ @Override
+ public Result add(ProjectInfoYearPlanForm form) {
+ ProjectInfoYearPlan entity = ProjectInfoYearPlanForm.getEntityByForm(form, null);
+ baseMapper.insert(entity);
+ return Result.ok("娣诲姞鎴愬姛");
+ }
+
+ /**
+ * 淇敼
+ * @param form
+ * @return
+ */
+ @Override
+ public Result update(ProjectInfoYearPlanForm form) {
+ ProjectInfoYearPlan entity = baseMapper.selectById(form.getId());
+
+ // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
+ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
+ BeanUtils.copyProperties(form, entity);
+ baseMapper.updateById(entity);
+ return Result.ok("淇敼鎴愬姛");
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ @Override
+ public Result remove(List<String> ids) {
+ baseMapper.deleteBatchIds(ids);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ @Override
+ public Result removeById(String id) {
+ baseMapper.deleteById(id);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ @Override
+ public Result detail(Integer id) {
+ ProjectInfoYearPlanVO vo = baseMapper.getById(id);
+ Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+ return Result.ok().data(vo);
+ }
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ @Override
+ public Result all() {
+ List<ProjectInfoYearPlan> entities = baseMapper.selectList(null);
+ List<ProjectInfoYearPlanVO> vos = entities.stream()
+ .map(entity -> ProjectInfoYearPlanVO.getVoByEntity(entity, null))
+ .collect(Collectors.toList());
+ return Result.ok().data(vos);
+ }
+}
diff --git a/business/src/main/resources/mapper/ProjectInfoWinUnitMapper.xml b/business/src/main/resources/mapper/ProjectInfoWinUnitMapper.xml
new file mode 100644
index 0000000..c14da99
--- /dev/null
+++ b/business/src/main/resources/mapper/ProjectInfoWinUnitMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.ProjectInfoWinUnitMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProjectInfoWinUnitVO">
+ <result column="project_info_id" property="projectInfoId" />
+ <result column="win_unit" property="winUnit" />
+ <result column="contacts" property="contacts" />
+ <result column="phone" property="phone" />
+ </resultMap>
+
+
+
+
+
+
+
+ <select id="getById" resultMap="BaseResultMap">
+ SELECT
+ TPIWU.project_info_id,
+ TPIWU.win_unit,
+ TPIWU.contacts,
+ TPIWU.phone,
+ TPIWU.id
+ FROM
+ t_project_info_win_unit TPIWU
+ WHERE
+ TPIWU.id = #{id} AND TPIWU.deleted = 0
+ </select>
+
+
+</mapper>
diff --git a/business/src/main/resources/mapper/ProjectInfoYearPlanMapper.xml b/business/src/main/resources/mapper/ProjectInfoYearPlanMapper.xml
new file mode 100644
index 0000000..e63f144
--- /dev/null
+++ b/business/src/main/resources/mapper/ProjectInfoYearPlanMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.ProjectInfoYearPlanMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProjectInfoYearPlanVO">
+ <result column="project_info_id" property="projectInfoId" />
+ <result column="year" property="year" />
+ <result column="year_total_money" property="yearTotalMoney" />
+ <result column="project_image_progress" property="projectImageProgress" />
+ </resultMap>
+
+
+
+
+
+
+
+ <select id="getById" resultMap="BaseResultMap">
+ SELECT
+ TPIYP.project_info_id,
+ TPIYP.year,
+ TPIYP.year_total_money,
+ TPIYP.project_image_progress,
+ TPIYP.id
+ FROM
+ t_project_info_year_plan TPIYP
+ WHERE
+ TPIYP.id = #{id} AND TPIYP.deleted = 0
+ </select>
+
+
+</mapper>
--
Gitblit v1.8.0