Compare commits
9 Commits
c9b85e563d
...
test
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56eb717371 | ||
|
|
b93a5741a1 | ||
| 0f288f65a4 | |||
|
|
9244510903 | ||
|
|
4fa4371f0c | ||
| f09bb8f904 | |||
|
|
d33c3b5803 | ||
|
|
6a2b9048b5 | ||
|
|
809088d9b3 |
@@ -24,4 +24,6 @@ public interface QmsPermissionConstant {
|
||||
String SAMPLE_WAREHOUSE_ADMIN = "sample_warehouse_admin"; //样品库管理员
|
||||
|
||||
String DEVICE_MANAGER = "qms_device_manager"; //设备管理员
|
||||
|
||||
String ADMIN_ROLE = "ytjyAdmin"; // 超级管理员 标识
|
||||
}
|
||||
|
||||
@@ -61,6 +61,9 @@ public class ConfigWarehouseLocationPageReqVO extends PageParam {
|
||||
@Schema(description = "查询时进行权限过滤")
|
||||
private String permissionFilterFlag;
|
||||
|
||||
@Schema(description = "是否为管理员-可查看全部数据")
|
||||
private Boolean adminFlag;
|
||||
|
||||
@Schema(description = "查询用-权限角色")
|
||||
private Set<Long> roleIds;
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 存放位置 Mapper
|
||||
@@ -29,9 +30,7 @@ public interface ConfigWarehouseLocationMapper extends BaseMapperX<ConfigWarehou
|
||||
|
||||
MPJLambdaWrapperX<ConfigWarehouseLocationDO> wrapper = new MPJLambdaWrapperX<>();
|
||||
//仓库
|
||||
wrapper.leftJoin(ConfigWarehouseLocationParDO.class, ConfigWarehouseLocationParDO::getId, ConfigWarehouseLocationDO::getParentId)
|
||||
// 权限
|
||||
.leftJoin(ConfigPermissionDO.class, ConfigPermissionDO::getSourceId, ConfigWarehouseLocationDO::getId);
|
||||
wrapper.leftJoin(ConfigWarehouseLocationParDO.class, ConfigWarehouseLocationParDO::getId, ConfigWarehouseLocationDO::getParentId);
|
||||
wrapper.selectAll(ConfigWarehouseLocationDO.class)
|
||||
.selectAs(ConfigWarehouseLocationParDO::getName, ConfigWarehouseLocationRespVO::getWarehouseName)
|
||||
.selectAs(ConfigWarehouseLocationParDO::getCode, ConfigWarehouseLocationRespVO::getWarehouseCode)
|
||||
@@ -48,12 +47,19 @@ public interface ConfigWarehouseLocationMapper extends BaseMapperX<ConfigWarehou
|
||||
.eqIfPresent(ConfigWarehouseLocationDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
|
||||
.betweenIfPresent(ConfigWarehouseLocationDO::getCreateTime, reqVO.getCreateTime())
|
||||
.eqIfPresent(ConfigWarehouseLocationDO::getRemark, reqVO.getRemark())
|
||||
// 角色权限
|
||||
.and(CollUtil.isNotEmpty(reqVO.getRoleIds()), wrapper1 ->
|
||||
wrapper1.in(ConfigPermissionDO::getTargetId, reqVO.getRoleIds())
|
||||
.or()
|
||||
.eqIfExists(ConfigWarehouseLocationDO::getCreator, SecurityFrameworkUtils.getLoginUserId()))
|
||||
.orderByDesc(ConfigWarehouseLocationDO::getSortNo);
|
||||
;
|
||||
Boolean adminFlag = reqVO.getAdminFlag();
|
||||
// 角色权限 - 使用 exists 子查询
|
||||
if (adminFlag == null || !adminFlag && CollUtil.isNotEmpty(reqVO.getRoleIds())) {
|
||||
String roleIdsStr = reqVO.getRoleIds().stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.joining(","));
|
||||
wrapper.and(wrapper1 ->
|
||||
wrapper1.exists("SELECT 1 FROM t_cfg_perm WHERE t_cfg_perm.SRC_ID = t.ID AND t_cfg_perm.deleted = 0 AND t_cfg_perm.TGT_ID IN (" + roleIdsStr + ")")
|
||||
);
|
||||
}
|
||||
|
||||
wrapper.orderByDesc(ConfigWarehouseLocationDO::getSortNo);
|
||||
|
||||
return selectJoinPage(reqVO, ConfigWarehouseLocationRespVO.class, wrapper);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zt.plat.module.qms.business.config.service;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionSaveReqVO;
|
||||
@@ -12,6 +13,7 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocat
|
||||
import com.zt.plat.module.qms.enums.QmsPermissionConstant;
|
||||
import com.zt.plat.module.qms.enums.QmsWarehouseLocationConstant;
|
||||
import com.zt.plat.module.system.api.permission.PermissionApi;
|
||||
import com.zt.plat.module.system.api.permission.RoleApi;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -45,6 +47,8 @@ public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocati
|
||||
|
||||
@Autowired
|
||||
private PermissionApi permissionApi;
|
||||
@Autowired
|
||||
private PermissionCommonApi permissionCommonApi;
|
||||
|
||||
@Override
|
||||
public ConfigWarehouseLocationRespVO save(ConfigWarehouseLocationSaveReqVO reqVo) {
|
||||
@@ -182,6 +186,8 @@ public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocati
|
||||
// 获取当前用户角色
|
||||
CommonResult<Set<Long>> userRoleIds = permissionApi.getUserRoleIdListByUserId(SecurityFrameworkUtils.getLoginUserId());
|
||||
pageReqVO.setRoleIds(userRoleIds.getData());
|
||||
CommonResult<Boolean> hasAnyRoles = permissionCommonApi.hasAnyRoles(SecurityFrameworkUtils.getLoginUserId(), QmsPermissionConstant.ADMIN_ROLE);
|
||||
pageReqVO.setAdminFlag(hasAnyRoles.getData());
|
||||
return configWarehouseLocationMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
||||
@@ -83,4 +83,13 @@ public class DataOpinionRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
//===========扩展字段
|
||||
|
||||
@Schema(description = "审批时间年月日")
|
||||
@ExcelProperty("审批时间年月日")
|
||||
private String opinionTimeYYYYMMDD;
|
||||
|
||||
@Schema(description = "base64签名图片")
|
||||
private String signatureIdBase64;
|
||||
}
|
||||
@@ -28,6 +28,8 @@ public interface DataOpinionService {
|
||||
|
||||
List<DataOpinionDO> getListByFlowInsId(String flowInsId);
|
||||
|
||||
JSONObject assembleOpinion(Long busId);
|
||||
|
||||
/**
|
||||
* 创建审批意见
|
||||
*
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.zt.plat.module.qms.common.data.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@@ -20,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
|
||||
import com.zt.plat.module.qms.common.data.dal.dataobject.DataOpinionDO;
|
||||
@@ -105,6 +107,30 @@ public class DataOpinionServiceImpl implements DataOpinionService {
|
||||
return dataOpinionMapper.selectList(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject assembleOpinion(Long busId) {
|
||||
List<DataOpinionDO> opinionList = this.getListByBusId(busId);
|
||||
List<DataOpinionRespVO> opinionRespVOList = BeanUtils.toBean(opinionList, DataOpinionRespVO.class);
|
||||
List<Long> signatureIdList = opinionRespVOList.stream().map(DataOpinionRespVO::getOpinionSignatureId).distinct().toList();
|
||||
List<ConfigUserSignatureDO> signatureList = new ArrayList<>();
|
||||
if(!signatureIdList.isEmpty())
|
||||
signatureList = configUserSignatureService.getByIdList(signatureIdList);
|
||||
JSONObject opinion = new JSONObject();
|
||||
for(DataOpinionRespVO opinionRespVO : opinionRespVOList){
|
||||
for(ConfigUserSignatureDO signature : signatureList){
|
||||
if(signature.getId().equals(opinionRespVO.getOpinionSignatureId())){
|
||||
opinionRespVO.setSignatureIdBase64(signature.getSignatureContent());
|
||||
}
|
||||
}
|
||||
if(opinionRespVO.getOpinionTime() != null){
|
||||
opinionRespVO.setOpinionTimeYYYYMMDD(DateUtil.format(opinionRespVO.getOpinionTime(), "yyyy-MM-dd"));
|
||||
}
|
||||
String nodeKey = opinionRespVO.getNodeKey();
|
||||
opinion.put(nodeKey, opinionRespVO);
|
||||
}
|
||||
return opinion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataOpinionRespVO createDataOpinion(DataOpinionSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
|
||||
@@ -13,4 +13,9 @@ public class DeviceConstant {
|
||||
public static final String FREQUENCY_TYPE_MONTH = "month";
|
||||
public static final String FREQUENCY_TYPE_DAY = "day";
|
||||
|
||||
|
||||
//期间核查目标类型
|
||||
public static final String PERIOD_CHECK_TAGET_DEVICE = "device";
|
||||
public static final String PERIOD_CHECK_TAGET_MATERIAL = "material";
|
||||
|
||||
}
|
||||
|
||||
@@ -56,7 +56,6 @@ public class DeviceCalibrationController extends AbstractFileUploadController im
|
||||
}
|
||||
|
||||
@Resource private DeviceCalibrationService deviceCalibrationService;
|
||||
@Resource private DeviceCalibrationPlanService deviceCalibrationPlanService;
|
||||
@Resource private DeviceProductService deviceProductService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@@ -65,11 +64,18 @@ public class DeviceCalibrationController extends AbstractFileUploadController im
|
||||
return success(deviceCalibrationService.createDeviceCalibration(createReqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/createByDeviceId")
|
||||
@Operation(summary = "创建设备-检定校准")
|
||||
public CommonResult<DeviceCalibrationRespVO> createByDeviceId(@RequestBody DeviceCalibrationSaveReqVO createReqVO) {
|
||||
return success(deviceCalibrationService.createByDeviceId(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新设备-检定校准")
|
||||
public CommonResult<Boolean> updateDeviceCalibration(@Valid @RequestBody DeviceCalibrationSaveReqVO updateReqVO) {
|
||||
deviceCalibrationService.updateDeviceCalibration(updateReqVO);
|
||||
return success(true);
|
||||
public CommonResult<DeviceCalibrationRespVO> updateDeviceCalibration(@Valid @RequestBody DeviceCalibrationSaveReqVO updateReqVO) {
|
||||
DeviceCalibrationDO entity = deviceCalibrationService.updateDeviceCalibration(updateReqVO);
|
||||
DeviceCalibrationRespVO vo = BeanUtils.toBean(entity, DeviceCalibrationRespVO.class);
|
||||
return success(vo);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.zt.plat.module.qms.resource.device.controller.admin;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zt.plat.module.qms.resource.device.common.DeviceConstant;
|
||||
import com.zt.plat.module.qms.resource.device.controller.vo.*;
|
||||
import com.zt.plat.module.qms.resource.device.service.DeviceProductService;
|
||||
import com.zt.plat.module.qms.resource.material.service.MaterialProductService;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -56,6 +58,7 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im
|
||||
|
||||
@Resource private DevicePeriodCheckService devicePeriodCheckService;
|
||||
@Resource private DeviceProductService deviceProductService;
|
||||
@Resource private MaterialProductService materialProductService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建设备-期间核查")
|
||||
@@ -65,9 +68,10 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新设备-期间核查")
|
||||
public CommonResult<Boolean> updateDevicePeriodCheck(@Valid @RequestBody DevicePeriodCheckSaveReqVO updateReqVO) {
|
||||
devicePeriodCheckService.updateDevicePeriodCheck(updateReqVO);
|
||||
return success(true);
|
||||
public CommonResult<DevicePeriodCheckRespVO> updateDevicePeriodCheck(@Valid @RequestBody DevicePeriodCheckSaveReqVO updateReqVO) {
|
||||
DevicePeriodCheckDO entity = devicePeriodCheckService.updateDevicePeriodCheck(updateReqVO);
|
||||
DevicePeriodCheckRespVO vo = BeanUtils.toBean(entity, DevicePeriodCheckRespVO.class);
|
||||
return success(vo);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@@ -95,11 +99,19 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im
|
||||
return success(BeanUtils.toBean(devicePeriodCheck, DevicePeriodCheckRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/getVO")
|
||||
@GetMapping("/getVoDevice")
|
||||
@Operation(summary = "获得设备-检定校准")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
public CommonResult<DevicePeriodCheckVO> getVO(@RequestParam("id") Long id) {
|
||||
DevicePeriodCheckVO vo = devicePeriodCheckService.getDevicePeriodCheckVO(id);
|
||||
public CommonResult<DevicePeriodCheckVO> getVoDevice(@RequestParam("id") Long id) {
|
||||
DevicePeriodCheckVO vo = devicePeriodCheckService.getVoDevice(id);
|
||||
return success(vo);
|
||||
}
|
||||
|
||||
@GetMapping("/getVoMaterial")
|
||||
@Operation(summary = "获得设备-检定校准")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
public CommonResult<DevicePeriodCheckVO> getVoMaterial(@RequestParam("id") Long id) {
|
||||
DevicePeriodCheckVO vo = devicePeriodCheckService.getVoMaterial(id);
|
||||
return success(vo);
|
||||
}
|
||||
|
||||
@@ -109,9 +121,9 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im
|
||||
return devicePeriodCheckService.submitApply(param);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@GetMapping("/pageDevice")
|
||||
@Operation(summary = "获得设备-期间核查分页")
|
||||
public CommonResult<PageResult<DevicePeriodCheckVO>> getDevicePeriodCheckPage(@Valid DevicePeriodCheckPageReqVO param) {
|
||||
public CommonResult<PageResult<DevicePeriodCheckVO>> pageDevice(@Valid DevicePeriodCheckPageReqVO param) {
|
||||
Page<DevicePeriodCheckPageReqVO> page = new Page<>(param.getPageNo(), param.getPageSize());
|
||||
Long productId = param.getProductId();
|
||||
if(!ObjectUtils.isEmpty(productId)){
|
||||
@@ -124,7 +136,29 @@ public class DevicePeriodCheckController extends AbstractFileUploadController im
|
||||
param.setFlowStatusList(Arrays.asList(flowStatus.split(",")));
|
||||
param.setFlowStatus("");
|
||||
}
|
||||
IPage<DevicePeriodCheckVO> pageList = devicePeriodCheckService.queryPageList(page, param);
|
||||
param.setCheckTarget(DeviceConstant.PERIOD_CHECK_TAGET_DEVICE);
|
||||
IPage<DevicePeriodCheckVO> pageList = devicePeriodCheckService.queryPageListDevice(page, param);
|
||||
PageResult<DevicePeriodCheckVO> pageResult = new PageResult<>(pageList.getRecords(), pageList.getTotal());
|
||||
return CommonResult.success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/pageMaterial")
|
||||
@Operation(summary = "获得设备-期间核查分页")
|
||||
public CommonResult<PageResult<DevicePeriodCheckVO>> pageMaterial(@Valid DevicePeriodCheckPageReqVO param) {
|
||||
Page<DevicePeriodCheckPageReqVO> page = new Page<>(param.getPageNo(), param.getPageSize());
|
||||
Long productId = param.getProductId();
|
||||
if(!ObjectUtils.isEmpty(productId)){
|
||||
List<Long> productIdList = deviceProductService.getIdListByIdPath(productId);
|
||||
param.setProductIdList(productIdList);
|
||||
param.setProductId(null);
|
||||
}
|
||||
String flowStatus = param.getFlowStatus();
|
||||
if (!ObjectUtils.isEmpty(flowStatus)) {
|
||||
param.setFlowStatusList(Arrays.asList(flowStatus.split(",")));
|
||||
param.setFlowStatus("");
|
||||
}
|
||||
param.setCheckTarget(DeviceConstant.PERIOD_CHECK_TAGET_MATERIAL);
|
||||
IPage<DevicePeriodCheckVO> pageList = devicePeriodCheckService.queryPageListMaterial(page, param);
|
||||
PageResult<DevicePeriodCheckVO> pageResult = new PageResult<>(pageList.getRecords(), pageList.getTotal());
|
||||
return CommonResult.success(pageResult);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user