Browse Source

更新基础数据档案

jihs 4 years ago
parent
commit
b1b15363e1
20 changed files with 835 additions and 13 deletions
  1. 24 0
      src/main/java/org/jeecg/common/dto/basedata/ArchivesCostListRespDTO.java
  2. 19 0
      src/main/java/org/jeecg/common/dto/basedata/ArchivesCostReqDTO.java
  3. 119 0
      src/main/java/org/jeecg/common/dto/basedata/ArchivesMilestoneListRespDTO.java
  4. 23 0
      src/main/java/org/jeecg/common/dto/basedata/ArchivesMilestoneReqDTO.java
  5. 177 0
      src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesCostController.java
  6. 211 0
      src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesMilestoneController.java
  7. 1 1
      src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesPostController.java
  8. 8 8
      src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesProjectApprovalController.java
  9. 64 0
      src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesCost.java
  10. 77 0
      src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesMilestone.java
  11. 1 2
      src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesPost.java
  12. 1 2
      src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesProjectApproval.java
  13. 17 0
      src/main/java/org/jeecg/modules/basedata/mapper/BaseArchivesCostMapper.java
  14. 17 0
      src/main/java/org/jeecg/modules/basedata/mapper/BaseArchivesMilestoneMapper.java
  15. 5 0
      src/main/java/org/jeecg/modules/basedata/mapper/xml/BaseArchivesCostMapper.xml
  16. 5 0
      src/main/java/org/jeecg/modules/basedata/mapper/xml/BaseArchivesMilestoneMapper.xml
  17. 14 0
      src/main/java/org/jeecg/modules/basedata/service/IBaseArchivesCostService.java
  18. 14 0
      src/main/java/org/jeecg/modules/basedata/service/IBaseArchivesMilestoneService.java
  19. 19 0
      src/main/java/org/jeecg/modules/basedata/service/impl/BaseArchivesCostServiceImpl.java
  20. 19 0
      src/main/java/org/jeecg/modules/basedata/service/impl/BaseArchivesMilestoneServiceImpl.java

+ 24 - 0
src/main/java/org/jeecg/common/dto/basedata/ArchivesCostListRespDTO.java

@@ -0,0 +1,24 @@
+package org.jeecg.common.dto.basedata;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.modules.basedata.entity.BaseArchivesCost;
+
+@Data
+public class ArchivesCostListRespDTO {
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("编码")
+    private String code;
+    @ApiModelProperty("名称")
+    private String name;
+
+    public ArchivesCostListRespDTO() {
+    }
+
+    public ArchivesCostListRespDTO(BaseArchivesCost baseArchivesCost) {
+        this.id = baseArchivesCost.getId();
+        this.code = baseArchivesCost.getCode();
+        this.name = baseArchivesCost.getName();
+    }
+}

+ 19 - 0
src/main/java/org/jeecg/common/dto/basedata/ArchivesCostReqDTO.java

@@ -0,0 +1,19 @@
+package org.jeecg.common.dto.basedata;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel("费用档案请求参数")
+@Data
+public class ArchivesCostReqDTO {
+    @ApiModelProperty("id")
+    private String id;
+
+    public ArchivesCostReqDTO() {
+    }
+
+    public ArchivesCostReqDTO(String id) {
+        this.id = id;
+    }
+}

+ 119 - 0
src/main/java/org/jeecg/common/dto/basedata/ArchivesMilestoneListRespDTO.java

@@ -0,0 +1,119 @@
+package org.jeecg.common.dto.basedata;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.jeecg.modules.basedata.entity.BaseArchivesMilestone;
+
+import java.util.List;
+
+/**
+   * @Author jihaosen
+   * @date 2021/2/24
+   */
+@ApiModel("里程碑列表返回参数")
+public class ArchivesMilestoneListRespDTO {
+    @ApiModelProperty("id")
+    private java.lang.String id;
+    @ApiModelProperty("id")
+    private  String key;
+    @ApiModelProperty("名称")
+    private String title;
+    @ApiModelProperty("父节点id")
+    private java.lang.String parentId;
+    @ApiModelProperty("编码")
+    private java.lang.String code;
+    @ApiModelProperty("类别id(来源数据字典)")
+    private String typeId;
+    @ApiModelProperty("类别")
+    private java.lang.String type;
+    @ApiModelProperty(" 是否叶子节点: 1:是 0:不是")
+    private boolean isLeaf;
+    @ApiModelProperty(" 子节点数据")
+    private List<ArchivesMilestoneListRespDTO> children;
+
+    public ArchivesMilestoneListRespDTO() {
+    }
+
+    public ArchivesMilestoneListRespDTO(BaseArchivesMilestone baseArchivesMilestone) {
+        this.id = baseArchivesMilestone.getId();
+        this.key = baseArchivesMilestone.getId();
+        this.title = baseArchivesMilestone.getName();
+        this.parentId = baseArchivesMilestone.getParentId();;
+        this.code = baseArchivesMilestone.getCode();
+        this.typeId = baseArchivesMilestone.getTypeId();
+        this.type = baseArchivesMilestone.getType();
+        this.isLeaf = false;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getTypeId() {
+        return typeId;
+    }
+
+    public void setTypeId(String typeId) {
+        this.typeId = typeId;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public boolean getIsLeaf() {
+        return isLeaf;
+    }
+
+    public void setIsLeaf(boolean leaf) {
+        isLeaf = leaf;
+    }
+
+    public List<ArchivesMilestoneListRespDTO> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<ArchivesMilestoneListRespDTO> children) {
+        this.children = children;
+    }
+}

+ 23 - 0
src/main/java/org/jeecg/common/dto/basedata/ArchivesMilestoneReqDTO.java

@@ -0,0 +1,23 @@
+package org.jeecg.common.dto.basedata;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+   * @Author jihaosen
+   * @date 2021/2/24
+   */
+ @Data
+ @ApiModel("里程碑档案请求参数")
+public class ArchivesMilestoneReqDTO {
+    @ApiModelProperty("id")
+     private String id;
+
+    public ArchivesMilestoneReqDTO() {
+    }
+
+    public ArchivesMilestoneReqDTO(String id) {
+        this.id = id;
+    }
+}

+ 177 - 0
src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesCostController.java

@@ -0,0 +1,177 @@
+package org.jeecg.modules.basedata.controller;
+
+import java.util.List;
+import com.google.common.collect.Lists;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.NotDuplicate;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.dto.basedata.ArchivesCostListRespDTO;
+import org.jeecg.common.dto.basedata.ArchivesCostReqDTO;
+import org.jeecg.modules.basedata.entity.BaseArchivesCost;
+import org.jeecg.modules.basedata.entity.BaseArchivesMilestone;
+import org.jeecg.modules.basedata.service.IBaseArchivesCostService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.modules.system.service.ISysSerialPatternService;
+import org.jeecg.modules.system.vo.CallResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+ /**
+   * @Author jihaosen
+   * @date 2021/2/24
+   */
+@Api(value="费用档案接口")
+@RestController
+@RequestMapping("/basedata/baseArchivesCost")
+@Slf4j
+public class BaseArchivesCostController {
+	 @Autowired
+	 private IBaseArchivesCostService baseArchivesCostService;
+	 @Autowired
+	 private ISysSerialPatternService sysSerialPatternService;
+
+	 @ApiOperation(value = "费用档案列表查询接口", notes = "费用档案列表查询")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
+	 })
+	 @GetMapping(value = "/list")
+	 public Result<List<ArchivesCostListRespDTO>> queryPageList(String pkOrg) {
+		 Result<List<ArchivesCostListRespDTO>> result = new Result<List<ArchivesCostListRespDTO>>();
+		 QueryWrapper<BaseArchivesCost> queryWrapper = new QueryWrapper<>();
+		 queryWrapper.eq("del_flag", CommonConstant.STATUS_NORMAL.toString());
+		 if(StringUtils.isNotBlank(pkOrg)){
+			 queryWrapper.eq("pk_org", pkOrg);
+		 }
+		 queryWrapper.orderByAsc("create_time");
+		 List<BaseArchivesCost> list = baseArchivesCostService.list(queryWrapper);
+		 List<ArchivesCostListRespDTO> archivesCostListRespDTOS = getArchivesCostData(list);
+		 result.setSuccess(true);
+		 result.setResult(archivesCostListRespDTOS);
+		 return result;
+	 }
+
+	 @ApiOperation(value = "新增费用档案接口", notes = "新增费用档案")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"),
+			 @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
+	 })
+	 @PostMapping(value = "/add")
+	 @NotDuplicate
+	 public Result<BaseArchivesCost> add(@RequestBody BaseArchivesCost baseArchivesCost, BindingResult bindingResult) {
+		 Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
+		 try {
+			 StringBuilder sb = new StringBuilder();
+			 if (bindingResult.hasErrors()){
+				 //记录错误信息
+				 bindingResult.getAllErrors().stream().forEach(error -> sb.append(error.getDefaultMessage() + "<br/>"));
+				 result.error500(sb.toString());
+				 return result;
+			 }
+			 // 设置编码
+			 CallResult<String> nextSerial = sysSerialPatternService.getNextSerial(baseArchivesCost, "base_archives_cost", "code", true);
+			 if(!nextSerial.isSucceed()){
+				 throw new RuntimeException("获取编号失败");
+			 }
+			 baseArchivesCost.setCode(nextSerial.getContent());
+			 baseArchivesCost.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
+			 baseArchivesCostService.save(baseArchivesCost);
+			 result.success("添加成功!");
+		 } catch (Exception e) {
+			 e.printStackTrace();
+			 log.info(e.getMessage());
+			 result.error500("操作失败");
+		 }
+		 return result;
+	 }
+
+	 @ApiOperation(value = "编辑费用档案接口", notes = "编辑费用档案")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="id", value="id",required=true, dataType="String"),
+			 @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"),
+			 @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
+	 })
+	 @PostMapping(value = "/edit")
+	 @NotDuplicate
+	 public Result<BaseArchivesCost> edit(@RequestBody BaseArchivesCost baseArchivesCost) {
+		 Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
+		 BaseArchivesCost baseArchivesCostEntity = baseArchivesCostService.getById(baseArchivesCost.getId());
+		 if(baseArchivesCostEntity == null) {
+			 result.error500("未找到对应实体");
+		 } else {
+//			 // 设置编码
+//			 CallResult<String> nextSerial = sysSerialPatternService.getNextSerial(baseArchivesCost, "base_archives_cost", "code", true);
+//			 if(!nextSerial.isSucceed()){
+//				 throw new RuntimeException("获取编号失败");
+//			 }
+			 boolean ok = baseArchivesCostService.updateById(baseArchivesCost);
+			 if(ok) {
+				 result.success("修改成功!");
+			 }
+		 }
+		 return result;
+	 }
+
+	 @ApiOperation(value = "删除费用档案接口", notes = "删除费用档案")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="id", value="id",required=true, dataType="String"),
+	 })
+	 @PostMapping(value = "/delete")
+	 @NotDuplicate
+	 public Result<BaseArchivesCost> delete(@RequestBody ArchivesCostReqDTO reqDTO) {
+		 Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
+		 BaseArchivesCost baseArchivesCost = baseArchivesCostService.getById(reqDTO.getId());
+		 if(baseArchivesCost==null) {
+			 result.error500("未找到对应实体");
+		 }else {
+			 baseArchivesCost.setDelFlag(CommonConstant.DEL_FLAG_1.toString());
+			 boolean ok = baseArchivesCostService.updateById(baseArchivesCost);
+			 if(ok) {
+				 result.success("删除成功!");
+			 }
+		 }
+		 return result;
+	 }
+
+	 @ApiOperation(value = "根据id查询费用档案接口", notes = "根据id查询费用档案")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="id", value="id",required=true, dataType="String"),
+	 })
+	 @GetMapping(value = "/queryById")
+	 public Result<BaseArchivesCost> queryById(@RequestParam(name = "id", required = true) String id) {
+		 Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
+		 BaseArchivesCost baseArchivesCost = baseArchivesCostService.getById(id);
+		 if(baseArchivesCost == null) {
+			 result.error500("未找到对应实体");
+		 } else {
+			 result.setResult(baseArchivesCost);
+			 result.setSuccess(true);
+		 }
+		 return result;
+	 }
+
+
+
+
+	 /**
+	  * @dsec 获取费用档案数据
+	  */
+	 private List<ArchivesCostListRespDTO> getArchivesCostData(List<BaseArchivesCost> list) {
+	 	List<ArchivesCostListRespDTO> archivesCostListRespDTOS = Lists.newArrayList();
+	 	for(BaseArchivesCost baseArchivesCost : list) {
+			archivesCostListRespDTOS.add(new ArchivesCostListRespDTO(baseArchivesCost));
+		}
+	 	return archivesCostListRespDTOS;
+	 }
+ }

+ 211 - 0
src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesMilestoneController.java

@@ -0,0 +1,211 @@
+package org.jeecg.modules.basedata.controller;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import com.google.common.collect.Lists;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.NotDuplicate;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.dto.basedata.ArchivesMilestoneListRespDTO;
+import org.jeecg.common.dto.basedata.ArchivesPostReqDTO;
+import org.jeecg.modules.basedata.entity.BaseArchivesMilestone;
+import org.jeecg.modules.basedata.service.IBaseArchivesMilestoneService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+ /**
+   * @Author jihaosen
+   * @date 2021/2/24
+   */
+@Api(value = "里程碑档案接口")
+@RestController
+@RequestMapping("/basedata/baseArchivesMilestone")
+@Slf4j
+public class BaseArchivesMilestoneController {
+	@Autowired
+	private IBaseArchivesMilestoneService baseArchivesMilestoneService;
+	
+	@ApiOperation(value = "里程碑档案列表查询接口", notes = "里程碑档案列表查询")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
+			@ApiImplicitParam(name="typeId", value="类型id",required=false, dataType="String"),
+
+	})
+	@GetMapping(value = "/list")
+	public Result<List<ArchivesMilestoneListRespDTO>> queryPageList(String pkOrg, String typeId) {
+		Result<List<ArchivesMilestoneListRespDTO>> result = new Result<List<ArchivesMilestoneListRespDTO>>();
+		QueryWrapper<BaseArchivesMilestone> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("del_flag", CommonConstant.STATUS_NORMAL.toString());
+		if(StringUtils.isNotBlank(pkOrg)){
+			queryWrapper.eq("pk_org", pkOrg);
+		}
+		if(StringUtils.isNotBlank(typeId)){
+			queryWrapper.eq("type_id", typeId);
+		}
+		queryWrapper.orderByAsc("create_time");
+		List<BaseArchivesMilestone> list = baseArchivesMilestoneService.list(queryWrapper);
+		List<ArchivesMilestoneListRespDTO> respDTOS = getTreeList(list);
+		result.setSuccess(true);
+		result.setResult(respDTOS);
+		return result;
+	}
+
+	 @ApiOperation(value = "新增里程碑档案接口", notes = "新增里程碑档案")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="parentId", value="父节点",required=true, dataType="String", defaultValue = "0"),
+			 @ApiImplicitParam(name="code", value="编码",required=true, dataType="String"),
+			 @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"),
+			 @ApiImplicitParam(name="typeId", value="类别id(来源数据字典)",required=true, dataType="String"),
+			 @ApiImplicitParam(name="type", value="类别",required=true, dataType="String"),
+			 @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
+	 })
+	@PostMapping(value = "/add")
+    @NotDuplicate
+	public Result<BaseArchivesMilestone> add(@RequestBody BaseArchivesMilestone baseArchivesMilestone, BindingResult bindingResult) {
+		Result<BaseArchivesMilestone> result = new Result<BaseArchivesMilestone>();
+		 try {
+			 StringBuilder sb = new StringBuilder();
+			 if (bindingResult.hasErrors()){
+				 //记录错误信息
+				 bindingResult.getAllErrors().stream().forEach(error -> sb.append(error.getDefaultMessage() + "<br/>"));
+				 result.error500(sb.toString());
+				 return result;
+			 }
+			 baseArchivesMilestone.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
+			 baseArchivesMilestoneService.save(baseArchivesMilestone);
+			 result.success("添加成功!");
+		 } catch (Exception e) {
+			 e.printStackTrace();
+			 log.info(e.getMessage());
+			 result.error500("操作失败:"+e.getMessage());
+		 }
+		 return result;
+	}
+
+	 @ApiOperation(value = "编辑里程碑档案接口", notes = "编辑里程碑档案")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="parentId", value="父节点",required=true, dataType="String", defaultValue = "0"),
+			 @ApiImplicitParam(name="parentId", value="父节点",required=true, dataType="String", defaultValue = "0"),
+			 @ApiImplicitParam(name="code", value="编码",required=true, dataType="String"),
+			 @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"),
+			 @ApiImplicitParam(name="typeId", value="类别id(来源数据字典)",required=true, dataType="String"),
+			 @ApiImplicitParam(name="type", value="类别",required=true, dataType="String"),
+			 @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
+	 })
+	@PostMapping(value = "/edit")
+    @NotDuplicate
+	public Result<BaseArchivesMilestone> edit(@RequestBody BaseArchivesMilestone baseArchivesMilestone) {
+		Result<BaseArchivesMilestone> result = new Result<BaseArchivesMilestone>();
+		BaseArchivesMilestone baseArchivesMilestoneEntity = baseArchivesMilestoneService.getById(baseArchivesMilestone.getId());
+		if(baseArchivesMilestoneEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = baseArchivesMilestoneService.updateById(baseArchivesMilestone);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+		
+		return result;
+	}
+
+	 @ApiOperation(value = "删除里程碑档案接口", notes = "根据id删除里程碑档案(逻辑删除)")
+	 @ApiImplicitParams({
+			 @ApiImplicitParam(name="id", value="id" ,required=true, dataType="String", defaultValue = "0"),
+	 })
+	@PostMapping(value = "/delete")
+	public Result<BaseArchivesMilestone> delete(@RequestBody ArchivesPostReqDTO archivesPostReqDTO) {
+		Result<BaseArchivesMilestone> result = new Result<BaseArchivesMilestone>();
+		BaseArchivesMilestone baseArchivesMilestone = baseArchivesMilestoneService.getById(archivesPostReqDTO.getId());
+		if(baseArchivesMilestone==null) {
+			result.error500("未找到对应实体");
+		}else {
+			baseArchivesMilestone.setDelFlag(CommonConstant.DEL_FLAG_1.toString());
+			boolean ok = baseArchivesMilestoneService.updateById(baseArchivesMilestone);
+			if(ok) {
+				result.success("删除成功!");
+			}
+		}
+		
+		return result;
+	}
+	
+	@ApiOperation(value = "通过id查询里程碑档案接口", notes = "通过id查询里程碑档案")
+	@ApiImplicitParams({
+			@ApiImplicitParam(name="id", value="id" ,required=true, dataType="String", defaultValue = "0"),
+	})
+	@GetMapping(value = "/queryById")
+	public Result<BaseArchivesMilestone> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<BaseArchivesMilestone> result = new Result<BaseArchivesMilestone>();
+		BaseArchivesMilestone baseArchivesMilestone = baseArchivesMilestoneService.getById(id);
+		if(baseArchivesMilestone==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(baseArchivesMilestone);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+
+
+
+
+	  /**
+	   * @desc 将里程碑档案列表转成树状结构
+	   */
+	 private List<ArchivesMilestoneListRespDTO> getTreeList(List<BaseArchivesMilestone> list) {
+		 List<ArchivesMilestoneListRespDTO> resp = Lists.newArrayList();
+		 //根据parentId分组
+		 Map<String, List<BaseArchivesMilestone>> postMap = list.stream().collect(Collectors.groupingBy(BaseArchivesMilestone :: getParentId));
+		 List<BaseArchivesMilestone>  baseArchivesMilestones = postMap.get("0");
+		 if(CollectionUtils.isEmpty(baseArchivesMilestones)){
+			 return null;
+		 }
+		 for(BaseArchivesMilestone baseArchivesMilestone : baseArchivesMilestones){
+			 ArchivesMilestoneListRespDTO archivesMilestoneListRespDTO = new ArchivesMilestoneListRespDTO(baseArchivesMilestone);
+			 archivesMilestoneListRespDTO.setChildren(getChildes(list, archivesMilestoneListRespDTO.getKey(), postMap));
+			 //判断是否为末节点
+			 List<BaseArchivesMilestone> posts = postMap.get(archivesMilestoneListRespDTO.getKey());
+			 if(CollectionUtils.isEmpty(posts)){
+				 archivesMilestoneListRespDTO.setIsLeaf(true);
+			 }
+			 resp.add(archivesMilestoneListRespDTO);
+		 }
+		 return resp;
+	 }
+
+	 /**
+	  * @desc 获取子节点数据
+	  */
+	 private List<ArchivesMilestoneListRespDTO> getChildes(List<BaseArchivesMilestone> list, String key, Map<String, List<BaseArchivesMilestone>> postMap) {
+		 List<ArchivesMilestoneListRespDTO> resp = Lists.newArrayList();
+		 for(BaseArchivesMilestone baseArchivesMilestone : list){
+			 if(baseArchivesMilestone.getParentId().equals(key)){
+				 ArchivesMilestoneListRespDTO archivesMilestoneListRespDTO = new ArchivesMilestoneListRespDTO(baseArchivesMilestone);
+				 archivesMilestoneListRespDTO.setChildren(getChildes(list, archivesMilestoneListRespDTO.getKey(), postMap));
+				 //判断是否为末节点
+				 List<BaseArchivesMilestone> posts = postMap.get(archivesMilestoneListRespDTO.getKey());
+				 if(CollectionUtils.isEmpty(posts)){
+					 archivesMilestoneListRespDTO.setIsLeaf(true);
+				 }
+				 resp.add(archivesMilestoneListRespDTO);
+			 }
+		 }
+		 return resp;
+	 }
+ }

+ 1 - 1
src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesPostController.java

@@ -52,10 +52,10 @@ public class BaseArchivesPostController {
         Result<List<ArchivesPostListRespDTO>> result = new Result<List<ArchivesPostListRespDTO>>();
         QueryWrapper<BaseArchivesPost> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("del_flag", CommonConstant.STATUS_NORMAL.toString());
-        queryWrapper.orderByDesc("create_time");
         if(StringUtils.isNotBlank(pkOrg)){
             queryWrapper.eq("pk_org", pkOrg);
         }
+        queryWrapper.orderByAsc("create_time");
         List<BaseArchivesPost> list = baseArchivesPostService.list(queryWrapper);
         List<ArchivesPostListRespDTO> respDTOS = getTreeList(list);
         result.setSuccess(true);

+ 8 - 8
src/main/java/org/jeecg/modules/basedata/controller/BaseArchivesProjectApprovalController.java

@@ -51,10 +51,10 @@ public class BaseArchivesProjectApprovalController {
         Result<List<BaseArchivesProjectApprovalRespDTO>> result = new Result<List<BaseArchivesProjectApprovalRespDTO>>();
         QueryWrapper<BaseArchivesProjectApproval> queryWrapper = new QueryWrapper<BaseArchivesProjectApproval>();
         queryWrapper.eq("del_flag", CommonConstant.STATUS_NORMAL.toString());
-        queryWrapper.orderByDesc("create_time");
         if(StringUtils.isNotBlank(pkOrg)){
             queryWrapper.eq("pk_org", pkOrg);
         }
+        queryWrapper.orderByAsc("create_time");
         List<BaseArchivesProjectApproval> list = baseArchivesProjectApprovalService.list(queryWrapper);
         List<BaseArchivesProjectApprovalRespDTO> respDTOS = getTreeList(list);
         result.setSuccess(true);
@@ -125,12 +125,12 @@ public class BaseArchivesProjectApprovalController {
                 return result;
             }
 
-            // 设置编码
-            CallResult<String> nextSerial = sysSerialPatternService.getNextSerial(baseArchivesProjectApproval, "base_archives_project_approval", "code", true);
-            if(!nextSerial.isSucceed()){
-                throw new RuntimeException("获取编号失败");
-            }
-            baseArchivesProjectApproval.setCode(nextSerial.getContent());
+//            // 设置编码
+//            CallResult<String> nextSerial = sysSerialPatternService.getNextSerial(baseArchivesProjectApproval, "base_archives_project_approval", "code", true);
+//            if(!nextSerial.isSucceed()){
+//                throw new RuntimeException("获取编号失败");
+//            }
+//            baseArchivesProjectApproval.setCode(nextSerial.getContent());
             boolean ok = baseArchivesProjectApprovalService.updateById(baseArchivesProjectApproval);
             if(ok) {
                 result.success("修改成功!");
@@ -191,7 +191,7 @@ public class BaseArchivesProjectApprovalController {
 
 
     /**
-     * @desc 获取职务档案的数据
+     * @desc 获取项目立项档案的数据
      */
     private List<BaseArchivesProjectApprovalRespDTO> getTreeList(List<BaseArchivesProjectApproval> list) {
         List<BaseArchivesProjectApprovalRespDTO> resp = Lists.newArrayList();

+ 64 - 0
src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesCost.java

@@ -0,0 +1,64 @@
+package org.jeecg.modules.basedata.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import javax.validation.constraints.NotEmpty;
+
+ /**
+   * @Author jihaosen
+   * @date 2021/2/24
+   */
+@ApiModel("费用档案")
+@Data
+@TableName("base_archives_cost")
+public class BaseArchivesCost implements Serializable {
+	private static final long serialVersionUID = -318726185890254416L;
+	@ApiModelProperty("id")
+	@TableId(type = IdType.UUID)
+	private java.lang.String id;
+	@ApiModelProperty("编码")
+	private String code;
+	@ApiModelProperty("名称")
+	@NotEmpty(message = "参数name不为空")
+	private String name;
+	@ApiModelProperty("创建时间")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	@ApiModelProperty("创建人")
+	private String createBy;
+	@ApiModelProperty("修改时间")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	@ApiModelProperty("修改人")
+	private java.lang.String updateBy;
+	@ApiModelProperty("删除状态(0,正常,1已删除)")
+	private String delFlag;
+	@ApiModelProperty("组织")
+	private String pkOrg;
+
+	public BaseArchivesCost() {
+	}
+
+	public BaseArchivesCost(String id, String code, String name, Date createTime, String createBy, Date updateTime,
+		String updateBy, String delFlag, String pkOrg) {
+		this.id = id;
+		this.code = code;
+		this.name = name;
+		this.createTime = createTime;
+		this.createBy = createBy;
+		this.updateTime = updateTime;
+		this.updateBy = updateBy;
+		this.delFlag = delFlag;
+		this.pkOrg = pkOrg;
+	}
+}

+ 77 - 0
src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesMilestone.java

@@ -0,0 +1,77 @@
+package org.jeecg.modules.basedata.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Description: 里程碑档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+@Data
+@ApiModel(description = "里程碑档案表")
+@TableName("base_archives_milestone")
+public class BaseArchivesMilestone implements Serializable {
+	private static final long serialVersionUID = 7791033952879025514L;
+	@ApiModelProperty("id")
+	@TableId(type = IdType.UUID)
+	private java.lang.String id;
+	@ApiModelProperty("父节点id")
+	@NotEmpty(message = "父节点id不为空")
+	private java.lang.String parentId;
+	@ApiModelProperty("编码")
+	private java.lang.String code;
+	@ApiModelProperty("名称")
+	@NotEmpty(message = "参数name不为空")
+	private java.lang.String name;
+	@ApiModelProperty("类别id(来源数据字典)")
+	@NotEmpty(message = "参数typeId不为空")
+	private String typeId;
+	@ApiModelProperty("类别")
+	@NotEmpty(message = "参数type不为空")
+	private java.lang.String type;
+	@ApiModelProperty("创建时间")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	private java.util.Date createTime;
+	@ApiModelProperty("创建人")
+	private java.lang.String createBy;
+	@ApiModelProperty("修改时间")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	private java.util.Date updateTime;
+	@ApiModelProperty("修改人")
+	private java.lang.String updateBy;
+	@ApiModelProperty("删除状态(0,正常,1已删除)")
+	private java.lang.String delFlag;
+	@ApiModelProperty("组织")
+	private java.lang.String pkOrg;
+
+	public BaseArchivesMilestone() {
+	}
+
+	public BaseArchivesMilestone(String id, String parentId, String code, String name, String type, Date createTime,
+	    String createBy, Date updateTime, String updateBy, String delFlag, String pkOrg) {
+		this.id = id;
+		this.parentId = parentId;
+		this.code = code;
+		this.name = name;
+		this.type = type;
+		this.createTime = createTime;
+		this.createBy = createBy;
+		this.updateTime = updateTime;
+		this.updateBy = updateBy;
+		this.delFlag = delFlag;
+		this.pkOrg = pkOrg;
+	}
+}

+ 1 - 2
src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesPost.java

@@ -15,6 +15,7 @@ import javax.validation.constraints.NotEmpty;
 @Data
 @ApiModel("职务档案")
 public class BaseArchivesPost implements Serializable {
+    private static final long serialVersionUID = -510809426486409719L;
     @ApiModelProperty("id")
     @TableId(type = IdType.UUID)
     private String id;
@@ -43,8 +44,6 @@ public class BaseArchivesPost implements Serializable {
     @ApiModelProperty("组织")
     private String pkOrg;
 
-    private static final long serialVersionUID = 1L;
-
     public BaseArchivesPost() {
     }
 

+ 1 - 2
src/main/java/org/jeecg/modules/basedata/entity/BaseArchivesProjectApproval.java

@@ -22,6 +22,7 @@ import javax.validation.constraints.NotEmpty;
 @ApiModel("项目立项档案")
 @Table(name = "base_archives_project_approval")
 public class BaseArchivesProjectApproval implements Serializable {
+    private static final long serialVersionUID = -4891167053688641396L;
     @ApiModelProperty("id")
     @TableId(type = IdType.UUID)
     private String id;
@@ -52,8 +53,6 @@ public class BaseArchivesProjectApproval implements Serializable {
     @ApiModelProperty("组织")
     private String pkOrg;
 
-    private static final long serialVersionUID = 1L;
-
     public BaseArchivesProjectApproval() {
     }
 

+ 17 - 0
src/main/java/org/jeecg/modules/basedata/mapper/BaseArchivesCostMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.basedata.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.basedata.entity.BaseArchivesCost;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 费用档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+public interface BaseArchivesCostMapper extends BaseMapper<BaseArchivesCost> {
+
+}

+ 17 - 0
src/main/java/org/jeecg/modules/basedata/mapper/BaseArchivesMilestoneMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.basedata.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.basedata.entity.BaseArchivesMilestone;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 里程碑档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+public interface BaseArchivesMilestoneMapper extends BaseMapper<BaseArchivesMilestone> {
+
+}

+ 5 - 0
src/main/java/org/jeecg/modules/basedata/mapper/xml/BaseArchivesCostMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.basedata.mapper.BaseArchivesCostMapper">
+
+</mapper>

+ 5 - 0
src/main/java/org/jeecg/modules/basedata/mapper/xml/BaseArchivesMilestoneMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.basedata.mapper.BaseArchivesMilestoneMapper">
+
+</mapper>

+ 14 - 0
src/main/java/org/jeecg/modules/basedata/service/IBaseArchivesCostService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.basedata.service;
+
+import org.jeecg.modules.basedata.entity.BaseArchivesCost;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 费用档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+public interface IBaseArchivesCostService extends IService<BaseArchivesCost> {
+
+}

+ 14 - 0
src/main/java/org/jeecg/modules/basedata/service/IBaseArchivesMilestoneService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.basedata.service;
+
+import org.jeecg.modules.basedata.entity.BaseArchivesMilestone;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 里程碑档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+public interface IBaseArchivesMilestoneService extends IService<BaseArchivesMilestone> {
+
+}

+ 19 - 0
src/main/java/org/jeecg/modules/basedata/service/impl/BaseArchivesCostServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.basedata.service.impl;
+
+import org.jeecg.modules.basedata.entity.BaseArchivesCost;
+import org.jeecg.modules.basedata.mapper.BaseArchivesCostMapper;
+import org.jeecg.modules.basedata.service.IBaseArchivesCostService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 费用档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+@Service
+public class BaseArchivesCostServiceImpl extends ServiceImpl<BaseArchivesCostMapper, BaseArchivesCost> implements IBaseArchivesCostService {
+
+}

+ 19 - 0
src/main/java/org/jeecg/modules/basedata/service/impl/BaseArchivesMilestoneServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.basedata.service.impl;
+
+import org.jeecg.modules.basedata.entity.BaseArchivesMilestone;
+import org.jeecg.modules.basedata.mapper.BaseArchivesMilestoneMapper;
+import org.jeecg.modules.basedata.service.IBaseArchivesMilestoneService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 里程碑档案
+ * @author: jeecg-boot
+ * @date:   2021-02-24
+ * @version: V1.0
+ */
+@Service
+public class BaseArchivesMilestoneServiceImpl extends ServiceImpl<BaseArchivesMilestoneMapper, BaseArchivesMilestone> implements IBaseArchivesMilestoneService {
+
+}