Browse Source

审批辅助选择成本中心接口调整

checkBack
15989082884@163.com 1 year ago
parent
commit
af7de60311
  1. 31
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  2. 3
      src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java
  3. 2
      src/main/java/com/qs/serve/modules/bir/service/BirBudgetTargetService.java
  4. 61
      src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java
  5. 27
      src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java
  6. 21
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java
  7. 21
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  8. 17
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  9. 6
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  10. 28
      src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml

31
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -173,21 +173,28 @@ public class BirRoiRateController {
return R.ok(list);
}
@PostMapping("/buildCustomerCost")
public R<?> buildCustomerCost(){
// boolean isRestBir = BirHttpUtil.isRestBir();
// if(isRestBir){
// return BirHttpUtil.get("/bir/roiRate/buildCustomerCost");
// }
birBudgetTargetImportService.deleteAll();
birBudgetTargetImportService.buildCustomerCost();
birBudgetTargetImportService.buildCityCost();
birBudgetTargetImportService.buildProCost();
birBudgetTargetImportService.buildAreaCost();
return R.ok();
@GetMapping("/getCenterByTargetId")
public R<List<String>> getCenterByTargetId(@RequestBody BirBudgetTargetSo query){
List<String> list = birBudgetTargetService.getCenterByTargetId(query);
return R.ok(list);
}
// @PostMapping("/buildCustomerCost")
// public R<?> buildCustomerCost(){
//// boolean isRestBir = BirHttpUtil.isRestBir();
//// if(isRestBir){
//// return BirHttpUtil.get("/bir/roiRate/buildCustomerCost");
//// }
// birBudgetTargetImportService.deleteAll();
// birBudgetTargetImportService.buildCustomerCost();
// birBudgetTargetImportService.buildCityCost();
// birBudgetTargetImportService.buildProCost();
// birBudgetTargetImportService.buildAreaCost();
// return R.ok();
// }
/**
* 获取成本中心费率
* @param costApplyId

3
src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java

@ -45,5 +45,8 @@ public interface BirActivityCenterGoodsMapper extends BaseMapper<BirActivityCent
@InterceptorIgnore(tenantLine = "true")
List<BirBaseDispatchVo> list4DispatchSqlserver(@Param("query") BirBudgetTargetSo so);
@InterceptorIgnore(tenantLine = "true")
List<BirActivityCenterGoods> list4CenterSqlserver(@Param("query") BirBudgetTargetSo so);
}

2
src/main/java/com/qs/serve/modules/bir/service/BirBudgetTargetService.java

@ -19,5 +19,5 @@ public interface BirBudgetTargetService extends IService<BirBudgetTarget> {
List<BirBaseReportVo> listBaseVo(BirBudgetTargetSo query);
List<String> getCenterByTargetId(BirBudgetTargetSo query);
}

61
src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.BirHttpUtil;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.modules.bir.entity.BirActivityCenterGoods;
import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo;
@ -53,18 +54,9 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl<BirBudgetTargetMappe
private BmsRegionService bmsRegionService;
private BirActivityCenterGoodsMapper birActivityCenterGoodsMapper;
@Override
public List<BirBaseReportVo> listBaseVo(BirBudgetTargetSo query) {
List<BirBaseReportVo> returnList = new ArrayList<>();
private void initQuery(BirBudgetTargetSo query){
query.setLoadType(query.getLoadType()-1);
LocalDateTime endMonth = query.getYearMonthEnd();
LocalDateTime startMonth = query.getYearMonthStart();
query.setYearMonthStartQuery(startMonth.getYear()*100 + startMonth.getMonthValue());
query.setYearMonthEndQuery(endMonth.getYear()*100 + endMonth.getMonthValue());
query.setSelectCenterFlag(0);
if(CollUtil.isNotEmpty(query.getCenterList())){
query.setSelectCenterFlag(1);
}
if(query.getLoadType()==0) {
BmsSupplier supplier = bmsSupplierService.getById(query.getTargetId());
if(supplier==null){
@ -135,6 +127,20 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl<BirBudgetTargetMappe
.distinct().collect(Collectors.toList());
query.setSupplierCodes(supplierCodes);
}
}
@Override
public List<BirBaseReportVo> listBaseVo(BirBudgetTargetSo query) {
List<BirBaseReportVo> returnList = new ArrayList<>();
LocalDateTime endMonth = query.getYearMonthEnd();
LocalDateTime startMonth = query.getYearMonthStart();
query.setYearMonthStartQuery(startMonth.getYear()*100 + startMonth.getMonthValue());
query.setYearMonthEndQuery(endMonth.getYear()*100 + endMonth.getMonthValue());
query.setSelectCenterFlag(0);
if(CollUtil.isNotEmpty(query.getCenterList())){
query.setSelectCenterFlag(1);
}
initQuery(query);
List<BirActivityCenterGoods> birActivityCenterGoodsList = new ArrayList<>();
List<BirBaseDispatchVo> birBaseDispatchVoList = new ArrayList<>();
@ -213,7 +219,7 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl<BirBudgetTargetMappe
}
if(vo.getDispatchAmt().compareTo(BigDecimal.ZERO)!=0){
vo.setTotalRealRate(vo.getTotalRealAmt().divide(vo.getDispatchAmt(), 2, RoundingMode.DOWN));
vo.setTotalRealRate(vo.getTotalRealAmt().divide(vo.getDispatchAmt(), 4, RoundingMode.DOWN));
}
return vo;
@ -368,5 +374,36 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl<BirBudgetTargetMappe
return targetVo;
}
public List<String> getCenterByTargetId(BirBudgetTargetSo query){
boolean isRestBir = BirHttpUtil.isRestBir();
if(isRestBir){
return (List<String>) BirHttpUtil.get("/bir/roiRate/getCenterByTargetId",query).getData();
}
initQuery(query);
List<BirActivityCenterGoods> centerGoodsList = new ArrayList<>();
if(query.getSupplierIds().size()>2000 || query.getSupplierCodes().size()>2000) {
List<String> supplierIds = query.getSupplierIds();
List<String> supplierCodes = query.getSupplierCodes();
List<List<String>> supplierIdList = CollectionUtil.createList(supplierIds, 2000);
List<List<String>> supplierCodeList = CollectionUtil.createList(supplierCodes, 2000);
for(int i=0;i<supplierIdList.size();i++) {
List<String> tempIds = supplierIdList.get(i);
tempIds.add("-99");
query.setSupplierIds(tempIds);
List<BirActivityCenterGoods> tempCenterGoodsList = birActivityCenterGoodsMapper.list4CenterSqlserver(query);
centerGoodsList.addAll(tempCenterGoodsList);
}
}else{
//防止传入空数组,导致SQL查出所有客户
List<String> supplierIds = query.getSupplierIds();
supplierIds.add("-99");
query.setSupplierIds(supplierIds);
centerGoodsList = birActivityCenterGoodsMapper.list4CenterSqlserver(query);
}
List<String> centerIdList = centerGoodsList.stream().map(a->a.getCenterId()).collect(Collectors.toList());
return centerIdList;
}
}

27
src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java

@ -7,6 +7,8 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo;
import com.qs.serve.modules.bir.service.BirBudgetTargetService;
import com.qs.serve.modules.bms.common.MasterUserType;
import com.qs.serve.modules.bms.entity.BmsCenterRegion;
import com.qs.serve.modules.bms.entity.BmsMasterUser;
@ -35,6 +37,7 @@ import com.qs.serve.modules.bms.service.BmsCostCenterService;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -56,6 +59,7 @@ public class BmsCostCenterController {
private TbsBudgetService tbsBudgetService;
private BmsRegionService regionService;
private BmsCenterRegionService bmsCenterRegionService;
private BirBudgetTargetService birBudgetTargetService;
/**
* 树查询
@ -64,10 +68,13 @@ public class BmsCostCenterController {
*/
@GetMapping("/tree")
@PreAuthorize("hasRole('bms:costCenter:query')")
public R<List<BmsCostCenterTreeVo>> getTree(Integer loadByCurrent){
public R<List<BmsCostCenterTreeVo>> getTree(Integer loadByCurrent,Integer type, String tartgetId){
if(loadByCurrent!=null&&loadByCurrent.equals(1)){
return getTreeByCurrentUser();
}
if(loadByCurrent!=null&&loadByCurrent.equals(2)){
return getListByCustomerId(type,tartgetId);
}
List<BmsCostCenter> list = bmsCostCenterService.list(new LambdaQueryWrapper<BmsCostCenter>().orderByDesc(BmsCostCenter::getId));
List<BmsCostCenterTreeVo> treeVoList = list.stream().map(obj->{
BmsCostCenterTreeVo treeNode = CopierUtil.copy(obj,new BmsCostCenterTreeVo());
@ -79,6 +86,24 @@ public class BmsCostCenterController {
return R.ok(TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING));
}
public R<List<BmsCostCenterTreeVo>> getListByCustomerId(Integer type, String tartgetId) {
BirBudgetTargetSo query = new BirBudgetTargetSo();
query.setLoadType(type);
query.setSelectCenterFlag(1);
query.setTargetId(tartgetId);
List<String> centerIds = birBudgetTargetService.getCenterByTargetId(query);
LambdaQueryWrapper<BmsCostCenter> centerLambdaQueryWrapper = new LambdaQueryWrapper<>();
centerLambdaQueryWrapper.in(BmsCostCenter::getId,centerIds);
List<BmsCostCenter> costCenters = bmsCostCenterService.list(centerLambdaQueryWrapper);
List<BmsCostCenterTreeVo> treeVoList = costCenters.stream().map(obj->{
BmsCostCenterTreeVo treeNode = CopierUtil.copy(obj,new BmsCostCenterTreeVo());
treeNode.setId(obj.getId().toString());
treeNode.setParentId(obj.getPid().toString());
treeNode.setSort(0);
return treeNode;
}).collect(Collectors.toList());
return R.ok(treeVoList);
}
public R<List<BmsCostCenterTreeVo>> getTreeByCurrentUser(){
String userId = AuthContextUtils.getSysUserId();

21
src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java

@ -8,6 +8,8 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo;
import com.qs.serve.modules.bir.service.BirBudgetTargetService;
import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.BmsRegionUser;
@ -47,6 +49,7 @@ public class BmsRegion2Controller {
private BmsChannelPointService bmsChannelPointService;
private BmsRegionUserService bmsRegionUserService;
private TbsBudgetService tbsBudgetService;
private BirBudgetTargetService birBudgetTargetService;
/**
* 列表
@ -184,7 +187,23 @@ public class BmsRegion2Controller {
*/
@GetMapping("/tree")
@PreAuthorize("hasRole('bms:region:query')")
public R<List<BmsRegionTreeVo>> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer onlySupplierFlag){
public R<List<BmsRegionTreeVo>> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer onlySupplierFlag,Integer type, String tartgetId){
if(loadByCurrent!=null&&loadByCurrent.equals(2)) {
BirBudgetTargetSo query = new BirBudgetTargetSo();
query.setLoadType(type);
query.setSelectCenterFlag(1);
query.setTargetId(tartgetId);
List<String> regionIds = birBudgetTargetService.getCenterByTargetId(query);
List<BmsRegion2> regionList = bmsRegion2Service.listByIds(regionIds);
List<BmsRegionTreeVo> treeVoList = new ArrayList<>();
for (BmsRegion2 region : regionList) {
BmsRegionTreeVo treeNode = CopierUtil.copy(region,new BmsRegionTreeVo());
treeNode.setId(region.getId());
treeNode.setSort(0);
treeVoList.add(treeNode);
}
return R.ok(treeVoList);
}
if(loadByCurrent!=null&&loadByCurrent.equals(1)){
if(onlySupplierFlag!=null&&onlySupplierFlag.equals(1)){
BmsSupplier supplier = bmsSupplierService.getById(supplierId);

21
src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java

@ -8,6 +8,8 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo;
import com.qs.serve.modules.bir.service.BirBudgetTargetService;
import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
@ -50,6 +52,7 @@ public class BmsRegionController {
private HisUserSupplierService hisUserSupplierService;
private TbsBudgetService tbsBudgetService;
private BmsCostCenterService bmsCostCenterService;
private BirBudgetTargetService birBudgetTargetService;
/**
* 列表
@ -88,7 +91,23 @@ public class BmsRegionController {
*/
@GetMapping("/tree")
@PreAuthorize("hasRole('bms:region:query')")
public R<List<BmsRegionTreeVo>> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer stopFlag){
public R<List<BmsRegionTreeVo>> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer stopFlag,Integer type, String tartgetId){
if(loadByCurrent!=null&&loadByCurrent.equals(2)) {
BirBudgetTargetSo query = new BirBudgetTargetSo();
query.setLoadType(type);
query.setSelectCenterFlag(1);
query.setTargetId(tartgetId);
List<String> regionIds = birBudgetTargetService.getCenterByTargetId(query);
List<BmsRegion> regionList = bmsRegionService.listByIds(regionIds);
List<BmsRegionTreeVo> treeVoList = new ArrayList<>();
for (BmsRegion region : regionList) {
BmsRegionTreeVo treeNode = CopierUtil.copy(region,new BmsRegionTreeVo());
treeNode.setId(region.getId());
treeNode.setSort(0);
treeVoList.add(treeNode);
}
return R.ok(treeVoList);
}
if(stopFlag==null){
stopFlag = 0;
}

17
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -12,6 +12,8 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo;
import com.qs.serve.modules.bir.service.BirBudgetTargetService;
import com.qs.serve.modules.bms.controller.my.BmsSupplierMyController;
import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo;
@ -73,6 +75,8 @@ public class BmsSupplierController {
private TbsBudgetService tbsBudgetService;
private BmsSupplierMyController supplierMyController;
private SysAttachService attachService;
private BirBudgetTargetService birBudgetTargetService;
@GetMapping("/queryList")
public R<PageVo<BmsSupplier>> getQueryList(BmsSupplier param){
@ -124,6 +128,19 @@ public class BmsSupplierController {
@PostMapping("/page")
@PreAuthorize("hasRole('bms:supplier:query')")
public R<PageVo<BmsSupplier>> getPage(@RequestBody BmsSupplier param){
if(param.getLoadByCurrent()!=null && param.getLoadByCurrent().equals(2)){
BirBudgetTargetSo query = new BirBudgetTargetSo();
query.setLoadType(param.getType());
query.setSelectCenterFlag(2);
query.setTargetId(param.getTargetId());
List<String> supplierIds = birBudgetTargetService.getCenterByTargetId(query);
LambdaQueryWrapper<BmsSupplier> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(BmsSupplier::getId,supplierIds);
List<BmsSupplier> list = bmsSupplierService.list(lambdaQueryWrapper);
return R.byPageHelperList(list);
}
param = this.initQueryParam(param);
if(param.getLoadByCurrent()!=null&&param.getLoadByCurrent().equals(1)){

6
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java

@ -386,6 +386,12 @@ public class BmsSupplier implements Serializable {
@TableField(exist = false)
private List<Integer> selectSupplierTypes;
//查询审批辅助的参数
@TableField(exist = false)
private Integer type;
@TableField(exist = false)
private String targetId;
public List<String> listBizRegionIds(){
List<String> list = new ArrayList<>();
list.add(this.getRegion2First());

28
src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml

@ -313,5 +313,33 @@
GROUP BY
year_month_num;
</select>
<select id="list4CenterSqlserver" parameterType="com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo" resultType="com.qs.serve.modules.bir.entity.vo.BirBaseDispatchVo">
SELECT
distinct center_id
FROM
bir_activity_center_goods
WHERE 1= 1
<if test="query.supplierIds!=null and query.supplierIds.size > 0">
and supplier_id in
<foreach collection="query.supplierIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</if>
<if test="query.selectCenterFlag==1">
and center_type = 'center'
</if>
<if test="query.selectCenterFlag==2">
and center_type = 'customer'
</if>
<if test="query.selectCenterFlag==3">
and center_type = 'bizRegion'
</if>
<if test="query.selectCenterFlag==4">
and center_type = 'saleRegion'
</if>
GROUP BY
center_id
</select>
</mapper>

Loading…
Cancel
Save