### commit message
#### 1. 添加用户常用应用配置功能 新增了用户常用应用配置的CRUD接口和相应的数据库表。实现了用户可以自定义常用菜单和流程的功能,以提高操作便捷性。 #### 2. 优化工厂窑炉表及查询功能 调整了工厂窑炉表的产能字段类型,并优化了相应的查询接口,提高了查询效率和数据的一致性。
This commit is contained in:
parent
f1661ea3b0
commit
fb5eca9b3a
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.auth.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@ -86,6 +87,8 @@ public class AuthPermissionInfoRespVO {
|
||||
@Schema(description = "是否总是显示", example = "false")
|
||||
private Boolean alwaysShow;
|
||||
|
||||
@Schema(description = "是否已选择 (用于常用菜单赛选 true 已选 false 未选)", example = "false")
|
||||
private Boolean selectedFlag;
|
||||
/**
|
||||
* 子路由
|
||||
*/
|
||||
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.commonlyused;
|
||||
|
||||
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.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.system.controller.admin.commonlyused.vo.*;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.commonlyused.CommonlyUsedDO;
|
||||
import cn.iocoder.yudao.module.system.service.commonlyused.CommonlyUsedService;
|
||||
|
||||
@Tag(name = "管理后台 - 用户常用应用配置")
|
||||
@RestController
|
||||
@RequestMapping("/system/commonly-used")
|
||||
@Validated
|
||||
public class CommonlyUsedController {
|
||||
|
||||
@Resource
|
||||
private CommonlyUsedService commonlyUsedService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建用户常用应用配置")
|
||||
@PreAuthorize("@ss.hasPermission('system:commonly-used:create')")
|
||||
public CommonResult<Long> createCommonlyUsed(@Valid @RequestBody CommonlyUsedSaveReqVO createReqVO) {
|
||||
return success(commonlyUsedService.createCommonlyUsed(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新用户常用应用配置")
|
||||
@PreAuthorize("@ss.hasPermission('system:commonly-used:update')")
|
||||
public CommonResult<Boolean> updateCommonlyUsed(@Valid @RequestBody CommonlyUsedSaveReqVO updateReqVO) {
|
||||
commonlyUsedService.updateCommonlyUsed(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除用户常用应用配置")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('system:commonly-used:delete')")
|
||||
public CommonResult<Boolean> deleteCommonlyUsed(@RequestParam("id") Long id) {
|
||||
commonlyUsedService.deleteCommonlyUsed(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得用户常用应用配置")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('system:commonly-used:query')")
|
||||
public CommonResult<CommonlyUsedRespVO> getCommonlyUsed(@RequestParam("id") Long id) {
|
||||
CommonlyUsedDO commonlyUsed = commonlyUsedService.getCommonlyUsed(id);
|
||||
return success(BeanUtils.toBean(commonlyUsed, CommonlyUsedRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得用户常用应用配置列表")
|
||||
@PreAuthorize("@ss.hasPermission('system:commonly-used:query')")
|
||||
public CommonResult<CommonlyUsedVO> getCommonlyUsedList() {
|
||||
CommonlyUsedVO vo = commonlyUsedService.getCommonlyUsedList();
|
||||
return success(vo);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出用户常用应用配置 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('system:commonly-used:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportCommonlyUsedExcel(@Valid CommonlyUsedPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<CommonlyUsedDO> list = commonlyUsedService.getCommonlyUsedPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "用户常用应用配置.xls", "数据", CommonlyUsedRespVO.class,
|
||||
BeanUtils.toBean(list, CommonlyUsedRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 用户常用应用配置分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class CommonlyUsedPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "用户id", example = "2072")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "类型 1流程 2菜单", example = "1")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "路由地址")
|
||||
private String routing;
|
||||
|
||||
@Schema(description = "菜单id或流程id 根据具体类型来", example = "11898")
|
||||
private String objectId;
|
||||
|
||||
@Schema(description = "排序(从小到大)")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 用户常用应用配置 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CommonlyUsedRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18873")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户id", example = "2072")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "类型 1流程 2菜单", example = "1")
|
||||
@ExcelProperty("类型 1流程 2菜单")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "路由地址")
|
||||
@ExcelProperty("路由地址")
|
||||
private String routing;
|
||||
|
||||
@Schema(description = "菜单id或流程id 根据具体类型来", example = "11898")
|
||||
@ExcelProperty("菜单id或流程id 根据具体类型来")
|
||||
private String objectId;
|
||||
|
||||
@Schema(description = "排序(从小到大)")
|
||||
@ExcelProperty("排序(从小到大)")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "名称")
|
||||
@ExcelProperty("名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "图标")
|
||||
@ExcelProperty("图标")
|
||||
private String img;
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
|
||||
@Schema(description = "管理后台 - 用户常用应用配置新增/修改 Request VO")
|
||||
@Data
|
||||
public class CommonlyUsedSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18873")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户id", example = "2072")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "类型 1流程 2菜单", example = "1")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "路由地址")
|
||||
private String routing;
|
||||
|
||||
@Schema(description = "菜单id或流程id 根据具体类型来", example = "11898")
|
||||
private String objectId;
|
||||
|
||||
@Schema(description = "排序(从小到大)")
|
||||
private Integer sort;
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthPermissionInfoRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class CommonlyUsedVO {
|
||||
|
||||
@Schema(description = "用户常用应用配置")
|
||||
private List<CommonlyUsedRespVO> commonlyUsedRespVOS;
|
||||
|
||||
@Schema(description = "菜单树形列表")
|
||||
private List<AuthPermissionInfoRespVO.MenuVO> menus;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.system.dal.dataobject.commonlyused;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* 用户常用应用配置 DO
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@TableName("system_commonly_used")
|
||||
@KeySequence("system_commonly_used_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CommonlyUsedDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 类型 1流程 2菜单
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 路由地址
|
||||
*/
|
||||
private String routing;
|
||||
/**
|
||||
* 菜单id或流程id 根据具体类型来
|
||||
*/
|
||||
private String objectId;
|
||||
/**
|
||||
* 排序(从小到大)
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
}
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.system.enums.permission.MenuTypeEnum;
|
||||
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.Data;
|
||||
@ -103,5 +104,10 @@ public class MenuDO extends BaseDO {
|
||||
* 如果为 false 时,当该菜单只有一个子菜单时,不展示自己,直接展示子菜单
|
||||
*/
|
||||
private Boolean alwaysShow;
|
||||
/**
|
||||
* 是否已选择 (用于常用菜单赛选 true 已选 false 未选)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Boolean selectedFlag;
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,31 @@
|
||||
package cn.iocoder.yudao.module.system.dal.mysql.commonlyused;
|
||||
|
||||
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.system.dal.dataobject.commonlyused.CommonlyUsedDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.*;
|
||||
|
||||
/**
|
||||
* 用户常用应用配置 Mapper
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Mapper
|
||||
public interface CommonlyUsedMapper extends BaseMapperX<CommonlyUsedDO> {
|
||||
|
||||
default PageResult<CommonlyUsedDO> selectPage(CommonlyUsedPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<CommonlyUsedDO>()
|
||||
.eqIfPresent(CommonlyUsedDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(CommonlyUsedDO::getType, reqVO.getType())
|
||||
.eqIfPresent(CommonlyUsedDO::getRouting, reqVO.getRouting())
|
||||
.eqIfPresent(CommonlyUsedDO::getObjectId, reqVO.getObjectId())
|
||||
.eqIfPresent(CommonlyUsedDO::getSort, reqVO.getSort())
|
||||
.betweenIfPresent(CommonlyUsedDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(CommonlyUsedDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -89,7 +89,7 @@ public class DeptAssetsInOutStockServiceImpl implements DeptAssetsInOutStockServ
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
for (DeptAssetsInOutStockSaveReqVO vo : list) {
|
||||
DeptAssetsInOutStockDO deptAssetsInOutStock = new DeptAssetsInOutStockDO();
|
||||
deptAssetsInOutStock.setOutDeptId(outDeptId == -1 ? null : outDeptId);
|
||||
deptAssetsInOutStock.setOutDeptId(outDeptId);
|
||||
deptAssetsInOutStock.setInDeptId(vo.getInDeptId());
|
||||
deptAssetsInOutStock.setNum(vo.getNum());
|
||||
deptAssetsInOutStock.setInOutNo(IdWorker.get32UUID());
|
||||
@ -131,7 +131,7 @@ public class DeptAssetsInOutStockServiceImpl implements DeptAssetsInOutStockServ
|
||||
updateAssetsList.add(assetsDO);
|
||||
} else {
|
||||
DeptAssetsDO deptAssetsDO = deptAssetsDOMap.get(outDeptId + "_" + dto.getAssetsId());
|
||||
if (dto.getType() == 0 && (deptAssetsDO.getStock() - outNum <= 0)) {
|
||||
if (deptAssetsDO.getStock() - outNum <= 0) {
|
||||
deptAssetDeptIdDelIds.add(outDeptId);
|
||||
deptAssetAssetsIdDelIds.add(dto.getAssetsId());
|
||||
} else {
|
||||
@ -184,9 +184,11 @@ public class DeptAssetsInOutStockServiceImpl implements DeptAssetsInOutStockServ
|
||||
}
|
||||
}
|
||||
if (!deptAssetDeptIdDelIds.isEmpty() && !deptAssetAssetsIdDelIds.isEmpty()) {
|
||||
deptAssetsMapper.update(new DeptAssetsDO().setStock(0), new LambdaQueryWrapper<DeptAssetsDO>()
|
||||
LambdaQueryWrapper<DeptAssetsDO> updateOrDelWrapper = new LambdaQueryWrapper<DeptAssetsDO>()
|
||||
.in(DeptAssetsDO::getDeptId, deptAssetDeptIdDelIds)
|
||||
.in(DeptAssetsDO::getAssetsId, deptAssetAssetsIdDelIds));
|
||||
.in(DeptAssetsDO::getAssetsId, deptAssetAssetsIdDelIds);
|
||||
deptAssetsMapper.update(new DeptAssetsDO().setStock(0), updateOrDelWrapper);
|
||||
deptAssetsMapper.delete(updateOrDelWrapper);
|
||||
}
|
||||
if (!updateDeptAssetsList.isEmpty() || !editDeptAssetsList.isEmpty()) {
|
||||
updateDeptAssetsList.addAll(editDeptAssetsList);
|
||||
|
@ -0,0 +1,64 @@
|
||||
package cn.iocoder.yudao.module.system.service.commonlyused;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.commonlyused.CommonlyUsedDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户常用应用配置 Service 接口
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
public interface CommonlyUsedService {
|
||||
|
||||
/**
|
||||
* 创建用户常用应用配置
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createCommonlyUsed(@Valid CommonlyUsedSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新用户常用应用配置
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateCommonlyUsed(@Valid CommonlyUsedSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除用户常用应用配置
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteCommonlyUsed(Long id);
|
||||
|
||||
/**
|
||||
* 获得用户常用应用配置
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 用户常用应用配置
|
||||
*/
|
||||
CommonlyUsedDO getCommonlyUsed(Long id);
|
||||
|
||||
/**
|
||||
* 获得用户常用应用配置分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 用户常用应用配置分页
|
||||
*/
|
||||
PageResult<CommonlyUsedDO> getCommonlyUsedPage(CommonlyUsedPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得用户常用应用配置列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
CommonlyUsedVO getCommonlyUsedList();
|
||||
}
|
@ -0,0 +1,136 @@
|
||||
package cn.iocoder.yudao.module.system.service.commonlyused;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthPermissionInfoRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.commonlyused.vo.CommonlyUsedVO;
|
||||
import cn.iocoder.yudao.module.system.convert.auth.AuthConvert;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.commonlyused.CommonlyUsedDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.commonlyused.CommonlyUsedMapper;
|
||||
import cn.iocoder.yudao.module.system.service.permission.MenuService;
|
||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
|
||||
/**
|
||||
* 用户常用应用配置 Service 实现类
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class CommonlyUsedServiceImpl implements CommonlyUsedService {
|
||||
|
||||
@Resource
|
||||
private CommonlyUsedMapper commonlyUsedMapper;
|
||||
@Resource
|
||||
private PermissionService permissionService;
|
||||
@Resource
|
||||
private MenuService menuService;
|
||||
|
||||
@Override
|
||||
public Long createCommonlyUsed(CommonlyUsedSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
CommonlyUsedDO commonlyUsed = BeanUtils.toBean(createReqVO, CommonlyUsedDO.class);
|
||||
commonlyUsedMapper.insert(commonlyUsed);
|
||||
// 返回
|
||||
return commonlyUsed.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCommonlyUsed(CommonlyUsedSaveReqVO updateReqVO) {
|
||||
// 更新
|
||||
CommonlyUsedDO updateObj = BeanUtils.toBean(updateReqVO, CommonlyUsedDO.class);
|
||||
commonlyUsedMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteCommonlyUsed(Long id) {
|
||||
// 删除
|
||||
commonlyUsedMapper.deleteById(id);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CommonlyUsedDO getCommonlyUsed(Long id) {
|
||||
return commonlyUsedMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<CommonlyUsedDO> getCommonlyUsedPage(CommonlyUsedPageReqVO pageReqVO) {
|
||||
|
||||
return commonlyUsedMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonlyUsedVO getCommonlyUsedList() {
|
||||
Long userId = SecurityFrameworkUtils.getLoginUserId();
|
||||
CommonlyUsedVO vo = new CommonlyUsedVO();
|
||||
// -- 搜索我的常用
|
||||
List<CommonlyUsedDO> list = commonlyUsedMapper.selectList(new LambdaQueryWrapper<CommonlyUsedDO>()
|
||||
.eq(CommonlyUsedDO::getDeleted, 0).eq(CommonlyUsedDO::getUserId, userId).orderByAsc(CommonlyUsedDO::getSort));
|
||||
Map<Long, CommonlyUsedDO> map = list.stream().collect(Collectors.toMap(CommonlyUsedDO::getId, a -> a));
|
||||
List<CommonlyUsedRespVO> commonlyUsedRespVOS = new ArrayList<>();
|
||||
// -- 获取菜单列表
|
||||
List<MenuDO> menuList = new ArrayList<>();
|
||||
Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId());
|
||||
if (CollectionUtil.isNotEmpty(roleIds)) {
|
||||
Set<Long> menuIds = permissionService.getRoleMenuListByRoleId(roleIds);
|
||||
if (CollectionUtil.isNotEmpty(menuIds)) {
|
||||
menuList = menuService.getMenuList(menuIds);
|
||||
menuList.removeIf(menu -> !CommonStatusEnum.ENABLE.getStatus().equals(menu.getStatus()));
|
||||
}
|
||||
}
|
||||
List<String> menuIds = new ArrayList<>();
|
||||
List<String> processIds = new ArrayList<>();
|
||||
if (!list.isEmpty()) {
|
||||
// 区分出菜单和流程
|
||||
List<CommonlyUsedDO> myProcessList = list.stream().filter(a -> a.getType() == 1).collect(Collectors.toList());
|
||||
List<CommonlyUsedDO> myMenuList = list.stream().filter(a -> a.getType() == 2).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(myProcessList)) {
|
||||
processIds = myProcessList.stream().map(CommonlyUsedDO::getObjectId).collect(Collectors.toList());
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(myMenuList)) {
|
||||
menuIds = myMenuList.stream().map(CommonlyUsedDO::getObjectId).collect(Collectors.toList());
|
||||
}
|
||||
// -- 将菜单列表转树形
|
||||
}
|
||||
for (MenuDO menuDO : menuList) {
|
||||
menuDO.setSelectedFlag(false);
|
||||
if (menuIds.contains(String.valueOf(menuDO.getId()))) {
|
||||
menuDO.setSelectedFlag(true);
|
||||
CommonlyUsedRespVO commonlyUsedRespVO = BeanUtils.toBean(menuDO, CommonlyUsedRespVO.class);
|
||||
commonlyUsedRespVO.setImg(menuDO.getIcon());
|
||||
commonlyUsedRespVO.setName(menuDO.getName());
|
||||
commonlyUsedRespVOS.add(commonlyUsedRespVO);
|
||||
}
|
||||
}
|
||||
// -- 获取流程列表
|
||||
|
||||
|
||||
List<AuthPermissionInfoRespVO.MenuVO> menus = AuthConvert.INSTANCE.buildMenuTree(menuList);
|
||||
vo.setMenus(menus);
|
||||
vo.setCommonlyUsedRespVOS(commonlyUsedRespVOS);
|
||||
|
||||
// TODO: 2024/9/5 还差流程的实现
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
<?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="cn.iocoder.yudao.module.system.dal.mysql.commonlyused.CommonlyUsedMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
@ -34,9 +34,9 @@ public class FactoryForkliftRespVO {
|
||||
@ExcelProperty("叉车id")
|
||||
private Long forkliftId;
|
||||
//
|
||||
// @Schema(description = "部门id", example = "23631")
|
||||
// @ExcelProperty("部门id")
|
||||
// private Long deptId;
|
||||
@Schema(description = "部门id", example = "23631")
|
||||
@ExcelProperty("部门id")
|
||||
private Long deptId;
|
||||
//
|
||||
// @Schema(description = "部门名称", example = "23631")
|
||||
// @ExcelProperty("部门名称")
|
||||
|
@ -75,8 +75,8 @@ public class FactoryKilnController {
|
||||
@Operation(summary = "获得工厂窑炉分页")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-kiln:query')")
|
||||
public CommonResult<PageResult<FactoryKilnRespVO>> getFactoryKilnPage(@Valid FactoryKilnPageReqVO pageReqVO) {
|
||||
PageResult<FactoryKilnDO> pageResult = factoryKilnService.getFactoryKilnPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, FactoryKilnRespVO.class));
|
||||
PageResult<FactoryKilnRespVO> pageResult = factoryKilnService.getFactoryKilnPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@ -86,10 +86,10 @@ public class FactoryKilnController {
|
||||
public void exportFactoryKilnExcel(@Valid FactoryKilnPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<FactoryKilnDO> list = factoryKilnService.getFactoryKilnPage(pageReqVO).getList();
|
||||
List<FactoryKilnRespVO> list = factoryKilnService.getFactoryKilnPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "工厂窑炉.xls", "数据", FactoryKilnRespVO.class,
|
||||
BeanUtils.toBean(list, FactoryKilnRespVO.class));
|
||||
list);
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
@ -22,7 +24,7 @@ public class FactoryKilnPageReqVO extends PageParam {
|
||||
private String name;
|
||||
|
||||
@Schema(description = "产能")
|
||||
private Integer capacity;
|
||||
private BigDecimal capacity;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
|
@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@ -14,20 +16,22 @@ import com.alibaba.excel.annotation.*;
|
||||
public class FactoryKilnRespVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1055")
|
||||
@ExcelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25583")
|
||||
@ExcelProperty("工厂id")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "25583")
|
||||
@ExcelProperty("工厂名称")
|
||||
private String factoryName;
|
||||
|
||||
@Schema(description = "名称", example = "赵六")
|
||||
@ExcelProperty("名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "产能")
|
||||
@ExcelProperty("产能")
|
||||
private Integer capacity;
|
||||
private BigDecimal capacity;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
|
@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
@ -21,6 +23,6 @@ public class FactoryKilnSaveReqVO {
|
||||
private String name;
|
||||
|
||||
@Schema(description = "产能")
|
||||
private Integer capacity;
|
||||
private BigDecimal capacity;
|
||||
|
||||
}
|
@ -1,33 +1,31 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline;
|
||||
|
||||
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.smartfactory.controller.admin.factorypackingline.vo.*;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLinePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLineRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLineSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorypackingline.FactoryPackingLineDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.factorypackingline.FactoryPackingLineService;
|
||||
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
|
||||
@ -75,8 +73,8 @@ public class FactoryPackingLineController {
|
||||
@Operation(summary = "获得打包线配置分页")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-packing-line:query')")
|
||||
public CommonResult<PageResult<FactoryPackingLineRespVO>> getFactoryPackingLinePage(@Valid FactoryPackingLinePageReqVO pageReqVO) {
|
||||
PageResult<FactoryPackingLineDO> pageResult = factoryPackingLineService.getFactoryPackingLinePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, FactoryPackingLineRespVO.class));
|
||||
PageResult<FactoryPackingLineRespVO> pageResult = factoryPackingLineService.getFactoryPackingLinePage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@ -86,10 +84,9 @@ public class FactoryPackingLineController {
|
||||
public void exportFactoryPackingLineExcel(@Valid FactoryPackingLinePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<FactoryPackingLineDO> list = factoryPackingLineService.getFactoryPackingLinePage(pageReqVO).getList();
|
||||
List<FactoryPackingLineRespVO> list = factoryPackingLineService.getFactoryPackingLinePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "打包线配置.xls", "数据", FactoryPackingLineRespVO.class,
|
||||
BeanUtils.toBean(list, FactoryPackingLineRespVO.class));
|
||||
ExcelUtils.write(response, "打包线配置.xls", "数据", FactoryPackingLineRespVO.class, list);
|
||||
}
|
||||
|
||||
}
|
@ -1,12 +1,11 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 打包线配置 Response VO")
|
||||
@Data
|
||||
@ -21,6 +20,10 @@ public class FactoryPackingLineRespVO {
|
||||
@ExcelProperty("工厂id")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "24676")
|
||||
@ExcelProperty("工厂名称")
|
||||
private String factoryName;
|
||||
|
||||
@Schema(description = "打包线名称", example = "王五")
|
||||
@ExcelProperty("打包线名称")
|
||||
private String name;
|
||||
@ -33,6 +36,10 @@ public class FactoryPackingLineRespVO {
|
||||
@ExcelProperty("窑炉id")
|
||||
private Long kilnId;
|
||||
|
||||
@Schema(description = "窑炉名称", example = "15240")
|
||||
@ExcelProperty("窑炉名称")
|
||||
private String kilnName;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
@ -43,6 +43,15 @@ public class FactoryScreenDataController {
|
||||
return success(provincesDataList);
|
||||
}
|
||||
|
||||
@GetMapping("/v2/getStaffData")
|
||||
@Operation(summary = "大屏员工信息数据")
|
||||
@OperateLog(enable = false) // 避免 Post 请求被记录操作日志
|
||||
@PermitAll
|
||||
public CommonResult<StaffDataRespVO> getStaffDataV2(@RequestParam(required = false) Long factoryId) {
|
||||
StaffDataRespVO staffDataRespVO = screenDataService.getStaffDataV2(factoryId);
|
||||
return success(staffDataRespVO);
|
||||
}
|
||||
|
||||
@GetMapping("/getStaffData")
|
||||
@Operation(summary = "大屏员工信息数据")
|
||||
@OperateLog(enable = false) // 避免 Post 请求被记录操作日志
|
||||
|
@ -1,6 +1,8 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorykiln;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
@ -38,6 +40,6 @@ public class FactoryKilnDO extends BaseDO {
|
||||
/**
|
||||
* 产能
|
||||
*/
|
||||
private Integer capacity;
|
||||
private BigDecimal capacity;
|
||||
|
||||
}
|
@ -1,13 +1,15 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.factorykiln;
|
||||
|
||||
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.smartfactory.controller.admin.factorykiln.vo.FactoryKilnPageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo.FactoryKilnRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorykiln.FactoryKilnDO;
|
||||
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.smartfactory.controller.admin.factorykiln.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 工厂窑炉 Mapper
|
||||
@ -26,4 +28,12 @@ public interface FactoryKilnMapper extends BaseMapperX<FactoryKilnDO> {
|
||||
.orderByDesc(FactoryKilnDO::getId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param vo
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
IPage<FactoryKilnRespVO> getFactoryKilnPage(@Param("vo") FactoryKilnPageReqVO vo, @Param("page") Page<Object> page);
|
||||
}
|
@ -1,13 +1,15 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.factorypackingline;
|
||||
|
||||
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.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLinePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLineRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorypackingline.FactoryPackingLineDO;
|
||||
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.smartfactory.controller.admin.factorypackingline.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 打包线配置 Mapper
|
||||
@ -27,4 +29,12 @@ public interface FactoryPackingLineMapper extends BaseMapperX<FactoryPackingLine
|
||||
.orderByDesc(FactoryPackingLineDO::getId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表
|
||||
*
|
||||
* @param vo
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
IPage<FactoryPackingLineRespVO> getFactoryPackingLinePage(@Param("vo") FactoryPackingLinePageReqVO vo, @Param("page") Page<Object> page);
|
||||
}
|
@ -37,4 +37,11 @@ public interface StaffMapper extends BaseMapperX<StaffDO> {
|
||||
* @return
|
||||
*/
|
||||
List<StaffDO> getStaffData(@Param("factoryId") Long factoryId);
|
||||
|
||||
/**
|
||||
* 获取员工信息
|
||||
* @param factoryId
|
||||
* @return
|
||||
*/
|
||||
List<StaffDO> getStaffDataV2(@Param("factoryId") Long factoryId);
|
||||
}
|
@ -50,6 +50,6 @@ public interface FactoryKilnService {
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 工厂窑炉分页
|
||||
*/
|
||||
PageResult<FactoryKilnDO> getFactoryKilnPage(FactoryKilnPageReqVO pageReqVO);
|
||||
PageResult<FactoryKilnRespVO> getFactoryKilnPage(FactoryKilnPageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -1,11 +1,15 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.factorykiln;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo.FactoryKilnPageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo.FactoryKilnRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo.FactoryKilnSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorykiln.FactoryKilnDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.factorykiln.FactoryKilnMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -51,8 +55,9 @@ public class FactoryKilnServiceImpl implements FactoryKilnService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<FactoryKilnDO> getFactoryKilnPage(FactoryKilnPageReqVO pageReqVO) {
|
||||
return factoryKilnMapper.selectPage(pageReqVO);
|
||||
public PageResult<FactoryKilnRespVO> getFactoryKilnPage(FactoryKilnPageReqVO pageReqVO) {
|
||||
IPage<FactoryKilnRespVO> pageResult = factoryKilnMapper.getFactoryKilnPage(pageReqVO,MyBatisUtils.buildPage(pageReqVO));
|
||||
return new PageResult<>(pageResult.getRecords(), pageResult.getTotal());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -50,6 +50,6 @@ public interface FactoryPackingLineService {
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 打包线配置分页
|
||||
*/
|
||||
PageResult<FactoryPackingLineDO> getFactoryPackingLinePage(FactoryPackingLinePageReqVO pageReqVO);
|
||||
PageResult<FactoryPackingLineRespVO> getFactoryPackingLinePage(FactoryPackingLinePageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -2,10 +2,14 @@ package cn.iocoder.yudao.module.smartfactory.service.factorypackingline;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo.FactoryKilnRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLinePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLineRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLineSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factorypackingline.FactoryPackingLineDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.factorypackingline.FactoryPackingLineMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -51,8 +55,10 @@ public class FactoryPackingLineServiceImpl implements FactoryPackingLineService
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<FactoryPackingLineDO> getFactoryPackingLinePage(FactoryPackingLinePageReqVO pageReqVO) {
|
||||
return factoryPackingLineMapper.selectPage(pageReqVO);
|
||||
public PageResult<FactoryPackingLineRespVO> getFactoryPackingLinePage(FactoryPackingLinePageReqVO pageReqVO) {
|
||||
IPage<FactoryPackingLineRespVO> pageResult = factoryPackingLineMapper.getFactoryPackingLinePage(pageReqVO, MyBatisUtils.buildPage(pageReqVO));
|
||||
return new PageResult<>(pageResult.getRecords(), pageResult.getTotal());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -122,4 +122,11 @@ public interface ScreenDataService {
|
||||
* @return
|
||||
*/
|
||||
ObtainFactoryInboundAndOutboundStatusVO getObtainFactoryInboundAndOutboundStatus(Long factoryId);
|
||||
|
||||
/**
|
||||
* 查询员工数据
|
||||
* @param factoryId
|
||||
* @return
|
||||
*/
|
||||
StaffDataRespVO getStaffDataV2(Long factoryId);
|
||||
}
|
@ -420,4 +420,9 @@ public class ScreenDataServiceImpl implements ScreenDataService {
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StaffDataRespVO getStaffDataV2(Long factoryId) {
|
||||
return staffService.getStaffDataV2(factoryId);
|
||||
}
|
||||
}
|
||||
|
@ -66,4 +66,11 @@ public interface StaffService {
|
||||
* @return
|
||||
*/
|
||||
Integer getCount();
|
||||
|
||||
/**
|
||||
* 查询工厂员工信息
|
||||
* @param factoryId
|
||||
* @return
|
||||
*/
|
||||
StaffDataRespVO getStaffDataV2(Long factoryId);
|
||||
}
|
@ -75,4 +75,15 @@ public class StaffServiceImpl implements StaffService {
|
||||
return Math.toIntExact(staffMapper.selectCount(new LambdaQueryWrapperX<StaffDO>().eq(StaffDO::getStatus, 1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public StaffDataRespVO getStaffDataV2(Long factoryId) {
|
||||
StaffDataRespVO vo = new StaffDataRespVO();
|
||||
List<StaffDO> dos = staffMapper.getStaffDataV2(factoryId);
|
||||
vo.setTotal(dos.size());
|
||||
vo.setMaleTotal((int) dos.stream().filter(a -> a.getSex() == 0).count());
|
||||
vo.setFemaleTotal((int) dos.stream().filter(a -> a.getSex() == 1).count());
|
||||
vo.setStaffInfos(dos);
|
||||
return vo;
|
||||
}
|
||||
|
||||
}
|
@ -13,14 +13,39 @@
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factoryforklift.vo.FactoryForkliftRespVO">
|
||||
select a.id,
|
||||
a.assets_no as assetsNo,
|
||||
d.name as name,
|
||||
d.id AS factoryId,
|
||||
d.name as factoryName,
|
||||
c.id as forkliftId,
|
||||
b.dept_id as deptId,
|
||||
c.*
|
||||
from zc_assets as a
|
||||
left join zc_dept_assets as b on a.id = b.assets_id
|
||||
left join sf_factory_forklift as c on a.assets_no = c.assets_no
|
||||
left join sf_factory_info as d on c.factory_id = d.id
|
||||
LEFT JOIN zc_dept_assets AS b ON a.id = b.assets_id
|
||||
LEFT JOIN system_dept AS dept ON dept.id = b.dept_id
|
||||
LEFT JOIN sf_factory_forklift AS c ON a.assets_no = c.assets_no
|
||||
LEFT JOIN sf_factory_info AS d ON dept.factory_id = d.id
|
||||
<where>
|
||||
b.deleted = 0 AND b.stock > 0
|
||||
<if test="vo.assetsNo != null and vo.assetsNo != ''">
|
||||
and a.assets_no = #{vo.assetsNo}
|
||||
</if>
|
||||
<if test="vo.factoryId != null">
|
||||
and c.factory_id = #{vo.factoryId}
|
||||
</if>
|
||||
<if test="vo.useType != null">
|
||||
and c.use_type = #{vo.useType}
|
||||
</if>
|
||||
<if test="vo.name != null and vo.name != ''">
|
||||
and c.name like concat('%', #{vo.name}, '%')
|
||||
</if>
|
||||
<if test="vo.modelNo != null and vo.modelNo != ''">
|
||||
and c.model_no like concat('%', #{vo.modelNo}, '%')
|
||||
</if>
|
||||
<if test="vo.manufacturer != null and vo.manufacturer != ''">
|
||||
and c.manufacturer like concat('%', #{vo.manufacturer}, '%')
|
||||
</if>
|
||||
<if test="vo.licensePlate != null and vo.licensePlate != ''">
|
||||
and c.license_plate like concat('%', #{vo.licensePlate}, '%')
|
||||
</if>
|
||||
<if test="vo.typeIds != null and vo.typeIds.size() > 0">
|
||||
and a.type_id in
|
||||
<foreach collection="vo.typeIds" open="(" item="typeId" separator="," close=")">
|
||||
|
@ -9,4 +9,22 @@
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="getFactoryKilnPage"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorykiln.vo.FactoryKilnRespVO">
|
||||
select
|
||||
a.*,
|
||||
b.name as factoryName
|
||||
from sf_factory_kiln as a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
<if test="vo.factoryId != null">
|
||||
and a.factory_id = #{vo.factoryId}
|
||||
</if>
|
||||
<if test="vo.name != null and vo.name != ''">
|
||||
and a.name like concat('%', #{vo.name}, '%')
|
||||
</if>
|
||||
</where>
|
||||
order by a.capacity desc
|
||||
</select>
|
||||
</mapper>
|
@ -9,4 +9,28 @@
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="getFactoryPackingLinePage"
|
||||
resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorypackingline.vo.FactoryPackingLineRespVO">
|
||||
select a.*,
|
||||
b.name as factoryName,
|
||||
c.name as kilnName
|
||||
from sf_factory_packing_line as a
|
||||
left join sf_factory_info as b on a.factory_id = b.id
|
||||
left join sf_factory_kiln as c on a.kiln_id = c.id
|
||||
<where>
|
||||
a.deleted = 0
|
||||
<if test="vo.factoryId != null">
|
||||
and a.factory_id = #{vo.factoryId}
|
||||
</if>
|
||||
<if test="vo.kilnId != null">
|
||||
and a.kiln_id = #{vo.kilnId}
|
||||
</if>
|
||||
<if test="vo.type != null">
|
||||
and a.type = #{vo.type}
|
||||
</if>
|
||||
<if test="vo.name != null and vo.name != ''">
|
||||
and a.name like concat('%', #{vo.name}, '%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
@ -25,4 +25,31 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getStaffDataV2" resultType="cn.iocoder.yudao.module.smartfactory.dal.dataobject.staff.StaffDO">
|
||||
SELECT
|
||||
a.id as id,
|
||||
a.id as staffNo,
|
||||
a.nickname as nickName,
|
||||
a.age as age,
|
||||
a.sex as sex,
|
||||
ext.work_type as workType,
|
||||
b.factory_id as factoryId,
|
||||
a.idcard as idCard,
|
||||
a.status as status,
|
||||
d.label as postName
|
||||
FROM
|
||||
system_users AS a
|
||||
LEFT JOIN system_users_ext AS ext ON a.id = ext.user_id
|
||||
LEFT JOIN system_dept AS b ON a.dept_id = b.id
|
||||
LEFT JOIN sf_factory_info AS c ON b.factory_id = c.id
|
||||
left join system_dict_data as d on ext.work_type = d.value
|
||||
<where>
|
||||
a.user_type = 2
|
||||
and a.deleted = 0
|
||||
and d.dict_type = 'user_work_type'
|
||||
<if test="factoryId != null">
|
||||
and b.factory_id = #{factoryId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user