This commit is contained in:
huangxing123
2024-07-07 21:09:28 +08:00
parent 0d98d5fe14
commit fc04b10d4f
1279 changed files with 149420 additions and 1 deletions

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}*/
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}