Browse Source

添加费用申请统计字段

contract
Yen 2 years ago
parent
commit
29c692ad25
  1. 11
      src/main/java/com/qs/serve/common/model/dto/R.java
  2. 2
      src/main/java/com/qs/serve/modules/bir/entity/BirBaseActivity.java
  3. 2
      src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
  4. 9
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java
  5. 2
      src/main/java/com/qs/serve/modules/sys/service/SysPostUserService.java
  6. 7
      src/main/java/com/qs/serve/modules/sys/service/impl/SysPostUserServiceImpl.java
  7. 4
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  8. 6
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java
  9. 4
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityBo.java
  10. 3
      src/main/java/com/qs/serve/modules/tbs/entity/vo/CtpAffairVo.java
  11. 14
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

11
src/main/java/com/qs/serve/common/model/dto/R.java

@ -162,6 +162,17 @@ public class R<T> implements Serializable {
return pageVo;
}
public static <TYPE,R_TYPE> PageVo<R_TYPE> buildPageHelperList(List<TYPE> sources,List<R_TYPE> details){
PageVo<R_TYPE> pageVo = new PageVo<>();
PageInfo<TYPE> pageInfo = new PageInfo<>(sources);
pageVo.setPageSize(pageInfo.getPageSize());
pageVo.setPageNum(pageInfo.getPageNum());
pageVo.setTotal(pageInfo.getTotal());
pageVo.setList(details);
pageVo.setTotalPage(new Long(pageInfo.getPages()));
return pageVo;
}
public static <TYPE> R<PageVo<TYPE>> byEmptyList(){
PageVo<TYPE> pageVo = new PageVo<>();
pageVo.setPageSize(PageUtil.getPageSize());

2
src/main/java/com/qs/serve/modules/bir/entity/BirBaseActivity.java

@ -56,7 +56,7 @@ public class BirBaseActivity implements Serializable {
@NotNull(message = "核销金额不能为空")
private BigDecimal verificationAmt;
private Long preActQuantity;
private BigDecimal preActQuantity;
/** 费用通过标识,用于已申请费用活动列表 */
private Integer costPassFlag;

2
src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java

@ -92,7 +92,7 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
List<Long> supplierIds = hisUserSuppliers.stream().map(HisUserSupplier::getSupplierId).collect(Collectors.toList());
if(supplierIds.size()>0) {
List<BmsSupplier> supplierList = bmsSupplierService.listByIds(supplierIds);
return R.buildPageHelperList(supplierList);
return R.buildPageHelperList(hisUserSuppliers,supplierList);
}else{
return R.buildPageHelperList(new ArrayList<>());
}

9
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java

@ -10,7 +10,9 @@ import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeDTO;
import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam;
import com.qs.serve.modules.sys.entity.SysPostUser;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysPostUserService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
@ -19,6 +21,7 @@ import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -140,6 +143,10 @@ public interface SeeYonOperationService extends SeeYonBaseService{
if(ctpAffairs.size()>0){
List<String> oaUserIds = ctpAffairs.stream().map(CtpAffair::getMemberId).collect(Collectors.toList());
List<SysUser> userList = getSysUserService().listByOaMemberIds(oaUserIds);
SysPostUserService postUserService = SpringUtils.getBean(SysPostUserService.class);
List<String> userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList());
List<SysPostUser> postUserList = postUserService.listByUserIds(userIds);
Map<String,List<SysPostUser>> postMap = postUserList.stream().collect(Collectors.groupingBy(SysPostUser::getUserId));
List<CtpAffairVo> result = new ArrayList<>();
for (CtpAffair ctpAffair : ctpAffairs) {
CtpAffairVo ctpAffairVo = new CtpAffairVo();
@ -147,6 +154,8 @@ public interface SeeYonOperationService extends SeeYonBaseService{
for (SysUser user : userList) {
if(ctpAffair.getMemberId().equals(user.getSyUserId())){
ctpAffairVo.setUserInfo(user.toSysUserVo());
List<SysPostUser> postUsers = postMap.get(user.getId());
ctpAffairVo.setUserPostList(postUsers);
}
}
result.add(ctpAffairVo);

2
src/main/java/com/qs/serve/modules/sys/service/SysPostUserService.java

@ -15,6 +15,8 @@ public interface SysPostUserService extends IService<SysPostUser> {
List<SysPostUser> listByUserId(String userId);
List<SysPostUser> listByUserIds(List<String> userIds);
void updatePathIds(String orgPathIds,String newPathIds,String orgPathNames,String newPathNames);
void bind(SysPostUserBo param);

7
src/main/java/com/qs/serve/modules/sys/service/impl/SysPostUserServiceImpl.java

@ -60,6 +60,13 @@ public class SysPostUserServiceImpl extends ServiceImpl<SysPostUserMapper,SysPos
return this.list(lqw);
}
@Override
public List<SysPostUser> listByUserIds(List<String> userIds) {
LambdaQueryWrapper<SysPostUser> lqw = new LambdaQueryWrapper<>();
lqw.in(SysPostUser::getUserId,userIds);
return this.list(lqw);
}
@Override
public void updatePathIds(String orgPathIds,String newPathIds,String orgPathNames,String newPathNames){
LambdaQueryWrapper<SysPostUser> lqw = new LambdaQueryWrapper<>();

4
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -149,10 +149,10 @@ public class TbsActivity implements Serializable {
private Integer preActFlag;
/** 预计活动销量 */
private Long preActQuantity;
private BigDecimal preActQuantity;
/** 预计不做活动销量 */
private Long preNotActQuantity;
private BigDecimal preNotActQuantity;
/** 预估roi费率(人工输入) */
private BigDecimal preRoiRate;

6
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java

@ -134,6 +134,12 @@ public class TbsCostApply implements Serializable {
/** 统计所有活动申请的金额 */
private BigDecimal totalActivityAmount;
/** 统计所有活动预估发货的金额 */
private BigDecimal totalActivityPreAmount;
/** 统计所有活动预估不发货的金额 */
private BigDecimal totalActivityPreNotAmount;
/** 统计所有活动使用的金额 */
private BigDecimal totalActivityUsedAmount;

4
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityBo.java

@ -68,10 +68,10 @@ public class TbsActivityBo implements Serializable {
private Integer preActFlag;
/** 预计活动销量 */
private Long preActQuantity;
private BigDecimal preActQuantity;
/** 预计不做活动销量 */
private Long preNotActQuantity;
private BigDecimal preNotActQuantity;
/** 预估roi费率(人工输入) */
private BigDecimal preRoiRate;

3
src/main/java/com/qs/serve/modules/tbs/entity/vo/CtpAffairVo.java

@ -28,6 +28,9 @@ public class CtpAffairVo {
/** 审批人 */
private Object userInfo;
/** 岗位列表(有可能返回null) */
private List<?> userPostList;
/** 活动 */
private Object activityInfo;

14
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -143,8 +143,8 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activity.setSupplierName(supplier.getName());
activity.setPreActFlag(activityBo.getPreActFlag());
if(activityBo.getPreActFlag()==null||activityBo.getPreActFlag().equals(0)){
activity.setPreActQuantity(0L);
activity.setPreNotActQuantity(0L);
activity.setPreActQuantity(BigDecimal.ZERO);
activity.setPreNotActQuantity(BigDecimal.ZERO);
}else {
activity.setPreActQuantity(activityBo.getPreActQuantity());
activity.setPreNotActQuantity(activityBo.getPreNotActQuantity());
@ -298,17 +298,25 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
*/
private void updateCostTotal(Long costApplyId) {
LambdaQueryWrapper<TbsActivity> lqw = new LambdaQueryWrapper<>();
lqw.select(TbsActivity::getTotalAmount);
lqw.select(TbsActivity::getTotalAmount,
TbsActivity::getPreActQuantity,
TbsActivity::getPreNotActQuantity);
lqw.eq(TbsActivity::getCostApplyId,costApplyId);
List<TbsActivity> activityList = list(lqw);
BigDecimal totalCostAmount = BigDecimal.ZERO;
BigDecimal totalCostAmount2 = BigDecimal.ZERO;
BigDecimal totalCostAmount3 = BigDecimal.ZERO;
for (TbsActivity tbsActivity : activityList) {
totalCostAmount = totalCostAmount.add(tbsActivity.getTotalAmount());
totalCostAmount2 = totalCostAmount2.add(tbsActivity.getPreActQuantity());
totalCostAmount3 = totalCostAmount3.add(tbsActivity.getPreNotActQuantity());
}
TbsCostApply costApplyParam = new TbsCostApply();
costApplyParam.setId(costApplyId);
costApplyParam.setTotalActivity(activityList.size());
costApplyParam.setTotalActivityAmount(totalCostAmount);
costApplyParam.setTotalActivityPreAmount(totalCostAmount2);
costApplyParam.setTotalActivityPreNotAmount(totalCostAmount3);
costApplyService.updateById(costApplyParam);
}

Loading…
Cancel
Save