日报评论信息调整

This commit is contained in:
aikai 2024-08-12 14:12:16 +08:00
parent 5d05355f12
commit b354801af9
31 changed files with 332 additions and 119 deletions

View File

@ -14,7 +14,8 @@ public class CommentDTO {
private Integer type;
@Schema(description = "是否需要显示日志内容 0否 1是 默认否")
private Integer isShowWorkLogContent;
@Schema(description = "是否展示评论我的日志 0否 1是")
private Integer isCommentOnMyBlog;
@Schema(description = "是否查看自己的评论记录 0否 1是")
private Integer checkMyselfFlag;

View File

@ -12,5 +12,7 @@ public class CommentTypeCountVO {
private Integer commentNum;
@Schema(description = "回复数量")
private Integer replyNum;
@Schema(description = "收到数量")
private Integer receiveNum;
}

View File

@ -1,16 +1,15 @@
package cn.iocoder.yudao.module.system.dal.mysql.comment;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.system.controller.app.comment.dto.CommentDTO;
import cn.iocoder.yudao.module.system.controller.app.comment.vo.CommentPageListVO;
import cn.iocoder.yudao.module.system.controller.app.comment.vo.WorkLogCommentPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.comment.WorkLogCommentDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.app.comment.vo.*;
import org.apache.ibatis.annotations.Param;
/**
@ -35,10 +34,17 @@ public interface WorkLogCommentMapper extends BaseMapperX<WorkLogCommentDO> {
}
/**
*
* @param page
* @param dto
* @return
*/
IPage<CommentPageListVO> queryCommentPageList(@Param("page") Page<CommentPageListVO> page, @Param("dto") CommentDTO dto);
/**
* 收到的评论数量不包含回复的评论
*
* @param userId
* @return
*/
Integer selectCountReceiveNum(@Param("userId") Long userId);
}

View File

@ -150,9 +150,11 @@ public class WorkLogCommentServiceImpl implements WorkLogCommentService {
.and(a -> a.eq(WorkLogCommentDO::getUserId, userId)
.or().eq(WorkLogCommentDO::getCommentUserId, userId))
.eq(WorkLogCommentDO::getType, 1)));
Integer receiveNum = workLogCommentMapper.selectCountReceiveNum(userId);
vo.setCommentNum(commentNum);
vo.setReplyNum(replyNum);
vo.setAllNum(commentNum + replyNum);
vo.setAllNum(commentNum + replyNum + receiveNum);
return vo;
}

View File

@ -36,7 +36,9 @@
LEFT JOIN system_users AS c ON a.user_id = c.id
LEFT JOIN system_users AS d ON a.comment_user_id = d.id
LEFT JOIN work_log_comment AS e ON a.comment_id = e.id
<if test="dto.isCommentOnMyBlog != null and dto.isCommentOnMyBlog == 1">
LEFT JOIN work_log_instance_ext AS f ON f.id = a.work_log_id
</if>
<where>
<if test="dto.workLogId != null">
and a.work_log_id = #{dto.workLogId}
@ -44,10 +46,24 @@
<if test="dto.type != null">
and a.type = #{dto.type}
</if>
<if test="dto.userId != null">
and (a.user_id = #{dto.userId} or a.comment_user_id = #{dto.userId})
<if test="dto.isCommentOnMyBlog != null and dto.isCommentOnMyBlog == 1">
<if test="dto.userId != null">
and (a.user_id = #{dto.userId} or a.comment_user_id = #{dto.userId})
</if>
</if>
<if test="dto.isCommentOnMyBlog == null or dto.isCommentOnMyBlog == 0">
<if test="dto.userId != null">
and (a.user_id = #{dto.userId} or a.comment_user_id = #{dto.userId})
</if>
</if>
</where>
ORDER BY a.create_time DESC
</select>
<select id="selectCountReceiveNum" resultType="java.lang.Integer">
SELECT count(a.id)
FROM work_log_comment AS a
LEFT JOIN work_log_instance_ext AS f ON f.id = a.work_log_id
WHERE a.type = 0
AND f.start_user_id = #{userId}
</select>
</mapper>

View File

@ -145,6 +145,12 @@
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-file</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>zn-module-smartfactory-api</artifactId>
<version>2.0.0-jdk8-snapshot</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

View File

@ -79,6 +79,13 @@ public class DepotController {
return success(BeanUtils.toBean(pageResult, DepotRespVO.class));
}
@GetMapping("/list")
@Operation(summary = "获得仓库管理列表")
public CommonResult<List<DepotRespVO>> getDepotList(@Valid DepotPageReqVO pageReqVO) {
List<DepotRespVO> list = depotService.getDepotList(pageReqVO);
return success(list);
}
@GetMapping("/export-excel")
@Operation(summary = "导出仓库管理 Excel")
@PreAuthorize("@ss.hasPermission('wms:depot:export')")

View File

@ -30,6 +30,12 @@ public class DepotPageReqVO extends PageParam {
@Schema(description = "联系电话")
private String phone;
@Schema(description = "仓库状态 0禁用 1启用", example = "2")
private Integer status;
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;

View File

@ -21,6 +21,10 @@ public class DepotRespVO {
@ExcelProperty("工厂id")
private Long factoryId;
@Schema(description = "工厂名称", example = "张三")
@ExcelProperty("工厂名称")
private String factoryName;
@Schema(description = "仓库名称", example = "张三")
@ExcelProperty("仓库名称")
private String depotName;
@ -37,6 +41,14 @@ public class DepotRespVO {
@ExcelProperty("联系电话")
private String phone;
@Schema(description = "仓库状态 0禁用 1启用", example = "2")
@ExcelProperty("仓库状态 0禁用 1启用")
private Integer status;
@Schema(description = "备注", example = "随便")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;

View File

@ -28,4 +28,10 @@ public class DepotSaveReqVO {
@Schema(description = "联系电话")
private String phone;
@Schema(description = "仓库状态 0禁用 1启用", example = "2")
private Integer status;
@Schema(description = "备注", example = "随便")
private String remark;
}

View File

@ -1,33 +1,32 @@
package cn.iocoder.yudao.module.wms.controller.admin.depotarea;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.*;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaSaveReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depotarea.DepotAreaDO;
import cn.iocoder.yudao.module.wms.service.depotarea.DepotAreaService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 库区管理")
@RestController
@ -79,17 +78,24 @@ public class DepotAreaController {
return success(BeanUtils.toBean(pageResult, DepotAreaRespVO.class));
}
@GetMapping("/list")
@Operation(summary = "获得库区管理列表")
public CommonResult<List<DepotAreaRespVO>> getDepotAreaList(@Valid DepotAreaPageReqVO pageReqVO) {
List<DepotAreaRespVO> list = depotAreaService.getDepotAreaList(pageReqVO);
return success(list);
}
@GetMapping("/export-excel")
@Operation(summary = "导出库区管理 Excel")
@PreAuthorize("@ss.hasPermission('wms:depot-area:export')")
@OperateLog(type = EXPORT)
public void exportDepotAreaExcel(@Valid DepotAreaPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<DepotAreaDO> list = depotAreaService.getDepotAreaPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "库区管理.xls", "数据", DepotAreaRespVO.class,
BeanUtils.toBean(list, DepotAreaRespVO.class));
BeanUtils.toBean(list, DepotAreaRespVO.class));
}
}

View File

@ -24,6 +24,9 @@ public class DepotAreaPageReqVO extends PageParam {
@Schema(description = "库区名称", example = "张三")
private String depotAreaName;
@Schema(description = "库区编号", example = "库区编号")
private String depotAreaNo;
@Schema(description = "库区类别 1产品仓 2废料仓报损", example = "2")
private Integer depotAreaType;

View File

@ -21,6 +21,10 @@ public class DepotAreaRespVO {
@ExcelProperty("工厂id")
private Long factoryId;
@Schema(description = "工厂名称", example = "张三")
@ExcelProperty("工厂名称")
private String factoryName;
@Schema(description = "仓库id", example = "5545")
@ExcelProperty("仓库id")
private Long depotId;
@ -29,6 +33,10 @@ public class DepotAreaRespVO {
@ExcelProperty("库区名称")
private String depotAreaName;
@ExcelProperty("库区编号")
@Schema(description = "库区编号", example = "库区编号")
private String depotAreaNo;
@Schema(description = "库区类别 1产品仓 2废料仓报损", example = "2")
@ExcelProperty("库区类别 1产品仓 2废料仓报损")
private Integer depotAreaType;

View File

@ -22,6 +22,9 @@ public class DepotAreaSaveReqVO {
@Schema(description = "库区名称", example = "张三")
private String depotAreaName;
@Schema(description = "库区编号", example = "库区编号")
private String depotAreaNo;
@Schema(description = "库区类别 1产品仓 2废料仓报损", example = "2")
private Integer depotAreaType;

View File

@ -25,13 +25,13 @@ public class DepotLocationPageReqVO extends PageParam {
private Long depotAreaId;
@Schema(description = "")
private Integer row;
private Integer rowNum;
@Schema(description = "")
private Integer column;
private Integer columnNum;
@Schema(description = "")
private Integer layer;
private Integer layerNum;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

View File

@ -32,15 +32,15 @@ public class DepotLocationRespVO {
@Schema(description = "")
@ExcelProperty("")
private Integer row;
private Integer rowNum;
@Schema(description = "")
@ExcelProperty("")
private Integer column;
private Integer columnNum;
@Schema(description = "")
@ExcelProperty("")
private Integer layer;
private Integer layerNum;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")

View File

@ -23,13 +23,13 @@ public class DepotLocationSaveReqVO {
private Long depotAreaId;
@Schema(description = "")
private Integer row;
private Integer rowNum;
@Schema(description = "")
private Integer column;
private Integer columnNum;
@Schema(description = "")
private Integer layer;
private Integer layerNum;
@Schema(description = "子表列表", example = "1")
private List<DepotLocationItemSaveReqVO> items;

View File

@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.wms.dal.dataobject.depot;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* 仓库管理 DO
@ -48,4 +48,21 @@ public class DepotDO extends BaseDO {
*/
private String phone;
/**
* 仓库状态 0禁用 1启用
*/
private Integer status;
/**
* 备注
*/
private String remark;
/**
* 工厂名称
*/
@TableField(exist = false)
private String factoryName;
}

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.wms.dal.dataobject.depotarea;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -39,6 +41,12 @@ public class DepotAreaDO extends BaseDO {
* 库区名称
*/
private String depotAreaName;
/**
* 库区编号
*/
private String depotAreaNo;
/**
* 库区类别 1产品仓 2废料仓报损
*/
@ -52,4 +60,9 @@ public class DepotAreaDO extends BaseDO {
*/
private String remark;
/**
* 工厂名称
*/
@TableField(exist = false)
private String factoryName;
}

View File

@ -43,15 +43,15 @@ public class DepotLocationDO extends BaseDO {
/**
*
*/
private Integer row;
private Integer rowNum;
/**
*
*/
private Integer column;
private Integer columnNum;
/**
*
*/
private Integer layer;
private Integer layerNum;
/**
* 子表列表
*/

View File

@ -47,18 +47,22 @@ public class DepotLocationItemDO extends BaseDO {
/**
* 上边框json{routeCheck: true,type:"top"}
*/
@TableField("`top`")
private String top;
/**
* 下边框json{routeCheck: true,type:"bottom"}
*/
@TableField("`bottom`")
private String bottom;
/**
* 左边框json{routeCheck: true,type:"left"}
*/
@TableField("`left`")
private String left;
/**
* 右边框json{routeCheck: true,type:"right"}
*/
@TableField("`right`")
private String right;
/**
* 下标1,2

View File

@ -1,13 +1,14 @@
package cn.iocoder.yudao.module.wms.dal.mysql.depot;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depot.DepotDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.*;
import java.util.List;
/**
* 仓库管理 Mapper
@ -28,4 +29,5 @@ public interface DepotMapper extends BaseMapperX<DepotDO> {
.orderByDesc(DepotDO::getId));
}
List<DepotRespVO> selectAllList(DepotPageReqVO reqVO);
}

View File

@ -5,6 +5,8 @@ import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depotarea.DepotAreaDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.*;
@ -29,4 +31,5 @@ public interface DepotAreaMapper extends BaseMapperX<DepotAreaDO> {
.orderByDesc(DepotAreaDO::getId));
}
List<DepotAreaRespVO> getDepotAreaAllList(DepotAreaPageReqVO pageReqVO);
}

View File

@ -22,9 +22,9 @@ public interface DepotLocationMapper extends BaseMapperX<DepotLocationDO> {
.eqIfPresent(DepotLocationDO::getFactoryId, reqVO.getFactoryId())
.eqIfPresent(DepotLocationDO::getDepotId, reqVO.getDepotId())
.eqIfPresent(DepotLocationDO::getDepotAreaId, reqVO.getDepotAreaId())
.eqIfPresent(DepotLocationDO::getRow, reqVO.getRow())
.eqIfPresent(DepotLocationDO::getColumn, reqVO.getColumn())
.eqIfPresent(DepotLocationDO::getLayer, reqVO.getLayer())
.eqIfPresent(DepotLocationDO::getRowNum, reqVO.getRowNum())
.eqIfPresent(DepotLocationDO::getColumnNum, reqVO.getColumnNum())
.eqIfPresent(DepotLocationDO::getLayerNum, reqVO.getLayerNum())
.betweenIfPresent(DepotLocationDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DepotLocationDO::getId));
}

View File

@ -1,14 +1,10 @@
package cn.iocoder.yudao.module.wms.framework.rpc.config;
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.dept.PostApi;
import cn.iocoder.yudao.module.system.api.equipment.AttendanceMachineApi;
import cn.iocoder.yudao.module.system.api.social.SocialClientApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.FactoryInfoApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = { })
@EnableFeignClients(clients = {FactoryInfoApi.class})
public class RpcConfiguration {
}

View File

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.wms.service.depot;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.*;
import cn.iocoder.yudao.module.wms.dal.dataobject.depot.DepotDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotSaveReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depot.DepotDO;
import javax.validation.Valid;
import java.util.List;
/**
* 仓库管理 Service 接口
@ -52,4 +54,11 @@ public interface DepotService {
*/
PageResult<DepotDO> getDepotPage(DepotPageReqVO pageReqVO);
/**
* 获得仓库管理
*
* @param pageReqVO
* @return
*/
List<DepotRespVO> getDepotList(DepotPageReqVO pageReqVO);
}

View File

@ -1,21 +1,22 @@
package cn.iocoder.yudao.module.wms.service.depot;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.*;
import cn.iocoder.yudao.module.wms.dal.dataobject.depot.DepotDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.FactoryInfoApi;
import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.dto.FactoryInfoDTO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotSaveReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depot.DepotDO;
import cn.iocoder.yudao.module.wms.dal.mysql.depot.DepotMapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 仓库管理 Service 实现类
@ -28,11 +29,14 @@ public class DepotServiceImpl implements DepotService {
@Resource
private DepotMapper depotMapper;
@Resource
private FactoryInfoApi factoryInfoApi;
@Override
public Long createDepot(DepotSaveReqVO createReqVO) {
// 插入
DepotDO depot = BeanUtils.toBean(createReqVO, DepotDO.class);
depot.setDepotNo(IdWorker.get32UUID());
depotMapper.insert(depot);
// 返回
return depot.getId();
@ -58,7 +62,20 @@ public class DepotServiceImpl implements DepotService {
@Override
public PageResult<DepotDO> getDepotPage(DepotPageReqVO pageReqVO) {
return depotMapper.selectPage(pageReqVO);
PageResult<DepotDO> depotDOPageResult = depotMapper.selectPage(pageReqVO);
List<Long> factoryIds = depotDOPageResult.getList().stream().map(DepotDO::getFactoryId).collect(Collectors.toList());
//获取工厂列表名称
List<FactoryInfoDTO> factoryInfoList = factoryInfoApi.getFactoryInfoList(factoryIds).getCheckedData();
Map<Long, String> map = factoryInfoList.stream().collect(Collectors.toMap(FactoryInfoDTO::getId, FactoryInfoDTO::getName));
for (DepotDO depotDO : depotDOPageResult.getList()) {
depotDO.setFactoryName(map.get(depotDO.getFactoryId()));
}
return depotDOPageResult;
}
@Override
public List<DepotRespVO> getDepotList(DepotPageReqVO pageReqVO) {
return depotMapper.selectAllList(pageReqVO);
}
}

View File

@ -1,11 +1,15 @@
package cn.iocoder.yudao.module.wms.service.depotarea;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.*;
import cn.iocoder.yudao.module.wms.dal.dataobject.depotarea.DepotAreaDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaSaveReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depotarea.DepotAreaDO;
import javax.validation.Valid;
import java.util.List;
/**
* 库区管理 Service 接口
@ -52,4 +56,11 @@ public interface DepotAreaService {
*/
PageResult<DepotAreaDO> getDepotAreaPage(DepotAreaPageReqVO pageReqVO);
/**
* 获得库区管理列表
*
* @param pageReqVO
* @return
*/
List<DepotAreaRespVO> getDepotAreaList(DepotAreaPageReqVO pageReqVO);
}

View File

@ -1,21 +1,23 @@
package cn.iocoder.yudao.module.wms.service.depotarea;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.*;
import cn.iocoder.yudao.module.wms.dal.dataobject.depotarea.DepotAreaDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.FactoryInfoApi;
import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.dto.FactoryInfoDTO;
import cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaRespVO;
import cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaSaveReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.depotarea.DepotAreaDO;
import cn.iocoder.yudao.module.wms.dal.mysql.depotarea.DepotAreaMapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 库区管理 Service 实现类
@ -28,11 +30,14 @@ public class DepotAreaServiceImpl implements DepotAreaService {
@Resource
private DepotAreaMapper depotAreaMapper;
@Resource
private FactoryInfoApi factoryInfoApi;
@Override
public Long createDepotArea(DepotAreaSaveReqVO createReqVO) {
// 插入
DepotAreaDO depotArea = BeanUtils.toBean(createReqVO, DepotAreaDO.class);
depotArea.setDepotAreaNo(IdWorker.get32UUID());
depotAreaMapper.insert(depotArea);
// 返回
return depotArea.getId();
@ -58,7 +63,20 @@ public class DepotAreaServiceImpl implements DepotAreaService {
@Override
public PageResult<DepotAreaDO> getDepotAreaPage(DepotAreaPageReqVO pageReqVO) {
return depotAreaMapper.selectPage(pageReqVO);
PageResult<DepotAreaDO> depotAreaDOPageResult = depotAreaMapper.selectPage(pageReqVO);
List<Long> factoryIds = depotAreaDOPageResult.getList().stream().map(DepotAreaDO::getFactoryId).collect(Collectors.toList());
//获取工厂列表名称
List<FactoryInfoDTO> factoryInfoList = factoryInfoApi.getFactoryInfoList(factoryIds).getCheckedData();
Map<Long, String> map = factoryInfoList.stream().collect(Collectors.toMap(FactoryInfoDTO::getId, FactoryInfoDTO::getName));
for (DepotAreaDO depotAreaDO : depotAreaDOPageResult.getList()) {
depotAreaDO.setFactoryName(map.get(depotAreaDO.getFactoryId()));
}
return depotAreaDOPageResult;
}
@Override
public List<DepotAreaRespVO> getDepotAreaList(DepotAreaPageReqVO pageReqVO) {
return depotAreaMapper.getDepotAreaAllList(pageReqVO);
}
}

View File

@ -9,4 +9,20 @@
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="selectAllList" resultType="cn.iocoder.yudao.module.wms.controller.admin.depot.vo.DepotRespVO">
select
a.*,
b.short_name as factoryName
from wms_depot a
left join sf_factory_info b on a.factory_id = b.id
<where>
a.deleted = 0
<if test="factoryId != null">
and a.factory_id = #{factoryId}
</if>
<if test="depotName != null and depotName != ''">
and a.depot_name like concat('%', #{depotName}, '%')
</if>
</where>
</select>
</mapper>

View File

@ -9,4 +9,27 @@
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="getDepotAreaAllList"
resultType="cn.iocoder.yudao.module.wms.controller.admin.depotarea.vo.DepotAreaRespVO">
select
a.*,
b.short_name as factoryName
from wms_depot_area a
left join sf_factory_info b on a.factory_id = b.id
<where>
a.deleted = 0
<if test="factoryId != null">
and a.factory_id = #{factoryId}
</if>
<if test="depotId != null">
and a.depot_id = #{depotId}
</if>
<if test="depotAreaType != null">
and a.depot_area_type = #{depotAreaType}
</if>
<if test="status != null">
and a.status = #{status}
</if>
</where>
</select>
</mapper>