资产模块
This commit is contained in:
parent
59d1f12688
commit
e1733437bd
@ -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, "库存超出!");
|
||||
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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;
|
||||
|
||||
}
|
@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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;
|
||||
|
||||
}
|
@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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;
|
||||
|
||||
}
|
@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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;
|
||||
|
||||
}
|
@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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);
|
||||
}
|
||||
}
|
@ -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") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 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;
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
Loading…
Reference in New Issue
Block a user