首页数据修正,添加外出记录模快
This commit is contained in:
@@ -60,6 +60,14 @@ public class WfProcessController extends BaseController {
|
|||||||
return processService.selectPageOwnProcessList(processQuery, pageQuery);
|
return processService.selectPageOwnProcessList(processQuery, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我拥有的流程
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/trip-absence")
|
||||||
|
public TableDataInfo<WfTaskVo> selectPageTripAndAbsenceProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
||||||
|
return processService.selectPageTripAndAbsenceProcessList(processQuery, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取待办列表
|
* 获取待办列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -65,9 +65,9 @@ public class SysOaFinanceController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/pieData")
|
@GetMapping("/barData")
|
||||||
public R<List<SysOaFinanceVo>> pieData(SysOaFinanceBo bo) {
|
public R<List<SysOaFinanceVo>> pieData(SysOaFinanceBo bo) {
|
||||||
List<SysOaFinanceVo> sysOaFinanceList = iSysOaFinanceService.getPieData(bo);
|
List<SysOaFinanceVo> sysOaFinanceList = iSysOaFinanceService.getBarData(bo);
|
||||||
return R.ok(sysOaFinanceList);
|
return R.ok(sysOaFinanceList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ public class SysOaProjectController extends BaseController {
|
|||||||
return R.ok(iSysOaProjectService.getProjectDataByMonth(date));
|
return R.ok(iSysOaProjectService.getProjectDataByMonth(date));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取项目管理详细信息
|
* 获取项目管理详细信息
|
||||||
*
|
*
|
||||||
@@ -103,7 +105,6 @@ public class SysOaProjectController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaProjectBo bo) {
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOaProjectBo bo) {
|
||||||
System.out.println("date=====" + bo);
|
|
||||||
return toAjax(iSysOaProjectService.insertByBo(bo));
|
return toAjax(iSysOaProjectService.insertByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -144,5 +144,10 @@ public class SysOaFinanceVo extends SysOaFinance {
|
|||||||
*/
|
*/
|
||||||
private Double outMoney;
|
private Double outMoney;
|
||||||
|
|
||||||
|
private Double totalOut;
|
||||||
|
|
||||||
|
private Double totalIn;
|
||||||
|
|
||||||
|
private String month;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,13 @@ public class SysOaProjectVo {
|
|||||||
@ExcelProperty(value = "项目介绍")
|
@ExcelProperty(value = "项目介绍")
|
||||||
private String introduction;
|
private String introduction;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当月支出
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "当月支出")
|
||||||
|
private Double totalPrice;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 优先级
|
* 优先级
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public interface SysOaFinanceMapper extends BaseMapperPlus<SysOaFinanceMapper, S
|
|||||||
* @param bo
|
* @param bo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SysOaFinanceVo> getPieData(SysOaFinanceBo bo);
|
List<SysOaFinanceVo> getBarData(SysOaFinanceBo bo);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -90,5 +90,5 @@ public interface ISysOaFinanceService {
|
|||||||
*/
|
*/
|
||||||
Boolean deleteSysOaFinanceById(Long financeId);
|
Boolean deleteSysOaFinanceById(Long financeId);
|
||||||
|
|
||||||
List<SysOaFinanceVo> getPieData(SysOaFinanceBo bo);
|
List<SysOaFinanceVo> getBarData(SysOaFinanceBo bo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -269,9 +269,9 @@ public class SysOaFinanceServiceImpl implements ISysOaFinanceService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysOaFinanceVo> getPieData(SysOaFinanceBo bo) {
|
public List<SysOaFinanceVo> getBarData(SysOaFinanceBo bo) {
|
||||||
|
|
||||||
return baseMapper.getPieData(bo);
|
return baseMapper.getBarData(bo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -134,7 +134,6 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysOaProjectVo> getProjectDataByMonth(Date date) {
|
public List<SysOaProjectVo> getProjectDataByMonth(Date date) {
|
||||||
System.out.println(date);
|
|
||||||
if (date==null){
|
if (date==null){
|
||||||
date = new Date();
|
date = new Date();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ public class SysOaWarehouseMasterServiceImpl implements ISysOaWarehouseMasterSer
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
System.out.println(ids);
|
||||||
if(isValid){
|
if(isValid){
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="updateTime" column="update_time"/>
|
<result property="updateTime" column="update_time"/>
|
||||||
<result property="outType" column="out_type"/>
|
<result property="outType" column="out_type"/>
|
||||||
<result property="outMoney" column="out_money"/>
|
<result property="outMoney" column="out_money"/>
|
||||||
|
<result property="totalOut" column="total_out"/>
|
||||||
|
<result property="totalIn" column="total_in"/>
|
||||||
|
<result property="month" column="month"/>
|
||||||
|
|
||||||
<result property="receiveAccountId" column="receive_account_id"/>
|
<result property="receiveAccountId" column="receive_account_id"/>
|
||||||
<result property="receiveAccountName" column="receive_account_name"/>
|
<result property="receiveAccountName" column="receive_account_name"/>
|
||||||
@@ -173,13 +176,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
and date_format(a.finance_time,'%Y-%m-%d %H:%i:%s') <= date_format(#{endTime},'%Y-%m-%d %H:%i:%s')
|
and date_format(a.finance_time,'%Y-%m-%d %H:%i:%s') <= date_format(#{endTime},'%Y-%m-%d %H:%i:%s')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getPieData" resultMap="SysOaFinanceResult">
|
<select id="getBarData" resultMap="SysOaFinanceResult">
|
||||||
select
|
SELECT
|
||||||
sum(b.price) as out_money,a.out_type
|
DATE_FORMAT(a.create_time, '%Y-%m') AS month,
|
||||||
from sys_oa_finance a
|
SUM(CASE WHEN a.finance_type = '0' THEN b.price ELSE 0 END) AS total_out,
|
||||||
left join sys_oa_detail b on a.finance_id = b.finance_id
|
SUM(CASE WHEN a.finance_type = '1' THEN b.price ELSE 0 END) AS total_in
|
||||||
where a.finance_type = '0' AND YEAR(a.create_time) = YEAR(NOW()) and a.project_id = '0'
|
FROM sys_oa_finance a
|
||||||
group by a.out_type
|
LEFT JOIN sys_oa_detail b
|
||||||
|
ON a.finance_id = b.finance_id
|
||||||
|
AND a.create_time >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m-01')
|
||||||
|
AND DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-01'), INTERVAL 1 MONTH) > a.create_time
|
||||||
|
GROUP BY DATE_FORMAT(a.create_time, '%Y-%m')
|
||||||
|
ORDER BY month;
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--项目进出账查询-->
|
<!--项目进出账查询-->
|
||||||
|
|||||||
@@ -96,12 +96,30 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getProjectDataByMonth" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
|
<select id="getProjectDataByMonth" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
|
||||||
select sum(soa.day_length + soa.hour / 8) as labor_cost, color, sop.project_name
|
SELECT sop.project_id,
|
||||||
from sys_oa_project sop
|
sop.project_name,
|
||||||
left join sys_oa_attendance soa on sop.project_id = soa.project_id
|
sop.color,
|
||||||
where soa.create_time between #{firstDay} and #{lastDay}
|
COALESCE(SUM(soa.day_length + soa.hour / 9),1) AS labor_cost,
|
||||||
and soa.del_flag = '0'
|
SUM(
|
||||||
group by sop.project_id
|
CASE
|
||||||
|
WHEN sof.finance_type = 0 THEN sod.price
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
) AS total_price
|
||||||
|
FROM sys_oa_project AS sop
|
||||||
|
LEFT JOIN sys_oa_attendance AS soa
|
||||||
|
ON sop.project_id = soa.project_id
|
||||||
|
AND soa.create_time BETWEEN #{firstDay} AND #{lastDay}
|
||||||
|
AND soa.del_flag = '0'
|
||||||
|
LEFT JOIN sys_oa_finance AS sof
|
||||||
|
ON sop.project_id = sof.project_id
|
||||||
|
AND sof.create_time BETWEEN #{firstDay} AND #{lastDay}
|
||||||
|
LEFT JOIN sys_oa_detail AS sod
|
||||||
|
ON sof.finance_id = sod.finance_id
|
||||||
|
AND sod.create_time BETWEEN #{firstDay} AND #{lastDay}
|
||||||
|
GROUP BY sop.project_id,
|
||||||
|
sop.project_name,
|
||||||
|
sop.color
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getProjectDataByMonthAndDate" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
|
<select id="getProjectDataByMonthAndDate" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
|
||||||
|
|||||||
@@ -130,4 +130,5 @@ public interface IWfProcessService {
|
|||||||
*/
|
*/
|
||||||
String commonStart(String category);
|
String commonStart(String category);
|
||||||
|
|
||||||
|
TableDataInfo<WfTaskVo> selectPageTripAndAbsenceProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -233,6 +233,85 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
|||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<WfTaskVo> selectPageTripAndAbsenceProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
||||||
|
// System.out.println("process====" + processQuery);
|
||||||
|
Page<WfTaskVo> page = new Page<>();
|
||||||
|
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|
||||||
|
.processDefinitionCategory("trip")
|
||||||
|
.or()
|
||||||
|
.processDefinitionCategory("absence")
|
||||||
|
.orderByProcessInstanceStartTime()
|
||||||
|
.desc();
|
||||||
|
// 构建搜索条件
|
||||||
|
ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery);
|
||||||
|
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
|
||||||
|
List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery
|
||||||
|
.listPage(offset, pageQuery.getPageSize());
|
||||||
|
page.setTotal(historicProcessInstanceQuery.count());
|
||||||
|
|
||||||
|
List<WfTaskVo> taskVoList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (HistoricProcessInstance hisIns : historicProcessInstances) {
|
||||||
|
WfTaskVo taskVo = new WfTaskVo();
|
||||||
|
// 获取流程状态
|
||||||
|
HistoricVariableInstance processStatusVariable = historyService.createHistoricVariableInstanceQuery()
|
||||||
|
.processInstanceId(hisIns.getId())
|
||||||
|
.variableName(ProcessConstants.PROCESS_STATUS_KEY)
|
||||||
|
.singleResult();
|
||||||
|
String processStatus = null;
|
||||||
|
if (ObjectUtil.isNotNull(processStatusVariable)) {
|
||||||
|
processStatus = Convert.toStr(processStatusVariable.getValue());
|
||||||
|
}
|
||||||
|
// 兼容旧流程
|
||||||
|
if (processStatus == null) {
|
||||||
|
processStatus = ObjectUtil.isNull(hisIns.getEndTime()) ? ProcessStatus.RUNNING.getStatus() : ProcessStatus.COMPLETED.getStatus();
|
||||||
|
}
|
||||||
|
taskVo.setProcessStatus(processStatus);
|
||||||
|
taskVo.setCreateTime(hisIns.getStartTime());
|
||||||
|
taskVo.setFinishTime(hisIns.getEndTime());
|
||||||
|
taskVo.setProcInsId(hisIns.getId());
|
||||||
|
|
||||||
|
// 计算耗时
|
||||||
|
if (Objects.nonNull(hisIns.getEndTime())) {
|
||||||
|
taskVo.setDuration(DateUtils.getDatePoor(hisIns.getEndTime(), hisIns.getStartTime()));
|
||||||
|
} else {
|
||||||
|
taskVo.setDuration(DateUtils.getDatePoor(DateUtils.getNowDate(), hisIns.getStartTime()));
|
||||||
|
}
|
||||||
|
// 流程部署实例信息
|
||||||
|
Deployment deployment = repositoryService.createDeploymentQuery()
|
||||||
|
.deploymentId(hisIns.getDeploymentId()).singleResult();
|
||||||
|
taskVo.setDeployId(hisIns.getDeploymentId());
|
||||||
|
taskVo.setProcDefId(hisIns.getProcessDefinitionId());
|
||||||
|
taskVo.setProcDefName(hisIns.getProcessDefinitionName());
|
||||||
|
taskVo.setProcDefVersion(hisIns.getProcessDefinitionVersion());
|
||||||
|
taskVo.setCategory(deployment.getCategory());
|
||||||
|
|
||||||
|
// 当前所处流程
|
||||||
|
List<Task> taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).includeIdentityLinks().list();
|
||||||
|
if (CollUtil.isNotEmpty(taskList)) {
|
||||||
|
taskVo.setTaskName(taskList.stream().map(Task::getName).filter(StringUtils::isNotEmpty).collect(Collectors.joining(",")));
|
||||||
|
}
|
||||||
|
//taskVo.setProcVars(hisIns.getProcessVariables());
|
||||||
|
// 查询任务节点参数,并转换成Map,目的是获取流程标题(新增于2024年2月29日)
|
||||||
|
List<HistoricVariableInstance> collectors = historyService.createHistoricVariableInstanceQuery().processInstanceId(hisIns.getId()).list();
|
||||||
|
if(CollUtil.isNotEmpty(collectors)){
|
||||||
|
// taskVo.setProcVars(collectors.stream().collect(Collectors.toMap(HistoricVariableInstance::getVariableName, HistoricVariableInstance::getValue)));
|
||||||
|
// 遍历表单属性并获取值
|
||||||
|
collectors.stream().forEach(historicVariableInstance -> {
|
||||||
|
if (historicVariableInstance.getVariableName().equals("description")) {
|
||||||
|
taskVo.setProcVars(historicVariableInstance.getValue());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
taskVoList.add(taskVo);
|
||||||
|
}
|
||||||
|
page.setRecords(taskVoList);
|
||||||
|
return TableDataInfo.build(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WfTaskVo> selectOwnProcessList(ProcessQuery processQuery) {
|
public List<WfTaskVo> selectOwnProcessList(ProcessQuery processQuery) {
|
||||||
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|
||||||
|
|||||||
Reference in New Issue
Block a user