Merge remote-tracking branch 'origin/master'

This commit is contained in:
梁琦涛
2021-09-26 09:20:41 +08:00
13 changed files with 578 additions and 138 deletions
@@ -0,0 +1,12 @@
package com.jero.message.common;
public class MessageCommon {
/**
* 阅读状态(0未读,1已读)
*/
public final static Integer READ_FLAG1 = 1;
/**
* 阅读状态(0未读,1已读)
*/
public final static Integer READ_FLAG0 = 0;
}
@@ -0,0 +1,179 @@
package com.jero.message.controller;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.message.common.MessageCommon;
import com.jero.message.entity.PayAnnouncementMessage;
import com.jero.message.service.IPayAnnouncementMessageService;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* @Description: 消息
* @Author: jeecg-boot
* @Date: 2021-09-22
* @Version: V1.0
*/
@Api(tags="消息")
@RestController
@RequestMapping("/message/payAnnouncementMessage")
@Slf4j
public class PayAnnouncementMessageController extends JeroController<PayAnnouncementMessage, IPayAnnouncementMessageService> {
@Autowired
private IPayAnnouncementMessageService payAnnouncementMessageService;
/**
* 分页列表查询
*
* @param payAnnouncementMessage
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "消息-分页列表查询")
@ApiOperation(value="消息-分页列表查询", notes="消息-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayAnnouncementMessage payAnnouncementMessage,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
payAnnouncementMessage.setRecipient(sysUser.getId());
QueryWrapper<PayAnnouncementMessage> queryWrapper = QueryGenerator.initQueryWrapper(payAnnouncementMessage, req.getParameterMap());
Page<PayAnnouncementMessage> page = new Page<>(pageNo, pageSize);
IPage<PayAnnouncementMessage> pageList = payAnnouncementMessageService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* @Description 已读
* @Author lqt
* @Date 2021/9/22
* @Param
* @Return
* @Exception
*/
@AutoLog(value = "消息-已读")
@ApiOperation(value="消息-已读", notes="消息-已读")
@PostMapping(value = "/add")
public Result<?> update(@RequestBody PayAnnouncementMessage payAnnouncementMessage) {
LambdaUpdateWrapper<PayAnnouncementMessage> update = new LambdaUpdateWrapper<>();
update.eq(PayAnnouncementMessage::getId,payAnnouncementMessage.getId());
update.set(PayAnnouncementMessage::getReadFlag,MessageCommon.READ_FLAG1);
payAnnouncementMessageService.update(update);
return Result.OK("操作成功!");
}
/**
* 添加
*
* @param payAnnouncementMessage
* @return
*/
// @AutoLog(value = "pay_announcement_message-添加")
// @ApiOperation(value="pay_announcement_message-添加", notes="pay_announcement_message-添加")
// @PostMapping(value = "/add")
public Result<?> add(@RequestBody PayAnnouncementMessage payAnnouncementMessage) {
payAnnouncementMessageService.save(payAnnouncementMessage);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param payAnnouncementMessage
* @return
*/
// @AutoLog(value = "pay_announcement_message-编辑")
// @ApiOperation(value="pay_announcement_message-编辑", notes="pay_announcement_message-编辑")
// @PutMapping(value = "/edit")
public Result<?> edit(@RequestBody PayAnnouncementMessage payAnnouncementMessage) {
payAnnouncementMessageService.updateById(payAnnouncementMessage);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
// @AutoLog(value = "pay_announcement_message-通过id删除")
// @ApiOperation(value="pay_announcement_message-通过id删除", notes="pay_announcement_message-通过id删除")
// @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
payAnnouncementMessageService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
// @AutoLog(value = "pay_announcement_message-批量删除")
// @ApiOperation(value="pay_announcement_message-批量删除", notes="pay_announcement_message-批量删除")
// @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.payAnnouncementMessageService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "pay_announcement_message-通过id查询")
@ApiOperation(value="pay_announcement_message-通过id查询", notes="pay_announcement_message-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
PayAnnouncementMessage payAnnouncementMessage = payAnnouncementMessageService.getById(id);
if(payAnnouncementMessage==null) {
return Result.error("未找到对应数据");
}
return Result.OK(payAnnouncementMessage);
}
/**
* 导出excel
*
* @param request
* @param payAnnouncementMessage
*/
// @RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayAnnouncementMessage payAnnouncementMessage) {
return super.exportXls(request, payAnnouncementMessage, PayAnnouncementMessage.class, "pay_announcement_message");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, PayAnnouncementMessage.class);
}
}
@@ -0,0 +1,89 @@
package com.jero.message.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: pay_announcement_message
* @Author: jeecg-boot
* @Date: 2021-09-22
* @Version: V1.0
*/
@Data
@TableName("pay_announcement_message")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="pay_announcement_message对象", description="pay_announcement_message")
public class PayAnnouncementMessage implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**标题*/
@Excel(name = "标题", width = 15)
@ApiModelProperty(value = "标题")
private String titile;
/**内容*/
@Excel(name = "内容", width = 15)
@ApiModelProperty(value = "内容")
private String msgContent;
/**发布人*/
@Excel(name = "发布人", width = 15)
@ApiModelProperty(value = "发布人")
private String sender;
/**接收用户*/
@Excel(name = "接收用户", width = 15)
@ApiModelProperty(value = "接收用户")
private String recipient;
/**消息类型(字典表)*/
@Excel(name = "消息类型(字典表)", width = 15)
@ApiModelProperty(value = "消息类型(字典表)")
private Integer msgCategory;
/**操作*/
@Excel(name = "操作", width = 15)
@ApiModelProperty(value = "操作")
private String operation;
/**业务id*/
@Excel(name = "业务id", width = 15)
@ApiModelProperty(value = "业务id")
private String busId;
/**阅读状态(0未读,1已读)*/
@Excel(name = "阅读状态(0未读,1已读)", width = 15)
@ApiModelProperty(value = "阅读状态(0未读,1已读)")
private Integer readFlag;
/**阅读时间*/
@Excel(name = "阅读时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "阅读时间")
private Date readTime;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
@@ -0,0 +1,15 @@
package com.jero.message.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.message.entity.PayAnnouncementMessage;
/**
* @Description: pay_announcement_message
* @Author: jeecg-boot
* @Date: 2021-09-22
* @Version: V1.0
*/
public interface PayAnnouncementMessageMapper extends BaseMapper<PayAnnouncementMessage> {
}
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.message.mapper.PayAnnouncementMessageMapper">
</mapper>
@@ -0,0 +1,16 @@
package com.jero.message.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.message.entity.PayAnnouncementMessage;
/**
* @Description: pay_announcement_message
* @Author: jeecg-boot
* @Date: 2021-09-22
* @Version: V1.0
*/
public interface IPayAnnouncementMessageService extends IService<PayAnnouncementMessage> {
void sendMessage(PayAnnouncementMessage payAnnouncementMessage);
}
@@ -0,0 +1,46 @@
package com.jero.message.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.WebsocketConst;
import com.jero.common.exception.JeroBootException;
import com.jero.message.common.MessageCommon;
import com.jero.message.entity.PayAnnouncementMessage;
import com.jero.message.mapper.PayAnnouncementMessageMapper;
import com.jero.message.service.IPayAnnouncementMessageService;
import com.jero.modules.message.websocket.WebSocket;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Objects;
/**
* @Description: pay_announcement_message
* @Author: jeecg-boot
* @Date: 2021-09-22
* @Version: V1.0
*/
@Service
public class PayAnnouncementMessageServiceImpl extends ServiceImpl<PayAnnouncementMessageMapper, PayAnnouncementMessage> implements IPayAnnouncementMessageService {
@Autowired
private IPayAnnouncementMessageService payAnnouncementMessageService;
@Resource
private WebSocket webSocket;
@Override
@Transactional
public void sendMessage(PayAnnouncementMessage payAnnouncementMessage) {
if(Objects.isNull(payAnnouncementMessage)){
throw new JeroBootException("发送消息失败!");
}
payAnnouncementMessage.setReadFlag(MessageCommon.READ_FLAG0);
payAnnouncementMessageService.save(payAnnouncementMessage);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER);
obj.put(WebsocketConst.MSG_USER_ID, payAnnouncementMessage.getRecipient());
obj.put(WebsocketConst.MSG_ID, payAnnouncementMessage.getId());
obj.put(WebsocketConst.MSG_TXT, payAnnouncementMessage.getTitile());
webSocket.sendMessage(payAnnouncementMessage.getRecipient(), obj.toJSONString());
}
}
@@ -140,7 +140,7 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
* @param companyComeMoneyDetailSearch
* @return
*/
IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page,@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch);
IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page,@Param("CompanyComeMoneyDetailSearch") CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,@Param("idList") List<String> idList );
/**
* 企业来款详情
@@ -562,7 +562,7 @@
left JOIN sys_user su on(pm.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by pm.director_id) pp
group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney ) pppp left join sys_user su on(pppp.principalId=su.id) left join sys_depart sd on(su.org_code=sd.org_code) group by sd.org_code limit 10
group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney ) pppp left join sys_user su on(pppp.principalId=su.id) left join sys_depart sd on(su.org_code=sd.org_code) group by sd.org_code order by pppp.comeAllMoney desc limit 10
</select>
<select id="getGroupList" resultType="java.lang.String">
@@ -588,7 +588,7 @@
sum(pwgs.comeAllMoney) as comeAllMoney,
pwg.create_time as createTime
FROM pay_working_group pwg
inner JOIN (
right JOIN (
select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney
from (select
pwg1s.id,working_group_id,receivable_amount,paid_amount
@@ -654,7 +654,7 @@
SUM(pmps.comeAllMoney) AS comeAllMoney,
pmp.create_time as createTime
FROM pay_member_project pmp
inner join (
right join (
select id,projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney from(
select pmp1s.id,pmp1s.project_id as projectId,amount_receivable,paid_amount from
pay_member_project_subitem pmp1s
@@ -686,7 +686,7 @@
sum(pms.allMoney) as allMoney,
sum(pms.comeAllMoney) as comeAllMoney,
pm.create_time as createTime
FROM pay_meeting pm inner join (
FROM pay_meeting pm right join (
select id,meeting_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney
from
@@ -1007,19 +1007,16 @@
(SELECT
pwgs.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
allMoney,
comeAllMoney,
pwgs.create_time as createTime
FROM pay_working_group pwg
right JOIN (
select pwg1s.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwg1s.create_time
FROM (
select pwgs2.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwgs2.create_time
from (select
pwg1s.id,working_group_id,receivable_amount,paid_amount,charge_company_id,pwg1s.create_time
from pay_working_group_subitem pwg1s inner join pay_payment_record ppr on(pwg1s.id=ppr.project_id)
WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%')
GROUP BY pwg1s.charge_company_id
) pwgs
ON (pwg.id=pwgs.working_group_id)
left JOIN sys_user su on(pwg.principal_id_a=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id)
WHERE ppr.payment_date like concat('%',#{companyComeMoneySearch.year},'%') group by pwg1s.id) pwgs2 left join pay_working_group pwg
ON (pwg.id=pwgs2.working_group_id)
<where>
<if test="idList != null and idList != ''">
pwg.principal_id_a in
@@ -1027,78 +1024,88 @@
#{item}
</foreach>
</if>
</where>
GROUP BY pwgs2.charge_company_id
) pwgs
left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id)
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pwgs.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> GROUP BY pwgs.charge_company_id
</where>
union all
SELECT
pcp.charge_company_id as chargeCompanyTemporaryId,
pcp1.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
sum(pcp.receivable_amount) as allMoney,
sum(pcp.paid_amount) as comeAllMoney,
pcp.create_time as createTime
FROM pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id)
left JOIN sys_user su on(pcp.principal_id=su.id) left join sys_depart sd
on(su.org_code=sd.org_code)
left join pay_company_management pcm on(pcm.id=pcp.charge_company_id)
sum(pcp1.receivable_amount) as allMoney,
sum(pcp1.paid_amount) as comeAllMoney,
pcp1.create_time as createTime
FROM
(select pcp.principal_id,pcp.principal_name,pcp.receivable_amount,pcp.paid_amount,pcp.create_time,pcp.charge_company_id from
pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id)
where
ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
group by pcp.id
) pcp1
left join pay_company_management pcm on(pcm.id=pcp1.charge_company_id)
<where>
ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
<if test="idList != null and idList != ''">
pcp.principal_id in
pcp1.principal_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pcp.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
AND pcp1.charge_company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> group by pcp.charge_company_id
</where> group by pcp1.charge_company_id
union all
SELECT
pmps.company_id as chargeCompanyTemporaryId,
pmps.company_name as chargeCompanyTemporaryName,
sum(pmps.allMoney) as allMoney,
pmps.comeAllMoney as comeAllMoney,
pmps.create_time as createTime
FROM pay_member_project pmp inner join (select
pmp1s.id,pmp1s.project_id as projectId,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS
comeAllMoney,pmp1s.create_time,company_id,company_name
from pay_member_project_subitem pmp1s
inner join pay_payment_record ppr on(pmp1s.id=ppr.project_id)
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
create_time as createTime
FROM (
select projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney ,pmp1s.create_time,company_id,company_name from(
select pmp2s.id,pmp2s.project_id as projectId,amount_receivable,paid_amount,pmp2s.create_time,company_id,company_name from
pay_member_project_subitem pmp2s
inner join pay_payment_record ppr on(pmp2s.id=ppr.project_id)
WHERE ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
GROUP BY pmp1s.company_id) pmps on(pmp.id=pmps.projectId)
left JOIN sys_user su on(pmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
GROUP BY pmp2s.id) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId)
<where>
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
</where>
group by pmp1s.company_id
) pmps
<where>
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pmps.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> group by pmps.company_id
</where>
union all
SELECT
pms.company_id as chargeCompanyTemporaryId,
pms.company_name as chargeCompanyTemporaryName,
sum(pms.allMoney) as allMoney,
sum(pms.comeAllMoney) as comeAllMoney,
pms.create_time as createTime
FROM pay_meeting pm inner join (select pm1s.id,meeting_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,pm1s.create_time,company_id,company_name
from pay_meeting_situation pm1s
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
createTime
FROM (select SUM(allMoney) AS
allMoney,SUM(comeAllMoney) AS comeAllMoney,pms.create_time as createTime ,company_id,company_name
from (select pm1s.meeting_id,amount_receivable as allMoney ,paid_amount as comeAllMoney,pm1s.create_time,company_id,company_name
from pay_meeting_situation pm1s
inner join pay_payment_record ppr on(pm1s.id=ppr.project_id)
WHERE ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
GROUP BY pm1s.company_id) pms on(pm.id=pms.meeting_id)
left JOIN sys_user su on(pm.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
GROUP BY pm1s.id) pms left join pay_meeting pm on(pm.id=pms.meeting_id)
<where>
<if test="idList != null and idList != ''">
pm.director_id in
@@ -1106,33 +1113,41 @@
#{item}
</foreach>
</if>
</where> group by pms.company_id) pmss
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND pms.company_id=#{companyComeMoneySearch.chargeCompanyId}
AND pmss.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> group by pms.company_id
</where>
union all
SELECT
tmps.company_id as chargeCompanyTemporaryId,
tmps.company_name as chargeCompanyTemporaryName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmps.create_time as createTime
FROM tb_member_project tmp inner join (select tmp1s.id,tmp1s.project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tmp1s.create_time,company_id,company_name
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
createTime
FROM (select SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tpms.create_time as createTime ,company_id,company_name
from(select amount_receivable,paid_amount,tmp1s.create_time,company_id,company_name,tmp1s.project_id
from tb_member_project_subitem tmp1s
inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id)
WHERE ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
GROUP BY tmp1s.company_id) tmps on(tmp.id=tmps.project_id)
concat('%',#{companyComeMoneySearch.year},'%') group by tmp1s.id) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
<where>
<if test="idList != null and idList != ''">
tmp.id =9999999999999999999999999999999999999999
ppp.id =9999999999999999999999999999999999999999
</if>
</where>
group by tpms.company_id) ppp
<where>
<if test="companyComeMoneySearch.chargeCompanyId != null and companyComeMoneySearch.chargeCompanyId != ''">
AND tmps.company_id=#{companyComeMoneySearch.chargeCompanyId}
AND ppp.company_id=#{companyComeMoneySearch.chargeCompanyId}
</if>
</where> group by tmps.company_id
</where>
) pp
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp
<where>
@@ -1152,7 +1167,7 @@
</choose>
</where>
</select>
<!--首页前十公司统计-->
<select id="queryPageListForCompanyFirstPage" resultType="com.jero.statistics.entity.CompanyComeMoneyList">
select chargeCompanyTemporaryId as chargeCompanyId, chargeCompanyTemporaryName as
chargeCompanyName,allMoney,comeAllMoney,createTime,
@@ -1164,79 +1179,85 @@
(SELECT
pwgs.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
sum(allMoney) as allMoney,
sum(comeAllMoney) as comeAllMoney,
allMoney,
comeAllMoney,
pwgs.create_time as createTime
FROM pay_working_group pwg
right JOIN (
select pwg1s.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwg1s.create_time
FROM (
select pwgs2.id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney,charge_company_id,pwgs2.create_time
from (select
pwg1s.id,working_group_id,receivable_amount,paid_amount,charge_company_id,pwg1s.create_time
from pay_working_group_subitem pwg1s inner join pay_payment_record ppr on(pwg1s.id=ppr.project_id)
GROUP BY pwg1s.charge_company_id
group by pwg1s.id) pwgs2 left join pay_working_group pwg
ON (pwg.id=pwgs2.working_group_id)
GROUP BY pwgs2.charge_company_id
) pwgs
ON (pwg.id=pwgs.working_group_id)
left JOIN sys_user su on(pwg.principal_id_a=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
left join pay_company_management pcm on(pcm.id=pwgs.charge_company_id)
GROUP BY pwgs.charge_company_id
union all
SELECT
pcp.charge_company_id as chargeCompanyTemporaryId,
pcp1.charge_company_id as chargeCompanyTemporaryId,
pcm.company_name as chargeCompanyTemporaryName,
sum(pcp.receivable_amount) as allMoney,
sum(pcp.paid_amount) as comeAllMoney,
pcp.create_time as createTime
FROM pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id)
left JOIN sys_user su on(pcp.principal_id=su.id) left join sys_depart sd
on(su.org_code=sd.org_code)
left join pay_company_management pcm on(pcm.id=pcp.charge_company_id)
group by pcp.charge_company_id
sum(pcp1.receivable_amount) as allMoney,
sum(pcp1.paid_amount) as comeAllMoney,
pcp1.create_time as createTime
FROM
(select pcp.principal_id,pcp.principal_name,pcp.receivable_amount,pcp.paid_amount,pcp.create_time,pcp.charge_company_id from
pay_common_project pcp inner join pay_payment_record ppr on(pcp.id=ppr.project_id)
where
ppr.payment_date like
concat('%',#{companyComeMoneySearch.year},'%')
group by pcp.id
) pcp1
left join pay_company_management pcm on(pcm.id=pcp1.charge_company_id)
group by pcp1.charge_company_id
union all
SELECT
pmps.company_id as chargeCompanyTemporaryId,
pmps.company_name as chargeCompanyTemporaryName,
sum(pmps.allMoney) as allMoney,
pmps.comeAllMoney as comeAllMoney,
pmps.create_time as createTime
FROM pay_member_project pmp inner join (select
pmp1s.id,pmp1s.project_id as projectId,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS
comeAllMoney,pmp1s.create_time,company_id,company_name
from pay_member_project_subitem pmp1s
inner join pay_payment_record ppr on(pmp1s.id=ppr.project_id)
GROUP BY pmp1s.company_id) pmps on(pmp.id=pmps.projectId)
left JOIN sys_user su on(pmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by pmps.company_id
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
create_time as createTime
FROM (
select projectId,sum(amount_receivable) AS allMoney,sum(paid_amount) AS comeAllMoney ,pmp1s.create_time,company_id,company_name from(
select pmp2s.id,pmp2s.project_id as projectId,amount_receivable,paid_amount,pmp2s.create_time,company_id,company_name from
pay_member_project_subitem pmp2s
inner join pay_payment_record ppr on(pmp2s.id=ppr.project_id)
GROUP BY pmp2s.id) pmp1s left join pay_member_project pmp on(pmp.id=pmp1s.projectId)
group by pmp1s.company_id
) pmps
union all
SELECT
pms.company_id as chargeCompanyTemporaryId,
pms.company_name as chargeCompanyTemporaryName,
sum(pms.allMoney) as allMoney,
sum(pms.comeAllMoney) as comeAllMoney,
pms.create_time as createTime
FROM pay_meeting pm inner join (select pm1s.id,meeting_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,pm1s.create_time,company_id,company_name
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
createTime
FROM (select SUM(allMoney) AS
allMoney,SUM(comeAllMoney) AS comeAllMoney,pms.create_time as createTime ,company_id,company_name
from (select pm1s.meeting_id,amount_receivable as allMoney ,paid_amount as comeAllMoney,pm1s.create_time,company_id,company_name
from pay_meeting_situation pm1s
inner join pay_payment_record ppr on(pm1s.id=ppr.project_id)
GROUP BY pm1s.company_id) pms on(pm.id=pms.meeting_id)
left JOIN sys_user su on(pm.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by pms.company_id
GROUP BY pm1s.id) pms left join pay_meeting pm on(pm.id=pms.meeting_id)
group by pms.company_id) pmss
union all
SELECT
tmps.company_id as chargeCompanyTemporaryId,
tmps.company_name as chargeCompanyTemporaryName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmps.create_time as createTime
FROM tb_member_project tmp inner join (select tmp1s.id,tmp1s.project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tmp1s.create_time,company_id,company_name
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
createTime
FROM (select SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tpms.create_time as createTime ,company_id,company_name
from(select amount_receivable,paid_amount,tmp1s.create_time,company_id,company_name,tmp1s.project_id
from tb_member_project_subitem tmp1s
inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id)
group by tmp1s.id) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
group by tpms.company_id) ppp
GROUP BY tmp1s.company_id) tmps on(tmp.id=tmps.project_id)
group by tmps.company_id
) pp
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp order by ppp.comeAllMoney desc limit 10
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp
order by ppp.comeAllMoney desc limit 10
</select>
@@ -1253,6 +1274,12 @@ group by pmps.company_id
left join pay_working_group pwg on (pwgs.working_group_id=pwg.id)
<where>
pwgs.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
pwg.principal_id_a in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pwg.working_group_project LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -1289,6 +1316,12 @@ group by pmps.company_id
FROM pay_common_project pcp
<where>
pcp.charge_company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
PCP.principal_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pcp.charge_project LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -1325,6 +1358,12 @@ group by pmps.company_id
FROM pay_meeting pm right join pay_meeting_situation pms on(pm.id=pms.meeting_id)
<where>
pms.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
pm.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pm.meeting_name LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -1361,6 +1400,12 @@ group by pmps.company_id
FROM pay_member_project pmp right join pay_member_project_subitem pmps on(pmp.id=pmps.project_id)
<where>
pmps.company_id = #{CompanyComeMoneyDetailSearch.chargeCompanyId}
<if test="idList != null and idList != ''">
pmp.director_id in
<foreach item="item" open="(" separator="," close=")" collection="idList">
#{item}
</foreach>
</if>
<if test="CompanyComeMoneyDetailSearch.projectName != null and CompanyComeMoneyDetailSearch.projectName != ''">
AND pmp.project_name LIKE
concat('%',concat(#{CompanyComeMoneyDetailSearch.projectName},'%'))
@@ -157,7 +157,7 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @param companyComeMoneyDetailSearch
* @return
*/
IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch);
IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,List<String> idList );
/**
* 企业来款详情统计导出
@@ -174,12 +174,25 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
*/
List<CompanyComeMoneyList> queryPageListForCompanyExcel(CompanyComeMoneySearch companyComeMoneySearch, List<String> idList);
/**
* 首页模块统计
* @return
*/
List<PrincipalPeopleList> queryPageListForPrincipalFirstPage();
/**
* 首页模块统计
* @return
*/
List<PayWorkingGroupStatistics> queryPageListForStatisticsFirstPage();
/**
* 首页模块统计
* @return
*/
List<CompanyComeMoneyList> queryPageListForCompanyFirstPage();
/**
* 首页模块统计
* @return
*/
List<DepartStatistics> queryPageListForDepartFirstPage();
}
@@ -252,8 +252,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
* @return
*/
@Override
public IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch) {
return payWorkingGroupMapper.queryPageListForCompanyDetail(page,companyComeMoneyDetailSearch);
public IPage<CompanyComeMoneyDetail> queryPageListForCompanyDetail(Page<CompanyComeMoneyDetail> page, CompanyComeMoneyDetailSearch companyComeMoneyDetailSearch,List<String> idList ) {
return payWorkingGroupMapper.queryPageListForCompanyDetail(page,companyComeMoneyDetailSearch,idList);
}
/**
@@ -122,8 +122,28 @@ public class CompanyComeMoneyStatisticsController {
String year = String.valueOf(calendar.get(Calendar.YEAR));
companyComeMoneyDetailSearch.setYear(year);
}
//根据不同角色加载不同列表的参数
List<String> idList = new ArrayList<>();
//判断登录角色,显示特定工作组内容,判断依据为登录用户的角色和机构编码
LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal();
String roleCode = sysUser.getRoleCode();
//科长
if(constant.BMFZR.equals(roleCode)) {
String orgCode = sysUser.getOrgCode();
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode));
idList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
//所领导或者超级管理员
} else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) {
idList=null;
//企业职员项目负责人
}else if( constant.QYRY.equals(roleCode)){
String userId = sysUser.getId();
idList.add(userId);
}else {
idList=null;
}
Page<CompanyComeMoneyDetail> page = new Page<>(pageNo, pageSize);
IPage<CompanyComeMoneyDetail> pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch);
IPage<CompanyComeMoneyDetail> pageList = payWorkingGroupService.queryPageListForCompanyDetail(page, companyComeMoneyDetailSearch,idList);
HashMap<String, Object> hashMap = new HashMap<>();
double sum=0;
double sum2 =0;
@@ -21,7 +21,7 @@ import java.util.List;
* @author zql
* @date 2021/9/24 16:08
*/
@Api(tags="首页统计")
@Api(tags="首页前十统计")
@RestController
@RequestMapping("/statistics/principalPeople")
@Slf4j