qianxb преди 1 година
родител
ревизия
26b7e7e832

+ 47 - 0
src/main/java/org/springblade/modules/project/pojo/entity/ProjectInfo.java

@@ -0,0 +1,47 @@
+package org.springblade.modules.project.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2024/4/8 11:28
+ **/
+
+@Data
+@TableName("d_project_info")
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "项目信息表")
+public class ProjectInfo extends BaseEntity {
+
+    @Schema(description = "项目名称")
+    private String name;
+
+    @Schema(description = "建设规模")
+    private String buildScale;
+
+    @Schema(description = "项目阶段")
+    private Integer projectStage;
+
+    @Schema(description = "项目类型")
+    private Integer projectType;
+
+    @Schema(description = "开工年")
+    private Integer startYear;
+
+    @Schema(description = "完工年")
+    private Integer endYear;
+
+    @Schema(description = "牵头单位")
+    private String leaderUnit;
+
+    @Schema(description = "配合单位")
+    private String assistUnit;
+
+    @Schema(description = "责任单位")
+    private String dutyUnit;
+}

+ 15 - 0
src/main/java/org/springblade/modules/system/controller/DictBizController.java

@@ -46,6 +46,7 @@ import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.system.pojo.dto.DictBizDTO;
 import org.springblade.modules.system.pojo.entity.DictBiz;
 import org.springblade.modules.system.service.IDictBizService;
 import org.springblade.modules.system.pojo.vo.DictBizVO;
@@ -216,5 +217,19 @@ public class DictBizController extends BladeController {
 		return R.data(list);
 	}
 
+	/**
+	 * 字典全列表
+	 */
+	@PostMapping("/save-dict")
+	@ApiOperationSupport(order = 12)
+	@Operation(summary = "系统设置-项目相关类型保存", description = "传入type,和字典数组")
+	public R saveDict(@RequestBody DictBizDTO dto) {
+		dictService.saveDict(dto);
+		return R.success("保存成功");
+	}
+
+
+
+
 
 }

+ 22 - 0
src/main/java/org/springblade/modules/system/pojo/dto/DictBizDTO.java

@@ -0,0 +1,22 @@
+package org.springblade.modules.system.pojo.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jdk.dynalink.linker.LinkerServices;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Param   系统设置里面的所有类型配置
+ * @Author wangwl
+ * @Date 2024/4/8 9:34
+ **/
+@Data
+public class DictBizDTO {
+
+    @Schema(description = "1项目阶段2项目类型3要点分工")
+    private Integer type;
+
+    @Schema(description = "字典集合")
+    private List<String> list;
+}

+ 2 - 0
src/main/java/org/springblade/modules/system/service/IDictBizService.java

@@ -28,6 +28,7 @@ package org.springblade.modules.system.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.core.mp.support.Query;
+import org.springblade.modules.system.pojo.dto.DictBizDTO;
 import org.springblade.modules.system.pojo.entity.DictBiz;
 import org.springblade.modules.system.pojo.vo.DictBizVO;
 
@@ -106,4 +107,5 @@ public interface IDictBizService extends IService<DictBiz> {
 	 */
 	List<DictBizVO> childList(Map<String, Object> dict, Long parentId);
 
+    void saveDict(DictBizDTO dto);
 }

+ 31 - 0
src/main/java/org/springblade/modules/system/service/impl/DictBizServiceImpl.java

@@ -39,6 +39,7 @@ import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.system.pojo.dto.DictBizDTO;
 import org.springblade.modules.system.pojo.entity.DictBiz;
 import org.springblade.modules.system.mapper.DictBizMapper;
 import org.springblade.modules.system.service.IDictBizService;
@@ -49,6 +50,7 @@ import org.springframework.stereotype.Service;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE;
 
@@ -125,4 +127,33 @@ public class DictBizServiceImpl extends ServiceImpl<DictBizMapper, DictBiz> impl
 		List<DictBiz> list = this.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().ne(DictBiz::getId, parentId).eq(DictBiz::getCode, parentDict.getCode()).orderByAsc(DictBiz::getSort));
 		return DictBizWrapper.build().listNodeVO(list);
 	}
+
+	@Override
+	public void saveDict(DictBizDTO dto) {
+		Integer type = dto.getType();
+		if (type == null){
+			throw new ServiceException("请传入类型");
+		}
+		//获取字典名称,直接清空对应字典数据
+		String dictName = type == 1 ? "projectStage" :  (type == 2 ? "projectType" : "workFocusStage");
+		this.remove(new LambdaQueryWrapper<DictBiz>()
+			.eq(DictBiz::getDictKey,dictName));
+		//如果数组没有值,则直接跳过
+		List<String> list = dto.getList();
+		if (list == null || list.size() == 0){
+			return;
+		}
+		int i = 1;
+		List<DictBiz> adds = new ArrayList<>();
+		for (String s : list) {
+			DictBiz biz = new DictBiz();
+			biz.setParentId(1L);
+			biz.setCode(dictName);
+			biz.setDictKey(i+"");
+			biz.setDictValue(s);
+			biz.setSort(i++);
+			adds.add(biz);
+		}
+		this.saveBatch(adds);
+	}
 }