diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASalaryController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASalaryController.java index c96b82b8..7bbb3207 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASalaryController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASalaryController.java @@ -15,7 +15,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import javax.naming.spi.ObjectFactory; import javax.validation.Valid; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 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 index a245a514..a59bf6f3 100644 --- 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 @@ -11,7 +11,6 @@ import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierProcurementPlanServic 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.*; @@ -34,23 +33,27 @@ public class BpmOASupplierProcurementPlanController { @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); } + @PutMapping("/uploadDeliveryReceipt") + @Operation(summary = "上传到货凭证") + public CommonResult uploadDeliveryReceipt(@Valid @RequestBody TheArrivalFileItemsVO vo) { + oaSupplierProcurementPlanService.uploadDeliveryReceipt(vo); + 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); @@ -59,7 +62,6 @@ public class BpmOASupplierProcurementPlanController { @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); @@ -71,7 +73,6 @@ public class BpmOASupplierProcurementPlanController { @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)); @@ -80,7 +81,6 @@ public class BpmOASupplierProcurementPlanController { @GetMapping("/getListBySupplierId") @Operation(summary = "根据供应商id获取采购计划列表") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-procurement-plan:query')") public CommonResult> getListBySupplierId(@ModelAttribute BpmOASupplierProcurementPlanReqVO vo) { List vos = oaSupplierProcurementPlanService.getListBySupplierId(vo); return success(vos); 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 index 11295a2a..4efda9a3 100644 --- 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 @@ -31,14 +31,12 @@ public class BpmOASupplierPurchasePaymentController { @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); @@ -47,7 +45,6 @@ public class BpmOASupplierPurchasePaymentController { @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); @@ -56,7 +53,6 @@ public class BpmOASupplierPurchasePaymentController { @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)); @@ -64,7 +60,6 @@ public class BpmOASupplierPurchasePaymentController { @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/BpmOaSupplierController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierController.java index a9e8dcd5..b98c99e4 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierController.java @@ -39,14 +39,12 @@ public class BpmOaSupplierController { @PostMapping("/create") @Operation(summary = "创建OA供应商审核") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier:create')") public CommonResult createOaSupplier(@Valid @RequestBody BpmOASupplierSaveReqVO createReqVO) { return success(oaSupplierService.createOaSupplier(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新OA供应商审核") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier:update')") public CommonResult updateOaSupplier(@Valid @RequestBody BpmOASupplierSaveReqVO updateReqVO) { oaSupplierService.updateOaSupplier(updateReqVO); return success(true); @@ -55,7 +53,6 @@ public class BpmOaSupplierController { @DeleteMapping("/delete") @Operation(summary = "删除OA供应商审核") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier:delete')") public CommonResult deleteOaSupplier(@RequestParam("id") Long id) { oaSupplierService.deleteOaSupplier(id); return success(true); @@ -64,7 +61,6 @@ public class BpmOaSupplierController { @GetMapping("/get") @Operation(summary = "获得OA供应商审核") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier:query')") public CommonResult getOaSupplier(@RequestParam("id") Long id) { BpmOASupplierDO oaSupplier = oaSupplierService.getOaSupplier(id); BpmOASupplierRespVO vo = BeanUtils.toBean(oaSupplier, BpmOASupplierRespVO.class); @@ -76,7 +72,6 @@ public class BpmOaSupplierController { @GetMapping("/page") @Operation(summary = "获得OA供应商审核分页") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier:query')") public CommonResult> getOaSupplierPage(@Valid BpmOASupplierPageReqVO pageReqVO) { PageResult pageResult = oaSupplierService.getOaSupplierPage(pageReqVO); return success(BeanUtils.toBean(pageResult, BpmOASupplierRespVO.class)); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierProductController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierProductController.java index 882ba542..122b4f11 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierProductController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOaSupplierProductController.java @@ -31,14 +31,12 @@ public class BpmOaSupplierProductController { @PostMapping("/create") @Operation(summary = "创建OA供应商商品") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:create')") public CommonResult createOaSupplierProduct(@Valid @RequestBody BpmOASupplierProductSaveReqVO createReqVO) { return success(oaSupplierProductService.createOaSupplierProduct(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新OA供应商商品") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:update')") public CommonResult updateOaSupplierProduct(@Valid @RequestBody BpmOASupplierProductSaveReqVO updateReqVO) { oaSupplierProductService.updateOaSupplierProduct(updateReqVO); return success(true); @@ -47,7 +45,6 @@ public class BpmOaSupplierProductController { @DeleteMapping("/delete") @Operation(summary = "删除OA供应商商品") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:delete')") public CommonResult deleteOaSupplierProduct(@RequestParam("id") Long id) { oaSupplierProductService.deleteOaSupplierProduct(id); return success(true); @@ -56,7 +53,6 @@ public class BpmOaSupplierProductController { @GetMapping("/get") @Operation(summary = "获得OA供应商商品") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:query')") public CommonResult getOaSupplierProduct(@RequestParam("id") Long id) { BpmOASupplierProductDO oaSupplierProduct = oaSupplierProductService.getOaSupplierProduct(id); return success(BeanUtils.toBean(oaSupplierProduct, BpmOASupplierProductRespVO.class)); @@ -64,7 +60,6 @@ public class BpmOaSupplierProductController { @GetMapping("/page") @Operation(summary = "获得OA供应商商品分页") - @PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:query')") public CommonResult> getOaSupplierProductPage(@Valid BpmOASupplierProductPageReqVO pageReqVO) { PageResult pageResult = oaSupplierProductService.getOaSupplierProductPage(pageReqVO); return success(BeanUtils.toBean(pageResult, BpmOASupplierProductRespVO.class)); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/salary/BpmOASalaryRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/salary/BpmOASalaryRespVO.java index c46e3add..b853a85c 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/salary/BpmOASalaryRespVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/salary/BpmOASalaryRespVO.java @@ -6,15 +6,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; -import javax.validation.constraints.NotNull; import java.math.BigDecimal; -import java.time.LocalDate; import java.util.List; -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; - /** * @author 符溶馨 */ diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplier/BpmOASupplierProductRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplier/BpmOASupplierProductRespVO.java index c7490ccf..5ff5295b 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplier/BpmOASupplierProductRespVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplier/BpmOASupplierProductRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -46,4 +47,7 @@ public class BpmOASupplierProductRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; + @Schema(description = "资产类型名称") + private String assetsTypeName; + } 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 index 1e9ed370..ff6c1ff9 100644 --- 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 @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -49,4 +50,11 @@ public class BpmOASupplierProcurementPlanItemRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; + + + @Schema(description = "工厂名称") + private String factoryName; + @Schema(description = "资产类型名称") + private String typeName; + } 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 index d258ddbb..f435c36f 100644 --- 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 @@ -45,6 +45,9 @@ public class BpmOASupplierProcurementPlanPageReqVO extends PageParam { @Schema(description = "流程实例的编号", example = "5984") private String processInstanceId; + @Schema(description = "是否上传凭证 0否 1是") + private Integer certificateFlag; + @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/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 index d952c42c..ff3ffe2e 100644 --- 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 @@ -15,7 +15,7 @@ public class BpmOASupplierProcurementPlanSaveReqVO { private Long id; @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31616") - @NotNull(message = "申请人的用户编号不能为空") +// @NotNull(message = "申请人的用户编号不能为空") private Long userId; @Schema(description = "供应商id", example = "123") diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/TheArrivalFileItemsVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/TheArrivalFileItemsVO.java new file mode 100644 index 00000000..6efc02de --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/supplierprocurementplan/TheArrivalFileItemsVO.java @@ -0,0 +1,16 @@ +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.util.List; + +@Data +public class TheArrivalFileItemsVO { + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29981") + private Long id; + + @Schema(description = "到货凭证", requiredMode = Schema.RequiredMode.REQUIRED) + private List theArrivalFileItems; +} 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 index 85ec0373..cad0a918 100644 --- 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 @@ -1,20 +1,22 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; -import io.swagger.v3.oas.annotations.media.Schema; +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.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 等数据库,可不写。 +@KeySequence("bpm_oa_supplier_procurement_plan_item_seq") +// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @@ -41,7 +43,7 @@ public class BpmOASupplierProcurementPlanItemDO extends BaseDO { */ private Long factoryId; /** - * 供应商商品id + * 供应商商品id (-1 = 其他) */ private Long supplierProductId; /** @@ -72,5 +74,14 @@ public class BpmOASupplierProcurementPlanItemDO extends BaseDO { * 备注 */ private String remark; - + /** + * 工厂名称 + */ + @TableField(exist = false) + private String factoryName; + /** + * 资产类型名称 + */ + @TableField(exist = false) + private String typeName; } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProductDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProductDO.java index b66f5292..cd4db329 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProductDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASupplierProductDO.java @@ -1,12 +1,14 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; +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.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - /** * OA供应商商品 DO * @@ -68,4 +70,11 @@ public class BpmOASupplierProductDO extends BaseDO { */ private String remarks; + + /** + * 资产类型名称 + */ + @TableField(exist = false) + private String assetsTypeName; + } 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 index bf27002b..a947023a 100644 --- 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 @@ -6,6 +6,9 @@ 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; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 供应商采购计划子 Mapper @@ -30,4 +33,11 @@ public interface BpmOASupplierProcurementPlanItemMapper extends BaseMapperX getByProcurementPlanId(@Param("procurementPlanId") Long procurementPlanId); } 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 index eb4d508a..249bc761 100644 --- 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 @@ -6,6 +6,7 @@ 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; +import org.apache.ibatis.annotations.Param; /** * 供应商采购计划 Mapper @@ -16,7 +17,7 @@ import org.apache.ibatis.annotations.Mapper; public interface BpmOASupplierProcurementPlanMapper extends BaseMapperX { default PageResult selectPage(BpmOASupplierProcurementPlanPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() + LambdaQueryWrapperX lambdaQueryWrapperX = new LambdaQueryWrapperX() .eqIfPresent(BpmOASupplierProcurementPlanDO::getUserId, reqVO.getUserId()) .likeIfPresent(BpmOASupplierProcurementPlanDO::getSupplierName, reqVO.getSupplierName()) .eqIfPresent(BpmOASupplierProcurementPlanDO::getSettlementMethod, reqVO.getSettlementMethod()) @@ -27,7 +28,12 @@ public interface BpmOASupplierProcurementPlanMapper extends BaseMapperX getByOaSupplierId(@Param("oaSupplierId") Long oaSupplierId); } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/rpc/config/RpcConfiguration.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/rpc/config/RpcConfiguration.java index b55b4bba..8b629d30 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/rpc/config/RpcConfiguration.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/rpc/config/RpcConfiguration.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.framework.rpc.config; import cn.iocoder.yudao.module.infra.api.config.ConfigApi; import cn.iocoder.yudao.module.infra.api.file.FileApi; +import cn.iocoder.yudao.module.system.api.assets.AssetsApi; import cn.iocoder.yudao.module.system.api.attendance.AttendanceApi; import cn.iocoder.yudao.module.system.api.bank.BankApi; import cn.iocoder.yudao.module.system.api.dept.DeptApi; @@ -21,7 +22,7 @@ import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) @EnableFeignClients(clients = {FileApi.class, RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class, NotifyMessageSendApi.class, - SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class + SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class, AssetsApi.class }) public class RpcConfiguration { } 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 index d076363a..1f03a1b5 100644 --- 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 @@ -59,8 +59,7 @@ public class BpmOASupplierProcurementPlanItemServiceImpl implements BpmOASupplie @Override public List getByProcurementPlanId(Long procurementPlanId) { - return oaSupplierProcurementPlanItemMapper.selectList(new LambdaQueryWrapper() - .eq(BpmOASupplierProcurementPlanItemDO::getProcurementPlanId, procurementPlanId)); + return oaSupplierProcurementPlanItemMapper.getByProcurementPlanId(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 index 81fe34ec..89ad5ad5 100644 --- 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 @@ -3,8 +3,8 @@ 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.BpmOASupplierProcurementPlanReqVO; -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.controller.admin.oa.vo.supplierprocurementplan.TheArrivalFileItemsVO; import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProcurementPlanDO; import javax.validation.Valid; @@ -79,4 +79,11 @@ public interface BpmOASupplierProcurementPlanService { * @return */ List getListBySupplierId(BpmOASupplierProcurementPlanReqVO vo); + + /** + * 上传到货凭证 + * + * @param vo + */ + void uploadDeliveryReceipt(TheArrivalFileItemsVO vo); } 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 index b9268b45..1affb7f2 100644 --- 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 @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.bpm.service.oa; import cn.hutool.core.collection.CollectionUtil; +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; @@ -10,17 +11,22 @@ 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.BpmOASupplierProcurementPlanReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.BpmOASupplierProcurementPlanSaveReqVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplierprocurementplan.TheArrivalFileItemsVO; 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 cn.iocoder.yudao.module.system.api.assets.AssetsApi; +import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO; +import cn.iocoder.yudao.module.system.api.dept.DeptApi; 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.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -46,6 +52,11 @@ public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService im private BpmProcessInstanceApi processInstanceApi; @Resource private BpmHistoryProcessInstanceService historyProcessInstanceService; + @Resource + private AssetsApi assetsApi; + @Resource + private DeptApi deptApi; + // @Resource // private BpmProcessInstanceService processInstanceService; @@ -57,11 +68,10 @@ public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService im @Override public Long createOaSupplierProcurementPlan(BpmOASupplierProcurementPlanSaveReqVO createReqVO) { // 插入 - BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = BeanUtils.toBean(createReqVO, BpmOASupplierProcurementPlanDO.class); - oaSupplierProcurementPlanMapper.insert(oaSupplierProcurementPlan); - // 返回 Long userId = WebFrameworkUtils.getLoginUserId(); createReqVO.setUserId(userId); + BpmOASupplierProcurementPlanDO oaSupplierProcurementPlan = BeanUtils.toBean(createReqVO, BpmOASupplierProcurementPlanDO.class); + oaSupplierProcurementPlanMapper.insert(oaSupplierProcurementPlan); // 子列表转换 List items = BpmOASupplierProcurementPlanItemConvert.INSTANCE.convert(createReqVO.getItems()); @@ -151,4 +161,35 @@ public class BpmOASupplierProcurementPlanServiceImpl extends BpmOABaseService im return planDOS; } + @Override + public void uploadDeliveryReceipt(TheArrivalFileItemsVO vo) { + BpmOASupplierProcurementPlanDO supplierProcurementPlanDO = oaSupplierProcurementPlanMapper.selectById(vo.getId()); + //判断是否需要更新到资产 + Boolean updateAssetFlag = false; + if (CollectionUtil.isEmpty(supplierProcurementPlanDO.getTheArrivalFileItems())) { + updateAssetFlag = true; + } + supplierProcurementPlanDO.setTheArrivalFileItems(vo.getTheArrivalFileItems()); + oaSupplierProcurementPlanMapper.updateById(supplierProcurementPlanDO); + // ----- 如果需要更新到资产 - + if (updateAssetFlag) { + List itemDOS = supplierProcurementPlanItemService.getByProcurementPlanId(vo.getId()); + // 新增资产 + 分配资产 + List dtos = new ArrayList<>(); + // -- 根据工厂ids 获取部门ids + CommonResult> mapCommonResult = deptApi.getDeptListByFactoryIds(itemDOS.stream().map(BpmOASupplierProcurementPlanItemDO::getFactoryId).collect(Collectors.toList())); + Map map = mapCommonResult.getCheckedData(); + for (BpmOASupplierProcurementPlanItemDO itemDO : itemDOS) { + SupplierAssetAllocationDTO dto = new SupplierAssetAllocationDTO(); + dto.setName(itemDO.getSupplierProductName()) + .setAmount(itemDO.getActualPrice()) + .setTypeId(itemDO.getTypeId()) + .setNum(itemDO.getNum()) + .setInDeptId(map.get(itemDO.getFactoryId())); + dtos.add(dto); + } + assetsApi.supplierAssetAllocation(dtos); + } + } + } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaSupplierProductServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaSupplierProductServiceImpl.java index 98082f20..08e279e3 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaSupplierProductServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOaSupplierProductServiceImpl.java @@ -59,8 +59,7 @@ public class BpmOaSupplierProductServiceImpl implements BpmOaSupplierProductServ @Override public List getByOaSupplierId(Long oaSupplierId) { - return oaSupplierProductMapper.selectList(new LambdaQueryWrapper() - .eq(BpmOASupplierProductDO::getOaSupplierId, oaSupplierId)); + return oaSupplierProductMapper.getByOaSupplierId(oaSupplierId); } } 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 index ab73a532..3399f7f9 100644 --- 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 @@ -9,4 +9,17 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProductMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProductMapper.xml index 38e49349..169252d4 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProductMapper.xml +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOASupplierProductMapper.xml @@ -9,4 +9,15 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/assets/AssetsApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/assets/AssetsApi.java new file mode 100644 index 00000000..3a19c0e8 --- /dev/null +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/assets/AssetsApi.java @@ -0,0 +1,25 @@ + +package cn.iocoder.yudao.module.system.api.assets; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 资产类型") +public interface AssetsApi { + + String PREFIX = ApiConstants.PREFIX + "/assets"; + + @PostMapping(PREFIX + "/supplierAssetAllocation") + @Operation(summary = "供应商资产分配") + CommonResult supplierAssetAllocation(@RequestBody List dtos); + +} diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/assets/dto/SupplierAssetAllocationDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/assets/dto/SupplierAssetAllocationDTO.java new file mode 100644 index 00000000..f1595fc6 --- /dev/null +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/assets/dto/SupplierAssetAllocationDTO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.system.api.assets.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class SupplierAssetAllocationDTO { + /** + * 资产名称 + */ + private String name; + /** + * 资产价格 + */ + private BigDecimal amount; + /** + * 资产类型id + */ + private Long typeId; + /** + * 资产数量 + */ + private Integer num; + /** + * 入库部门id + */ + private Long inDeptId; + +} diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java index e5f2f663..602f2a69 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java @@ -82,8 +82,13 @@ public interface DeptApi { return CollectionUtils.convertMap(list, DeptRespDTO::getId); } + @GetMapping(PREFIX + "/getChildDeptList") @Operation(summary = "获得指定部门的所有子部门id") @Parameter(name = "deptId", description = "用户id", example = "146", required = true) CommonResult> getChildDeptList(@RequestParam("deptId") Long deptId); + + @PostMapping(PREFIX + "/getDeptListByFactoryIds") + @Operation(summary = "根据工厂ids获取部门ids") + CommonResult> getDeptListByFactoryIds(@RequestBody List factoryIds); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/assets/AssetsApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/assets/AssetsApiImpl.java new file mode 100644 index 00000000..2e316837 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/assets/AssetsApiImpl.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.system.api.assets; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; +import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO; +import cn.iocoder.yudao.module.system.service.assets.AssetsService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@Validated +@DataPermission(enable = false) +public class AssetsApiImpl implements AssetsApi { + + @Resource + private AssetsService assetsService; + + + @Override + public CommonResult supplierAssetAllocation(List dtos) { + assetsService.supplierAssetAllocation(dtos); + return CommonResult.success("ok"); + } +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java index de37f2f3..02b7904c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java @@ -17,6 +17,7 @@ import javax.annotation.Resource; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -114,4 +115,14 @@ public class DeptApiImpl implements DeptApi { List ids = deptDOS.stream().map(DeptDO::getId).collect(Collectors.toList()); return success(ids); } + + @Override + public CommonResult> getDeptListByFactoryIds(List factoryIds) { + List deptDOS = deptService.getDeptListByFactoryIds(factoryIds); + if (CollectionUtil.isEmpty(deptDOS)){ + return success(Collections.emptyMap()); + } + Map map = deptDOS.stream().collect(Collectors.toMap(DeptDO::getFactoryId, DeptDO::getId)); + return success(map); + } } 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 be320711..8c388b93 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 @@ -44,7 +44,6 @@ public class SupplierController { @PutMapping("/edit") @Operation(summary = "更新供应商列表(OA已审核通过后插入)") - @PreAuthorize("@ss.hasPermission('system:supplier:update')") public CommonResult edit(@Valid @RequestBody SupplierRpcDTO supplierRpcDTO) { supplierService.saveOrEdit(supplierRpcDTO); return success(true); @@ -53,7 +52,6 @@ public class SupplierController { @PutMapping("/editStatus") @Operation(summary = "更新供应商状态") - @PreAuthorize("@ss.hasPermission('system:supplier:update')") public CommonResult editStatus(@Valid @RequestBody SupplierSaveReqVO vo) { supplierService.editStatus(vo); return success(true); @@ -62,7 +60,6 @@ public class SupplierController { @DeleteMapping("/delete") @Operation(summary = "删除供应商列表(OA已审核通过后插入)") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:supplier:delete')") public CommonResult deleteSupplier(@RequestParam("id") Long id) { supplierService.deleteSupplier(id); return success(true); @@ -71,7 +68,6 @@ public class SupplierController { @GetMapping("/get") @Operation(summary = "获得供应商列表(OA已审核通过后插入)") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:supplier:query')") public CommonResult getSupplier(@RequestParam("id") Long id) { SupplierDO supplier = supplierService.getSupplier(id); SupplierRespVO vo = BeanUtils.toBean(supplier, SupplierRespVO.class); @@ -98,7 +94,6 @@ public class SupplierController { @GetMapping("/page") @Operation(summary = "获得供应商列表(OA已审核通过后插入)分页") - @PreAuthorize("@ss.hasPermission('system:supplier:query')") public CommonResult> getSupplierPage(@Valid SupplierPageReqVO pageReqVO) { PageResult pageResult = supplierService.getSupplierPage(pageReqVO); return success(BeanUtils.toBean(pageResult, SupplierRespVO.class)); @@ -106,7 +101,6 @@ public class SupplierController { @GetMapping("/export-excel") @Operation(summary = "导出供应商列表(OA已审核通过后插入) Excel") - @PreAuthorize("@ss.hasPermission('system:supplier:export')") @OperateLog(type = EXPORT) public void exportSupplierExcel(@Valid SupplierPageReqVO pageReqVO, HttpServletResponse response) throws IOException { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsService.java index 2b119ca2..9b0efc64 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsService.java @@ -1,11 +1,13 @@ package cn.iocoder.yudao.module.system.service.assets; -import java.util.*; -import javax.validation.*; -import cn.iocoder.yudao.module.system.controller.admin.assets.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO; +import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO; + +import javax.validation.Valid; +import java.util.List; /** * 资产 Service 接口 @@ -52,4 +54,10 @@ public interface AssetsService { */ PageResult getAssetsPage(AssetsPageReqVO pageReqVO); -} \ No newline at end of file + /** + * 供应商资产分配 + * + * @param dtos + */ + void supplierAssetAllocation(List dtos); +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsServiceImpl.java index f1b65904..02a338c3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/assets/AssetsServiceImpl.java @@ -3,8 +3,10 @@ package cn.iocoder.yudao.module.system.service.assets; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; +import cn.iocoder.yudao.module.system.api.assets.dto.SupplierAssetAllocationDTO; import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.assets.vo.AssetsSaveReqVO; +import cn.iocoder.yudao.module.system.controller.admin.assets.vo.DeptAssetsInOutStockSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsDO; import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO; import cn.iocoder.yudao.module.system.dal.mysql.assets.AssetsMapper; @@ -16,6 +18,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * 资产 Service 实现类 @@ -74,4 +79,32 @@ public class AssetsServiceImpl implements AssetsService { return new PageResult<>(assetsDOIPage.getRecords(), assetsDOIPage.getTotal()); } -} \ No newline at end of file + @Override + public void supplierAssetAllocation(List dtos) { + // 新增资产 + List assetsDOS = new ArrayList<>(); + List vos = new ArrayList<>(); + for (SupplierAssetAllocationDTO dto : dtos) { + AssetsDO assets = new AssetsDO(); + assets.setId(IdWorker.getId()); + assets.setName(dto.getName()); + assets.setStatus(0); + assets.setAmount(dto.getAmount()); + assets.setStock(dto.getNum()); + assets.setTypeId(dto.getTypeId()); + assets.setAssetsNo(IdWorker.get32UUID()); + assetsDOS.add(assets); + + DeptAssetsInOutStockSaveReqVO vo = new DeptAssetsInOutStockSaveReqVO(); + vo.setInDeptId(dto.getInDeptId()); + vo.setAssetsId(assets.getId()); + vo.setNum(dto.getNum()); + vos.add(vo); + } + // -- 批量新增 + assetsMapper.insertBatch(assetsDOS); + // -- 批量分配 + deptAssetsInOutStockService.createDeptAssetsInOutStock(-1L, vos); + } + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.java index 3ccccb35..2a9222ec 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.java @@ -133,6 +133,7 @@ public interface DeptService { /** * 获取部门类型为公司的部门信息 + * * @return 部门信息列表 */ List getCompanyDept(); @@ -150,4 +151,12 @@ public interface DeptService { * @return */ List getFactoryDeptList(Long factoryId); + + /** + * 根据工厂ids获取部门列表 + * + * @param factoryIds + * @return + */ + List getDeptListByFactoryIds(List factoryIds); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java index b5166d29..790a7fb0 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java @@ -6,7 +6,6 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO; import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; @@ -337,4 +336,10 @@ public class DeptServiceImpl implements DeptService { .isNotNull(DeptDO::getFactoryId) .eq(DeptDO::getStatus, CommonStatusEnum.ENABLE.getStatus())); } + + @Override + public List getDeptListByFactoryIds(List factoryIds) { + return deptMapper.selectList(new LambdaQueryWrapper() + .in(DeptDO::getFactoryId, factoryIds)); + } } 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 844adf55..009b8538 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 @@ -18,6 +18,8 @@ import cn.iocoder.yudao.framework.common.util.string.StrUtils; import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils; import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; +import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; +import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.system.controller.admin.user.dto.UserPageDTO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO; diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/screendata/ScreenDataServiceImpl.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/screendata/ScreenDataServiceImpl.java index 29d8334d..97db4dbe 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/screendata/ScreenDataServiceImpl.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/service/screendata/ScreenDataServiceImpl.java @@ -292,11 +292,21 @@ public class ScreenDataServiceImpl implements ScreenDataService { // ---------------------------------- 用户 ---------------------------------- // -- 通过工厂id获取部门列表 -> 再通过部门列表获取用户列表 List users = adminUserApi.getFactoryUsers(factoryId).getData(); - vo.setTotal(users.size()); - int femaleTotal = (int) users.stream().filter(a -> a.getSex() == 2).count(); + int total = 0; + int femaleTotal = 0; + int maleTotal = 0; + if (CollectionUtil.isNotEmpty(users)) { + total = users.size(); + femaleTotal = (int) users.stream().filter(a -> a.getSex() == 2).count(); + maleTotal = users.size() - femaleTotal; + } else { + users = Collections.emptyList(); + } + vo.setTotal(total); vo.setFemaleTotal(femaleTotal); - vo.setMaleTotal(users.size() - femaleTotal); + vo.setMaleTotal(maleTotal); vo.setUsers(users); + // ---------------------------------- 窑炉 ---------------------------------- List factoryKilnDOS = factoryKilnService.getFactoryKilnByFactoryId(factoryId); vo.setYlNum(factoryKilnDOS.size());