采购支付
This commit is contained in:
parent
b2579d1688
commit
c04e87ae95
@ -1,12 +1,12 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureListEditReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAProcureConvert;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOaProcureService;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcureService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -26,7 +26,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
public class BpmOAProcureController {
|
||||
|
||||
@Resource
|
||||
private BpmOaProcureService bpmOaProcureService;
|
||||
private BpmOAProcureService bpmOaProcureService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建OA 采购申请")
|
||||
@ -61,4 +61,12 @@ public class BpmOAProcureController {
|
||||
return success(BpmOAProcureConvert.INSTANCE.convert(oaProcure));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/updatePayFlagByIds")
|
||||
@Operation(summary = "根据ids修改支付状态")
|
||||
public CommonResult<?> updatePayFlagByIds(@RequestBody BpmOAProcureListEditReqVO vo) {
|
||||
bpmOaProcureService.updatePayFlagByIds(vo);
|
||||
return success("操作成功");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,90 @@
|
||||
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.procure.BpmOAProcurePageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePaySaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcurePayService;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcureService;
|
||||
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-procure-pay")
|
||||
@Validated
|
||||
public class BpmOAProcurePayController {
|
||||
|
||||
@Resource
|
||||
private BpmOAProcurePayService oAProcurePayService;
|
||||
@Resource
|
||||
private BpmOAProcureService oaProcureService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建采购支付")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:create')")
|
||||
public CommonResult<Long> createOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO createReqVO) {
|
||||
return success(oAProcurePayService.createOAProcurePay(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新采购支付")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:update')")
|
||||
public CommonResult<Boolean> updateOAProcurePay(@Valid @RequestBody BpmOAProcurePaySaveReqVO updateReqVO) {
|
||||
oAProcurePayService.updateOAProcurePay(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除采购支付")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:delete')")
|
||||
public CommonResult<Boolean> deleteOAProcurePay(@RequestParam("id") Long id) {
|
||||
oAProcurePayService.deleteOAProcurePay(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得采购支付")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')")
|
||||
public CommonResult<BpmOAProcurePayRespVO> getOAProcurePay(@RequestParam("id") Long id) {
|
||||
BpmOAProcurePayDO oAProcurePay = oAProcurePayService.getOAProcurePay(id);
|
||||
return success(BeanUtils.toBean(oAProcurePay, BpmOAProcurePayRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得采购支付分页")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay:query')")
|
||||
public CommonResult<PageResult<BpmOAProcurePayRespVO>> getOAProcurePayPage(@Valid BpmOAProcurePayPageReqVO pageReqVO) {
|
||||
PageResult<BpmOAProcurePayDO> pageResult = oAProcurePayService.getOAProcurePayPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BpmOAProcurePayRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/getAvailablePurchaseOrders")
|
||||
@Operation(summary = "获取可用采购单列表")
|
||||
public CommonResult<List<BpmOAProcureRespVO>> getAvailablePurchaseOrders() {
|
||||
List<BpmOAProcureDO> list = oAProcurePayService.getAvailablePurchaseOrders();
|
||||
return success(BeanUtils.toBean(list, BpmOAProcureRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -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.procurepay.BpmOAProcurePayItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayItemDO;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcurePayItemService;
|
||||
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-procure-pay-item")
|
||||
@Validated
|
||||
public class BpmOAProcurePayItemController {
|
||||
|
||||
@Resource
|
||||
private BpmOAProcurePayItemService oAProcurePayItemService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建采购收款明细")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:create')")
|
||||
public CommonResult<Long> createOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO createReqVO) {
|
||||
return success(oAProcurePayItemService.createOAProcurePayItem(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新采购收款明细")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:update')")
|
||||
public CommonResult<Boolean> updateOAProcurePayItem(@Valid @RequestBody BpmOAProcurePayItemSaveReqVO updateReqVO) {
|
||||
oAProcurePayItemService.updateOAProcurePayItem(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除采购收款明细")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:delete')")
|
||||
public CommonResult<Boolean> deleteOAProcurePayItem(@RequestParam("id") Long id) {
|
||||
oAProcurePayItemService.deleteOAProcurePayItem(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得采购收款明细")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')")
|
||||
public CommonResult<BpmOAProcurePayItemRespVO> getOAProcurePayItem(@RequestParam("id") Long id) {
|
||||
BpmOAProcurePayItemDO oAProcurePayItem = oAProcurePayItemService.getOAProcurePayItem(id);
|
||||
return success(BeanUtils.toBean(oAProcurePayItem, BpmOAProcurePayItemRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得采购收款明细分页")
|
||||
@PreAuthorize("@ss.hasPermission('bpm:OA-procure-pay-item:query')")
|
||||
public CommonResult<PageResult<BpmOAProcurePayItemRespVO>> getOAProcurePayItemPage(@Valid BpmOAProcurePayItemPageReqVO pageReqVO) {
|
||||
PageResult<BpmOAProcurePayItemDO> pageResult = oAProcurePayItemService.getOAProcurePayItemPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BpmOAProcurePayItemRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class BpmOAProcureListEditReqVO {
|
||||
|
||||
@Schema(description = "id数组")
|
||||
private List<Long> procureIds;
|
||||
|
||||
@Schema(description = "是否已支付 0否 1是 2进行中")
|
||||
private Integer payFlag;
|
||||
|
||||
}
|
@ -11,10 +11,7 @@ import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - OA 采购申请分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class BpmOAProcurePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "申请人的用户编号", example = "26976")
|
||||
@ -42,6 +39,9 @@ public class BpmOAProcurePageReqVO extends PageParam {
|
||||
@Schema(description = "采购总金额大写")
|
||||
private String totalMoneyChinese;
|
||||
|
||||
@Schema(description = "是否已支付 0否 1是 2进行中")
|
||||
private Integer payFlag;
|
||||
|
||||
@Schema(description = "附件信息")
|
||||
private String fileItems;
|
||||
|
||||
|
@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure;
|
||||
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.ProcureDetail;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@ -10,6 +11,7 @@ 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;
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
|
||||
|
||||
@Schema(description = "管理后台 - OA 采购申请 Response VO")
|
||||
@Data
|
||||
@ -29,6 +31,7 @@ public class BpmOAProcureRespVO {
|
||||
|
||||
@Schema(description = "期望交付日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
private LocalDateTime expectedDeliveryDate;
|
||||
|
||||
@Schema(description = "采购明细数据JSON", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ -43,6 +46,9 @@ public class BpmOAProcureRespVO {
|
||||
@Schema(description = "采购总金额大写")
|
||||
private String totalMoneyChinese;
|
||||
|
||||
@Schema(description = "是否已支付 0否 1是 2进行中")
|
||||
private Integer payFlag;
|
||||
|
||||
@Schema(description = "附件信息")
|
||||
private List<UploadUserFile> fileItems;
|
||||
|
||||
@ -53,6 +59,8 @@ public class BpmOAProcureRespVO {
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
|
@ -51,6 +51,9 @@ public class BpmOAProcureSaveReqVO {
|
||||
@Schema(description = "流程实例的编号", example = "15852")
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description = "是否已支付 0否 1是 2进行中")
|
||||
private Integer payFlag;
|
||||
|
||||
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<UploadUserFile> fileItems;
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
|
||||
|
||||
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 BpmOAProcurePayItemPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "申请人的用户编号", example = "6961")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "采购支付id", example = "29610")
|
||||
private Long bpmOaProcurePayId;
|
||||
|
||||
@Schema(description = "采购计划id", example = "14925")
|
||||
private Long bpmOaProcureId;
|
||||
|
||||
@Schema(description = "收款人")
|
||||
private String payee;
|
||||
|
||||
@Schema(description = "收款账号")
|
||||
private String payeeNumber;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 采购收款明细 Response VO")
|
||||
@Data
|
||||
public class BpmOAProcurePayItemRespVO {
|
||||
|
||||
@Schema(description = "采购表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24125")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6961")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "采购支付id", example = "29610")
|
||||
private Long bpmOaProcurePayId;
|
||||
|
||||
@Schema(description = "采购计划id", example = "14925")
|
||||
private Long bpmOaProcureId;
|
||||
|
||||
@Schema(description = "收款人")
|
||||
private String payee;
|
||||
|
||||
@Schema(description = "收款账号")
|
||||
private String payeeNumber;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
|
||||
// ---
|
||||
|
||||
@Schema(description = "申请事由", example = "不喜欢")
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "采购类型 (根据字典的来)", example = "2")
|
||||
private Integer procureType;
|
||||
|
||||
@Schema(description = "期望交付日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime expectedDeliveryDate;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remarks;
|
||||
|
||||
@Schema(description = "采购总金额")
|
||||
private String totalMoney;
|
||||
|
||||
@Schema(description = "采购总金额大写")
|
||||
private String totalMoneyChinese;
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
|
||||
@Schema(description = "管理后台 - 采购收款明细新增/修改 Request VO")
|
||||
@Data
|
||||
public class BpmOAProcurePayItemSaveReqVO {
|
||||
|
||||
@Schema(description = "采购表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24125")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6961")
|
||||
// @NotNull(message = "申请人的用户编号不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "采购支付id", example = "29610")
|
||||
private Long bpmOaProcurePayId;
|
||||
|
||||
@Schema(description = "采购计划id", example = "14925")
|
||||
private Long bpmOaProcureId;
|
||||
|
||||
@Schema(description = "收款人")
|
||||
private String payee;
|
||||
|
||||
@Schema(description = "收款账号")
|
||||
private String payeeNumber;
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import java.math.BigDecimal;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 采购支付分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class BpmOAProcurePayPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "申请人的用户编号")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "申请事由")
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "支付日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] payTime;
|
||||
|
||||
@Schema(description = "采购付款总金额")
|
||||
private BigDecimal totalMoney;
|
||||
|
||||
@Schema(description = "采购付款大写")
|
||||
private String totalMoneyChinese;
|
||||
|
||||
@Schema(description = "附件信息")
|
||||
private String fileItems;
|
||||
|
||||
@Schema(description = "报销结果")
|
||||
private Integer result;
|
||||
|
||||
@Schema(description = "流程实例的编号", example = "175")
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
|
||||
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
|
||||
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 BpmOAProcurePayRespVO {
|
||||
|
||||
@Schema(description = "采购表单主键", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "申请事由")
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "支付日期")
|
||||
private LocalDateTime payTime;
|
||||
|
||||
@Schema(description = "采购付款总金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal totalMoney;
|
||||
|
||||
@Schema(description = "采购付款大写", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String totalMoneyChinese;
|
||||
|
||||
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<UploadUserFile> fileItems;
|
||||
|
||||
@Schema(description = "报销结果")
|
||||
private Integer result;
|
||||
|
||||
@Schema(description = "流程实例的编号", example = "175")
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "子列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<BpmOAProcurePayItemRespVO> items;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
|
||||
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
import java.math.BigDecimal;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 采购支付新增/修改 Request VO")
|
||||
@Data
|
||||
public class BpmOAProcurePaySaveReqVO {
|
||||
|
||||
@Schema(description = "采购表单主键", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
// @NotNull(message = "申请人的用户编号不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "申请事由")
|
||||
private String reason;
|
||||
|
||||
@Schema(description = "支付日期")
|
||||
private LocalDateTime payTime;
|
||||
|
||||
@Schema(description = "采购付款总金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "采购付款总金额不能为空")
|
||||
private BigDecimal totalMoney;
|
||||
|
||||
@Schema(description = "采购付款大写", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "采购付款大写不能为空")
|
||||
private String totalMoneyChinese;
|
||||
|
||||
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<UploadUserFile> fileItems;
|
||||
|
||||
@Schema(description = "报销结果")
|
||||
private Integer result;
|
||||
|
||||
@Schema(description = "流程实例的编号", example = "175")
|
||||
private String processInstanceId;
|
||||
|
||||
@Schema(description = "采购支付子列表")
|
||||
List<BpmOAProcurePayItemSaveReqVO> items;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.bpm.convert.oa;
|
||||
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePaySaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* 报销支付申请 Convert
|
||||
*
|
||||
* @author yj
|
||||
*/
|
||||
@Mapper
|
||||
public interface BpmOAProcurePayConvert {
|
||||
|
||||
BpmOAProcurePayConvert INSTANCE = Mappers.getMapper(BpmOAProcurePayConvert.class);
|
||||
|
||||
BpmOAProcurePayDO convert(BpmOAProcurePaySaveReqVO bean);
|
||||
|
||||
BpmOAProcurePayRespVO convert(BpmOAProcurePayDO bean);
|
||||
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.bpm.convert.oa;
|
||||
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayItemDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 报销支付申请 Convert
|
||||
*
|
||||
* @author yj
|
||||
*/
|
||||
@Mapper
|
||||
public interface BpmOAProcurePayItemConvert {
|
||||
|
||||
BpmOAProcurePayItemConvert INSTANCE = Mappers.getMapper(BpmOAProcurePayItemConvert.class);
|
||||
|
||||
BpmOAProcurePayItemDO convert(BpmOAProcurePayItemSaveReqVO bean);
|
||||
|
||||
BpmOAProcurePayItemRespVO convert(BpmOAProcurePayItemDO bean);
|
||||
|
||||
List<BpmOAProcurePayItemDO> convert(List<BpmOAProcurePayItemSaveReqVO> items);
|
||||
|
||||
}
|
@ -8,11 +8,17 @@ 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 com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
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;
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
|
||||
|
||||
/**
|
||||
* OA 采购申请 DO
|
||||
*
|
||||
@ -27,6 +33,13 @@ import java.util.List;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BpmOAProcureDO extends BaseDO {
|
||||
/**
|
||||
* 是否已支付 0否 1是 2进行中
|
||||
*/
|
||||
public static final Integer FLAG_FALSE = 0;
|
||||
public static final Integer FLAG_TRUE = 1;
|
||||
public static final Integer IN_PROGRESS = 2;
|
||||
|
||||
|
||||
/**
|
||||
* 报销表单主键
|
||||
@ -48,6 +61,8 @@ public class BpmOAProcureDO extends BaseDO {
|
||||
/**
|
||||
* 期望交付日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
private LocalDateTime expectedDeliveryDate;
|
||||
/**
|
||||
* 采购明细数据JSON
|
||||
@ -66,6 +81,12 @@ public class BpmOAProcureDO extends BaseDO {
|
||||
* 采购总金额大写
|
||||
*/
|
||||
private String totalMoneyChinese;
|
||||
|
||||
/**
|
||||
* 是否已支付 0否 1是 2进行中
|
||||
*/
|
||||
private Integer payFlag;
|
||||
|
||||
/**
|
||||
* 附件信息
|
||||
*/
|
||||
|
@ -0,0 +1,76 @@
|
||||
package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
|
||||
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 io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 采购支付 DO
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@TableName(value = "bpm_oa_procure_pay", autoResultMap = true)
|
||||
@KeySequence("bpm_oa_procure_pay_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BpmOAProcurePayDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 采购表单主键
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 申请人的用户编号
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 申请事由
|
||||
*/
|
||||
private String reason;
|
||||
/**
|
||||
* 支付日期
|
||||
*/
|
||||
private LocalDateTime payTime;
|
||||
/**
|
||||
* 采购付款总金额
|
||||
*/
|
||||
private BigDecimal totalMoney;
|
||||
/**
|
||||
* 采购付款大写
|
||||
*/
|
||||
private String totalMoneyChinese;
|
||||
/**
|
||||
* 附件信息
|
||||
*/
|
||||
@TableField(typeHandler = JacksonTypeHandler.class)
|
||||
private List<UploadUserFile> fileItems;
|
||||
/**
|
||||
* 报销结果
|
||||
*/
|
||||
private Integer result;
|
||||
/**
|
||||
* 流程实例的编号
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "子列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<BpmOAProcurePayItemRespVO> items;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 采购收款明细 DO
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@TableName(value = "bpm_oa_procure_pay_item", autoResultMap = true)
|
||||
@KeySequence("bpm_oa_procure_pay_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BpmOAProcurePayItemDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 采购表单主键
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 申请人的用户编号
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 采购支付id
|
||||
*/
|
||||
private Long bpmOaProcurePayId;
|
||||
/**
|
||||
* 采购计划id
|
||||
*/
|
||||
private Long bpmOaProcureId;
|
||||
/**
|
||||
* 收款人
|
||||
*/
|
||||
private String payee;
|
||||
/**
|
||||
* 收款账号
|
||||
*/
|
||||
private String payeeNumber;
|
||||
|
||||
}
|
@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
* @author 姚君
|
||||
*/
|
||||
@Mapper
|
||||
public interface BpmOaProcureMapper extends BaseMapperX<BpmOAProcureDO> {
|
||||
public interface BpmOAProcureMapper extends BaseMapperX<BpmOAProcureDO> {
|
||||
|
||||
default PageResult<BpmOAProcureDO> selectPage(BpmOAProcurePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<BpmOAProcureDO>()
|
@ -0,0 +1,40 @@
|
||||
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.procurepay.BpmOAProcurePayItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayItemDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 采购收款明细 Mapper
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Mapper
|
||||
public interface BpmOAProcurePayItemMapper extends BaseMapperX<BpmOAProcurePayItemDO> {
|
||||
|
||||
default PageResult<BpmOAProcurePayItemDO> selectPage(BpmOAProcurePayItemPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<BpmOAProcurePayItemDO>()
|
||||
.eqIfPresent(BpmOAProcurePayItemDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(BpmOAProcurePayItemDO::getBpmOaProcurePayId, reqVO.getBpmOaProcurePayId())
|
||||
.eqIfPresent(BpmOAProcurePayItemDO::getBpmOaProcureId, reqVO.getBpmOaProcureId())
|
||||
.eqIfPresent(BpmOAProcurePayItemDO::getPayee, reqVO.getPayee())
|
||||
.eqIfPresent(BpmOAProcurePayItemDO::getPayeeNumber, reqVO.getPayeeNumber())
|
||||
.betweenIfPresent(BpmOAProcurePayItemDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(BpmOAProcurePayItemDO::getId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过采购支付id获取想去和采购申请记录
|
||||
*
|
||||
* @param procurePayId
|
||||
* @return
|
||||
*/
|
||||
List<BpmOAProcurePayItemRespVO> getByProcurePayId(@Param("procurePayId") Long procurePayId);
|
||||
}
|
@ -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.procurepay.BpmOAProcurePayPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 采购支付 Mapper
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Mapper
|
||||
public interface BpmOAProcurePayMapper extends BaseMapperX<BpmOAProcurePayDO> {
|
||||
|
||||
default PageResult<BpmOAProcurePayDO> selectPage(BpmOAProcurePayPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<BpmOAProcurePayDO>()
|
||||
.eqIfPresent(BpmOAProcurePayDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(BpmOAProcurePayDO::getReason, reqVO.getReason())
|
||||
.betweenIfPresent(BpmOAProcurePayDO::getPayTime, reqVO.getPayTime())
|
||||
.eqIfPresent(BpmOAProcurePayDO::getTotalMoney, reqVO.getTotalMoney())
|
||||
.eqIfPresent(BpmOAProcurePayDO::getTotalMoneyChinese, reqVO.getTotalMoneyChinese())
|
||||
.eqIfPresent(BpmOAProcurePayDO::getFileItems, reqVO.getFileItems())
|
||||
.eqIfPresent(BpmOAProcurePayDO::getResult, reqVO.getResult())
|
||||
.eqIfPresent(BpmOAProcurePayDO::getProcessInstanceId, reqVO.getProcessInstanceId())
|
||||
.betweenIfPresent(BpmOAProcurePayDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(BpmOAProcurePayDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
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.procurepay.BpmOAProcurePayItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayItemDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 采购收款明细 Service 接口
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
public interface BpmOAProcurePayItemService {
|
||||
|
||||
/**
|
||||
* 创建采购收款明细
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createOAProcurePayItem(@Valid BpmOAProcurePayItemSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新采购收款明细
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateOAProcurePayItem(@Valid BpmOAProcurePayItemSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除采购收款明细
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteOAProcurePayItem(Long id);
|
||||
|
||||
/**
|
||||
* 获得采购收款明细
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 采购收款明细
|
||||
*/
|
||||
BpmOAProcurePayItemDO getOAProcurePayItem(Long id);
|
||||
|
||||
/**
|
||||
* 获得采购收款明细分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 采购收款明细分页
|
||||
*/
|
||||
PageResult<BpmOAProcurePayItemDO> getOAProcurePayItemPage(BpmOAProcurePayItemPageReqVO pageReqVO);
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
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.procurepay.BpmOAProcurePayItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayItemDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcurePayItemMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 采购收款明细 Service 实现类
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class BpmOAProcurePayItemServiceImpl implements BpmOAProcurePayItemService {
|
||||
|
||||
@Resource
|
||||
private BpmOAProcurePayItemMapper oAProcurePayItemMapper;
|
||||
|
||||
@Override
|
||||
public Long createOAProcurePayItem(BpmOAProcurePayItemSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
BpmOAProcurePayItemDO oAProcurePayItem = BeanUtils.toBean(createReqVO, BpmOAProcurePayItemDO.class);
|
||||
oAProcurePayItemMapper.insert(oAProcurePayItem);
|
||||
// 返回
|
||||
return oAProcurePayItem.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOAProcurePayItem(BpmOAProcurePayItemSaveReqVO updateReqVO) {
|
||||
// 更新
|
||||
BpmOAProcurePayItemDO updateObj = BeanUtils.toBean(updateReqVO, BpmOAProcurePayItemDO.class);
|
||||
oAProcurePayItemMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteOAProcurePayItem(Long id) {
|
||||
// 删除
|
||||
oAProcurePayItemMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BpmOAProcurePayItemDO getOAProcurePayItem(Long id) {
|
||||
return oAProcurePayItemMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<BpmOAProcurePayItemDO> getOAProcurePayItemPage(BpmOAProcurePayItemPageReqVO pageReqVO) {
|
||||
return oAProcurePayItemMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
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.procurepay.BpmOAProcurePayPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePaySaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 采购支付 Service 接口
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
public interface BpmOAProcurePayService {
|
||||
|
||||
/**
|
||||
* 创建采购支付
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createOAProcurePay(@Valid BpmOAProcurePaySaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新采购支付
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateOAProcurePay(@Valid BpmOAProcurePaySaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除采购支付
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteOAProcurePay(Long id);
|
||||
|
||||
/**
|
||||
* 获得采购支付
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 采购支付
|
||||
*/
|
||||
BpmOAProcurePayDO getOAProcurePay(Long id);
|
||||
|
||||
/**
|
||||
* 获得采购支付分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 采购支付分页
|
||||
*/
|
||||
PageResult<BpmOAProcurePayDO> getOAProcurePayPage(BpmOAProcurePayPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获取可用采购单列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<BpmOAProcureDO> getAvailablePurchaseOrders();
|
||||
|
||||
void updateEvectionResult(String processInstanceExtId, Long id, Integer result);
|
||||
}
|
@ -0,0 +1,188 @@
|
||||
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.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
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.procure.BpmOAProcureListEditReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayPageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePaySaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
|
||||
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAProcurePayConvert;
|
||||
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAProcurePayItemConvert;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcurePayItemDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcureMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcurePayItemMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcurePayMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper;
|
||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||
import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
|
||||
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
import org.flowable.engine.runtime.ProcessInstance;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 采购支付 Service 实现类
|
||||
*
|
||||
* @author 艾楷
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class BpmOAProcurePayServiceImpl extends BpmOABaseService implements BpmOAProcurePayService {
|
||||
|
||||
@Resource
|
||||
private BpmOAProcurePayMapper oAProcurePayMapper;
|
||||
@Resource
|
||||
private BpmOAProcurePayItemMapper oaProcurePayItemMapper;
|
||||
|
||||
@Resource
|
||||
private BpmOAProcureMapper oaProcureMapper;
|
||||
@Resource
|
||||
private BpmOAProcureService oaProcureService;
|
||||
@Resource
|
||||
private AdminUserApi adminUserApi;
|
||||
@Resource
|
||||
private BpmProcessInstanceApi processInstanceApi;
|
||||
@Resource
|
||||
private BpmModelService modelService;
|
||||
@Resource
|
||||
private BpmProcessInstanceExtMapper processInstanceExtMapper;
|
||||
@Resource
|
||||
@Lazy // 解决循环依赖
|
||||
private BpmProcessInstanceService bpmProcessInstanceService;
|
||||
|
||||
/**
|
||||
* OA 请假对应的流程定义 KEY
|
||||
*/
|
||||
public static final String PROCESS_KEY = "oa_procure_pay";
|
||||
|
||||
@Override
|
||||
public Long createOAProcurePay(BpmOAProcurePaySaveReqVO createReqVO) {
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
createReqVO.setUserId(userId);
|
||||
// 采购支付对象转换
|
||||
BpmOAProcurePayDO oAProcurePay = BpmOAProcurePayConvert.INSTANCE.convert(createReqVO);
|
||||
oAProcurePayMapper.insert(oAProcurePay);
|
||||
// 子列表转换
|
||||
List<BpmOAProcurePayItemDO> items = BpmOAProcurePayItemConvert.INSTANCE.convert(createReqVO.getItems());
|
||||
for (BpmOAProcurePayItemDO item : items) {
|
||||
item.setBpmOaProcurePayId(oAProcurePay.getId());
|
||||
item.setUserId(userId);
|
||||
}
|
||||
oaProcurePayItemMapper.insertBatch(items);
|
||||
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
String processInstanceId = processInstanceApi.createProcessInstance(userId,
|
||||
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
|
||||
.setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oAProcurePay.getId()))).getCheckedData();
|
||||
|
||||
// 将工作流的编号,更新到 OA 采购单中
|
||||
oAProcurePayMapper.updateById(new BpmOAProcurePayDO().setId(oAProcurePay.getId()).setProcessInstanceId(processInstanceId));
|
||||
|
||||
List<UploadUserFile> fileItems = createReqVO.getFileItems();
|
||||
//这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id
|
||||
if (fileItems != null && !fileItems.isEmpty()) {
|
||||
uploadBpmFileProcessInstanceId(processInstanceId, fileItems);
|
||||
}
|
||||
// 返回
|
||||
return oAProcurePay.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOAProcurePay(BpmOAProcurePaySaveReqVO updateReqVO) {
|
||||
// 更新
|
||||
BpmOAProcurePayDO updateObj = BeanUtils.toBean(updateReqVO, BpmOAProcurePayDO.class);
|
||||
oAProcurePayMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteOAProcurePay(Long id) {
|
||||
// 删除
|
||||
oAProcurePayMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BpmOAProcurePayDO getOAProcurePay(Long id) {
|
||||
BpmOAProcurePayDO bpmOAProcurePayDO = oAProcurePayMapper.selectById(id);
|
||||
List<BpmOAProcurePayItemRespVO> items = oaProcurePayItemMapper.getByProcurePayId(id);
|
||||
bpmOAProcurePayDO.setItems(items);
|
||||
return bpmOAProcurePayDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<BpmOAProcurePayDO> getOAProcurePayPage(BpmOAProcurePayPageReqVO pageReqVO) {
|
||||
return oAProcurePayMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BpmOAProcureDO> getAvailablePurchaseOrders() {
|
||||
//获取当前登录用户id
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
//查询当前登录用户所在部门所有用户id
|
||||
CommonResult<List<Long>> userIdsResult = adminUserApi.getUserIdsByUserIdGroupByDept(userId);
|
||||
List<Long> userIds = userIdsResult.getData();
|
||||
//根据用户ids 获取所有可用采购单
|
||||
return oaProcureMapper.selectList(new LambdaQueryWrapperX<BpmOAProcureDO>()
|
||||
.in(BpmOAProcureDO::getUserId, userIds)
|
||||
.eq(BpmOAProcureDO::getPayFlag, BpmOAProcureDO.FLAG_FALSE)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateEvectionResult(String processInstanceExtId, Long id, Integer result) {
|
||||
//获取采购申请ids
|
||||
List<BpmOAProcurePayItemRespVO> items = oaProcurePayItemMapper.getByProcurePayId(id);
|
||||
// -- 这边要处理下
|
||||
// -- 审核通过 (最后节点)
|
||||
if (BpmProcessInstanceResultEnum.APPROVE.getResult().equals(result)) {
|
||||
BpmProcessInstanceExtDO extDO = processInstanceExtMapper.selectByProcessInstanceId(processInstanceExtId);
|
||||
ProcessInstance instance = bpmProcessInstanceService.getProcessInstance(extDO.getProcessInstanceId());
|
||||
if (instance.isEnded() && !items.isEmpty()) {
|
||||
List<Long> ids = items.stream().map(BpmOAProcurePayItemRespVO::getBpmOaProcureId).collect(Collectors.toList());
|
||||
//所有关联的采购申请改为 未支付状态
|
||||
oaProcureService.updatePayFlagByIds(
|
||||
new BpmOAProcureListEditReqVO()
|
||||
.setPayFlag(BpmOAProcureDO.FLAG_TRUE)
|
||||
.setProcureIds(ids)
|
||||
);
|
||||
}
|
||||
}
|
||||
// -- 自己取消
|
||||
// -- 审核拒绝
|
||||
//所有关联的采购申请改为 未支付状态
|
||||
if (BpmProcessInstanceResultEnum.REJECT.getResult().equals(result)
|
||||
|| BpmProcessInstanceResultEnum.CANCEL.getResult().equals(result)
|
||||
|| BpmProcessInstanceResultEnum.BACK.getResult().equals(result)) {
|
||||
if (!items.isEmpty()) {
|
||||
List<Long> ids = items.stream().map(BpmOAProcurePayItemRespVO::getBpmOaProcureId).collect(Collectors.toList());
|
||||
//所有关联的采购申请改为 未支付状态
|
||||
oaProcureService.updatePayFlagByIds(
|
||||
new BpmOAProcureListEditReqVO()
|
||||
.setPayFlag(BpmOAProcureDO.FLAG_FALSE)
|
||||
.setProcureIds(ids)
|
||||
);
|
||||
}
|
||||
}
|
||||
oAProcurePayMapper.updateById(new BpmOAProcurePayDO().setId(id).setResult(result));
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
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.procure.BpmOAProcureListEditReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcurePageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||
@ -12,7 +13,7 @@ import javax.validation.Valid;
|
||||
*
|
||||
* @author 姚君
|
||||
*/
|
||||
public interface BpmOaProcureService {
|
||||
public interface BpmOAProcureService {
|
||||
|
||||
/**
|
||||
* 创建OA 采购申请
|
||||
@ -52,4 +53,17 @@ public interface BpmOaProcureService {
|
||||
*/
|
||||
PageResult<BpmOAProcureDO> getOaProcurePage(BpmOAProcurePageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 根据ids修改状态
|
||||
*
|
||||
* @param vo
|
||||
*/
|
||||
void updatePayFlagByIds(BpmOAProcureListEditReqVO vo);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param id
|
||||
* @param result
|
||||
*/
|
||||
void updateEvectionResult(Long id, Integer result);
|
||||
}
|
@ -3,21 +3,23 @@ package cn.iocoder.yudao.module.bpm.service.oa;
|
||||
import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
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.procure.BpmOAProcureListEditReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcurePageReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureSaveReqVO;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
|
||||
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAProcureConvert;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAProcureDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOaProcureMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAReimbursementDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcureMapper;
|
||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||
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;
|
||||
@ -31,16 +33,17 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class BpmOaProcureServiceImpl extends BpmOABaseService implements BpmOaProcureService {
|
||||
public class BpmOAProcureServiceImpl extends BpmOABaseService implements BpmOAProcureService {
|
||||
|
||||
@Resource
|
||||
private BpmOaProcureMapper bpmOaProcureMapper;
|
||||
private BpmOAProcureMapper bpmOaProcureMapper;
|
||||
@Resource
|
||||
private BpmProcessInstanceApi processInstanceApi;
|
||||
/**
|
||||
* OA 请假对应的流程定义 KEY
|
||||
*/
|
||||
public static final String PROCESS_KEY = "oa_procure";
|
||||
|
||||
@Override
|
||||
public Long createOaProcure(BpmOAProcureSaveReqVO createReqVO) {
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
@ -58,10 +61,10 @@ public class BpmOaProcureServiceImpl extends BpmOABaseService implements BpmOaPr
|
||||
// 将工作流的编号,更新到 OA 采购单中
|
||||
bpmOaProcureMapper.updateById(new BpmOAProcureDO().setId(oaProcure.getId()).setProcessInstanceId(processInstanceId));
|
||||
|
||||
List<UploadUserFile> fileItems = createReqVO.getFileItems() ;
|
||||
List<UploadUserFile> fileItems = createReqVO.getFileItems();
|
||||
//这里的逻辑,如果fileItems不为空,且有数据,那么说明是上传了附件的,则需要更工作流文件表对应的实例Id
|
||||
if (fileItems != null && !fileItems.isEmpty()) {
|
||||
uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ;
|
||||
uploadBpmFileProcessInstanceId(processInstanceId, fileItems);
|
||||
}
|
||||
return oaProcure.getId();
|
||||
}
|
||||
@ -99,4 +102,16 @@ public class BpmOaProcureServiceImpl extends BpmOABaseService implements BpmOaPr
|
||||
return bpmOaProcureMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePayFlagByIds(BpmOAProcureListEditReqVO vo) {
|
||||
bpmOaProcureMapper.update(new BpmOAProcureDO().setPayFlag(vo.getPayFlag()),
|
||||
new LambdaQueryWrapperX<BpmOAProcureDO>()
|
||||
.inIfPresent(BpmOAProcureDO::getId, vo.getProcureIds()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEvectionResult(Long id, Integer result) {
|
||||
bpmOaProcureMapper.updateById(new BpmOAProcureDO().setId(id).setResult(result));
|
||||
}
|
||||
|
||||
}
|
@ -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.BpmOAProcurePayService;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcurePayServiceImpl;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* OA 出差单的结果的监听器实现类
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@Component
|
||||
public class BpmOAProcurePayResultListener extends BpmProcessInstanceResultEventListener {
|
||||
|
||||
@Resource
|
||||
private BpmOAProcurePayService evectionService;
|
||||
|
||||
@Override
|
||||
protected String getProcessDefinitionKey() {
|
||||
return BpmOAProcurePayServiceImpl.PROCESS_KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onEvent(BpmProcessInstanceResultEvent event) {
|
||||
|
||||
evectionService.updateEvectionResult(event.getId(), Long.parseLong(event.getBusinessKey()),
|
||||
event.getResult());
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
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.BpmOAEvectionServiceImpl;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcureService;
|
||||
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAProcureServiceImpl;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* OA 出差单的结果的监听器实现类
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@Component
|
||||
public class BpmOAProcureResultListener extends BpmProcessInstanceResultEventListener {
|
||||
|
||||
@Resource
|
||||
private BpmOAProcureService evectionService;
|
||||
|
||||
@Override
|
||||
protected String getProcessDefinitionKey() {
|
||||
return BpmOAProcureServiceImpl.PROCESS_KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onEvent(BpmProcessInstanceResultEvent event) {
|
||||
evectionService.updateEvectionResult(Long.parseLong(event.getBusinessKey()), event.getResult());
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOaProcureMapper">
|
||||
<mapper namespace="cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcureMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcurePayItemMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="getByProcurePayId"
|
||||
resultType="cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay.BpmOAProcurePayItemRespVO">
|
||||
select
|
||||
a.payee,
|
||||
a.payee_number,
|
||||
b.id as bpmOaProcureId,
|
||||
b.reason,
|
||||
b.procure_type,
|
||||
b.expected_delivery_date,
|
||||
b.remarks,
|
||||
b.total_money,
|
||||
b.total_money_chinese
|
||||
from bpm_oa_procure_pay_item as a
|
||||
left join bpm_oa_procure as b on a.bpm_oa_procure_id = b.id
|
||||
<where>
|
||||
<if test="procurePayId != null">
|
||||
and a.bpm_oa_procure_pay_id = #{procurePayId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAProcurePayMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
@ -58,4 +58,9 @@ public interface AdminUserApi {
|
||||
@Parameter(name = "ids", description = "用户编号数组", example = "3,5", required = true)
|
||||
CommonResult<Boolean> validateUserList(@RequestParam("ids") Set<Long> ids);
|
||||
|
||||
|
||||
@GetMapping(PREFIX + "/getUserIdsByUserIdGroupByDept")
|
||||
@Operation(summary = "获取同部门所有用户id")
|
||||
@Parameter(name = "userId", description = "用户id", example = "1024", required = true)
|
||||
CommonResult<List<Long>> getUserIdsByUserIdGroupByDept(@RequestParam("userId") Long userId);
|
||||
}
|
||||
|
@ -55,4 +55,11 @@ public class AdminUserApiImpl implements AdminUserApi {
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<List<Long>> getUserIdsByUserIdGroupByDept(Long userId) {
|
||||
AdminUserDO user = userService.getUser(userId);
|
||||
List<Long> userIds = userService.getUserIdsByDeptId(user.getDeptId());
|
||||
return success(userIds);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -221,4 +221,10 @@ public interface AdminUserService {
|
||||
*/
|
||||
boolean isPasswordMatch(String rawPassword, String encodedPassword);
|
||||
|
||||
/**
|
||||
* 根据部门id获取用户ids
|
||||
* @param deptId
|
||||
* @return
|
||||
*/
|
||||
List<Long> getUserIdsByDeptId(Long deptId);
|
||||
}
|
||||
|
@ -38,6 +38,7 @@ import javax.annotation.Resource;
|
||||
import java.io.InputStream;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
@ -46,8 +47,6 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 后台用户 Service 实现类
|
||||
*
|
||||
|
||||
*/
|
||||
@Service("adminUserService")
|
||||
@Slf4j
|
||||
@ -79,14 +78,14 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateUserOpenId(Long id,String openId) {
|
||||
public void updateUserOpenId(Long id, String openId) {
|
||||
userMapper.updateById(new AdminUserDO().setId(id).setOpenId(openId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminUserDO getUserByOpenId(String openId) {
|
||||
if (openId == null) {
|
||||
return null ;
|
||||
return null;
|
||||
}
|
||||
return userMapper.sgetByOpenId(openId);
|
||||
}
|
||||
@ -296,6 +295,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
|
||||
/**
|
||||
* 获得部门条件:查询指定部门的子部门编号们,包括自身
|
||||
*
|
||||
* @param deptId 部门编号
|
||||
* @return 部门编号集合
|
||||
*/
|
||||
@ -394,6 +394,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
|
||||
/**
|
||||
* 校验旧密码
|
||||
*
|
||||
* @param id 用户 id
|
||||
* @param oldPassword 旧密码
|
||||
*/
|
||||
@ -456,6 +457,16 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
return passwordEncoder.matches(rawPassword, encodedPassword);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> getUserIdsByDeptId(Long deptId) {
|
||||
List<Long> userIds = new ArrayList<>();
|
||||
List<AdminUserDO> adminUserDOS = userMapper.selectListByDeptIds(Arrays.asList(deptId));
|
||||
if (!adminUserDOS.isEmpty()) {
|
||||
userIds = adminUserDOS.stream().map(AdminUserDO::getId).collect(Collectors.toList());
|
||||
}
|
||||
return userIds;
|
||||
}
|
||||
|
||||
/**
|
||||
* 对密码进行加密
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user