From 6365012e69b76d2a7804f5a462745f09a5fa0105 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 11 十月 2025 18:23:02 +0800 Subject: [PATCH] 资产盘点接口 --- ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java | 21 ++ ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java | 13 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java | 7 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java | 3 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java | 30 +- ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java | 52 ++++++ ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java | 2 ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml | 5 ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java | 5 ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java | 6 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java | 33 ++++ ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java | 1 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java | 5 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java | 123 +++++++++++++++ ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java | 1 ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java | 43 +++++ ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java | 10 + ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java | 2 44 files changed, 383 insertions(+), 42 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java index ee19e48..9fa17e8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java @@ -1,8 +1,23 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.system.dto.asset.AddInventoryTaskDTO; +import com.ruoyi.system.query.AssertInventoryQuery; +import com.ruoyi.system.service.AssetInventoryTaskService; +import com.ruoyi.system.vo.asset.AssetInventoryTaskVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; /** * <p> @@ -12,9 +27,27 @@ * @author WuGuanFengYue * @since 2025-09-15 */ +@Slf4j +@Api(tags = {"资产盘点相关接口"}) @RestController @RequestMapping("/asset-inventory-task") +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class AssetInventoryTaskController { + private final AssetInventoryTaskService assetInventoryTaskService; + + @ApiOperation("资产盘点列表") + @PostMapping("/page") + public R<IPage<AssetInventoryTaskVO>> getInventoryTaskPage(@RequestBody AssertInventoryQuery query){ + IPage<AssetInventoryTaskVO> page = assetInventoryTaskService.getInventoryTaskPage(query); + return R.ok(page); + } + + @ApiOperation("创建盘点任务") + @PostMapping("/create") + public R<String> createInventoryTask(@RequestBody @Valid AddInventoryTaskDTO dto){ + boolean result = assetInventoryTaskService.createInventoryTask(dto); + return result ? R.ok("创建成功") : R.fail("创建失败"); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java index 38b549b..74b8fe2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java @@ -8,7 +8,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.TDept; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.system.model.OaNotifationUser; +import com.ruoyi.system.model.OaNotificationUser; import com.ruoyi.system.model.OaNotification; import com.ruoyi.system.query.NotificationListQuery; import com.ruoyi.system.service.*; @@ -63,8 +63,8 @@ List<String> notificationIds = Arrays.asList(ids.split(",")); // 删除后 将已发送的消息通知一并删除 oaNotificationService.removeBatchByIds(notificationIds); - oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotifationUser>() - .in(OaNotifationUser::getNotificationId,notificationIds)); + oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>() + .in(OaNotificationUser::getNotificationId,notificationIds)); return R.ok(); } @Log(title = "消息通知-新增消息", businessType = BusinessType.INSERT) @@ -72,28 +72,28 @@ @PostMapping(value = "/add") public R<Boolean> add( @RequestBody OaNotification dto) { oaNotificationService.save(dto); - ArrayList<OaNotifationUser> oaNotifationUsers = new ArrayList<>(); + ArrayList<OaNotificationUser> oaNotificationUsers = new ArrayList<>(); // 发送消息通知 if (dto.getType()){ // 指定人员发送 Arrays.asList(dto.getUserIds().split(",")) .forEach(userId -> { - OaNotifationUser oaNotifationUser = new OaNotifationUser(); - oaNotifationUser.setUserId(Integer.parseInt(userId)); - oaNotifationUser.setNotificationId(dto.getId()); - oaNotifationUsers.add(oaNotifationUser); + OaNotificationUser oaNotificationUser = new OaNotificationUser(); + oaNotificationUser.setUserId(Integer.parseInt(userId)); + oaNotificationUser.setNotificationId(dto.getId()); + oaNotificationUsers.add(oaNotificationUser); }); }else{ // 所有人发送 List<SysUser> sysUsers = sysUserService.selectAllList(); sysUsers.forEach(sysUser -> { - OaNotifationUser oaNotifationUser = new OaNotifationUser(); - oaNotifationUser.setUserId(sysUser.getUserId().intValue()); - oaNotifationUser.setNotificationId(dto.getId()); - oaNotifationUsers.add(oaNotifationUser); + OaNotificationUser oaNotificationUser = new OaNotificationUser(); + oaNotificationUser.setUserId(sysUser.getUserId().intValue()); + oaNotificationUser.setNotificationId(dto.getId()); + oaNotificationUsers.add(oaNotificationUser); }); } - oaNotifationUserService.saveBatch(oaNotifationUsers); + oaNotifationUserService.saveBatch(oaNotificationUsers); return R.ok(); } @ApiOperation(value = "消息通知详情") @@ -105,7 +105,7 @@ StringBuilder deptName = new StringBuilder(); List<TDept> tDepts = deptService.list(); List<SysUser> sysUsers = sysUserService.selectAllList(); - List<OaNotifationUser> notifationUsers = oaNotifationUserService.lambdaQuery().eq(OaNotifationUser::getNotificationId, id) + List<OaNotificationUser> notifationUsers = oaNotifationUserService.lambdaQuery().eq(OaNotificationUser::getNotificationId, id) .list(); Map<Integer, String> deptMap = tDepts.stream().collect(Collectors.toMap(TDept::getId, TDept::getDeptName)); Map<Long, SysUser> userMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, e->e)); @@ -149,7 +149,7 @@ } List<NotificationUserDetailVO> notificationUserDetailVOS = new ArrayList<>(); - for (OaNotifationUser notifationUser : notifationUsers) { + for (OaNotificationUser notifationUser : notifationUsers) { NotificationUserDetailVO notificationUserDetailVO = new NotificationUserDetailVO(); BeanUtils.copyProperties(notifationUser, notificationUserDetailVO); SysUser sysUser = userMap.get(notifationUser.getUserId().longValue()); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java index 66571e5..f3fd8a7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java @@ -1,12 +1,15 @@ package com.ruoyi.system.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; /** @@ -27,7 +30,7 @@ @ApiModelProperty(value = "维护资产类型ID", required = true) @NotBlank(message = "维护资产类型ID不能为空") - private String assetTypeId; + private Integer assetTypeId; @ApiModelProperty(value = "当前维修状态:0-维修中,1-无需维修,2-维修完成", required = true) @NotNull(message = "维修状态不能为空") @@ -50,6 +53,11 @@ @ApiModelProperty(value = "关联报修单号(非必填,保存时需要校验报修单是否存在)") private String repairRequestNo; + @ApiModelProperty("开始维修时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime repairTime; + @ApiModelProperty(value = "维修资产ID列表", required = true) @NotNull(message = "维修资产ID列表不能为空") private List<Integer> assetMainIds; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java new file mode 100644 index 0000000..3103645 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java @@ -0,0 +1,43 @@ +package com.ruoyi.system.dto.asset; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.time.LocalDate; +import java.util.List; + +/** + * 新增盘点任务DTO + * + * @author WuGuanFengYue + * @since 2025-09-15 + */ +@Data +@ApiModel("新增盘点任务DTO") +public class AddInventoryTaskDTO { + + @NotBlank(message = "任务名称不能为空") + @ApiModelProperty("盘点任务名称") + private String taskName; + + @NotNull(message = "所属部门不能为空") + @ApiModelProperty("所属部门ID") + private Integer deptId; + + @ApiModelProperty("备注") + private String remarks; + + @NotNull(message = "盘点日期不能为空") + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty("盘点日期") + private LocalDate executeDate; + + @NotEmpty(message = "盘点资产列表不能为空") + @ApiModelProperty("盘点资产ID列表") + private List<Integer> assetMainIds; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java index 41849ea..23e5add 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.ruoyi.system.model.OaNotifationUser; +import com.ruoyi.system.model.OaNotificationUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** @@ -11,6 +11,6 @@ * @author WuGuanFengYue * @since 2025-09-15 */ -public interface OaNotifationUserMapper extends BaseMapper<OaNotifationUser> { +public interface OaNotifationUserMapper extends BaseMapper<OaNotificationUser> { } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java index 96f3d7b..93cfc08 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -82,6 +83,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java index 402e0f8..a3f0e36 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -67,6 +68,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java index 8bee2d0..d208089 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -84,6 +85,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java index 6b02140..79fe7fe 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -73,6 +74,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java index 4eddb76..78776da 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -66,6 +67,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java index caeb443..9384d32 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -87,6 +88,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java index 2df7126..2512fe2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -66,5 +67,6 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java index b78e3c2..5ce2a1d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -51,7 +52,7 @@ @ApiModelProperty(value = "盘点状态 0-未开始,1-进行中,2-已完成") @TableField("status") - private Boolean status; + private Integer status; @ApiModelProperty(value = "备注") @TableField("remarks") @@ -75,6 +76,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java index 30d8629..62c122f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java @@ -31,6 +31,9 @@ @TableId(value = "id", type = IdType.AUTO) private Integer id; + @ApiModelProperty(value = "盘点任务ID") + private Integer inventoryTaskId; + @ApiModelProperty(value = "资产主表ID,关联asset_main表") @TableField("asset_main_id") private Integer assetMainId; @@ -41,7 +44,7 @@ @ApiModelProperty(value = "盘点结果 0-未盘点,1-正常,2-异常") @TableField("result_status") - private Boolean resultStatus; + private Integer resultStatus; @ApiModelProperty(value = "实存部门ID") @TableField("real_dept_id") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java index 2d7def2..0c1665f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -179,6 +180,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; @ApiModelProperty(value = "使用部门/位置") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java index 5da51a5..f01c246 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -120,6 +121,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java index ce2dca4..5a85874 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -55,7 +56,7 @@ @ApiModelProperty(value = "维修资产类型ID") @TableField("asset_type_id") - private String assetTypeId; + private Integer assetTypeId; @ApiModelProperty(value = "维修备注") @TableField("repair_remarks") @@ -91,6 +92,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java index 5cf751a..257f55e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -94,6 +95,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java index 24fb685..32e2538 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -66,6 +67,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Integer disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java index 0c3bea3..e8cd977 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -83,6 +84,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java index d8c3d88..fceb1bd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -87,6 +88,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java index 2b954d4..a57a439 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -75,6 +76,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java index ed02218..b2abced 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -66,6 +67,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java index 558bafa..b8ad7cd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -101,6 +102,7 @@ private String updateBy; @ApiModelProperty(value = "是否删除 0-否,1-是") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java index 73330e7..aa2b785 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -74,6 +75,7 @@ private String updateBy; @ApiModelProperty(value = "是否删除 0-否,1-是") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java index dd7282c..ca30f30 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -95,6 +96,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Integer disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java index 67ef1c0..347bd3b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -54,6 +55,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java index 414940e..e9ac6ee 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -82,6 +83,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; @ApiModelProperty(value = "审批人名称") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java index 01bee13..98c2390 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java @@ -3,8 +3,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; -import com.sun.org.apache.xpath.internal.operations.Bool; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -75,6 +75,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Integer disabled; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java index f5db75a..692d2a9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -62,6 +63,7 @@ @ApiModelProperty(value = "是否删除 0-否,1-是") @TableField("disabled") + @TableLogic private Boolean disabled; @ApiModelProperty(value = "通知部门ids 逗号拼接") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotifationUser.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java similarity index 85% rename from ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotifationUser.java rename to ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java index 98d1977..689d4af 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotifationUser.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java @@ -21,9 +21,9 @@ */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("oa_notifation_user") -@ApiModel(value="OaNotifationUser对象", description="通知用户关联表") -public class OaNotifationUser implements Serializable { +@TableName("oa_notification_user") +@ApiModel(value="OaNotificationUser对象", description="通知用户关联表") +public class OaNotificationUser implements Serializable { private static final long serialVersionUID = 1L; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java new file mode 100644 index 0000000..143582c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.query; + +import com.ruoyi.common.core.domain.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author mitao + * @date 2025/10/11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("资产盘点分页列表query") +public class AssertInventoryQuery extends BasePage { + private static final long serialVersionUID = 5972537443752522968L; + + @ApiModelProperty("盘点任务名称") + private String taskName; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java index 0393950..7e8ceae 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java @@ -1,7 +1,11 @@ package com.ruoyi.system.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.dto.asset.AddInventoryTaskDTO; import com.ruoyi.system.model.AssetInventoryTask; +import com.ruoyi.system.query.AssertInventoryQuery; +import com.ruoyi.system.vo.asset.AssetInventoryTaskVO; /** * <p> @@ -13,4 +17,13 @@ */ public interface AssetInventoryTaskService extends IService<AssetInventoryTask> { + IPage<AssetInventoryTaskVO> getInventoryTaskPage(AssertInventoryQuery query); + + /** + * 创建盘点任务 + * + * @param dto 新增盘点任务DTO + * @return 创建结果 + */ + boolean createInventoryTask(AddInventoryTaskDTO dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java index aade554..1b4fa4d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java @@ -1,7 +1,7 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.system.model.OaNotifationUser; +import com.ruoyi.system.model.OaNotificationUser; /** * <p> @@ -11,6 +11,6 @@ * @author WuGuanFengYue * @since 2025-09-15 */ -public interface OaNotifationUserService extends IService<OaNotifationUser> { +public interface OaNotifationUserService extends IService<OaNotificationUser> { } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java index d5b7d35..a74e2a6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java @@ -1,10 +1,34 @@ package com.ruoyi.system.service.impl; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.entity.TDept; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.dto.asset.AddInventoryTaskDTO; import com.ruoyi.system.mapper.AssetInventoryTaskMapper; +import com.ruoyi.system.mapper.TDeptMapper; import com.ruoyi.system.model.AssetInventoryTask; +import com.ruoyi.system.model.AssetInventoryTaskItem; +import com.ruoyi.system.query.AssertInventoryQuery; +import com.ruoyi.system.service.AssetInventoryTaskItemService; import com.ruoyi.system.service.AssetInventoryTaskService; +import com.ruoyi.system.vo.asset.AssetInventoryTaskVO; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * <p> @@ -15,6 +39,105 @@ * @since 2025-09-15 */ @Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class AssetInventoryTaskServiceImpl extends ServiceImpl<AssetInventoryTaskMapper, AssetInventoryTask> implements AssetInventoryTaskService { + private final TDeptMapper tDeptMapper; + + private final AssetInventoryTaskItemService assetInventoryTaskItemService; + + @Override + public IPage<AssetInventoryTaskVO> getInventoryTaskPage(AssertInventoryQuery query) { + // 1. 构建Lambda查询条件 + LambdaQueryWrapper<AssetInventoryTask> wrapper = new LambdaQueryWrapper<>(); + wrapper.like(StringUtils.isNotBlank(query.getTaskName()), + AssetInventoryTask::getTaskName, query.getTaskName()) + .eq(AssetInventoryTask::getDisabled, false) + .orderByDesc(AssetInventoryTask::getCreateTime); + + // 2. 构建分页对象 + Page<AssetInventoryTask> page = new Page<>(query.getPageNum(), query.getPageSize()); + + // 3. 执行分页查询 + IPage<AssetInventoryTask> taskPage = this.page(page, wrapper); + + // 4. 收集部门ID并去重 + List<Integer> deptIds = taskPage.getRecords().stream() + .map(AssetInventoryTask::getDeptId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + + // 5. 批量查询部门信息 + List<TDept> depts = deptIds.isEmpty() ? + Collections.emptyList() : + tDeptMapper.selectBatchIds(deptIds); + + // 6. 构建部门ID->名称的映射Map + Map<Integer, String> deptNameMap = depts.stream() + .collect(Collectors.toMap(TDept::getId, TDept::getDeptName)); + + // 7. 使用BeanUtil.copyToList转换VO并填充部门名称 + List<AssetInventoryTaskVO> voList = BeanUtil.copyToList(taskPage.getRecords(), AssetInventoryTaskVO.class); + voList.forEach(vo -> { + if (vo.getDeptId() != null) { + vo.setDeptName(deptNameMap.get(vo.getDeptId())); + } + }); + + // 8. 构建返回的分页结果 + IPage<AssetInventoryTaskVO> resultPage = new Page<>(taskPage.getCurrent(), taskPage.getSize(), taskPage.getTotal()); + resultPage.setRecords(voList); + + return resultPage; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean createInventoryTask(AddInventoryTaskDTO dto) { + // 1. DTO转Entity + AssetInventoryTask task = new AssetInventoryTask(); + BeanUtil.copyProperties(dto, task); + + // 2. 设置默认值 + SysUser currentUser = SecurityUtils.getLoginUser().getUser(); + task.setUserId(Math.toIntExact(currentUser.getUserId())); + task.setStatus(0); // 未开始状态 + task.setCreateTime(LocalDateTime.now()); + task.setCreateBy(currentUser.getUserName()); + task.setDisabled(false); + + // 3. 保存主任务 + boolean saved = this.save(task); + if (!saved) { + throw new RuntimeException("保存盘点任务失败"); + } + + // 4. 批量创建资产明细 + List<AssetInventoryTaskItem> items = buildTaskItems(task.getId(), dto.getAssetMainIds()); + return assetInventoryTaskItemService.saveBatch(items); + } + + /** + * 构建盘点任务资产明细列表 + * + * @param taskId 盘点任务ID + * @param assetMainIds 资产ID列表 + * @return 资产明细列表 + */ + private List<AssetInventoryTaskItem> buildTaskItems(Integer taskId, List<Integer> assetMainIds) { + SysUser currentUser = SecurityUtils.getLoginUser().getUser(); + Integer currentUserId = Math.toIntExact(currentUser.getUserId()); + + return assetMainIds.stream() + .map(assetId -> { + AssetInventoryTaskItem item = new AssetInventoryTaskItem(); + item.setInventoryTaskId(taskId); + item.setAssetMainId(assetId); + item.setUserId(currentUserId); + item.setResultStatus(0); // 未盘点状态 + return item; + }) + .collect(Collectors.toList()); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java index 6e9b5ca..32d8833 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.mapper.OaNotifationUserMapper; -import com.ruoyi.system.model.OaNotifationUser; +import com.ruoyi.system.model.OaNotificationUser; import com.ruoyi.system.service.OaNotifationUserService; import org.springframework.stereotype.Service; @@ -15,6 +15,6 @@ * @since 2025-09-15 */ @Service -public class OaNotifationUserServiceImpl extends ServiceImpl<OaNotifationUserMapper, OaNotifationUser> implements OaNotifationUserService { +public class OaNotifationUserServiceImpl extends ServiceImpl<OaNotifationUserMapper, OaNotificationUser> implements OaNotifationUserService { } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java new file mode 100644 index 0000000..d950cc2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java @@ -0,0 +1,52 @@ +package com.ruoyi.system.vo.asset; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * @author mitao + * @date 2025/10/11 + */ +@Data +@ApiModel("资产盘点分页视图对象") +public class AssetInventoryTaskVO { + + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "盘点人ID") + private Integer userId; + + @ApiModelProperty(value = "所属部门ID") + private Integer deptId; + + @ApiModelProperty("所属部门名称") + private String deptName; + + @ApiModelProperty(value = "任务名称") + private String taskName; + + @ApiModelProperty(value = "盘点日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate executeDate; + + @ApiModelProperty(value = "盘点状态 0-未开始,1-进行中,2-已完成") + private Integer status; + + @ApiModelProperty(value = "备注") + private String remarks; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime createTime; + + @ApiModelProperty(value = "创建人") + private String createBy; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java index c12e603..f3f1904 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java @@ -33,11 +33,8 @@ @ApiModelProperty(value = "事项标题") private String title; - @ApiModelProperty(value = "维修资产类型") - private String assetTypeName; - - @ApiModelProperty(value = "维修资产一级类型") - private String assetTypeFirstLevel; + @ApiModelProperty(value = "维修资产类型ID") + private Integer assetTypeId; @ApiModelProperty(value = "维修开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java index 0da1ddd..2211898 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java @@ -18,6 +18,9 @@ private static final long serialVersionUID = 1L; + @ApiModelProperty("ID") + private Integer id; + @ApiModelProperty(value = "单据号") private String repairNo; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java index 98c28c5..95cf2c4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java @@ -1,7 +1,6 @@ package com.ruoyi.system.vo.system; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.system.model.OaNotifationUser; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java index c280777..d914895 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java @@ -1,14 +1,13 @@ package com.ruoyi.system.vo.system; -import com.ruoyi.system.model.OaNotifationUser; -import com.ruoyi.system.model.OaNotification; +import com.ruoyi.system.model.OaNotificationUser; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "通知对象返回VO") -public class NotificationUserDetailVO extends OaNotifationUser { +public class NotificationUserDetailVO extends OaNotificationUser { @ApiModelProperty(value = "部门名称") private String deptName; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java index f40d58b..6f2af2f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java @@ -1,6 +1,5 @@ package com.ruoyi.system.vo.system; -import com.ruoyi.system.model.OaNotifationUser; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml index 099379e..0fb5c01 100644 --- a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml @@ -40,6 +40,7 @@ <!-- 分页查询维修记录列表 --> <select id="getRepairRecordPageList" resultType="com.ruoyi.system.vo.asset.AssetRepairRecordPageVO"> SELECT + arr.id, arr.repair_no AS repairNo, arr.title, pt.type_name AS assetTypeFirstLevel, @@ -71,7 +72,7 @@ am.id, am.asset_code, am.asset_name, - dept.dept_name, + d.dept_name, parent_type.type_name AS parentAssetType, current_type.type_name AS assetType, am.asset_status, @@ -82,7 +83,7 @@ LEFT JOIN asset_main am ON arri.asset_main_id = am.id LEFT JOIN asset_type current_type ON am.asset_type_id = current_type.id LEFT JOIN asset_type parent_type ON current_type.parent_id = parent_type.id - LEFT JOIN t_dept dept ON am.use_dept_id = dept.dept_id + LEFT JOIN t_dept d ON am.ownership_dept_id = d.id LEFT JOIN asset_repair_record arr ON arri.repair_record_id = arr.id WHERE arri.repair_record_id = #{repairRecordId} AND am.disabled = 0 diff --git a/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml index 4d9efb5..0c1cc93 100644 --- a/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml @@ -3,7 +3,7 @@ <mapper namespace="com.ruoyi.system.mapper.OaNotifationUserMapper"> <!-- 通用查询映射结果 --> - <resultMap id="BaseResultMap" type="com.ruoyi.system.model.OaNotifationUser"> + <resultMap id="BaseResultMap" type="com.ruoyi.system.model.OaNotificationUser"> <id column="id" property="id" /> <result column="notification_id" property="notificationId" /> <result column="user_id" property="userId" /> -- Gitblit v1.7.1