Compare commits

...

12 Commits

Author SHA1 Message Date
aikai
67acf8550a Merge branch 'dev' of http://47.97.8.94:19527/yj/zn-cloud into dev 2024-09-14 10:00:14 +08:00
aikai
7f6c6206cb OA供应商审核 / OA供应商商品审核 / 供应商管理 / 供应商商品管理 2024-09-14 10:00:08 +08:00
furongxin
cee01e2323 修改节假日排班 问题 2024-09-14 09:55:40 +08:00
furongxin
0d819a8ecc 修正更新用户外勤打卡权限方法的参数名称 2024-09-13 20:35:41 +08:00
furongxin
6fd61c63db ```更改外出申请的外勤打卡权限设置方法
更新了外出申请逻辑,使用新的`updateFieldworkType`方法替代`updateFieldwork`以设置外勤打卡权限。这旨在更好地管理外出类型的打卡权限。
```
2024-09-13 20:34:12 +08:00
furongxin
c459f0d0d5 工作日志分页查询逻辑重构及属性扩展
重构工作日志(LogInstance)的分页查询方法,以提高查询效率和可读性。在LogInstanceDO中添加新属性readStatus、comment、readCount和unreadCount,以支持额外的业务需求。调整LogInstanceMapper中的SQL映射,以适配这些新增的属性。在LogInstanceServiceImpl中修改分页查询逻辑,使用新增的属性,并优化查询参数的传递。
2024-09-13 20:33:13 +08:00
furongxin
3c38492f8e ```扩展用户外勤打卡类型并支持临时外勤
新增`fieldworkType`字段,用于区分用户外勤打卡类型:1表示永久外勤,2表示临时外勤。
更新`updateFieldwork`方法,以设置相应的外勤类型。添加新的`updateFieldworkType`方法,专门用于修改临时外勤状态。

数据库用户表中新增`fieldworkType`列,并默认设置为0(非外勤)。

修改外勤打卡状态时,现在会根据`fieldworkFlag`的值同时更新`fieldworkType`,以简化外勤管理逻辑。
```
2024-09-13 20:32:12 +08:00
furongxin
f3ecc06f6b 修改日志分页查询, 非组件显示Null 问题 2024-09-12 21:59:02 +08:00
aikai
8c6bfd1ef5 Merge branch 'dev' of http://47.97.8.94:19527/yj/zn-cloud into dev 2024-09-12 21:39:34 +08:00
furongxin
fa22c77e18 新增获取外出申请列表RPC接口及实现
添加了一个新的RPC接口`BpmOAGoOutApi`,用于获取当日及昨日外出的用户编号列表。该接口通过调用`BpmOAGoOutService`服务获取数据,并返回结果。相关实现类`BpmOAGoOutApiImpl`中使用了`goOutService`服务来处理具体的业务逻辑,包括根据日期查询外出申请信息,并将结果转换为指定格式返回。

- 新增`BpmOAGoOutApi`接口,定义了`getLeaveListByTime`方法。
- 实现`BpmOAGoOutApiImpl`类,提供了`getLeaveListByTime`方法的具体实现。
- 扩展`BpmOAGoOutService`接口,增加`getGoOutByStartTime`方法用于按开始时间查询外出申请。
- 修改`BpmOAGoOutServiceImpl`,添加对`getGoOutByStartTime`的支持。- 优化外出申请创建逻辑,判断申请是否为当天外出,并相应设置外勤打卡权限。
2024-09-12 21:38:40 +08:00
aikai
93d95e7ce6 Merge branch 'dev' of http://47.97.8.94:19527/yj/zn-cloud into dev 2024-09-12 21:35:43 +08:00
aikai
3204a3e482 ```在发送设备注册请求前增加失效判断
在发送设备注册请求前,添加了对是否ck失效的判断逻辑,以确保设备信息能够准确无误地发送到正确的接收方。
```
2024-09-12 21:35:29 +08:00
129 changed files with 2446 additions and 138 deletions

View File

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.bpm.controller.admin.upload;
package cn.iocoder.yudao.framework.common.pojo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.bpm.api.oa;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.bpm.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.GetMapping;
import java.util.List;
import java.util.Map;
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿fallbackFactory =
@Tag(name = "RPC 服务 - 流程实例")
public interface BpmOAGoOutApi {
String PREFIX = ApiConstants.PREFIX + "/oa/goOut";
@GetMapping(PREFIX + "/getGoOutByTime")
@Operation(summary = "获取当日以及昨日外出的用户编号")
CommonResult<Map<String, List<Long>>> getLeaveListByTime();
}

View File

@ -0,0 +1,46 @@
package cn.iocoder.yudao.module.bpm.api.oa;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAGoOutDO;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAGoOutService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
/**
* Flowable 流程实例 Api 实现类
*
* @author jason
*/
@RestController
@Validated
public class BpmOAGoOutApiImpl implements BpmOAGoOutApi{
@Resource
private BpmOAGoOutService goOutService;
@Override
public CommonResult<Map<String, List<Long>>> getLeaveListByTime() {
// 定义格式化模式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<BpmOAGoOutDO> goOutNow = goOutService.getGoOutByStartTime(LocalDate.now().format(formatter));
List<BpmOAGoOutDO> goOutYesterday = goOutService.getGoOutByStartTime(LocalDate.now().minusDays(1).format(formatter));
Map<String, List<Long>> result = new HashMap<>();
result.put("now", convertList(goOutNow, BpmOAGoOutDO::getUserId));
result.put("yesterday", convertList(goOutYesterday, BpmOAGoOutDO::getUserId));
return success(result);
}
}

View File

@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.financialpayment.vo.Financia
import cn.iocoder.yudao.module.bpm.controller.admin.financialpayment.vo.FinancialPaymentSaveReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.financialpayment.vo.FinancialPaymentSaveVO;
import cn.iocoder.yudao.module.bpm.controller.admin.financialpaymentitem.vo.FinancialPaymentItemRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.dal.dataobject.financialpayment.FinancialPaymentDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.financialpaymentitem.FinancialPaymentItemDO;
import cn.iocoder.yudao.module.bpm.service.financialpayment.FinancialPaymentService;
@ -17,7 +17,6 @@ import cn.iocoder.yudao.module.bpm.service.financialpaymentitem.FinancialPayment
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.context.annotation.Lazy;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.financialpaymentitem.vo;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@ -1,13 +1,11 @@
package cn.iocoder.yudao.module.bpm.controller.admin.financialpaymentitem.vo;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 财务支付子表新增/修改 Request VO")

View File

@ -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.supplier.BpmOASupplierPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierDO;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierService;
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 = "管理后台 - OA供应商审核")
@RestController
@RequestMapping("/bpm/oa-supplier")
@Validated
public class BpmOaSupplierController {
@Resource
private BpmOASupplierService oaSupplierService;
@PostMapping("/create")
@Operation(summary = "创建OA供应商审核")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:create')")
public CommonResult<Long> createOaSupplier(@Valid @RequestBody BpmOASupplierSaveReqVO createReqVO) {
return success(oaSupplierService.createOaSupplier(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新OA供应商审核")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:update')")
public CommonResult<Boolean> updateOaSupplier(@Valid @RequestBody BpmOASupplierSaveReqVO updateReqVO) {
oaSupplierService.updateOaSupplier(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除OA供应商审核")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:delete')")
public CommonResult<Boolean> deleteOaSupplier(@RequestParam("id") Long id) {
oaSupplierService.deleteOaSupplier(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得OA供应商审核")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:query')")
public CommonResult<BpmOASupplierRespVO> getOaSupplier(@RequestParam("id") Long id) {
BpmOASupplierDO oaSupplier = oaSupplierService.getOaSupplier(id);
return success(BeanUtils.toBean(oaSupplier, BpmOASupplierRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得OA供应商审核分页")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier:query')")
public CommonResult<PageResult<BpmOASupplierRespVO>> getOaSupplierPage(@Valid BpmOASupplierPageReqVO pageReqVO) {
PageResult<BpmOASupplierDO> pageResult = oaSupplierService.getOaSupplierPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BpmOASupplierRespVO.class));
}
}

View File

@ -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.supplier.BpmOASupplierProductPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOaSupplierProductService;
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 = "管理后台 - OA供应商商品")
@RestController
@RequestMapping("/bpm/oa-supplier-product")
@Validated
public class BpmOaSupplierProductController {
@Resource
private BpmOaSupplierProductService oaSupplierProductService;
@PostMapping("/create")
@Operation(summary = "创建OA供应商商品")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:create')")
public CommonResult<Long> 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<Boolean> updateOaSupplierProduct(@Valid @RequestBody BpmOASupplierProductSaveReqVO updateReqVO) {
oaSupplierProductService.updateOaSupplierProduct(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除OA供应商商品")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:delete')")
public CommonResult<Boolean> deleteOaSupplierProduct(@RequestParam("id") Long id) {
oaSupplierProductService.deleteOaSupplierProduct(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得OA供应商商品")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:query')")
public CommonResult<BpmOASupplierProductRespVO> getOaSupplierProduct(@RequestParam("id") Long id) {
BpmOASupplierProductDO oaSupplierProduct = oaSupplierProductService.getOaSupplierProduct(id);
return success(BeanUtils.toBean(oaSupplierProduct, BpmOASupplierProductRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得OA供应商商品分页")
@PreAuthorize("@ss.hasPermission('bpm:oa-supplier-product:query')")
public CommonResult<PageResult<BpmOASupplierProductRespVO>> getOaSupplierProductPage(@Valid BpmOASupplierProductPageReqVO pageReqVO) {
PageResult<BpmOASupplierProductDO> pageResult = oaSupplierProductService.getOaSupplierProductPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BpmOASupplierProductRespVO.class));
}
}

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.cash;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.cash;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.contract;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.contract;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry;
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.entry;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.evection;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.evection;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.goOut;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.goOut;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.imprest;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.imprest;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.incentive;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.incentive;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
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.LocalDateTime;
import java.util.List;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.overtime;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -53,4 +53,4 @@ public class BpmOAProcurePayRespVO {
private List<BpmOAProcurePayItemRespVO> items;
}
}

View File

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procurepay;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.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;
@ -49,4 +48,4 @@ public class BpmOAProcurePaySaveReqVO {
@Schema(description = "采购支付子列表")
List<BpmOAProcurePayItemSaveReqVO> items;
}
}

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.regular;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,5 +1,5 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.seal;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.seal;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.second;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.shiftjobs;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
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 BpmOASupplierPageReqVO extends PageParam {
@Schema(description = "申请人的用户编号", example = "15417")
private Long userId;
@Schema(description = "供应商id如果编辑的话需要", example = "28412")
private Long supplierId;
@Schema(description = "供应商名称", example = "李四")
private String supplierName;
@Schema(description = "联系方式(手机号)")
private String phone;
@Schema(description = "联系人")
private String contactPerson;
@Schema(description = "公司地址")
private String companyAddress;
@Schema(description = "营业执照编号")
private String businessLicenseNo;
@Schema(description = "结算日")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private String[] settlementDate;
@Schema(description = "结算方式(字典值)")
private Integer settlementMethod;
@Schema(description = "公司账号", example = "13787")
private String companyAccount;
@Schema(description = "银行开户行")
private String bankAccountOpeningBank;
@Schema(description = "附件信息")
private String fileItems;
@Schema(description = "申请结果")
private Integer result;
@Schema(description = "流程实例的编号", example = "13296")
private String processInstanceId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,52 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - OA供应商商品分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BpmOASupplierProductPageReqVO extends PageParam {
@Schema(description = "供应商OA流程id", example = "26994")
private Long oaSupplierId;
@Schema(description = "供应商id", example = "18695")
private Long supplierId;
@Schema(description = "供应商商品id如果编辑的话需要", example = "1033")
private Long supplierProductId;
@Schema(description = "申请人的用户编号", example = "1033")
private Long userId;
@Schema(description = "资产类型id", example = "8122")
private Long assetsTypeId;
@Schema(description = "资产名称", example = "赵六")
private String assetsName;
@Schema(description = "单位")
private String util;
@Schema(description = "型号")
private String model;
@Schema(description = "价格", example = "31309")
private BigDecimal price;
@Schema(description = "备注")
private String remarks;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@ -0,0 +1,49 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - OA供应商商品 Response VO")
@Data
public class BpmOASupplierProductRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "8546")
private Long id;
@Schema(description = "供应商OA流程id", example = "26994")
private Long oaSupplierId;
@Schema(description = "供应商id", example = "18695")
private Long supplierId;
@Schema(description = "供应商商品id如果编辑的话需要", example = "1033")
private Long supplierProductId;
@Schema(description = "申请人的用户编号", example = "1033")
private Long userId;
@Schema(description = "资产类型id", example = "8122")
private Long assetsTypeId;
@Schema(description = "资产名称", example = "赵六")
private String assetsName;
@Schema(description = "单位")
private String util;
@Schema(description = "型号")
private String model;
@Schema(description = "价格", example = "31309")
private BigDecimal price;
@Schema(description = "备注")
private String remarks;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

View File

@ -0,0 +1,45 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - OA供应商商品新增/修改 Request VO")
@Data
public class BpmOASupplierProductSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "8546")
private Long id;
@Schema(description = "供应商OA流程id", example = "26994")
private Long oaSupplierId;
@Schema(description = "供应商id", example = "18695")
private Long supplierId;
@Schema(description = "供应商商品id如果编辑的话需要", example = "1033")
private Long supplierProductId;
@Schema(description = "申请人的用户编号", example = "1033")
private Long userId;
@Schema(description = "资产类型id", example = "8122")
private Long assetsTypeId;
@Schema(description = "资产名称", example = "赵六")
private String assetsName;
@Schema(description = "单位")
private String util;
@Schema(description = "型号")
private String model;
@Schema(description = "价格", example = "31309")
private BigDecimal price;
@Schema(description = "备注")
private String remarks;
}

View File

@ -0,0 +1,60 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - OA供应商审核 Response VO")
@Data
public class BpmOASupplierRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13431")
private Long id;
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15417")
private Long userId;
@Schema(description = "供应商id如果编辑的话需要", example = "28412")
private Long supplierId;
@Schema(description = "供应商名称", example = "李四")
private String supplierName;
@Schema(description = "联系方式(手机号)")
private String phone;
@Schema(description = "联系人")
private String contactPerson;
@Schema(description = "公司地址")
private String companyAddress;
@Schema(description = "营业执照编号")
private String businessLicenseNo;
@Schema(description = "结算日")
private String settlementDate;
@Schema(description = "结算方式(字典值)")
private Integer settlementMethod;
@Schema(description = "公司账号", example = "13787")
private String companyAccount;
@Schema(description = "银行开户行")
private String bankAccountOpeningBank;
@Schema(description = "附件信息")
private String fileItems;
@Schema(description = "申请结果", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer result;
@Schema(description = "流程实例的编号", example = "13296")
private String processInstanceId;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

View File

@ -0,0 +1,63 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - OA供应商审核新增/修改 Request VO")
@Data
public class BpmOASupplierSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13431")
private Long id;
@Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15417")
@NotNull(message = "申请人的用户编号不能为空")
private Long userId;
@Schema(description = "供应商id如果编辑的话需要", example = "28412")
private Long supplierId;
@Schema(description = "供应商名称", example = "李四")
private String supplierName;
@Schema(description = "联系方式(手机号)")
private String phone;
@Schema(description = "联系人")
private String contactPerson;
@Schema(description = "公司地址")
private String companyAddress;
@Schema(description = "营业执照编号")
private String businessLicenseNo;
@Schema(description = "结算日")
private String settlementDate;
@Schema(description = "结算方式(字典值)")
private Integer settlementMethod;
@Schema(description = "公司账号", example = "13787")
private String companyAccount;
@Schema(description = "银行开户行")
private String bankAccountOpeningBank;
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
private List<UploadUserFile> fileItems;
@Schema(description = "申请结果", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请结果不能为空")
private Integer result;
@Schema(description = "流程实例的编号", example = "13296")
private String processInstanceId;
@Schema(description = "供应商商品表")
List<BpmOASupplierProductSaveReqVO> items;
}

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.worktask;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.bpm.convert.oa;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
*
* @author yj
*/
@Mapper
public interface BpmOASupplierConvert {
BpmOASupplierConvert INSTANCE = Mappers.getMapper(BpmOASupplierConvert.class);
BpmOASupplierDO convert(BpmOASupplierSaveReqVO createReqVO);
}

View File

@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.bpm.convert.oa;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
*
* @author yj
*/
@Mapper
public interface BpmOaSupplierProductConvert {
BpmOaSupplierProductConvert INSTANCE = Mappers.getMapper(BpmOaSupplierProductConvert.class);
List<BpmOASupplierProductDO> convert(List<BpmOASupplierProductSaveReqVO> items);
}

View File

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.bpm.dal.dataobject.financialpaymentitem;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -99,4 +99,4 @@ public class BpmOAEntryDO extends BaseDO {
*/
private String processInstanceId;
}
}

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -18,7 +18,7 @@ import java.util.List;
* {@link #day} 请假天数目前先简单做一般是分成请假上午和下午可以是 1 整天可以是 0.5 半天
*
* @author jason
*/
@TableName(value ="bpm_oa_leave", autoResultMap = true)
@Data

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -2,14 +2,13 @@ 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.procure.ProcureDetail;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

View File

@ -2,7 +2,7 @@ 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 cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -73,4 +73,4 @@ public class BpmOAProcurePayDO extends BaseDO {
@Schema(description = "子列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<BpmOAProcurePayItemRespVO> items;
}
}

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -2,7 +2,7 @@ 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.reimbursement.Reimbursement;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.List;
/**

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -2,7 +2,7 @@ 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.second.Second;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,7 +1,7 @@
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.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -0,0 +1,84 @@
package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* OA供应商审核 DO
*
* @author 艾楷
*/
@TableName("bpm_oa_supplier")
@KeySequence("bpm_oa_supplier_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BpmOASupplierDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 申请人的用户编号
*/
private Long userId;
/**
* 供应商id如果编辑的话需要
*/
private Long supplierId;
/**
* 供应商名称
*/
private String supplierName;
/**
* 联系方式(手机号)
*/
private String phone;
/**
* 联系人
*/
private String contactPerson;
/**
* 公司地址
*/
private String companyAddress;
/**
* 营业执照编号
*/
private String businessLicenseNo;
/**
* 结算日
*/
private String settlementDate;
/**
* 结算方式(字典值)
*/
private Integer settlementMethod;
/**
* 公司账号
*/
private String companyAccount;
/**
* 银行开户行
*/
private String bankAccountOpeningBank;
/**
* 附件信息
*/
private String fileItems;
/**
* 申请结果
*/
private Integer result;
/**
* 流程实例的编号
*/
private String processInstanceId;
}

View File

@ -0,0 +1,71 @@
package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
import lombok.*;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* OA供应商商品 DO
*
* @author 艾楷
*/
@TableName("bpm_oa_supplier_product")
@KeySequence("bpm_oa_supplier_product_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BpmOASupplierProductDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 供应商OA流程id
*/
private Long oaSupplierId;
/**
* 供应商id
*/
private Long supplierId;
/**
* 供应商商品id如果编辑的话需要
*/
private Long supplierProductId;
/**
* 申请人的用户编号
*/
private Long userId;
/**
* 资产类型id
*/
private Long assetsTypeId;
/**
* 资产名称
*/
private String assetsName;
/**
* 单位
*/
private String util;
/**
* 型号
*/
private String model;
/**
* 价格
*/
private BigDecimal price;
/**
* 备注
*/
private String remarks;
}

View File

@ -2,7 +2,7 @@ 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.worktask.BpmOAWorkTaskTrackInfo;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -17,7 +17,7 @@ import java.util.List;
* OA 分配任务 DO
*
* @author 姚君
*/
@TableName(value ="bpm_oa_work_task", autoResultMap = true)
@Data

View File

@ -0,0 +1,38 @@
package cn.iocoder.yudao.module.bpm.dal.mysql.oa;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierPageReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierDO;
import org.apache.ibatis.annotations.Mapper;
/**
* OA供应商审核 Mapper
*
* @author 艾楷
*/
@Mapper
public interface BpmOASupplierMapper extends BaseMapperX<BpmOASupplierDO> {
default PageResult<BpmOASupplierDO> selectPage(BpmOASupplierPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BpmOASupplierDO>()
.eqIfPresent(BpmOASupplierDO::getUserId, reqVO.getUserId())
.eqIfPresent(BpmOASupplierDO::getSupplierId, reqVO.getSupplierId())
.likeIfPresent(BpmOASupplierDO::getSupplierName, reqVO.getSupplierName())
.eqIfPresent(BpmOASupplierDO::getPhone, reqVO.getPhone())
.eqIfPresent(BpmOASupplierDO::getContactPerson, reqVO.getContactPerson())
.eqIfPresent(BpmOASupplierDO::getCompanyAddress, reqVO.getCompanyAddress())
.eqIfPresent(BpmOASupplierDO::getBusinessLicenseNo, reqVO.getBusinessLicenseNo())
.betweenIfPresent(BpmOASupplierDO::getSettlementDate, reqVO.getSettlementDate())
.eqIfPresent(BpmOASupplierDO::getSettlementMethod, reqVO.getSettlementMethod())
.eqIfPresent(BpmOASupplierDO::getCompanyAccount, reqVO.getCompanyAccount())
.eqIfPresent(BpmOASupplierDO::getBankAccountOpeningBank, reqVO.getBankAccountOpeningBank())
.eqIfPresent(BpmOASupplierDO::getFileItems, reqVO.getFileItems())
.eqIfPresent(BpmOASupplierDO::getResult, reqVO.getResult())
.eqIfPresent(BpmOASupplierDO::getProcessInstanceId, reqVO.getProcessInstanceId())
.betweenIfPresent(BpmOASupplierDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BpmOASupplierDO::getId));
}
}

View File

@ -0,0 +1,33 @@
package cn.iocoder.yudao.module.bpm.dal.mysql.oa;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductPageReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
import org.apache.ibatis.annotations.Mapper;
/**
* OA供应商商品 Mapper
*
* @author 艾楷
*/
@Mapper
public interface BpmOASupplierProductMapper extends BaseMapperX<BpmOASupplierProductDO> {
default PageResult<BpmOASupplierProductDO> selectPage(BpmOASupplierProductPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BpmOASupplierProductDO>()
.eqIfPresent(BpmOASupplierProductDO::getOaSupplierId, reqVO.getOaSupplierId())
.eqIfPresent(BpmOASupplierProductDO::getSupplierId, reqVO.getSupplierId())
.eqIfPresent(BpmOASupplierProductDO::getSupplierProductId, reqVO.getSupplierProductId())
.eqIfPresent(BpmOASupplierProductDO::getAssetsTypeId, reqVO.getAssetsTypeId())
.likeIfPresent(BpmOASupplierProductDO::getAssetsName, reqVO.getAssetsName())
.eqIfPresent(BpmOASupplierProductDO::getUtil, reqVO.getUtil())
.eqIfPresent(BpmOASupplierProductDO::getModel, reqVO.getModel())
.eqIfPresent(BpmOASupplierProductDO::getPrice, reqVO.getPrice())
.eqIfPresent(BpmOASupplierProductDO::getRemarks, reqVO.getRemarks())
.betweenIfPresent(BpmOASupplierProductDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BpmOASupplierProductDO::getId));
}
}

View File

@ -14,13 +14,14 @@ import cn.iocoder.yudao.module.system.api.position.PositionApi;
import cn.iocoder.yudao.module.system.api.sms.SmsSendApi;
import cn.iocoder.yudao.module.system.api.social.SocialClientApi;
import cn.iocoder.yudao.module.system.api.subscribe.SubscribeMessageSendApi;
import cn.iocoder.yudao.module.system.api.supplier.SupplierApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
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
SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class
})
public class RpcConfiguration {
}

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.bpm.service.oa;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.infra.api.file.FileApi;
import cn.iocoder.yudao.module.infra.api.file.dto.FileCreateReqDTO;
import org.springframework.stereotype.Service;

View File

@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.cash.BpmOACashCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.cash.BpmOACashRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureListEditReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOACashConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.financialpayment.FinancialPaymentDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOACashDO;

View File

@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
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.contract.BpmOAContractCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAContractConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAContractDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAContractMapper;

View File

@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.string.StrUtils;
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.entry.BpmOAEntryCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAEntryConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAEntryDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAEntryMapper;
@ -66,7 +66,7 @@ public class BpmOAEntryServiceImpl implements BpmOAEntryService{
@Resource
private BpmHistoryProcessInstanceService historyProcessInstanceService;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createEntry(BpmOAEntryCreateReqVO createReqVO) {

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.oa;
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.evection.BpmOAEvectionCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAEvectionConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAEvectionDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAEvectionMapper;

View File

@ -3,6 +3,9 @@ package cn.iocoder.yudao.module.bpm.service.oa;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.goOut.BpmOAGoOutCreateReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAGoOutDO;
import java.time.LocalDate;
import java.util.List;
public interface BpmOAGoOutService {
/**
@ -34,4 +37,11 @@ public interface BpmOAGoOutService {
* @return 外出申请
*/
BpmOAGoOutDO getGoOut(Long id);
/**
* 获得指定开始时间的外出申请
* @param time 时间
* @return 外出申请
*/
List<BpmOAGoOutDO> getGoOutByStartTime(String time);
}

View File

@ -1,8 +1,9 @@
package cn.iocoder.yudao.module.bpm.service.oa;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.goOut.BpmOAGoOutCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAGoOutConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAGoOutDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAGoOutMapper;
@ -15,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -79,8 +81,11 @@ public class BpmOAGoOutServiceImpl extends BpmOABaseService implements BpmOAGoOu
uploadBpmFileProcessInstanceId(processInstanceId,fileItems) ;
}
// 发起外出申请后设置外勤打卡权限
userApi.updateFieldwork(getLoginUserId(), 1);
// 发起外出申请后判断是否是当天的外出
if (goOut.getStartTime().toLocalDate().isEqual(LocalDate.now())) {
// 设置外勤打卡权限
userApi.updateFieldworkType(getLoginUserId(), 1);
}
return goOut.getId();
}
@ -98,7 +103,7 @@ public class BpmOAGoOutServiceImpl extends BpmOABaseService implements BpmOAGoOu
|| BpmProcessInstanceResultEnum.BACK.getResult().equals(result)) {
// 发起外出申请后设置关闭外勤打卡权限
userApi.updateFieldwork(getLoginUserId(), 0);
userApi.updateFieldworkType(getLoginUserId(), 0);
}
goOutMapper.updateById(new BpmOAGoOutDO().setId(id).setResult(result));
@ -115,6 +120,13 @@ public class BpmOAGoOutServiceImpl extends BpmOABaseService implements BpmOAGoOu
return goOutMapper.selectById(id);
}
@Override
public List<BpmOAGoOutDO> getGoOutByStartTime(String time) {
return goOutMapper.selectList(new LambdaQueryWrapperX<BpmOAGoOutDO>()
.likeIfPresent(BpmOAGoOutDO::getStartTime, time));
}
private void validateLeaveExists(Long id) {
if (goOutMapper.selectById(id) == null) {
throw exception(OA_GOOut_NOT_EXISTS);

View File

@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
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.imprest.BpmOAImprestCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAImprestConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.financialpayment.FinancialPaymentDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAImprestDO;

View File

@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
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.incentive.BpmOAIncentiveCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAIncentiveConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAIncentiveDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAIncentiveMapper;

View File

@ -12,7 +12,7 @@ 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.leave.BpmOALeaveCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.leave.BpmOALeavePageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOALeaveConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOALeaveMapper;

View File

@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
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.overtime.BpmOAOvertimeCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAOvertimeConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAOvertimeDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAOvertimeMapper;
@ -44,7 +44,7 @@ public class BpmOAOvertimeServiceImpl extends BpmOABaseService implements BpmOAO
@Resource
private BpmHistoryProcessInstanceService historyProcessInstanceService;
@Override
public Long createOvertime(Long userId, BpmOAOvertimeCreateReqVO createReqVO) {
@ -88,7 +88,7 @@ public class BpmOAOvertimeServiceImpl extends BpmOABaseService implements BpmOAO
throw exception(OA_OVERTIME_NOT_EXISTS);
}
}
@Override
public BpmOAOvertimeDO getOvertime(Long id) {

View File

@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.procure.BpmOAProcureLi
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.framework.common.pojo.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.financialpayment.FinancialPaymentDO;

View File

@ -11,7 +11,7 @@ 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.framework.common.pojo.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;

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.oa;
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.regular.BpmOARegularCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOARegularConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOARegularDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOARegularMapper;

View File

@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.BpmOARei
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.BpmOAReimbursementRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.Reimbursement;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.ReimbursementDTO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAReimbursementConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.financialpayment.FinancialPaymentDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAImprestDO;

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.oa;
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.seal.BpmOASealCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASealConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASealDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASealMapper;

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.oa;
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.second.BpmOASecondCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASecondConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASecondDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASecondMapper;
@ -87,7 +87,7 @@ public class BpmOASecondServiceImpl extends BpmOABaseService implements BpmOASec
@Override
public BpmOASecondDO getSecond(Long id) {
return secondMapper.selectById(id);
}

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.oa;
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.shiftjobs.BpmOAShiftjobsCreateReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAShiftjobsConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAShiftjobsDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAShiftjobsMapper;

View File

@ -0,0 +1,63 @@
package cn.iocoder.yudao.module.bpm.service.oa;
import javax.validation.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierDO;
/**
* OA供应商审核 Service 接口
*
* @author 艾楷
*/
public interface BpmOASupplierService {
/**
* 创建OA供应商审核
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createOaSupplier(@Valid BpmOASupplierSaveReqVO createReqVO);
/**
* 更新OA供应商审核
*
* @param updateReqVO 更新信息
*/
void updateOaSupplier(@Valid BpmOASupplierSaveReqVO updateReqVO);
/**
* 删除OA供应商审核
*
* @param id 编号
*/
void deleteOaSupplier(Long id);
/**
* 获得OA供应商审核
*
* @param id 编号
* @return OA供应商审核
*/
BpmOASupplierDO getOaSupplier(Long id);
/**
* 获得OA供应商审核分页
*
* @param pageReqVO 分页查询
* @return OA供应商审核分页
*/
PageResult<BpmOASupplierDO> getOaSupplierPage(BpmOASupplierPageReqVO pageReqVO);
/**
* 更新工作任务的状态
*
* @param processInstanceId 流程实例id
* @param id 编号
* @param result 结果
*/
void updateSupplierResult(String processInstanceId, Long id, Integer result);
}

View File

@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.worktask.BpmOAWorkTask
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.worktask.BpmOAWorkTaskReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.worktask.BpmOAWorkTaskRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.worktask.BpmOAWorkTaskTrackInfo;
import cn.iocoder.yudao.module.bpm.controller.admin.upload.UploadUserFile;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOAWorkTaskConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAWorkTaskDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;

View File

@ -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.supplier.BpmOASupplierProductPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
import javax.validation.Valid;
/**
* OA供应商商品 Service 接口
*
* @author 艾楷
*/
public interface BpmOaSupplierProductService {
/**
* 创建OA供应商商品
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createOaSupplierProduct(@Valid BpmOASupplierProductSaveReqVO createReqVO);
/**
* 更新OA供应商商品
*
* @param updateReqVO 更新信息
*/
void updateOaSupplierProduct(@Valid BpmOASupplierProductSaveReqVO updateReqVO);
/**
* 删除OA供应商商品
*
* @param id 编号
*/
void deleteOaSupplierProduct(Long id);
/**
* 获得OA供应商商品
*
* @param id 编号
* @return OA供应商商品
*/
BpmOASupplierProductDO getOaSupplierProduct(Long id);
/**
* 获得OA供应商商品分页
*
* @param pageReqVO 分页查询
* @return OA供应商商品分页
*/
PageResult<BpmOASupplierProductDO> getOaSupplierProductPage(BpmOASupplierProductPageReqVO pageReqVO);
}

View File

@ -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.supplier.BpmOASupplierProductPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierProductSaveReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProductMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
/**
* OA供应商商品 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class BpmOaSupplierProductServiceImpl implements BpmOaSupplierProductService {
@Resource
private BpmOASupplierProductMapper oaSupplierProductMapper;
@Override
public Long createOaSupplierProduct(BpmOASupplierProductSaveReqVO createReqVO) {
// 插入
BpmOASupplierProductDO oaSupplierProduct = BeanUtils.toBean(createReqVO, BpmOASupplierProductDO.class);
oaSupplierProductMapper.insert(oaSupplierProduct);
// 返回
return oaSupplierProduct.getId();
}
@Override
public void updateOaSupplierProduct(BpmOASupplierProductSaveReqVO updateReqVO) {
// 更新
BpmOASupplierProductDO updateObj = BeanUtils.toBean(updateReqVO, BpmOASupplierProductDO.class);
oaSupplierProductMapper.updateById(updateObj);
}
@Override
public void deleteOaSupplierProduct(Long id) {
// 删除
oaSupplierProductMapper.deleteById(id);
}
@Override
public BpmOASupplierProductDO getOaSupplierProduct(Long id) {
return oaSupplierProductMapper.selectById(id);
}
@Override
public PageResult<BpmOASupplierProductDO> getOaSupplierProductPage(BpmOASupplierProductPageReqVO pageReqVO) {
return oaSupplierProductMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,150 @@
package cn.iocoder.yudao.module.bpm.service.oa;
import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierPageReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.supplier.BpmOASupplierSaveReqVO;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASupplierConvert;
import cn.iocoder.yudao.module.bpm.convert.oa.BpmOaSupplierProductConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierDO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASupplierProductDO;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierMapper;
import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOASupplierProductMapper;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import cn.iocoder.yudao.module.bpm.service.task.BpmHistoryProcessInstanceService;
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
import cn.iocoder.yudao.module.system.api.supplier.SupplierApi;
import cn.iocoder.yudao.module.system.api.supplier.dto.SupplierProductRpcDTO;
import cn.iocoder.yudao.module.system.api.supplier.dto.SupplierRpcDTO;
import org.flowable.engine.runtime.ProcessInstance;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* OA供应商审核 Service 实现类
*
* @author 艾楷
*/
@Service
@Validated
public class BpmOaSupplierServiceImpl extends BpmOABaseService implements BpmOASupplierService {
@Resource
private BpmOASupplierMapper oaSupplierMapper;
@Resource
private BpmOASupplierProductMapper oaSupplierProductMapper;
@Resource
private BpmProcessInstanceApi processInstanceApi;
@Resource
@Lazy // 解决循环依赖
private BpmHistoryProcessInstanceService historyProcessInstanceService;
@Resource
private BpmProcessInstanceService processInstanceService;
@Resource
private SupplierApi supplierApi;
/**
* OA 现金支出对应的流程定义 KEY
*/
public static final String PROCESS_KEY = "oa_supplier";
@Override
public Long createOaSupplier(BpmOASupplierSaveReqVO createReqVO) {
Long userId = WebFrameworkUtils.getLoginUserId();
createReqVO.setUserId(userId);
// 采购支付对象转换
BpmOASupplierDO oaSupplier = BpmOASupplierConvert.INSTANCE.convert(createReqVO);
oaSupplierMapper.insert(oaSupplier);
// 子列表转换
List<BpmOASupplierProductDO> items = BpmOaSupplierProductConvert.INSTANCE.convert(createReqVO.getItems());
for (BpmOASupplierProductDO item : items) {
item.setOaSupplierId(oaSupplier.getId());
item.setUserId(userId);
}
oaSupplierProductMapper.insertBatch(items);
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
String processInstanceId = processInstanceApi.createProcessInstance(userId,
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
.setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaSupplier.getId()))).getCheckedData();
// 将工作流的编号更新到 OA 采购单中
oaSupplierMapper.updateById(new BpmOASupplierDO().setId(oaSupplier.getId()).setProcessInstanceId(processInstanceId));
// 判断是否为重新发起的流程
if (createReqVO.getProcessInstanceId() != null && createReqVO.getResult() == 3) {
historyProcessInstanceService.createHistoryProcessInstance(processInstanceId, createReqVO.getProcessInstanceId());
}
List<UploadUserFile> fileItems = createReqVO.getFileItems();
//这里的逻辑如果fileItems不为空且有数据那么说明是上传了附件的则需要更工作流文件表对应的实例Id
if (fileItems != null && !fileItems.isEmpty()) {
uploadBpmFileProcessInstanceId(processInstanceId, fileItems);
}
// 返回
return oaSupplier.getId();
}
@Override
public void updateOaSupplier(BpmOASupplierSaveReqVO updateReqVO) {
// 更新
BpmOASupplierDO updateObj = BeanUtils.toBean(updateReqVO, BpmOASupplierDO.class);
oaSupplierMapper.updateById(updateObj);
}
@Override
public void deleteOaSupplier(Long id) {
// 删除
oaSupplierMapper.deleteById(id);
}
@Override
public BpmOASupplierDO getOaSupplier(Long id) {
return oaSupplierMapper.selectById(id);
}
@Override
public PageResult<BpmOASupplierDO> getOaSupplierPage(BpmOASupplierPageReqVO pageReqVO) {
return oaSupplierMapper.selectPage(pageReqVO);
}
@Override
public void updateSupplierResult(String processInstanceId, Long id, Integer result) {
//审核通过 最后节点
if (BpmProcessInstanceResultEnum.APPROVE.getResult().equals(result)) {
ProcessInstance instance = processInstanceService.getProcessInstance(processInstanceId);
if (instance.isEnded()) {
// -- 获取到供应商和商品的信息 - 插入到具体到业务表中
BpmOASupplierDO bpmOASupplierDO = oaSupplierMapper.selectById(id);
List<BpmOASupplierProductDO> bpmOASupplierProductDOList = oaSupplierProductMapper.selectList(BpmOASupplierProductDO::getOaSupplierId, id);
SupplierRpcDTO supplierRpcDTO = BeanUtil.copyProperties(bpmOASupplierDO, SupplierRpcDTO.class);
supplierRpcDTO.setId(bpmOASupplierDO.getSupplierId());
List<SupplierProductRpcDTO> item = new ArrayList<>();
if (!bpmOASupplierProductDOList.isEmpty()) {
for (BpmOASupplierProductDO bpmOASupplierProductDO : bpmOASupplierProductDOList) {
SupplierProductRpcDTO supplierProductRpcDTO = BeanUtil.copyProperties(bpmOASupplierProductDO, SupplierProductRpcDTO.class);
supplierProductRpcDTO.setSupplierId(supplierRpcDTO.getId());
supplierProductRpcDTO.setId(bpmOASupplierProductDO.getSupplierProductId());
item.add(supplierProductRpcDTO);
}
}
supplierRpcDTO.setItems(item);
supplierApi.saveOrEdit(supplierRpcDTO);
}
}
oaSupplierMapper.updateById(new BpmOASupplierDO().setId(id).setResult(result).setProcessInstanceId(processInstanceId));
}
}

View File

@ -0,0 +1,31 @@
package cn.iocoder.yudao.module.bpm.service.oa.listener;
import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent;
import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOASupplierService;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOaSupplierServiceImpl;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* OA 合同审批单的结果的监听器实现类
*
* @author 符溶馨
*/
@Component
public class BpmOASupplierResultListener extends BpmProcessInstanceResultEventListener {
@Resource
private BpmOASupplierService supplierService;
@Override
protected String getProcessDefinitionKey() {
return BpmOaSupplierServiceImpl.PROCESS_KEY;
}
@Override
protected void onEvent(BpmProcessInstanceResultEvent event) {
supplierService.updateSupplierResult(event.getId(), Long.parseLong(event.getBusinessKey()), event.getResult());
}
}

View File

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

View File

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

View File

@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.system.api.supplier;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.system.api.subscribe.dto.SubscribeMessageReqDTO;
import cn.iocoder.yudao.module.system.api.supplier.dto.SupplierRpcDTO;
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;
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿fallbackFactory =
@Tag(name = "RPC 服务 - 供应商新增编辑")
public interface SupplierApi {
String PREFIX = ApiConstants.PREFIX + "/supplier";
@PostMapping(PREFIX + "/saveOrEdit")
@Operation(summary = "新增编辑供应商")
CommonResult saveOrEdit(@RequestBody SupplierRpcDTO supplier);
}

View File

@ -0,0 +1,36 @@
package cn.iocoder.yudao.module.system.api.supplier.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - OA供应商商品新增/修改 Request VO")
@Data
public class SupplierProductRpcDTO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "6113")
private Long id;
@Schema(description = "供应商id", example = "19964")
private Long supplierId;
@Schema(description = "资产类型id", example = "1358")
private Long assetsTypeId;
@Schema(description = "资产名称", example = "赵六")
private String assetsName;
@Schema(description = "单位")
private String util;
@Schema(description = "型号")
private String model;
@Schema(description = "价格", example = "23614")
private BigDecimal price;
@Schema(description = "备注")
private String remarks;
}

View File

@ -0,0 +1,56 @@
package cn.iocoder.yudao.module.system.api.supplier.dto;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 供应商列表(OA已审核通过后插入)新增/修改 Request VO")
@Data
public class SupplierRpcDTO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17010")
private Long id;
@Schema(description = "供应商名称", example = "赵六")
private String supplierName;
@Schema(description = "联系方式(手机号)")
private String phone;
@Schema(description = "联系人")
private String contactPerson;
@Schema(description = "公司地址")
private String companyAddress;
@Schema(description = "营业执照编号")
private String businessLicenseNo;
@Schema(description = "结算日")
private String settlementDate;
@Schema(description = "结算方式(字典值)")
private Integer settlementMethod;
@Schema(description = "公司账号(银行卡号)", example = "7431")
private String companyAccount;
@Schema(description = "银行开户行")
private String bankAccountOpeningBank;
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
private List<UploadUserFile> fileItems;
@Schema(description = "申请结果", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "申请结果不能为空")
private Integer result;
@Schema(description = "流程实例的编号", example = "13296")
private String processInstanceId;
@Schema(description = "供应商商品表")
List<SupplierProductRpcDTO> items;
}

Some files were not shown because too many files have changed in this diff Show More