资产模块

This commit is contained in:
aikai 2024-05-13 11:13:26 +08:00
parent 59d1f12688
commit e1733437bd
56 changed files with 2770 additions and 0 deletions

View File

@ -202,4 +202,9 @@ public interface ErrorCodeConstants {
ErrorCode BANK_EXISTS = new ErrorCode(1_009_020_003, "银行卡号已存在");
ErrorCode BANK_NOT_CREATOR = new ErrorCode(1_009_020_002, "你不是当前银行卡信息的创建者,不能进行修改!");
// ========== 资产相关 1-010-001-001 ==========
ErrorCode STOCK_EXCEEDS = new ErrorCode(1_010_001_001, "库存超出!");
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.assets;
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.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
import cn.iocoder.yudao.module.system.service.assets.AssetsService;
@Tag(name = "管理后台 - 资产")
@RestController
@RequestMapping("/system/assets")
@Validated
public class AssetsController {
@Resource
private AssetsService assetsService;
@PostMapping("/create")
@Operation(summary = "创建资产")
@PreAuthorize("@ss.hasPermission('system:assets:create')")
public CommonResult<Long> createAssets(@Valid @RequestBody AssetsSaveReqVO createReqVO) {
return success(assetsService.createAssets(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新资产")
@PreAuthorize("@ss.hasPermission('system:assets:update')")
public CommonResult<Boolean> updateAssets(@Valid @RequestBody AssetsSaveReqVO updateReqVO) {
assetsService.updateAssets(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除资产")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:assets:delete')")
public CommonResult<Boolean> deleteAssets(@RequestParam("id") Long id) {
assetsService.deleteAssets(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得资产")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:assets:query')")
public CommonResult<AssetsRespVO> getAssets(@RequestParam("id") Long id) {
AssetsDO assets = assetsService.getAssets(id);
return success(BeanUtils.toBean(assets, AssetsRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得资产分页")
@PreAuthorize("@ss.hasPermission('system:assets:query')")
public CommonResult<PageResult<AssetsRespVO>> getAssetsPage(@Valid AssetsPageReqVO pageReqVO) {
PageResult<AssetsDO> pageResult = assetsService.getAssetsPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, AssetsRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出资产 Excel")
@PreAuthorize("@ss.hasPermission('system:assets:export')")
@OperateLog(type = EXPORT)
public void exportAssetsExcel(@Valid AssetsPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<AssetsDO> list = assetsService.getAssetsPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "资产.xls", "数据", AssetsRespVO.class,
BeanUtils.toBean(list, AssetsRespVO.class));
}
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.assets;
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.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsSecondmentDO;
import cn.iocoder.yudao.module.system.service.assets.AssetsSecondmentService;
@Tag(name = "管理后台 - 资产借调")
@RestController
@RequestMapping("/system/assets-secondment")
@Validated
public class AssetsSecondmentController {
@Resource
private AssetsSecondmentService assetsSecondmentService;
@PostMapping("/create")
@Operation(summary = "创建资产借调")
@PreAuthorize("@ss.hasPermission('system:assets-secondment:create')")
public CommonResult<Long> createAssetsSecondment(@Valid @RequestBody AssetsSecondmentSaveReqVO createReqVO) {
return success(assetsSecondmentService.createAssetsSecondment(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新资产借调")
@PreAuthorize("@ss.hasPermission('system:assets-secondment:update')")
public CommonResult<Boolean> updateAssetsSecondment(@Valid @RequestBody AssetsSecondmentSaveReqVO updateReqVO) {
assetsSecondmentService.updateAssetsSecondment(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除资产借调")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:assets-secondment:delete')")
public CommonResult<Boolean> deleteAssetsSecondment(@RequestParam("id") Long id) {
assetsSecondmentService.deleteAssetsSecondment(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得资产借调")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:assets-secondment:query')")
public CommonResult<AssetsSecondmentRespVO> getAssetsSecondment(@RequestParam("id") Long id) {
AssetsSecondmentDO assetsSecondment = assetsSecondmentService.getAssetsSecondment(id);
return success(BeanUtils.toBean(assetsSecondment, AssetsSecondmentRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得资产借调分页")
@PreAuthorize("@ss.hasPermission('system:assets-secondment:query')")
public CommonResult<PageResult<AssetsSecondmentRespVO>> getAssetsSecondmentPage(@Valid AssetsSecondmentPageReqVO pageReqVO) {
PageResult<AssetsSecondmentDO> pageResult = assetsSecondmentService.getAssetsSecondmentPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, AssetsSecondmentRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出资产借调 Excel")
@PreAuthorize("@ss.hasPermission('system:assets-secondment:export')")
@OperateLog(type = EXPORT)
public void exportAssetsSecondmentExcel(@Valid AssetsSecondmentPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<AssetsSecondmentDO> list = assetsSecondmentService.getAssetsSecondmentPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "资产借调.xls", "数据", AssetsSecondmentRespVO.class,
BeanUtils.toBean(list, AssetsSecondmentRespVO.class));
}
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.assets;
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.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsSecondmentRecordDO;
import cn.iocoder.yudao.module.system.service.assets.AssetsSecondmentRecordService;
@Tag(name = "管理后台 - 资产借调记录")
@RestController
@RequestMapping("/system/assets-secondment-record")
@Validated
public class AssetsSecondmentRecordController {
@Resource
private AssetsSecondmentRecordService assetsSecondmentRecordService;
@PostMapping("/create")
@Operation(summary = "创建资产借调记录")
@PreAuthorize("@ss.hasPermission('system:assets-secondment-record:create')")
public CommonResult<Long> createAssetsSecondmentRecord(@Valid @RequestBody AssetsSecondmentRecordSaveReqVO createReqVO) {
return success(assetsSecondmentRecordService.createAssetsSecondmentRecord(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新资产借调记录")
@PreAuthorize("@ss.hasPermission('system:assets-secondment-record:update')")
public CommonResult<Boolean> updateAssetsSecondmentRecord(@Valid @RequestBody AssetsSecondmentRecordSaveReqVO updateReqVO) {
assetsSecondmentRecordService.updateAssetsSecondmentRecord(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除资产借调记录")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:assets-secondment-record:delete')")
public CommonResult<Boolean> deleteAssetsSecondmentRecord(@RequestParam("id") Long id) {
assetsSecondmentRecordService.deleteAssetsSecondmentRecord(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得资产借调记录")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:assets-secondment-record:query')")
public CommonResult<AssetsSecondmentRecordRespVO> getAssetsSecondmentRecord(@RequestParam("id") Long id) {
AssetsSecondmentRecordDO assetsSecondmentRecord = assetsSecondmentRecordService.getAssetsSecondmentRecord(id);
return success(BeanUtils.toBean(assetsSecondmentRecord, AssetsSecondmentRecordRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得资产借调记录分页")
@PreAuthorize("@ss.hasPermission('system:assets-secondment-record:query')")
public CommonResult<PageResult<AssetsSecondmentRecordRespVO>> getAssetsSecondmentRecordPage(@Valid AssetsSecondmentRecordPageReqVO pageReqVO) {
PageResult<AssetsSecondmentRecordDO> pageResult = assetsSecondmentRecordService.getAssetsSecondmentRecordPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, AssetsSecondmentRecordRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出资产借调记录 Excel")
@PreAuthorize("@ss.hasPermission('system:assets-secondment-record:export')")
@OperateLog(type = EXPORT)
public void exportAssetsSecondmentRecordExcel(@Valid AssetsSecondmentRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<AssetsSecondmentRecordDO> list = assetsSecondmentRecordService.getAssetsSecondmentRecordPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "资产借调记录.xls", "数据", AssetsSecondmentRecordRespVO.class,
BeanUtils.toBean(list, AssetsSecondmentRecordRespVO.class));
}
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.assets;
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.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO;
import cn.iocoder.yudao.module.system.service.assets.AssetsTypeService;
@Tag(name = "管理后台 - 资产类型")
@RestController
@RequestMapping("/system/assets-type")
@Validated
public class AssetsTypeController {
@Resource
private AssetsTypeService assetsTypeService;
@PostMapping("/create")
@Operation(summary = "创建资产类型")
@PreAuthorize("@ss.hasPermission('system:assets-type:create')")
public CommonResult<Long> createAssetsType(@Valid @RequestBody AssetsTypeSaveReqVO createReqVO) {
return success(assetsTypeService.createAssetsType(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新资产类型")
@PreAuthorize("@ss.hasPermission('system:assets-type:update')")
public CommonResult<Boolean> updateAssetsType(@Valid @RequestBody AssetsTypeSaveReqVO updateReqVO) {
assetsTypeService.updateAssetsType(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除资产类型")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:assets-type:delete')")
public CommonResult<Boolean> deleteAssetsType(@RequestParam("id") Long id) {
assetsTypeService.deleteAssetsType(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得资产类型")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:assets-type:query')")
public CommonResult<AssetsTypeRespVO> getAssetsType(@RequestParam("id") Long id) {
AssetsTypeDO assetsType = assetsTypeService.getAssetsType(id);
return success(BeanUtils.toBean(assetsType, AssetsTypeRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得资产类型分页")
@PreAuthorize("@ss.hasPermission('system:assets-type:query')")
public CommonResult<PageResult<AssetsTypeRespVO>> getAssetsTypePage(@Valid AssetsTypePageReqVO pageReqVO) {
PageResult<AssetsTypeDO> pageResult = assetsTypeService.getAssetsTypePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, AssetsTypeRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出资产类型 Excel")
@PreAuthorize("@ss.hasPermission('system:assets-type:export')")
@OperateLog(type = EXPORT)
public void exportAssetsTypeExcel(@Valid AssetsTypePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<AssetsTypeDO> list = assetsTypeService.getAssetsTypePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "资产类型.xls", "数据", AssetsTypeRespVO.class,
BeanUtils.toBean(list, AssetsTypeRespVO.class));
}
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.assets;
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.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsDO;
import cn.iocoder.yudao.module.system.service.assets.DeptAssetsService;
@Tag(name = "管理后台 - 部门资产")
@RestController
@RequestMapping("/system/dept-assets")
@Validated
public class DeptAssetsController {
@Resource
private DeptAssetsService deptAssetsService;
@PostMapping("/create")
@Operation(summary = "创建部门资产")
@PreAuthorize("@ss.hasPermission('system:dept-assets:create')")
public CommonResult<Long> createDeptAssets(@Valid @RequestBody DeptAssetsSaveReqVO createReqVO) {
return success(deptAssetsService.createDeptAssets(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新部门资产")
@PreAuthorize("@ss.hasPermission('system:dept-assets:update')")
public CommonResult<Boolean> updateDeptAssets(@Valid @RequestBody DeptAssetsSaveReqVO updateReqVO) {
deptAssetsService.updateDeptAssets(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除部门资产")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:dept-assets:delete')")
public CommonResult<Boolean> deleteDeptAssets(@RequestParam("id") Long id) {
deptAssetsService.deleteDeptAssets(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得部门资产")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:dept-assets:query')")
public CommonResult<DeptAssetsRespVO> getDeptAssets(@RequestParam("id") Long id) {
DeptAssetsDO deptAssets = deptAssetsService.getDeptAssets(id);
return success(BeanUtils.toBean(deptAssets, DeptAssetsRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得部门资产分页")
@PreAuthorize("@ss.hasPermission('system:dept-assets:query')")
public CommonResult<PageResult<DeptAssetsRespVO>> getDeptAssetsPage(@Valid DeptAssetsPageReqVO pageReqVO) {
PageResult<DeptAssetsDO> pageResult = deptAssetsService.getDeptAssetsPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DeptAssetsRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出部门资产 Excel")
@PreAuthorize("@ss.hasPermission('system:dept-assets:export')")
@OperateLog(type = EXPORT)
public void exportDeptAssetsExcel(@Valid DeptAssetsPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<DeptAssetsDO> list = deptAssetsService.getDeptAssetsPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "部门资产.xls", "数据", DeptAssetsRespVO.class,
BeanUtils.toBean(list, DeptAssetsRespVO.class));
}
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.assets;
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.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsInOutStockDO;
import cn.iocoder.yudao.module.system.service.assets.DeptAssetsInOutStockService;
@Tag(name = "管理后台 - 部门资产出入库")
@RestController
@RequestMapping("/system/dept-assets-in-out-stock")
@Validated
public class DeptAssetsInOutStockController {
@Resource
private DeptAssetsInOutStockService deptAssetsInOutStockService;
@PostMapping("/create")
@Operation(summary = "创建部门资产出入库")
@PreAuthorize("@ss.hasPermission('system:dept-assets-in-out-stock:create')")
public CommonResult<Long> createDeptAssetsInOutStock(@Valid @RequestBody DeptAssetsInOutStockSaveReqVO createReqVO) {
return success(deptAssetsInOutStockService.createDeptAssetsInOutStock(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新部门资产出入库")
@PreAuthorize("@ss.hasPermission('system:dept-assets-in-out-stock:update')")
public CommonResult<Boolean> updateDeptAssetsInOutStock(@Valid @RequestBody DeptAssetsInOutStockSaveReqVO updateReqVO) {
deptAssetsInOutStockService.updateDeptAssetsInOutStock(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除部门资产出入库")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:dept-assets-in-out-stock:delete')")
public CommonResult<Boolean> deleteDeptAssetsInOutStock(@RequestParam("id") Long id) {
deptAssetsInOutStockService.deleteDeptAssetsInOutStock(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得部门资产出入库")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:dept-assets-in-out-stock:query')")
public CommonResult<DeptAssetsInOutStockRespVO> getDeptAssetsInOutStock(@RequestParam("id") Long id) {
DeptAssetsInOutStockDO deptAssetsInOutStock = deptAssetsInOutStockService.getDeptAssetsInOutStock(id);
return success(BeanUtils.toBean(deptAssetsInOutStock, DeptAssetsInOutStockRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得部门资产出入库分页")
@PreAuthorize("@ss.hasPermission('system:dept-assets-in-out-stock:query')")
public CommonResult<PageResult<DeptAssetsInOutStockRespVO>> getDeptAssetsInOutStockPage(@Valid DeptAssetsInOutStockPageReqVO pageReqVO) {
PageResult<DeptAssetsInOutStockDO> pageResult = deptAssetsInOutStockService.getDeptAssetsInOutStockPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DeptAssetsInOutStockRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出部门资产出入库 Excel")
@PreAuthorize("@ss.hasPermission('system:dept-assets-in-out-stock:export')")
@OperateLog(type = EXPORT)
public void exportDeptAssetsInOutStockExcel(@Valid DeptAssetsInOutStockPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<DeptAssetsInOutStockDO> list = deptAssetsInOutStockService.getDeptAssetsInOutStockPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "部门资产出入库.xls", "数据", DeptAssetsInOutStockRespVO.class,
BeanUtils.toBean(list, DeptAssetsInOutStockRespVO.class));
}
}

View File

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class AssetAllocationDTO {
/**
* 资产id
*/
private Long assetsId;
@Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "103")
private Long deptId;
@Schema(description = "出入库数量")
private Integer num;
}

View File

@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
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 AssetsPageReqVO extends PageParam {
@Schema(description = "资产名称", example = "赵六")
private String name;
@Schema(description = "资产编号")
private String assetsNo;
@Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", example = "1")
private Integer status;
@Schema(description = "资产单位")
private String util;
@Schema(description = "资产价格")
private BigDecimal amount;
@Schema(description = "库存")
private Integer stock;
@Schema(description = "资产类型id", example = "5169")
private Long typeId;
@Schema(description = "其余信息(json)")
private String itemJson;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,57 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 资产 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AssetsRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30782")
@ExcelProperty("id")
private Long id;
@Schema(description = "资产名称", example = "赵六")
@ExcelProperty("资产名称")
private String name;
@Schema(description = "资产编号")
@ExcelProperty("资产编号")
private String assetsNo;
@Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", example = "1")
@ExcelProperty("资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)")
private Integer status;
@Schema(description = "资产单位")
@ExcelProperty("资产单位")
private String util;
@Schema(description = "资产价格")
@ExcelProperty("资产价格")
private BigDecimal amount;
@Schema(description = "库存")
@ExcelProperty("库存")
private Integer stock;
@Schema(description = "资产类型id", example = "5169")
@ExcelProperty("资产类型id")
private Long typeId;
@Schema(description = "其余信息(json)")
@ExcelProperty("其余信息(json)")
private String itemJson;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,44 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.vo;
import cn.iocoder.yudao.module.system.controller.admin.assets.dto.AssetAllocationDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 资产新增/修改 Request VO")
@Data
public class AssetsSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30782")
private Long id;
@Schema(description = "资产名称", example = "赵六")
private String name;
@Schema(description = "资产编号")
private String assetsNo;
@Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", example = "1")
private Integer status;
@Schema(description = "资产单位")
private String util;
@Schema(description = "资产价格")
private BigDecimal amount;
@Schema(description = "库存")
private Integer stock;
@Schema(description = "资产类型id", example = "5169")
private Long typeId;
@Schema(description = "其余信息(json)")
private String itemJson;
@Schema(description = "当前资产分配(暂无分配就不需要传或者给个空数组)")
private List<AssetAllocationDTO> assetAllocationDTOS;
}

View File

@ -0,0 +1,48 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsSecondmentPageReqVO extends PageParam {
@Schema(description = "资产id", example = "13886")
private Long assetsId;
@Schema(description = "使用人id", example = "12871")
private Long useUserId;
@Schema(description = "使用人部门id", example = "130")
private Long useDeptId;
@Schema(description = "负责人id", example = "8526")
private Long principalUserId;
@Schema(description = "借调部门id", example = "11597")
private Long secondmentDeptId;
@Schema(description = "借调开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] beginTime;
@Schema(description = "借调结束时间 / 为空代表不限制时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] endTime;
@Schema(description = "数量")
private Integer num;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,46 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsSecondmentRecordPageReqVO extends PageParam {
@Schema(description = "资产id", example = "20093")
private Long assetsId;
@Schema(description = "使用人id", example = "12905")
private Long useUserId;
@Schema(description = "使用人部门id", example = "13729")
private Long useDeptId;
@Schema(description = "负责人id", example = "5479")
private Long principalUserId;
@Schema(description = "借调部门id", example = "13654")
private Long secondmentDeptId;
@Schema(description = "借调id", example = "20754")
private Long assetSecondmentId;
@Schema(description = "数量")
private Integer num;
@Schema(description = "状态 0领用 1归还", example = "1")
private Integer status;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,56 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsSecondmentRecordRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1505")
@ExcelProperty("id")
private Long id;
@Schema(description = "资产id", example = "20093")
@ExcelProperty("资产id")
private Long assetsId;
@Schema(description = "使用人id", example = "12905")
@ExcelProperty("使用人id")
private Long useUserId;
@Schema(description = "使用人部门id", example = "13729")
@ExcelProperty("使用人部门id")
private Long useDeptId;
@Schema(description = "负责人id", example = "5479")
@ExcelProperty("负责人id")
private Long principalUserId;
@Schema(description = "借调部门id", example = "13654")
@ExcelProperty("借调部门id")
private Long secondmentDeptId;
@Schema(description = "借调id", example = "20754")
@ExcelProperty("借调id")
private Long assetSecondmentId;
@Schema(description = "数量")
@ExcelProperty("数量")
private Integer num;
@Schema(description = "状态 0领用 1归还", example = "1")
@ExcelProperty("状态 0领用 1归还")
private Integer status;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,40 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsSecondmentRecordSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1505")
private Long id;
@Schema(description = "资产id", example = "20093")
private Long assetsId;
@Schema(description = "使用人id", example = "12905")
private Long useUserId;
@Schema(description = "使用人部门id", example = "13729")
private Long useDeptId;
@Schema(description = "负责人id", example = "5479")
private Long principalUserId;
@Schema(description = "借调部门id", example = "13654")
private Long secondmentDeptId;
@Schema(description = "借调id", example = "20754")
private Long assetSecondmentId;
@Schema(description = "数量")
private Integer num;
@Schema(description = "状态 0领用 1归还", example = "1")
private Integer status;
}

View File

@ -0,0 +1,56 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsSecondmentRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7090")
@ExcelProperty("id")
private Long id;
@Schema(description = "资产id", example = "13886")
@ExcelProperty("资产id")
private Long assetsId;
@Schema(description = "使用人id", example = "12871")
@ExcelProperty("使用人id")
private Long useUserId;
@Schema(description = "使用人部门id", example = "130")
@ExcelProperty("使用人部门id")
private Long useDeptId;
@Schema(description = "负责人id", example = "8526")
@ExcelProperty("负责人id")
private Long principalUserId;
@Schema(description = "借调部门id", example = "11597")
@ExcelProperty("借调部门id")
private Long secondmentDeptId;
@Schema(description = "借调开始时间")
@ExcelProperty("借调开始时间")
private LocalDateTime beginTime;
@Schema(description = "借调结束时间 / 为空代表不限制时间")
@ExcelProperty("借调结束时间 / 为空代表不限制时间")
private LocalDateTime endTime;
@Schema(description = "数量")
@ExcelProperty("数量")
private Integer num;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,42 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 资产借调新增/修改 Request VO")
@Data
public class AssetsSecondmentSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7090")
private Long id;
@Schema(description = "资产id", example = "13886")
private Long assetsId;
@Schema(description = "使用人id", example = "12871")
private Long useUserId;
@Schema(description = "使用人部门id", example = "130")
private Long useDeptId;
@Schema(description = "负责人id", example = "8526")
private Long principalUserId;
@Schema(description = "借调部门id", example = "11597")
private Long secondmentDeptId;
@Schema(description = "借调开始时间")
private LocalDateTime beginTime;
@Schema(description = "借调结束时间 / 为空代表不限制时间")
private LocalDateTime endTime;
@Schema(description = "数量")
private Integer num;
}

View File

@ -0,0 +1,31 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsTypePageReqVO extends PageParam {
@Schema(description = "资产类型名称", example = "李四")
private String name;
@Schema(description = "类型 0按量 1按单件", example = "1")
private Integer type;
@Schema(description = "上级资产类型id", example = "27306")
private Long pid;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,36 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsTypeRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6590")
@ExcelProperty("id")
private Long id;
@Schema(description = "资产类型名称", example = "李四")
@ExcelProperty("资产类型名称")
private String name;
@Schema(description = "类型 0按量 1按单件", example = "1")
@ExcelProperty("类型 0按量 1按单件")
private Integer type;
@Schema(description = "上级资产类型id", example = "27306")
@ExcelProperty("上级资产类型id")
private Long pid;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,25 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 AssetsTypeSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6590")
private Long id;
@Schema(description = "资产类型名称", example = "李四")
private String name;
@Schema(description = "类型 0按量 1按单件", example = "1")
private Integer type;
@Schema(description = "上级资产类型id", example = "27306")
private Long pid;
}

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 DeptAssetsInOutStockPageReqVO extends PageParam {
@Schema(description = "入库部门id (系统入库则为null)", example = "2072")
private Long inDeptId;
@Schema(description = "出库部门id (系统出库则为null)", example = "6081")
private Long outDeptId;
@Schema(description = "资产id", example = "1025")
private Long assetsId;
@Schema(description = "出入库数量")
private Integer num;
@Schema(description = "出入库编号")
private String inOutNo;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,44 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 DeptAssetsInOutStockRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29567")
@ExcelProperty("id")
private Long id;
@Schema(description = "入库部门id (系统入库则为null)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2072")
@ExcelProperty("入库部门id (系统入库则为null)")
private Long inDeptId;
@Schema(description = "出库部门id (系统出库则为null)", requiredMode = Schema.RequiredMode.REQUIRED, example = "6081")
@ExcelProperty("出库部门id (系统出库则为null)")
private Long outDeptId;
@Schema(description = "资产id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1025")
@ExcelProperty("资产id")
private Long assetsId;
@Schema(description = "出入库数量")
@ExcelProperty("出入库数量")
private Integer num;
@Schema(description = "出入库编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("出入库编号")
private String inOutNo;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,35 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 DeptAssetsInOutStockSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29567")
private Long id;
@Schema(description = "入库部门id (系统入库则为null)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2072")
@NotNull(message = "入库部门id (系统入库则为null)不能为空")
private Long inDeptId;
@Schema(description = "出库部门id (系统出库则为null)", requiredMode = Schema.RequiredMode.REQUIRED, example = "6081")
@NotNull(message = "出库部门id (系统出库则为null)不能为空")
private Long outDeptId;
@Schema(description = "资产id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1025")
@NotNull(message = "资产id不能为空")
private Long assetsId;
@Schema(description = "出入库数量")
private Integer num;
@Schema(description = "出入库编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "出入库编号不能为空")
private String inOutNo;
}

View File

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 DeptAssetsPageReqVO extends PageParam {
@Schema(description = "部门id", example = "103")
private Long deptId;
@Schema(description = "资产id", example = "15660")
private Long assetsId;
@Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", example = "2")
private Integer status;
@Schema(description = "库存")
private Integer stock;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,40 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 DeptAssetsRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30605")
@ExcelProperty("id")
private Long id;
@Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "103")
@ExcelProperty("部门id")
private Long deptId;
@Schema(description = "资产id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15660")
@ExcelProperty("资产id")
private Long assetsId;
@Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)")
private Integer status;
@Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("库存")
private Integer stock;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.system.controller.admin.assets.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 DeptAssetsSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30605")
private Long id;
@Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "103")
@NotNull(message = "部门id不能为空")
private Long deptId;
@Schema(description = "资产id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15660")
@NotNull(message = "资产id不能为空")
private Long assetsId;
@Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)不能为空")
private Integer status;
@Schema(description = "库存", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库存不能为空")
private Integer stock;
}

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.system.dal.dataobject.assets;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
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("zc_assets")
@KeySequence("zc_assets_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AssetsDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 资产名称
*/
private String name;
/**
* 资产编号
*/
private String assetsNo;
/**
* 资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 资产类型按单件时候有意义
*/
private Integer status;
/**
* 资产单位
*/
private String util;
/**
* 资产价格
*/
private BigDecimal amount;
/**
* 库存
*/
private Integer stock;
/**
* 资产类型id
*/
private Long typeId;
/**
* 其余信息(json)
*/
private String itemJson;
}

View File

@ -0,0 +1,65 @@
package cn.iocoder.yudao.module.system.dal.dataobject.assets;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
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("zc_assets_secondment")
@KeySequence("zc_assets_secondment_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AssetsSecondmentDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 资产id
*/
private Long assetsId;
/**
* 使用人id
*/
private Long useUserId;
/**
* 使用人部门id
*/
private Long useDeptId;
/**
* 负责人id
*/
private Long principalUserId;
/**
* 借调部门id
*/
private Long secondmentDeptId;
/**
* 借调开始时间
*/
private LocalDateTime beginTime;
/**
* 借调结束时间 / 为空代表不限制时间
*/
private LocalDateTime endTime;
/**
* 数量
*/
private Integer num;
}

View File

@ -0,0 +1,63 @@
package cn.iocoder.yudao.module.system.dal.dataobject.assets;
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("zc_assets_secondment_record")
@KeySequence("zc_assets_secondment_record_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AssetsSecondmentRecordDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 资产id
*/
private Long assetsId;
/**
* 使用人id
*/
private Long useUserId;
/**
* 使用人部门id
*/
private Long useDeptId;
/**
* 负责人id
*/
private Long principalUserId;
/**
* 借调部门id
*/
private Long secondmentDeptId;
/**
* 借调id
*/
private Long assetSecondmentId;
/**
* 数量
*/
private Integer num;
/**
* 状态 0领用 1归还
*/
private Integer status;
}

View File

@ -0,0 +1,43 @@
package cn.iocoder.yudao.module.system.dal.dataobject.assets;
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("zc_assets_type")
@KeySequence("zc_assets_type_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AssetsTypeDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 资产类型名称
*/
private String name;
/**
* 类型 0按量 1按单件
*/
private Integer type;
/**
* 上级资产类型id
*/
private Long pid;
}

View File

@ -0,0 +1,56 @@
package cn.iocoder.yudao.module.system.dal.dataobject.assets;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import lombok.*;
/**
* 部门资产 DO
*
* @author 艾楷
*/
@TableName("zc_dept_assets")
@KeySequence("zc_dept_assets_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeptAssetsDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 部门id
*/
private Long deptId;
/**
* 资产id
*/
private Long assetsId;
/**
* 资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 资产类型按单件时候有意义
*/
private Integer status;
/**
* 库存
*/
private Integer stock;
/**
* 初始化
* @param deptId
* @param assetsId
* @return
*/
public static DeptAssetsDO init(Long deptId, Long assetsId) {
return new DeptAssetsDO().setId(IdWorker.getId()).setDeptId(deptId).setStock(0).setStatus(0).setAssetsId(assetsId);
}
}

View File

@ -0,0 +1,54 @@
package cn.iocoder.yudao.module.system.dal.dataobject.assets;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import lombok.*;
/**
* 部门资产出入库 DO
*
* @author 艾楷
*/
@TableName("zc_dept_assets_in_out_stock")
@KeySequence("zc_dept_assets_in_out_stock_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeptAssetsInOutStockDO extends BaseDO {
//出入库状态 0入库 1出库
public static final Integer STATUS_IN = 0;
public static final Integer STATUS_OUT = 1;
/**
* id
*/
@TableId
private Long id;
/**
* 入库部门id (系统入库则为null)
*/
private Long inDeptId;
/**
* 出库部门id (系统出库则为null)
*/
private Long outDeptId;
/**
* 资产id
*/
private Long assetsId;
/**
* 出入库数量
*/
private Integer num;
/**
* 出入库编号
*/
private String inOutNo;
}

View File

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.system.dal.mysql.assets;
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.assets.AssetsDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
/**
* 资产 Mapper
*
* @author 艾楷
*/
@Mapper
public interface AssetsMapper extends BaseMapperX<AssetsDO> {
default PageResult<AssetsDO> selectPage(AssetsPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AssetsDO>()
.likeIfPresent(AssetsDO::getName, reqVO.getName())
.eqIfPresent(AssetsDO::getAssetsNo, reqVO.getAssetsNo())
.eqIfPresent(AssetsDO::getStatus, reqVO.getStatus())
.eqIfPresent(AssetsDO::getUtil, reqVO.getUtil())
.eqIfPresent(AssetsDO::getAmount, reqVO.getAmount())
.eqIfPresent(AssetsDO::getStock, reqVO.getStock())
.eqIfPresent(AssetsDO::getTypeId, reqVO.getTypeId())
.eqIfPresent(AssetsDO::getItemJson, reqVO.getItemJson())
.betweenIfPresent(AssetsDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AssetsDO::getId));
}
}

View File

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.system.dal.mysql.assets;
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.assets.AssetsSecondmentDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
/**
* 资产借调 Mapper
*
* @author 艾楷
*/
@Mapper
public interface AssetsSecondmentMapper extends BaseMapperX<AssetsSecondmentDO> {
default PageResult<AssetsSecondmentDO> selectPage(AssetsSecondmentPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AssetsSecondmentDO>()
.eqIfPresent(AssetsSecondmentDO::getAssetsId, reqVO.getAssetsId())
.eqIfPresent(AssetsSecondmentDO::getUseUserId, reqVO.getUseUserId())
.eqIfPresent(AssetsSecondmentDO::getUseDeptId, reqVO.getUseDeptId())
.eqIfPresent(AssetsSecondmentDO::getPrincipalUserId, reqVO.getPrincipalUserId())
.eqIfPresent(AssetsSecondmentDO::getSecondmentDeptId, reqVO.getSecondmentDeptId())
.betweenIfPresent(AssetsSecondmentDO::getBeginTime, reqVO.getBeginTime())
.betweenIfPresent(AssetsSecondmentDO::getEndTime, reqVO.getEndTime())
.eqIfPresent(AssetsSecondmentDO::getNum, reqVO.getNum())
.betweenIfPresent(AssetsSecondmentDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AssetsSecondmentDO::getId));
}
}

View File

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.system.dal.mysql.assets;
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.assets.AssetsSecondmentRecordDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
/**
* 资产借调记录 Mapper
*
* @author 艾楷
*/
@Mapper
public interface AssetsSecondmentRecordMapper extends BaseMapperX<AssetsSecondmentRecordDO> {
default PageResult<AssetsSecondmentRecordDO> selectPage(AssetsSecondmentRecordPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AssetsSecondmentRecordDO>()
.eqIfPresent(AssetsSecondmentRecordDO::getAssetsId, reqVO.getAssetsId())
.eqIfPresent(AssetsSecondmentRecordDO::getUseUserId, reqVO.getUseUserId())
.eqIfPresent(AssetsSecondmentRecordDO::getUseDeptId, reqVO.getUseDeptId())
.eqIfPresent(AssetsSecondmentRecordDO::getPrincipalUserId, reqVO.getPrincipalUserId())
.eqIfPresent(AssetsSecondmentRecordDO::getSecondmentDeptId, reqVO.getSecondmentDeptId())
.eqIfPresent(AssetsSecondmentRecordDO::getAssetSecondmentId, reqVO.getAssetSecondmentId())
.eqIfPresent(AssetsSecondmentRecordDO::getNum, reqVO.getNum())
.eqIfPresent(AssetsSecondmentRecordDO::getStatus, reqVO.getStatus())
.betweenIfPresent(AssetsSecondmentRecordDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AssetsSecondmentRecordDO::getId));
}
}

View File

@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.system.dal.mysql.assets;
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.assets.AssetsTypeDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
/**
* 资产类型 Mapper
*
* @author 艾楷
*/
@Mapper
public interface AssetsTypeMapper extends BaseMapperX<AssetsTypeDO> {
default PageResult<AssetsTypeDO> selectPage(AssetsTypePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AssetsTypeDO>()
.likeIfPresent(AssetsTypeDO::getName, reqVO.getName())
.eqIfPresent(AssetsTypeDO::getType, reqVO.getType())
.eqIfPresent(AssetsTypeDO::getPid, reqVO.getPid())
.betweenIfPresent(AssetsTypeDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AssetsTypeDO::getId));
}
}

View File

@ -0,0 +1,31 @@
package cn.iocoder.yudao.module.system.dal.mysql.assets;
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.assets.DeptAssetsInOutStockDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
/**
* 部门资产出入库 Mapper
*
* @author 艾楷
*/
@Mapper
public interface DeptAssetsInOutStockMapper extends BaseMapperX<DeptAssetsInOutStockDO> {
default PageResult<DeptAssetsInOutStockDO> selectPage(DeptAssetsInOutStockPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DeptAssetsInOutStockDO>()
.eqIfPresent(DeptAssetsInOutStockDO::getInDeptId, reqVO.getInDeptId())
.eqIfPresent(DeptAssetsInOutStockDO::getOutDeptId, reqVO.getOutDeptId())
.eqIfPresent(DeptAssetsInOutStockDO::getAssetsId, reqVO.getAssetsId())
.eqIfPresent(DeptAssetsInOutStockDO::getNum, reqVO.getNum())
.eqIfPresent(DeptAssetsInOutStockDO::getInOutNo, reqVO.getInOutNo())
.betweenIfPresent(DeptAssetsInOutStockDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DeptAssetsInOutStockDO::getId));
}
}

View File

@ -0,0 +1,30 @@
package cn.iocoder.yudao.module.system.dal.mysql.assets;
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.assets.DeptAssetsDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
/**
* 部门资产 Mapper
*
* @author 艾楷
*/
@Mapper
public interface DeptAssetsMapper extends BaseMapperX<DeptAssetsDO> {
default PageResult<DeptAssetsDO> selectPage(DeptAssetsPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DeptAssetsDO>()
.eqIfPresent(DeptAssetsDO::getDeptId, reqVO.getDeptId())
.eqIfPresent(DeptAssetsDO::getAssetsId, reqVO.getAssetsId())
.eqIfPresent(DeptAssetsDO::getStatus, reqVO.getStatus())
.eqIfPresent(DeptAssetsDO::getStock, reqVO.getStock())
.betweenIfPresent(DeptAssetsDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DeptAssetsDO::getId));
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.system.service.assets;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsSecondmentRecordDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* 资产借调记录 Service 接口
*
* @author 艾楷
*/
public interface AssetsSecondmentRecordService {
/**
* 创建资产借调记录
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createAssetsSecondmentRecord(@Valid AssetsSecondmentRecordSaveReqVO createReqVO);
/**
* 更新资产借调记录
*
* @param updateReqVO 更新信息
*/
void updateAssetsSecondmentRecord(@Valid AssetsSecondmentRecordSaveReqVO updateReqVO);
/**
* 删除资产借调记录
*
* @param id 编号
*/
void deleteAssetsSecondmentRecord(Long id);
/**
* 获得资产借调记录
*
* @param id 编号
* @return 资产借调记录
*/
AssetsSecondmentRecordDO getAssetsSecondmentRecord(Long id);
/**
* 获得资产借调记录分页
*
* @param pageReqVO 分页查询
* @return 资产借调记录分页
*/
PageResult<AssetsSecondmentRecordDO> getAssetsSecondmentRecordPage(AssetsSecondmentRecordPageReqVO pageReqVO);
}

View File

@ -0,0 +1,65 @@
package cn.iocoder.yudao.module.system.service.assets;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsSecondmentRecordDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsSecondmentRecordMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
/**
* 资产借调记录 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class AssetsSecondmentRecordServiceImpl implements AssetsSecondmentRecordService {
@Resource
private AssetsSecondmentRecordMapper assetsSecondmentRecordMapper;
@Override
public Long createAssetsSecondmentRecord(AssetsSecondmentRecordSaveReqVO createReqVO) {
// 插入
AssetsSecondmentRecordDO assetsSecondmentRecord = BeanUtils.toBean(createReqVO, AssetsSecondmentRecordDO.class);
assetsSecondmentRecordMapper.insert(assetsSecondmentRecord);
// 返回
return assetsSecondmentRecord.getId();
}
@Override
public void updateAssetsSecondmentRecord(AssetsSecondmentRecordSaveReqVO updateReqVO) {
// 更新
AssetsSecondmentRecordDO updateObj = BeanUtils.toBean(updateReqVO, AssetsSecondmentRecordDO.class);
assetsSecondmentRecordMapper.updateById(updateObj);
}
@Override
public void deleteAssetsSecondmentRecord(Long id) {
// 删除
assetsSecondmentRecordMapper.deleteById(id);
}
@Override
public AssetsSecondmentRecordDO getAssetsSecondmentRecord(Long id) {
return assetsSecondmentRecordMapper.selectById(id);
}
@Override
public PageResult<AssetsSecondmentRecordDO> getAssetsSecondmentRecordPage(AssetsSecondmentRecordPageReqVO pageReqVO) {
return assetsSecondmentRecordMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.system.service.assets;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsSecondmentDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* 资产借调 Service 接口
*
* @author 艾楷
*/
public interface AssetsSecondmentService {
/**
* 创建资产借调
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createAssetsSecondment(@Valid AssetsSecondmentSaveReqVO createReqVO);
/**
* 更新资产借调
*
* @param updateReqVO 更新信息
*/
void updateAssetsSecondment(@Valid AssetsSecondmentSaveReqVO updateReqVO);
/**
* 删除资产借调
*
* @param id 编号
*/
void deleteAssetsSecondment(Long id);
/**
* 获得资产借调
*
* @param id 编号
* @return 资产借调
*/
AssetsSecondmentDO getAssetsSecondment(Long id);
/**
* 获得资产借调分页
*
* @param pageReqVO 分页查询
* @return 资产借调分页
*/
PageResult<AssetsSecondmentDO> getAssetsSecondmentPage(AssetsSecondmentPageReqVO pageReqVO);
}

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.system.service.assets;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsSecondmentDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsSecondmentMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
/**
* 资产借调 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class AssetsSecondmentServiceImpl implements AssetsSecondmentService {
@Resource
private AssetsSecondmentMapper assetsSecondmentMapper;
@Override
public Long createAssetsSecondment(AssetsSecondmentSaveReqVO createReqVO) {
// 插入
AssetsSecondmentDO assetsSecondment = BeanUtils.toBean(createReqVO, AssetsSecondmentDO.class);
assetsSecondmentMapper.insert(assetsSecondment);
// 返回
return assetsSecondment.getId();
}
@Override
public void updateAssetsSecondment(AssetsSecondmentSaveReqVO updateReqVO) {
// 更新
AssetsSecondmentDO updateObj = BeanUtils.toBean(updateReqVO, AssetsSecondmentDO.class);
assetsSecondmentMapper.updateById(updateObj);
}
@Override
public void deleteAssetsSecondment(Long id) {
// 删除
assetsSecondmentMapper.deleteById(id);
}
@Override
public AssetsSecondmentDO getAssetsSecondment(Long id) {
return assetsSecondmentMapper.selectById(id);
}
@Override
public PageResult<AssetsSecondmentDO> getAssetsSecondmentPage(AssetsSecondmentPageReqVO pageReqVO) {
return assetsSecondmentMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.system.service.assets;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* 资产 Service 接口
*
* @author 艾楷
*/
public interface AssetsService {
/**
* 创建资产
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createAssets(@Valid AssetsSaveReqVO createReqVO);
/**
* 更新资产
*
* @param updateReqVO 更新信息
*/
void updateAssets(@Valid AssetsSaveReqVO updateReqVO);
/**
* 删除资产
*
* @param id 编号
*/
void deleteAssets(Long id);
/**
* 获得资产
*
* @param id 编号
* @return 资产
*/
AssetsDO getAssets(Long id);
/**
* 获得资产分页
*
* @param pageReqVO 分页查询
* @return 资产分页
*/
PageResult<AssetsDO> getAssetsPage(AssetsPageReqVO pageReqVO);
}

View File

@ -0,0 +1,77 @@
package cn.iocoder.yudao.module.system.service.assets;
import cn.hutool.core.collection.CollectionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.controller.admin.assets.dto.AssetAllocationDTO;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.STOCK_EXCEEDS;
/**
* 资产 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class AssetsServiceImpl implements AssetsService {
@Resource
private AssetsMapper assetsMapper;
@Resource
private DeptAssetsInOutStockService deptAssetsInOutStockService;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createAssets(AssetsSaveReqVO createReqVO) {
// 插入
AssetsDO assets = BeanUtils.toBean(createReqVO, AssetsDO.class);
assetsMapper.insert(assets);
// -- 新增后 - 判断列表是否有值
if (CollectionUtil.isNotEmpty(createReqVO.getAssetAllocationDTOS())) {
int num = createReqVO.getAssetAllocationDTOS().stream().filter(a -> a.getNum() != null).mapToInt(AssetAllocationDTO::getNum).sum();
if (num > assets.getStock()) {
throw exception(STOCK_EXCEEDS);
}
// -- 新增后 - 插入资产分配表
deptAssetsInOutStockService.assetAllocation(assets, null, createReqVO.getAssetAllocationDTOS());
}
// 返回
return assets.getId();
}
@Override
public void updateAssets(AssetsSaveReqVO updateReqVO) {
// 更新
AssetsDO updateObj = BeanUtils.toBean(updateReqVO, AssetsDO.class);
assetsMapper.updateById(updateObj);
}
@Override
public void deleteAssets(Long id) {
// 删除
assetsMapper.deleteById(id);
}
@Override
public AssetsDO getAssets(Long id) {
return assetsMapper.selectById(id);
}
@Override
public PageResult<AssetsDO> getAssetsPage(AssetsPageReqVO pageReqVO) {
return assetsMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.system.service.assets;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* 资产类型 Service 接口
*
* @author 艾楷
*/
public interface AssetsTypeService {
/**
* 创建资产类型
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createAssetsType(@Valid AssetsTypeSaveReqVO createReqVO);
/**
* 更新资产类型
*
* @param updateReqVO 更新信息
*/
void updateAssetsType(@Valid AssetsTypeSaveReqVO updateReqVO);
/**
* 删除资产类型
*
* @param id 编号
*/
void deleteAssetsType(Long id);
/**
* 获得资产类型
*
* @param id 编号
* @return 资产类型
*/
AssetsTypeDO getAssetsType(Long id);
/**
* 获得资产类型分页
*
* @param pageReqVO 分页查询
* @return 资产类型分页
*/
PageResult<AssetsTypeDO> getAssetsTypePage(AssetsTypePageReqVO pageReqVO);
}

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.system.service.assets;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsTypeMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
/**
* 资产类型 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class AssetsTypeServiceImpl implements AssetsTypeService {
@Resource
private AssetsTypeMapper assetsTypeMapper;
@Override
public Long createAssetsType(AssetsTypeSaveReqVO createReqVO) {
// 插入
AssetsTypeDO assetsType = BeanUtils.toBean(createReqVO, AssetsTypeDO.class);
assetsTypeMapper.insert(assetsType);
// 返回
return assetsType.getId();
}
@Override
public void updateAssetsType(AssetsTypeSaveReqVO updateReqVO) {
// 更新
AssetsTypeDO updateObj = BeanUtils.toBean(updateReqVO, AssetsTypeDO.class);
assetsTypeMapper.updateById(updateObj);
}
@Override
public void deleteAssetsType(Long id) {
// 删除
assetsTypeMapper.deleteById(id);
}
@Override
public AssetsTypeDO getAssetsType(Long id) {
return assetsTypeMapper.selectById(id);
}
@Override
public PageResult<AssetsTypeDO> getAssetsTypePage(AssetsTypePageReqVO pageReqVO) {
return assetsTypeMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,66 @@
package cn.iocoder.yudao.module.system.service.assets;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.assets.dto.AssetAllocationDTO;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.DeptAssetsInOutStockPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.DeptAssetsInOutStockSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsInOutStockDO;
import javax.validation.Valid;
import java.util.List;
/**
* 部门资产出入库 Service 接口
*
* @author 艾楷
*/
public interface DeptAssetsInOutStockService {
/**
* 创建部门资产出入库
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createDeptAssetsInOutStock(@Valid DeptAssetsInOutStockSaveReqVO createReqVO);
/**
* 更新部门资产出入库
*
* @param updateReqVO 更新信息
*/
void updateDeptAssetsInOutStock(@Valid DeptAssetsInOutStockSaveReqVO updateReqVO);
/**
* 删除部门资产出入库
*
* @param id 编号
*/
void deleteDeptAssetsInOutStock(Long id);
/**
* 获得部门资产出入库
*
* @param id 编号
* @return 部门资产出入库
*/
DeptAssetsInOutStockDO getDeptAssetsInOutStock(Long id);
/**
* 获得部门资产出入库分页
*
* @param pageReqVO 分页查询
* @return 部门资产出入库分页
*/
PageResult<DeptAssetsInOutStockDO> getDeptAssetsInOutStockPage(DeptAssetsInOutStockPageReqVO pageReqVO);
/**
* 记录出入库
*
* @param assetsDO
* @param outDeptId
* @param assetAllocationDTOS
*/
void assetAllocation(AssetsDO assetsDO, Long outDeptId, List<AssetAllocationDTO> assetAllocationDTOS);
}

View File

@ -0,0 +1,143 @@
package cn.iocoder.yudao.module.system.service.assets;
import cn.hutool.core.collection.CollectionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.controller.admin.assets.dto.AssetAllocationDTO;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.DeptAssetsInOutStockPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.DeptAssetsInOutStockSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsDO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsInOutStockDO;
import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsMapper;
import cn.iocoder.yudao.module.system.dal.mysql.assets.DeptAssetsInOutStockMapper;
import cn.iocoder.yudao.module.system.dal.mysql.assets.DeptAssetsMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.STOCK_EXCEEDS;
/**
* 部门资产出入库 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class DeptAssetsInOutStockServiceImpl implements DeptAssetsInOutStockService {
@Resource
private DeptAssetsInOutStockMapper deptAssetsInOutStockMapper;
@Resource
private AssetsMapper assetsMapper;
@Resource
private DeptAssetsMapper deptAssetsMapper;
@Override
public Long createDeptAssetsInOutStock(DeptAssetsInOutStockSaveReqVO createReqVO) {
// 插入
DeptAssetsInOutStockDO deptAssetsInOutStock = BeanUtils.toBean(createReqVO, DeptAssetsInOutStockDO.class);
deptAssetsInOutStockMapper.insert(deptAssetsInOutStock);
// 返回
return deptAssetsInOutStock.getId();
}
@Override
public void updateDeptAssetsInOutStock(DeptAssetsInOutStockSaveReqVO updateReqVO) {
// 更新
DeptAssetsInOutStockDO updateObj = BeanUtils.toBean(updateReqVO, DeptAssetsInOutStockDO.class);
deptAssetsInOutStockMapper.updateById(updateObj);
}
@Override
public void deleteDeptAssetsInOutStock(Long id) {
// 删除
deptAssetsInOutStockMapper.deleteById(id);
}
@Override
public DeptAssetsInOutStockDO getDeptAssetsInOutStock(Long id) {
return deptAssetsInOutStockMapper.selectById(id);
}
@Override
public PageResult<DeptAssetsInOutStockDO> getDeptAssetsInOutStockPage(DeptAssetsInOutStockPageReqVO pageReqVO) {
return deptAssetsInOutStockMapper.selectPage(pageReqVO);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void assetAllocation(AssetsDO assetsDO, Long outDeptId, List<AssetAllocationDTO> assetAllocationDTOS) {
// -- 出库如果是null的话 说明是从系统中扣减的 - 去扣资产的库存
int num = assetAllocationDTOS.stream().filter(a -> a.getNum() != null).mapToInt(AssetAllocationDTO::getNum).sum();
if (outDeptId == null) {
if (num > assetsDO.getStock()) {
throw exception(STOCK_EXCEEDS);
}
assetsDO.setStock(assetsDO.getStock() - num);
assetsMapper.updateById(assetsDO);
} else {
// -- 如果有值的话 那就是从部门出库 - 去扣部门的资产库
DeptAssetsDO deptAssetsDO = deptAssetsMapper.selectById(outDeptId);
if (deptAssetsDO == null) {
deptAssetsDO = DeptAssetsDO.init(outDeptId, assetsDO.getId());
deptAssetsMapper.insert(deptAssetsDO);
}
if (num > deptAssetsDO.getStock()) {
throw exception(STOCK_EXCEEDS);
}
deptAssetsDO.setStock(deptAssetsDO.getStock() - num);
deptAssetsMapper.updateById(deptAssetsDO);
}
// -- 获取部门资产列表
if (CollectionUtil.isNotEmpty(assetAllocationDTOS)) {
List<Long> ids = assetAllocationDTOS.stream().map(AssetAllocationDTO::getDeptId).collect(Collectors.toList());
List<DeptAssetsDO> deptAssetsDOS = deptAssetsMapper.selectList(new LambdaQueryWrapper<DeptAssetsDO>()
.eq(DeptAssetsDO::getAssetsId, assetsDO.getId())
.in(DeptAssetsDO::getDeptId, ids));
// 根据部门id分组 - 如果没有的话 再临时初始化一个 - 最后再批量新增
Map<Long, DeptAssetsDO> map = deptAssetsDOS.stream().collect(Collectors.toMap(DeptAssetsDO::getDeptId, a -> a));
List<DeptAssetsDO> saveOrUpdateItem = new ArrayList<>();
List<DeptAssetsInOutStockDO> deptAssetsInOutStockDOS = new ArrayList<>();
for (AssetAllocationDTO assetAllocationDTO : assetAllocationDTOS) {
DeptAssetsDO deptAssetsItem = map.get(assetAllocationDTO.getDeptId());
if (deptAssetsItem == null) {
deptAssetsItem = DeptAssetsDO.init(assetAllocationDTO.getDeptId(), assetsDO.getId());
}
deptAssetsItem.setStock(deptAssetsItem.getStock() + assetAllocationDTO.getNum());
// saveOrUpdate
saveOrUpdateItem.add(deptAssetsItem);
// -- 添加出入库记录
// - 出库 - 入库 记录
DeptAssetsInOutStockDO outStock = new DeptAssetsInOutStockDO();
outStock.setInDeptId(assetAllocationDTO.getDeptId());
outStock.setOutDeptId(outDeptId);
outStock.setAssetsId(assetsDO.getId());
outStock.setNum(assetAllocationDTO.getNum());
outStock.setInOutNo(IdWorker.get32UUID());
deptAssetsInOutStockDOS.add(outStock);
}
//批量新增修改
if (!saveOrUpdateItem.isEmpty()) {
deptAssetsMapper.insertOrUpdateBatch(saveOrUpdateItem);
}
//批量新增出入库记录
if (!deptAssetsInOutStockDOS.isEmpty()) {
deptAssetsInOutStockMapper.insertBatch(deptAssetsInOutStockDOS);
}
}
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.system.service.assets;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* 部门资产 Service 接口
*
* @author 艾楷
*/
public interface DeptAssetsService {
/**
* 创建部门资产
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createDeptAssets(@Valid DeptAssetsSaveReqVO createReqVO);
/**
* 更新部门资产
*
* @param updateReqVO 更新信息
*/
void updateDeptAssets(@Valid DeptAssetsSaveReqVO updateReqVO);
/**
* 删除部门资产
*
* @param id 编号
*/
void deleteDeptAssets(Long id);
/**
* 获得部门资产
*
* @param id 编号
* @return 部门资产
*/
DeptAssetsDO getDeptAssets(Long id);
/**
* 获得部门资产分页
*
* @param pageReqVO 分页查询
* @return 部门资产分页
*/
PageResult<DeptAssetsDO> getDeptAssetsPage(DeptAssetsPageReqVO pageReqVO);
}

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.system.service.assets;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.DeptAssetsDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.dal.mysql.assets.DeptAssetsMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
/**
* 部门资产 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class DeptAssetsServiceImpl implements DeptAssetsService {
@Resource
private DeptAssetsMapper deptAssetsMapper;
@Override
public Long createDeptAssets(DeptAssetsSaveReqVO createReqVO) {
// 插入
DeptAssetsDO deptAssets = BeanUtils.toBean(createReqVO, DeptAssetsDO.class);
deptAssetsMapper.insert(deptAssets);
// 返回
return deptAssets.getId();
}
@Override
public void updateDeptAssets(DeptAssetsSaveReqVO updateReqVO) {
// 更新
DeptAssetsDO updateObj = BeanUtils.toBean(updateReqVO, DeptAssetsDO.class);
deptAssetsMapper.updateById(updateObj);
}
@Override
public void deleteDeptAssets(Long id) {
// 删除
deptAssetsMapper.deleteById(id);
}
@Override
public DeptAssetsDO getDeptAssets(Long id) {
return deptAssetsMapper.selectById(id);
}
@Override
public PageResult<DeptAssetsDO> getDeptAssetsPage(DeptAssetsPageReqVO pageReqVO) {
return deptAssetsMapper.selectPage(pageReqVO);
}
}

View File

@ -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.assets.AssetsMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -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.assets.AssetsSecondmentMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -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.assets.AssetsSecondmentRecordMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -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.assets.AssetsTypeMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -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.assets.DeptAssetsInOutStockMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -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.assets.DeptAssetsMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>