Просмотр исходного кода

费用和商品功能修改,仓库库区功能

lazhaoqian 4 лет назад
Родитель
Сommit
653c6507ea
29 измененных файлов с 464 добавлено и 57 удалено
  1. 9 2
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageDesc.java
  2. 9 2
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageType.java
  3. 9 7
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageTypeDesc.java
  4. 1 1
      blade-service/blade-client/src/main/java/org/springblade/client/controller/CorpsDescController.java
  5. 3 0
      blade-service/blade-client/src/main/java/org/springblade/client/controller/CorpsTypeController.java
  6. 11 3
      blade-service/blade-client/src/main/java/org/springblade/client/controller/FeesDescController.java
  7. 3 0
      blade-service/blade-client/src/main/java/org/springblade/client/controller/FeesTypeController.java
  8. 9 1
      blade-service/blade-client/src/main/java/org/springblade/client/controller/GoodsDescController.java
  9. 3 0
      blade-service/blade-client/src/main/java/org/springblade/client/controller/GoodsTypeController.java
  10. 8 4
      blade-service/blade-client/src/main/java/org/springblade/client/controller/StorageDescController.java
  11. 32 5
      blade-service/blade-client/src/main/java/org/springblade/client/controller/StorageTypeController.java
  12. 21 2
      blade-service/blade-client/src/main/java/org/springblade/client/entity/StorageDesc.java
  13. 16 2
      blade-service/blade-client/src/main/java/org/springblade/client/entity/StorageType.java
  14. 9 7
      blade-service/blade-client/src/main/java/org/springblade/client/entity/StorageTypeDesc.java
  15. 0 1
      blade-service/blade-client/src/main/java/org/springblade/client/mapper/StorageTypeDescMapper.xml
  16. 7 1
      blade-service/blade-client/src/main/java/org/springblade/client/mapper/StorageTypeMapper.java
  17. 32 2
      blade-service/blade-client/src/main/java/org/springblade/client/mapper/StorageTypeMapper.xml
  18. 14 1
      blade-service/blade-client/src/main/java/org/springblade/client/service/ICorpsDescService.java
  19. 9 0
      blade-service/blade-client/src/main/java/org/springblade/client/service/IFeesDescService.java
  20. 9 0
      blade-service/blade-client/src/main/java/org/springblade/client/service/IGoodsDescService.java
  21. 13 0
      blade-service/blade-client/src/main/java/org/springblade/client/service/IStorageDescService.java
  22. 23 0
      blade-service/blade-client/src/main/java/org/springblade/client/service/IStorageTypeService.java
  23. 24 11
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/CorpsDescServiceImpl.java
  24. 28 2
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/FeesDescServiceImpl.java
  25. 3 1
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/FeesTypeServiceImpl.java
  26. 26 1
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/GoodsDescServiceImpl.java
  27. 46 1
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/StorageDescServiceImpl.java
  28. 46 0
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/StorageTypeDescServiceImpl.java
  29. 41 0
      blade-service/blade-client/src/main/java/org/springblade/client/service/impl/StorageTypeServiceImpl.java

+ 9 - 2
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageDesc.java

@@ -20,6 +20,8 @@ import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -89,6 +91,11 @@ public class StorageDesc implements Serializable {
 		@ApiModelProperty(value = "版本")
 		private String version;
 	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+	/**
 	* 创建人
 	*/
 		@ApiModelProperty(value = "创建人")
@@ -102,7 +109,7 @@ public class StorageDesc implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
-		private LocalDateTime createTime;
+		private Date createTime;
 	/**
 	* 修改人
 	*/
@@ -112,7 +119,7 @@ public class StorageDesc implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
-		private LocalDateTime updateTime;
+		private Date updateTime;
 	/**
 	* 状态(0 正常 1停用)
 	*/

+ 9 - 2
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageType.java

@@ -20,6 +20,8 @@ import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -99,6 +101,11 @@ public class StorageType implements Serializable {
 		@ApiModelProperty(value = "版本")
 		private String version;
 	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+	/**
 	* 创建人
 	*/
 		@ApiModelProperty(value = "创建人")
@@ -112,7 +119,7 @@ public class StorageType implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
-		private LocalDateTime createTime;
+		private Date createTime;
 	/**
 	* 修改人
 	*/
@@ -122,7 +129,7 @@ public class StorageType implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
-		private LocalDateTime updateTime;
+		private Date updateTime;
 	/**
 	* 状态(0 正常 1停用)
 	*/

+ 9 - 7
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageTypeDesc.java

@@ -19,6 +19,8 @@ package org.springblade.client.entity;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -58,6 +60,11 @@ public class StorageTypeDesc implements Serializable {
 		@ApiModelProperty(value = "版本")
 		private String version;
 	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+	/**
 	* 创建人
 	*/
 		@ApiModelProperty(value = "创建人")
@@ -71,7 +78,7 @@ public class StorageTypeDesc implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
-		private LocalDateTime createTime;
+		private Date createTime;
 	/**
 	* 修改人
 	*/
@@ -81,17 +88,12 @@ public class StorageTypeDesc implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
-		private LocalDateTime updateTime;
+		private Date updateTime;
 	/**
 	* 状态(0 正常 1停用)
 	*/
 		@ApiModelProperty(value = "状态(0 正常 1停用)")
 		private Integer status;
-	/**
-	* 是否已删除(0 否 1是)
-	*/
-		@ApiModelProperty(value = "是否已删除(0 否 1是)")
-		private Integer isDeleted;
 
 
 }

+ 1 - 1
blade-service/blade-client/src/main/java/org/springblade/client/controller/CorpsDescController.java

@@ -70,7 +70,7 @@ public class CorpsDescController extends BladeController {
 	public R<IPage<CorpsDesc>> list(CorpsDesc corpsDesc, Query query) {
 		corpsDesc.setIsDeleted(0);//默认查有效的
 		corpsDesc.setTenantId(SecureUtil.getTenantId());
-		IPage<CorpsDesc> pages = corpsDescService.page(Condition.getPage(query), Condition.getQueryWrapper(corpsDesc));
+		IPage<CorpsDesc> pages = corpsDescService.pageCorpDesc(corpsDesc,query);
 		return R.data(pages);
 	}
 

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/controller/CorpsTypeController.java

@@ -110,6 +110,9 @@ public class CorpsTypeController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入corpsType")
 	public R update(@Valid @RequestBody CorpsType corpsType) {
+		if (corpsType.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
 		Integer count = corpsTypeService.count(new QueryWrapper<CorpsType>().eq("parent_id", corpsType.getId()).eq("is_deleted", 0));
 		if (count != null && count>0){
 			return R.fail(500,"存在下级类别不能删除");

+ 11 - 3
blade-service/blade-client/src/main/java/org/springblade/client/controller/FeesDescController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.client.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -68,7 +69,8 @@ public class FeesDescController extends BladeController {
 	@ApiOperation(value = "分页", notes = "传入feesDesc")
 	public R<IPage<FeesDesc>> list(FeesDesc feesDesc, Query query) {
 		feesDesc.setTenantId(SecureUtil.getTenantId());
-		IPage<FeesDesc> pages = feesDescService.page(Condition.getPage(query), Condition.getQueryWrapper(feesDesc));
+		feesDesc.setIsDeleted(0);
+		IPage<FeesDesc> pages = feesDescService.pageFee(query, feesDesc);
 		return R.data(pages);
 	}
 
@@ -78,8 +80,8 @@ public class FeesDescController extends BladeController {
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入feesDesc")
-	public R<IPage<FeesDescVO>> page(FeesDescVO feesDesc, Query query) {
-		IPage<FeesDescVO> pages = feesDescService.selectFeesDescPage(Condition.getPage(query), feesDesc);
+	public R<IPage<FeesDesc>> page(FeesDescVO feesDesc, Query query) {
+		IPage<FeesDesc> pages = feesDescService.pageFee(query, feesDesc);
 		return R.data(pages);
 	}
 
@@ -114,6 +116,12 @@ public class FeesDescController extends BladeController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入feesDesc")
 	public R submit(@Valid @RequestBody FeesDesc feesDesc) {
+		if (StringUtils.isBlank(feesDesc.getCode())){
+			return R.fail(500,"费用编码不能为空");
+		}
+		if (StringUtils.isBlank(feesDesc.getCname())){
+			return R.fail(500,"费用名称不能为空");
+		}
 		return R.data(feesDescService.saveMessage(feesDesc));
 	}
 

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/controller/FeesTypeController.java

@@ -107,6 +107,9 @@ public class FeesTypeController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入feesType")
 	public R update(@Valid @RequestBody FeesType feesType) {
+		if (feesType.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
 		Integer count = feesTypeService.count(new QueryWrapper<FeesType>().eq("parent_id", feesType.getId()).eq("is_deleted", 0));
 		if (count != null && count>0){
 			return R.fail(500,"存在下级类别不能删除");

+ 9 - 1
blade-service/blade-client/src/main/java/org/springblade/client/controller/GoodsDescController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.client.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -68,7 +69,8 @@ public class GoodsDescController extends BladeController {
 	@ApiOperation(value = "分页", notes = "传入goodsDesc")
 	public R<IPage<GoodsDesc>> list(GoodsDesc goodsDesc, Query query) {
 		goodsDesc.setTenantId(SecureUtil.getTenantId());
-		IPage<GoodsDesc> pages = goodsDescService.page(Condition.getPage(query), Condition.getQueryWrapper(goodsDesc));
+		goodsDesc.setIsDeleted(0);
+		IPage<GoodsDesc> pages = goodsDescService.pageGoods(goodsDesc,query);
 		return R.data(pages);
 	}
 
@@ -114,6 +116,12 @@ public class GoodsDescController extends BladeController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入goodsDesc")
 	public R submit(@Valid @RequestBody GoodsDesc goodsDesc) {
+		if (StringUtils.isBlank(goodsDesc.getCode())){
+			return R.fail(500,"商品编码不能为空");
+		}
+		if (StringUtils.isBlank(goodsDesc.getCname())){
+			return R.fail(500,"商品名称不能为空");
+		}
 		return R.data(goodsDescService.saveMessage(goodsDesc));
 	}
 

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/controller/GoodsTypeController.java

@@ -106,6 +106,9 @@ public class GoodsTypeController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入goodsType")
 	public R update(@Valid @RequestBody GoodsType goodsType) {
+		if (goodsType.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
 		Integer count = goodsTypeService.count(new QueryWrapper<GoodsType>().eq("parent_id", goodsType.getId()).eq("is_deleted", 0));
 		if (count != null && count>0){
 			return R.fail(500,"存在下级类别不能删除");

+ 8 - 4
blade-service/blade-client/src/main/java/org/springblade/client/controller/StorageDescController.java

@@ -55,7 +55,7 @@ public class StorageDescController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入storageDesc")
 	public R<StorageDesc> detail(StorageDesc storageDesc) {
-		StorageDesc detail = storageDescService.getOne(Condition.getQueryWrapper(storageDesc));
+		StorageDesc detail = storageDescService.getMessage(storageDesc);
 		return R.data(detail);
 	}
 
@@ -98,6 +98,10 @@ public class StorageDescController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入storageDesc")
 	public R update(@Valid @RequestBody StorageDesc storageDesc) {
+		if (storageDesc.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
+		storageDesc.setIsDeleted(1);
 		return R.status(storageDescService.updateById(storageDesc));
 	}
 
@@ -108,10 +112,10 @@ public class StorageDescController extends BladeController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入storageDesc")
 	public R submit(@Valid @RequestBody StorageDesc storageDesc) {
-		return R.status(storageDescService.saveOrUpdate(storageDesc));
+		return R.data(storageDescService.saveMessage(storageDesc));
 	}
 
-	
+
 	/**
 	 * 删除 库区表
 	 */
@@ -122,5 +126,5 @@ public class StorageDescController extends BladeController {
 		return R.status(storageDescService.removeByIds(Func.toLongList(ids)));
 	}
 
-	
+
 }

+ 32 - 5
blade-service/blade-client/src/main/java/org/springblade/client/controller/StorageTypeController.java

@@ -16,15 +16,17 @@
  */
 package org.springblade.client.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
-
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.*;
@@ -34,6 +36,8 @@ import org.springblade.client.vo.StorageTypeVO;
 import org.springblade.client.service.IStorageTypeService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.List;
+
 /**
  * 仓库 控制器
  *
@@ -55,7 +59,10 @@ public class StorageTypeController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入storageType")
 	public R<StorageType> detail(StorageType storageType) {
-		StorageType detail = storageTypeService.getOne(Condition.getQueryWrapper(storageType));
+		if (storageType.getId() == null){
+			return R.fail(500,"请选择要查询的数据");
+		}
+		StorageType detail = storageTypeService.getMessage(storageType);
 		return R.data(detail);
 	}
 
@@ -98,6 +105,14 @@ public class StorageTypeController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入storageType")
 	public R update(@Valid @RequestBody StorageType storageType) {
+		if (storageType.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
+		Integer count = storageTypeService.count(new QueryWrapper<StorageType>().eq("parent_id", storageType.getId()).eq("is_deleted", 0));
+		if (count != null && count>0){
+			return R.fail(500,"存在下级仓库不能删除");
+		}
+		storageType.setIsDeleted(1);
 		return R.status(storageTypeService.updateById(storageType));
 	}
 
@@ -108,10 +123,13 @@ public class StorageTypeController extends BladeController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入storageType")
 	public R submit(@Valid @RequestBody StorageType storageType) {
-		return R.status(storageTypeService.saveOrUpdate(storageType));
+		if (StringUtils.isBlank(storageType.getCname())){
+			return R.fail(500,"仓库名称不能为空");
+		}
+		return R.data(storageTypeService.saveMessage(storageType));
 	}
 
-	
+
 	/**
 	 * 删除 仓库
 	 */
@@ -121,6 +139,15 @@ public class StorageTypeController extends BladeController {
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(storageTypeService.removeByIds(Func.toLongList(ids)));
 	}
+	/**
+	 * 懒加载获取部门树形结构
+	 */
+	@GetMapping("/lazy-tree")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "懒加载树形结构", notes = "树形结构")
+	public R<List<StorageTypeVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
+		List<StorageTypeVO> tree = storageTypeService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
+		return R.data(tree);
+	}
 
-	
 }

+ 21 - 2
blade-service/blade-client/src/main/java/org/springblade/client/entity/StorageDesc.java

@@ -17,9 +17,13 @@
 package org.springblade.client.entity;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -89,6 +93,11 @@ public class StorageDesc implements Serializable {
 		@ApiModelProperty(value = "版本")
 		private String version;
 	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+	/**
 	* 创建人
 	*/
 		@ApiModelProperty(value = "创建人")
@@ -102,7 +111,7 @@ public class StorageDesc implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
-		private LocalDateTime createTime;
+		private Date createTime;
 	/**
 	* 修改人
 	*/
@@ -112,7 +121,7 @@ public class StorageDesc implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
-		private LocalDateTime updateTime;
+		private Date updateTime;
 	/**
 	* 状态(0 正常 1停用)
 	*/
@@ -123,6 +132,16 @@ public class StorageDesc implements Serializable {
 	*/
 		@ApiModelProperty(value = "是否已删除(0 否 1是)")
 		private Integer isDeleted;
+	/**
+	 * 仓库id
+	 */
+		@TableField(exist = false)
+		private Long storageId;
+	/**
+	 * 仓库名
+	 */
+		@TableField(exist = false)
+		private String storageName;
 
 
 }

+ 16 - 2
blade-service/blade-client/src/main/java/org/springblade/client/entity/StorageType.java

@@ -17,9 +17,13 @@
 package org.springblade.client.entity;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -99,6 +103,11 @@ public class StorageType implements Serializable {
 		@ApiModelProperty(value = "版本")
 		private String version;
 	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+	/**
 	* 创建人
 	*/
 		@ApiModelProperty(value = "创建人")
@@ -112,7 +121,7 @@ public class StorageType implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
-		private LocalDateTime createTime;
+		private Date createTime;
 	/**
 	* 修改人
 	*/
@@ -122,7 +131,7 @@ public class StorageType implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
-		private LocalDateTime updateTime;
+		private Date updateTime;
 	/**
 	* 状态(0 正常 1停用)
 	*/
@@ -133,6 +142,11 @@ public class StorageType implements Serializable {
 	*/
 		@ApiModelProperty(value = "是否已删除(0 否 1是)")
 		private Integer isDeleted;
+	/**
+	 * 上级中文名
+	 */
+		@TableField(exist = false)
+		private String parentName;
 
 
 }

+ 9 - 7
blade-service/blade-client/src/main/java/org/springblade/client/entity/StorageTypeDesc.java

@@ -19,6 +19,8 @@ package org.springblade.client.entity;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -58,6 +60,11 @@ public class StorageTypeDesc implements Serializable {
 		@ApiModelProperty(value = "版本")
 		private String version;
 	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+	/**
 	* 创建人
 	*/
 		@ApiModelProperty(value = "创建人")
@@ -71,7 +78,7 @@ public class StorageTypeDesc implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
-		private LocalDateTime createTime;
+		private Date createTime;
 	/**
 	* 修改人
 	*/
@@ -81,17 +88,12 @@ public class StorageTypeDesc implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
-		private LocalDateTime updateTime;
+		private Date updateTime;
 	/**
 	* 状态(0 正常 1停用)
 	*/
 		@ApiModelProperty(value = "状态(0 正常 1停用)")
 		private Integer status;
-	/**
-	* 是否已删除(0 否 1是)
-	*/
-		@ApiModelProperty(value = "是否已删除(0 否 1是)")
-		private Integer isDeleted;
 
 
 }

+ 0 - 1
blade-service/blade-client/src/main/java/org/springblade/client/mapper/StorageTypeDescMapper.xml

@@ -14,7 +14,6 @@
         <result column="update_user" property="updateUser"/>
         <result column="update_time" property="updateTime"/>
         <result column="status" property="status"/>
-        <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
 

+ 7 - 1
blade-service/blade-client/src/main/java/org/springblade/client/mapper/StorageTypeMapper.java

@@ -38,5 +38,11 @@ public interface StorageTypeMapper extends BaseMapper<StorageType> {
 	 * @return
 	 */
 	List<StorageTypeVO> selectStorageTypePage(IPage page, StorageTypeVO storageType);
-
+	/**
+	 * 懒加载
+	 * @param tenantId
+	 * @param parentId
+	 * @return
+	 */
+	List<StorageTypeVO> lazyTree(String tenantId, Long parentId);
 }

+ 32 - 2
blade-service/blade-client/src/main/java/org/springblade/client/mapper/StorageTypeMapper.xml

@@ -24,10 +24,40 @@
         <result column="status" property="status"/>
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
-
+    <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
+        <id column="id" property="id"/>
+        <result column="parent_id" property="parentId"/>
+        <result column="title" property="title"/>
+        <result column="value" property="value"/>
+        <result column="key" property="key"/>
+        <result column="has_children" property="hasChildren"/>
+    </resultMap>
 
     <select id="selectStorageTypePage" resultMap="storageTypeResultMap">
         select * from basic_storage_type where is_deleted = 0
     </select>
-
+    <select id="lazyTree" resultMap="treeNodeResultMap" >
+        SELECT
+        dept.id,
+        dept.parent_id,
+        dept.cname AS title,
+        dept.id AS "value",
+        dept.id AS "key",
+        (
+        SELECT
+        CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+        FROM
+        basic_storage_type
+        WHERE
+        parent_id = dept.id and is_deleted = 0
+        ) AS "has_children"
+        FROM
+        basic_storage_type dept
+        WHERE
+        dept.parent_id = #{param2} AND dept.is_deleted = 0
+        <if test="param1!=null and param1!=''">
+            and dept.tenant_id = #{param1}
+        </if>
+        ORDER BY dept.sort
+    </select>
 </mapper>

+ 14 - 1
blade-service/blade-client/src/main/java/org/springblade/client/service/ICorpsDescService.java

@@ -16,11 +16,11 @@
  */
 package org.springblade.client.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.vo.CorpsDescVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.support.Query;
 
 /**
  * 客户详情 服务类
@@ -46,6 +46,19 @@ public interface ICorpsDescService extends IService<CorpsDesc> {
 	 */
 	CorpsDesc submit(CorpsDesc corpsDesc);
 
+	/**
+	 * 获取客户详情
+	 * @param corpsDesc
+	 * @return
+	 */
 	CorpsDesc getMessageByID(CorpsDesc corpsDesc);
 
+	/**
+	 * 分页查询客户信息
+	 * @param corpsDesc
+	 * @param query
+	 * @return
+	 */
+	IPage<CorpsDesc> pageCorpDesc(CorpsDesc corpsDesc, Query query);
+
 }

+ 9 - 0
blade-service/blade-client/src/main/java/org/springblade/client/service/IFeesDescService.java

@@ -20,6 +20,7 @@ import org.springblade.client.entity.FeesDesc;
 import org.springblade.client.vo.FeesDescVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.support.Query;
 
 /**
  * 费用详情 服务类
@@ -52,4 +53,12 @@ public interface IFeesDescService extends IService<FeesDesc> {
 	 */
 	FeesDesc getMessageByID(FeesDesc feesDesc);
 
+	/**
+	 * 自定义费用分页
+	 * @param query
+	 * @param feesDesc
+	 * @return
+	 */
+	IPage<FeesDesc> pageFee(Query query,FeesDesc feesDesc);
+
 }

+ 9 - 0
blade-service/blade-client/src/main/java/org/springblade/client/service/IGoodsDescService.java

@@ -20,6 +20,7 @@ import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.vo.GoodsDescVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.support.Query;
 
 /**
  * 商品详情表 服务类
@@ -52,4 +53,12 @@ public interface IGoodsDescService extends IService<GoodsDesc> {
 	 */
 	GoodsDesc getMessageById(GoodsDesc goodsDesc);
 
+	/**
+	 * 查询自定义
+	 * @param goodsDesc
+	 * @param query
+	 * @return
+	 */
+	IPage<GoodsDesc> pageGoods(GoodsDesc goodsDesc,Query query);
+
 }

+ 13 - 0
blade-service/blade-client/src/main/java/org/springblade/client/service/IStorageDescService.java

@@ -38,4 +38,17 @@ public interface IStorageDescService extends IService<StorageDesc> {
 	 */
 	IPage<StorageDescVO> selectStorageDescPage(IPage<StorageDescVO> page, StorageDescVO storageDesc);
 
+	/**
+	 * 保存库区信息
+	 * @param storageDesc
+	 * @return
+	 */
+	StorageDesc saveMessage(StorageDesc storageDesc);
+
+	/**
+	 * 获取库区详情
+	 * @param storageDesc
+	 * @return
+	 */
+	StorageDesc getMessage(StorageDesc storageDesc);
 }

+ 23 - 0
blade-service/blade-client/src/main/java/org/springblade/client/service/IStorageTypeService.java

@@ -21,6 +21,8 @@ import org.springblade.client.vo.StorageTypeVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 仓库 服务类
  *
@@ -38,4 +40,25 @@ public interface IStorageTypeService extends IService<StorageType> {
 	 */
 	IPage<StorageTypeVO> selectStorageTypePage(IPage<StorageTypeVO> page, StorageTypeVO storageType);
 
+	/**
+	 * 保存仓库信息
+	 * @param storageType
+	 * @return
+	 */
+	StorageType saveMessage(StorageType storageType);
+
+	/**
+	 * 获取仓库详情
+	 * @param storageType
+	 * @return
+	 */
+	StorageType getMessage(StorageType storageType);
+	/**
+	 * 懒加载树形结构
+	 *
+	 * @param tenantId
+	 * @param parentId
+	 * @return
+	 */
+	List<StorageTypeVO> lazyTree(String tenantId, Long parentId);
 }

+ 24 - 11
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/CorpsDescServiceImpl.java

@@ -19,29 +19,21 @@ package org.springblade.client.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
-import io.minio.messages.Item;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.*;
-import org.springblade.client.mapper.CorpsAttnMapper;
 import org.springblade.client.mapper.CorpsTypeDescMapper;
 import org.springblade.client.vo.CorpsDescVO;
 import org.springblade.client.mapper.CorpsDescMapper;
 import org.springblade.client.service.ICorpsDescService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
-import org.springblade.core.tool.constant.BladeConstant;
-import org.springblade.core.tool.utils.DateUtil;
-import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * 客户详情 服务实现类
@@ -117,6 +109,27 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, CorpsDesc
 		return desc;
 	}
 
+	@Override
+	public IPage<CorpsDesc> pageCorpDesc(CorpsDesc corpsDesc, Query query) {
+		List<CorpsDesc> corpsDescList = new ArrayList<>();
+		if (StringUtils.isNotBlank(corpsDesc.getCorpsTypeId())){
+			List<CorpsTypeDesc> list = corpsTypeDescService.list(new QueryWrapper<CorpsTypeDesc>().eq("corp_type_id", corpsDesc.getCorpsTypeId()).eq("status", 0));
+			if (CollectionUtils.isNotEmpty(list)){
+				for (CorpsTypeDesc corpsTypeDesc : list) {
+					corpsDesc.setId(corpsTypeDesc.getCorpId());
+					CorpsDesc desc = baseMapper.selectOne(new QueryWrapper<CorpsDesc>().setEntity(corpsDesc));
+					if (desc != null){
+						corpsDescList.add(desc);
+					}
+				}
+			}
+		}else {
+			corpsDescList = baseMapper.selectList(new QueryWrapper<CorpsDesc>().setEntity(corpsDesc));
+		}
+		IPage<CorpsDesc> page = Condition.getPage(query);
+		return page.setRecords(corpsDescList);
+	}
+
 	/**
 	 * 保护客户联系人信息
 	 * @param corpsDesc 客户信息

+ 28 - 2
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/FeesDescServiceImpl.java

@@ -17,21 +17,26 @@
 package org.springblade.client.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.FeesDesc;
 import org.springblade.client.entity.FeesTypeDesc;
+import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.mapper.FeesTypeDescMapper;
 import org.springblade.client.vo.FeesDescVO;
 import org.springblade.client.mapper.FeesDescMapper;
 import org.springblade.client.service.IFeesDescService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -56,13 +61,14 @@ public class FeesDescServiceImpl extends ServiceImpl<FeesDescMapper, FeesDesc> i
 	@Transactional
 	public FeesDesc saveMessage(FeesDesc feesDesc) {
 		//保存费用信息
-		if (feesDesc.getId() == null){
+		if (StringUtils.isBlank(feesDesc.getTenantId())){
 			feesDesc.setTenantId(SecureUtil.getTenantId());
+		}
+		if (feesDesc.getId() == null){
 			feesDesc.setCreateUser(SecureUtil.getUserId());
 			feesDesc.setCreateTime(new Date());
 			baseMapper.insert(feesDesc);
 		}else {
-			feesDesc.setTenantId(SecureUtil.getTenantId());
 			feesDesc.setCreateUser(SecureUtil.getUserId());
 			feesDesc.setCreateTime(new Date());
 			baseMapper.updateById(feesDesc);
@@ -81,6 +87,26 @@ public class FeesDescServiceImpl extends ServiceImpl<FeesDescMapper, FeesDesc> i
 		return desc;
 	}
 
+	@Override
+	public IPage<FeesDesc> pageFee(Query query, FeesDesc feesDesc) {
+		List<FeesDesc> feesDescList = new ArrayList<>();
+		if (StringUtils.isNotBlank(feesDesc.getFeesTypeId())){
+			//根据商品类别查商品id
+			List<FeesTypeDesc> list = feesTypeDescService.list(new QueryWrapper<FeesTypeDesc>().eq("fees_type_id", feesDesc.getFeesTypeId()).eq("status", 0));
+			if (CollectionUtils.isNotEmpty(list)){
+				for (FeesTypeDesc feesTypeDesc : list) {
+					feesDesc.setId(feesTypeDesc.getFeesId());
+					FeesDesc desc = baseMapper.selectOne(new QueryWrapper<FeesDesc>().setEntity(feesDesc));
+					feesDescList.add(desc);
+				}
+			}
+		}else {
+			feesDescList = baseMapper.selectList(new QueryWrapper<FeesDesc>().setEntity(feesDesc));
+		}
+		IPage<FeesDesc> page = Condition.getPage(query);
+		return page.setRecords(feesDescList);
+	}
+
 	/**
 	 * 保存费用与费用类别对应关系
 	 * @param feeId 费用id

+ 3 - 1
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/FeesTypeServiceImpl.java

@@ -84,7 +84,9 @@ public class FeesTypeServiceImpl extends ServiceImpl<FeesTypeMapper, FeesType> i
 
 	@Override
 	public FeesType saveMessage(FeesType feesType) {
-		feesType.setTenantId(SecureUtil.getTenantId());
+		if (StringUtils.isBlank(feesType.getTenantId())){
+			feesType.setTenantId(SecureUtil.getTenantId());
+		}
 		if (feesType.getId() == null){
 			feesType.setCreateUser(SecureUtil.getUserId());
 			feesType.setCreateTime(new Date());

+ 26 - 1
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/GoodsDescServiceImpl.java

@@ -17,20 +17,23 @@
 package org.springblade.client.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.entity.GoodsTypeDesc;
-import org.springblade.client.mapper.GoodsTypeDescMapper;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.client.mapper.GoodsDescMapper;
 import org.springblade.client.service.IGoodsDescService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -45,6 +48,7 @@ import java.util.List;
 @AllArgsConstructor
 public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc> implements IGoodsDescService {
 	private  GoodsTypeDescServiceImpl goodsTypeDescService;  //商品-商品类别对应表
+	private  GoodsTypeServiceImpl goodsTypeService;//商品类别信息
 
 	@Override
 	public IPage<GoodsDescVO> selectGoodsDescPage(IPage<GoodsDescVO> page, GoodsDescVO goodsDesc) {
@@ -103,4 +107,25 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
 		return desc;
 	}
 
+	@Override
+	public IPage<GoodsDesc> pageGoods(GoodsDesc goodsDesc, Query query) {
+		List<GoodsDesc> goodsDescList = new ArrayList<>();
+		if (StringUtils.isNotBlank(goodsDesc.getGoodsTypeId())){
+			List<GoodsTypeDesc> list = goodsTypeDescService.list(new QueryWrapper<GoodsTypeDesc>().eq("goods_type_id", goodsDesc.getGoodsTypeId()).eq("status", 0));
+			if (CollectionUtils.isNotEmpty(list)){
+				for (GoodsTypeDesc goodsTypeDesc : list) {
+					goodsDesc.setId(goodsTypeDesc.getGoodsId());
+					GoodsDesc desc = baseMapper.selectOne(new QueryWrapper<GoodsDesc>().setEntity(goodsDesc));
+					if (desc != null){
+						goodsDescList.add(desc);
+					}
+				}
+			}
+		}else {
+			goodsDescList = baseMapper.selectList(new QueryWrapper<GoodsDesc>().setEntity(goodsDesc));
+		}
+		IPage<GoodsDesc> page = Condition.getPage(query);
+		return page.setRecords(goodsDescList);
+	}
+
 }

+ 46 - 1
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/StorageDescServiceImpl.java

@@ -16,13 +16,22 @@
  */
 package org.springblade.client.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import lombok.AllArgsConstructor;
 import org.springblade.client.entity.StorageDesc;
+import org.springblade.client.entity.StorageType;
+import org.springblade.client.entity.StorageTypeDesc;
 import org.springblade.client.vo.StorageDescVO;
 import org.springblade.client.mapper.StorageDescMapper;
 import org.springblade.client.service.IStorageDescService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
 
 /**
  * 库区表 服务实现类
@@ -31,11 +40,47 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2021-09-22
  */
 @Service
+@AllArgsConstructor
 public class StorageDescServiceImpl extends ServiceImpl<StorageDescMapper, StorageDesc> implements IStorageDescService {
-
+	private StorageTypeDescServiceImpl storageTypeDescService;//仓库库区对应表
+	private StorageTypeServiceImpl storageTypeService;//仓库表
 	@Override
 	public IPage<StorageDescVO> selectStorageDescPage(IPage<StorageDescVO> page, StorageDescVO storageDesc) {
 		return page.setRecords(baseMapper.selectStorageDescPage(page, storageDesc));
 	}
 
+	@Override
+	@Transactional
+	public StorageDesc saveMessage(StorageDesc storageDesc) {
+		//保存库区信息
+		if (storageDesc.getId() == null){
+			storageDesc.setCreateTime(new Date());
+			storageDesc.setCreateUser(SecureUtil.getUserId());
+			storageDesc.setTenantId(SecureUtil.getTenantId());
+			baseMapper.insert(storageDesc);
+		}else {
+			storageDesc.setUpdateTime(new Date());
+			storageDesc.setUpdateUser(SecureUtil.getUserId());
+			storageDesc.setTenantId(SecureUtil.getTenantId());
+			baseMapper.updateById(storageDesc);
+		}
+		//保存库区和仓库对应关系
+		boolean b = storageTypeDescService.saveMessage(storageDesc.getId(), storageDesc.getStorageId(), SecureUtil.getTenantId());
+		return storageDesc;
+	}
+
+	@Override
+	public StorageDesc getMessage(StorageDesc storageDesc) {
+		StorageDesc desc = baseMapper.selectById(storageDesc.getId());
+		//获取库区和仓库对应表
+		StorageTypeDesc storageId = storageTypeDescService.getOne(new QueryWrapper<StorageTypeDesc>().eq("storage_id", desc.getId()));
+		if (storageId != null){
+			StorageType storageType = storageTypeService.getById(storageId.getStorageTypeId());
+			if (storageType != null){
+				desc.setStorageName(storageType.getCname());
+			}
+		}
+		return storageDesc;
+	}
+
 }

+ 46 - 0
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/StorageTypeDescServiceImpl.java

@@ -16,14 +16,18 @@
  */
 package org.springblade.client.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springblade.client.entity.StorageTypeDesc;
 import org.springblade.client.vo.StorageTypeDescVO;
 import org.springblade.client.mapper.StorageTypeDescMapper;
 import org.springblade.client.service.IStorageTypeDescService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Date;
+
 /**
  * 仓库-库区对应表 服务实现类
  *
@@ -38,4 +42,46 @@ public class StorageTypeDescServiceImpl extends ServiceImpl<StorageTypeDescMappe
 		return page.setRecords(baseMapper.selectStorageTypeDescPage(page, storageTypeDesc));
 	}
 
+	/**
+	 * 保存仓库库区对应关系
+	 * @param storageId 库区id
+	 * @param typeId 仓库id
+	 * @param tenantId 租户id
+	 * @return
+	 */
+	public boolean saveMessage(Long storageId,Long typeId,String tenantId){
+		StorageTypeDesc typeDesc = baseMapper.selectOne(new QueryWrapper<StorageTypeDesc>().eq("storage_id", storageId));
+		StorageTypeDesc storageTypeDesc = new StorageTypeDesc();
+		Integer flag = null;
+		if (typeDesc == null){
+			storageTypeDesc.setStorageId(storageId);
+			storageTypeDesc.setStorageTypeId(typeId);
+			storageTypeDesc.setTenantId(tenantId);
+			storageTypeDesc.setCreateTime(new Date());
+			storageTypeDesc.setCreateUser(SecureUtil.getUserId());
+			flag = baseMapper.insert(storageTypeDesc);
+		}else if (typeDesc != null && typeDesc.getStorageTypeId() == typeId){
+			typeDesc.setStorageId(storageId);
+			typeDesc.setStorageTypeId(typeId);
+			typeDesc.setTenantId(tenantId);
+			typeDesc.setUpdateTime(new Date());
+			typeDesc.setUpdateUser(SecureUtil.getUserId());
+			flag = baseMapper.updateById(typeDesc);
+		}else if (typeDesc != null && typeDesc.getStorageTypeId() == typeId){
+			//将原来的改为停用
+			typeDesc.setStatus(1);
+			flag = baseMapper.updateById(typeDesc);
+			storageTypeDesc.setStorageId(storageId);
+			storageTypeDesc.setStorageTypeId(typeId);
+			storageTypeDesc.setTenantId(tenantId);
+			storageTypeDesc.setCreateTime(new Date());
+			storageTypeDesc.setCreateUser(SecureUtil.getUserId());
+			flag = baseMapper.insert(storageTypeDesc);
+		}
+		if (flag != null && flag > 0){
+			return true;
+		}
+		return false;
+	}
+
 }

+ 41 - 0
blade-service/blade-client/src/main/java/org/springblade/client/service/impl/StorageTypeServiceImpl.java

@@ -16,14 +16,19 @@
  */
 package org.springblade.client.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.springblade.client.entity.StorageType;
 import org.springblade.client.vo.StorageTypeVO;
 import org.springblade.client.mapper.StorageTypeMapper;
 import org.springblade.client.service.IStorageTypeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 仓库 服务实现类
  *
@@ -38,4 +43,40 @@ public class StorageTypeServiceImpl extends ServiceImpl<StorageTypeMapper, Stora
 		return page.setRecords(baseMapper.selectStorageTypePage(page, storageType));
 	}
 
+	@Override
+	public StorageType saveMessage(StorageType storageType) {
+		if (StringUtils.isBlank(storageType.getTenantId())){
+			storageType.setTenantId(SecureUtil.getTenantId());
+		}
+		if (storageType.getId() == null){
+			storageType.setCreateTime(new Date());
+			storageType.setCreateUser(SecureUtil.getUserId());
+			baseMapper.insert(storageType);
+		}else {
+			storageType.setUpdateTime(new Date());
+			storageType.setUpdateUser(SecureUtil.getUserId());
+			baseMapper.updateById(storageType);
+		}
+		return storageType;
+	}
+
+	@Override
+	public StorageType getMessage(StorageType storageType) {
+		StorageType type = baseMapper.selectById(storageType.getId());
+		//获取父级名称
+		StorageType storage = baseMapper.selectById(type.getParentId());
+		if (storage != null){
+			type.setParentName(storage.getCname());
+		}
+		return type;
+	}
+
+	@Override
+	public List<StorageTypeVO> lazyTree(String tenantId, Long parentId) {
+		if (StringUtils.isBlank(tenantId)){
+			tenantId = SecureUtil.getTenantId();
+		}
+		return baseMapper.lazyTree(tenantId,parentId);
+	}
+
 }