package com.vincent.rsf.server.manager.entity; import com.baomidou.mybatisplus.annotation.*; import java.text.SimpleDateFormat; import java.util.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fasterxml.jackson.annotation.JsonFormat; import com.vincent.rsf.server.manager.service.CompanysService; import com.vincent.rsf.server.manager.service.ShipperService; import com.vincent.rsf.server.manager.service.WarehouseService; import com.vincent.rsf.server.system.constant.DictTypeCode; import com.vincent.rsf.server.system.entity.DictData; import com.vincent.rsf.server.system.service.DictDataService; import io.swagger.annotations.Api; import org.apache.commons.lang3.StringUtils; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.system.service.UserService; import com.vincent.rsf.server.system.entity.User; import java.io.Serializable; import java.util.Date; import java.util.stream.Collectors; @Data @TableName("man_warehouse_areas") public class WarehouseAreas implements Serializable { private static final long serialVersionUID = 1L; /** * ID */ @ApiModelProperty(value= "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 仓库ID */ @ApiModelProperty("仓库ID") private Long warehouseId; /** * 编号 */ @ApiModelProperty(value= "业务类型") private String type; /** * 名称 */ @ApiModelProperty(value= "名称") private String name; /** * 编码 */ @ApiModelProperty(value= "编码") private String code; /** * 货主标识(*) */ @ApiModelProperty(value= "货主标识(*)") private Long shipperId; /** * 供应商标识 */ @ApiModelProperty(value= "供应商标识") private Short supplierId; /** * 允许负库存(*) 0: 否 1: 是 */ @ApiModelProperty(value= "允许负库存(*) 0: 否 1: 是 ") private Short flagMinus; /** * 是否标签管理(*) 0: 否 1: 是 */ @ApiModelProperty(value= "是否标签管理(*) 0: 否 1: 是 ") private Short flagLabelMange; /** * 支持混放(*) 0: 否 1: 是 */ @ApiModelProperty(value= "支持混放(*) 0: 否 1: 是 ") private Short flagMix; /** * 状态 1: 正常 0: 冻结 */ @ApiModelProperty(value= "状态 1: 正常 0: 冻结 ") private Integer status; /** * 是否删除 1: 是 0: 否 */ @ApiModelProperty(value= "是否删除 1: 是 0: 否 ") @TableLogic private Integer deleted; /** * 租户 */ @ApiModelProperty(value= "租户") private Integer tenantId; /** * 添加人员 */ @ApiModelProperty(value= "添加人员") private Long createBy; /** * 添加时间 */ @ApiModelProperty(value= "添加时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 修改人员 */ @ApiModelProperty(value= "修改人员") private Long updateBy; /** * 修改时间 */ @ApiModelProperty(value= "修改时间") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; @TableField(exist = false) @ApiModelProperty("是否仓库") private Integer flagWare; @TableField(exist = false) @ApiModelProperty("用于仓库树状图,唯一索引") private Long index; /** * 备注 */ @ApiModelProperty(value= "备注") private String memo; public WarehouseAreas() {} public WarehouseAreas(String type,String name,String code,Long shipperId,Short supplierId,Short flagMinus,Short flagLabelMange,Short flagMix,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { this.type = type; this.name = name; this.code = code; this.shipperId = shipperId; this.supplierId = supplierId; this.flagMinus = flagMinus; this.flagLabelMange = flagLabelMange; this.flagMix = flagMix; this.status = status; this.deleted = deleted; this.tenantId = tenantId; this.createBy = createBy; this.createTime = createTime; this.updateBy = updateBy; this.updateTime = updateTime; this.memo = memo; } public String getShipperId$(){ CompanysService service = SpringUtils.getBean(CompanysService.class); Companys shipper = service.getById(this.shipperId); if (!Cools.isEmpty(shipper)){ return String.valueOf(shipper.getName()); } return null; } public String getWarehouseId$() { if (this.warehouseId == null) { return null; } WarehouseService warehouseService = SpringUtils.getBean(WarehouseService.class); Warehouse warehouse = warehouseService.getById(this.warehouseId); if (!Objects.isNull(warehouse)) { return warehouse.getName(); } return null; } public String getType$() { if (Cools.isEmpty(this.type)){ return ""; } DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); DictData dictData = dictDataService.getOne(new LambdaQueryWrapper().eq(DictData::getDictTypeCode, DictTypeCode.SYS_WARE_AREAS_TYPE).eq(DictData::getValue, this.type)); if (Objects.isNull(dictData)) { return null; } return dictData.getLabel(); } public String getSupplierId$() { CompanysService service = SpringUtils.getBean(CompanysService.class); Companys supplier = service.getById(this.supplierId); if (!Cools.isEmpty(supplier)){ return String.valueOf(supplier.getName()); } return null; } public String getFlagMinus$(){ if (null == this.flagMinus){ return null; } switch (this.flagMinus){ case 0: return "否"; case 1: return "是"; default: return String.valueOf(this.flagMinus); } } public String getFlagLabelMange$(){ if (null == this.flagLabelMange){ return null; } switch (this.flagLabelMange){ case 0: return " 否"; case 1: return " 是"; default: return String.valueOf(this.flagLabelMange); } } public String getFlagMix$(){ if (null == this.flagMix){ return null; } switch (this.flagMix){ case 0: return "否"; case 1: return "是"; default: return String.valueOf(this.flagMix); } } public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ case 1: return "正常"; case 0: return "冻结"; default: return String.valueOf(this.status); } } public String getCreateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.getById(this.createBy); if (!Cools.isEmpty(user)){ return String.valueOf(user.getNickname()); } return null; } public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getUpdateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.getById(this.updateBy); if (!Cools.isEmpty(user)){ return String.valueOf(user.getNickname()); } return null; } public String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public Boolean getStatusBool(){ if (null == this.status){ return null; } switch (this.status){ case 1: return true; case 0: return false; default: return null; } } }