Browse Source

时间财务图统计

ptos
lucky 4 years ago
parent
commit
e462d7cba4
  1. 10
      src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java
  2. 8
      src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java
  3. 19
      src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java
  4. 7
      src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java
  5. 10
      src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java
  6. 5
      src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java
  7. 40
      src/main/resources/mapper_dao/PluFinanceApplyDao.xml

10
src/main/java/com/ccsens/ptccsens/api/ProjectFinanceController.java

@ -93,4 +93,14 @@ public class ProjectFinanceController {
log.info("查看所有的费用申请结束:{}",financeOfProjectList);
return JsonResponse.newInstance().ok(financeOfProjectList);
}
@MustLogin
@ApiOperation(value = "时间财务图-统计", notes = "")
@RequestMapping(value = "/timeFinancialChart", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProjectFinanceVo.TimeFinancialChart>> timeFinancialChart(@ApiParam @Validated @RequestBody QueryDto<ProjectFinanceDto.TimeFinancialChart> params) throws Exception{
log.info("查看所有的费用申请开始{}",params);
List<ProjectFinanceVo.TimeFinancialChart> timeFinancialChart = projectFinanceService.timeFinancialChart(params.getParam(),params.getUserId());
log.info("查看所有的费用申请结束:{}",timeFinancialChart);
return JsonResponse.newInstance().ok(timeFinancialChart);
}
}

8
src/main/java/com/ccsens/ptccsens/bean/dto/ProjectFinanceDto.java

@ -93,4 +93,12 @@ public class ProjectFinanceDto {
@ApiModelProperty("每页的数量")
private Integer pageSize = 10;
}
@Data
@ApiModel("时间财务图-入参")
public static class TimeFinancialChart {
@NotNull
@ApiModelProperty("项目id")
private Long projectId;
}
}

19
src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java

@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.charts.ChartData;
import java.util.List;
@ -131,4 +132,22 @@ public class ProjectFinanceVo {
@ApiModelProperty("类目名")
private String categoryName;
}
@Data
@ApiModel("时间财务图-返参")
public static class TimeFinancialChart {
@ApiModelProperty("时间")
private String time;
@ApiModelProperty("数据")
private List<ChartData> data;
}
@Data
@ApiModel("时间财务图-具体数据")
public static class ChartData {
@ApiModelProperty("任务名称")
private String name;
@ApiModelProperty("支出")
private Long expend;
}
}

7
src/main/java/com/ccsens/ptccsens/persist/dao/PluFinanceApplyDao.java

@ -36,4 +36,11 @@ public interface PluFinanceApplyDao extends PluFinanceMapper {
* @return 所有的费用申请
*/
List<ProjectFinanceVo.AllMoneyApply> queryAllMoneyApply(@Param("projectId") Long projectId);
/**
* 时间财务图-统计
* @param projectId 项目id
* @return 时间财务图
*/
List<ProjectFinanceVo.TimeFinancialChart> timeFinancialChart(@Param("projectId") Long projectId);
}

10
src/main/java/com/ccsens/ptccsens/service/IProjectFinanceService.java

@ -5,6 +5,8 @@ import com.ccsens.ptccsens.bean.vo.ProjectFinanceVo;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import java.util.List;
/**
* @author AUSU
*/
@ -54,4 +56,12 @@ public interface IProjectFinanceService {
* @return 项目下所有的费用申请
*/
PageInfo<ProjectFinanceVo.AllMoneyApply> queryAllMoneyApply(ProjectFinanceDto.QueryAllMoneyApply param, Long userId);
/**
* 时间财务图-统计
* @param param 入参
* @param userId 用户id
* @return 时间财务图
*/
List<ProjectFinanceVo.TimeFinancialChart> timeFinancialChart(ProjectFinanceDto.TimeFinancialChart param, Long userId);
}

5
src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java

@ -203,4 +203,9 @@ public class ProjectFinanceService implements IProjectFinanceService{
return new PageInfo<>(allMoneyApplyList);
}
@Override
public List<ProjectFinanceVo.TimeFinancialChart> timeFinancialChart(ProjectFinanceDto.TimeFinancialChart param, Long userId) {
return pluFinanceApplyDao.timeFinancialChart(param.getProjectId());
}
}

40
src/main/resources/mapper_dao/PluFinanceApplyDao.xml

@ -101,5 +101,45 @@
AND ft2.rec_status = 0
</select>
<resultMap id="TimeFinancialChart" type="com.ccsens.ptccsens.bean.vo.ProjectFinanceVo$TimeFinancialChart">
<id column="time" property="time"/>
<collection property="data" ofType="com.ccsens.ptccsens.bean.vo.ProjectFinanceVo$ChartData">
<id column="name" property="name"/>
<result column="expend" property="expend"/>
</collection>
</resultMap>
<select id="timeFinancialChart" resultMap="TimeFinancialChart">
SELECT
task.`name`,
DATE_FORMAT(FROM_UNIXTIME (fa.apply_time/1000),'%Y-%m') AS `time`,
SUM(fa.money) AS expend
FROM
(
SELECT
ppt2.task_detail_id AS taskId,
td.`name`,
td.rec_status
FROM
t_pro_parent_task AS ppt2
LEFT JOIN t_pro_task_detail AS td ON td.id = ppt2.task_detail_id
WHERE
ppt2.rec_status = 0
AND ppt2.parent_task_detail_id IN (
SELECT
task_detail_id
FROM
t_pro_parent_task AS ppt1
WHERE
ppt1.parent_task_detail_id = #{projectId}
AND ppt1.rec_status = 0
)
AND td.rec_status = 0
) AS task
LEFT JOIN t_plu_finance AS f ON f.task_id = task.taskId
LEFT JOIN t_plu_finance_apply AS fa ON f.id = fa.finance_id
AND f.rec_status = 0 AND fa.rec_status = 0
GROUP BY task.`name`,DATE_FORMAT(FROM_UNIXTIME (fa.apply_time/1000),'%Y-%m')
</select>
</mapper>
Loading…
Cancel
Save