diff --git a/pom.xml b/pom.xml index fe6130f..6f6b1c9 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ https://github.com/YunaiV/ruoyi-vue-pro - 3.0.31 + 3.0.34 17 ${java.version} diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java index b9dff96..7cf9ceb 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java @@ -9,20 +9,15 @@ import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; 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 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; /** diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java index 91d2b1e..3977637 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java @@ -9,20 +9,10 @@ import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - import java.util.*; - 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 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; /** diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java index 6ab37d7..506f8a2 100644 --- a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java +++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java @@ -15,4 +15,11 @@ public interface ErrorCodeConstants { 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_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物料数据不存在"); } \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpAssetController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpAssetController.java new file mode 100644 index 0000000..1f55054 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpAssetController.java @@ -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 createErpAsset(@Valid @RequestBody ErpAssetSaveReqVO createReqVO) { + return success(erpAssetService.createErpAsset(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新ERP资产卡片") + @PreAuthorize("@ss.hasPermission('sply:erp-asset:update')") + public CommonResult 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 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 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 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> getErpAssetPage(@Valid ErpAssetPageReqVO pageReqVO) { + PageResult 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 list = erpAssetService.getErpAssetPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP资产卡片.xls", "数据", ErpAssetRespVO.class, + BeanUtils.toBean(list, ErpAssetRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpContractController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpContractController.java new file mode 100644 index 0000000..8425fcb --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpContractController.java @@ -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 createErpContract(@Valid @RequestBody ErpContractSaveReqVO createReqVO) { + return success(erpContractService.createErpContract(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新ERP合同映射") + @PreAuthorize("@ss.hasPermission('bse:erp-contract:update')") + public CommonResult 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 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 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 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> getErpContractPage(@Valid ErpContractPageReqVO pageReqVO) { + PageResult 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 list = erpContractService.getErpContractPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP合同映射.xls", "数据", ErpContractRespVO.class, + BeanUtils.toBean(list, ErpContractRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpInternalOrderController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpInternalOrderController.java new file mode 100644 index 0000000..43b31e9 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpInternalOrderController.java @@ -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 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 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 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 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 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> getErpInternalOrderPage(@Valid ErpInternalOrderPageReqVO pageReqVO) { + PageResult 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 list = erpInternalOrderService.getErpInternalOrderPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP内部订单.xls", "数据", ErpInternalOrderRespVO.class, + BeanUtils.toBean(list, ErpInternalOrderRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpProductiveOrderController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpProductiveOrderController.java new file mode 100644 index 0000000..dd6f93b --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpProductiveOrderController.java @@ -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 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 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 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 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 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> getErpProductiveOrderPage(@Valid ErpProductiveOrderPageReqVO pageReqVO) { + PageResult 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 list = erpProductiveOrderService.getErpProductiveOrderPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP生产订单.xls", "数据", ErpProductiveOrderRespVO.class, + BeanUtils.toBean(list, ErpProductiveOrderRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java new file mode 100644 index 0000000..630eb0c --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpPurchaseOrganizationController.java @@ -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 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 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 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 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 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> getErpPurchaseOrganizationPage(@Valid ErpPurchaseOrganizationPageReqVO pageReqVO) { + PageResult 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 list = erpPurchaseOrganizationService.getErpPurchaseOrganizationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP采购组织.xls", "数据", ErpPurchaseOrganizationRespVO.class, + BeanUtils.toBean(list, ErpPurchaseOrganizationRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpSalesOrganizationController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpSalesOrganizationController.java new file mode 100644 index 0000000..2976534 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpSalesOrganizationController.java @@ -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 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 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 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 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 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> getErpSalesOrganizationPage(@Valid ErpSalesOrganizationPageReqVO pageReqVO) { + PageResult 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 list = erpSalesOrganizationService.getErpSalesOrganizationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP销售组织.xls", "数据", ErpSalesOrganizationRespVO.class, + BeanUtils.toBean(list, ErpSalesOrganizationRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpWarehouseController.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpWarehouseController.java new file mode 100644 index 0000000..4f967ae --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/ErpWarehouseController.java @@ -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 createErpWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO createReqVO) { + return success(erpWarehouseService.createErpWarehouse(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新ERP库位") + @PreAuthorize("@ss.hasPermission('sply:erp-warehouse:update')") + public CommonResult 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 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 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 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> getErpWarehousePage(@Valid ErpWarehousePageReqVO pageReqVO) { + PageResult 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 list = erpWarehouseService.getErpWarehousePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ERP库位.xls", "数据", ErpWarehouseRespVO.class, + BeanUtils.toBean(list, ErpWarehouseRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetPageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetPageReqVO.java new file mode 100644 index 0000000..8ab5deb --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetPageReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetRespVO.java new file mode 100644 index 0000000..b98b3c0 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetSaveReqVO.java new file mode 100644 index 0000000..432c5e6 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpAssetSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractPageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractPageReqVO.java new file mode 100644 index 0000000..0746cab --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractPageReqVO.java @@ -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 architectureService‌Place; + + @Schema(description = "达到收款条件金额;销售合同,且类型为SAP02COSR必填") + private BigDecimal payeeConditionAmount; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractRespVO.java new file mode 100644 index 0000000..3dd9ebc --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractRespVO.java @@ -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 architectureService‌Place; + + @Schema(description = "达到收款条件金额;销售合同,且类型为SAP02COSR必填") + @ExcelProperty("达到收款条件金额;销售合同,且类型为SAP02COSR必填") + private BigDecimal payeeConditionAmount; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDate createTime; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractSaveReqVO.java new file mode 100644 index 0000000..9821b12 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpContractSaveReqVO.java @@ -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 architectureService‌Place; + + @Schema(description = "达到收款条件金额;销售合同,且类型为SAP02COSR必填") + private BigDecimal payeeConditionAmount; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderPageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderPageReqVO.java new file mode 100644 index 0000000..a14fc06 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderPageReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderRespVO.java new file mode 100644 index 0000000..aa6965c --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderSaveReqVO.java new file mode 100644 index 0000000..5b07336 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpInternalOrderSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderPageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderPageReqVO.java new file mode 100644 index 0000000..b9aaa02 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderPageReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderRespVO.java new file mode 100644 index 0000000..400f646 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderSaveReqVO.java new file mode 100644 index 0000000..b891d4f --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpProductiveOrderSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationPageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationPageReqVO.java new file mode 100644 index 0000000..7d9393e --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationPageReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationRespVO.java new file mode 100644 index 0000000..0cf5cb6 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationSaveReqVO.java new file mode 100644 index 0000000..5125c05 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpPurchaseOrganizationSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationPageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationPageReqVO.java new file mode 100644 index 0000000..0a901a9 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationPageReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationRespVO.java new file mode 100644 index 0000000..5c20fe2 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationSaveReqVO.java new file mode 100644 index 0000000..b6880a6 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpSalesOrganizationSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java new file mode 100644 index 0000000..3b52833 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehousePageReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehouseRespVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehouseRespVO.java new file mode 100644 index 0000000..a1862d8 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehouseRespVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehouseSaveReqVO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehouseSaveReqVO.java new file mode 100644 index 0000000..3ce9d3e --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/erp/vo/ErpWarehouseSaveReqVO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpAssetDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpAssetDO.java new file mode 100644 index 0000000..07aa266 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpAssetDO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpContractDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpContractDO.java new file mode 100644 index 0000000..62c18c9 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpContractDO.java @@ -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 architectureService‌Place; + /** + * 达到收款条件金额;销售合同,且类型为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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpInternalOrderDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpInternalOrderDO.java new file mode 100644 index 0000000..7bec09d --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpInternalOrderDO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpProductiveOrderDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpProductiveOrderDO.java new file mode 100644 index 0000000..12b4d48 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpProductiveOrderDO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpPurchaseOrganizationDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpPurchaseOrganizationDO.java new file mode 100644 index 0000000..a7db67a --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpPurchaseOrganizationDO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpSalesOrganizationDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpSalesOrganizationDO.java new file mode 100644 index 0000000..e2d1feb --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpSalesOrganizationDO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpWarehouseDO.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpWarehouseDO.java new file mode 100644 index 0000000..1c05bb7 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/dataobject/erp/ErpWarehouseDO.java @@ -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; + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpAssetMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpAssetMapper.java new file mode 100644 index 0000000..144ad46 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpAssetMapper.java @@ -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 { + + default PageResult selectPage(ErpAssetPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .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)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpContractMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpContractMapper.java new file mode 100644 index 0000000..b5f978c --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpContractMapper.java @@ -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 { + + default PageResult selectPage(ErpContractPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .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::getArchitectureService‌Place, reqVO.getArchitectureService‌Place()) + .eqIfPresent(ErpContractDO::getPayeeConditionAmount, reqVO.getPayeeConditionAmount()) + .betweenIfPresent(ErpContractDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ErpContractDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpInternalOrderMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpInternalOrderMapper.java new file mode 100644 index 0000000..f8561c4 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpInternalOrderMapper.java @@ -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 { + + default PageResult selectPage(ErpInternalOrderPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .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)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpProductiveOrderMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpProductiveOrderMapper.java new file mode 100644 index 0000000..2977e01 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpProductiveOrderMapper.java @@ -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 { + + default PageResult selectPage(ErpProductiveOrderPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .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)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpPurchaseOrganizationMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpPurchaseOrganizationMapper.java new file mode 100644 index 0000000..1a11946 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpPurchaseOrganizationMapper.java @@ -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 { + + default PageResult selectPage(ErpPurchaseOrganizationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ErpPurchaseOrganizationDO::getNumber, reqVO.getNumber()) + .likeIfPresent(ErpPurchaseOrganizationDO::getName, reqVO.getName()) + .eqIfPresent(ErpPurchaseOrganizationDO::getCompanyNumber, reqVO.getCompanyNumber()) + .orderByDesc(ErpPurchaseOrganizationDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpSalesOrganizationMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpSalesOrganizationMapper.java new file mode 100644 index 0000000..6caa0b2 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpSalesOrganizationMapper.java @@ -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 { + + default PageResult selectPage(ErpSalesOrganizationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ErpSalesOrganizationDO::getNumber, reqVO.getNumber()) + .likeIfPresent(ErpSalesOrganizationDO::getName, reqVO.getName()) + .eqIfPresent(ErpSalesOrganizationDO::getCompanyNumber, reqVO.getCompanyNumber()) + .orderByDesc(ErpSalesOrganizationDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpWarehouseMapper.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpWarehouseMapper.java new file mode 100644 index 0000000..7f91bcd --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/erp/ErpWarehouseMapper.java @@ -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 { + + default PageResult selectPage(ErpWarehousePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ErpWarehouseDO::getFactoryNumber, reqVO.getFactoryNumber()) + .likeIfPresent(ErpWarehouseDO::getName, reqVO.getName()) + .betweenIfPresent(ErpWarehouseDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ErpWarehouseDO::getNumber, reqVO.getNumber()) + .orderByDesc(ErpWarehouseDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpAssetService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpAssetService.java new file mode 100644 index 0000000..81305a3 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpAssetService.java @@ -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 ids); + + /** + * 获得ERP资产卡片 + * + * @param id 编号 + * @return ERP资产卡片 + */ + ErpAssetDO getErpAsset(Long id); + + /** + * 获得ERP资产卡片分页 + * + * @param pageReqVO 分页查询 + * @return ERP资产卡片分页 + */ + PageResult getErpAssetPage(ErpAssetPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpAssetServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpAssetServiceImpl.java new file mode 100644 index 0000000..077c6f9 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpAssetServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpAssetExists(ids); + // 删除 + erpAssetMapper.deleteByIds(ids); + } + + private void validateErpAssetExists(List ids) { + List 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 getErpAssetPage(ErpAssetPageReqVO pageReqVO) { + return erpAssetMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpCompanyServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpCompanyServiceImpl.java index cbb7993..cafe783 100644 --- a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpCompanyServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpCompanyServiceImpl.java @@ -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 com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.xxl.job.core.handler.annotation.XxlJob; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -99,6 +100,7 @@ public class ErpCompanyServiceImpl implements ErpCompanyService { @Override @Transactional + @XxlJob("getCompanyTask") public void callErpRfcInterface() { try { OftenEnum.FuncnrEnum funcnrEnum =OftenEnum.FuncnrEnum.公司代码; diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpContractService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpContractService.java new file mode 100644 index 0000000..36d81ed --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpContractService.java @@ -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 ids); + + /** + * 获得ERP合同映射 + * + * @param id 编号 + * @return ERP合同映射 + */ + ErpContractDO getErpContract(Long id); + + /** + * 获得ERP合同映射分页 + * + * @param pageReqVO 分页查询 + * @return ERP合同映射分页 + */ + PageResult getErpContractPage(ErpContractPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpContractServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpContractServiceImpl.java new file mode 100644 index 0000000..857b322 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpContractServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpContractExists(ids); + // 删除 + erpContractMapper.deleteByIds(ids); + } + + private void validateErpContractExists(List ids) { + List 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 getErpContractPage(ErpContractPageReqVO pageReqVO) { + return erpContractMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpInternalOrderService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpInternalOrderService.java new file mode 100644 index 0000000..9350d5d --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpInternalOrderService.java @@ -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 ids); + + /** + * 获得ERP内部订单 + * + * @param id 编号 + * @return ERP内部订单 + */ + ErpInternalOrderDO getErpInternalOrder(Long id); + + /** + * 获得ERP内部订单分页 + * + * @param pageReqVO 分页查询 + * @return ERP内部订单分页 + */ + PageResult getErpInternalOrderPage(ErpInternalOrderPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpInternalOrderServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpInternalOrderServiceImpl.java new file mode 100644 index 0000000..3c63b1c --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpInternalOrderServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpInternalOrderExists(ids); + // 删除 + erpInternalOrderMapper.deleteByIds(ids); + } + + private void validateErpInternalOrderExists(List ids) { + List 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 getErpInternalOrderPage(ErpInternalOrderPageReqVO pageReqVO) { + return erpInternalOrderMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpProductiveOrderService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpProductiveOrderService.java new file mode 100644 index 0000000..5fcaf6f --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpProductiveOrderService.java @@ -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 ids); + + /** + * 获得ERP生产订单 + * + * @param id 编号 + * @return ERP生产订单 + */ + ErpProductiveOrderDO getErpProductiveOrder(Long id); + + /** + * 获得ERP生产订单分页 + * + * @param pageReqVO 分页查询 + * @return ERP生产订单分页 + */ + PageResult getErpProductiveOrderPage(ErpProductiveOrderPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpProductiveOrderServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpProductiveOrderServiceImpl.java new file mode 100644 index 0000000..d9c7575 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpProductiveOrderServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpProductiveOrderExists(ids); + // 删除 + erpProductiveOrderMapper.deleteByIds(ids); + } + + private void validateErpProductiveOrderExists(List ids) { + List 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 getErpProductiveOrderPage(ErpProductiveOrderPageReqVO pageReqVO) { + return erpProductiveOrderMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpPurchaseOrganizationService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpPurchaseOrganizationService.java new file mode 100644 index 0000000..311b3e1 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpPurchaseOrganizationService.java @@ -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 ids); + + /** + * 获得ERP采购组织 + * + * @param id 编号 + * @return ERP采购组织 + */ + ErpPurchaseOrganizationDO getErpPurchaseOrganization(Long id); + + /** + * 获得ERP采购组织分页 + * + * @param pageReqVO 分页查询 + * @return ERP采购组织分页 + */ + PageResult getErpPurchaseOrganizationPage(ErpPurchaseOrganizationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpPurchaseOrganizationServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpPurchaseOrganizationServiceImpl.java new file mode 100644 index 0000000..6149485 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpPurchaseOrganizationServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpPurchaseOrganizationExists(ids); + // 删除 + erpPurchaseOrganizationMapper.deleteByIds(ids); + } + + private void validateErpPurchaseOrganizationExists(List ids) { + List 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 getErpPurchaseOrganizationPage(ErpPurchaseOrganizationPageReqVO pageReqVO) { + return erpPurchaseOrganizationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpSalesOrganizationService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpSalesOrganizationService.java new file mode 100644 index 0000000..9f429e8 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpSalesOrganizationService.java @@ -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 ids); + + /** + * 获得ERP销售组织 + * + * @param id 编号 + * @return ERP销售组织 + */ + ErpSalesOrganizationDO getErpSalesOrganization(Long id); + + /** + * 获得ERP销售组织分页 + * + * @param pageReqVO 分页查询 + * @return ERP销售组织分页 + */ + PageResult getErpSalesOrganizationPage(ErpSalesOrganizationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpSalesOrganizationServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpSalesOrganizationServiceImpl.java new file mode 100644 index 0000000..c52bed3 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpSalesOrganizationServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpSalesOrganizationExists(ids); + // 删除 + erpSalesOrganizationMapper.deleteByIds(ids); + } + + private void validateErpSalesOrganizationExists(List ids) { + List 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 getErpSalesOrganizationPage(ErpSalesOrganizationPageReqVO pageReqVO) { + return erpSalesOrganizationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpWarehouseService.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpWarehouseService.java new file mode 100644 index 0000000..a29b367 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpWarehouseService.java @@ -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 ids); + + /** + * 获得ERP库位 + * + * @param id 编号 + * @return ERP库位 + */ + ErpWarehouseDO getErpWarehouse(Long id); + + /** + * 获得ERP库位分页 + * + * @param pageReqVO 分页查询 + * @return ERP库位分页 + */ + PageResult getErpWarehousePage(ErpWarehousePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpWarehouseServiceImpl.java b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpWarehouseServiceImpl.java new file mode 100644 index 0000000..60f24bb --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/erp/ErpWarehouseServiceImpl.java @@ -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 ids) { + // 校验存在 + validateErpWarehouseExists(ids); + // 删除 + erpWarehouseMapper.deleteByIds(ids); + } + + private void validateErpWarehouseExists(List ids) { + List 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 getErpWarehousePage(ErpWarehousePageReqVO pageReqVO) { + return erpWarehouseMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpAssetMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpAssetMapper.xml new file mode 100644 index 0000000..983a178 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpAssetMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpContractMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpContractMapper.xml new file mode 100644 index 0000000..2b078ec --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpContractMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpInternalOrderMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpInternalOrderMapper.xml new file mode 100644 index 0000000..2445fba --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpInternalOrderMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpProductiveOrderMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpProductiveOrderMapper.xml new file mode 100644 index 0000000..93ec181 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpProductiveOrderMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpPurchaseOrganizationMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpPurchaseOrganizationMapper.xml new file mode 100644 index 0000000..5d62df9 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpPurchaseOrganizationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpSalesOrganizationMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpSalesOrganizationMapper.xml new file mode 100644 index 0000000..89027f8 --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpSalesOrganizationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml new file mode 100644 index 0000000..dde5ebd --- /dev/null +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/ErpWarehouseMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file