xg-v1.0
This commit is contained in:
61
ruoyi-oa/src/main/java/com/ruoyi/oa/config/ContextUtil.java
Normal file
61
ruoyi-oa/src/main/java/com/ruoyi/oa/config/ContextUtil.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.oa.config;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ContextUtil implements ApplicationContextAware {
|
||||
|
||||
/**
|
||||
* 上下文
|
||||
*/
|
||||
private static ApplicationContext applicationContext;
|
||||
|
||||
/**
|
||||
* 设置上下文
|
||||
* @param applicationContext 上下文实例
|
||||
* @throws BeansException Bean异常
|
||||
*/
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||
ContextUtil.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取上下文
|
||||
* @return
|
||||
*/
|
||||
public static ApplicationContext getContext() {
|
||||
return ContextUtil.applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
|
||||
*/
|
||||
@SuppressWarnings("all")
|
||||
public static <T> T getBean(String name) {
|
||||
assertContextInjected();
|
||||
return (T) applicationContext.getBean(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
|
||||
*/
|
||||
public static <T> T getBean(Class<T> requiredType) {
|
||||
assertContextInjected();
|
||||
return applicationContext.getBean(requiredType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查ApplicationContext不为空.
|
||||
*/
|
||||
private static void assertContextInjected() {
|
||||
if (applicationContext == null) {
|
||||
throw new IllegalStateException("applicationContext属性未注入");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaArticle;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaArticleVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaArticleBo;
|
||||
import com.ruoyi.oa.service.ISysOaArticleService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 知识管理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/article")
|
||||
public class SysOaArticleController extends BaseController {
|
||||
|
||||
private final ISysOaArticleService iSysOaArticleService;
|
||||
|
||||
/**
|
||||
* 查询知识管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:article:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaArticleVo> list(SysOaArticleBo bo, PageQuery pageQuery) {
|
||||
return iSysOaArticleService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义查询知识管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:article:list")
|
||||
@GetMapping("/listArticle")
|
||||
public TableDataInfo<SysOaArticleVo> listArticle(SysOaArticleBo bo, PageQuery pageQuery) {
|
||||
return iSysOaArticleService.selectArticlePageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出知识管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:article:export")
|
||||
@Log(title = "知识管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaArticleBo bo, HttpServletResponse response) {
|
||||
List<SysOaArticleVo> list = iSysOaArticleService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "知识管理", SysOaArticleVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取知识管理详细信息
|
||||
*
|
||||
* @param articleId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:article:query")
|
||||
@GetMapping("/{articleId}")
|
||||
public R<SysOaArticle> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long articleId) {
|
||||
SysOaArticle sysOaArticle = iSysOaArticleService.selectArticleById(articleId);
|
||||
return R.ok(sysOaArticle);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增知识管理
|
||||
*/
|
||||
@SaCheckPermission("oa:article:add")
|
||||
@Log(title = "知识管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaArticleBo bo) {
|
||||
return toAjax(iSysOaArticleService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改知识管理
|
||||
*/
|
||||
@SaCheckPermission("oa:article:edit")
|
||||
@Log(title = "知识管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaArticleBo bo) {
|
||||
return toAjax(iSysOaArticleService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除知识管理
|
||||
*
|
||||
* @param articleIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:article:remove")
|
||||
@Log(title = "知识管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{articleIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] articleIds) {
|
||||
return toAjax(iSysOaArticleService.deleteWithValidByIds(Arrays.asList(articleIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaBidVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaBidBo;
|
||||
import com.ruoyi.oa.service.ISysOaBidService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 投标管理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/oaBid")
|
||||
public class SysOaBidController extends BaseController {
|
||||
|
||||
private final ISysOaBidService iSysOaBidService;
|
||||
|
||||
/**
|
||||
* 查询投标管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:oaBid:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaBidVo> list(SysOaBidBo bo, PageQuery pageQuery) {
|
||||
return iSysOaBidService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出投标管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:oaBid:export")
|
||||
@Log(title = "投标管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaBidBo bo, HttpServletResponse response) {
|
||||
List<SysOaBidVo> list = iSysOaBidService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "投标管理", SysOaBidVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取投标管理详细信息
|
||||
*
|
||||
* @param bidId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:oaBid:query")
|
||||
@GetMapping("/{bidId}")
|
||||
public R<SysOaBidVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long bidId) {
|
||||
return R.ok(iSysOaBidService.queryById(bidId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增投标管理
|
||||
*/
|
||||
@SaCheckPermission("oa:oaBid:add")
|
||||
@Log(title = "投标管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaBidBo bo) {
|
||||
return toAjax(iSysOaBidService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改投标管理
|
||||
*/
|
||||
@SaCheckPermission("oa:oaBid:edit")
|
||||
@Log(title = "投标管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaBidBo bo) {
|
||||
return toAjax(iSysOaBidService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除投标管理
|
||||
*
|
||||
* @param bidIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:oaBid:remove")
|
||||
@Log(title = "投标管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{bidIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] bidIds) {
|
||||
return toAjax(iSysOaBidService.deleteWithValidByIds(Arrays.asList(bidIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaCategoryVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaCategoryBo;
|
||||
import com.ruoyi.oa.service.ISysOaCategoryService;
|
||||
|
||||
/**
|
||||
* 知识分类
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/category")
|
||||
public class SysOaCategoryController extends BaseController {
|
||||
|
||||
private final ISysOaCategoryService iSysOaCategoryService;
|
||||
|
||||
/**
|
||||
* 查询知识分类列表
|
||||
*/
|
||||
@SaCheckPermission("oa:category:list")
|
||||
@GetMapping("/list")
|
||||
public R<List<SysOaCategoryVo>> list(SysOaCategoryBo bo) {
|
||||
List<SysOaCategoryVo> list = iSysOaCategoryService.queryList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出知识分类列表
|
||||
*/
|
||||
@SaCheckPermission("oa:category:export")
|
||||
@Log(title = "知识分类", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaCategoryBo bo, HttpServletResponse response) {
|
||||
List<SysOaCategoryVo> list = iSysOaCategoryService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "知识分类", SysOaCategoryVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取知识分类详细信息
|
||||
*
|
||||
* @param categoryId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:category:query")
|
||||
@GetMapping("/{categoryId}")
|
||||
public R<SysOaCategoryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long categoryId) {
|
||||
return R.ok(iSysOaCategoryService.queryById(categoryId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增知识分类
|
||||
*/
|
||||
@SaCheckPermission("oa:category:add")
|
||||
@Log(title = "知识分类", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaCategoryBo bo) {
|
||||
return toAjax(iSysOaCategoryService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改知识分类
|
||||
*/
|
||||
@SaCheckPermission("oa:category:edit")
|
||||
@Log(title = "知识分类", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaCategoryBo bo) {
|
||||
return toAjax(iSysOaCategoryService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除知识分类
|
||||
*
|
||||
* @param categoryIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:category:remove")
|
||||
@Log(title = "知识分类", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{categoryIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] categoryIds) {
|
||||
return toAjax(iSysOaCategoryService.deleteWithValidByIds(Arrays.asList(categoryIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaContractVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaContractBo;
|
||||
import com.ruoyi.oa.service.ISysOaContractService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 合同管理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/oaContract")
|
||||
public class SysOaContractController extends BaseController {
|
||||
|
||||
private final ISysOaContractService iSysOaContractService;
|
||||
|
||||
/**
|
||||
* 查询合同管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaContractVo> list(SysOaContractBo bo, PageQuery pageQuery) {
|
||||
return iSysOaContractService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出合同管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:export")
|
||||
@Log(title = "合同管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaContractBo bo, HttpServletResponse response) {
|
||||
List<SysOaContractVo> list = iSysOaContractService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "合同管理", SysOaContractVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取合同管理详细信息
|
||||
*
|
||||
* @param contractId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:query")
|
||||
@GetMapping("/{contractId}")
|
||||
public R<SysOaContractVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long contractId) {
|
||||
return R.ok(iSysOaContractService.queryById(contractId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目id获取合同信息
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:query")
|
||||
@GetMapping("/findContract")
|
||||
public R<SysOaContractVo> findContractByProjectId(SysOaContractBo bo){
|
||||
return R.ok(iSysOaContractService.findContractByProjectId(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目id查询合同列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:query")
|
||||
@GetMapping("/selectContract")
|
||||
public R<List<SysOaContractVo>> selectContractByProjectId(SysOaContractBo bo){
|
||||
return R.ok(iSysOaContractService.selectContractByProjectId(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增合同管理
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:add")
|
||||
@Log(title = "合同管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaContractBo bo) {
|
||||
return toAjax(iSysOaContractService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改合同管理
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:edit")
|
||||
@Log(title = "合同管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaContractBo bo) {
|
||||
return toAjax(iSysOaContractService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除合同管理
|
||||
*
|
||||
* @param contractIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:oaContract:remove")
|
||||
@Log(title = "合同管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{contractIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] contractIds) {
|
||||
return toAjax(iSysOaContractService.deleteWithValidByIds(Arrays.asList(contractIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaDetailVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaDetailBo;
|
||||
import com.ruoyi.oa.service.ISysOaDetailService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 进出账明细
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/detail")
|
||||
public class SysOaDetailController extends BaseController {
|
||||
|
||||
private final ISysOaDetailService iSysOaDetailService;
|
||||
|
||||
/**
|
||||
* 查询进出账明细列表
|
||||
*/
|
||||
@SaCheckPermission("oa:detail:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaDetailVo> list(SysOaDetailBo bo, PageQuery pageQuery) {
|
||||
return iSysOaDetailService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出进出账明细列表
|
||||
*/
|
||||
@SaCheckPermission("oa:detail:export")
|
||||
@Log(title = "进出账明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaDetailBo bo, HttpServletResponse response) {
|
||||
List<SysOaDetailVo> list = iSysOaDetailService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "进出账明细", SysOaDetailVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进出账明细详细信息
|
||||
*
|
||||
* @param detailId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:detail:query")
|
||||
@GetMapping("/{detailId}")
|
||||
public R<SysOaDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long detailId) {
|
||||
return R.ok(iSysOaDetailService.queryById(detailId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增进出账明细
|
||||
*/
|
||||
@SaCheckPermission("oa:detail:add")
|
||||
@Log(title = "进出账明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaDetailBo bo) {
|
||||
return toAjax(iSysOaDetailService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改进出账明细
|
||||
*/
|
||||
@SaCheckPermission("oa:detail:edit")
|
||||
@Log(title = "进出账明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaDetailBo bo) {
|
||||
return toAjax(iSysOaDetailService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除进出账明细
|
||||
*
|
||||
* @param detailIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:detail:remove")
|
||||
@Log(title = "进出账明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{detailIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] detailIds) {
|
||||
return toAjax(iSysOaDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,234 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.*;
|
||||
import com.ruoyi.oa.domain.SysOaFinance;
|
||||
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
|
||||
import com.ruoyi.oa.service.ISysOaDetailService;
|
||||
import com.ruoyi.oa.service.ISysOaProjectService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaFinanceVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaFinanceBo;
|
||||
import com.ruoyi.oa.service.ISysOaFinanceService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 进出账管理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/finance")
|
||||
public class SysOaFinanceController extends BaseController {
|
||||
|
||||
private final ISysOaFinanceService iSysOaFinanceService;
|
||||
|
||||
private ISysOaDetailService sysOaDetailService;
|
||||
|
||||
private final ISysOaProjectService sysOaProjectService;
|
||||
|
||||
/**
|
||||
* 查询进出账管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaFinanceVo> list(SysOaFinanceBo bo, PageQuery pageQuery) {
|
||||
TableDataInfo<SysOaFinanceVo> sysOaFinanceVoTableDataInfo = iSysOaFinanceService.selectPageFinanceList(bo, pageQuery);
|
||||
return sysOaFinanceVoTableDataInfo;
|
||||
}
|
||||
|
||||
@SaCheckPermission("oa:finance:list")
|
||||
@GetMapping("/listPro")
|
||||
public TableDataInfo<SysOaFinanceVo> listPro(SysOaFinanceBo bo, PageQuery pageQuery) {
|
||||
TableDataInfo<SysOaFinanceVo> sysOaFinanceList = iSysOaFinanceService.selectFinanceList(bo, pageQuery);
|
||||
return sysOaFinanceList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据时间查询
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:list")
|
||||
@GetMapping("/getFinanceByTime")
|
||||
public R<Map<String, Object>> findFinanceByTime(SysOaFinanceBo bo, @RequestParam Map<String, Object> params) {
|
||||
|
||||
Map<String, Object> params1 = params;
|
||||
params1.put("financeType", "1");
|
||||
BigDecimal finance1 = iSysOaFinanceService.findFinanceByTime(bo, params1);
|
||||
|
||||
Map<String, Object> params0 = params;
|
||||
params0.put("financeType", "0");
|
||||
|
||||
BigDecimal finance0 = iSysOaFinanceService.findFinanceByTime(bo, params0);
|
||||
|
||||
|
||||
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
ajax.put("income", finance1);
|
||||
ajax.put("out", finance0);
|
||||
ajax.put("check", finance1.subtract(finance0));
|
||||
return R.ok("ok",ajax);
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目资金管理,根据时间查询
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:list")
|
||||
@GetMapping("/findFinanceByTimeAndProjectId")
|
||||
public R<Map<String, Object>> findFinanceByTimeAndProjectId(SysOaFinanceBo bo) {
|
||||
//项目总金额
|
||||
SysOaProjectVo sysOaProjectVo = sysOaProjectService.queryById(bo.getProjectId());
|
||||
BigDecimal funds = sysOaProjectVo.getFunds();
|
||||
|
||||
//入账总额
|
||||
SysOaFinanceBo boOne = bo;
|
||||
boOne.setFinanceType("1");
|
||||
BigDecimal bigDecimalCome = iSysOaFinanceService.selectFinanceByProjectId(boOne);
|
||||
//出账总额
|
||||
SysOaFinanceBo boZero = bo;
|
||||
boZero.setFinanceType("0");
|
||||
BigDecimal bigDecimalOut = iSysOaFinanceService.selectFinanceByProjectId(boZero);
|
||||
//遍历子表,将价格遍历为数组并用map方法求和,该方法类型使用map比较妥当
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
ajax.put("funds", sysOaProjectVo.getFunds()); //项目总额
|
||||
ajax.put("unliquidated", funds.subtract(bigDecimalCome)); //未结算
|
||||
ajax.put("come", bigDecimalCome); //入账
|
||||
ajax.put("out", bigDecimalOut); //出账
|
||||
//subtract方法计算差
|
||||
ajax.put("check", bigDecimalCome.subtract(bigDecimalOut));
|
||||
|
||||
return R.ok("ok", ajax);
|
||||
}
|
||||
|
||||
/**
|
||||
* 最近6个月的支出/收入情况
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:list")
|
||||
@PostMapping("/findFinanceByMonth")
|
||||
public R<List<Object>> findFinanceByMonth(SysOaFinanceBo bo) {
|
||||
LocalDate now = LocalDate.now();
|
||||
/* 建立一个数组 */
|
||||
int[] integers = {0,1, 2, 3, 4, 5};
|
||||
List<Object> objects = new ArrayList<>();
|
||||
/* 开始遍历 */
|
||||
for (int j = 0; j<integers.length; j++){
|
||||
int i = integers[j];
|
||||
LocalDate date = now.plusMonths(-i);
|
||||
String onMonth = date.getYear() + "年" + date.getMonthValue() + "月";
|
||||
//上个月的第一天,再上个月继续加1
|
||||
LocalDate with = now.minus(i, ChronoUnit.MONTHS).with(TemporalAdjusters.firstDayOfMonth());
|
||||
String firstDay = with + " 00:00:00";
|
||||
LocalDate with1 = now.minus(i, ChronoUnit.MONTHS).with(TemporalAdjusters.lastDayOfMonth());
|
||||
String lastDay = with1 + " 23:59:59";
|
||||
|
||||
//支出
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
Map<String, Object> outMap = new HashMap<>();
|
||||
outMap.put("financeType", '0');
|
||||
outMap.put("beginTime", firstDay);
|
||||
outMap.put("endTime", lastDay);
|
||||
BigDecimal financeOutReduce = iSysOaFinanceService.findFinanceByTime(bo, outMap);
|
||||
|
||||
//收入
|
||||
Map<String, Object> comeMap = new HashMap<>();
|
||||
comeMap.put("financeType", '1');
|
||||
comeMap.put("beginTime", firstDay);
|
||||
comeMap.put("endTime", lastDay);
|
||||
BigDecimal financeComeReduce = iSysOaFinanceService.findFinanceByTime(bo, comeMap);
|
||||
//收入减支出
|
||||
BigDecimal subtract = financeComeReduce.subtract(financeOutReduce);
|
||||
|
||||
|
||||
|
||||
ajax.put("onMonth", onMonth);
|
||||
ajax.put("financeOut", financeOutReduce);
|
||||
ajax.put("financeCome", financeComeReduce);
|
||||
ajax.put("count", subtract);
|
||||
|
||||
objects.add(ajax);
|
||||
}
|
||||
return R.ok(objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出进出账管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:export")
|
||||
@Log(title = "进出账管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaFinanceBo bo, HttpServletResponse response) {
|
||||
List<SysOaFinanceVo> list = iSysOaFinanceService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "进出账管理", SysOaFinanceVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id获取进出账管理详细信息
|
||||
*
|
||||
* @param financeId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:query")
|
||||
@GetMapping("/{financeId}")
|
||||
public R<SysOaFinance> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long financeId) {
|
||||
return R.ok(iSysOaFinanceService.selectFinanceById(financeId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增进出账管理
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:add")
|
||||
@Log(title = "进出账管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaFinanceBo bo) {
|
||||
return toAjax(iSysOaFinanceService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改进出账管理
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:edit")
|
||||
@Log(title = "进出账管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaFinanceBo bo) {
|
||||
return toAjax(iSysOaFinanceService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除进出账管理
|
||||
*
|
||||
* @param financeId 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:finance:remove")
|
||||
@Log(title = "进出账管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{financeId}")
|
||||
public Boolean removeData(@NotNull(message = "主键不能为空") @PathVariable Long financeId) {
|
||||
return iSysOaFinanceService.deleteSysOaFinanceById(financeId);
|
||||
}
|
||||
/* 已经改造为单条关联删除以下代码不需要了
|
||||
@SaCheckPermission("oa:finance:remove")
|
||||
@Log(title = "进出账管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{financeIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] financeIds) {
|
||||
return toAjax(iSysOaFinanceService.deleteWithValidByIds(Arrays.asList(financeIds), true));
|
||||
}*/
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||
import com.ruoyi.oa.mapper.SysOaTaskMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaProjectBo;
|
||||
import com.ruoyi.oa.service.ISysOaProjectService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 项目管理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/project")
|
||||
public class SysOaProjectController extends BaseController {
|
||||
|
||||
private final ISysOaProjectService iSysOaProjectService;
|
||||
private final SysOaTaskMapper sysOaTaskMapper;
|
||||
|
||||
/**
|
||||
* 查询项目管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:project:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaProjectVo> list(SysOaProjectBo bo, PageQuery pageQuery) {
|
||||
return iSysOaProjectService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出项目管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:project:export")
|
||||
@Log(title = "项目管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaProjectBo bo, HttpServletResponse response) {
|
||||
List<SysOaProjectVo> list = iSysOaProjectService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "项目管理", SysOaProjectVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目管理详细信息
|
||||
*
|
||||
* @param projectId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:project:query")
|
||||
@GetMapping("/{projectId}")
|
||||
public R<SysOaProjectVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long projectId) {
|
||||
return R.ok(iSysOaProjectService.queryById(projectId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目管理
|
||||
*/
|
||||
@SaCheckPermission("oa:project:add")
|
||||
@Log(title = "项目管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaProjectBo bo) {
|
||||
System.out.println("date=====" + bo);
|
||||
return toAjax(iSysOaProjectService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改项目管理
|
||||
*/
|
||||
@SaCheckPermission("oa:project:edit")
|
||||
@Log(title = "项目管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaProjectBo bo) {
|
||||
return toAjax(iSysOaProjectService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除项目管理,同时删除任务数据
|
||||
* 该方法在列表中单条删除,多条删除也可以但是没有测试
|
||||
*
|
||||
* @param projectIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:project:remove")
|
||||
@Log(title = "项目管理", businessType = BusinessType.DELETE)
|
||||
@DSTransactional
|
||||
@DeleteMapping("/{projectIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] projectIds) {
|
||||
Arrays.asList(projectIds).forEach(v ->{
|
||||
sysOaTaskMapper.deleteSysOaTaskByProjectId(v);
|
||||
});
|
||||
return toAjax(iSysOaProjectService.deleteWithValidByIds(Arrays.asList(projectIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaPurposeVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaPurposeBo;
|
||||
import com.ruoyi.oa.service.ISysOaPurposeService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 采购意向
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/purpose")
|
||||
public class SysOaPurposeController extends BaseController {
|
||||
|
||||
private final ISysOaPurposeService iSysOaPurposeService;
|
||||
|
||||
/**
|
||||
* 查询采购意向列表
|
||||
*/
|
||||
@SaCheckPermission("oa:purpose:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaPurposeVo> list(SysOaPurposeBo bo, PageQuery pageQuery) {
|
||||
return iSysOaPurposeService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出采购意向列表
|
||||
*/
|
||||
@SaCheckPermission("oa:purpose:export")
|
||||
@Log(title = "采购意向", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaPurposeBo bo, HttpServletResponse response) {
|
||||
List<SysOaPurposeVo> list = iSysOaPurposeService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "采购意向", SysOaPurposeVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取采购意向详细信息
|
||||
*
|
||||
* @param purposeId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:purpose:query")
|
||||
@GetMapping("/{purposeId}")
|
||||
public R<SysOaPurposeVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long purposeId) {
|
||||
return R.ok(iSysOaPurposeService.queryById(purposeId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购意向
|
||||
*/
|
||||
@SaCheckPermission("oa:purpose:add")
|
||||
@Log(title = "采购意向", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaPurposeBo bo) {
|
||||
return toAjax(iSysOaPurposeService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购意向
|
||||
*/
|
||||
@SaCheckPermission("oa:purpose:edit")
|
||||
@Log(title = "采购意向", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaPurposeBo bo) {
|
||||
return toAjax(iSysOaPurposeService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除采购意向
|
||||
*
|
||||
* @param purposeIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:purpose:remove")
|
||||
@Log(title = "采购意向", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{purposeIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] purposeIds) {
|
||||
return toAjax(iSysOaPurposeService.deleteWithValidByIds(Arrays.asList(purposeIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaRemind;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaRemindVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaRemindBo;
|
||||
import com.ruoyi.oa.service.ISysOaRemindService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 事件提醒
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/remind")
|
||||
public class SysOaRemindController extends BaseController {
|
||||
|
||||
private final ISysOaRemindService iSysOaRemindService;
|
||||
|
||||
/**
|
||||
* 查询代办事件列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:list")
|
||||
@GetMapping("/getRemindList")
|
||||
public R<List<SysOaRemindVo>> getRemindList(SysOaRemindBo bo){
|
||||
R<List<SysOaRemindVo>> remindList = iSysOaRemindService.queryRemindList(bo);
|
||||
return remindList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询事件统计
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:list")
|
||||
@GetMapping("/getRemindCount")
|
||||
public R getRemindCount(SysOaRemindBo bo){
|
||||
Long aLong = iSysOaRemindService.queryRemindCount(bo);
|
||||
return R.ok("okkkk", aLong);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询事件提醒列表
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaRemindVo> list(SysOaRemindBo bo, PageQuery pageQuery) {
|
||||
return iSysOaRemindService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出事件提醒列表
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:export")
|
||||
@Log(title = "事件提醒", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaRemindBo bo, HttpServletResponse response) {
|
||||
List<SysOaRemindVo> list = iSysOaRemindService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "事件提醒", SysOaRemindVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取事件提醒详细信息
|
||||
*
|
||||
* @param remindId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:query")
|
||||
@GetMapping("/{remindId}")
|
||||
public R<SysOaRemindVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long remindId) {
|
||||
return R.ok(iSysOaRemindService.queryById(remindId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增事件提醒
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:add")
|
||||
@Log(title = "事件提醒", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaRemindBo bo) {
|
||||
return toAjax(iSysOaRemindService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改事件提醒
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:edit")
|
||||
@Log(title = "事件提醒", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaRemindBo bo) {
|
||||
return toAjax(iSysOaRemindService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除事件提醒
|
||||
*
|
||||
* @param remindIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:remind:remove")
|
||||
@Log(title = "事件提醒", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{remindIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] remindIds) {
|
||||
return toAjax(iSysOaRemindService.deleteWithValidByIds(Arrays.asList(remindIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaTask;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.SysOaTaskVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaTaskBo;
|
||||
import com.ruoyi.oa.service.ISysOaTaskService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 任务管理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/task")
|
||||
public class SysOaTaskController extends BaseController {
|
||||
|
||||
private final ISysOaTaskService iSysOaTaskService;
|
||||
|
||||
/**
|
||||
* 查询任务管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:task:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SysOaTaskVo> list(SysOaTaskBo bo, PageQuery pageQuery) {
|
||||
return iSysOaTaskService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据工作类型字典查询任务列表
|
||||
* @param pid
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getTaskByDictType/{pid}")
|
||||
public R taskByDictType(@PathVariable Long pid){
|
||||
R taskByDictList = iSysOaTaskService.queryTaskByDictList(pid);
|
||||
return R.ok("ok", taskByDictList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据工作类型查询列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("oa:task:list")
|
||||
@GetMapping("/listByType")
|
||||
public List<SysOaTaskVo> listByType(SysOaTaskBo bo){
|
||||
return iSysOaTaskService.queryListByType(bo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出任务管理列表
|
||||
*/
|
||||
@SaCheckPermission("oa:task:export")
|
||||
@Log(title = "任务管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SysOaTaskBo bo, HttpServletResponse response) {
|
||||
List<SysOaTaskVo> list = iSysOaTaskService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "任务管理", SysOaTaskVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取任务管理详细信息
|
||||
*
|
||||
* @param taskId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:task:query")
|
||||
@GetMapping("/{taskId}")
|
||||
public R<SysOaTaskVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable Long taskId) {
|
||||
return R.ok(iSysOaTaskService.queryById(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增任务管理
|
||||
*/
|
||||
@SaCheckPermission("oa:task:add")
|
||||
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaTaskBo bo) {
|
||||
return toAjax(iSysOaTaskService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改任务管理
|
||||
*/
|
||||
@SaCheckPermission("oa:task:edit")
|
||||
@Log(title = "任务管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOaTaskBo bo) {
|
||||
return toAjax(iSysOaTaskService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除任务管理
|
||||
*
|
||||
* @param taskIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:task:remove")
|
||||
@Log(title = "任务管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{taskIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] taskIds) {
|
||||
return toAjax(iSysOaTaskService.deleteWithValidByIds(Arrays.asList(taskIds), true));
|
||||
}
|
||||
}
|
||||
66
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaArticle.java
Normal file
66
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaArticle.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 知识管理对象 sys_oa_article
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_article")
|
||||
public class SysOaArticle extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 文章id
|
||||
*/
|
||||
@TableId(value = "article_id")
|
||||
private Long articleId;
|
||||
/**
|
||||
* 文章分类
|
||||
*/
|
||||
private Long categoryId;
|
||||
/**
|
||||
* 文章标题
|
||||
*/
|
||||
private String articleTitle;
|
||||
/**
|
||||
* 副标题
|
||||
*/
|
||||
private String subhead;
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
private String source;
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 查看数
|
||||
*/
|
||||
private Integer checkNum;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
private SysOaCategory category;
|
||||
|
||||
}
|
||||
109
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaBid.java
Normal file
109
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaBid.java
Normal file
@@ -0,0 +1,109 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 投标管理对象 sys_oa_bid
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_bid")
|
||||
public class SysOaBid extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 文章id
|
||||
*/
|
||||
@TableId(value = "bid_id")
|
||||
private Long bidId;
|
||||
/**
|
||||
* 投标项目名称
|
||||
*/
|
||||
private String bidTitle;
|
||||
/**
|
||||
* 采购项目编号
|
||||
*/
|
||||
private String bidNumber;
|
||||
/**
|
||||
* 采购方式
|
||||
*/
|
||||
private String bidType;
|
||||
/**
|
||||
* 采购预算金额
|
||||
*/
|
||||
private String budget;
|
||||
/**
|
||||
* 项目分包情况
|
||||
*/
|
||||
private String packageInfo;
|
||||
/**
|
||||
* 公告发布时间
|
||||
*/
|
||||
private String noticeTime;
|
||||
/**
|
||||
* 获取文件期限
|
||||
*/
|
||||
private String deadline;
|
||||
/**
|
||||
* 报名方式
|
||||
*/
|
||||
private String signType;
|
||||
/**
|
||||
* 获取招标文件方式
|
||||
*/
|
||||
private String patternFile;
|
||||
/**
|
||||
* 投标截止时间
|
||||
*/
|
||||
private String expirationTime;
|
||||
/**
|
||||
* 开标地点
|
||||
*/
|
||||
private String bidAddress;
|
||||
/**
|
||||
* 采购人联系人
|
||||
*/
|
||||
private String clientName;
|
||||
/**
|
||||
* 采购代理机构
|
||||
*/
|
||||
private String agency;
|
||||
/**
|
||||
* 缴纳保证金情况
|
||||
*/
|
||||
private String document;
|
||||
|
||||
/**
|
||||
* 缴纳保证金信息
|
||||
*/
|
||||
private String documentInfo;
|
||||
|
||||
/**
|
||||
* 是否中标
|
||||
*/
|
||||
private String isWin;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.ruoyi.common.core.domain.TreeEntity;
|
||||
|
||||
/**
|
||||
* 知识分类对象 sys_oa_category
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_category")
|
||||
public class SysOaCategory extends TreeEntity<SysOaCategory> {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
@TableId(value = "category_id")
|
||||
private Long categoryId;
|
||||
/**
|
||||
* 分类名称
|
||||
*/
|
||||
private String categoryName;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
100
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaContract.java
Normal file
100
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaContract.java
Normal file
@@ -0,0 +1,100 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 合同管理对象 sys_oa_contract
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_contract")
|
||||
public class SysOaContract extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 合同ID
|
||||
*/
|
||||
@TableId(value = "contract_id")
|
||||
private Long contractId;
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractNum;
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String contractName;
|
||||
/**
|
||||
* 甲方名称
|
||||
*/
|
||||
private String firstName;
|
||||
/**
|
||||
* 甲方负责人
|
||||
*/
|
||||
private String firstPerson;
|
||||
/**
|
||||
* 甲方电话
|
||||
*/
|
||||
private String firstPhone;
|
||||
/**
|
||||
* 乙方名称
|
||||
*/
|
||||
private String secondName;
|
||||
/**
|
||||
* 乙方负责人
|
||||
*/
|
||||
private String secondPerson;
|
||||
/**
|
||||
* 乙方电话
|
||||
*/
|
||||
private String secondPhone;
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
private String contractPrice;
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
private Date signTime;
|
||||
/**
|
||||
* 有效期
|
||||
*/
|
||||
private String validity;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String contractStatus;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
54
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaDetail.java
Normal file
54
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaDetail.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 进出账明细对象 sys_oa_detail
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_detail")
|
||||
public class SysOaDetail extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId(value = "detail_id")
|
||||
private Long detailId;
|
||||
/**
|
||||
* 进出账ID
|
||||
*/
|
||||
private Long financeId;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String detailTitle;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 大写金额
|
||||
*/
|
||||
private String bigPrice;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
100
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaFinance.java
Normal file
100
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaFinance.java
Normal file
@@ -0,0 +1,100 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 进出账管理对象 sys_oa_finance
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_finance")
|
||||
public class SysOaFinance extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId(value = "finance_id")
|
||||
private Long financeId;
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 账务名称
|
||||
*/
|
||||
private String financeTitle;
|
||||
/**
|
||||
* 经手人/付款方
|
||||
*/
|
||||
private String financeParties;
|
||||
/**
|
||||
* 支付类型
|
||||
*/
|
||||
private String payType;
|
||||
/**
|
||||
* 进出账类型
|
||||
*/
|
||||
private String financeType;
|
||||
/**
|
||||
* 交易时间
|
||||
*/
|
||||
private Date financeTime;
|
||||
|
||||
/**
|
||||
* 开票比例
|
||||
*/
|
||||
private String makeRatio;
|
||||
/**
|
||||
* 开票时间
|
||||
*/
|
||||
private String makeTime;
|
||||
|
||||
/**
|
||||
* 开票金额
|
||||
*/
|
||||
private String makePrice;
|
||||
|
||||
/**
|
||||
* 开票情况说明
|
||||
*/
|
||||
private String makeExplain;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 一对一关联项目表
|
||||
*/
|
||||
private SysOaProject project;
|
||||
|
||||
/**
|
||||
* 一对多关联进出账明细
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<SysOaDetail> detailList;
|
||||
|
||||
}
|
||||
118
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaProject.java
Normal file
118
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaProject.java
Normal file
@@ -0,0 +1,118 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 项目管理对象 sys_oa_project
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_project")
|
||||
public class SysOaProject extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId(value = "project_id")
|
||||
private Long projectId;
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 项目编号
|
||||
*/
|
||||
private String projectNum;
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private String projectType;
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 项目总款
|
||||
*/
|
||||
private BigDecimal funds;
|
||||
/**
|
||||
* 项目负责人
|
||||
*/
|
||||
private String functionary;
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
private Date beginTime;
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
private Date finishTime;
|
||||
/**
|
||||
* 交货期
|
||||
*/
|
||||
private String delivery;
|
||||
/**
|
||||
* 质保期
|
||||
*/
|
||||
private String guarantee;
|
||||
/**
|
||||
* 项目介绍
|
||||
*/
|
||||
private String introduction;
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
private String projectGrade;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String projectStatus;
|
||||
/**
|
||||
* 关联合同ID
|
||||
*/
|
||||
private Long contractId;
|
||||
/**
|
||||
* 开票名称
|
||||
*/
|
||||
private String invoiceName;
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
private String invoiceNumber;
|
||||
/**
|
||||
* 地址电话
|
||||
*/
|
||||
private String invoiceAddress;
|
||||
/**
|
||||
* 开户行及账号
|
||||
*/
|
||||
private String invoiceBank;
|
||||
/**
|
||||
* 履约保证金
|
||||
*/
|
||||
private String bail;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
65
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaPurpose.java
Normal file
65
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaPurpose.java
Normal file
@@ -0,0 +1,65 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 采购意向对象 sys_oa_purpose
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_purpose")
|
||||
public class SysOaPurpose extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@TableId(value = "purpose_id")
|
||||
private Long purposeId;
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String purposeTitle;
|
||||
/**
|
||||
* 采购单位
|
||||
*/
|
||||
private String subhead;
|
||||
/**
|
||||
* 预算金额
|
||||
*/
|
||||
private String budget;
|
||||
/**
|
||||
* 采购需求情况
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 预计采购时间
|
||||
*/
|
||||
private String purposeTime;
|
||||
/**
|
||||
* 是否投标
|
||||
*/
|
||||
private String isBid;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
83
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaRemind.java
Normal file
83
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaRemind.java
Normal file
@@ -0,0 +1,83 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 事件提醒对象 sys_oa_remind
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_remind")
|
||||
public class SysOaRemind extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 提醒ID
|
||||
*/
|
||||
@TableId(value = "remind_id")
|
||||
private Long remindId;
|
||||
/**
|
||||
* 提醒名称
|
||||
*/
|
||||
private String taskTitle;
|
||||
/**
|
||||
* 事件内容
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 办理时间
|
||||
*/
|
||||
private Date taskTime;
|
||||
/**
|
||||
* 办理状态
|
||||
*/
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 办理情况
|
||||
*/
|
||||
private String manage;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改者
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
73
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaTask.java
Normal file
73
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/SysOaTask.java
Normal file
@@ -0,0 +1,73 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 任务管理对象 sys_oa_task
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_oa_task")
|
||||
public class SysOaTask extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId(value = "task_id")
|
||||
private Long taskId;
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 任务主题
|
||||
*/
|
||||
private String taskTitle;
|
||||
/**
|
||||
* 工作类型
|
||||
*/
|
||||
private String taskType;
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
private String taskGrade;
|
||||
/**
|
||||
* 协作人员
|
||||
*/
|
||||
private String collaborator;
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
private Date beginTime;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
private Date finishTime;
|
||||
/**
|
||||
* 详细描述
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.oa.domain.SysOaCategory;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 知识管理业务对象 sys_oa_article
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaArticleBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 文章id
|
||||
*/
|
||||
@NotNull(message = "文章id不能为空", groups = { EditGroup.class })
|
||||
private Long articleId;
|
||||
|
||||
/**
|
||||
* 文章分类
|
||||
*/
|
||||
@NotNull(message = "文章分类不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 文章标题
|
||||
*/
|
||||
@NotBlank(message = "文章标题不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String articleTitle;
|
||||
|
||||
/**
|
||||
* 副标题
|
||||
*/
|
||||
private String subhead;
|
||||
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 查看数
|
||||
*/
|
||||
private Integer checkNum;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
private SysOaCategory category;
|
||||
|
||||
|
||||
}
|
||||
128
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaBidBo.java
Normal file
128
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/SysOaBidBo.java
Normal file
@@ -0,0 +1,128 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 投标管理业务对象 sys_oa_bid
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaBidBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 文章id
|
||||
*/
|
||||
@NotNull(message = "文章id不能为空", groups = { EditGroup.class })
|
||||
private Long bidId;
|
||||
|
||||
/**
|
||||
* 投标项目名称
|
||||
*/
|
||||
@NotBlank(message = "投标项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String bidTitle;
|
||||
|
||||
/**
|
||||
* 采购项目编号
|
||||
*/
|
||||
@NotBlank(message = "采购项目编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String bidNumber;
|
||||
|
||||
/**
|
||||
* 采购方式
|
||||
*/
|
||||
@NotBlank(message = "采购方式不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String bidType;
|
||||
|
||||
/**
|
||||
* 采购预算金额
|
||||
*/
|
||||
@NotNull(message = "采购预算金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String budget;
|
||||
|
||||
/**
|
||||
* 项目分包情况
|
||||
*/
|
||||
private String packageInfo;
|
||||
|
||||
/**
|
||||
* 公告发布时间
|
||||
*/
|
||||
private String noticeTime;
|
||||
|
||||
/**
|
||||
* 获取文件期限
|
||||
*/
|
||||
private String deadline;
|
||||
|
||||
/**
|
||||
* 报名方式
|
||||
*/
|
||||
private String signType;
|
||||
|
||||
/**
|
||||
* 获取招标文件方式
|
||||
*/
|
||||
private String patternFile;
|
||||
|
||||
/**
|
||||
* 投标截止时间
|
||||
*/
|
||||
private String expirationTime;
|
||||
|
||||
/**
|
||||
* 开标地点
|
||||
*/
|
||||
private String bidAddress;
|
||||
|
||||
/**
|
||||
* 采购人联系人
|
||||
*/
|
||||
private String clientName;
|
||||
|
||||
/**
|
||||
* 采购代理机构
|
||||
*/
|
||||
private String agency;
|
||||
|
||||
/**
|
||||
* 缴纳保证金情况
|
||||
*/
|
||||
private String document;
|
||||
|
||||
/**
|
||||
* 缴纳保证金信息
|
||||
*/
|
||||
private String documentInfo;
|
||||
|
||||
/**
|
||||
* 是否中标
|
||||
*/
|
||||
private String isWin;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.ruoyi.common.core.domain.TreeEntity;
|
||||
|
||||
/**
|
||||
* 知识分类业务对象 sys_oa_category
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaCategoryBo extends TreeEntity<SysOaCategoryBo> {
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
@NotNull(message = "产品id不能为空", groups = { EditGroup.class })
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 分类名称
|
||||
*/
|
||||
@NotBlank(message = "分类名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String categoryName;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotBlank(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 合同管理业务对象 sys_oa_contract
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaContractBo extends BaseEntity {
|
||||
|
||||
private Long contractId;
|
||||
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractNum;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 甲方名称
|
||||
*/
|
||||
@NotBlank(message = "甲方名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String firstName;
|
||||
|
||||
/**
|
||||
* 甲方负责人
|
||||
*/
|
||||
@NotBlank(message = "甲方负责人不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String firstPerson;
|
||||
|
||||
/**
|
||||
* 甲方电话
|
||||
*/
|
||||
@NotBlank(message = "甲方电话不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String firstPhone;
|
||||
|
||||
/**
|
||||
* 乙方名称
|
||||
*/
|
||||
private String secondName;
|
||||
|
||||
/**
|
||||
* 乙方负责人
|
||||
*/
|
||||
private String secondPerson;
|
||||
|
||||
/**
|
||||
* 乙方电话
|
||||
*/
|
||||
private String secondPhone;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
private String contractPrice;
|
||||
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
private Date signTime;
|
||||
|
||||
/**
|
||||
* 有效期
|
||||
*/
|
||||
private String validity;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String contractStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 进出账明细业务对象 sys_oa_detail
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaDetailBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
private Long detailId;
|
||||
|
||||
/**
|
||||
* 进出账ID
|
||||
*/
|
||||
@NotNull(message = "进出账ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long financeId;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String detailTitle;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@NotNull(message = "金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 大写金额
|
||||
*/
|
||||
@NotNull(message = "大写金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String bigPrice;
|
||||
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.oa.domain.SysOaDetail;
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 进出账管理业务对象 sys_oa_finance
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaFinanceBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
// @NotNull(message = "ID不能为空", groups = { EditGroup.class })
|
||||
private Long financeId;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
// @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 账务名称
|
||||
*/
|
||||
@NotBlank(message = "账务名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String financeTitle;
|
||||
|
||||
/**
|
||||
* 经手人/付款方
|
||||
*/
|
||||
@NotBlank(message = "经手人/付款方不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String financeParties;
|
||||
|
||||
/**
|
||||
* 支付类型
|
||||
*/
|
||||
@NotBlank(message = "支付类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String payType;
|
||||
|
||||
/**
|
||||
* 进出账类型
|
||||
*/
|
||||
@NotBlank(message = "进出账类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String financeType;
|
||||
|
||||
/**
|
||||
* 交易时间
|
||||
*/
|
||||
@NotNull(message = "交易时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date financeTime;
|
||||
|
||||
/**
|
||||
* 开票比例
|
||||
*/
|
||||
private String makeRatio;
|
||||
/**
|
||||
* 开票时间
|
||||
*/
|
||||
private String makeTime;
|
||||
|
||||
/**
|
||||
* 开票金额
|
||||
*/
|
||||
private String makePrice;
|
||||
|
||||
/**
|
||||
* 开票情况说明
|
||||
*/
|
||||
private String makeExplain;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 一对一关联项目表
|
||||
*/
|
||||
private SysOaProject project;
|
||||
|
||||
/**
|
||||
* 进出账明细
|
||||
*/
|
||||
private List<SysOaDetail> detailList;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 项目管理业务对象 sys_oa_project
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaProjectBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@NotNull(message = "ID不能为空", groups = { EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 项目编号
|
||||
*/
|
||||
@NotBlank(message = "项目编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String projectNum;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
// @NotBlank(message = "项目类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 项目总款
|
||||
*/
|
||||
private BigDecimal funds;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 项目负责人
|
||||
*/
|
||||
@NotBlank(message = "项目负责人不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String functionary;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
@NotNull(message = "开始日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date beginTime;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@NotNull(message = "结束日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date finishTime;
|
||||
|
||||
|
||||
/**
|
||||
* 交货期
|
||||
*/
|
||||
private String delivery;
|
||||
/**
|
||||
* 质保期
|
||||
*/
|
||||
private String guarantee;
|
||||
|
||||
/**
|
||||
* 项目介绍
|
||||
*/
|
||||
private String introduction;
|
||||
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
private String projectGrade;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String projectStatus;
|
||||
|
||||
/**
|
||||
* 关联合同ID
|
||||
*/
|
||||
// @NotNull(message = "关联合同ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractId;
|
||||
/**
|
||||
* 开票名称
|
||||
*/
|
||||
private String invoiceName;
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
private String invoiceNumber;
|
||||
/**
|
||||
* 地址电话
|
||||
*/
|
||||
private String invoiceAddress;
|
||||
/**
|
||||
* 开户行及账号
|
||||
*/
|
||||
private String invoiceBank;
|
||||
/**
|
||||
* 履约保证金
|
||||
*/
|
||||
private String bail;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 采购意向业务对象 sys_oa_purpose
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaPurposeBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@NotNull(message = "项目id不能为空", groups = { EditGroup.class })
|
||||
private Long purposeId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String purposeTitle;
|
||||
|
||||
/**
|
||||
* 采购单位
|
||||
*/
|
||||
@NotBlank(message = "采购单位不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String subhead;
|
||||
|
||||
/**
|
||||
* 预算金额
|
||||
*/
|
||||
@NotBlank(message = "预算金额不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String budget;
|
||||
|
||||
/**
|
||||
* 采购需求情况
|
||||
*/
|
||||
@NotBlank(message = "采购需求情况不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 预计采购时间
|
||||
*/
|
||||
@NotNull(message = "预计采购时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String purposeTime;
|
||||
|
||||
/**
|
||||
* 是否投标
|
||||
*/
|
||||
private String isBid;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 事件提醒业务对象 sys_oa_remind
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaRemindBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 提醒ID
|
||||
*/
|
||||
private Long remindId;
|
||||
|
||||
/**
|
||||
* 提醒名称
|
||||
*/
|
||||
@NotBlank(message = "提醒名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String taskTitle;
|
||||
|
||||
/**
|
||||
* 事件内容
|
||||
*/
|
||||
@NotBlank(message = "事件内容不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 办理时间
|
||||
*/
|
||||
@NotNull(message = "办理时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date taskTime;
|
||||
|
||||
/**
|
||||
* 办理状态
|
||||
*/
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 办理情况
|
||||
*/
|
||||
private String manage;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改者
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 任务管理业务对象 sys_oa_task
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SysOaTaskBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@NotNull(message = "ID不能为空", groups = { EditGroup.class })
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 任务主题
|
||||
*/
|
||||
@NotBlank(message = "任务主题不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String taskTitle;
|
||||
|
||||
/**
|
||||
* 工作类型
|
||||
*/
|
||||
@NotBlank(message = "工作类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String taskType;
|
||||
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
private String taskGrade;
|
||||
|
||||
/**
|
||||
* 协作人员
|
||||
*/
|
||||
private String collaborator;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date beginTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Date finishTime;
|
||||
|
||||
/**
|
||||
* 详细描述
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.oa.domain.SysOaArticle;
|
||||
import com.ruoyi.oa.domain.SysOaCategory;
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 知识管理视图对象 sys_oa_article
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaArticleVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 文章id
|
||||
*/
|
||||
@ExcelProperty(value = "文章id")
|
||||
private Long articleId;
|
||||
|
||||
/**
|
||||
* 文章分类
|
||||
*/
|
||||
@ExcelProperty(value = "文章分类")
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 文章标题
|
||||
*/
|
||||
@ExcelProperty(value = "文章标题")
|
||||
private String articleTitle;
|
||||
|
||||
/**
|
||||
* 文章标题
|
||||
*/
|
||||
@ExcelProperty(value = "文章副标题")
|
||||
private String subhead;
|
||||
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
@ExcelProperty(value = "来源")
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "描述")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 查看数
|
||||
*/
|
||||
@ExcelProperty(value = "查看数")
|
||||
private Integer checkNum;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ExcelProperty(value = "分类实体")
|
||||
private SysOaCategory category;
|
||||
|
||||
|
||||
}
|
||||
150
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaBidVo.java
Normal file
150
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaBidVo.java
Normal file
@@ -0,0 +1,150 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 投标管理视图对象 sys_oa_bid
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaBidVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 文章id
|
||||
*/
|
||||
@ExcelProperty(value = "文章id")
|
||||
private Long bidId;
|
||||
|
||||
/**
|
||||
* 投标项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "投标项目名称")
|
||||
private String bidTitle;
|
||||
|
||||
/**
|
||||
* 采购项目编号
|
||||
*/
|
||||
@ExcelProperty(value = "采购项目编号")
|
||||
private String bidNumber;
|
||||
|
||||
/**
|
||||
* 采购方式
|
||||
*/
|
||||
@ExcelProperty(value = "采购方式", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_bid_type")
|
||||
private String bidType;
|
||||
|
||||
/**
|
||||
* 采购预算金额
|
||||
*/
|
||||
@ExcelProperty(value = "采购预算金额")
|
||||
private String budget;
|
||||
|
||||
/**
|
||||
* 项目分包情况
|
||||
*/
|
||||
@ExcelProperty(value = "项目分包情况")
|
||||
private String packageInfo;
|
||||
|
||||
/**
|
||||
* 公告发布时间
|
||||
*/
|
||||
@ExcelProperty(value = "公告发布时间")
|
||||
private String noticeTime;
|
||||
|
||||
/**
|
||||
* 获取文件期限
|
||||
*/
|
||||
@ExcelProperty(value = "获取文件期限")
|
||||
private String deadline;
|
||||
|
||||
/**
|
||||
* 报名方式
|
||||
*/
|
||||
@ExcelProperty(value = "报名方式", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_sign_type")
|
||||
private String signType;
|
||||
|
||||
/**
|
||||
* 获取招标文件方式
|
||||
*/
|
||||
@ExcelProperty(value = "获取招标文件方式")
|
||||
private String patternFile;
|
||||
|
||||
/**
|
||||
* 投标截止时间
|
||||
*/
|
||||
@ExcelProperty(value = "投标截止时间")
|
||||
private String expirationTime;
|
||||
|
||||
/**
|
||||
* 开标地点
|
||||
*/
|
||||
@ExcelProperty(value = "开标地点")
|
||||
private String bidAddress;
|
||||
|
||||
/**
|
||||
* 采购人联系人
|
||||
*/
|
||||
@ExcelProperty(value = "采购人联系人")
|
||||
private String clientName;
|
||||
|
||||
/**
|
||||
* 采购代理机构
|
||||
*/
|
||||
@ExcelProperty(value = "采购代理机构")
|
||||
private String agency;
|
||||
|
||||
/**
|
||||
* 缴纳保证金情况
|
||||
*/
|
||||
@ExcelProperty(value = "缴纳保证金情况")
|
||||
private String document;
|
||||
|
||||
/**
|
||||
* 缴纳保证金信息
|
||||
*/
|
||||
@ExcelProperty(value = "缴纳保证金情况")
|
||||
private String documentInfo;
|
||||
|
||||
/**
|
||||
* 是否中标
|
||||
*/
|
||||
@ExcelProperty(value = "是否中标")
|
||||
private String isWin;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String accessory;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 知识分类视图对象 sys_oa_category
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaCategoryVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
@ExcelProperty(value = "产品id")
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 父级分类id
|
||||
*/
|
||||
@ExcelProperty(value = "父级分类id")
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 分类名称
|
||||
*/
|
||||
@ExcelProperty(value = "分类名称")
|
||||
private String categoryName;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 合同管理视图对象 sys_oa_contract
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaContractVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 合同ID
|
||||
*/
|
||||
@ExcelProperty(value = "合同ID")
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@ExcelProperty(value = "项目ID")
|
||||
private Long projectId;
|
||||
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@ExcelProperty(value = "合同编号")
|
||||
private String contractNum;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "项目名称")
|
||||
private String contractName;
|
||||
|
||||
/**
|
||||
* 甲方名称
|
||||
*/
|
||||
@ExcelProperty(value = "甲方名称")
|
||||
private String firstName;
|
||||
|
||||
/**
|
||||
* 甲方负责人
|
||||
*/
|
||||
@ExcelProperty(value = "甲方负责人")
|
||||
private String firstPerson;
|
||||
|
||||
/**
|
||||
* 甲方电话
|
||||
*/
|
||||
@ExcelProperty(value = "甲方电话")
|
||||
private String firstPhone;
|
||||
|
||||
/**
|
||||
* 乙方名称
|
||||
*/
|
||||
@ExcelProperty(value = "乙方电话")
|
||||
private String secondName;
|
||||
/**
|
||||
* 乙方负责人
|
||||
*/
|
||||
@ExcelProperty(value = "乙方负责人")
|
||||
private String secondPerson;
|
||||
/**
|
||||
* 乙方电话
|
||||
*/
|
||||
@ExcelProperty(value = "乙方电话")
|
||||
private String secondPhone;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同金额")
|
||||
private String contractPrice;
|
||||
|
||||
/**
|
||||
* 签订日期
|
||||
*/
|
||||
@ExcelProperty(value = "签订日期")
|
||||
private Date signTime;
|
||||
/**
|
||||
* 有效期
|
||||
*/
|
||||
@ExcelProperty(value = "有效期")
|
||||
private String validity;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
private String contractType;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_show_hide")
|
||||
private String contractStatus;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 进出账明细视图对象 sys_oa_detail
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaDetailVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@ExcelProperty(value = "ID")
|
||||
private Long detailId;
|
||||
|
||||
/**
|
||||
* 进出账ID
|
||||
*/
|
||||
@ExcelProperty(value = "进出账ID")
|
||||
private Long financeId;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ExcelProperty(value = "名称")
|
||||
private String detailTitle;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@ExcelProperty(value = "金额")
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 大写金额
|
||||
*/
|
||||
@ExcelProperty(value = "大写金额")
|
||||
private String bigPrice;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import com.ruoyi.oa.domain.SysOaDetail;
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 进出账管理视图对象 sys_oa_finance
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaFinanceVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@ExcelProperty(value = "ID")
|
||||
private Long financeId;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@ExcelProperty(value = "项目ID")
|
||||
private Long projectId;
|
||||
|
||||
|
||||
/**
|
||||
* 账务名称
|
||||
*/
|
||||
@ExcelProperty(value = "账务名称")
|
||||
private String financeTitle;
|
||||
|
||||
/**
|
||||
* 经手人/付款方
|
||||
*/
|
||||
@ExcelProperty(value = "经手人/付款方")
|
||||
private String financeParties;
|
||||
|
||||
/**
|
||||
* 支付类型
|
||||
*/
|
||||
@ExcelProperty(value = "支付类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_pay_type")
|
||||
private String payType;
|
||||
|
||||
/**
|
||||
* 进出账类型
|
||||
*/
|
||||
@ExcelProperty(value = "进出账类型")
|
||||
private String financeType;
|
||||
|
||||
/**
|
||||
* 交易时间
|
||||
*/
|
||||
@ExcelProperty(value = "交易时间")
|
||||
private Date financeTime;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 开票比例
|
||||
*/
|
||||
@ExcelProperty(value = "开票比例")
|
||||
private String makeRatio;
|
||||
/**
|
||||
* 开票时间
|
||||
*/
|
||||
@ExcelProperty(value = "开票时间")
|
||||
private String makeTime;
|
||||
|
||||
/**
|
||||
* 开票金额
|
||||
*/
|
||||
@ExcelProperty(value = "开票金额")
|
||||
private String makePrice;
|
||||
|
||||
/**
|
||||
* 开票情况说明
|
||||
*/
|
||||
@ExcelProperty(value = "开票情况说明")
|
||||
private String makeExplain;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 一对一关联项目表
|
||||
*/
|
||||
private SysOaProject project;
|
||||
|
||||
/**
|
||||
* 一对多关联进出账明细
|
||||
*/
|
||||
private List<SysOaDetail> detailList;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 项目管理视图对象 sys_oa_project
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaProjectVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@ExcelProperty(value = "ID")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 项目编号
|
||||
*/
|
||||
@ExcelProperty(value = "项目编号")
|
||||
private String projectNum;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
@ExcelProperty(value = "项目类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_project_type")
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 项目地址
|
||||
*/
|
||||
@ExcelProperty(value = "项目地址")
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 项目总款
|
||||
*/
|
||||
@ExcelProperty(value = "项目总款")
|
||||
private BigDecimal funds;
|
||||
|
||||
/**
|
||||
* 项目负责人
|
||||
*/
|
||||
@ExcelProperty(value = "项目负责人")
|
||||
private String functionary;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
@ExcelProperty(value = "开始日期")
|
||||
private Date beginTime;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@ExcelProperty(value = "结束日期")
|
||||
private Date finishTime;
|
||||
|
||||
/**
|
||||
* 交货期
|
||||
*/
|
||||
@ExcelProperty(value = "交货期")
|
||||
private String delivery;
|
||||
/**
|
||||
* 质保期
|
||||
*/
|
||||
@ExcelProperty(value = "质保期")
|
||||
private String guarantee;
|
||||
|
||||
/**
|
||||
* 项目介绍
|
||||
*/
|
||||
@ExcelProperty(value = "项目介绍")
|
||||
private String introduction;
|
||||
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
@ExcelProperty(value = "优先级", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_sort_grade")
|
||||
private String projectGrade;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_project_status")
|
||||
private String projectStatus;
|
||||
|
||||
/**
|
||||
* 合同ID
|
||||
*/
|
||||
@ExcelProperty(value = "关联合同", converter = ExcelDictConvert.class)
|
||||
private Long contractId;
|
||||
/**
|
||||
* 开票名称
|
||||
*/
|
||||
@ExcelProperty(value = "开票名称")
|
||||
private String invoiceName;
|
||||
/**
|
||||
* 纳税人识别号
|
||||
*/
|
||||
@ExcelProperty(value = "纳税人识别号")
|
||||
private String invoiceNumber;
|
||||
/**
|
||||
* 地址电话
|
||||
*/
|
||||
@ExcelProperty(value = "地址电话")
|
||||
private String invoiceAddress;
|
||||
/**
|
||||
* 开户行及账号
|
||||
*/
|
||||
@ExcelProperty(value = "开户行及账号")
|
||||
private String invoiceBank;
|
||||
/**
|
||||
* 履约保证金
|
||||
*/
|
||||
@ExcelProperty(value = "履约保证金")
|
||||
private String bail;
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 采购意向视图对象 sys_oa_purpose
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaPurposeVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long purposeId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "项目名称")
|
||||
private String purposeTitle;
|
||||
|
||||
/**
|
||||
* 采购单位
|
||||
*/
|
||||
@ExcelProperty(value = "采购单位")
|
||||
private String subhead;
|
||||
|
||||
/**
|
||||
* 预算金额
|
||||
*/
|
||||
@ExcelProperty(value = "预算金额")
|
||||
private String budget;
|
||||
|
||||
/**
|
||||
* 采购需求情况
|
||||
*/
|
||||
@ExcelProperty(value = "采购需求情况")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 预计采购时间
|
||||
*/
|
||||
@ExcelProperty(value = "预计采购时间")
|
||||
private String purposeTime;
|
||||
|
||||
/**
|
||||
* 是否投标
|
||||
*/
|
||||
@ExcelProperty(value = "是否投标", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_yes_no")
|
||||
private String isBid;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
||||
101
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaRemindVo.java
Normal file
101
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaRemindVo.java
Normal file
@@ -0,0 +1,101 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 事件提醒视图对象 sys_oa_remind
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaRemindVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 提醒ID
|
||||
*/
|
||||
@ExcelProperty(value = "提醒ID")
|
||||
private Long remindId;
|
||||
|
||||
/**
|
||||
* 提醒名称
|
||||
*/
|
||||
@ExcelProperty(value = "提醒名称")
|
||||
private String taskTitle;
|
||||
|
||||
/**
|
||||
* 事件内容
|
||||
*/
|
||||
@ExcelProperty(value = "事件内容")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 办理时间
|
||||
*/
|
||||
@ExcelProperty(value = "办理时间")
|
||||
private Date taskTime;
|
||||
|
||||
/**
|
||||
* 办理状态
|
||||
*/
|
||||
@ExcelProperty(value = "办理状态")
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 办理情况
|
||||
*/
|
||||
@ExcelProperty(value = "办理情况")
|
||||
private String manage;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改者
|
||||
*/
|
||||
@ExcelProperty(value = "修改者")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ExcelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
106
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaTaskVo.java
Normal file
106
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaTaskVo.java
Normal file
@@ -0,0 +1,106 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 任务管理视图对象 sys_oa_task
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SysOaTaskVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@ExcelProperty(value = "ID")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@ExcelProperty(value = "项目ID")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 任务主题
|
||||
*/
|
||||
@ExcelProperty(value = "任务主题")
|
||||
private String taskTitle;
|
||||
|
||||
/**
|
||||
* 工作类型
|
||||
*/
|
||||
@ExcelProperty(value = "工作类型", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "sys_work_type")
|
||||
private String taskType;
|
||||
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
@ExcelProperty(value = "优先级")
|
||||
private String taskGrade;
|
||||
|
||||
/**
|
||||
* 协作人员
|
||||
*/
|
||||
@ExcelProperty(value = "协作人员")
|
||||
private String collaborator;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@ExcelProperty(value = "开始时间")
|
||||
private Date beginTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@ExcelProperty(value = "结束时间")
|
||||
private Date finishTime;
|
||||
|
||||
/**
|
||||
* 详细描述
|
||||
*/
|
||||
@ExcelProperty(value = "详细描述")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@ExcelProperty(value = "附件")
|
||||
private String accessory;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@ExcelProperty(value = "创建者")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.ruoyi.oa.listener;
|
||||
|
||||
import com.ruoyi.oa.config.ContextUtil;
|
||||
import com.ruoyi.oa.domain.bo.SysOaContractBo;
|
||||
import com.ruoyi.oa.service.ISysOaContractService;
|
||||
import com.ruoyi.oa.service.impl.SysOaContractServiceImpl;
|
||||
import org.flowable.engine.delegate.TaskListener;
|
||||
import org.flowable.task.service.delegate.DelegateTask;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ContractListener implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
if (EVENTNAME_COMPLETE.equals(delegateTask.getEventName())){
|
||||
System.out.println("--- 任务完成 ---");
|
||||
Map<String, Object> variables = delegateTask.getVariables();
|
||||
SysOaContractBo sysOaContractBo = new SysOaContractBo();
|
||||
sysOaContractBo.setContractName(variables.get("contract_name").toString());
|
||||
sysOaContractBo.setContractNum(variables.get("contract_no").toString());
|
||||
sysOaContractBo.setFirstName(variables.get("first_name").toString());
|
||||
sysOaContractBo.setSecondName(variables.get("second_name").toString());
|
||||
sysOaContractBo.setRemark(variables.get("remark").toString());
|
||||
ISysOaContractService oaContractService = ContextUtil.getBean(SysOaContractServiceImpl.class);
|
||||
oaContractService.insertByBo(sysOaContractBo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.ruoyi.oa.listener;
|
||||
|
||||
import ch.qos.logback.core.util.ContextUtil;
|
||||
import com.ruoyi.oa.domain.bo.SysOaContractBo;
|
||||
import com.ruoyi.oa.service.ISysOaContractService;
|
||||
import com.ruoyi.oa.service.impl.SysOaBidServiceImpl;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.flowable.engine.ProcessEngine;
|
||||
import org.flowable.engine.ProcessEngines;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.engine.delegate.TaskListener;
|
||||
import org.flowable.task.service.delegate.DelegateTask;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component(value = "contractTaskListener")
|
||||
@AllArgsConstructor
|
||||
public class ContractTaskListener implements TaskListener {
|
||||
|
||||
// private final ISysOaContractService sysOaContractService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
//TODO 实现你的任务监听器逻辑
|
||||
System.out.println("执行任务监听器...");
|
||||
System.out.println("delegateTask===" + delegateTask.getId());
|
||||
Map<String, Object> variables = delegateTask.getVariables();
|
||||
System.out.println("SysOaContractBo===" + variables);
|
||||
// sysOaContractService.inserByProcess(variables);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.ruoyi.oa.listener;
|
||||
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.oa.config.ContextUtil;
|
||||
import com.ruoyi.oa.domain.bo.SysOaBidBo;
|
||||
import com.ruoyi.oa.service.impl.SysOaBidServiceImpl;
|
||||
import org.flowable.engine.delegate.TaskListener;
|
||||
import org.flowable.task.service.delegate.DelegateTask;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
public class saveBidFormListener implements TaskListener {
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
//TODO 实现你的任务监听器逻辑
|
||||
System.out.println("执行任务监听器..." + delegateTask.getVariables());
|
||||
|
||||
if (EVENTNAME_COMPLETE.equals(delegateTask.getEventName())) {
|
||||
Map<String, Object> variables = delegateTask.getVariables();
|
||||
SysOaBidBo sysOaBidBo = new SysOaBidBo();
|
||||
sysOaBidBo.setBidTitle(variables.get("project_name").toString());
|
||||
sysOaBidBo.setBidNumber(variables.get("project_num").toString());
|
||||
sysOaBidBo.setBidType(variables.get("project_mode").toString());
|
||||
// sysOaBidBo.setBudget(new BigDecimal(variables.get("budget").toString()));
|
||||
sysOaBidBo.setBudget(variables.get("budget").toString());
|
||||
sysOaBidBo.setPackageInfo(variables.get("package_info").toString());
|
||||
//字符串转日期
|
||||
/* LocalDate releaseTime = LocalDate.parse(variables.get("release_time").toString(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
ZonedDateTime zonedDateTime = releaseTime.atStartOfDay(ZoneId.systemDefault());
|
||||
sysOaBidBo.setNoticeTime(Date.from(zonedDateTime.toInstant()));*/
|
||||
sysOaBidBo.setNoticeTime(variables.get("release_time").toString());
|
||||
sysOaBidBo.setDeadline(variables.get("range_time").toString());
|
||||
sysOaBidBo.setSignType(variables.get("sign_type").toString());
|
||||
sysOaBidBo.setPatternFile(variables.get("pattern_file").toString());
|
||||
//字符串转日期
|
||||
/*LocalDate release = LocalDate.parse(variables.get("start_time").toString(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
ZonedDateTime zonedDate = release.atStartOfDay(ZoneId.systemDefault());*/
|
||||
sysOaBidBo.setExpirationTime(variables.get("start_time").toString());
|
||||
sysOaBidBo.setBidAddress(variables.get("address").toString());
|
||||
sysOaBidBo.setClientName(variables.get("client_name").toString());
|
||||
sysOaBidBo.setAgency(variables.get("agency").toString());
|
||||
sysOaBidBo.setDocument(variables.get("document_price").toString());
|
||||
|
||||
// 递归获取Object的value值
|
||||
Object attachment1 = variables.get("attachment");
|
||||
//借鉴:https://blog.csdn.net/weixin_30608131/article/details/95453992
|
||||
List<String> list = new ArrayList<>();
|
||||
if(attachment1 instanceof List){
|
||||
for(int i=0; i<((List) attachment1).size(); i++){
|
||||
//得到对象数组里的对象值
|
||||
Object set = ((List) attachment1).set(i, ((List) attachment1).get(i));
|
||||
//对象转json
|
||||
String s = JSONObject.toJSONString(set);
|
||||
//json转对象
|
||||
JSONObject jsonObjects = JSON.parseObject(s);
|
||||
//对象添加到list数组
|
||||
list.add(jsonObjects.get("ossId").toString());
|
||||
}
|
||||
}
|
||||
String collect = list.stream().collect(Collectors.joining(","));
|
||||
sysOaBidBo.setAccessory(collect);
|
||||
if(variables.get("remark") != null){
|
||||
sysOaBidBo.setRemark(variables.get("remark").toString());
|
||||
}
|
||||
SysOaBidServiceImpl sysOaBidService = ContextUtil.getBean(SysOaBidServiceImpl.class);
|
||||
sysOaBidService.insertByBo(sysOaBidBo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.annotation.DataColumn;
|
||||
import com.ruoyi.common.annotation.DataPermission;
|
||||
import com.ruoyi.oa.domain.SysOaArticle;
|
||||
import com.ruoyi.oa.domain.SysOaFinance;
|
||||
import com.ruoyi.oa.domain.vo.SysOaArticleVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
import com.ruoyi.oa.domain.vo.SysOaFinanceVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 知识管理Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface SysOaArticleMapper extends BaseMapperPlus<SysOaArticleMapper, SysOaArticle, SysOaArticleVo> {
|
||||
|
||||
|
||||
@DataPermission({
|
||||
@DataColumn(key = "categoryName", value = "c.category_id"),
|
||||
@DataColumn(key = "articleTitle", value = "a.article_id")
|
||||
})
|
||||
Page<SysOaArticleVo> selectArticlePageList(@Param("page") Page<SysOaArticle> page, @Param(Constants.WRAPPER)Wrapper<SysOaArticle> queryWrapper);
|
||||
|
||||
SysOaArticle selectArticleById(Long articleId);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaBid;
|
||||
import com.ruoyi.oa.domain.vo.SysOaBidVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 投标管理Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
public interface SysOaBidMapper extends BaseMapperPlus<SysOaBidMapper, SysOaBid, SysOaBidVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaCategory;
|
||||
import com.ruoyi.oa.domain.vo.SysOaCategoryVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 知识分类Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface SysOaCategoryMapper extends BaseMapperPlus<SysOaCategoryMapper, SysOaCategory, SysOaCategoryVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaContract;
|
||||
import com.ruoyi.oa.domain.vo.SysOaContractVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 合同管理Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysOaContractMapper extends BaseMapperPlus<SysOaContractMapper, SysOaContract, SysOaContractVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaDetail;
|
||||
import com.ruoyi.oa.domain.vo.SysOaDetailVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 进出账明细Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface SysOaDetailMapper extends BaseMapperPlus<SysOaDetailMapper, SysOaDetail, SysOaDetailVo> {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除明细表
|
||||
*
|
||||
* @param financeId 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteSysOaDetailByfinanceId(Long financeId);
|
||||
|
||||
/**
|
||||
* 批量插入明细数据
|
||||
* @param sysOaDetails 明细列表
|
||||
* @return
|
||||
*/
|
||||
int batchSysOaDetail(List<SysOaDetail> sysOaDetails);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.annotation.DataColumn;
|
||||
import com.ruoyi.common.annotation.DataPermission;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.oa.domain.SysOaFinance;
|
||||
import com.ruoyi.oa.domain.bo.SysOaFinanceBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaFinanceVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 进出账管理Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface SysOaFinanceMapper extends BaseMapperPlus<SysOaFinanceMapper, SysOaFinance, SysOaFinanceVo> {
|
||||
|
||||
/**
|
||||
* 根据条件分页查询进出账列表
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
@DataPermission({
|
||||
@DataColumn(key = "detailTitle", value = "b.detail_id"),
|
||||
@DataColumn(key = "financeTitle", value = "a.finance_id")
|
||||
})
|
||||
Page<SysOaFinanceVo> selectPageFinanceList(@Param("page") Page<SysOaFinanceVo> page, @Param(Constants.WRAPPER) Wrapper<SysOaFinance> queryWrapper);
|
||||
|
||||
|
||||
/**
|
||||
* 项目进出账查询
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
Page<SysOaFinanceVo> selectFinanceList(@Param("page") Page<SysOaFinanceVo> page, @Param(Constants.WRAPPER) Wrapper<SysOaFinance> queryWrapper);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 关联查询根据主表id查询
|
||||
* @param financeId
|
||||
* @return
|
||||
*/
|
||||
SysOaFinance selectFinanceById(Long financeId);
|
||||
|
||||
|
||||
List<SysOaFinance> selectFinanceByProjectId(SysOaFinanceBo bo);
|
||||
|
||||
/**
|
||||
* 根据时间范围查询列表数据
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<SysOaFinance> findFinanceByTime(Map params);
|
||||
|
||||
/**
|
||||
* 项目资金管理,根据时间范围查询列表数据
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
// List<SysOaFinance> findFinanceByTimeAndProjectId(Map params);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 项目管理Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
public interface SysOaProjectMapper extends BaseMapperPlus<SysOaProjectMapper, SysOaProject, SysOaProjectVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaPurpose;
|
||||
import com.ruoyi.oa.domain.vo.SysOaPurposeVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 采购意向Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
public interface SysOaPurposeMapper extends BaseMapperPlus<SysOaPurposeMapper, SysOaPurpose, SysOaPurposeVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaRemind;
|
||||
import com.ruoyi.oa.domain.vo.SysOaRemindVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 事件提醒Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
public interface SysOaRemindMapper extends BaseMapperPlus<SysOaRemindMapper, SysOaRemind, SysOaRemindVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaTask;
|
||||
import com.ruoyi.oa.domain.vo.SysOaTaskVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 任务管理Mapper接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
public interface SysOaTaskMapper extends BaseMapperPlus<SysOaTaskMapper, SysOaTask, SysOaTaskVo> {
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param projectId 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteSysOaTaskByProjectId(Long projectId);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaArticle;
|
||||
import com.ruoyi.oa.domain.vo.SysOaArticleVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaArticleBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 知识管理Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface ISysOaArticleService {
|
||||
|
||||
/**
|
||||
* 查询知识管理
|
||||
*/
|
||||
SysOaArticle selectArticleById(Long articleId);
|
||||
|
||||
/**
|
||||
* 查询知识管理列表
|
||||
*/
|
||||
TableDataInfo<SysOaArticleVo> queryPageList(SysOaArticleBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询知识管理列表
|
||||
*/
|
||||
List<SysOaArticleVo> queryList(SysOaArticleBo bo);
|
||||
|
||||
|
||||
TableDataInfo<SysOaArticleVo> selectArticlePageList(SysOaArticleBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 新增知识管理
|
||||
*/
|
||||
Boolean insertByBo(SysOaArticleBo bo);
|
||||
|
||||
/**
|
||||
* 修改知识管理
|
||||
*/
|
||||
Boolean updateByBo(SysOaArticleBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除知识管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaBid;
|
||||
import com.ruoyi.oa.domain.vo.SysOaBidVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaBidBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 投标管理Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
public interface ISysOaBidService {
|
||||
|
||||
/**
|
||||
* 查询投标管理
|
||||
*/
|
||||
SysOaBidVo queryById(Long bidId);
|
||||
|
||||
/**
|
||||
* 查询投标管理列表
|
||||
*/
|
||||
TableDataInfo<SysOaBidVo> queryPageList(SysOaBidBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询投标管理列表
|
||||
*/
|
||||
List<SysOaBidVo> queryList(SysOaBidBo bo);
|
||||
|
||||
/**
|
||||
* 新增投标管理
|
||||
*/
|
||||
Boolean insertByBo(SysOaBidBo bo);
|
||||
|
||||
/**
|
||||
* 修改投标管理
|
||||
*/
|
||||
Boolean updateByBo(SysOaBidBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除投标管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaCategory;
|
||||
import com.ruoyi.oa.domain.vo.SysOaCategoryVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaCategoryBo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 知识分类Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface ISysOaCategoryService {
|
||||
|
||||
/**
|
||||
* 查询知识分类
|
||||
*/
|
||||
SysOaCategoryVo queryById(Long categoryId);
|
||||
|
||||
|
||||
/**
|
||||
* 查询知识分类列表
|
||||
*/
|
||||
List<SysOaCategoryVo> queryList(SysOaCategoryBo bo);
|
||||
|
||||
/**
|
||||
* 新增知识分类
|
||||
*/
|
||||
Boolean insertByBo(SysOaCategoryBo bo);
|
||||
|
||||
/**
|
||||
* 修改知识分类
|
||||
*/
|
||||
Boolean updateByBo(SysOaCategoryBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除知识分类信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaContract;
|
||||
import com.ruoyi.oa.domain.vo.SysOaContractVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaContractBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 合同管理Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
public interface ISysOaContractService {
|
||||
|
||||
/**
|
||||
* 查询合同管理
|
||||
*/
|
||||
SysOaContractVo queryById(Long contractId);
|
||||
|
||||
/**
|
||||
* 查询合同管理列表
|
||||
*/
|
||||
TableDataInfo<SysOaContractVo> queryPageList(SysOaContractBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询合同管理列表
|
||||
*/
|
||||
List<SysOaContractVo> queryList(SysOaContractBo bo);
|
||||
|
||||
/**
|
||||
* 根据项目id查询合同管理
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
SysOaContractVo findContractByProjectId(SysOaContractBo bo);
|
||||
|
||||
/**
|
||||
* 根据项目id查询合同列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
List<SysOaContractVo> selectContractByProjectId(SysOaContractBo bo);
|
||||
|
||||
/**
|
||||
* 新增合同管理
|
||||
*/
|
||||
Boolean insertByBo(SysOaContractBo bo);
|
||||
|
||||
/**
|
||||
* 合同流程结束自动保存
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
void inserByProcess(Map<String, Object> param);
|
||||
|
||||
/**
|
||||
* 修改合同管理
|
||||
*/
|
||||
Boolean updateByBo(SysOaContractBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除合同管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaDetail;
|
||||
import com.ruoyi.oa.domain.vo.SysOaDetailVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaDetailBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 进出账明细Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface ISysOaDetailService {
|
||||
|
||||
/**
|
||||
* 查询进出账明细
|
||||
*/
|
||||
SysOaDetailVo queryById(Long detailId);
|
||||
|
||||
/**
|
||||
* 查询进出账明细列表
|
||||
*/
|
||||
TableDataInfo<SysOaDetailVo> queryPageList(SysOaDetailBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询进出账明细列表
|
||||
*/
|
||||
List<SysOaDetailVo> queryList(SysOaDetailBo bo);
|
||||
|
||||
/**
|
||||
* 新增进出账明细
|
||||
*/
|
||||
Boolean insertByBo(SysOaDetailBo bo);
|
||||
|
||||
/**
|
||||
* 修改进出账明细
|
||||
*/
|
||||
Boolean updateByBo(SysOaDetailBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除进出账明细信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaFinance;
|
||||
import com.ruoyi.oa.domain.vo.SysOaFinanceVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaFinanceBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 进出账管理Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
public interface ISysOaFinanceService {
|
||||
|
||||
|
||||
/**
|
||||
* 根据分页查询列表
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
*/
|
||||
TableDataInfo<SysOaFinanceVo> selectPageFinanceList(SysOaFinanceBo bo, PageQuery pageQuery);
|
||||
|
||||
|
||||
/**
|
||||
* 项目进出账查询
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
*/
|
||||
TableDataInfo<SysOaFinanceVo> selectFinanceList(SysOaFinanceBo bo, PageQuery pageQuery);
|
||||
|
||||
|
||||
/**
|
||||
* 根据id查询详细信息
|
||||
* @param financeId
|
||||
* @return
|
||||
*/
|
||||
SysOaFinance selectFinanceById(Long financeId);
|
||||
|
||||
|
||||
BigDecimal selectFinanceByProjectId(SysOaFinanceBo bo);
|
||||
/**
|
||||
* 查询进出账管理
|
||||
*/
|
||||
SysOaFinanceVo queryById(Long financeId);
|
||||
|
||||
/**
|
||||
* 查询进出账管理列表
|
||||
*/
|
||||
TableDataInfo<SysOaFinanceVo> queryPageList(SysOaFinanceBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询进出账管理列表
|
||||
*/
|
||||
List<SysOaFinanceVo> queryList(SysOaFinanceBo bo);
|
||||
|
||||
/**
|
||||
* 根据时间范围查询列表
|
||||
*/
|
||||
BigDecimal findFinanceByTime(SysOaFinanceBo bo, Map paramsMap);
|
||||
|
||||
|
||||
/**
|
||||
* 新增进出账管理
|
||||
*/
|
||||
Boolean insertByBo(SysOaFinanceBo bo);
|
||||
|
||||
/**
|
||||
* 修改进出账管理
|
||||
*/
|
||||
Boolean updateByBo(SysOaFinanceBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除进出账管理信息
|
||||
*/
|
||||
// Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 根据id删除单条数据,并删除关联数据
|
||||
* @param financeId
|
||||
* @return
|
||||
*/
|
||||
Boolean deleteSysOaFinanceById(Long financeId);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaProjectBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目管理Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
public interface ISysOaProjectService {
|
||||
|
||||
/**
|
||||
* 查询项目管理
|
||||
*/
|
||||
SysOaProjectVo queryById(Long projectId);
|
||||
|
||||
/**
|
||||
* 查询项目管理列表
|
||||
*/
|
||||
TableDataInfo<SysOaProjectVo> queryPageList(SysOaProjectBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询项目管理列表
|
||||
*/
|
||||
List<SysOaProjectVo> queryList(SysOaProjectBo bo);
|
||||
|
||||
/**
|
||||
* 新增项目管理
|
||||
*/
|
||||
Boolean insertByBo(SysOaProjectBo bo);
|
||||
|
||||
/**
|
||||
* 修改项目管理
|
||||
*/
|
||||
Boolean updateByBo(SysOaProjectBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除项目管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.SysOaPurpose;
|
||||
import com.ruoyi.oa.domain.vo.SysOaPurposeVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaPurposeBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 采购意向Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
public interface ISysOaPurposeService {
|
||||
|
||||
/**
|
||||
* 查询采购意向
|
||||
*/
|
||||
SysOaPurposeVo queryById(Long purposeId);
|
||||
|
||||
/**
|
||||
* 查询采购意向列表
|
||||
*/
|
||||
TableDataInfo<SysOaPurposeVo> queryPageList(SysOaPurposeBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询采购意向列表
|
||||
*/
|
||||
List<SysOaPurposeVo> queryList(SysOaPurposeBo bo);
|
||||
|
||||
/**
|
||||
* 新增采购意向
|
||||
*/
|
||||
Boolean insertByBo(SysOaPurposeBo bo);
|
||||
|
||||
/**
|
||||
* 修改采购意向
|
||||
*/
|
||||
Boolean updateByBo(SysOaPurposeBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除采购意向信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.oa.domain.SysOaRemind;
|
||||
import com.ruoyi.oa.domain.vo.SysOaRemindVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaRemindBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 事件提醒Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
public interface ISysOaRemindService {
|
||||
|
||||
|
||||
/**
|
||||
* 查询事件提醒
|
||||
*/
|
||||
SysOaRemindVo queryById(Long remindId);
|
||||
|
||||
/**
|
||||
* 查询代办事件列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
R<List<SysOaRemindVo>> queryRemindList(SysOaRemindBo bo);
|
||||
|
||||
Long queryRemindCount(SysOaRemindBo bo);
|
||||
|
||||
/**
|
||||
* 查询事件提醒列表
|
||||
*/
|
||||
TableDataInfo<SysOaRemindVo> queryPageList(SysOaRemindBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询事件提醒列表
|
||||
*/
|
||||
List<SysOaRemindVo> queryList(SysOaRemindBo bo);
|
||||
|
||||
/**
|
||||
* 新增事件提醒
|
||||
*/
|
||||
Boolean insertByBo(SysOaRemindBo bo);
|
||||
|
||||
/**
|
||||
* 修改事件提醒
|
||||
*/
|
||||
Boolean updateByBo(SysOaRemindBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除事件提醒信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.oa.domain.SysOaTask;
|
||||
import com.ruoyi.oa.domain.vo.SysOaTaskVo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaTaskBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 任务管理Service接口
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
public interface ISysOaTaskService {
|
||||
|
||||
/**
|
||||
* 查询任务管理
|
||||
*/
|
||||
SysOaTaskVo queryById(Long taskId);
|
||||
|
||||
/**
|
||||
* 查询任务管理列表
|
||||
*/
|
||||
TableDataInfo<SysOaTaskVo> queryPageList(SysOaTaskBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询任务管理列表
|
||||
*/
|
||||
List<SysOaTaskVo> queryList(SysOaTaskBo bo);
|
||||
|
||||
/****
|
||||
* 据工作类型字典查询任务列表
|
||||
* @param pid
|
||||
* @return
|
||||
*/
|
||||
R queryTaskByDictList(Long pid);
|
||||
/**
|
||||
* 根据工作类型查询列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
List<SysOaTaskVo> queryListByType(SysOaTaskBo bo);
|
||||
|
||||
/**
|
||||
* 新增任务管理
|
||||
*/
|
||||
Boolean insertByBo(SysOaTaskBo bo);
|
||||
|
||||
/**
|
||||
* 修改任务管理
|
||||
*/
|
||||
Boolean updateByBo(SysOaTaskBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除任务管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaCategory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaArticleBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaArticleVo;
|
||||
import com.ruoyi.oa.domain.SysOaArticle;
|
||||
import com.ruoyi.oa.mapper.SysOaArticleMapper;
|
||||
import com.ruoyi.oa.service.ISysOaArticleService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 知识管理Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaArticleServiceImpl implements ISysOaArticleService {
|
||||
|
||||
private final SysOaArticleMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询知识管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaArticle selectArticleById(Long articleId){
|
||||
SysOaArticle sysOaArticleInfo = baseMapper.selectArticleById(articleId);
|
||||
//更新阅读数量
|
||||
SysOaArticleBo sysOaArticleBo = new SysOaArticleBo();
|
||||
sysOaArticleBo.setArticleId(articleId);
|
||||
sysOaArticleBo.setCheckNum(sysOaArticleInfo.getCheckNum() + 1);
|
||||
this.updateByBo(sysOaArticleBo);
|
||||
|
||||
return sysOaArticleInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询知识管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaArticleVo> queryPageList(SysOaArticleBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaArticle> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaArticleVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 自定义-查询知识管理列表
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaArticleVo> selectArticlePageList(SysOaArticleBo bo, PageQuery pageQuery){
|
||||
LambdaQueryWrapper<SysOaArticle> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaArticleVo> articlePageList = baseMapper.selectArticlePageList(pageQuery.build(), lqw);
|
||||
System.out.println(articlePageList);
|
||||
return TableDataInfo.build(articlePageList);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询知识管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaArticleVo> queryList(SysOaArticleBo bo) {
|
||||
LambdaQueryWrapper<SysOaArticle> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaArticle> buildQueryWrapper(SysOaArticleBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaArticle> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getCategoryId() != null, SysOaArticle::getCategoryId, bo.getCategoryId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getArticleTitle()), SysOaArticle::getArticleTitle, bo.getArticleTitle());
|
||||
lqw.orderByDesc(SysOaArticle::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增知识管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaArticleBo bo) {
|
||||
SysOaArticle add = BeanUtil.toBean(bo, SysOaArticle.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setArticleId(add.getArticleId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改知识管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaArticleBo bo) {
|
||||
SysOaArticle update = BeanUtil.toBean(bo, SysOaArticle.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaArticle entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除知识管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaBidBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaBidVo;
|
||||
import com.ruoyi.oa.domain.SysOaBid;
|
||||
import com.ruoyi.oa.mapper.SysOaBidMapper;
|
||||
import com.ruoyi.oa.service.ISysOaBidService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 投标管理Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-02-23
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaBidServiceImpl implements ISysOaBidService {
|
||||
|
||||
private final SysOaBidMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询投标管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaBidVo queryById(Long bidId){
|
||||
return baseMapper.selectVoById(bidId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询投标管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaBidVo> queryPageList(SysOaBidBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaBid> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaBidVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询投标管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaBidVo> queryList(SysOaBidBo bo) {
|
||||
LambdaQueryWrapper<SysOaBid> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaBid> buildQueryWrapper(SysOaBidBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
// System.out.println("params===123==" + params);
|
||||
LambdaQueryWrapper<SysOaBid> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getBidTitle()), SysOaBid::getBidTitle, bo.getBidTitle());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBidNumber()), SysOaBid::getBidNumber, bo.getBidNumber());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getIsWin()), SysOaBid::getIsWin, bo.getIsWin());
|
||||
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
|
||||
SysOaBid::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
|
||||
lqw.orderByDesc(SysOaBid::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增投标管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaBidBo bo) {
|
||||
SysOaBid add = BeanUtil.toBean(bo, SysOaBid.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setBidId(add.getBidId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改投标管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaBidBo bo) {
|
||||
SysOaBid update = BeanUtil.toBean(bo, SysOaBid.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaBid entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除投标管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaTask;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaCategoryBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaCategoryVo;
|
||||
import com.ruoyi.oa.domain.SysOaCategory;
|
||||
import com.ruoyi.oa.mapper.SysOaCategoryMapper;
|
||||
import com.ruoyi.oa.service.ISysOaCategoryService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 知识分类Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaCategoryServiceImpl implements ISysOaCategoryService {
|
||||
|
||||
private final SysOaCategoryMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询知识分类
|
||||
*/
|
||||
@Override
|
||||
public SysOaCategoryVo queryById(Long categoryId){
|
||||
return baseMapper.selectVoById(categoryId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询知识分类列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaCategoryVo> queryList(SysOaCategoryBo bo) {
|
||||
LambdaQueryWrapper<SysOaCategory> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaCategory> buildQueryWrapper(SysOaCategoryBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaCategory> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), SysOaCategory::getCategoryName, bo.getCategoryName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysOaCategory::getStatus, bo.getStatus());
|
||||
lqw.orderByDesc(SysOaCategory::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增知识分类
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaCategoryBo bo) {
|
||||
SysOaCategory add = BeanUtil.toBean(bo, SysOaCategory.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setCategoryId(add.getCategoryId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改知识分类
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaCategoryBo bo) {
|
||||
SysOaCategory update = BeanUtil.toBean(bo, SysOaCategory.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaCategory entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除知识分类
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaBid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaContractBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaContractVo;
|
||||
import com.ruoyi.oa.domain.SysOaContract;
|
||||
import com.ruoyi.oa.mapper.SysOaContractMapper;
|
||||
import com.ruoyi.oa.service.ISysOaContractService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 合同管理Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-10
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaContractServiceImpl implements ISysOaContractService {
|
||||
|
||||
@Autowired
|
||||
private SysOaContractMapper contractMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 查询合同管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaContractVo queryById(Long contractId){
|
||||
return contractMapper.selectVoById(contractId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询合同管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaContractVo> queryPageList(SysOaContractBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaContract> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaContractVo> result = contractMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询合同管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaContractVo> queryList(SysOaContractBo bo) {
|
||||
LambdaQueryWrapper<SysOaContract> lqw = buildQueryWrapper(bo);
|
||||
return contractMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目id查询合同
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public SysOaContractVo findContractByProjectId(SysOaContractBo bo){
|
||||
LambdaQueryWrapper<SysOaContract> sysOaContractLambdaQueryWrapper = buildContractWrapper(bo);
|
||||
return contractMapper.selectVoOne(sysOaContractLambdaQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目id查询合同列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaContractVo> selectContractByProjectId(SysOaContractBo bo){
|
||||
LambdaQueryWrapper<SysOaContract> sysOaContractLambdaQueryWrapper = buildContractWrapper(bo); ;
|
||||
return contractMapper.selectVoList(sysOaContractLambdaQueryWrapper);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaContract> buildQueryWrapper(SysOaContractBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaContract> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(SysOaContract::getContractType, '0');
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractNum()), SysOaContract::getContractNum, bo.getContractNum());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractName()), SysOaContract::getContractName, bo.getContractName());
|
||||
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
|
||||
SysOaContract::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
|
||||
lqw.orderByDesc(SysOaContract::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaContract> buildContractWrapper(SysOaContractBo bo) {
|
||||
LambdaQueryWrapper<SysOaContract> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(SysOaContract::getProjectId, bo.getProjectId());
|
||||
lqw.eq(SysOaContract::getContractType, bo.getContractType());
|
||||
|
||||
return lqw;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增合同管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaContractBo bo) {
|
||||
SysOaContract add = BeanUtil.toBean(bo, SysOaContract.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = contractMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setContractId(add.getContractId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 合同流程结束自动保存
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void inserByProcess(Map<String, Object> param){
|
||||
System.out.println("map=====" + param);
|
||||
/*if(param.size() > 0){
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改合同管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaContractBo bo) {
|
||||
SysOaContract update = BeanUtil.toBean(bo, SysOaContract.class);
|
||||
validEntityBeforeSave(update);
|
||||
return contractMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaContract entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除合同管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return contractMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaDetailBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaDetailVo;
|
||||
import com.ruoyi.oa.domain.SysOaDetail;
|
||||
import com.ruoyi.oa.mapper.SysOaDetailMapper;
|
||||
import com.ruoyi.oa.service.ISysOaDetailService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 进出账明细Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaDetailServiceImpl implements ISysOaDetailService {
|
||||
|
||||
private final SysOaDetailMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询进出账明细
|
||||
*/
|
||||
@Override
|
||||
public SysOaDetailVo queryById(Long detailId){
|
||||
return baseMapper.selectVoById(detailId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询进出账明细列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaDetailVo> queryPageList(SysOaDetailBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaDetail> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询进出账明细列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaDetailVo> queryList(SysOaDetailBo bo) {
|
||||
LambdaQueryWrapper<SysOaDetail> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaDetail> buildQueryWrapper(SysOaDetailBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaDetail> lqw = Wrappers.lambdaQuery();
|
||||
// lqw.eq(bo.getFinanceId() != null, SysOaDetail::getFinanceId, bo.getFinanceId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDetailTitle()), SysOaDetail::getDetailTitle, bo.getDetailTitle());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增进出账明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaDetailBo bo) {
|
||||
SysOaDetail add = BeanUtil.toBean(bo, SysOaDetail.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setDetailId(add.getDetailId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改进出账明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaDetailBo bo) {
|
||||
SysOaDetail update = BeanUtil.toBean(bo, SysOaDetail.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaDetail entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除进出账明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,276 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.config.ContextUtil;
|
||||
import com.ruoyi.oa.domain.SysOaDetail;
|
||||
import com.ruoyi.oa.domain.bo.SysOaDetailBo;
|
||||
import com.ruoyi.oa.mapper.SysOaDetailMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.ibatis.javassist.runtime.Desc;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaFinanceBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaFinanceVo;
|
||||
import com.ruoyi.oa.domain.SysOaFinance;
|
||||
import com.ruoyi.oa.mapper.SysOaFinanceMapper;
|
||||
import com.ruoyi.oa.service.ISysOaFinanceService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 进出账管理Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaFinanceServiceImpl implements ISysOaFinanceService {
|
||||
|
||||
private final SysOaFinanceMapper baseMapper;
|
||||
|
||||
|
||||
private final SysOaDetailMapper sysOaDetailMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 关联进出账明细查询列表
|
||||
*
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaFinanceVo> selectPageFinanceList(SysOaFinanceBo bo, PageQuery pageQuery) {
|
||||
Page<SysOaFinanceVo> sysOaFinanceVoPage = baseMapper.selectPageFinanceList(pageQuery.build(), this.buildQueryWrapper(bo));
|
||||
return TableDataInfo.build(sysOaFinanceVoPage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目进出账查询
|
||||
*
|
||||
* @param bo
|
||||
* @param pageQuery
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaFinanceVo> selectFinanceList(SysOaFinanceBo bo, PageQuery pageQuery) {
|
||||
Page<SysOaFinanceVo> sysOaFinanceVoList = baseMapper.selectFinanceList(pageQuery.build(), this.buildQueryWrapperByFinance(bo));
|
||||
return TableDataInfo.build(sysOaFinanceVoList);
|
||||
}
|
||||
|
||||
private Wrapper<SysOaFinance> buildQueryWrapperByFinance(SysOaFinanceBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
QueryWrapper<SysOaFinance> lqw = Wrappers.query();
|
||||
//前端设定了projectId的值为0和1,0:非项目进出账(添加时候默认为0),1:项目进出账(项目的id是数字串整数,添加时候该字段存储;gt大于0表示项目字段值
|
||||
// lqw.ge("a.project_id ",bo.getProjectId());
|
||||
lqw.eq(ObjectUtil.isNotNull(bo.getProjectId()), "a.project_id", bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFinanceType()), "a.finance_type", bo.getFinanceType());
|
||||
lqw.orderByDesc("a.create_time");
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据时间范围(非项目)查询进出账核算
|
||||
*/
|
||||
@Override
|
||||
public BigDecimal findFinanceByTime(SysOaFinanceBo bo, Map params) {
|
||||
//通过参数查询主表列表,同时一对多查出子表
|
||||
Map<String, Object> paramsMap = bo.getParams();
|
||||
paramsMap.put("financeType", params.get("financeType"));
|
||||
paramsMap.put("beginTime", params.get("beginTime"));
|
||||
paramsMap.put("endTime", params.get("endTime"));
|
||||
List<SysOaFinance> financeByTime = baseMapper.findFinanceByTime(paramsMap);
|
||||
//遍历子表,将价格遍历为数组并用map方法求和,该方法类型使用map比较妥当
|
||||
ArrayList<BigDecimal> objects = new ArrayList<>();
|
||||
financeByTime.forEach(v -> {
|
||||
BigDecimal reduce = v.getDetailList().stream().map(s -> s.getPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
objects.add(reduce);
|
||||
});
|
||||
//主表再次求和
|
||||
BigDecimal reduce = objects.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
return reduce;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据id查询列表
|
||||
*
|
||||
* @param financeId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public SysOaFinance selectFinanceById(Long financeId) {
|
||||
return baseMapper.selectFinanceById(financeId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 项目核算
|
||||
*
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BigDecimal selectFinanceByProjectId(SysOaFinanceBo bo) {
|
||||
List<SysOaFinance> sysOaFinances = baseMapper.selectFinanceByProjectId(bo);
|
||||
System.out.println("sysOaFinances===" + sysOaFinances);
|
||||
System.out.println("sysOaFinances000===" + sysOaFinances.size());
|
||||
if (sysOaFinances.size() > 0) {
|
||||
ArrayList<BigDecimal> objects = new ArrayList<>();
|
||||
sysOaFinances.forEach(v -> {
|
||||
System.out.println("vvvv" + v.getDetailList());
|
||||
BigDecimal reduce = v.getDetailList().stream().map(s -> s.getPrice() == null ? new BigDecimal(0) : s.getPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
objects.add(reduce);
|
||||
});
|
||||
//主表再次求和
|
||||
BigDecimal reduce = objects.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
System.out.println("hehehehe999===" + reduce);
|
||||
return reduce;
|
||||
} else {
|
||||
BigDecimal reduce = new BigDecimal(0);
|
||||
System.out.println("hehehehe===" + reduce);
|
||||
return reduce;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询进出账管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaFinanceVo queryById(Long financeId) {
|
||||
return baseMapper.selectVoById(financeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询进出账管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaFinanceVo> queryPageList(SysOaFinanceBo bo, PageQuery pageQuery) {
|
||||
// LambdaQueryWrapper<SysOaFinance> lqw = buildQueryWrapper(bo);
|
||||
Wrapper<SysOaFinance> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaFinanceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询进出账管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaFinanceVo> queryList(SysOaFinanceBo bo) {
|
||||
Wrapper<SysOaFinance> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
// private LambdaQueryWrapper<SysOaFinance> buildQueryWrapper(SysOaFinanceBo bo) {
|
||||
private Wrapper<SysOaFinance> buildQueryWrapper(SysOaFinanceBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
QueryWrapper<SysOaFinance> lqw = Wrappers.query();
|
||||
//前端设定了projectId的值为0和1,0:非项目进出账(添加时候默认为0),1:项目进出账(项目的id是数字串整数,添加时候该字段存储;gt大于0表示项目字段值
|
||||
lqw.eq("a.project_id", bo.getProjectId());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getFinanceTitle()), "a.finance_title", bo.getFinanceTitle());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getFinanceParties()), "a.finance_parties", bo.getFinanceParties());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFinanceType()), "a.finance_type", bo.getFinanceType());
|
||||
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
|
||||
"a.create_time", params.get("beginCreateTime"), params.get("endCreateTime"));
|
||||
lqw.orderByDesc("create_time");
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增进出账管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaFinanceBo bo) {
|
||||
SysOaFinance add = BeanUtil.toBean(bo, SysOaFinance.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setFinanceId(add.getFinanceId());
|
||||
}
|
||||
//子表数据插入
|
||||
insertSysOaDetail(bo);
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改进出账管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaFinanceBo bo) {
|
||||
SysOaFinance update = BeanUtil.toBean(bo, SysOaFinance.class);
|
||||
validEntityBeforeSave(update);
|
||||
//先删除原来数据
|
||||
sysOaDetailMapper.deleteSysOaDetailByfinanceId(bo.getFinanceId());
|
||||
//再插入修改后的数据
|
||||
insertSysOaDetail(bo);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关联子表的数据新增和修改
|
||||
*
|
||||
* @param bo
|
||||
*/
|
||||
public void insertSysOaDetail(SysOaFinanceBo bo) {
|
||||
List<SysOaDetail> detailList = bo.getDetailList();
|
||||
Long financeId = bo.getFinanceId();
|
||||
if (detailList.size() > 0) {
|
||||
List<SysOaDetail> sysOaDetails = new ArrayList<>();
|
||||
for (SysOaDetail list : detailList) {
|
||||
list.setFinanceId(financeId);
|
||||
sysOaDetails.add(list);
|
||||
}
|
||||
if (sysOaDetails.size() > 0) {
|
||||
sysOaDetailMapper.batchSysOaDetail(sysOaDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaFinance entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id删除单条数据,并删除关联数据
|
||||
*
|
||||
* @param financeId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteSysOaFinanceById(Long financeId) {
|
||||
sysOaDetailMapper.deleteSysOaDetailByfinanceId(financeId);
|
||||
return baseMapper.deleteById(financeId) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除进出账管理
|
||||
*/
|
||||
/*@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}*/
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaContract;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaProjectBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaProjectVo;
|
||||
import com.ruoyi.oa.domain.SysOaProject;
|
||||
import com.ruoyi.oa.mapper.SysOaProjectMapper;
|
||||
import com.ruoyi.oa.service.ISysOaProjectService;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 项目管理Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
||||
|
||||
private final SysOaProjectMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询项目管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaProjectVo queryById(Long projectId){
|
||||
return baseMapper.selectVoById(projectId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaProjectVo> queryPageList(SysOaProjectBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaProject> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaProjectVo> queryList(SysOaProjectBo bo) {
|
||||
LambdaQueryWrapper<SysOaProject> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaProject> buildQueryWrapper(SysOaProjectBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaProject> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), SysOaProject::getProjectName, bo.getProjectName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectNum()), SysOaProject::getProjectNum, bo.getProjectNum());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), SysOaProject::getProjectType, bo.getProjectType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectStatus()), SysOaProject::getProjectStatus, bo.getProjectStatus());
|
||||
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
|
||||
SysOaProject::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
|
||||
lqw.orderByDesc(SysOaProject::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaProjectBo bo) {
|
||||
SysOaProject add = BeanUtil.toBean(bo, SysOaProject.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setProjectId(add.getProjectId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改项目管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaProjectBo bo) {
|
||||
SysOaProject update = BeanUtil.toBean(bo, SysOaProject.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaProject entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除项目管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaPurposeBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaPurposeVo;
|
||||
import com.ruoyi.oa.domain.SysOaPurpose;
|
||||
import com.ruoyi.oa.mapper.SysOaPurposeMapper;
|
||||
import com.ruoyi.oa.service.ISysOaPurposeService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 采购意向Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaPurposeServiceImpl implements ISysOaPurposeService {
|
||||
|
||||
private final SysOaPurposeMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询采购意向
|
||||
*/
|
||||
@Override
|
||||
public SysOaPurposeVo queryById(Long purposeId){
|
||||
return baseMapper.selectVoById(purposeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询采购意向列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaPurposeVo> queryPageList(SysOaPurposeBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaPurpose> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaPurposeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询采购意向列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaPurposeVo> queryList(SysOaPurposeBo bo) {
|
||||
LambdaQueryWrapper<SysOaPurpose> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaPurpose> buildQueryWrapper(SysOaPurposeBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaPurpose> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getPurposeTitle()), SysOaPurpose::getPurposeTitle, bo.getPurposeTitle());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSubhead()), SysOaPurpose::getSubhead, bo.getSubhead());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getIsBid()), SysOaPurpose::getIsBid, bo.getIsBid());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增采购意向
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaPurposeBo bo) {
|
||||
SysOaPurpose add = BeanUtil.toBean(bo, SysOaPurpose.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setPurposeId(add.getPurposeId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改采购意向
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaPurposeBo bo) {
|
||||
SysOaPurpose update = BeanUtil.toBean(bo, SysOaPurpose.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaPurpose entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除采购意向
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.catalina.security.SecurityUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaRemindBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaRemindVo;
|
||||
import com.ruoyi.oa.domain.SysOaRemind;
|
||||
import com.ruoyi.oa.mapper.SysOaRemindMapper;
|
||||
import com.ruoyi.oa.service.ISysOaRemindService;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 事件提醒Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-04-02
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaRemindServiceImpl implements ISysOaRemindService {
|
||||
|
||||
private final SysOaRemindMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询事件提醒
|
||||
*/
|
||||
@Override
|
||||
public SysOaRemindVo queryById(Long remindId){
|
||||
return baseMapper.selectVoById(remindId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询代办事件列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public R<List<SysOaRemindVo>> queryRemindList(SysOaRemindBo bo){
|
||||
LambdaQueryWrapper<SysOaRemind> lqw = buildQueryWrapper(bo);
|
||||
List<SysOaRemindVo> sysOaRemindVos = baseMapper.selectVoList(lqw);
|
||||
return R.ok(sysOaRemindVos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long queryRemindCount(SysOaRemindBo bo){
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaRemind> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaskStatus()), SysOaRemind::getTaskStatus, bo.getTaskStatus());
|
||||
lqw.between(params.get("beginTime") != null && params.get("endTime") != null, SysOaRemind::getTaskTime, params.get("beginTime"), params.get("endTime"));
|
||||
Long aLong = baseMapper.selectCount(lqw);
|
||||
return aLong;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询事件提醒列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaRemindVo> queryPageList(SysOaRemindBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaRemind> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaRemindVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询事件提醒列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaRemindVo> queryList(SysOaRemindBo bo) {
|
||||
LambdaQueryWrapper<SysOaRemind> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaRemind> buildQueryWrapper(SysOaRemindBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaRemind> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getTaskTitle()), SysOaRemind::getTaskTitle, bo.getTaskTitle());
|
||||
// lqw.eq(bo.getTaskTime() != null, SysOaRemind::getTaskTime, bo.getTaskTime());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaskStatus()), SysOaRemind::getTaskStatus, bo.getTaskStatus());
|
||||
lqw.between(params.get("beginTime") != null && params.get("endTime") != null, SysOaRemind::getTaskTime, params.get("beginTime"), params.get("endTime"));
|
||||
lqw.orderByDesc(SysOaRemind::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增事件提醒
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaRemindBo bo) {
|
||||
bo.setCreateBy(LoginHelper.getUsername());
|
||||
bo.setCreateTime(new Date());
|
||||
SysOaRemind add = BeanUtil.toBean(bo, SysOaRemind.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setRemindId(add.getRemindId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改事件提醒
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaRemindBo bo) {
|
||||
bo.setUpdateBy(LoginHelper.getUsername());
|
||||
bo.setUpdateTime(new Date());
|
||||
SysOaRemind update = BeanUtil.toBean(bo, SysOaRemind.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaRemind entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除事件提醒
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.dev33.satoken.fun.SaParamRetFunction;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||
import com.ruoyi.common.core.domain.entity.SysDictType;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.system.service.ISysDictTypeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.SysOaTaskBo;
|
||||
import com.ruoyi.oa.domain.vo.SysOaTaskVo;
|
||||
import com.ruoyi.oa.domain.SysOaTask;
|
||||
import com.ruoyi.oa.mapper.SysOaTaskMapper;
|
||||
import com.ruoyi.oa.service.ISysOaTaskService;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 任务管理Service业务层处理
|
||||
*
|
||||
* @author huangxing
|
||||
* @date 2024-01-11
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SysOaTaskServiceImpl implements ISysOaTaskService {
|
||||
|
||||
private final SysOaTaskMapper baseMapper;
|
||||
|
||||
private final ISysDictTypeService dictTypeService;
|
||||
|
||||
/**
|
||||
* 查询任务管理
|
||||
*/
|
||||
@Override
|
||||
public SysOaTaskVo queryById(Long taskId){
|
||||
return baseMapper.selectVoById(taskId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询任务管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaTaskVo> queryPageList(SysOaTaskBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SysOaTask> lqw = buildQueryWrapper(bo);
|
||||
//查询当前用户下的数据列表
|
||||
lqw.eq(StringUtils.isNotBlank(LoginHelper.getLoginUser().getUsername()), SysOaTask::getCreateBy,LoginHelper.getLoginUser().getUsername());
|
||||
Page<SysOaTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 据工作类型字典查询任务列表
|
||||
* @param pid
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public R queryTaskByDictList(Long pid){
|
||||
List<Object> objects = new ArrayList<>();
|
||||
List<SysDictData> sysWorkType = dictTypeService.selectDictDataByType("sys_work_type");
|
||||
sysWorkType.forEach(item -> {
|
||||
SysOaTaskBo sysOaTaskBo = new SysOaTaskBo();
|
||||
sysOaTaskBo.setProjectId(pid);
|
||||
sysOaTaskBo.setTaskType(item.getDictValue());
|
||||
List<SysOaTaskVo> sysOaTaskVos = this.queryListByType(sysOaTaskBo);
|
||||
Map<String, Object> ajax = new HashMap<>();
|
||||
ajax.put("dictLabel", item.getDictLabel());
|
||||
ajax.put("dictValue", item.getDictValue());
|
||||
ajax.put("taskList", sysOaTaskVos);
|
||||
ajax.put("size", "large");
|
||||
ajax.put("type", "primary");
|
||||
ajax.put("icon", "el-icon-more");
|
||||
ajax.put("color", "#cccccc");
|
||||
objects.add(ajax);
|
||||
});
|
||||
|
||||
//根据项目id获取任务列表类型属性最大的值
|
||||
SysOaTaskBo task = new SysOaTaskBo();
|
||||
task.setProjectId(pid);
|
||||
List<SysOaTaskVo> taskVos = this.queryListByType(task);
|
||||
List<Integer> collect = taskVos.stream().map(v -> Integer.parseInt(v.getTaskType())).collect(Collectors.toList());
|
||||
OptionalInt max = collect.stream().mapToInt(Integer::intValue).max();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
if(max.isPresent()){
|
||||
map.put("active", max.getAsInt());
|
||||
}else {
|
||||
map.put("active", 0);
|
||||
}
|
||||
map.put("taskList", objects);
|
||||
return R.ok(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据工作类型查询列表
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaTaskVo> queryListByType(SysOaTaskBo bo){
|
||||
LambdaQueryWrapper<SysOaTask> lqw = buildQueryWrapper(bo);
|
||||
lqw.eq(StringUtils.isNotEmpty(bo.getProjectId().toString()), SysOaTask::getProjectId, bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaskType()),SysOaTask::getTaskType, bo.getTaskType());
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询任务管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<SysOaTaskVo> queryList(SysOaTaskBo bo) {
|
||||
LambdaQueryWrapper<SysOaTask> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysOaTask> buildQueryWrapper(SysOaTaskBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SysOaTask> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProjectId().toString()), SysOaTask::getProjectId, bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaskType()), SysOaTask::getTaskType, bo.getTaskType());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getTaskTitle()), SysOaTask::getTaskTitle, bo.getTaskTitle());
|
||||
lqw.orderByDesc(SysOaTask::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增任务管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SysOaTaskBo bo) {
|
||||
SysOaTask add = BeanUtil.toBean(bo, SysOaTask.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setTaskId(add.getTaskId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改任务管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SysOaTaskBo bo) {
|
||||
SysOaTask update = BeanUtil.toBean(bo, SysOaTask.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysOaTask entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除任务管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user