Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
潘荣晟
2025-09-19 17:22:14 +08:00
68 changed files with 4336 additions and 16 deletions

View File

@@ -19,7 +19,7 @@
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<properties> <properties>
<revision>3.0.31</revision> <revision>3.0.34</revision>
<!-- Maven 相关 --> <!-- Maven 相关 -->
<java.version>17</java.version> <java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${java.version}</maven.compiler.source>

View File

@@ -9,20 +9,15 @@ import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult; 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.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList;
import static cn.iocoder.yudao.module.base.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_DATA_NOT_EXISTS; import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_DATA_NOT_EXISTS;
/** /**

View File

@@ -9,20 +9,10 @@ import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult; 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.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList;
import static cn.iocoder.yudao.module.base.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_ITEM_NOT_EXISTS; import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_ITEM_NOT_EXISTS;
/** /**

View File

@@ -15,4 +15,11 @@ public interface ErrorCodeConstants {
ErrorCode ERP_FACTORY_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在"); ErrorCode ERP_FACTORY_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_COSTCENTER_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在"); ErrorCode ERP_COSTCENTER_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_PRODUCTIVE_VERSION_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在"); ErrorCode ERP_PRODUCTIVE_VERSION_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_PURCHASE_ORGANIZATION_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_INTERNAL_ORDER_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_SALES_ORGANIZATION_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_ASSET_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_CONTRACT_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
ErrorCode ERP_PRODUCTIVE_ORDER_NOT_EXISTS = new ErrorCode(1_001_000_003, "ERP物料数据不存在");
} }

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpAssetDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpAssetService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP资产卡片")
@RestController
@RequestMapping("/sply/erp-asset")
@Validated
public class ErpAssetController {
@Resource
private ErpAssetService erpAssetService;
@PostMapping("/create")
@Operation(summary = "创建ERP资产卡片")
@PreAuthorize("@ss.hasPermission('sply:erp-asset:create')")
public CommonResult<ErpAssetRespVO> createErpAsset(@Valid @RequestBody ErpAssetSaveReqVO createReqVO) {
return success(erpAssetService.createErpAsset(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP资产卡片")
@PreAuthorize("@ss.hasPermission('sply:erp-asset:update')")
public CommonResult<Boolean> updateErpAsset(@Valid @RequestBody ErpAssetSaveReqVO updateReqVO) {
erpAssetService.updateErpAsset(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP资产卡片")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-asset:delete')")
public CommonResult<Boolean> deleteErpAsset(@RequestParam("id") Long id) {
erpAssetService.deleteErpAsset(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP资产卡片")
@PreAuthorize("@ss.hasPermission('sply:erp-asset:delete')")
public CommonResult<Boolean> deleteErpAssetList(@RequestBody BatchDeleteReqVO req) {
erpAssetService.deleteErpAssetListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP资产卡片")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-asset:query')")
public CommonResult<ErpAssetRespVO> getErpAsset(@RequestParam("id") Long id) {
ErpAssetDO erpAsset = erpAssetService.getErpAsset(id);
return success(BeanUtils.toBean(erpAsset, ErpAssetRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP资产卡片分页")
@PreAuthorize("@ss.hasPermission('sply:erp-asset:query')")
public CommonResult<PageResult<ErpAssetRespVO>> getErpAssetPage(@Valid ErpAssetPageReqVO pageReqVO) {
PageResult<ErpAssetDO> pageResult = erpAssetService.getErpAssetPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpAssetRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP资产卡片 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-asset:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpAssetExcel(@Valid ErpAssetPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpAssetDO> list = erpAssetService.getErpAssetPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP资产卡片.xls", "数据", ErpAssetRespVO.class,
BeanUtils.toBean(list, ErpAssetRespVO.class));
}
}

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpContractDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpContractService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP合同映射")
@RestController
@RequestMapping("/bse/erp-contract")
@Validated
public class ErpContractController {
@Resource
private ErpContractService erpContractService;
@PostMapping("/create")
@Operation(summary = "创建ERP合同映射")
@PreAuthorize("@ss.hasPermission('bse:erp-contract:create')")
public CommonResult<ErpContractRespVO> createErpContract(@Valid @RequestBody ErpContractSaveReqVO createReqVO) {
return success(erpContractService.createErpContract(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP合同映射")
@PreAuthorize("@ss.hasPermission('bse:erp-contract:update')")
public CommonResult<Boolean> updateErpContract(@Valid @RequestBody ErpContractSaveReqVO updateReqVO) {
erpContractService.updateErpContract(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP合同映射")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bse:erp-contract:delete')")
public CommonResult<Boolean> deleteErpContract(@RequestParam("id") Long id) {
erpContractService.deleteErpContract(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP合同映射")
@PreAuthorize("@ss.hasPermission('bse:erp-contract:delete')")
public CommonResult<Boolean> deleteErpContractList(@RequestBody BatchDeleteReqVO req) {
erpContractService.deleteErpContractListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP合同映射")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bse:erp-contract:query')")
public CommonResult<ErpContractRespVO> getErpContract(@RequestParam("id") Long id) {
ErpContractDO erpContract = erpContractService.getErpContract(id);
return success(BeanUtils.toBean(erpContract, ErpContractRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP合同映射分页")
@PreAuthorize("@ss.hasPermission('bse:erp-contract:query')")
public CommonResult<PageResult<ErpContractRespVO>> getErpContractPage(@Valid ErpContractPageReqVO pageReqVO) {
PageResult<ErpContractDO> pageResult = erpContractService.getErpContractPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpContractRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP合同映射 Excel")
@PreAuthorize("@ss.hasPermission('bse:erp-contract:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpContractExcel(@Valid ErpContractPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpContractDO> list = erpContractService.getErpContractPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP合同映射.xls", "数据", ErpContractRespVO.class,
BeanUtils.toBean(list, ErpContractRespVO.class));
}
}

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpInternalOrderDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpInternalOrderService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP内部订单")
@RestController
@RequestMapping("/sply/erp-internal-order")
@Validated
public class ErpInternalOrderController {
@Resource
private ErpInternalOrderService erpInternalOrderService;
@PostMapping("/create")
@Operation(summary = "创建ERP内部订单")
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:create')")
public CommonResult<ErpInternalOrderRespVO> createErpInternalOrder(@Valid @RequestBody ErpInternalOrderSaveReqVO createReqVO) {
return success(erpInternalOrderService.createErpInternalOrder(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP内部订单")
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:update')")
public CommonResult<Boolean> updateErpInternalOrder(@Valid @RequestBody ErpInternalOrderSaveReqVO updateReqVO) {
erpInternalOrderService.updateErpInternalOrder(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP内部订单")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:delete')")
public CommonResult<Boolean> deleteErpInternalOrder(@RequestParam("id") Long id) {
erpInternalOrderService.deleteErpInternalOrder(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP内部订单")
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:delete')")
public CommonResult<Boolean> deleteErpInternalOrderList(@RequestBody BatchDeleteReqVO req) {
erpInternalOrderService.deleteErpInternalOrderListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP内部订单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:query')")
public CommonResult<ErpInternalOrderRespVO> getErpInternalOrder(@RequestParam("id") Long id) {
ErpInternalOrderDO erpInternalOrder = erpInternalOrderService.getErpInternalOrder(id);
return success(BeanUtils.toBean(erpInternalOrder, ErpInternalOrderRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP内部订单分页")
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:query')")
public CommonResult<PageResult<ErpInternalOrderRespVO>> getErpInternalOrderPage(@Valid ErpInternalOrderPageReqVO pageReqVO) {
PageResult<ErpInternalOrderDO> pageResult = erpInternalOrderService.getErpInternalOrderPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpInternalOrderRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP内部订单 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-internal-order:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpInternalOrderExcel(@Valid ErpInternalOrderPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpInternalOrderDO> list = erpInternalOrderService.getErpInternalOrderPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP内部订单.xls", "数据", ErpInternalOrderRespVO.class,
BeanUtils.toBean(list, ErpInternalOrderRespVO.class));
}
}

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpProductiveOrderDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpProductiveOrderService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP生产订单")
@RestController
@RequestMapping("/sply/erp-productive-order")
@Validated
public class ErpProductiveOrderController {
@Resource
private ErpProductiveOrderService erpProductiveOrderService;
@PostMapping("/create")
@Operation(summary = "创建ERP生产订单")
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:create')")
public CommonResult<ErpProductiveOrderRespVO> createErpProductiveOrder(@Valid @RequestBody ErpProductiveOrderSaveReqVO createReqVO) {
return success(erpProductiveOrderService.createErpProductiveOrder(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP生产订单")
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:update')")
public CommonResult<Boolean> updateErpProductiveOrder(@Valid @RequestBody ErpProductiveOrderSaveReqVO updateReqVO) {
erpProductiveOrderService.updateErpProductiveOrder(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP生产订单")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:delete')")
public CommonResult<Boolean> deleteErpProductiveOrder(@RequestParam("id") Long id) {
erpProductiveOrderService.deleteErpProductiveOrder(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP生产订单")
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:delete')")
public CommonResult<Boolean> deleteErpProductiveOrderList(@RequestBody BatchDeleteReqVO req) {
erpProductiveOrderService.deleteErpProductiveOrderListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP生产订单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:query')")
public CommonResult<ErpProductiveOrderRespVO> getErpProductiveOrder(@RequestParam("id") Long id) {
ErpProductiveOrderDO erpProductiveOrder = erpProductiveOrderService.getErpProductiveOrder(id);
return success(BeanUtils.toBean(erpProductiveOrder, ErpProductiveOrderRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP生产订单分页")
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:query')")
public CommonResult<PageResult<ErpProductiveOrderRespVO>> getErpProductiveOrderPage(@Valid ErpProductiveOrderPageReqVO pageReqVO) {
PageResult<ErpProductiveOrderDO> pageResult = erpProductiveOrderService.getErpProductiveOrderPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpProductiveOrderRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP生产订单 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-productive-order:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpProductiveOrderExcel(@Valid ErpProductiveOrderPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpProductiveOrderDO> list = erpProductiveOrderService.getErpProductiveOrderPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP生产订单.xls", "数据", ErpProductiveOrderRespVO.class,
BeanUtils.toBean(list, ErpProductiveOrderRespVO.class));
}
}

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpPurchaseOrganizationDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpPurchaseOrganizationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP采购组织")
@RestController
@RequestMapping("/sply/erp-purchase-organization")
@Validated
public class ErpPurchaseOrganizationController {
@Resource
private ErpPurchaseOrganizationService erpPurchaseOrganizationService;
@PostMapping("/create")
@Operation(summary = "创建ERP采购组织")
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:create')")
public CommonResult<ErpPurchaseOrganizationRespVO> createErpPurchaseOrganization(@Valid @RequestBody ErpPurchaseOrganizationSaveReqVO createReqVO) {
return success(erpPurchaseOrganizationService.createErpPurchaseOrganization(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP采购组织")
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:update')")
public CommonResult<Boolean> updateErpPurchaseOrganization(@Valid @RequestBody ErpPurchaseOrganizationSaveReqVO updateReqVO) {
erpPurchaseOrganizationService.updateErpPurchaseOrganization(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP采购组织")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:delete')")
public CommonResult<Boolean> deleteErpPurchaseOrganization(@RequestParam("id") Long id) {
erpPurchaseOrganizationService.deleteErpPurchaseOrganization(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP采购组织")
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:delete')")
public CommonResult<Boolean> deleteErpPurchaseOrganizationList(@RequestBody BatchDeleteReqVO req) {
erpPurchaseOrganizationService.deleteErpPurchaseOrganizationListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP采购组织")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:query')")
public CommonResult<ErpPurchaseOrganizationRespVO> getErpPurchaseOrganization(@RequestParam("id") Long id) {
ErpPurchaseOrganizationDO erpPurchaseOrganization = erpPurchaseOrganizationService.getErpPurchaseOrganization(id);
return success(BeanUtils.toBean(erpPurchaseOrganization, ErpPurchaseOrganizationRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP采购组织分页")
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:query')")
public CommonResult<PageResult<ErpPurchaseOrganizationRespVO>> getErpPurchaseOrganizationPage(@Valid ErpPurchaseOrganizationPageReqVO pageReqVO) {
PageResult<ErpPurchaseOrganizationDO> pageResult = erpPurchaseOrganizationService.getErpPurchaseOrganizationPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpPurchaseOrganizationRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP采购组织 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-purchase-organization:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpPurchaseOrganizationExcel(@Valid ErpPurchaseOrganizationPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpPurchaseOrganizationDO> list = erpPurchaseOrganizationService.getErpPurchaseOrganizationPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP采购组织.xls", "数据", ErpPurchaseOrganizationRespVO.class,
BeanUtils.toBean(list, ErpPurchaseOrganizationRespVO.class));
}
}

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpSalesOrganizationDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpSalesOrganizationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP销售组织")
@RestController
@RequestMapping("/sply/erp-sales-organization")
@Validated
public class ErpSalesOrganizationController {
@Resource
private ErpSalesOrganizationService erpSalesOrganizationService;
@PostMapping("/create")
@Operation(summary = "创建ERP销售组织")
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:create')")
public CommonResult<ErpSalesOrganizationRespVO> createErpSalesOrganization(@Valid @RequestBody ErpSalesOrganizationSaveReqVO createReqVO) {
return success(erpSalesOrganizationService.createErpSalesOrganization(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP销售组织")
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:update')")
public CommonResult<Boolean> updateErpSalesOrganization(@Valid @RequestBody ErpSalesOrganizationSaveReqVO updateReqVO) {
erpSalesOrganizationService.updateErpSalesOrganization(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP销售组织")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:delete')")
public CommonResult<Boolean> deleteErpSalesOrganization(@RequestParam("id") Long id) {
erpSalesOrganizationService.deleteErpSalesOrganization(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP销售组织")
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:delete')")
public CommonResult<Boolean> deleteErpSalesOrganizationList(@RequestBody BatchDeleteReqVO req) {
erpSalesOrganizationService.deleteErpSalesOrganizationListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP销售组织")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:query')")
public CommonResult<ErpSalesOrganizationRespVO> getErpSalesOrganization(@RequestParam("id") Long id) {
ErpSalesOrganizationDO erpSalesOrganization = erpSalesOrganizationService.getErpSalesOrganization(id);
return success(BeanUtils.toBean(erpSalesOrganization, ErpSalesOrganizationRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP销售组织分页")
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:query')")
public CommonResult<PageResult<ErpSalesOrganizationRespVO>> getErpSalesOrganizationPage(@Valid ErpSalesOrganizationPageReqVO pageReqVO) {
PageResult<ErpSalesOrganizationDO> pageResult = erpSalesOrganizationService.getErpSalesOrganizationPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpSalesOrganizationRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP销售组织 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-sales-organization:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpSalesOrganizationExcel(@Valid ErpSalesOrganizationPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpSalesOrganizationDO> list = erpSalesOrganizationService.getErpSalesOrganizationPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP销售组织.xls", "数据", ErpSalesOrganizationRespVO.class,
BeanUtils.toBean(list, ErpSalesOrganizationRespVO.class));
}
}

View File

@@ -0,0 +1,104 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehousePageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehouseRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehouseSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpWarehouseDO;
import cn.iocoder.yudao.module.erp.service.erp.ErpWarehouseService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - ERP库位")
@RestController
@RequestMapping("/sply/erp-warehouse")
@Validated
public class ErpWarehouseController {
@Resource
private ErpWarehouseService erpWarehouseService;
@PostMapping("/create")
@Operation(summary = "创建ERP库位")
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:create')")
public CommonResult<ErpWarehouseRespVO> createErpWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO createReqVO) {
return success(erpWarehouseService.createErpWarehouse(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP库位")
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:update')")
public CommonResult<Boolean> updateErpWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO updateReqVO) {
erpWarehouseService.updateErpWarehouse(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除ERP库位")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:delete')")
public CommonResult<Boolean> deleteErpWarehouse(@RequestParam("id") Long id) {
erpWarehouseService.deleteErpWarehouse(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP库位")
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:delete')")
public CommonResult<Boolean> deleteErpWarehouseList(@RequestBody BatchDeleteReqVO req) {
erpWarehouseService.deleteErpWarehouseListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得ERP库位")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:query')")
public CommonResult<ErpWarehouseRespVO> getErpWarehouse(@RequestParam("id") Long id) {
ErpWarehouseDO erpWarehouse = erpWarehouseService.getErpWarehouse(id);
return success(BeanUtils.toBean(erpWarehouse, ErpWarehouseRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得ERP库位分页")
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:query')")
public CommonResult<PageResult<ErpWarehouseRespVO>> getErpWarehousePage(@Valid ErpWarehousePageReqVO pageReqVO) {
PageResult<ErpWarehouseDO> pageResult = erpWarehouseService.getErpWarehousePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpWarehouseRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出ERP库位 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-warehouse:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpWarehouseExcel(@Valid ErpWarehousePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ErpWarehouseDO> list = erpWarehouseService.getErpWarehousePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "ERP库位.xls", "数据", ErpWarehouseRespVO.class,
BeanUtils.toBean(list, ErpWarehouseRespVO.class));
}
}

View File

@@ -0,0 +1,66 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - ERP资产卡片分页 Request VO")
@Data
public class ErpAssetPageReqVO extends PageParam {
@Schema(description = "公司编号")
private String companyNumber;
@Schema(description = "资产主编码")
private String mainAssetNumber;
@Schema(description = "记录创建日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] recordCreateDate;
@Schema(description = "更改用户名", example = "芋艿")
private String updateUserName;
@Schema(description = "资产类编号")
private String assetTypeNumber;
@Schema(description = "资产类描述", example = "李四")
private String assetTypeName;
@Schema(description = "资产资本化日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assetDate;
@Schema(description = "基本计量单位")
private String uom;
@Schema(description = "数量")
private BigDecimal quantity;
@Schema(description = "资产描述")
private String assetDescription;
@Schema(description = "附加资产描述")
private String assetDescriptionAttach;
@Schema(description = "折旧计算开始日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] depreciationStartDate;
@Schema(description = "计划年使用期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] planYearDate;
@Schema(description = "成本中心编码")
private String costcenterNumber;
@Schema(description = "责任成本中心")
private String dutyCostcenterNumber;
}

View File

@@ -0,0 +1,80 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP资产卡片 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpAssetRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31799")
@ExcelProperty("主键")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("公司编号")
private String companyNumber;
@Schema(description = "资产主编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("资产主编码")
private String mainAssetNumber;
@Schema(description = "记录创建日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("记录创建日期")
private LocalDateTime recordCreateDate;
@Schema(description = "更改用户名", example = "芋艿")
@ExcelProperty("更改用户名")
private String updateUserName;
@Schema(description = "资产类编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("资产类编号")
private String assetTypeNumber;
@Schema(description = "资产类描述", example = "李四")
@ExcelProperty("资产类描述")
private String assetTypeName;
@Schema(description = "资产资本化日期")
@ExcelProperty("资产资本化日期")
private LocalDateTime assetDate;
@Schema(description = "基本计量单位")
@ExcelProperty("基本计量单位")
private String uom;
@Schema(description = "数量")
@ExcelProperty("数量")
private BigDecimal quantity;
@Schema(description = "资产描述")
@ExcelProperty("资产描述")
private String assetDescription;
@Schema(description = "附加资产描述")
@ExcelProperty("附加资产描述")
private String assetDescriptionAttach;
@Schema(description = "折旧计算开始日期")
@ExcelProperty("折旧计算开始日期")
private LocalDateTime depreciationStartDate;
@Schema(description = "计划年使用期")
@ExcelProperty("计划年使用期")
private LocalDateTime planYearDate;
@Schema(description = "成本中心编码")
@ExcelProperty("成本中心编码")
private String costcenterNumber;
@Schema(description = "责任成本中心")
@ExcelProperty("责任成本中心")
private String dutyCostcenterNumber;
}

View File

@@ -0,0 +1,67 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP资产卡片新增/修改 Request VO")
@Data
public class ErpAssetSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31799")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司编号不能为空")
private String companyNumber;
@Schema(description = "资产主编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "资产主编码不能为空")
private String mainAssetNumber;
@Schema(description = "记录创建日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "记录创建日期不能为空")
private LocalDateTime recordCreateDate;
@Schema(description = "更改用户名", example = "芋艿")
private String updateUserName;
@Schema(description = "资产类编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "资产类编号不能为空")
private String assetTypeNumber;
@Schema(description = "资产类描述", example = "李四")
private String assetTypeName;
@Schema(description = "资产资本化日期")
private LocalDateTime assetDate;
@Schema(description = "基本计量单位")
private String uom;
@Schema(description = "数量")
private BigDecimal quantity;
@Schema(description = "资产描述")
private String assetDescription;
@Schema(description = "附加资产描述")
private String assetDescriptionAttach;
@Schema(description = "折旧计算开始日期")
private LocalDateTime depreciationStartDate;
@Schema(description = "计划年使用期")
private LocalDateTime planYearDate;
@Schema(description = "成本中心编码")
private String costcenterNumber;
@Schema(description = "责任成本中心")
private String dutyCostcenterNumber;
}

View File

@@ -0,0 +1,180 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDate;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - ERP合同映射分页 Request VO")
@Data
public class ErpContractPageReqVO extends PageParam {
@Schema(description = "操作标识", example = "3035")
private String operationId;
@Schema(description = "合同主信息主键", example = "10259")
private Long contractMainId;
@Schema(description = "合同编号")
private String contractPaperNumber;
@Schema(description = "合同名称", example = "芋艿")
private String contractName;
@Schema(description = "合同类型编号")
private String contractTypeNumber;
@Schema(description = "合同类型名称", example = "李四")
private String contractTypeName;
@Schema(description = "合同类别")
private String contractCategory;
@Schema(description = "是否虚拟合同")
private String isVirtualContract;
@Schema(description = "客户/供应商编号;SAP客商公司代码")
private String supplierNumber;
@Schema(description = "客户/供应商名称;SAP客商公司名称", example = "张三")
private String supplierName;
@Schema(description = "代理方;SAP客商公司代码")
private String agent;
@Schema(description = "合同实施主体编号;SAP公司代码")
private String contractImplementNumber;
@Schema(description = "合同签订主体编号;SAP公司代码")
private String contractSignNumber;
@Schema(description = "合同签订日期;格式YYYY-MM-DD")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDate[] signDate;
@Schema(description = "合同起始日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDate[] startDate;
@Schema(description = "合同终止日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDate[] stopDate;
@Schema(description = "币种编号")
private String currency;
@Schema(description = "合同总金额(原币-含税);非长单合同:合同金额 长单合同默认1000000000000000.00")
private BigDecimal sourceAmount;
@Schema(description = "合同总金额(本位币-含税);非长单合同:合同金额*合同的临时汇率 长单合同默认1000000000000000.00")
private BigDecimal basicAmount;
@Schema(description = "变更后合同总金额(原币-含税);如果未做合同变更,金额等于合同总金额(原币-含税)")
private BigDecimal changeSourceAmount;
@Schema(description = "变更后合同总金额(本位币-含税);如果未做合同变更,金额等于合同总金额(本位币-含税)")
private BigDecimal changeBasicAmount;
@Schema(description = "合同状态编号")
private String statusNumber;
@Schema(description = "合同状态名称", example = "赵六")
private String statusName;
@Schema(description = "是否有预付款;长单合同:否,非长单:取合同的预付款")
private String isPrepayment;
@Schema(description = "预付款比例;有预付款则需要填写")
private BigDecimal prepaymentRatio;
@Schema(description = "预付款金额;有预付款则需要填写(通过计算得出)")
private BigDecimal prepaymentAmount;
@Schema(description = "履约保证金-变更前(原币)")
private BigDecimal sourceBeforeBond;
@Schema(description = "履约保证金-变更前(本位币)")
private BigDecimal basicBeforeBond;
@Schema(description = "履约保证金-变更后(原币)")
private BigDecimal sourceAfterBond;
@Schema(description = "履约保证金-变更后(本位币)")
private BigDecimal basicAfterBond;
@Schema(description = "是否含质保金")
private String isQualityassuranceAmount;
@Schema(description = "质保金比例;有质保金则需要填写")
private BigDecimal qualityassuranceRatio;
@Schema(description = "质保金金额;有质保金则需要填写")
private BigDecimal qualityassuranceAmount;
@Schema(description = "是否内部企业")
private String isInternal;
@Schema(description = "收支性质")
private String nature;
@Schema(description = "备注信息;提交ERP")
private String remark;
@Schema(description = "累计结算金额(原币-含税);暂定不传")
private BigDecimal sourceAccumulateSettlementAmount;
@Schema(description = "累计结算金额(本位币-含税);暂定不传")
private BigDecimal basicAccumulateSettlementAmount;
@Schema(description = "累计已收付款金额(原币-含税);暂定不传")
private BigDecimal sourceUseAmount;
@Schema(description = "累计已收付款金额(本位币-含税);暂定不传")
private BigDecimal basicUseAmount;
@Schema(description = "累计已开收票金额(原币-含税);暂定不传")
private BigDecimal sourceInvoiceAmount;
@Schema(description = "累计已开收票金额(本位币-含税);暂定不传")
private BigDecimal basicInvoiceAmount;
@Schema(description = "累计预付款金额(原币-含税);暂定不传")
private BigDecimal sourceAccumulatePrepayment;
@Schema(description = "累计预付款金额(本位币-含税);暂定不传")
private BigDecimal basicAccumulatePrepayment;
@Schema(description = "履约保证金累计付款金额(原币);暂定不传")
private BigDecimal sourceAccumulateBond;
@Schema(description = "履约保证金累计付款金额(本位币);暂定不传")
private BigDecimal basicAccumulateBond;
@Schema(description = "履约保证金累计收款金额(原币);暂定不传")
private BigDecimal sourceAccumulateAmount;
@Schema(description = "履约保证金累计收款金额(本位币);暂定不传")
private BigDecimal basicAccumulateAmount;
@Schema(description = "是否框架合同;如果为是,合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税赋默认值为1000000000000000.00")
private String isFramework;
@Schema(description = "境内/境外")
private String isDomestic;
@Schema(description = "建筑服务发生地;销售合同且类型为SAP02COSR必填")
private String architectureServicePlace;
@Schema(description = "达到收款条件金额;销售合同且类型为SAP02COSR必填")
private BigDecimal payeeConditionAmount;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDate[] createTime;
}

View File

@@ -0,0 +1,232 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
@Schema(description = "管理后台 - ERP合同映射 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpContractRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9114")
@ExcelProperty("主键")
private Long id;
@Schema(description = "操作标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "3035")
@ExcelProperty("操作标识")
private String operationId;
@Schema(description = "合同主信息主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10259")
@ExcelProperty("合同主信息主键")
private Long contractMainId;
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同编号")
private String contractPaperNumber;
@Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("合同名称")
private String contractName;
@Schema(description = "合同类型编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同类型编号")
private String contractTypeNumber;
@Schema(description = "合同类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("合同类型名称")
private String contractTypeName;
@Schema(description = "合同类别", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同类别")
private String contractCategory;
@Schema(description = "是否虚拟合同", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否虚拟合同")
private String isVirtualContract;
@Schema(description = "客户/供应商编号;SAP客商公司代码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("客户/供应商编号;SAP客商公司代码")
private String supplierNumber;
@Schema(description = "客户/供应商名称;SAP客商公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("客户/供应商名称;SAP客商公司名称")
private String supplierName;
@Schema(description = "代理方;SAP客商公司代码")
@ExcelProperty("代理方;SAP客商公司代码")
private String agent;
@Schema(description = "合同实施主体编号;SAP公司代码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同实施主体编号;SAP公司代码")
private String contractImplementNumber;
@Schema(description = "合同签订主体编号;SAP公司代码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同签订主体编号;SAP公司代码")
private String contractSignNumber;
@Schema(description = "合同签订日期;格式YYYY-MM-DD", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同签订日期;格式YYYY-MM-DD")
private LocalDate signDate;
@Schema(description = "合同起始日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同起始日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期")
private LocalDate startDate;
@Schema(description = "合同终止日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同终止日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期")
private LocalDate stopDate;
@Schema(description = "币种编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("币种编号")
private String currency;
@Schema(description = "合同总金额(原币-含税);非长单合同:合同金额 长单合同默认1000000000000000.00", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同总金额(原币-含税);非长单合同:合同金额 长单合同默认1000000000000000.00")
private BigDecimal sourceAmount;
@Schema(description = "合同总金额(本位币-含税);非长单合同:合同金额*合同的临时汇率 长单合同默认1000000000000000.00", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同总金额(本位币-含税);非长单合同:合同金额*合同的临时汇率 长单合同默认1000000000000000.00")
private BigDecimal basicAmount;
@Schema(description = "变更后合同总金额(原币-含税);如果未做合同变更,金额等于合同总金额(原币-含税)", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("变更后合同总金额(原币-含税);如果未做合同变更,金额等于合同总金额(原币-含税)")
private BigDecimal changeSourceAmount;
@Schema(description = "变更后合同总金额(本位币-含税);如果未做合同变更,金额等于合同总金额(本位币-含税)", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("变更后合同总金额(本位币-含税);如果未做合同变更,金额等于合同总金额(本位币-含税)")
private BigDecimal changeBasicAmount;
@Schema(description = "合同状态编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("合同状态编号")
private String statusNumber;
@Schema(description = "合同状态名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("合同状态名称")
private String statusName;
@Schema(description = "是否有预付款;长单合同:否,非长单:取合同的预付款", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否有预付款;长单合同:否,非长单:取合同的预付款")
private String isPrepayment;
@Schema(description = "预付款比例;有预付款则需要填写")
@ExcelProperty("预付款比例;有预付款则需要填写")
private BigDecimal prepaymentRatio;
@Schema(description = "预付款金额;有预付款则需要填写(通过计算得出)")
@ExcelProperty("预付款金额;有预付款则需要填写(通过计算得出)")
private BigDecimal prepaymentAmount;
@Schema(description = "履约保证金-变更前(原币)")
@ExcelProperty("履约保证金-变更前(原币)")
private BigDecimal sourceBeforeBond;
@Schema(description = "履约保证金-变更前(本位币)")
@ExcelProperty("履约保证金-变更前(本位币)")
private BigDecimal basicBeforeBond;
@Schema(description = "履约保证金-变更后(原币)")
@ExcelProperty("履约保证金-变更后(原币)")
private BigDecimal sourceAfterBond;
@Schema(description = "履约保证金-变更后(本位币)")
@ExcelProperty("履约保证金-变更后(本位币)")
private BigDecimal basicAfterBond;
@Schema(description = "是否含质保金", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否含质保金")
private String isQualityassuranceAmount;
@Schema(description = "质保金比例;有质保金则需要填写")
@ExcelProperty("质保金比例;有质保金则需要填写")
private BigDecimal qualityassuranceRatio;
@Schema(description = "质保金金额;有质保金则需要填写")
@ExcelProperty("质保金金额;有质保金则需要填写")
private BigDecimal qualityassuranceAmount;
@Schema(description = "是否内部企业", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否内部企业")
private String isInternal;
@Schema(description = "收支性质", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("收支性质")
private String nature;
@Schema(description = "备注信息;提交ERP")
@ExcelProperty("备注信息;提交ERP")
private String remark;
@Schema(description = "累计结算金额(原币-含税);暂定不传")
@ExcelProperty("累计结算金额(原币-含税);暂定不传")
private BigDecimal sourceAccumulateSettlementAmount;
@Schema(description = "累计结算金额(本位币-含税);暂定不传")
@ExcelProperty("累计结算金额(本位币-含税);暂定不传")
private BigDecimal basicAccumulateSettlementAmount;
@Schema(description = "累计已收付款金额(原币-含税);暂定不传")
@ExcelProperty("累计已收付款金额(原币-含税);暂定不传")
private BigDecimal sourceUseAmount;
@Schema(description = "累计已收付款金额(本位币-含税);暂定不传")
@ExcelProperty("累计已收付款金额(本位币-含税);暂定不传")
private BigDecimal basicUseAmount;
@Schema(description = "累计已开收票金额(原币-含税);暂定不传")
@ExcelProperty("累计已开收票金额(原币-含税);暂定不传")
private BigDecimal sourceInvoiceAmount;
@Schema(description = "累计已开收票金额(本位币-含税);暂定不传")
@ExcelProperty("累计已开收票金额(本位币-含税);暂定不传")
private BigDecimal basicInvoiceAmount;
@Schema(description = "累计预付款金额(原币-含税);暂定不传")
@ExcelProperty("累计预付款金额(原币-含税);暂定不传")
private BigDecimal sourceAccumulatePrepayment;
@Schema(description = "累计预付款金额(本位币-含税);暂定不传")
@ExcelProperty("累计预付款金额(本位币-含税);暂定不传")
private BigDecimal basicAccumulatePrepayment;
@Schema(description = "履约保证金累计付款金额(原币);暂定不传")
@ExcelProperty("履约保证金累计付款金额(原币);暂定不传")
private BigDecimal sourceAccumulateBond;
@Schema(description = "履约保证金累计付款金额(本位币);暂定不传")
@ExcelProperty("履约保证金累计付款金额(本位币);暂定不传")
private BigDecimal basicAccumulateBond;
@Schema(description = "履约保证金累计收款金额(原币);暂定不传")
@ExcelProperty("履约保证金累计收款金额(原币);暂定不传")
private BigDecimal sourceAccumulateAmount;
@Schema(description = "履约保证金累计收款金额(本位币);暂定不传")
@ExcelProperty("履约保证金累计收款金额(本位币);暂定不传")
private BigDecimal basicAccumulateAmount;
@Schema(description = "是否框架合同;如果为是,合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税赋默认值为1000000000000000.00", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否框架合同;如果为是,合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税赋默认值为1000000000000000.00")
private String isFramework;
@Schema(description = "境内/境外", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("境内/境外")
private String isDomestic;
@Schema(description = "建筑服务发生地;销售合同且类型为SAP02COSR必填")
@ExcelProperty("建筑服务发生地;销售合同且类型为SAP02COSR必填")
private String architectureServicePlace;
@Schema(description = "达到收款条件金额;销售合同且类型为SAP02COSR必填")
@ExcelProperty("达到收款条件金额;销售合同且类型为SAP02COSR必填")
private BigDecimal payeeConditionAmount;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDate createTime;
}

View File

@@ -0,0 +1,202 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
@Schema(description = "管理后台 - ERP合同映射新增/修改 Request VO")
@Data
public class ErpContractSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9114")
private Long id;
@Schema(description = "操作标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "3035")
@NotEmpty(message = "操作标识不能为空")
private String operationId;
@Schema(description = "合同主信息主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10259")
@NotNull(message = "合同主信息主键不能为空")
private Long contractMainId;
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同编号不能为空")
private String contractPaperNumber;
@Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotEmpty(message = "合同名称不能为空")
private String contractName;
@Schema(description = "合同类型编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同类型编号不能为空")
private String contractTypeNumber;
@Schema(description = "合同类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@NotEmpty(message = "合同类型名称不能为空")
private String contractTypeName;
@Schema(description = "合同类别", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同类别不能为空")
private String contractCategory;
@Schema(description = "是否虚拟合同", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否虚拟合同不能为空")
private String isVirtualContract;
@Schema(description = "客户/供应商编号;SAP客商公司代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "客户/供应商编号;SAP客商公司代码不能为空")
private String supplierNumber;
@Schema(description = "客户/供应商名称;SAP客商公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "客户/供应商名称;SAP客商公司名称不能为空")
private String supplierName;
@Schema(description = "代理方;SAP客商公司代码")
private String agent;
@Schema(description = "合同实施主体编号;SAP公司代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同实施主体编号;SAP公司代码不能为空")
private String contractImplementNumber;
@Schema(description = "合同签订主体编号;SAP公司代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同签订主体编号;SAP公司代码不能为空")
private String contractSignNumber;
@Schema(description = "合同签订日期;格式YYYY-MM-DD", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "合同签订日期;格式YYYY-MM-DD不能为空")
private LocalDate signDate;
@Schema(description = "合同起始日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "合同起始日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期不能为空")
private LocalDate startDate;
@Schema(description = "合同终止日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "合同终止日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期不能为空")
private LocalDate stopDate;
@Schema(description = "币种编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "币种编号不能为空")
private String currency;
@Schema(description = "合同总金额(原币-含税);非长单合同:合同金额 长单合同默认1000000000000000.00", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "合同总金额(原币-含税);非长单合同:合同金额 长单合同默认1000000000000000.00不能为空")
private BigDecimal sourceAmount;
@Schema(description = "合同总金额(本位币-含税);非长单合同:合同金额*合同的临时汇率 长单合同默认1000000000000000.00", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "合同总金额(本位币-含税);非长单合同:合同金额*合同的临时汇率 长单合同默认1000000000000000.00不能为空")
private BigDecimal basicAmount;
@Schema(description = "变更后合同总金额(原币-含税);如果未做合同变更,金额等于合同总金额(原币-含税)", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "变更后合同总金额(原币-含税);如果未做合同变更,金额等于合同总金额(原币-含税)不能为空")
private BigDecimal changeSourceAmount;
@Schema(description = "变更后合同总金额(本位币-含税);如果未做合同变更,金额等于合同总金额(本位币-含税)", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "变更后合同总金额(本位币-含税);如果未做合同变更,金额等于合同总金额(本位币-含税)不能为空")
private BigDecimal changeBasicAmount;
@Schema(description = "合同状态编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同状态编号不能为空")
private String statusNumber;
@Schema(description = "合同状态名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@NotEmpty(message = "合同状态名称不能为空")
private String statusName;
@Schema(description = "是否有预付款;长单合同:否,非长单:取合同的预付款", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否有预付款;长单合同:否,非长单:取合同的预付款不能为空")
private String isPrepayment;
@Schema(description = "预付款比例;有预付款则需要填写")
private BigDecimal prepaymentRatio;
@Schema(description = "预付款金额;有预付款则需要填写(通过计算得出)")
private BigDecimal prepaymentAmount;
@Schema(description = "履约保证金-变更前(原币)")
private BigDecimal sourceBeforeBond;
@Schema(description = "履约保证金-变更前(本位币)")
private BigDecimal basicBeforeBond;
@Schema(description = "履约保证金-变更后(原币)")
private BigDecimal sourceAfterBond;
@Schema(description = "履约保证金-变更后(本位币)")
private BigDecimal basicAfterBond;
@Schema(description = "是否含质保金", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否含质保金不能为空")
private String isQualityassuranceAmount;
@Schema(description = "质保金比例;有质保金则需要填写")
private BigDecimal qualityassuranceRatio;
@Schema(description = "质保金金额;有质保金则需要填写")
private BigDecimal qualityassuranceAmount;
@Schema(description = "是否内部企业", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否内部企业不能为空")
private String isInternal;
@Schema(description = "收支性质", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "收支性质不能为空")
private String nature;
@Schema(description = "备注信息;提交ERP")
private String remark;
@Schema(description = "累计结算金额(原币-含税);暂定不传")
private BigDecimal sourceAccumulateSettlementAmount;
@Schema(description = "累计结算金额(本位币-含税);暂定不传")
private BigDecimal basicAccumulateSettlementAmount;
@Schema(description = "累计已收付款金额(原币-含税);暂定不传")
private BigDecimal sourceUseAmount;
@Schema(description = "累计已收付款金额(本位币-含税);暂定不传")
private BigDecimal basicUseAmount;
@Schema(description = "累计已开收票金额(原币-含税);暂定不传")
private BigDecimal sourceInvoiceAmount;
@Schema(description = "累计已开收票金额(本位币-含税);暂定不传")
private BigDecimal basicInvoiceAmount;
@Schema(description = "累计预付款金额(原币-含税);暂定不传")
private BigDecimal sourceAccumulatePrepayment;
@Schema(description = "累计预付款金额(本位币-含税);暂定不传")
private BigDecimal basicAccumulatePrepayment;
@Schema(description = "履约保证金累计付款金额(原币);暂定不传")
private BigDecimal sourceAccumulateBond;
@Schema(description = "履约保证金累计付款金额(本位币);暂定不传")
private BigDecimal basicAccumulateBond;
@Schema(description = "履约保证金累计收款金额(原币);暂定不传")
private BigDecimal sourceAccumulateAmount;
@Schema(description = "履约保证金累计收款金额(本位币);暂定不传")
private BigDecimal basicAccumulateAmount;
@Schema(description = "是否框架合同;如果为是,合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税赋默认值为1000000000000000.00", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否框架合同;如果为是,合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税赋默认值为1000000000000000.00不能为空")
private String isFramework;
@Schema(description = "境内/境外", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "境内/境外不能为空")
private String isDomestic;
@Schema(description = "建筑服务发生地;销售合同且类型为SAP02COSR必填")
private String architectureServicePlace;
@Schema(description = "达到收款条件金额;销售合同且类型为SAP02COSR必填")
private BigDecimal payeeConditionAmount;
}

View File

@@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - ERP内部订单分页 Request VO")
@Data
public class ErpInternalOrderPageReqVO extends PageParam {
@Schema(description = "内部订单编号")
private String number;
@Schema(description = "内部订单描述", example = "王五")
private String name;
@Schema(description = "内部订单类型", example = "2")
private String type;
@Schema(description = "是否已关闭;使用这个基础数据是如果为X时必须和工区使用")
private String isOff;
@Schema(description = "是否已完成")
private String isFinish;
}

View File

@@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - ERP内部订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpInternalOrderRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "19327")
@ExcelProperty("主键")
private Long id;
@Schema(description = "内部订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("内部订单编号")
private String number;
@Schema(description = "内部订单描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("内部订单描述")
private String name;
@Schema(description = "内部订单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("内部订单类型")
private String type;
@Schema(description = "是否已关闭;使用这个基础数据是如果为X时必须和工区使用", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否已关闭;使用这个基础数据是如果为X时必须和工区使用")
private String isOff;
@Schema(description = "是否已完成")
@ExcelProperty("是否已完成")
private String isFinish;
}

View File

@@ -0,0 +1,33 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@Schema(description = "管理后台 - ERP内部订单新增/修改 Request VO")
@Data
public class ErpInternalOrderSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "19327")
private Long id;
@Schema(description = "内部订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "内部订单编号不能为空")
private String number;
@Schema(description = "内部订单描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "内部订单描述不能为空")
private String name;
@Schema(description = "内部订单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotEmpty(message = "内部订单类型不能为空")
private String type;
@Schema(description = "是否已关闭;使用这个基础数据是如果为X时必须和工区使用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否已关闭;使用这个基础数据是如果为X时必须和工区使用不能为空")
private String isOff;
@Schema(description = "是否已完成")
private String isFinish;
}

View File

@@ -0,0 +1,69 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
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 = "管理后台 - ERP生产订单分页 Request VO")
@Data
public class ErpProductiveOrderPageReqVO extends PageParam {
@Schema(description = "公司编号")
private String companyNumber;
@Schema(description = "工厂编码")
private String factoryNumber;
@Schema(description = "工厂名称", example = "赵六")
private String factoryName;
@Schema(description = "订单编号")
private String orderNumber;
@Schema(description = "基本开始日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] startDate;
@Schema(description = "基本完成日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] endDate;
@Schema(description = "主产品物料编号")
private String mainMaterialNumber;
@Schema(description = "计量单位")
private String unit;
@Schema(description = "物料描述")
private String materialDescription;
@Schema(description = "工序列表")
private String processingList;
@Schema(description = "工序编号")
private String processingNumber;
@Schema(description = "工序描述")
private String processingDescription;
@Schema(description = "对象编号")
private String objectNumber;
@Schema(description = "工作中心编码")
private String workCenterNumber;
@Schema(description = "工作中心描述")
private String workCenterDescription;
@Schema(description = "成本中心编码")
private String costcenterNumber;
@Schema(description = "成本中心描述", example = "赵六")
private String costcenterName;
}

View File

@@ -0,0 +1,87 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP生产订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpProductiveOrderRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24243")
@ExcelProperty("主键")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("公司编号")
private String companyNumber;
@Schema(description = "工厂编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("工厂编码")
private String factoryNumber;
@Schema(description = "工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("工厂名称")
private String factoryName;
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("订单编号")
private String orderNumber;
@Schema(description = "基本开始日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("基本开始日期")
private LocalDateTime startDate;
@Schema(description = "基本完成日期", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("基本完成日期")
private LocalDateTime endDate;
@Schema(description = "主产品物料编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("主产品物料编号")
private String mainMaterialNumber;
@Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("计量单位")
private String unit;
@Schema(description = "物料描述", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("物料描述")
private String materialDescription;
@Schema(description = "工序列表", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("工序列表")
private String processingList;
@Schema(description = "工序编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("工序编号")
private String processingNumber;
@Schema(description = "工序描述")
@ExcelProperty("工序描述")
private String processingDescription;
@Schema(description = "对象编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("对象编号")
private String objectNumber;
@Schema(description = "工作中心编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("工作中心编码")
private String workCenterNumber;
@Schema(description = "工作中心描述")
@ExcelProperty("工作中心描述")
private String workCenterDescription;
@Schema(description = "成本中心编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("成本中心编码")
private String costcenterNumber;
@Schema(description = "成本中心描述", example = "赵六")
@ExcelProperty("成本中心描述")
private String costcenterName;
}

View File

@@ -0,0 +1,82 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP生产订单新增/修改 Request VO")
@Data
public class ErpProductiveOrderSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24243")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司编号不能为空")
private String companyNumber;
@Schema(description = "工厂编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "工厂编码不能为空")
private String factoryNumber;
@Schema(description = "工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@NotEmpty(message = "工厂名称不能为空")
private String factoryName;
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "订单编号不能为空")
private String orderNumber;
@Schema(description = "基本开始日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "基本开始日期不能为空")
private LocalDateTime startDate;
@Schema(description = "基本完成日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "基本完成日期不能为空")
private LocalDateTime endDate;
@Schema(description = "主产品物料编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "主产品物料编号不能为空")
private String mainMaterialNumber;
@Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "计量单位不能为空")
private String unit;
@Schema(description = "物料描述", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "物料描述不能为空")
private String materialDescription;
@Schema(description = "工序列表", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "工序列表不能为空")
private String processingList;
@Schema(description = "工序编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "工序编号不能为空")
private String processingNumber;
@Schema(description = "工序描述")
private String processingDescription;
@Schema(description = "对象编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "对象编号不能为空")
private String objectNumber;
@Schema(description = "工作中心编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "工作中心编码不能为空")
private String workCenterNumber;
@Schema(description = "工作中心描述")
private String workCenterDescription;
@Schema(description = "成本中心编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "成本中心编码不能为空")
private String costcenterNumber;
@Schema(description = "成本中心描述", example = "赵六")
private String costcenterName;
}

View File

@@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - ERP采购组织分页 Request VO")
@Data
public class ErpPurchaseOrganizationPageReqVO extends PageParam {
@Schema(description = "采购组织编号")
private String number;
@Schema(description = "采购组织描述", example = "赵六")
private String name;
@Schema(description = "公司编码;存入ERP公司编码")
private String companyNumber;
}

View File

@@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - ERP采购组织 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpPurchaseOrganizationRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17344")
@ExcelProperty("主键")
private Long id;
@Schema(description = "采购组织编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("采购组织编号")
private String number;
@Schema(description = "采购组织描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("采购组织描述")
private String name;
@Schema(description = "公司编码;存入ERP公司编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("公司编码;存入ERP公司编码")
private String companyNumber;
}

View File

@@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@Schema(description = "管理后台 - ERP采购组织新增/修改 Request VO")
@Data
public class ErpPurchaseOrganizationSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17344")
private Long id;
@Schema(description = "采购组织编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "采购组织编号不能为空")
private String number;
@Schema(description = "采购组织描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@NotEmpty(message = "采购组织描述不能为空")
private String name;
@Schema(description = "公司编码;存入ERP公司编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司编码;存入ERP公司编码不能为空")
private String companyNumber;
}

View File

@@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - ERP销售组织分页 Request VO")
@Data
public class ErpSalesOrganizationPageReqVO extends PageParam {
@Schema(description = "销售组织编号")
private String number;
@Schema(description = "销售组织描述", example = "李四")
private String name;
@Schema(description = "公司编码;存入ERP公司编码")
private String companyNumber;
}

View File

@@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - ERP销售组织 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpSalesOrganizationRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22623")
@ExcelProperty("主键")
private Long id;
@Schema(description = "销售组织编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("销售组织编号")
private String number;
@Schema(description = "销售组织描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("销售组织描述")
private String name;
@Schema(description = "公司编码;存入ERP公司编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("公司编码;存入ERP公司编码")
private String companyNumber;
}

View File

@@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@Schema(description = "管理后台 - ERP销售组织新增/修改 Request VO")
@Data
public class ErpSalesOrganizationSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22623")
private Long id;
@Schema(description = "销售组织编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "销售组织编号不能为空")
private String number;
@Schema(description = "销售组织描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@NotEmpty(message = "销售组织描述不能为空")
private String name;
@Schema(description = "公司编码;存入ERP公司编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司编码;存入ERP公司编码不能为空")
private String companyNumber;
}

View File

@@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
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 = "管理后台 - ERP库位分页 Request VO")
@Data
public class ErpWarehousePageReqVO extends PageParam {
@Schema(description = "工厂编码;将查询参数存入")
private String factoryNumber;
@Schema(description = "库位描述", example = "张三")
private String name;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "库位编码")
private String number;
}

View File

@@ -0,0 +1,35 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP库位 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpWarehouseRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16847")
@ExcelProperty("主键")
private Long id;
@Schema(description = "工厂编码;将查询参数存入")
@ExcelProperty("工厂编码;将查询参数存入")
private String factoryNumber;
@Schema(description = "库位描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("库位描述")
private String name;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "库位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("库位编码")
private String number;
}

View File

@@ -0,0 +1,25 @@
package cn.iocoder.yudao.module.erp.controller.admin.erp.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@Schema(description = "管理后台 - ERP库位新增/修改 Request VO")
@Data
public class ErpWarehouseSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16847")
private Long id;
@Schema(description = "工厂编码;将查询参数存入")
private String factoryNumber;
@Schema(description = "库位描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "库位描述不能为空")
private String name;
@Schema(description = "库位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "库位编码不能为空")
private String number;
}

View File

@@ -0,0 +1,110 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* ERP资产卡片 DO
*
* @author 后台管理
*/
@TableName("sply_erp_ast")
@KeySequence("sply_erp_ast_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpAssetDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 公司编号
*/
@TableField("CPN_NUM")
private String companyNumber;
/**
* 资产主编码
*/
@TableField("MAIN_AST_NUM")
private String mainAssetNumber;
/**
* 记录创建日期
*/
@TableField("RCD_CRT_DT")
private LocalDateTime recordCreateDate;
/**
* 更改用户名
*/
@TableField("UPD_USER_NAME")
private String updateUserName;
/**
* 资产类编号
*/
@TableField("AST_TP_NUM")
private String assetTypeNumber;
/**
* 资产类描述
*/
@TableField("AST_TP_NAME")
private String assetTypeName;
/**
* 资产资本化日期
*/
@TableField("AST_DT")
private LocalDateTime assetDate;
/**
* 基本计量单位
*/
@TableField("UOM")
private String uom;
/**
* 数量
*/
@TableField("QTY")
private BigDecimal quantity;
/**
* 资产描述
*/
@TableField("AST_DSP")
private String assetDescription;
/**
* 附加资产描述
*/
@TableField("AST_DSP_ATT")
private String assetDescriptionAttach;
/**
* 折旧计算开始日期
*/
@TableField("DEPR_STRT_DT")
private LocalDateTime depreciationStartDate;
/**
* 计划年使用期
*/
@TableField("PLN_YR_DT")
private LocalDateTime planYearDate;
/**
* 成本中心编码
*/
@TableField("CCTR_NUM")
private String costcenterNumber;
/**
* 责任成本中心
*/
@TableField("DUTY_CCTR_NUM")
private String dutyCostcenterNumber;
}

View File

@@ -0,0 +1,330 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* ERP合同映射 DO
*
* @author 后台管理
*/
@TableName("bse_erp_ctrt")
@KeySequence("bse_erp_ctrt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpContractDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 操作标识
*/
@TableField("OPTN_ID")
private String operationId;
/**
* 合同主信息主键
*/
@TableField("CTRT_MAIN_ID")
private Long contractMainId;
/**
* 合同编号
*/
@TableField("CTRT_PPR_NUM")
private String contractPaperNumber;
/**
* 合同名称
*/
@TableField("CTRT_NAME")
private String contractName;
/**
* 合同类型编号
*/
@TableField("CTRT_TP_NUM")
private String contractTypeNumber;
/**
* 合同类型名称
*/
@TableField("CTRT_TP_NAME")
private String contractTypeName;
/**
* 合同类别
*/
@TableField("CTRT_CTGR")
private String contractCategory;
/**
* 是否虚拟合同
*/
@TableField("IS_VRTL_CTRT")
private String isVirtualContract;
/**
* 客户/供应商编号;SAP客商公司代码
*/
@TableField("SPLR_NUM")
private String supplierNumber;
/**
* 客户/供应商名称;SAP客商公司名称
*/
@TableField("SPLR_NAME")
private String supplierName;
/**
* 代理方;SAP客商公司代码
*/
@TableField("AGT")
private String agent;
/**
* 合同实施主体编号;SAP公司代码
*/
@TableField("CTRT_IMPL_NUM")
private String contractImplementNumber;
/**
* 合同签订主体编号;SAP公司代码
*/
@TableField("CTRT_SGN_NUM")
private String contractSignNumber;
/**
* 合同签订日期;格式YYYY-MM-DD
*/
@TableField("SGN_DT")
private LocalDate signDate;
/**
* 合同起始日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期
*/
@TableField("STRT_DT")
private LocalDate startDate;
/**
* 合同终止日期;格式YYYY-MM-DD长单合同长单合同起始日期 非长单:合同合同签订日期
*/
@TableField("STOP_DT")
private LocalDate stopDate;
/**
* 币种编号
*/
@TableField("CUR")
private String currency;
/**
* 合同总金额(原币-含税);非长单合同:合同金额 长单合同默认1000000000000000.00
*/
@TableField("SRC_AMT")
private BigDecimal sourceAmount;
/**
* 合同总金额(本位币-含税);非长单合同:合同金额*合同的临时汇率 长单合同默认1000000000000000.00
*/
@TableField("BSC_AMT")
private BigDecimal basicAmount;
/**
* 变更后合同总金额(原币-含税);如果未做合同变更,金额等于合同总金额(原币-含税)
*/
@TableField("CHG_SRC_AMT")
private BigDecimal changeSourceAmount;
/**
* 变更后合同总金额(本位币-含税);如果未做合同变更,金额等于合同总金额(本位币-含税)
*/
@TableField("CHG_BSC_AMT")
private BigDecimal changeBasicAmount;
/**
* 合同状态编号
*/
@TableField("STS_NUM")
private String statusNumber;
/**
* 合同状态名称
*/
@TableField("STS_NAME")
private String statusName;
/**
* 是否有预付款;长单合同:否,非长单:取合同的预付款
*/
@TableField("IS_PPYM")
private String isPrepayment;
/**
* 预付款比例;有预付款则需要填写
*/
@TableField("PPYM_RTIO")
private BigDecimal prepaymentRatio;
/**
* 预付款金额;有预付款则需要填写(通过计算得出)
*/
@TableField("PPYM_AMT")
private BigDecimal prepaymentAmount;
/**
* 履约保证金-变更前(原币)
*/
@TableField("SRC_BFR_BND")
private BigDecimal sourceBeforeBond;
/**
* 履约保证金-变更前(本位币)
*/
@TableField("BSC_BFR_BND")
private BigDecimal basicBeforeBond;
/**
* 履约保证金-变更后(原币)
*/
@TableField("SRC_AFT_BND")
private BigDecimal sourceAfterBond;
/**
* 履约保证金-变更后(本位币)
*/
@TableField("BSC_AFT_BND")
private BigDecimal basicAfterBond;
/**
* 是否含质保金
*/
@TableField("IS_QUA_AMT")
private String isQualityassuranceAmount;
/**
* 质保金比例;有质保金则需要填写
*/
@TableField("QUA_RTIO")
private BigDecimal qualityassuranceRatio;
/**
* 质保金金额;有质保金则需要填写
*/
@TableField("QUA_AMT")
private BigDecimal qualityassuranceAmount;
/**
* 是否内部企业
*/
@TableField("IS_INTL")
private String isInternal;
/**
* 收支性质
*/
@TableField("NTR")
private String nature;
/**
* 备注信息;提交ERP
*/
@TableField("RMK")
private String remark;
/**
* 累计结算金额(原币-含税);暂定不传
*/
@TableField("SRC_ACC_STLM_AMT")
private BigDecimal sourceAccumulateSettlementAmount;
/**
* 累计结算金额(本位币-含税);暂定不传
*/
@TableField("BSC_ACC_STLM_AMT")
private BigDecimal basicAccumulateSettlementAmount;
/**
* 累计已收付款金额(原币-含税);暂定不传
*/
@TableField("SRC_USE_AMT")
private BigDecimal sourceUseAmount;
/**
* 累计已收付款金额(本位币-含税);暂定不传
*/
@TableField("BSC_USE_AMT")
private BigDecimal basicUseAmount;
/**
* 累计已开收票金额(原币-含税);暂定不传
*/
@TableField("SRC_INV_AMT")
private BigDecimal sourceInvoiceAmount;
/**
* 累计已开收票金额(本位币-含税);暂定不传
*/
@TableField("BSC_INV_AMT")
private BigDecimal basicInvoiceAmount;
/**
* 累计预付款金额(原币-含税);暂定不传
*/
@TableField("SRC_ACC_PPYM")
private BigDecimal sourceAccumulatePrepayment;
/**
* 累计预付款金额(本位币-含税);暂定不传
*/
@TableField("BSC_ACC_PPYM")
private BigDecimal basicAccumulatePrepayment;
/**
* 履约保证金累计付款金额(原币);暂定不传
*/
@TableField("SRC_ACC_BND")
private BigDecimal sourceAccumulateBond;
/**
* 履约保证金累计付款金额(本位币);暂定不传
*/
@TableField("BSC_ACC_BND")
private BigDecimal basicAccumulateBond;
/**
* 履约保证金累计收款金额(原币);暂定不传
*/
@TableField("SRC_ACC_AMT")
private BigDecimal sourceAccumulateAmount;
/**
* 履约保证金累计收款金额(本位币);暂定不传
*/
@TableField("BSC_ACC_AMT")
private BigDecimal basicAccumulateAmount;
/**
* 是否框架合同;如果为是,合同总金额(本币)、合同总金额(原币)、变更后合同总金额(原币-含税)、变更后合同总金额(本位币-含税赋默认值为1000000000000000.00
*/
@TableField("IS_FMWK")
private String isFramework;
/**
* 境内/境外
*/
@TableField("IS_DOM")
private String isDomestic;
/**
* 建筑服务发生地;销售合同且类型为SAP02COSR必填
*/
@TableField("ARCH_SVC_PLCE")
private String architectureServicePlace;
/**
* 达到收款条件金额;销售合同且类型为SAP02COSR必填
*/
@TableField("PYEE_CND_AMT")
private BigDecimal payeeConditionAmount;
/**
* 公司编号
*/
@TableField("COMPANY_ID")
private Long companyId;
/**
* 公司名称
*/
@TableField("COMPANY_NAME")
private String companyName;
/**
* 部门编号
*/
@TableField("DEPT_ID")
private Long deptId;
/**
* 部门名称
*/
@TableField("DEPT_NAME")
private String deptName;
/**
* 岗位编号
*/
@TableField("POST_ID")
private Long postId;
/**
* 创建者
*/
@TableField("CREATOR_NAME")
private String creatorName;
/**
* 更新者
*/
@TableField("UPDATER_NAME")
private String updaterName;
}

View File

@@ -0,0 +1,57 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
/**
* ERP内部订单 DO
*
* @author 后台管理
*/
@TableName("sply_erp_intl_ord")
@KeySequence("sply_erp_intl_ord_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpInternalOrderDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 内部订单编号
*/
@TableField("NUM")
private String number;
/**
* 内部订单描述
*/
@TableField("NAME")
private String name;
/**
* 内部订单类型
*/
@TableField("TP")
private String type;
/**
* 是否已关闭;使用这个基础数据是如果为X时必须和工区使用
*/
@TableField("IS_OFF")
private String isOff;
/**
* 是否已完成
*/
@TableField("IS_FIN")
private String isFinish;
}

View File

@@ -0,0 +1,119 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import java.time.LocalDateTime;
/**
* ERP生产订单 DO
*
* @author 后台管理
*/
@TableName("sply_erp_pdtv_ord")
@KeySequence("sply_erp_pdtv_ord_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpProductiveOrderDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 公司编号
*/
@TableField("CPN_NUM")
private String companyNumber;
/**
* 工厂编码
*/
@TableField("FACT_NUM")
private String factoryNumber;
/**
* 工厂名称
*/
@TableField("FACT_NAME")
private String factoryName;
/**
* 订单编号
*/
@TableField("ORD_NUM")
private String orderNumber;
/**
* 基本开始日期
*/
@TableField("STRT_DT")
private LocalDateTime startDate;
/**
* 基本完成日期
*/
@TableField("END_DT")
private LocalDateTime endDate;
/**
* 主产品物料编号
*/
@TableField("MAIN_MTRL_NUM")
private String mainMaterialNumber;
/**
* 计量单位
*/
@TableField("UNT")
private String unit;
/**
* 物料描述
*/
@TableField("MTRL_DSP")
private String materialDescription;
/**
* 工序列表
*/
@TableField("PROC_LIST")
private String processingList;
/**
* 工序编号
*/
@TableField("PROC_NUM")
private String processingNumber;
/**
* 工序描述
*/
@TableField("PROC_DSP")
private String processingDescription;
/**
* 对象编号
*/
@TableField("OBJ_NUM")
private String objectNumber;
/**
* 工作中心编码
*/
@TableField("WRK_CTR_NUM")
private String workCenterNumber;
/**
* 工作中心描述
*/
@TableField("WRK_CTR_DSP")
private String workCenterDescription;
/**
* 成本中心编码
*/
@TableField("CCTR_NUM")
private String costcenterNumber;
/**
* 成本中心描述
*/
@TableField("CCTR_NAME")
private String costcenterName;
}

View File

@@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
/**
* ERP采购组织 DO
*
* @author 后台管理
*/
@TableName("sply_erp_prch_orgz")
@KeySequence("sply_erp_prch_orgz_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpPurchaseOrganizationDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 采购组织编号
*/
@TableField("NUM")
private String number;
/**
* 采购组织描述
*/
@TableField("NAME")
private String name;
/**
* 公司编码;存入ERP公司编码
*/
@TableField("CPN_NUM")
private String companyNumber;
}

View File

@@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
/**
* ERP销售组织 DO
*
* @author 后台管理
*/
@TableName("sply_erp_sale_orgz")
@KeySequence("sply_erp_sale_orgz_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpSalesOrganizationDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 销售组织编号
*/
@TableField("NUM")
private String number;
/**
* 销售组织描述
*/
@TableField("NAME")
private String name;
/**
* 公司编码;存入ERP公司编码
*/
@TableField("CPN_NUM")
private String companyNumber;
}

View File

@@ -0,0 +1,72 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.erp;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
/**
* ERP库位 DO
*
* @author 后台管理
*/
@TableName("sply_erp_wrh")
@KeySequence("sply_erp_wrh_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ErpWarehouseDO extends BaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 工厂编码;将查询参数存入
*/
@TableField("FACT_NUM")
private String factoryNumber;
/**
* 库位描述
*/
@TableField("NAME")
private String name;
/**
* 公司编号
*/
@TableField("COMPANY_ID")
private Long companyId;
/**
* 公司名称
*/
@TableField("COMPANY_NAME")
private String companyName;
/**
* 部门编号
*/
@TableField("DEPT_ID")
private Long deptId;
/**
* 部门名称
*/
@TableField("DEPT_NAME")
private String deptName;
/**
* 岗位编号
*/
@TableField("POST_ID")
private Long postId;
/**
* 库位编码
*/
@TableField("NUM")
private String number;
}

View File

@@ -0,0 +1,38 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpAssetDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP资产卡片 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpAssetMapper extends BaseMapperX<ErpAssetDO> {
default PageResult<ErpAssetDO> selectPage(ErpAssetPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpAssetDO>()
.eqIfPresent(ErpAssetDO::getCompanyNumber, reqVO.getCompanyNumber())
.eqIfPresent(ErpAssetDO::getMainAssetNumber, reqVO.getMainAssetNumber())
.betweenIfPresent(ErpAssetDO::getRecordCreateDate, reqVO.getRecordCreateDate())
.likeIfPresent(ErpAssetDO::getUpdateUserName, reqVO.getUpdateUserName())
.eqIfPresent(ErpAssetDO::getAssetTypeNumber, reqVO.getAssetTypeNumber())
.likeIfPresent(ErpAssetDO::getAssetTypeName, reqVO.getAssetTypeName())
.betweenIfPresent(ErpAssetDO::getAssetDate, reqVO.getAssetDate())
.eqIfPresent(ErpAssetDO::getUom, reqVO.getUom())
.eqIfPresent(ErpAssetDO::getQuantity, reqVO.getQuantity())
.eqIfPresent(ErpAssetDO::getAssetDescription, reqVO.getAssetDescription())
.eqIfPresent(ErpAssetDO::getAssetDescriptionAttach, reqVO.getAssetDescriptionAttach())
.betweenIfPresent(ErpAssetDO::getDepreciationStartDate, reqVO.getDepreciationStartDate())
.betweenIfPresent(ErpAssetDO::getPlanYearDate, reqVO.getPlanYearDate())
.eqIfPresent(ErpAssetDO::getCostcenterNumber, reqVO.getCostcenterNumber())
.eqIfPresent(ErpAssetDO::getDutyCostcenterNumber, reqVO.getDutyCostcenterNumber())
.orderByDesc(ErpAssetDO::getId));
}
}

View File

@@ -0,0 +1,76 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpContractDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP合同映射 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpContractMapper extends BaseMapperX<ErpContractDO> {
default PageResult<ErpContractDO> selectPage(ErpContractPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpContractDO>()
.eqIfPresent(ErpContractDO::getOperationId, reqVO.getOperationId())
.eqIfPresent(ErpContractDO::getContractMainId, reqVO.getContractMainId())
.eqIfPresent(ErpContractDO::getContractPaperNumber, reqVO.getContractPaperNumber())
.likeIfPresent(ErpContractDO::getContractName, reqVO.getContractName())
.eqIfPresent(ErpContractDO::getContractTypeNumber, reqVO.getContractTypeNumber())
.likeIfPresent(ErpContractDO::getContractTypeName, reqVO.getContractTypeName())
.eqIfPresent(ErpContractDO::getContractCategory, reqVO.getContractCategory())
.eqIfPresent(ErpContractDO::getIsVirtualContract, reqVO.getIsVirtualContract())
.eqIfPresent(ErpContractDO::getSupplierNumber, reqVO.getSupplierNumber())
.likeIfPresent(ErpContractDO::getSupplierName, reqVO.getSupplierName())
.eqIfPresent(ErpContractDO::getAgent, reqVO.getAgent())
.eqIfPresent(ErpContractDO::getContractImplementNumber, reqVO.getContractImplementNumber())
.eqIfPresent(ErpContractDO::getContractSignNumber, reqVO.getContractSignNumber())
.betweenIfPresent(ErpContractDO::getSignDate, reqVO.getSignDate())
.betweenIfPresent(ErpContractDO::getStartDate, reqVO.getStartDate())
.betweenIfPresent(ErpContractDO::getStopDate, reqVO.getStopDate())
.eqIfPresent(ErpContractDO::getCurrency, reqVO.getCurrency())
.eqIfPresent(ErpContractDO::getSourceAmount, reqVO.getSourceAmount())
.eqIfPresent(ErpContractDO::getBasicAmount, reqVO.getBasicAmount())
.eqIfPresent(ErpContractDO::getChangeSourceAmount, reqVO.getChangeSourceAmount())
.eqIfPresent(ErpContractDO::getChangeBasicAmount, reqVO.getChangeBasicAmount())
.eqIfPresent(ErpContractDO::getStatusNumber, reqVO.getStatusNumber())
.likeIfPresent(ErpContractDO::getStatusName, reqVO.getStatusName())
.eqIfPresent(ErpContractDO::getIsPrepayment, reqVO.getIsPrepayment())
.eqIfPresent(ErpContractDO::getPrepaymentRatio, reqVO.getPrepaymentRatio())
.eqIfPresent(ErpContractDO::getPrepaymentAmount, reqVO.getPrepaymentAmount())
.eqIfPresent(ErpContractDO::getSourceBeforeBond, reqVO.getSourceBeforeBond())
.eqIfPresent(ErpContractDO::getBasicBeforeBond, reqVO.getBasicBeforeBond())
.eqIfPresent(ErpContractDO::getSourceAfterBond, reqVO.getSourceAfterBond())
.eqIfPresent(ErpContractDO::getBasicAfterBond, reqVO.getBasicAfterBond())
.eqIfPresent(ErpContractDO::getIsQualityassuranceAmount, reqVO.getIsQualityassuranceAmount())
.eqIfPresent(ErpContractDO::getQualityassuranceRatio, reqVO.getQualityassuranceRatio())
.eqIfPresent(ErpContractDO::getQualityassuranceAmount, reqVO.getQualityassuranceAmount())
.eqIfPresent(ErpContractDO::getIsInternal, reqVO.getIsInternal())
.eqIfPresent(ErpContractDO::getNature, reqVO.getNature())
.eqIfPresent(ErpContractDO::getRemark, reqVO.getRemark())
.eqIfPresent(ErpContractDO::getSourceAccumulateSettlementAmount, reqVO.getSourceAccumulateSettlementAmount())
.eqIfPresent(ErpContractDO::getBasicAccumulateSettlementAmount, reqVO.getBasicAccumulateSettlementAmount())
.eqIfPresent(ErpContractDO::getSourceUseAmount, reqVO.getSourceUseAmount())
.eqIfPresent(ErpContractDO::getBasicUseAmount, reqVO.getBasicUseAmount())
.eqIfPresent(ErpContractDO::getSourceInvoiceAmount, reqVO.getSourceInvoiceAmount())
.eqIfPresent(ErpContractDO::getBasicInvoiceAmount, reqVO.getBasicInvoiceAmount())
.eqIfPresent(ErpContractDO::getSourceAccumulatePrepayment, reqVO.getSourceAccumulatePrepayment())
.eqIfPresent(ErpContractDO::getBasicAccumulatePrepayment, reqVO.getBasicAccumulatePrepayment())
.eqIfPresent(ErpContractDO::getSourceAccumulateBond, reqVO.getSourceAccumulateBond())
.eqIfPresent(ErpContractDO::getBasicAccumulateBond, reqVO.getBasicAccumulateBond())
.eqIfPresent(ErpContractDO::getSourceAccumulateAmount, reqVO.getSourceAccumulateAmount())
.eqIfPresent(ErpContractDO::getBasicAccumulateAmount, reqVO.getBasicAccumulateAmount())
.eqIfPresent(ErpContractDO::getIsFramework, reqVO.getIsFramework())
.eqIfPresent(ErpContractDO::getIsDomestic, reqVO.getIsDomestic())
.eqIfPresent(ErpContractDO::getArchitectureServicePlace, reqVO.getArchitectureServicePlace())
.eqIfPresent(ErpContractDO::getPayeeConditionAmount, reqVO.getPayeeConditionAmount())
.betweenIfPresent(ErpContractDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(ErpContractDO::getId));
}
}

View File

@@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpInternalOrderDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP内部订单 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpInternalOrderMapper extends BaseMapperX<ErpInternalOrderDO> {
default PageResult<ErpInternalOrderDO> selectPage(ErpInternalOrderPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpInternalOrderDO>()
.eqIfPresent(ErpInternalOrderDO::getNumber, reqVO.getNumber())
.likeIfPresent(ErpInternalOrderDO::getName, reqVO.getName())
.eqIfPresent(ErpInternalOrderDO::getType, reqVO.getType())
.eqIfPresent(ErpInternalOrderDO::getIsOff, reqVO.getIsOff())
.eqIfPresent(ErpInternalOrderDO::getIsFinish, reqVO.getIsFinish())
.orderByDesc(ErpInternalOrderDO::getId));
}
}

View File

@@ -0,0 +1,40 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpProductiveOrderDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP生产订单 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpProductiveOrderMapper extends BaseMapperX<ErpProductiveOrderDO> {
default PageResult<ErpProductiveOrderDO> selectPage(ErpProductiveOrderPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpProductiveOrderDO>()
.eqIfPresent(ErpProductiveOrderDO::getCompanyNumber, reqVO.getCompanyNumber())
.eqIfPresent(ErpProductiveOrderDO::getFactoryNumber, reqVO.getFactoryNumber())
.likeIfPresent(ErpProductiveOrderDO::getFactoryName, reqVO.getFactoryName())
.eqIfPresent(ErpProductiveOrderDO::getOrderNumber, reqVO.getOrderNumber())
.betweenIfPresent(ErpProductiveOrderDO::getStartDate, reqVO.getStartDate())
.betweenIfPresent(ErpProductiveOrderDO::getEndDate, reqVO.getEndDate())
.eqIfPresent(ErpProductiveOrderDO::getMainMaterialNumber, reqVO.getMainMaterialNumber())
.eqIfPresent(ErpProductiveOrderDO::getUnit, reqVO.getUnit())
.eqIfPresent(ErpProductiveOrderDO::getMaterialDescription, reqVO.getMaterialDescription())
.eqIfPresent(ErpProductiveOrderDO::getProcessingList, reqVO.getProcessingList())
.eqIfPresent(ErpProductiveOrderDO::getProcessingNumber, reqVO.getProcessingNumber())
.eqIfPresent(ErpProductiveOrderDO::getProcessingDescription, reqVO.getProcessingDescription())
.eqIfPresent(ErpProductiveOrderDO::getObjectNumber, reqVO.getObjectNumber())
.eqIfPresent(ErpProductiveOrderDO::getWorkCenterNumber, reqVO.getWorkCenterNumber())
.eqIfPresent(ErpProductiveOrderDO::getWorkCenterDescription, reqVO.getWorkCenterDescription())
.eqIfPresent(ErpProductiveOrderDO::getCostcenterNumber, reqVO.getCostcenterNumber())
.likeIfPresent(ErpProductiveOrderDO::getCostcenterName, reqVO.getCostcenterName())
.orderByDesc(ErpProductiveOrderDO::getId));
}
}

View File

@@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpPurchaseOrganizationDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP采购组织 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpPurchaseOrganizationMapper extends BaseMapperX<ErpPurchaseOrganizationDO> {
default PageResult<ErpPurchaseOrganizationDO> selectPage(ErpPurchaseOrganizationPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpPurchaseOrganizationDO>()
.eqIfPresent(ErpPurchaseOrganizationDO::getNumber, reqVO.getNumber())
.likeIfPresent(ErpPurchaseOrganizationDO::getName, reqVO.getName())
.eqIfPresent(ErpPurchaseOrganizationDO::getCompanyNumber, reqVO.getCompanyNumber())
.orderByDesc(ErpPurchaseOrganizationDO::getId));
}
}

View File

@@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpSalesOrganizationDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP销售组织 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpSalesOrganizationMapper extends BaseMapperX<ErpSalesOrganizationDO> {
default PageResult<ErpSalesOrganizationDO> selectPage(ErpSalesOrganizationPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpSalesOrganizationDO>()
.eqIfPresent(ErpSalesOrganizationDO::getNumber, reqVO.getNumber())
.likeIfPresent(ErpSalesOrganizationDO::getName, reqVO.getName())
.eqIfPresent(ErpSalesOrganizationDO::getCompanyNumber, reqVO.getCompanyNumber())
.orderByDesc(ErpSalesOrganizationDO::getId));
}
}

View File

@@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.erp.dal.mysql.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehousePageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpWarehouseDO;
import org.apache.ibatis.annotations.Mapper;
/**
* ERP库位 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ErpWarehouseMapper extends BaseMapperX<ErpWarehouseDO> {
default PageResult<ErpWarehouseDO> selectPage(ErpWarehousePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpWarehouseDO>()
.eqIfPresent(ErpWarehouseDO::getFactoryNumber, reqVO.getFactoryNumber())
.likeIfPresent(ErpWarehouseDO::getName, reqVO.getName())
.betweenIfPresent(ErpWarehouseDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ErpWarehouseDO::getNumber, reqVO.getNumber())
.orderByDesc(ErpWarehouseDO::getId));
}
}

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpAssetDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP资产卡片 Service 接口
*
* @author 后台管理
*/
public interface ErpAssetService {
/**
* 创建ERP资产卡片
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpAssetRespVO createErpAsset(@Valid ErpAssetSaveReqVO createReqVO);
/**
* 更新ERP资产卡片
*
* @param updateReqVO 更新信息
*/
void updateErpAsset(@Valid ErpAssetSaveReqVO updateReqVO);
/**
* 删除ERP资产卡片
*
* @param id 编号
*/
void deleteErpAsset(Long id);
/**
* 批量删除ERP资产卡片
*
* @param ids 编号
*/
void deleteErpAssetListByIds(List<Long> ids);
/**
* 获得ERP资产卡片
*
* @param id 编号
* @return ERP资产卡片
*/
ErpAssetDO getErpAsset(Long id);
/**
* 获得ERP资产卡片分页
*
* @param pageReqVO 分页查询
* @return ERP资产卡片分页
*/
PageResult<ErpAssetDO> getErpAssetPage(ErpAssetPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpAssetSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpAssetDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpAssetMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_ASSET_NOT_EXISTS;
/**
* ERP资产卡片 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpAssetServiceImpl implements ErpAssetService {
@Resource
private ErpAssetMapper erpAssetMapper;
@Override
public ErpAssetRespVO createErpAsset(ErpAssetSaveReqVO createReqVO) {
// 插入
ErpAssetDO erpAsset = BeanUtils.toBean(createReqVO, ErpAssetDO.class);
erpAssetMapper.insert(erpAsset);
// 返回
return BeanUtils.toBean(erpAsset, ErpAssetRespVO.class);
}
@Override
public void updateErpAsset(ErpAssetSaveReqVO updateReqVO) {
// 校验存在
validateErpAssetExists(updateReqVO.getId());
// 更新
ErpAssetDO updateObj = BeanUtils.toBean(updateReqVO, ErpAssetDO.class);
erpAssetMapper.updateById(updateObj);
}
@Override
public void deleteErpAsset(Long id) {
// 校验存在
validateErpAssetExists(id);
// 删除
erpAssetMapper.deleteById(id);
}
@Override
public void deleteErpAssetListByIds(List<Long> ids) {
// 校验存在
validateErpAssetExists(ids);
// 删除
erpAssetMapper.deleteByIds(ids);
}
private void validateErpAssetExists(List<Long> ids) {
List<ErpAssetDO> list = erpAssetMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_ASSET_NOT_EXISTS);
}
}
private void validateErpAssetExists(Long id) {
if (erpAssetMapper.selectById(id) == null) {
throw exception(ERP_ASSET_NOT_EXISTS);
}
}
@Override
public ErpAssetDO getErpAsset(Long id) {
return erpAssetMapper.selectById(id);
}
@Override
public PageResult<ErpAssetDO> getErpAssetPage(ErpAssetPageReqVO pageReqVO) {
return erpAssetMapper.selectPage(pageReqVO);
}
}

View File

@@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpCompanyDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpCompanyMapper; import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpCompanyMapper;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.xxl.job.core.handler.annotation.XxlJob;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -99,6 +100,7 @@ public class ErpCompanyServiceImpl implements ErpCompanyService {
@Override @Override
@Transactional @Transactional
@XxlJob("getCompanyTask")
public void callErpRfcInterface() { public void callErpRfcInterface() {
try { try {
OftenEnum.FuncnrEnum funcnrEnum =OftenEnum.FuncnrEnum.公司代码; OftenEnum.FuncnrEnum funcnrEnum =OftenEnum.FuncnrEnum.公司代码;

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpContractDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP合同映射 Service 接口
*
* @author 后台管理
*/
public interface ErpContractService {
/**
* 创建ERP合同映射
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpContractRespVO createErpContract(@Valid ErpContractSaveReqVO createReqVO);
/**
* 更新ERP合同映射
*
* @param updateReqVO 更新信息
*/
void updateErpContract(@Valid ErpContractSaveReqVO updateReqVO);
/**
* 删除ERP合同映射
*
* @param id 编号
*/
void deleteErpContract(Long id);
/**
* 批量删除ERP合同映射
*
* @param ids 编号
*/
void deleteErpContractListByIds(List<Long> ids);
/**
* 获得ERP合同映射
*
* @param id 编号
* @return ERP合同映射
*/
ErpContractDO getErpContract(Long id);
/**
* 获得ERP合同映射分页
*
* @param pageReqVO 分页查询
* @return ERP合同映射分页
*/
PageResult<ErpContractDO> getErpContractPage(ErpContractPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpContractDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpContractMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_CONTRACT_NOT_EXISTS;
/**
* ERP合同映射 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpContractServiceImpl implements ErpContractService {
@Resource
private ErpContractMapper erpContractMapper;
@Override
public ErpContractRespVO createErpContract(ErpContractSaveReqVO createReqVO) {
// 插入
ErpContractDO erpContract = BeanUtils.toBean(createReqVO, ErpContractDO.class);
erpContractMapper.insert(erpContract);
// 返回
return BeanUtils.toBean(erpContract, ErpContractRespVO.class);
}
@Override
public void updateErpContract(ErpContractSaveReqVO updateReqVO) {
// 校验存在
validateErpContractExists(updateReqVO.getId());
// 更新
ErpContractDO updateObj = BeanUtils.toBean(updateReqVO, ErpContractDO.class);
erpContractMapper.updateById(updateObj);
}
@Override
public void deleteErpContract(Long id) {
// 校验存在
validateErpContractExists(id);
// 删除
erpContractMapper.deleteById(id);
}
@Override
public void deleteErpContractListByIds(List<Long> ids) {
// 校验存在
validateErpContractExists(ids);
// 删除
erpContractMapper.deleteByIds(ids);
}
private void validateErpContractExists(List<Long> ids) {
List<ErpContractDO> list = erpContractMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_CONTRACT_NOT_EXISTS);
}
}
private void validateErpContractExists(Long id) {
if (erpContractMapper.selectById(id) == null) {
throw exception(ERP_CONTRACT_NOT_EXISTS);
}
}
@Override
public ErpContractDO getErpContract(Long id) {
return erpContractMapper.selectById(id);
}
@Override
public PageResult<ErpContractDO> getErpContractPage(ErpContractPageReqVO pageReqVO) {
return erpContractMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpInternalOrderDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP内部订单 Service 接口
*
* @author 后台管理
*/
public interface ErpInternalOrderService {
/**
* 创建ERP内部订单
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpInternalOrderRespVO createErpInternalOrder(@Valid ErpInternalOrderSaveReqVO createReqVO);
/**
* 更新ERP内部订单
*
* @param updateReqVO 更新信息
*/
void updateErpInternalOrder(@Valid ErpInternalOrderSaveReqVO updateReqVO);
/**
* 删除ERP内部订单
*
* @param id 编号
*/
void deleteErpInternalOrder(Long id);
/**
* 批量删除ERP内部订单
*
* @param ids 编号
*/
void deleteErpInternalOrderListByIds(List<Long> ids);
/**
* 获得ERP内部订单
*
* @param id 编号
* @return ERP内部订单
*/
ErpInternalOrderDO getErpInternalOrder(Long id);
/**
* 获得ERP内部订单分页
*
* @param pageReqVO 分页查询
* @return ERP内部订单分页
*/
PageResult<ErpInternalOrderDO> getErpInternalOrderPage(ErpInternalOrderPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpInternalOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpInternalOrderDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpInternalOrderMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_INTERNAL_ORDER_NOT_EXISTS;
/**
* ERP内部订单 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpInternalOrderServiceImpl implements ErpInternalOrderService {
@Resource
private ErpInternalOrderMapper erpInternalOrderMapper;
@Override
public ErpInternalOrderRespVO createErpInternalOrder(ErpInternalOrderSaveReqVO createReqVO) {
// 插入
ErpInternalOrderDO erpInternalOrder = BeanUtils.toBean(createReqVO, ErpInternalOrderDO.class);
erpInternalOrderMapper.insert(erpInternalOrder);
// 返回
return BeanUtils.toBean(erpInternalOrder, ErpInternalOrderRespVO.class);
}
@Override
public void updateErpInternalOrder(ErpInternalOrderSaveReqVO updateReqVO) {
// 校验存在
validateErpInternalOrderExists(updateReqVO.getId());
// 更新
ErpInternalOrderDO updateObj = BeanUtils.toBean(updateReqVO, ErpInternalOrderDO.class);
erpInternalOrderMapper.updateById(updateObj);
}
@Override
public void deleteErpInternalOrder(Long id) {
// 校验存在
validateErpInternalOrderExists(id);
// 删除
erpInternalOrderMapper.deleteById(id);
}
@Override
public void deleteErpInternalOrderListByIds(List<Long> ids) {
// 校验存在
validateErpInternalOrderExists(ids);
// 删除
erpInternalOrderMapper.deleteByIds(ids);
}
private void validateErpInternalOrderExists(List<Long> ids) {
List<ErpInternalOrderDO> list = erpInternalOrderMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_INTERNAL_ORDER_NOT_EXISTS);
}
}
private void validateErpInternalOrderExists(Long id) {
if (erpInternalOrderMapper.selectById(id) == null) {
throw exception(ERP_INTERNAL_ORDER_NOT_EXISTS);
}
}
@Override
public ErpInternalOrderDO getErpInternalOrder(Long id) {
return erpInternalOrderMapper.selectById(id);
}
@Override
public PageResult<ErpInternalOrderDO> getErpInternalOrderPage(ErpInternalOrderPageReqVO pageReqVO) {
return erpInternalOrderMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpProductiveOrderDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP生产订单 Service 接口
*
* @author 后台管理
*/
public interface ErpProductiveOrderService {
/**
* 创建ERP生产订单
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpProductiveOrderRespVO createErpProductiveOrder(@Valid ErpProductiveOrderSaveReqVO createReqVO);
/**
* 更新ERP生产订单
*
* @param updateReqVO 更新信息
*/
void updateErpProductiveOrder(@Valid ErpProductiveOrderSaveReqVO updateReqVO);
/**
* 删除ERP生产订单
*
* @param id 编号
*/
void deleteErpProductiveOrder(Long id);
/**
* 批量删除ERP生产订单
*
* @param ids 编号
*/
void deleteErpProductiveOrderListByIds(List<Long> ids);
/**
* 获得ERP生产订单
*
* @param id 编号
* @return ERP生产订单
*/
ErpProductiveOrderDO getErpProductiveOrder(Long id);
/**
* 获得ERP生产订单分页
*
* @param pageReqVO 分页查询
* @return ERP生产订单分页
*/
PageResult<ErpProductiveOrderDO> getErpProductiveOrderPage(ErpProductiveOrderPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpProductiveOrderSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpProductiveOrderDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpProductiveOrderMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_PRODUCTIVE_ORDER_NOT_EXISTS;
/**
* ERP生产订单 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpProductiveOrderServiceImpl implements ErpProductiveOrderService {
@Resource
private ErpProductiveOrderMapper erpProductiveOrderMapper;
@Override
public ErpProductiveOrderRespVO createErpProductiveOrder(ErpProductiveOrderSaveReqVO createReqVO) {
// 插入
ErpProductiveOrderDO erpProductiveOrder = BeanUtils.toBean(createReqVO, ErpProductiveOrderDO.class);
erpProductiveOrderMapper.insert(erpProductiveOrder);
// 返回
return BeanUtils.toBean(erpProductiveOrder, ErpProductiveOrderRespVO.class);
}
@Override
public void updateErpProductiveOrder(ErpProductiveOrderSaveReqVO updateReqVO) {
// 校验存在
validateErpProductiveOrderExists(updateReqVO.getId());
// 更新
ErpProductiveOrderDO updateObj = BeanUtils.toBean(updateReqVO, ErpProductiveOrderDO.class);
erpProductiveOrderMapper.updateById(updateObj);
}
@Override
public void deleteErpProductiveOrder(Long id) {
// 校验存在
validateErpProductiveOrderExists(id);
// 删除
erpProductiveOrderMapper.deleteById(id);
}
@Override
public void deleteErpProductiveOrderListByIds(List<Long> ids) {
// 校验存在
validateErpProductiveOrderExists(ids);
// 删除
erpProductiveOrderMapper.deleteByIds(ids);
}
private void validateErpProductiveOrderExists(List<Long> ids) {
List<ErpProductiveOrderDO> list = erpProductiveOrderMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_PRODUCTIVE_ORDER_NOT_EXISTS);
}
}
private void validateErpProductiveOrderExists(Long id) {
if (erpProductiveOrderMapper.selectById(id) == null) {
throw exception(ERP_PRODUCTIVE_ORDER_NOT_EXISTS);
}
}
@Override
public ErpProductiveOrderDO getErpProductiveOrder(Long id) {
return erpProductiveOrderMapper.selectById(id);
}
@Override
public PageResult<ErpProductiveOrderDO> getErpProductiveOrderPage(ErpProductiveOrderPageReqVO pageReqVO) {
return erpProductiveOrderMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpPurchaseOrganizationDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP采购组织 Service 接口
*
* @author 后台管理
*/
public interface ErpPurchaseOrganizationService {
/**
* 创建ERP采购组织
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpPurchaseOrganizationRespVO createErpPurchaseOrganization(@Valid ErpPurchaseOrganizationSaveReqVO createReqVO);
/**
* 更新ERP采购组织
*
* @param updateReqVO 更新信息
*/
void updateErpPurchaseOrganization(@Valid ErpPurchaseOrganizationSaveReqVO updateReqVO);
/**
* 删除ERP采购组织
*
* @param id 编号
*/
void deleteErpPurchaseOrganization(Long id);
/**
* 批量删除ERP采购组织
*
* @param ids 编号
*/
void deleteErpPurchaseOrganizationListByIds(List<Long> ids);
/**
* 获得ERP采购组织
*
* @param id 编号
* @return ERP采购组织
*/
ErpPurchaseOrganizationDO getErpPurchaseOrganization(Long id);
/**
* 获得ERP采购组织分页
*
* @param pageReqVO 分页查询
* @return ERP采购组织分页
*/
PageResult<ErpPurchaseOrganizationDO> getErpPurchaseOrganizationPage(ErpPurchaseOrganizationPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpPurchaseOrganizationSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpPurchaseOrganizationDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpPurchaseOrganizationMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_PURCHASE_ORGANIZATION_NOT_EXISTS;
/**
* ERP采购组织 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpPurchaseOrganizationServiceImpl implements ErpPurchaseOrganizationService {
@Resource
private ErpPurchaseOrganizationMapper erpPurchaseOrganizationMapper;
@Override
public ErpPurchaseOrganizationRespVO createErpPurchaseOrganization(ErpPurchaseOrganizationSaveReqVO createReqVO) {
// 插入
ErpPurchaseOrganizationDO erpPurchaseOrganization = BeanUtils.toBean(createReqVO, ErpPurchaseOrganizationDO.class);
erpPurchaseOrganizationMapper.insert(erpPurchaseOrganization);
// 返回
return BeanUtils.toBean(erpPurchaseOrganization, ErpPurchaseOrganizationRespVO.class);
}
@Override
public void updateErpPurchaseOrganization(ErpPurchaseOrganizationSaveReqVO updateReqVO) {
// 校验存在
validateErpPurchaseOrganizationExists(updateReqVO.getId());
// 更新
ErpPurchaseOrganizationDO updateObj = BeanUtils.toBean(updateReqVO, ErpPurchaseOrganizationDO.class);
erpPurchaseOrganizationMapper.updateById(updateObj);
}
@Override
public void deleteErpPurchaseOrganization(Long id) {
// 校验存在
validateErpPurchaseOrganizationExists(id);
// 删除
erpPurchaseOrganizationMapper.deleteById(id);
}
@Override
public void deleteErpPurchaseOrganizationListByIds(List<Long> ids) {
// 校验存在
validateErpPurchaseOrganizationExists(ids);
// 删除
erpPurchaseOrganizationMapper.deleteByIds(ids);
}
private void validateErpPurchaseOrganizationExists(List<Long> ids) {
List<ErpPurchaseOrganizationDO> list = erpPurchaseOrganizationMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_PURCHASE_ORGANIZATION_NOT_EXISTS);
}
}
private void validateErpPurchaseOrganizationExists(Long id) {
if (erpPurchaseOrganizationMapper.selectById(id) == null) {
throw exception(ERP_PURCHASE_ORGANIZATION_NOT_EXISTS);
}
}
@Override
public ErpPurchaseOrganizationDO getErpPurchaseOrganization(Long id) {
return erpPurchaseOrganizationMapper.selectById(id);
}
@Override
public PageResult<ErpPurchaseOrganizationDO> getErpPurchaseOrganizationPage(ErpPurchaseOrganizationPageReqVO pageReqVO) {
return erpPurchaseOrganizationMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpSalesOrganizationDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP销售组织 Service 接口
*
* @author 后台管理
*/
public interface ErpSalesOrganizationService {
/**
* 创建ERP销售组织
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpSalesOrganizationRespVO createErpSalesOrganization(@Valid ErpSalesOrganizationSaveReqVO createReqVO);
/**
* 更新ERP销售组织
*
* @param updateReqVO 更新信息
*/
void updateErpSalesOrganization(@Valid ErpSalesOrganizationSaveReqVO updateReqVO);
/**
* 删除ERP销售组织
*
* @param id 编号
*/
void deleteErpSalesOrganization(Long id);
/**
* 批量删除ERP销售组织
*
* @param ids 编号
*/
void deleteErpSalesOrganizationListByIds(List<Long> ids);
/**
* 获得ERP销售组织
*
* @param id 编号
* @return ERP销售组织
*/
ErpSalesOrganizationDO getErpSalesOrganization(Long id);
/**
* 获得ERP销售组织分页
*
* @param pageReqVO 分页查询
* @return ERP销售组织分页
*/
PageResult<ErpSalesOrganizationDO> getErpSalesOrganizationPage(ErpSalesOrganizationPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpSalesOrganizationSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpSalesOrganizationDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpSalesOrganizationMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_SALES_ORGANIZATION_NOT_EXISTS;
/**
* ERP销售组织 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpSalesOrganizationServiceImpl implements ErpSalesOrganizationService {
@Resource
private ErpSalesOrganizationMapper erpSalesOrganizationMapper;
@Override
public ErpSalesOrganizationRespVO createErpSalesOrganization(ErpSalesOrganizationSaveReqVO createReqVO) {
// 插入
ErpSalesOrganizationDO erpSalesOrganization = BeanUtils.toBean(createReqVO, ErpSalesOrganizationDO.class);
erpSalesOrganizationMapper.insert(erpSalesOrganization);
// 返回
return BeanUtils.toBean(erpSalesOrganization, ErpSalesOrganizationRespVO.class);
}
@Override
public void updateErpSalesOrganization(ErpSalesOrganizationSaveReqVO updateReqVO) {
// 校验存在
validateErpSalesOrganizationExists(updateReqVO.getId());
// 更新
ErpSalesOrganizationDO updateObj = BeanUtils.toBean(updateReqVO, ErpSalesOrganizationDO.class);
erpSalesOrganizationMapper.updateById(updateObj);
}
@Override
public void deleteErpSalesOrganization(Long id) {
// 校验存在
validateErpSalesOrganizationExists(id);
// 删除
erpSalesOrganizationMapper.deleteById(id);
}
@Override
public void deleteErpSalesOrganizationListByIds(List<Long> ids) {
// 校验存在
validateErpSalesOrganizationExists(ids);
// 删除
erpSalesOrganizationMapper.deleteByIds(ids);
}
private void validateErpSalesOrganizationExists(List<Long> ids) {
List<ErpSalesOrganizationDO> list = erpSalesOrganizationMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_SALES_ORGANIZATION_NOT_EXISTS);
}
}
private void validateErpSalesOrganizationExists(Long id) {
if (erpSalesOrganizationMapper.selectById(id) == null) {
throw exception(ERP_SALES_ORGANIZATION_NOT_EXISTS);
}
}
@Override
public ErpSalesOrganizationDO getErpSalesOrganization(Long id) {
return erpSalesOrganizationMapper.selectById(id);
}
@Override
public PageResult<ErpSalesOrganizationDO> getErpSalesOrganizationPage(ErpSalesOrganizationPageReqVO pageReqVO) {
return erpSalesOrganizationMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehousePageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehouseRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehouseSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpWarehouseDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* ERP库位 Service 接口
*
* @author 后台管理
*/
public interface ErpWarehouseService {
/**
* 创建ERP库位
*
* @param createReqVO 创建信息
* @return 编号
*/
ErpWarehouseRespVO createErpWarehouse(@Valid ErpWarehouseSaveReqVO createReqVO);
/**
* 更新ERP库位
*
* @param updateReqVO 更新信息
*/
void updateErpWarehouse(@Valid ErpWarehouseSaveReqVO updateReqVO);
/**
* 删除ERP库位
*
* @param id 编号
*/
void deleteErpWarehouse(Long id);
/**
* 批量删除ERP库位
*
* @param ids 编号
*/
void deleteErpWarehouseListByIds(List<Long> ids);
/**
* 获得ERP库位
*
* @param id 编号
* @return ERP库位
*/
ErpWarehouseDO getErpWarehouse(Long id);
/**
* 获得ERP库位分页
*
* @param pageReqVO 分页查询
* @return ERP库位分页
*/
PageResult<ErpWarehouseDO> getErpWarehousePage(ErpWarehousePageReqVO pageReqVO);
}

View File

@@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.erp.service.erp;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehousePageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehouseRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.erp.vo.ErpWarehouseSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.erp.ErpWarehouseDO;
import cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpWarehouseMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.ERP_WAREHOUSE_NOT_EXISTS;
/**
* ERP库位 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ErpWarehouseServiceImpl implements ErpWarehouseService {
@Resource
private ErpWarehouseMapper erpWarehouseMapper;
@Override
public ErpWarehouseRespVO createErpWarehouse(ErpWarehouseSaveReqVO createReqVO) {
// 插入
ErpWarehouseDO erpWarehouse = BeanUtils.toBean(createReqVO, ErpWarehouseDO.class);
erpWarehouseMapper.insert(erpWarehouse);
// 返回
return BeanUtils.toBean(erpWarehouse, ErpWarehouseRespVO.class);
}
@Override
public void updateErpWarehouse(ErpWarehouseSaveReqVO updateReqVO) {
// 校验存在
validateErpWarehouseExists(updateReqVO.getId());
// 更新
ErpWarehouseDO updateObj = BeanUtils.toBean(updateReqVO, ErpWarehouseDO.class);
erpWarehouseMapper.updateById(updateObj);
}
@Override
public void deleteErpWarehouse(Long id) {
// 校验存在
validateErpWarehouseExists(id);
// 删除
erpWarehouseMapper.deleteById(id);
}
@Override
public void deleteErpWarehouseListByIds(List<Long> ids) {
// 校验存在
validateErpWarehouseExists(ids);
// 删除
erpWarehouseMapper.deleteByIds(ids);
}
private void validateErpWarehouseExists(List<Long> ids) {
List<ErpWarehouseDO> list = erpWarehouseMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(ERP_WAREHOUSE_NOT_EXISTS);
}
}
private void validateErpWarehouseExists(Long id) {
if (erpWarehouseMapper.selectById(id) == null) {
throw exception(ERP_WAREHOUSE_NOT_EXISTS);
}
}
@Override
public ErpWarehouseDO getErpWarehouse(Long id) {
return erpWarehouseMapper.selectById(id);
}
@Override
public PageResult<ErpWarehouseDO> getErpWarehousePage(ErpWarehousePageReqVO pageReqVO) {
return erpWarehouseMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpAssetMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpContractMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpInternalOrderMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpProductiveOrderMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpPurchaseOrganizationMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpSalesOrganizationMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.erp.ErpWarehouseMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>