From caac59ea07d3fab9b817153b913071b717883258 Mon Sep 17 00:00:00 2001 From: aikai Date: Wed, 18 Sep 2024 20:24:18 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=B7=A5=E5=8E=82=E4=BA=BA=E5=91=98=E8=80=83?= =?UTF-8?q?=E5=8B=A4=E6=9C=BA=E6=89=93=E5=8D=A1=E8=AE=B0=E5=BD=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=202.=E8=BF=9E=E8=B0=83=E4=BE=9B=E5=BA=94=E5=95=86OA?= =?UTF-8?q?=E7=AE=A1=E7=90=86=203.=E8=BF=9E=E8=B0=83=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E5=95=86=E5=95=86=E5=93=81OA=E7=AE=A1=E7=90=86=204.=E8=B5=84?= =?UTF-8?q?=E4=BA=A7=E7=AE=A1=E7=90=86=E6=96=B0=E5=A2=9E=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=201=E8=A1=8C=E6=94=BF=E7=B1=BB=E5=9E=8B=202?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E7=B1=BB=E5=9E=8B=20=E6=B6=88=E8=80=97?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=201=E5=9B=BA=E5=AE=9A=E8=B5=84=E4=BA=A7=202?= =?UTF-8?q?=E6=B6=88=E8=80=97=E5=93=81=205.=E8=B0=83=E6=95=B4=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8C=BA=E5=88=86=E5=B7=A5=E5=8E=82/=E8=A1=8C=E6=94=BF?= =?UTF-8?q?=E4=BA=BA=E5=91=98=206.=E4=BE=9B=E5=BA=94=E5=95=86=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E8=AE=A1=E5=88=92=E7=AE=A1=E7=90=86=207.=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E9=87=87=E8=B4=AD=E4=BB=98=E6=AC=BE=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...pmOASupplierProcurementPlanController.java | 83 ++++++++++ ...pmOASupplierPurchasePaymentController.java | 73 +++++++++ ...ASupplierProcurementPlanItemPageReqVO.java | 49 ++++++ ...pmOASupplierProcurementPlanItemRespVO.java | 52 ++++++ ...ASupplierProcurementPlanItemSaveReqVO.java | 54 +++++++ ...BpmOASupplierProcurementPlanPageReqVO.java | 54 +++++++ .../BpmOASupplierProcurementPlanRespVO.java | 61 +++++++ ...BpmOASupplierProcurementPlanSaveReqVO.java | 59 +++++++ ...BpmOASupplierPurchasePaymentPageReqVO.java | 54 +++++++ .../BpmOASupplierPurchasePaymentRespVO.java | 50 ++++++ ...BpmOASupplierPurchasePaymentSaveReqVO.java | 50 ++++++ .../BpmOASupplierProcurementPlanConvert.java | 18 +++ ...mOASupplierProcurementPlanItemConvert.java | 20 +++ .../financialpayment/FinancialPaymentDO.java | 2 +- .../bpm/dal/dataobject/oa/BpmOACashDO.java | 2 +- .../oa/BpmOASupplierProcurementPlanDO.java | 92 +++++++++++ .../BpmOASupplierProcurementPlanItemDO.java | 76 +++++++++ .../oa/BpmOASupplierPurchasePaymentDO.java | 74 +++++++++ ...pmOASupplierProcurementPlanItemMapper.java | 33 ++++ .../BpmOASupplierProcurementPlanMapper.java | 33 ++++ .../BpmOASupplierPurchasePaymentMapper.java | 32 ++++ ...mOASupplierProcurementPlanItemService.java | 63 ++++++++ ...upplierProcurementPlanItemServiceImpl.java | 66 ++++++++ .../BpmOASupplierProcurementPlanService.java | 72 +++++++++ ...mOASupplierProcurementPlanServiceImpl.java | 135 ++++++++++++++++ .../BpmOASupplierPurchasePaymentService.java | 64 ++++++++ ...mOASupplierPurchasePaymentServiceImpl.java | 151 ++++++++++++++++++ ...SupplierProcurementPlanResultListener.java | 33 ++++ ...SupplierPurchasePaymentResultListener.java | 31 ++++ ...BpmOASupplierProcurementPlanItemMapper.xml | 12 ++ .../oa/BpmOASupplierProcurementPlanMapper.xml | 12 ++ .../oa/BpmOASupplierPurchasePaymentMapper.xml | 12 ++ .../AttendanceEquipmentController.java | 30 +--- .../admin/assets/AssetsTypeController.java | 50 +++--- .../admin/assets/vo/AssetsPageReqVO.java | 6 +- .../admin/assets/vo/AssetsTypePageReqVO.java | 6 + .../admin/assets/vo/AssetsTypeRespVO.java | 7 + .../admin/assets/vo/AssetsTypeSaveReqVO.java | 7 + ...ttendanceFactoryPunchRecordController.java | 81 ++++++++++ ...AttendanceFactoryPunchRecordPageReqVO.java | 45 ++++++ .../AttendanceFactoryPunchRecordRespVO.java | 64 ++++++++ ...AttendanceFactoryPunchRecordSaveReqVO.java | 40 +++++ .../admin/supplier/SupplierController.java | 38 +++-- .../admin/supplier/vo/SupplierSaveReqVO.java | 2 +- .../controller/admin/user/UserController.java | 9 +- .../dal/dataobject/assets/AssetsTypeDO.java | 8 + .../AttendanceFactoryPunchRecordDO.java | 70 ++++++++ .../dal/mysql/assets/AssetsTypeMapper.java | 3 +- .../AttendanceFactoryPunchRecordMapper.java | 42 +++++ .../dal/mysql/user/AdminUserMapper.java | 6 +- .../service/assets/AssetsTypeService.java | 2 +- .../service/assets/AssetsTypeServiceImpl.java | 5 +- .../service/attendance/AttendanceService.java | 9 ++ .../attendance/AttendanceServiceImpl.java | 59 ++++++- .../AttendanceFactoryPunchRecordService.java | 56 +++++++ ...tendanceFactoryPunchRecordServiceImpl.java | 68 ++++++++ .../service/notice/NoticeServiceImpl.java | 4 +- .../supplier/SupplierProductService.java | 12 +- .../service/supplier/SupplierService.java | 15 ++ .../service/supplier/SupplierServiceImpl.java | 16 +- .../system/service/user/AdminUserService.java | 5 +- .../service/user/AdminUserServiceImpl.java | 6 +- .../resources/mapper/assets/AssetsMapper.xml | 5 +- .../AttendanceFactoryPunchRecordMapper.xml | 45 ++++++ .../resources/mapper/user/AdminUserMapper.xml | 2 +- .../user/AdminUserServiceImplTest.java | 2 +- 66 files changed, 2400 insertions(+), 97 deletions(-) create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierProcurementPlanController.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierPurchasePaymentController.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemPageReqVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemRespVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemSaveReqVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanPageReqVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanRespVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanSaveReqVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentPageReqVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentRespVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentSaveReqVO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanConvert.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanItemConvert.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanDO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanItemDO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierPurchasePaymentDO.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanItemMapper.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanMapper.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierPurchasePaymentMapper.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemService.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemServiceImpl.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanService.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanServiceImpl.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentService.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentServiceImpl.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierProcurementPlanResultListener.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierPurchasePaymentResultListener.java create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanItemMapper.xml create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanMapper.xml create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierPurchasePaymentMapper.xml create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/AttendanceFactoryPunchRecordController.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordPageReqVO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordRespVO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordSaveReqVO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/factorypunchrecord/AttendanceFactoryPunchRecordDO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/factorypunchrecord/AttendanceFactoryPunchRecordMapper.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordService.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordServiceImpl.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/factorypunchrecord/AttendanceFactoryPunchRecordMapper.xml diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierProcurementPlanController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierProcurementPlanController.java new file mode 100644 index 00000000..e0748dce --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierProcurementPlanController.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierProcurementPlanItemService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierProcurementPlanService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 供应商采购计划") +@RestController +@RequestMapping("/bpm/oa-supplier-procurement-plan") +@Validated +public class BpmOASupplierProcurementPlanController { + + @Resource + private BpmOASupplierProcurementPlanService oaSupplierProcurementPlanService; + @Resource + private BpmOASupplierProcurementPlanItemService oaSupplierProcurementPlanItemService; + + @PostMapping("/create") + @Operation(summary = "创建供应商采购计划") + @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:create')") + public CommonResult createOaSupplierProcurementPlan(@Valid @RequestBody BpmOASupplierProcurementPlanSaveReqVO createReqVO) { + return success(oaSupplierProcurementPlanService.createOaSupplierProcurementPlan(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新供应商采购计划") + @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:update')") + public CommonResult updateOaSupplierProcurementPlan(@Valid @RequestBody BpmOASupplierProcurementPlanSaveReqVO updateReqVO) { + oaSupplierProcurementPlanService.updateOaSupplierProcurementPlan(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除供应商采购计划") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:delete')") + public CommonResult deleteOaSupplierProcurementPlan(@RequestParam("id") Long id) { + oaSupplierProcurementPlanService.deleteOaSupplierProcurementPlan(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得供应商采购计划") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:query')") + public CommonResult getOaSupplierProcurementPlan(@RequestParam("id") Long id) { + BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = oaSupplierProcurementPlanService.getOaSupplierProcurementPlan(id); + BpmOASupplierProcurementPlanRespVO vo = BeanUtils.toBean(oaSupplierProcurementPlan, BpmOASupplierProcurementPlanRespVO.class); + List items = oaSupplierProcurementPlanItemService.getByProcurementPlanId(id); + List itemVos = BeanUtils.toBean(items, BpmOASupplierProcurementPlanItemRespVO.class); + vo.setItems(itemVos); + return success(BeanUtils.toBean(oaSupplierProcurementPlan, BpmOASupplierProcurementPlanRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得供应商采购计划分页") + @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:query')") + public CommonResult> getOaSupplierProcurementPlanPage(@Valid BpmOASupplierProcurementPlanPageReqVO pageReqVO) { + PageResult pageResult = oaSupplierProcurementPlanService.getOaSupplierProcurementPlanPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BpmOASupplierProcurementPlanRespVO.class)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierPurchasePaymentController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierPurchasePaymentController.java new file mode 100644 index 00000000..11295a2a --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASupplierPurchasePaymentController.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierPurchasePaymentDO; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierPurchasePaymentService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 供应商采购付款") +@RestController +@RequestMapping("/bpm/OA-supplier-purchase-payment") +@Validated +public class BpmOASupplierPurchasePaymentController { + + @Resource + private BpmOASupplierPurchasePaymentService oASupplierPurchasePaymentServiceBpm; + + @PostMapping("/create") + @Operation(summary = "创建供应商采购付款") + @PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:create')") + public CommonResult createOASupplierPurchasePayment(@Valid @RequestBody BpmOASupplierPurchasePaymentSaveReqVO createReqVO) { + return success(oASupplierPurchasePaymentServiceBpm.createOASupplierPurchasePayment(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新供应商采购付款") + @PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:update')") + public CommonResult updateOASupplierPurchasePayment(@Valid @RequestBody BpmOASupplierPurchasePaymentSaveReqVO updateReqVO) { + oASupplierPurchasePaymentServiceBpm.updateOASupplierPurchasePayment(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除供应商采购付款") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:delete')") + public CommonResult deleteOASupplierPurchasePayment(@RequestParam("id") Long id) { + oASupplierPurchasePaymentServiceBpm.deleteOASupplierPurchasePayment(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得供应商采购付款") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:query')") + public CommonResult getOASupplierPurchasePayment(@RequestParam("id") Long id) { + BpmOASupplierPurchasePaymentDO oASupplierPurchasePayment = oASupplierPurchasePaymentServiceBpm.getOASupplierPurchasePayment(id); + return success(BeanUtils.toBean(oASupplierPurchasePayment, BpmOASupplierPurchasePaymentRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得供应商采购付款分页") + @PreAuthorize("@ss.hasPermission('bpm:OA-supplier-purchase-payment:query')") + public CommonResult> getOASupplierPurchasePaymentPage(@Valid BpmOASupplierPurchasePaymentPageReqVO pageReqVO) { + PageResult pageResult = oASupplierPurchasePaymentServiceBpm.getOASupplierPurchasePaymentPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BpmOASupplierPurchasePaymentRespVO.class)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemPageReqVO.java new file mode 100644 index 00000000..2e70c768 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemPageReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商采购计划子分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOASupplierProcurementPlanItemPageReqVO extends PageParam { + + @Schema(description = "申请人的用户编号", example = "29804") + private Long userId; + + @Schema(description = "供应商采购计划id", example = "12127") + private Long procurementPlanId; + + @Schema(description = "工厂编号", example = "31764") + private Long factoryId; + + @Schema(description = "供应商商品id", example = "31243") + private Long supplierProductId; + + @Schema(description = "数量") + private Integer num; + + @Schema(description = "供应商价格", example = "30063") + private BigDecimal supplierPrice; + + @Schema(description = "实际价格", example = "21988") + private BigDecimal actualPrice; + + @Schema(description = "收货地址") + private String shippingAddress; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemRespVO.java new file mode 100644 index 00000000..1e9ed370 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemRespVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 供应商采购计划子 Response VO") +@Data +public class BpmOASupplierProcurementPlanItemRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "26923") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29804") + private Long userId; + + @Schema(description = "供应商采购计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127") + private Long procurementPlanId; + + @Schema(description = "工厂编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31764") + private Long factoryId; + + @Schema(description = "供应商商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31243") + private Long supplierProductId; + + @Schema(description = "供应商商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127") + private String supplierProductName; + + @Schema(description = "资产类型id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127") + private Long typeId; + + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer num; + + @Schema(description = "供应商价格", example = "30063") + private BigDecimal supplierPrice; + + @Schema(description = "实际价格", example = "21988") + private BigDecimal actualPrice; + + @Schema(description = "收货地址") + private String shippingAddress; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemSaveReqVO.java new file mode 100644 index 00000000..1e6edff1 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanItemSaveReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 供应商采购计划子新增/修改 Request VO") +@Data +public class BpmOASupplierProcurementPlanItemSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "26923") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29804") + @NotNull(message = "申请人的用户编号不能为空") + private Long userId; + + @Schema(description = "供应商采购计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127") + @NotNull(message = "供应商采购计划id不能为空") + private Long procurementPlanId; + + @Schema(description = "供应商商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127") + private String supplierProductName; + + @Schema(description = "资产类型id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12127") + private Long typeId; + + @Schema(description = "工厂编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31764") + @NotNull(message = "工厂编号不能为空") + private Long factoryId; + + @Schema(description = "供应商商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31243") + @NotNull(message = "供应商商品id不能为空") + private Long supplierProductId; + + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "数量不能为空") + private Integer num; + + @Schema(description = "供应商价格", example = "30063") + private BigDecimal supplierPrice; + + @Schema(description = "实际价格", example = "21988") + private BigDecimal actualPrice; + + @Schema(description = "收货地址") + private String shippingAddress; + + @Schema(description = "备注", example = "你说的对") + private String remark; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanPageReqVO.java new file mode 100644 index 00000000..42c7e263 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanPageReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商采购计划分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOASupplierProcurementPlanPageReqVO extends PageParam { + + @Schema(description = "申请人的用户编号", example = "31616") + private Long userId; + + @Schema(description = "供应商id", example = "123") + private Long supplierId; + + @Schema(description = "供应商名称", example = "张三") + private String supplierName; + + @Schema(description = "结算方式(字典值)") + private Integer settlementMethod; + + @Schema(description = "公司账号", example = "13404") + private String companyAccount; + + @Schema(description = "银行开户行") + private String bankAccountOpeningBank; + + @Schema(description = "结算日") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] settlementDate; + + @Schema(description = "申请结果") + private Integer result; + + @Schema(description = "流程实例的编号", example = "5984") + private String processInstanceId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "是否结算 0待结算 1已结算(未付款) 2已付款") + private Integer settlementFlag; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanRespVO.java new file mode 100644 index 00000000..7458e807 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanRespVO.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 供应商采购计划 Response VO") +@Data +public class BpmOASupplierProcurementPlanRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29981") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31616") + private Long userId; + + @Schema(description = "供应商id", example = "123") + private Long supplierId; + + @Schema(description = "供应商名称", example = "张三") + private String supplierName; + + @Schema(description = "结算方式(字典值)") + private Integer settlementMethod; + + @Schema(description = "公司账号", example = "13404") + private String companyAccount; + + @Schema(description = "银行开户行") + private String bankAccountOpeningBank; + + @Schema(description = "结算日") + private String settlementDate; + + @Schema(description = "申请结果", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer result; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "流程实例的编号", example = "5984") + private String processInstanceId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + @Schema(description = "采购凭证", requiredMode = Schema.RequiredMode.REQUIRED) + private List purchaseFileItems; + + @Schema(description = "到货凭证", requiredMode = Schema.RequiredMode.REQUIRED) + private List theArrivalFileItems; + + @Schema(description = "是否结算 0待结算 1已结算(未付款) 2已付款") + private Integer settlementFlag; + + @Schema(description = "子列表") + private List items; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanSaveReqVO.java new file mode 100644 index 00000000..c39c5855 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/BpmOASupplierProcurementPlanSaveReqVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Schema(description = "管理后台 - 供应商采购计划新增/修改 Request VO") +@Data +public class BpmOASupplierProcurementPlanSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29981") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31616") + @NotNull(message = "申请人的用户编号不能为空") + private Long userId; + + @Schema(description = "供应商id", example = "123") + private Long supplierId; + + @Schema(description = "供应商名称", example = "张三") + private String supplierName; + + @Schema(description = "结算方式(字典值)") + private Integer settlementMethod; + + @Schema(description = "公司账号", example = "13404") + private String companyAccount; + + @Schema(description = "银行开户行") + private String bankAccountOpeningBank; + + @Schema(description = "结算日") + private String settlementDate; + + @Schema(description = "申请结果", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer result; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "流程实例的编号", example = "5984") + private String processInstanceId; + + @Schema(description = "子列表", example = "5984") + private List items; + + @Schema(description = "采购凭证", requiredMode = Schema.RequiredMode.REQUIRED) + private List purchaseFileItems; + + @Schema(description = "到货凭证", requiredMode = Schema.RequiredMode.REQUIRED) + private List theArrivalFileItems; + + @Schema(description = "是否结算 0待结算 1已结算(未付款) 2已付款") + private Integer settlementFlag; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentPageReqVO.java new file mode 100644 index 00000000..c42bf474 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentPageReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 供应商采购付款分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BpmOASupplierPurchasePaymentPageReqVO extends PageParam { + + @Schema(description = "申请人的用户编号", example = "14357") + private Long userId; + + @Schema(description = "供应商id", example = "13580") + private Long supplierId; + + @Schema(description = "结算方式(字典值)") + private Integer settlementMethod; + + @Schema(description = "供应商采购计划ids") + private String supplierProcurementPlanIds; + + @Schema(description = "总支付金额") + private BigDecimal totalMoney; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; + + @Schema(description = "结果") + private Integer result; + + @Schema(description = "流程实例ID", example = "11647") + private String processInstanceId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentRespVO.java new file mode 100644 index 00000000..1f6a67d9 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentRespVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 供应商采购付款 Response VO") +@Data +public class BpmOASupplierPurchasePaymentRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29286") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "14357") + private Long userId; + + @Schema(description = "供应商id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13580") + private Long supplierId; + + @Schema(description = "结算方式(字典值)") + private Integer settlementMethod; + + @Schema(description = "供应商采购计划ids") + private String supplierProcurementPlanIds; + + @Schema(description = "总支付金额") + private BigDecimal totalMoney; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; + + @Schema(description = "结果", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer result; + + @Schema(description = "流程实例ID", example = "11647") + private String processInstanceId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentSaveReqVO.java new file mode 100644 index 00000000..5eee9148 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierpurchasepayment/BpmOASupplierPurchasePaymentSaveReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; +import java.math.BigDecimal; +import java.util.List; + +@Schema(description = "管理后台 - 供应商采购付款新增/修改 Request VO") +@Data +public class BpmOASupplierPurchasePaymentSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29286") + private Long id; + + @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "14357") + @NotNull(message = "申请人的用户编号不能为空") + private Long userId; + + @Schema(description = "供应商id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13580") + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + @Schema(description = "结算方式(字典值)") + private Integer settlementMethod; + + @Schema(description = "供应商采购计划ids") + private String supplierProcurementPlanIds; + + @Schema(description = "总支付金额") + private BigDecimal totalMoney; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; + + @Schema(description = "结果", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "结果不能为空") + private Integer result; + + @Schema(description = "流程实例ID", example = "11647") + private String processInstanceId; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanConvert.java new file mode 100644 index 00000000..c74202b3 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanConvert.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * + * @author yj + */ +@Mapper +public interface BpmOASupplierProcurementPlanConvert { + + BpmOASupplierProcurementPlanConvert INSTANCE = Mappers.getMapper(BpmOASupplierProcurementPlanConvert.class); + + BpmOASupplierProcurementPlanDO convert(BpmOASupplierProcurementPlanSaveReqVO createReqVO); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanItemConvert.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanItemConvert.java new file mode 100644 index 00000000..f8715ccd --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/BpmOASupplierProcurementPlanItemConvert.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.bpm.convert.oa; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * + * @author yj + */ +@Mapper +public interface BpmOASupplierProcurementPlanItemConvert { + + BpmOASupplierProcurementPlanItemConvert INSTANCE = Mappers.getMapper(BpmOASupplierProcurementPlanItemConvert.class); + + List convert(List items); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpayment/FinancialPaymentDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpayment/FinancialPaymentDO.java index 3f63c77b..c52d0ef3 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpayment/FinancialPaymentDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpayment/FinancialPaymentDO.java @@ -55,7 +55,7 @@ public class FinancialPaymentDO extends BaseDO { */ private String reason; /** - * 流程类型 1现金支出 2备用金 3采购付款 4报销 + * 流程类型 1现金支出 2备用金 3采购付款 4报销 5供应商采购付款 */ private Integer type; /** diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOACashDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOACashDO.java index 364024fc..8c492bab 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOACashDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOACashDO.java @@ -69,5 +69,5 @@ public class BpmOACashDO extends BaseDO { * 附件基本信息 */ @TableField(typeHandler = JacksonTypeHandler.class) - private List fileItems ; + private List fileItems; } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanDO.java new file mode 100644 index 00000000..1d0b25b3 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanDO.java @@ -0,0 +1,92 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.util.List; + +/** + * 供应商采购计划 DO + * + * @author 艾楷 + */ +@TableName(value = "bpm_oa_supplier_procurement_plan", autoResultMap = true) +@KeySequence("bpm_oa_supplier_procurement_plan_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOASupplierProcurementPlanDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 申请人的用户编号 + */ + private Long userId; + + /** + * 供应商id + */ + private Long supplierId; + + /** + * 供应商名称 + */ + private String supplierName; + /** + * 结算方式(字典值) + */ + private Integer settlementMethod; + /** + * 公司账号 + */ + private String companyAccount; + /** + * 银行开户行 + */ + private String bankAccountOpeningBank; + /** + * 结算日 + */ + private String settlementDate; + /** + * 申请结果 + */ + private Integer result; + /** + * 备注 + */ + private String remark; + /** + * 流程实例的编号 + */ + private String processInstanceId; + /** + * 采购凭证 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List purchaseFileItems; + + /** + * 到货凭证 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List theArrivalFileItems; + + /** + * 是否结算 0待结算 1已结算(未付款) 2已付款 + */ + private Integer settlementFlag; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanItemDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanItemDO.java new file mode 100644 index 00000000..85ec0373 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProcurementPlanItemDO.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 供应商采购计划子 DO + * + * @author 艾楷 + */ +@TableName("bpm_oa_supplier_procurement_plan_item") +@KeySequence("bpm_oa_supplier_procurement_plan_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOASupplierProcurementPlanItemDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 申请人的用户编号 + */ + private Long userId; + /** + * 供应商采购计划id + */ + private Long procurementPlanId; + /** + * 工厂编号 + */ + private Long factoryId; + /** + * 供应商商品id + */ + private Long supplierProductId; + /** + * 供应商商品名称 + */ + private String supplierProductName; + /** + * 资产类型id + */ + private Long typeId; + /** + * 数量 + */ + private Integer num; + /** + * 供应商价格 + */ + private BigDecimal supplierPrice; + /** + * 实际价格 + */ + private BigDecimal actualPrice; + /** + * 收货地址 + */ + private String shippingAddress; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierPurchasePaymentDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierPurchasePaymentDO.java new file mode 100644 index 00000000..64dedd7f --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierPurchasePaymentDO.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.*; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 供应商采购付款 DO + * + * @author 艾楷 + */ +@TableName(value = "bpm_oa_supplier_purchase_payment", autoResultMap = true) +@KeySequence("bpm_oa_supplier_purchase_payment_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BpmOASupplierPurchasePaymentDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 申请人的用户编号 + */ + private Long userId; + /** + * 供应商id + */ + private Long supplierId; + /** + * 结算方式(字典值) + */ + private Integer settlementMethod; + /** + * 供应商采购计划ids + */ + private String supplierProcurementPlanIds; + + /** + * 总支付金额 + */ + private BigDecimal totalMoney; + /** + * 备注 + */ + private String remark; + /** + * 附件信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List fileItems; + /** + * 结果 + */ + private Integer result; + /** + * 流程实例ID + */ + private String processInstanceId; + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanItemMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanItemMapper.java new file mode 100644 index 00000000..bf27002b --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanItemMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +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.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemPageReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 供应商采购计划子 Mapper + * + * @author 艾楷 + */ +@Mapper +public interface BpmOASupplierProcurementPlanItemMapper extends BaseMapperX { + + default PageResult selectPage(BpmOASupplierProcurementPlanItemPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getUserId, reqVO.getUserId()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getProcurementPlanId, reqVO.getProcurementPlanId()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getFactoryId, reqVO.getFactoryId()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getSupplierProductId, reqVO.getSupplierProductId()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getNum, reqVO.getNum()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getSupplierPrice, reqVO.getSupplierPrice()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getActualPrice, reqVO.getActualPrice()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getShippingAddress, reqVO.getShippingAddress()) + .eqIfPresent(BpmOASupplierProcurementPlanItemDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(BpmOASupplierProcurementPlanItemDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BpmOASupplierProcurementPlanItemDO::getId)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanMapper.java new file mode 100644 index 00000000..eb4d508a --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierProcurementPlanMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +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.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 供应商采购计划 Mapper + * + * @author 艾楷 + */ +@Mapper +public interface BpmOASupplierProcurementPlanMapper extends BaseMapperX { + + default PageResult selectPage(BpmOASupplierProcurementPlanPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BpmOASupplierProcurementPlanDO::getUserId, reqVO.getUserId()) + .likeIfPresent(BpmOASupplierProcurementPlanDO::getSupplierName, reqVO.getSupplierName()) + .eqIfPresent(BpmOASupplierProcurementPlanDO::getSettlementMethod, reqVO.getSettlementMethod()) + .eqIfPresent(BpmOASupplierProcurementPlanDO::getSettlementFlag, reqVO.getSettlementFlag()) + .eqIfPresent(BpmOASupplierProcurementPlanDO::getCompanyAccount, reqVO.getCompanyAccount()) + .eqIfPresent(BpmOASupplierProcurementPlanDO::getBankAccountOpeningBank, reqVO.getBankAccountOpeningBank()) + .betweenIfPresent(BpmOASupplierProcurementPlanDO::getSettlementDate, reqVO.getSettlementDate()) + .eqIfPresent(BpmOASupplierProcurementPlanDO::getResult, reqVO.getResult()) + .eqIfPresent(BpmOASupplierProcurementPlanDO::getProcessInstanceId, reqVO.getProcessInstanceId()) + .betweenIfPresent(BpmOASupplierProcurementPlanDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BpmOASupplierProcurementPlanDO::getId)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierPurchasePaymentMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierPurchasePaymentMapper.java new file mode 100644 index 00000000..4233a8ee --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOASupplierPurchasePaymentMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.bpm.dal.mysql.oa; + +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.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentPageReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierPurchasePaymentDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 供应商采购付款 Mapper + * + * @author 艾楷 + */ +@Mapper +public interface BpmOASupplierPurchasePaymentMapper extends BaseMapperX { + + default PageResult selectPage(BpmOASupplierPurchasePaymentPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getUserId, reqVO.getUserId()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getSupplierId, reqVO.getSupplierId()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getSettlementMethod, reqVO.getSettlementMethod()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getSupplierProcurementPlanIds, reqVO.getSupplierProcurementPlanIds()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getRemark, reqVO.getRemark()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getFileItems, reqVO.getFileItems()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getResult, reqVO.getResult()) + .eqIfPresent(BpmOASupplierPurchasePaymentDO::getProcessInstanceId, reqVO.getProcessInstanceId()) + .betweenIfPresent(BpmOASupplierPurchasePaymentDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(BpmOASupplierPurchasePaymentDO::getId)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemService.java new file mode 100644 index 00000000..f67b1571 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemService.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO; + +import javax.validation.Valid; +import java.util.List; + +/** + * 供应商采购计划子 Service 接口 + * + * @author 艾楷 + */ +public interface BpmOASupplierProcurementPlanItemService { + + /** + * 创建供应商采购计划子 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createOaSupplierProcurementPlanItem(@Valid BpmOASupplierProcurementPlanItemSaveReqVO createReqVO); + + /** + * 更新供应商采购计划子 + * + * @param updateReqVO 更新信息 + */ + void updateOaSupplierProcurementPlanItem(@Valid BpmOASupplierProcurementPlanItemSaveReqVO updateReqVO); + + /** + * 删除供应商采购计划子 + * + * @param id 编号 + */ + void deleteOaSupplierProcurementPlanItem(Long id); + + /** + * 获得供应商采购计划子 + * + * @param id 编号 + * @return 供应商采购计划子 + */ + BpmOASupplierProcurementPlanItemDO getOaSupplierProcurementPlanItem(Long id); + + /** + * 获得供应商采购计划子分页 + * + * @param pageReqVO 分页查询 + * @return 供应商采购计划子分页 + */ + PageResult getOaSupplierProcurementPlanItemPage(BpmOASupplierProcurementPlanItemPageReqVO pageReqVO); + + /** + * 根据采购计划id获取列表 + * + * @param procurementPlanId + * @return + */ + List getByProcurementPlanId(Long procurementPlanId); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemServiceImpl.java new file mode 100644 index 00000000..d076363a --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanItemServiceImpl.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanItemSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProcurementPlanItemMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 供应商采购计划子 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class BpmOASupplierProcurementPlanItemServiceImpl implements BpmOASupplierProcurementPlanItemService { + + @Resource + private BpmOASupplierProcurementPlanItemMapper oaSupplierProcurementPlanItemMapper; + + @Override + public Long createOaSupplierProcurementPlanItem(BpmOASupplierProcurementPlanItemSaveReqVO createReqVO) { + // 插入 + BpmOASupplierProcurementPlanItemDO oaSupplierProcurementPlanItem = BeanUtils.toBean(createReqVO, BpmOASupplierProcurementPlanItemDO.class); + oaSupplierProcurementPlanItemMapper.insert(oaSupplierProcurementPlanItem); + // 返回 + return oaSupplierProcurementPlanItem.getId(); + } + + @Override + public void updateOaSupplierProcurementPlanItem(BpmOASupplierProcurementPlanItemSaveReqVO updateReqVO) { + // 更新 + BpmOASupplierProcurementPlanItemDO updateObj = BeanUtils.toBean(updateReqVO, BpmOASupplierProcurementPlanItemDO.class); + oaSupplierProcurementPlanItemMapper.updateById(updateObj); + } + + @Override + public void deleteOaSupplierProcurementPlanItem(Long id) { + // 删除 + oaSupplierProcurementPlanItemMapper.deleteById(id); + } + + @Override + public BpmOASupplierProcurementPlanItemDO getOaSupplierProcurementPlanItem(Long id) { + return oaSupplierProcurementPlanItemMapper.selectById(id); + } + + @Override + public PageResult getOaSupplierProcurementPlanItemPage(BpmOASupplierProcurementPlanItemPageReqVO pageReqVO) { + return oaSupplierProcurementPlanItemMapper.selectPage(pageReqVO); + } + + @Override + public List getByProcurementPlanId(Long procurementPlanId) { + return oaSupplierProcurementPlanItemMapper.selectList(new LambdaQueryWrapper() + .eq(BpmOASupplierProcurementPlanItemDO::getProcurementPlanId, procurementPlanId)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanService.java new file mode 100644 index 00000000..7ffb81f9 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanService.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO; + +import javax.validation.Valid; +import java.util.List; + +/** + * 供应商采购计划 Service 接口 + * + * @author 艾楷 + */ +public interface BpmOASupplierProcurementPlanService { + + /** + * 创建供应商采购计划 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createOaSupplierProcurementPlan(@Valid BpmOASupplierProcurementPlanSaveReqVO createReqVO); + + /** + * 更新供应商采购计划 + * + * @param updateReqVO 更新信息 + */ + void updateOaSupplierProcurementPlan(@Valid BpmOASupplierProcurementPlanSaveReqVO updateReqVO); + + /** + * 删除供应商采购计划 + * + * @param id 编号 + */ + void deleteOaSupplierProcurementPlan(Long id); + + /** + * 获得供应商采购计划 + * + * @param id 编号 + * @return 供应商采购计划 + */ + BpmOASupplierProcurementPlanDO getOaSupplierProcurementPlan(Long id); + + /** + * 获得供应商采购计划分页 + * + * @param pageReqVO 分页查询 + * @return 供应商采购计划分页 + */ + PageResult getOaSupplierProcurementPlanPage(BpmOASupplierProcurementPlanPageReqVO pageReqVO); + + /** + * 更新工作任务的状态 + * + * @param processInstanceId 流程实例id + * @param id 编号 + * @param result 结果 + */ + void updateSupplierProcurementPlanResult(String processInstanceId, Long id, Integer result); + + /** + * 批量更新结算方式 + * + * @param ids + * @param settlementFlag + */ + void batchEditSettlementFlag(List ids, Integer settlementFlag); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanServiceImpl.java new file mode 100644 index 00000000..a321fc7b --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierProcurementPlanServiceImpl.java @@ -0,0 +1,135 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; +import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; +import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASupplierProcurementPlanConvert; +import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASupplierProcurementPlanItemConvert; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanItemDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProcurementPlanItemMapper; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProcurementPlanMapper; +import cn.iocoder.yudao.module.bpm.service.task.BpmHistoryProcessInstanceService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 供应商采购计划 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService implements BpmOASupplierProcurementPlanService { + + @Resource + private BpmOASupplierProcurementPlanMapper oaSupplierProcurementPlanMapper; + @Resource + private BpmOASupplierProcurementPlanItemMapper oaSupplierProcurementPlanItemMapper; + @Resource + private BpmProcessInstanceApi processInstanceApi; + @Resource + private BpmHistoryProcessInstanceService historyProcessInstanceService; +// @Resource +// private BpmProcessInstanceService processInstanceService; + + /** + * OA 供应商资产采购申请 KEY + */ + public static final String PROCESS_KEY = "oa_supplier_procurement_plan_2"; + + @Override + public Long createOaSupplierProcurementPlan(BpmOASupplierProcurementPlanSaveReqVO createReqVO) { + // 插入 + BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = BeanUtils.toBean(createReqVO, BpmOASupplierProcurementPlanDO.class); + oaSupplierProcurementPlanMapper.insert(oaSupplierProcurementPlan); + // 返回 + Long userId = WebFrameworkUtils.getLoginUserId(); + createReqVO.setUserId(userId); + // 采购支付对象转换 + BpmOASupplierProcurementPlanDO oaSupplierProcurementPlanDO = BpmOASupplierProcurementPlanConvert.INSTANCE.convert(createReqVO); + oaSupplierProcurementPlanMapper.insert(oaSupplierProcurementPlanDO); + + // 子列表转换 + List items = BpmOASupplierProcurementPlanItemConvert.INSTANCE.convert(createReqVO.getItems()); + for (BpmOASupplierProcurementPlanItemDO item : items) { + item.setProcurementPlanId(oaSupplierProcurementPlanDO.getId()); + item.setUserId(userId); + } + oaSupplierProcurementPlanItemMapper.insertBatch(items); + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaSupplierProcurementPlan.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 采购单中 + oaSupplierProcurementPlanMapper.updateById(new BpmOASupplierProcurementPlanDO().setId(oaSupplierProcurementPlan.getId()).setProcessInstanceId(processInstanceId)); + + // 判断是否为重新发起的流程 + if (createReqVO.getProcessInstanceId() != null && createReqVO.getResult() == 3) { + historyProcessInstanceService.createHistoryProcessInstance(processInstanceId, createReqVO.getProcessInstanceId()); + } + + List purchaseFileItems = createReqVO.getPurchaseFileItems(); + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (purchaseFileItems != null && !purchaseFileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId, purchaseFileItems); + } +// List theArrivalFileItems = createReqVO.getTheArrivalFileItems(); +// //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id +// if (theArrivalFileItems != null && !theArrivalFileItems.isEmpty()) { +// uploadBpmFileProcessInstanceId(processInstanceId, theArrivalFileItems); +// } + // 返回 + return oaSupplierProcurementPlanDO.getId(); + } + + @Override + public void updateOaSupplierProcurementPlan(BpmOASupplierProcurementPlanSaveReqVO updateReqVO) { + // 更新 + BpmOASupplierProcurementPlanDO updateObj = BeanUtils.toBean(updateReqVO, BpmOASupplierProcurementPlanDO.class); + oaSupplierProcurementPlanMapper.updateById(updateObj); + } + + @Override + public void deleteOaSupplierProcurementPlan(Long id) { + // 删除 + oaSupplierProcurementPlanMapper.deleteById(id); + } + + + @Override + public BpmOASupplierProcurementPlanDO getOaSupplierProcurementPlan(Long id) { + return oaSupplierProcurementPlanMapper.selectById(id); + } + + @Override + public PageResult getOaSupplierProcurementPlanPage(BpmOASupplierProcurementPlanPageReqVO pageReqVO) { + return oaSupplierProcurementPlanMapper.selectPage(pageReqVO); + } + + @Override + public void updateSupplierProcurementPlanResult(String processInstanceId, Long id, Integer result) { + oaSupplierProcurementPlanMapper.updateById(new BpmOASupplierProcurementPlanDO().setId(id).setResult(result).setProcessInstanceId(processInstanceId)); + } + + @Override + public void batchEditSettlementFlag(List ids, Integer settlementFlag) { + oaSupplierProcurementPlanMapper.update(new BpmOASupplierProcurementPlanDO().setSettlementFlag(settlementFlag), + new LambdaQueryWrapper() + .in(BpmOASupplierProcurementPlanDO::getId, ids)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentService.java new file mode 100644 index 00000000..f24706bf --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import javax.validation.*; + +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierPurchasePaymentDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 供应商采购付款 Service 接口 + * + * @author 艾楷 + */ +public interface BpmOASupplierPurchasePaymentService { + + /** + * 创建供应商采购付款 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createOASupplierPurchasePayment(@Valid BpmOASupplierPurchasePaymentSaveReqVO createReqVO); + + /** + * 更新供应商采购付款 + * + * @param updateReqVO 更新信息 + */ + void updateOASupplierPurchasePayment(@Valid BpmOASupplierPurchasePaymentSaveReqVO updateReqVO); + + /** + * 删除供应商采购付款 + * + * @param id 编号 + */ + void deleteOASupplierPurchasePayment(Long id); + + /** + * 获得供应商采购付款 + * + * @param id 编号 + * @return 供应商采购付款 + */ + BpmOASupplierPurchasePaymentDO getOASupplierPurchasePayment(Long id); + + /** + * 获得供应商采购付款分页 + * + * @param pageReqVO 分页查询 + * @return 供应商采购付款分页 + */ + PageResult getOASupplierPurchasePaymentPage(BpmOASupplierPurchasePaymentPageReqVO pageReqVO); + + + /** + * 更新工作任务的状态 + * + * @param processInstanceId 流程实例id + * @param id 编号 + * @param result 结果 + */ + void updateSupplierPurchasePaymentResult(String processInstanceId, Long id, Integer result); +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentServiceImpl.java new file mode 100644 index 00000000..1306a219 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOASupplierPurchasePaymentServiceImpl.java @@ -0,0 +1,151 @@ +package cn.iocoder.yudao.module.bpm.service.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; +import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi; +import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentPageReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierpurchasepayment.BpmOASupplierPurchasePaymentSaveReqVO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.financialpayment.FinancialPaymentDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierPurchasePaymentDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierPurchasePaymentMapper; +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; +import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService; +import cn.iocoder.yudao.module.bpm.service.task.BpmHistoryProcessInstanceService; +import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import org.flowable.engine.runtime.ProcessInstance; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 供应商采购付款 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class BpmOASupplierPurchasePaymentServiceImpl extends BpmOABaseService implements BpmOASupplierPurchasePaymentService { + + @Resource + private BpmOASupplierPurchasePaymentMapper supplierPurchasePaymentMapper; + @Resource + private BpmProcessInstanceApi processInstanceApi; + @Resource + @Lazy // 解决循环依赖 + private BpmHistoryProcessInstanceService historyProcessInstanceService; + @Resource + private BpmProcessInstanceService processInstanceService; + @Resource + private BpmOASupplierProcurementPlanService supplierProcurementPlanService; + @Resource + private FinancialPaymentService financialPaymentService; + @Resource + private AdminUserApi userApi; + + + /** + * 供应商采购支付 + */ + public static final String PROCESS_KEY = "oa_supplier_purchase_payment_2"; + + @Override + public Long createOASupplierPurchasePayment(BpmOASupplierPurchasePaymentSaveReqVO createReqVO) { + // 插入 + BpmOASupplierPurchasePaymentDO supplierPurchasePaymentDO = BeanUtils.toBean(createReqVO, BpmOASupplierPurchasePaymentDO.class); + supplierPurchasePaymentMapper.insert(supplierPurchasePaymentDO); + Long userId = WebFrameworkUtils.getLoginUserId(); + + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + String processInstanceId = processInstanceApi.createProcessInstance(userId, + new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY) + .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(supplierPurchasePaymentDO.getId()))).getCheckedData(); + + // 将工作流的编号,更新到 OA 采购单中 + supplierPurchasePaymentMapper.updateById(new BpmOASupplierPurchasePaymentDO().setId(supplierPurchasePaymentDO.getId()).setProcessInstanceId(processInstanceId)); + + // 判断是否为重新发起的流程 + if (createReqVO.getProcessInstanceId() != null && createReqVO.getResult() == 3) { + historyProcessInstanceService.createHistoryProcessInstance(processInstanceId, createReqVO.getProcessInstanceId()); + } + + List fileItems = createReqVO.getFileItems(); + //这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id + if (fileItems != null && !fileItems.isEmpty()) { + uploadBpmFileProcessInstanceId(processInstanceId, fileItems); + } + // 返回 + return supplierPurchasePaymentDO.getId(); + } + + @Override + public void updateOASupplierPurchasePayment(BpmOASupplierPurchasePaymentSaveReqVO updateReqVO) { + // 更新 + BpmOASupplierPurchasePaymentDO updateObj = BeanUtils.toBean(updateReqVO, BpmOASupplierPurchasePaymentDO.class); + supplierPurchasePaymentMapper.updateById(updateObj); + } + + @Override + public void deleteOASupplierPurchasePayment(Long id) { + // 删除 + supplierPurchasePaymentMapper.deleteById(id); + } + + @Override + public BpmOASupplierPurchasePaymentDO getOASupplierPurchasePayment(Long id) { + return supplierPurchasePaymentMapper.selectById(id); + } + + @Override + public PageResult getOASupplierPurchasePaymentPage(BpmOASupplierPurchasePaymentPageReqVO pageReqVO) { + return supplierPurchasePaymentMapper.selectPage(pageReqVO); + } + + @Override + public void updateSupplierPurchasePaymentResult(String processInstanceId, Long id, Integer result) { + //审核通过 (最后节点) + if (BpmProcessInstanceResultEnum.APPROVE.getResult().equals(result)) { + ProcessInstance instance = processInstanceService.getProcessInstance(processInstanceId); + if (instance.isEnded()) { + // -- 获取到供应商和商品的信息 - 插入到具体到业务表中 + BpmOASupplierPurchasePaymentDO supplierPurchasePaymentDO = supplierPurchasePaymentMapper.selectById(id); + List supplierProcurementPlanIds = Arrays.stream(supplierPurchasePaymentDO.getSupplierProcurementPlanIds().split(",")).map(Long::valueOf).collect(Collectors.toList()); + // -- 批量更新结算方式 + supplierProcurementPlanService.batchEditSettlementFlag(supplierProcurementPlanIds, 1); + CommonResult user = userApi.getUser(supplierPurchasePaymentDO.getUserId()); + BpmProcessInstanceExtDO processInstance = processInstanceService.getProcessInstanceDO(processInstanceId); + // -- 插入到财务支付表中 + financialPaymentService.save(new FinancialPaymentDO() + .setUserId(supplierPurchasePaymentDO.getUserId()) + .setDeptId(user.getData() == null ? null : user.getData().getDeptId()) + .setProcessInstanceId(supplierPurchasePaymentDO.getProcessInstanceId()) + .setReason(supplierPurchasePaymentDO.getRemark()) + .setObjectId(id) + .setType(5) + .setStatus(0) + .setAmountPayable(supplierPurchasePaymentDO.getTotalMoney()) + .setProcessInstanceName(processInstance.getName()) + .setBeginTime(processInstance.getCreateTime()) + .setEndTime(processInstance.getEndTime()) + ); + } + } + supplierPurchasePaymentMapper.updateById(new BpmOASupplierPurchasePaymentDO().setId(id).setResult(result).setProcessInstanceId(processInstanceId)); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierProcurementPlanResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierProcurementPlanResultListener.java new file mode 100644 index 00000000..bcd26491 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierProcurementPlanResultListener.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.bpm.service.oa.listener; + +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent; +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierProcurementPlanService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierProcurementPlanServiceImpl; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOaSupplierServiceImpl; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * OA 合同审批单的结果的监听器实现类 + * + * @author 符溶馨 + */ +@Component +public class BpmOASupplierProcurementPlanResultListener extends BpmProcessInstanceResultEventListener { + + @Resource + private BpmOASupplierProcurementPlanService supplierProcurementPlanService; + + @Override + protected String getProcessDefinitionKey() { + return BpmOASupplierProcurementPlanServiceImpl.PROCESS_KEY; + } + + @Override + protected void onEvent(BpmProcessInstanceResultEvent event) { + supplierProcurementPlanService.updateSupplierProcurementPlanResult(event.getId(), Long.parseLong(event.getBusinessKey()), event.getResult()); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierPurchasePaymentResultListener.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierPurchasePaymentResultListener.java new file mode 100644 index 00000000..f6f6ffb1 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/listener/BpmOASupplierPurchasePaymentResultListener.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.bpm.service.oa.listener; + +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent; +import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierPurchasePaymentService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierPurchasePaymentServiceImpl; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * OA 合同审批单的结果的监听器实现类 + * + * @author 符溶馨 + */ +@Component +public class BpmOASupplierPurchasePaymentResultListener extends BpmProcessInstanceResultEventListener { + + @Resource + private BpmOASupplierPurchasePaymentService supplierPurchasePaymentService; + + @Override + protected String getProcessDefinitionKey() { + return BpmOASupplierPurchasePaymentServiceImpl.PROCESS_KEY; + } + + @Override + protected void onEvent(BpmProcessInstanceResultEvent event) { + supplierPurchasePaymentService.updateSupplierPurchasePaymentResult(event.getId(), Long.parseLong(event.getBusinessKey()), event.getResult()); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanItemMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanItemMapper.xml new file mode 100644 index 00000000..ab73a532 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanItemMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanMapper.xml new file mode 100644 index 00000000..2bc01db5 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProcurementPlanMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierPurchasePaymentMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierPurchasePaymentMapper.xml new file mode 100644 index 00000000..9bc07e31 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierPurchasePaymentMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/AttendanceEquipmentController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/AttendanceEquipmentController.java index 724512ef..7cdd38d8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/AttendanceEquipmentController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/AttendanceEquipmentController.java @@ -1,11 +1,7 @@ package cn.iocoder.yudao.module.system.controller; import cn.hutool.json.JSONObject; -import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; -import cn.iocoder.yudao.module.system.controller.admin.attendance.dto.AttendancePunchDTO; -import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendancePunchVO; -import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import cn.iocoder.yudao.module.system.service.attendance.AttendanceService; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; @@ -18,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.annotation.security.PermitAll; -@Tag(name = "管理后台 - 资产") +@Tag(name = "管理后台 - 考勤机打卡") @RestController @RequestMapping("/api/v1") @Validated @@ -31,28 +27,6 @@ public class AttendanceEquipmentController { @PermitAll public JSONObject verifyUser(@RequestBody JSONObject object) { TenantContextHolder.setTenantId(1L); - // TODO: 2024/6/4 暂时写死 - JSONObject result = new JSONObject().set("Result", 0).set("Msg", "识别通过"); - JSONObject content = new JSONObject(); - content.set("voice_code", -2); - result.set("Content", content); - log.info("verifyUser: {}", object); - try { - String sn = object.getStr("sn"); - String userId = object.getStr("user_id"); - content.set("user_id", userId); - AttendancePunchVO punch = attendanceService.punch(new AttendancePunchDTO() - .setUserId(Long.valueOf(userId)) - .setPunchType(AttendanceGroupDO.PUNCH_TYPE_ATTENDANCE_MACHINE) - .setSn(sn)); - content.set("voice_text", punch.getStatus() == 0 ? "打卡成功" : (punch.getStatus() == 1 ? "迟到打卡成功" : "早退打卡成功")); - } catch (ServiceException e) { - content.set("voice_text", e.getMessage()); - } catch (Exception e) { - content.set("voice_text", "系统错误"); - } finally { - result.set("Content", content); - return result; - } + return attendanceService.attendanceMachineCheck(object); } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/AssetsTypeController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/AssetsTypeController.java index 89b7c55b..fdf2c6b1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/AssetsTypeController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/AssetsTypeController.java @@ -1,33 +1,31 @@ package cn.iocoder.yudao.module.system.controller.admin.assets; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*; +import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsTypePageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsTypeRespVO; +import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsTypeSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO; import cn.iocoder.yudao.module.system.service.assets.AssetsTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 资产类型") @RestController @@ -71,8 +69,8 @@ public class AssetsTypeController { @GetMapping("/getAllList") @Operation(summary = "获取全部类型") - public CommonResult> getAllList() { - List assetsTypes = assetsTypeService.getAllList(); + public CommonResult> getAllList(@RequestParam(required = false, defaultValue = "1") Integer businessType) { + List assetsTypes = assetsTypeService.getAllList(businessType); return success(BeanUtils.toBean(assetsTypes, AssetsTypeRespVO.class)); } @@ -98,12 +96,12 @@ public class AssetsTypeController { @PreAuthorize("@ss.hasPermission('system:assets-type:export')") @OperateLog(type = EXPORT) public void exportAssetsTypeExcel(@Valid AssetsTypePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = assetsTypeService.getAssetsTypePage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "资产类型.xls", "数据", AssetsTypeRespVO.class, - BeanUtils.toBean(list, AssetsTypeRespVO.class)); + BeanUtils.toBean(list, AssetsTypeRespVO.class)); } -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsPageReqVO.java index c1f7310d..fe7b6f6d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsPageReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.controller.admin.assets.vo; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,6 +26,9 @@ public class AssetsPageReqVO extends PageParam { @Schema(description = "资产状态 -1无状态 0空闲 1使用中 2维修 3损坏 (资产类型按单件时候有意义)", example = "1") private Integer status; + @Schema(description = "业务类型 1行政类型 2生产类型", example = "1") + private Integer businessType; + @Schema(description = "资产单位") private String util; @@ -50,4 +54,4 @@ public class AssetsPageReqVO extends PageParam { @Schema(description = "是否过滤可分配 0否 1是 默认否") private Integer distributeFlag; -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypePageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypePageReqVO.java index ef178cbd..6cc4203e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypePageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypePageReqVO.java @@ -21,6 +21,12 @@ public class AssetsTypePageReqVO extends PageParam { @Schema(description = "类型 0按量 1按单件", example = "1") private Integer type; + @Schema(description = "业务类型 1行政类型 2生产类型", example = "1") + private Integer businessType; + + @Schema(description = "消耗类型 1固定资产 2消耗品", example = "1") + private Integer consumeType; + @Schema(description = "上级资产类型id", example = "27306") private Long pid; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeRespVO.java index 2a2fdf9e..b7ff2b7b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeRespVO.java @@ -29,6 +29,13 @@ public class AssetsTypeRespVO { @ExcelProperty("类型 0按量 1按单件") private Integer type; + @Schema(description = "业务类型 1行政类型 2生产类型", example = "1") + @ExcelProperty("业务类型 1行政类型 2生产类型") + private Integer businessType; + + @Schema(description = "消耗类型 1固定资产 2消耗品", example = "1") + private Integer consumeType; + @Schema(description = "上级资产类型id", example = "27306") @ExcelProperty("上级资产类型id") private Long pid; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeSaveReqVO.java index a7279d87..7e7879e4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsTypeSaveReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.controller.admin.assets.vo; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -19,6 +20,12 @@ public class AssetsTypeSaveReqVO { @Schema(description = "类型 0按量 1按单件", example = "1") private Integer type; + @Schema(description = "业务类型 1行政类型 2生产类型", example = "1") + private Integer businessType; + + @Schema(description = "消耗类型 1固定资产 2消耗品", example = "1") + private Integer consumeType; + @Schema(description = "上级资产类型id", example = "27306") private Long pid; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/AttendanceFactoryPunchRecordController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/AttendanceFactoryPunchRecordController.java new file mode 100644 index 00000000..6a316f17 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/AttendanceFactoryPunchRecordController.java @@ -0,0 +1,81 @@ +package cn.iocoder.yudao.module.system.controller.admin.attendance; + +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordRespVO; +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.factorypunchrecord.AttendanceFactoryPunchRecordDO; +import cn.iocoder.yudao.module.system.service.attendance.factorypunchrecord.AttendanceFactoryPunchRecordService; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + + +@Tag(name = "管理后台 - 工厂员工打卡记录") +@RestController +@RequestMapping("/system/attendance-factory-punch-record") +@Validated +public class AttendanceFactoryPunchRecordController { + + @Resource + private AttendanceFactoryPunchRecordService attendanceFactoryPunchRecordService; + + @PutMapping("/update") + @Operation(summary = "更新工厂员工打卡记录") + @PreAuthorize("@ss.hasPermission('system:attendance-factory-punch-record:update')") + public CommonResult updateAttendanceFactoryPunchRecord(@Valid @RequestBody AttendanceFactoryPunchRecordSaveReqVO updateReqVO) { + attendanceFactoryPunchRecordService.updateAttendanceFactoryPunchRecord(updateReqVO); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工厂员工打卡记录") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system:attendance-factory-punch-record:query')") + public CommonResult getAttendanceFactoryPunchRecord(@RequestParam("id") Long id) { + AttendanceFactoryPunchRecordDO attendanceFactoryPunchRecord = attendanceFactoryPunchRecordService.getAttendanceFactoryPunchRecord(id); + return success(BeanUtils.toBean(attendanceFactoryPunchRecord, AttendanceFactoryPunchRecordRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得工厂员工打卡记录分页") + @PreAuthorize("@ss.hasPermission('system:attendance-factory-punch-record:query')") + public CommonResult> getAttendanceFactoryPunchRecordPage(@Valid AttendanceFactoryPunchRecordPageReqVO pageReqVO) { + PageResult pageResult = attendanceFactoryPunchRecordService.getAttendanceFactoryPunchRecordPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, AttendanceFactoryPunchRecordRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出工厂员工打卡记录 Excel") + @PreAuthorize("@ss.hasPermission('system:attendance-factory-punch-record:export')") + @OperateLog(type = EXPORT) + public void exportAttendanceFactoryPunchRecordExcel(@Valid AttendanceFactoryPunchRecordPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = attendanceFactoryPunchRecordService.getAttendanceFactoryPunchRecordPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "工厂员工打卡记录.xls", "数据", AttendanceFactoryPunchRecordRespVO.class, + BeanUtils.toBean(list, AttendanceFactoryPunchRecordRespVO.class)); + } + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordPageReqVO.java new file mode 100644 index 00000000..c2500aeb --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordPageReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.system.controller.admin.attendance.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 工厂员工打卡记录分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AttendanceFactoryPunchRecordPageReqVO extends PageParam { + + @Schema(description = "考勤用户id", example = "10616") + private Long userId; + + @Schema(description = "部门id", example = "5051") + private Long deptId; + + @Schema(description = "工厂id", example = "32372") + private Long factoryId; + + @Schema(description = "设备序列号(考勤机打卡有)") + private String sn; + + @Schema(description = "日期yyyy-MM-dd格式 (实际是哪一天)") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] actualDayTime; + + @Schema(description = "打卡时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] punchTime; + + @Schema(description = "图片") + private String image; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordRespVO.java new file mode 100644 index 00000000..e3e02e12 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordRespVO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.system.controller.admin.attendance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 工厂员工打卡记录 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AttendanceFactoryPunchRecordRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20527") + @ExcelProperty("编号") + private Long id; + + @Schema(description = "考勤用户id", example = "10616") + @ExcelProperty("考勤用户id") + private Long userId; + + @Schema(description = "考勤用户名称", example = "10616") + @ExcelProperty("考勤用户名称") + private String userName; + + @Schema(description = "部门id", example = "5051") + @ExcelProperty("部门id") + private Long deptId; + + @Schema(description = "部门名称", example = "5051") + @ExcelProperty("部门名称") + private String deptName; + + @Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32372") + @ExcelProperty("工厂id") + private Long factoryId; + + @Schema(description = "工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "32372") + @ExcelProperty("工厂名称") + private String factoryName; + + @Schema(description = "设备序列号(考勤机打卡有)") + @ExcelProperty("设备序列号(考勤机打卡有)") + private String sn; + + @Schema(description = "日期yyyy-MM-dd格式 (实际是哪一天)") + @ExcelProperty("日期yyyy-MM-dd格式 (实际是哪一天)") + private String actualDayTime; + + @Schema(description = "打卡时间") + @ExcelProperty("打卡时间") + private LocalDateTime punchTime; + + @Schema(description = "图片") + @ExcelProperty("图片") + private String image; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordSaveReqVO.java new file mode 100644 index 00000000..de2b6a6b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceFactoryPunchRecordSaveReqVO.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.system.controller.admin.attendance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 工厂员工打卡记录新增/修改 Request VO") +@Data +public class AttendanceFactoryPunchRecordSaveReqVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20527") + private Long id; + + @Schema(description = "考勤用户id", example = "10616") + private Long userId; + + @Schema(description = "部门id", example = "5051") + private Long deptId; + + @Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32372") + @NotNull(message = "工厂id不能为空") + private Long factoryId; + + @Schema(description = "设备序列号(考勤机打卡有)") + private String sn; + + @Schema(description = "日期yyyy-MM-dd格式 (实际是哪一天)") + private String actualDayTime; + + @Schema(description = "打卡时间") + private LocalDateTime punchTime; + + @Schema(description = "图片") + private String image; + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/SupplierController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/SupplierController.java index ec7f02af..683ca477 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/SupplierController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/SupplierController.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import cn.iocoder.yudao.module.system.api.supplier.dto.SupplierRpcDTO; import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.SupplierPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.SupplierProductRespVO; import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.SupplierRespVO; @@ -41,18 +42,20 @@ public class SupplierController { @Resource private SupplierProductService supplierProductService; - @PostMapping("/create") - @Operation(summary = "创建供应商列表(OA已审核通过后插入)") - @PreAuthorize("@ss.hasPermission('system:supplier:create')") - public CommonResult createSupplier(@Valid @RequestBody SupplierSaveReqVO createReqVO) { - return success(supplierService.createSupplier(createReqVO)); - } - - @PutMapping("/update") + @PutMapping("/edit") @Operation(summary = "更新供应商列表(OA已审核通过后插入)") @PreAuthorize("@ss.hasPermission('system:supplier:update')") - public CommonResult updateSupplier(@Valid @RequestBody SupplierSaveReqVO updateReqVO) { - supplierService.updateSupplier(updateReqVO); + public CommonResult edit(@Valid @RequestBody SupplierRpcDTO supplierRpcDTO) { + supplierService.saveOrEdit(supplierRpcDTO); + return success(true); + } + + + @PutMapping("/editStatus") + @Operation(summary = "更新供应商状态") + @PreAuthorize("@ss.hasPermission('system:supplier:update')") + public CommonResult editStatus(@Valid @RequestBody SupplierSaveReqVO vo) { + supplierService.editStatus(vo); return success(true); } @@ -78,6 +81,21 @@ public class SupplierController { return success(vo); } + @GetMapping("/allList") + @Operation(summary = "获得供应商列表") + public CommonResult> productList() { + List items = supplierService.allList(); + return success(BeanUtils.toBean(items, SupplierRespVO.class)); + } + + @GetMapping("/productList") + @Operation(summary = "获得供应商商品列表") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult> productList(@RequestParam("id") Long id) { + List items = supplierProductService.getBySupplierId(id); + return success(BeanUtils.toBean(items, SupplierProductRespVO.class)); + } + @GetMapping("/page") @Operation(summary = "获得供应商列表(OA已审核通过后插入)分页") @PreAuthorize("@ss.hasPermission('system:supplier:query')") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/vo/SupplierSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/vo/SupplierSaveReqVO.java index 90a4ebcc..87f87e53 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/vo/SupplierSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/supplier/vo/SupplierSaveReqVO.java @@ -43,7 +43,7 @@ public class SupplierSaveReqVO { @Schema(description = "银行开户行") private String bankAccountOpeningBank; - @Schema(description = "银行开户行") + @Schema(description = "状态 0禁用 1启用") private Integer status; @TableField(typeHandler = JacksonTypeHandler.class) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java index d3046064..001d170d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java @@ -109,6 +109,7 @@ public class UserController { userService.updateFieldwork(reqVO.getId(), reqVO.getFieldworkFlag()); return success(true); } + @GetMapping("/gpsPosition") @Operation(summary = "GPS用户全量更新") public CommonResult gpsFullUserUpdate() { @@ -157,8 +158,8 @@ public class UserController { @GetMapping({"/list-all-simple", "/simple-list"}) @Operation(summary = "获取用户精简信息列表", description = "只包含被开启的用户,主要用于前端的下拉选项") - public CommonResult> getSimpleUserList() { - List list = userService.getUserListByStatus(CommonStatusEnum.ENABLE.getStatus()); + public CommonResult> getSimpleUserList(@RequestParam(required = false, defaultValue = "1") Integer userType) { + List list = userService.getUserListByStatus(userType, CommonStatusEnum.ENABLE.getStatus()); // 拼接数据 Map deptMap = deptService.getDeptMap( convertList(list, AdminUserDO::getDeptId)); @@ -168,8 +169,8 @@ public class UserController { @GetMapping({"/list-all"}) @Operation(summary = "获取用户精简信息列表", description = "只包含被开启的用户,主要用于前端的下拉选项,无数据权限") @DataPermission(enable = false) - public CommonResult> getAllUserList() { - List list = userService.getUserListByStatus(CommonStatusEnum.ENABLE.getStatus()); + public CommonResult> getAllUserList(@RequestParam(required = false, defaultValue = "1") Integer userType) { + List list = userService.getUserListByStatus(userType, CommonStatusEnum.ENABLE.getStatus()); // 拼接数据 Map deptMap = deptService.getDeptMap( convertList(list, AdminUserDO::getDeptId)); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/assets/AssetsTypeDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/assets/AssetsTypeDO.java index 6deb4daf..07c37030 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/assets/AssetsTypeDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/assets/AssetsTypeDO.java @@ -38,6 +38,14 @@ public class AssetsTypeDO extends BaseDO { * 类型 0按量 1按单件 */ private Integer type; + /** + * 业务类型 1行政类型 2生产类型 + */ + private Integer businessType; + /** + * 消耗类型 1固定资产 2消耗品 + */ + private Integer consumeType; /** * 类型编码(最后一级才有) */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/factorypunchrecord/AttendanceFactoryPunchRecordDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/factorypunchrecord/AttendanceFactoryPunchRecordDO.java new file mode 100644 index 00000000..3392a256 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/factorypunchrecord/AttendanceFactoryPunchRecordDO.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.factorypunchrecord; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.time.LocalDateTime; + +/** + * 工厂员工打卡记录 DO + * + * @author 艾楷 + */ +@TableName("kq_attendance_factory_punch_record") +@KeySequence("kq_attendance_factory_punch_record_seq") +// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AttendanceFactoryPunchRecordDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 考勤用户id + */ + private Long userId; + /** + * 部门id + */ + private Long deptId; + /** + * 工厂id + */ + private Long factoryId; + /** + * 设备序列号(考勤机打卡有) + */ + private String sn; + /** + * 日期yyyy-MM-dd格式 (实际是哪一天) + */ + private String actualDayTime; + /** + * 打卡时间 + */ + private LocalDateTime punchTime; + /** + * 图片 + */ + private String image; + + @TableField(exist = false) + private String userName; + + @TableField(exist = false) + private String deptName; + + @TableField(exist = false) + private String factoryName; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/assets/AssetsTypeMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/assets/AssetsTypeMapper.java index 25ffdfc7..9fadf9f3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/assets/AssetsTypeMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/assets/AssetsTypeMapper.java @@ -24,6 +24,7 @@ public interface AssetsTypeMapper extends BaseMapperX { .likeIfPresent(AssetsTypeDO::getName, reqVO.getName()) .eqIfPresent(AssetsTypeDO::getType, reqVO.getType()) .eqIfPresent(AssetsTypeDO::getPid, reqVO.getPid()) + .eqIfPresent(AssetsTypeDO::getBusinessType, reqVO.getBusinessType()) .betweenIfPresent(AssetsTypeDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(AssetsTypeDO::getId)); } @@ -36,4 +37,4 @@ public interface AssetsTypeMapper extends BaseMapperX { AssetsTypeDO getByAssetsId(Long assetsId); List getByAssetsIds(@Param("assetsIds") List assetsIds); -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/factorypunchrecord/AttendanceFactoryPunchRecordMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/factorypunchrecord/AttendanceFactoryPunchRecordMapper.java new file mode 100644 index 00000000..f2838477 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/factorypunchrecord/AttendanceFactoryPunchRecordMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.system.dal.mysql.attendance.factorypunchrecord; + +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.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.factorypunchrecord.AttendanceFactoryPunchRecordDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 工厂员工打卡记录 Mapper + * + * @author 艾楷 + */ +@Mapper +public interface AttendanceFactoryPunchRecordMapper extends BaseMapperX { + + default PageResult selectPage(AttendanceFactoryPunchRecordPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(AttendanceFactoryPunchRecordDO::getUserId, reqVO.getUserId()) + .eqIfPresent(AttendanceFactoryPunchRecordDO::getDeptId, reqVO.getDeptId()) + .eqIfPresent(AttendanceFactoryPunchRecordDO::getFactoryId, reqVO.getFactoryId()) + .eqIfPresent(AttendanceFactoryPunchRecordDO::getSn, reqVO.getSn()) + .betweenIfPresent(AttendanceFactoryPunchRecordDO::getActualDayTime, reqVO.getActualDayTime()) + .betweenIfPresent(AttendanceFactoryPunchRecordDO::getPunchTime, reqVO.getPunchTime()) + .eqIfPresent(AttendanceFactoryPunchRecordDO::getImage, reqVO.getImage()) + .betweenIfPresent(AttendanceFactoryPunchRecordDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(AttendanceFactoryPunchRecordDO::getId)); + } + + /** + * 分野获取 + * + * @param vo + * @param objectPage + * @return + */ + IPage getAttendanceFactoryPunchRecordPage(@Param("vo") AttendanceFactoryPunchRecordPageReqVO vo, @Param("page") Page objectPage); +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java index 9d611a1b..57e2803a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.Facto import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSimpleRespVO; +import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; @@ -61,11 +62,10 @@ public interface AdminUserMapper extends BaseMapperX { return selectList(new LambdaQueryWrapperX().like(AdminUserDO::getNickname, nickname)); } - default List selectListByStatus(Integer status) { - + default List selectListByStatus(Integer userType, Integer status) { return selectList(new LambdaQueryWrapperX() .eq(AdminUserDO::getStatus, status) - .eq(AdminUserDO::getUserType, 1)); + .eqIfPresent(AdminUserDO::getUserType, userType)); } default List selectListByDeptIds(Collection deptIds, Integer status) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeService.java index f3393eeb..b39f4e45 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeService.java @@ -66,7 +66,7 @@ public interface AssetsTypeService { * * @return */ - List getAllList(); + List getAllList(Integer businessType); /** * 根据资产名称 获得指定资产类型信息 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeServiceImpl.java index 89ed4625..ef3b7732 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsTypeServiceImpl.java @@ -65,8 +65,9 @@ public class AssetsTypeServiceImpl implements AssetsTypeService { } @Override - public List getAllList() { - return assetsTypeMapper.selectList(); + public List getAllList(Integer businessType) { + return assetsTypeMapper.selectList(new LambdaQueryWrapper() + .eq(AssetsTypeDO::getBusinessType, businessType)); } @Override diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java index 4644e82a..34c2de18 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceService.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.system.service.attendance; +import cn.hutool.json.JSONObject; import cn.iocoder.yudao.module.system.controller.admin.attendance.dto.*; import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.*; import cn.iocoder.yudao.module.system.dal.dataobject.attendance.addressgroup.AttendanceAddressGroupItemDO; @@ -151,4 +152,12 @@ public interface AttendanceService { * @param dto */ void replacementCard(AttendanceReplacementCardDTO dto); + + /** + * 考勤机打卡 + * + * @param object + * @return + */ + JSONObject attendanceMachineCheck(JSONObject object); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java index 3f4f64b5..8917df6a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java @@ -12,6 +12,7 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.common.Constants; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; +import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.distance.GeoUtil; import cn.iocoder.yudao.module.system.controller.admin.attendance.dto.*; @@ -22,6 +23,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.Attendance import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshift.AttendanceGroupShiftDO; import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO; import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO; +import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO; import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; @@ -30,6 +32,7 @@ import cn.iocoder.yudao.module.system.dal.mysql.attendance.punchrecord.Attendanc import cn.iocoder.yudao.module.system.dal.mysql.dept.PostMapper; import cn.iocoder.yudao.module.system.handler.PunchHandler; import cn.iocoder.yudao.module.system.service.attendance.addressgroup.AttendanceAddressGroupItemService; +import cn.iocoder.yudao.module.system.service.attendance.factorypunchrecord.AttendanceFactoryPunchRecordService; import cn.iocoder.yudao.module.system.service.attendance.group.AttendanceGroupService; import cn.iocoder.yudao.module.system.service.attendance.groupshift.AttendanceGroupShiftService; import cn.iocoder.yudao.module.system.service.attendance.groupshiftitem.AttendanceGroupShiftItemService; @@ -38,6 +41,7 @@ import cn.iocoder.yudao.module.system.service.attendance.groupuser.AttendanceGro import cn.iocoder.yudao.module.system.service.attendance.punch.PunchService; import cn.iocoder.yudao.module.system.service.attendance.punch.dto.AttendanceOnTheDayDTO; import cn.iocoder.yudao.module.system.service.attendance.punchrecord.AttendancePunchRecordService; +import cn.iocoder.yudao.module.system.service.dept.DeptService; import cn.iocoder.yudao.module.system.service.dict.DictDataService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; import com.alibaba.excel.EasyExcel; @@ -91,7 +95,8 @@ public class AttendanceServiceImpl implements AttendanceService { private AttendancePunchRecordMapper attendancePunchRecordMapper; @Resource private AdminUserService adminUserService; - + @Resource + private AttendanceFactoryPunchRecordService attendanceFactoryPunchRecordService; @Resource private AttendanceGroupMapper attendanceGroupMapper; @Resource @@ -104,6 +109,8 @@ public class AttendanceServiceImpl implements AttendanceService { private DictDataService dictDataService; @Resource private AttendanceAddressGroupItemService attendanceAddressGroupItemService; + @Resource + private DeptService deptService; // 定义一些常量以提高代码的可读性和可维护性 @@ -225,7 +232,7 @@ public class AttendanceServiceImpl implements AttendanceService { .eq(AttendancePunchRecordDO::getUserId, dto.getUserId()) .eq(AttendancePunchRecordDO::getDayTime, pageVO.getTargetDayStr()) .eq(AttendancePunchRecordDO::getNextDayFlag, Constants.TRUE) - .eq(AttendancePunchRecordDO::getStatus, AttendanceOnTheDayDTO.PUNCH_STATUS_UN_PUNCH) + .in(AttendancePunchRecordDO::getStatus, Arrays.asList(AttendanceOnTheDayDTO.PUNCH_STATUS_UN_PUNCH, AttendanceOnTheDayDTO.ASK_FOR_LEAVE)) .eq(AttendancePunchRecordDO::getWorkType, attendancePunchRecordSaveReqVO.getWorkType()) .eq(AttendancePunchRecordDO::getAttendanceGroupShiftItemId, attendancePunchRecordSaveReqVO.getAttendanceGroupShiftItemId()) ); @@ -1056,6 +1063,54 @@ public class AttendanceServiceImpl implements AttendanceService { } } + @Override + public JSONObject attendanceMachineCheck(JSONObject object) { + JSONObject result = new JSONObject().set("Result", 0).set("Msg", "识别通过"); + JSONObject content = new JSONObject(); + content.set("voice_code", -2); + result.set("Content", content); + log.info("verifyUser: {}", object); + try { + String sn = object.getStr("sn"); + String userId = object.getStr("user_id"); + content.set("user_id", userId); + // -- 判断当前是否是工厂用户 - 是的话走工厂员工考勤记录即可;否则走考勤组正常打卡 + AdminUserDO user = adminUserService.getUser(Long.valueOf(userId)); + if (user == null || user.getStatus() == 1) { + content.set("voice_text", "无效用户"); + } else { + // -- 公司用户 + if (user.getUserType() == 1) { + AttendancePunchVO punch = this.punch(new AttendancePunchDTO() + .setUserId(Long.valueOf(userId)) + .setPunchType(AttendanceGroupDO.PUNCH_TYPE_ATTENDANCE_MACHINE) + .setSn(sn)); + content.set("voice_text", punch.getStatus() == 0 ? "打卡成功" : (punch.getStatus() == 1 ? "迟到打卡成功" : "早退打卡成功")); + } else { + LocalDateTime thisTime = LocalDateTime.now(); + String actualDayTime = thisTime.format(Constants.REPO_DATE_FORMAT); + //获取当前登陆用户部门 + DeptDO deptDO = deptService.getDept(user.getDeptId()); + // -- 工厂用户 + attendanceFactoryPunchRecordService.createAttendanceFactoryPunchRecord(new AttendanceFactoryPunchRecordSaveReqVO() + .setUserId(user.getId()) + .setDeptId(user.getDeptId()) + .setFactoryId(deptDO.getFactoryId()) + .setSn(sn) + .setActualDayTime(actualDayTime) + .setPunchTime(thisTime)); + } + } + } catch (ServiceException e) { + content.set("voice_text", e.getMessage()); + } catch (Exception e) { + content.set("voice_text", "系统错误"); + } finally { + result.set("Content", content); + return result; + } + } + @Override public void useReplacementCardNum(Long userId) { userId = userId == null ? getLoginUserId() : userId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordService.java new file mode 100644 index 00000000..45f75b1f --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordService.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.system.service.attendance.factorypunchrecord; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.factorypunchrecord.AttendanceFactoryPunchRecordDO; + +/** + * 工厂员工打卡记录 Service 接口 + * + * @author 艾楷 + */ +public interface AttendanceFactoryPunchRecordService { + + /** + * 创建工厂员工打卡记录 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createAttendanceFactoryPunchRecord(@Valid AttendanceFactoryPunchRecordSaveReqVO createReqVO); + + /** + * 更新工厂员工打卡记录 + * + * @param updateReqVO 更新信息 + */ + void updateAttendanceFactoryPunchRecord(@Valid AttendanceFactoryPunchRecordSaveReqVO updateReqVO); + + /** + * 删除工厂员工打卡记录 + * + * @param id 编号 + */ + void deleteAttendanceFactoryPunchRecord(Long id); + + /** + * 获得工厂员工打卡记录 + * + * @param id 编号 + * @return 工厂员工打卡记录 + */ + AttendanceFactoryPunchRecordDO getAttendanceFactoryPunchRecord(Long id); + + /** + * 获得工厂员工打卡记录分页 + * + * @param pageReqVO 分页查询 + * @return 工厂员工打卡记录分页 + */ + PageResult getAttendanceFactoryPunchRecordPage(AttendanceFactoryPunchRecordPageReqVO pageReqVO); + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordServiceImpl.java new file mode 100644 index 00000000..4c034203 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/factorypunchrecord/AttendanceFactoryPunchRecordServiceImpl.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.system.service.attendance.factorypunchrecord; + +import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.attendance.vo.AttendanceFactoryPunchRecordSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.factorypunchrecord.AttendanceFactoryPunchRecordDO; +import cn.iocoder.yudao.module.system.dal.mysql.attendance.factorypunchrecord.AttendanceFactoryPunchRecordMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.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.module.system.enums.ErrorCodeConstants.*; + +/** + * 工厂员工打卡记录 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class AttendanceFactoryPunchRecordServiceImpl implements AttendanceFactoryPunchRecordService { + + @Resource + private AttendanceFactoryPunchRecordMapper attendanceFactoryPunchRecordMapper; + + @Override + public Long createAttendanceFactoryPunchRecord(AttendanceFactoryPunchRecordSaveReqVO createReqVO) { + // 插入 + AttendanceFactoryPunchRecordDO attendanceFactoryPunchRecord = BeanUtils.toBean(createReqVO, AttendanceFactoryPunchRecordDO.class); + attendanceFactoryPunchRecordMapper.insert(attendanceFactoryPunchRecord); + // 返回 + return attendanceFactoryPunchRecord.getId(); + } + + @Override + public void updateAttendanceFactoryPunchRecord(AttendanceFactoryPunchRecordSaveReqVO updateReqVO) { + // 更新 + AttendanceFactoryPunchRecordDO updateObj = BeanUtils.toBean(updateReqVO, AttendanceFactoryPunchRecordDO.class); + attendanceFactoryPunchRecordMapper.updateById(updateObj); + } + + @Override + public void deleteAttendanceFactoryPunchRecord(Long id) { + // 删除 + attendanceFactoryPunchRecordMapper.deleteById(id); + } + + @Override + public AttendanceFactoryPunchRecordDO getAttendanceFactoryPunchRecord(Long id) { + return attendanceFactoryPunchRecordMapper.selectById(id); + } + + @Override + public PageResult getAttendanceFactoryPunchRecordPage(AttendanceFactoryPunchRecordPageReqVO pageReqVO) { + IPage vos = attendanceFactoryPunchRecordMapper.getAttendanceFactoryPunchRecordPage(pageReqVO, MyBatisUtils.buildPage(pageReqVO)); + return new PageResult<>(vos.getRecords(), vos.getTotal()); + } + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notice/NoticeServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notice/NoticeServiceImpl.java index 7c58abf5..78345181 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notice/NoticeServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notice/NoticeServiceImpl.java @@ -123,7 +123,7 @@ public class NoticeServiceImpl implements NoticeService { //全员推送 case 0: //获得用户信息 - userDOs = userService.getUserListByStatus(CommonStatusEnum.ENABLE.getStatus()); + userDOs = userService.getUserListByStatus(null, CommonStatusEnum.ENABLE.getStatus()); break; //部门推送 case 1: @@ -153,4 +153,4 @@ public class NoticeServiceImpl implements NoticeService { } } } -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierProductService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierProductService.java index 20cf0580..3e707e08 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierProductService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierProductService.java @@ -1,11 +1,12 @@ package cn.iocoder.yudao.module.system.service.supplier; -import java.util.*; -import javax.validation.*; -import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.supplier.SupplierProductDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.SupplierProductPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.SupplierProductSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.supplier.SupplierProductDO; + +import javax.validation.Valid; +import java.util.List; /** * 供应商商品 Service 接口 @@ -54,6 +55,7 @@ public interface SupplierProductService { /** * 获取列表 + * * @param supplierId * @return */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierService.java index 069ebc3a..68907046 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierService.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.supplier.vo.SupplierSaveR import cn.iocoder.yudao.module.system.dal.dataobject.supplier.SupplierDO; import javax.validation.Valid; +import java.util.List; /** * 供应商列表(OA已审核通过后插入) Service 接口 @@ -59,4 +60,18 @@ public interface SupplierService { * @param supplier */ void saveOrEdit(SupplierRpcDTO supplier); + + /** + * 更新状态 + * + * @param vo + */ + void editStatus(SupplierSaveReqVO vo); + + /** + * 获取所有供应商 + * + * @return + */ + List allList(); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierServiceImpl.java index dbb416b6..9a8416d1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supplier/SupplierServiceImpl.java @@ -76,8 +76,11 @@ public class SupplierServiceImpl implements SupplierService { if (supplier.getId() == null) { supplierMapper.insert(supplierDO); if (CollectionUtil.isNotEmpty(products)) { - supplierProductMapper.insertBatch(products); + for (SupplierProductDO product : products) { + product.setSupplierId(supplierDO.getId()); + } } + supplierProductMapper.insertBatch(products); } else { supplierMapper.updateById(supplierDO); // -- 操作子表 @@ -96,4 +99,15 @@ public class SupplierServiceImpl implements SupplierService { } } } + + @Override + public void editStatus(SupplierSaveReqVO vo) { + SupplierDO supplier = BeanUtils.toBean(vo, SupplierDO.class); + supplierMapper.updateById(supplier); + } + + @Override + public List allList() { + return supplierMapper.selectList(); + } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java index 0d7dac53..a7960306 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java @@ -279,10 +279,11 @@ public interface AdminUserService { /** * 获得指定状态的用户们 * - * @param status 状态 + * @param userType 用户类型 1:公司用户 2:工厂用户 + * @param status * @return 用户们 */ - List getUserListByStatus(Integer status); + List getUserListByStatus(Integer userType, Integer status); /** * 判断密码是否匹配 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index c7e3b5b9..6d91c8dc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -337,7 +337,7 @@ public class AdminUserServiceImpl implements AdminUserService { List deptCondition = deptList.stream().map(DeptDO::getId).collect(Collectors.toList()); return userMapper.selectList(new LambdaQueryWrapper() .in(AdminUserDO::getDeptId, deptCondition) - .eq(AdminUserDO::getUserType, 1) + .eq(AdminUserDO::getUserType, 2) .eq(AdminUserDO::getStatus, 0)); } @@ -654,8 +654,8 @@ public class AdminUserServiceImpl implements AdminUserService { } @Override - public List getUserListByStatus(Integer status) { - return userMapper.selectListByStatus(status); + public List getUserListByStatus(Integer userType, Integer status) { + return userMapper.selectListByStatus(userType, status); } @Override diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsMapper.xml index 1e77bdb4..b4e77bb3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsMapper.xml @@ -55,6 +55,9 @@ and a.stock > 0 + + and b.business_type = #{reqVO.businessType} + and a.name like concat('%', #{reqVO.name}, '%') @@ -73,4 +76,4 @@ order by a.create_time desc - \ No newline at end of file + diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/factorypunchrecord/AttendanceFactoryPunchRecordMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/factorypunchrecord/AttendanceFactoryPunchRecordMapper.xml new file mode 100644 index 00000000..83ce2e93 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/factorypunchrecord/AttendanceFactoryPunchRecordMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml index d9cfdd96..987e6f0a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/user/AdminUserMapper.xml @@ -81,4 +81,4 @@ - \ No newline at end of file + diff --git a/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java b/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java index 4edcd522..03de7e06 100644 --- a/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java +++ b/yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java @@ -708,7 +708,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { Integer status = CommonStatusEnum.DISABLE.getStatus(); // 调用 - List result = userService.getUserListByStatus(status); + List result = userService.getUserListByStatus(status, CommonStatusEnum.ENABLE.getStatus()); // 断言 assertEquals(1, result.size()); assertEquals(user, result.get(0));