diff --git a/src/main/java/com/qs/serve/modules/bir/entity/so/BirBudgetTargetSo.java b/src/main/java/com/qs/serve/modules/bir/entity/so/BirBudgetTargetSo.java index 5665cde4..23eff884 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/so/BirBudgetTargetSo.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/so/BirBudgetTargetSo.java @@ -71,5 +71,6 @@ public class BirBudgetTargetSo { private List supplierCodes; - + //用于查询某类成本中心的所有成本中心 + private List centerType; } diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java index f9ad987f..893227cf 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java @@ -138,7 +138,7 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl> getTree(Integer loadByCurrent,Integer type, String targetId){ - if(loadByCurrent!=null&&loadByCurrent.equals(1)){ + public R> getTree(BmsCostCenterTreeSo so){ + if(so.getLoadByCurrent()!=null&&so.getLoadByCurrent().equals(1)){ return getTreeByCurrentUser(); } - if(loadByCurrent!=null&&loadByCurrent.equals(2)){ - return getListByCustomerId(type,targetId); + if(so.getLoadByCurrent()!=null&&so.getLoadByCurrent().equals(2)){ + return getListByCustomerId(so); } List list = bmsCostCenterService.list(new LambdaQueryWrapper().orderByDesc(BmsCostCenter::getId)); List treeVoList = list.stream().map(obj->{ @@ -86,11 +87,13 @@ public class BmsCostCenterController { return R.ok(TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING)); } - public R> getListByCustomerId(Integer type, String targetId) { + public R> getListByCustomerId(BmsCostCenterTreeSo so) { BirBudgetTargetSo query = new BirBudgetTargetSo(); - query.setLoadType(type); + query.setLoadType(so.getType()); query.setSelectCenterFlag(1); - query.setTargetId(targetId); + query.setTargetId(so.getTargetId()); + query.setYearMonthStart(so.getYearMonthStart()); + query.setYearMonthEnd(so.getYearMonthEnd()); List centerIds = birBudgetTargetService.getCenterByTargetId(query); if(centerIds.size()==0){ return R.ok(new ArrayList()); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java index 3cb082bf..c48f27a8 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java @@ -15,6 +15,7 @@ import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegionUser; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; +import com.qs.serve.modules.bms.entity.so.BmsBizRegionTreeSo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.service.*; import com.qs.serve.modules.tbs.common.TbsCenterType; @@ -182,17 +183,19 @@ public class BmsRegion2Controller { /** * 树查询 - * @param loadByCurrent + * @param so * @return */ @GetMapping("/tree") @PreAuthorize("hasRole('bms:region:query')") - public R> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer onlySupplierFlag,Integer type, String targetId){ - if(loadByCurrent!=null&&loadByCurrent.equals(2)) { + public R> getTree(BmsBizRegionTreeSo so){ + if(so.getLoadByCurrent()!=null&&so.getLoadByCurrent().equals(2)) { BirBudgetTargetSo query = new BirBudgetTargetSo(); - query.setLoadType(type); + query.setLoadType(so.getType()); query.setSelectCenterFlag(3); - query.setTargetId(targetId); + query.setTargetId(so.getTargetId()); + query.setYearMonthStart(so.getYearMonthStart()); + query.setYearMonthEnd(so.getYearMonthEnd()); List regionIds = birBudgetTargetService.getCenterByTargetId(query); if(regionIds.size()==0){ return R.ok(new ArrayList()); @@ -207,9 +210,9 @@ public class BmsRegion2Controller { } return R.ok(treeVoList); } - if(loadByCurrent!=null&&loadByCurrent.equals(1)){ - if(onlySupplierFlag!=null&&onlySupplierFlag.equals(1)){ - BmsSupplier supplier = bmsSupplierService.getById(supplierId); + if(so.getLoadByCurrent()!=null&&so.getLoadByCurrent().equals(1)){ + if(so.getOnlySupplierFlag()!=null&&so.getOnlySupplierFlag().equals(1)){ + BmsSupplier supplier = bmsSupplierService.getById(so.getSupplierId()); List rlist = bmsRegion2Service.listByIds(supplier.listBizRegionIds()); List treeVoList = new ArrayList<>(); for (BmsRegion2 region2 : rlist) { @@ -221,10 +224,10 @@ public class BmsRegion2Controller { } return R.ok(treeVoList); }else { - return R.ok(treeByCurrentUser(supplierId)); + return R.ok(treeByCurrentUser(so.getSupplierId())); } } - return R.ok(bmsRegion2Service.getTree(listUserFlag!=null&&listUserFlag.equals(1))); + return R.ok(bmsRegion2Service.getTree(so.getListUserFlag()!=null&&so.getListUserFlag().equals(1))); } private List toTreeNodeList2(List list){ diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index f89b9df8..0a48c8b1 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -12,6 +12,7 @@ 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.so.BmsSaleRegionTreeSo; import com.qs.serve.modules.bms.entity.vo.BmsCostCenterTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.service.*; @@ -84,20 +85,19 @@ public class BmsRegionController { /** * 树查询 - * @param listUserFlag 加载我负责的用户所属的区域 - * @param loadByCurrent 值=1,过滤当前用户负责数据(优先级最高) - * @param supplierId - * @param stopFlag (0,1)是否停用,2->加载所有 + * @param so listUserFlag 加载我负责的用户所属的区域 loadByCurrent 值=1,过滤当前用户负责数据(优先级最高) stopFlag (0,1)是否停用,2->加载所有 * @return */ @GetMapping("/tree") @PreAuthorize("hasRole('bms:region:query')") - public R> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer stopFlag,Integer type, String targetId){ - if(loadByCurrent!=null&&loadByCurrent.equals(2)) { + public R> getTree(BmsSaleRegionTreeSo so){ + if(so.getLoadByCurrent()!=null&&so.getLoadByCurrent().equals(2)) { BirBudgetTargetSo query = new BirBudgetTargetSo(); - query.setLoadType(type); + query.setLoadType(so.getType()); query.setSelectCenterFlag(4); - query.setTargetId(targetId); + query.setTargetId(so.getTargetId()); + query.setYearMonthStart(so.getYearMonthStart()); + query.setYearMonthEnd(so.getYearMonthEnd()); List regionIds = birBudgetTargetService.getCenterByTargetId(query); if(regionIds.size()==0){ return R.ok(new ArrayList()); @@ -112,13 +112,13 @@ public class BmsRegionController { } return R.ok(treeVoList); } - if(stopFlag==null){ - stopFlag = 0; + if(so.getStopFlag()==null){ + so.setStopFlag(0); } - if(loadByCurrent!=null&&loadByCurrent.equals(1)){ - return R.ok(treeByCurrentUser(supplierId,stopFlag)); + if(so.getLoadByCurrent()!=null&&so.getLoadByCurrent().equals(1)){ + return R.ok(treeByCurrentUser(so.getSupplierId(),so.getStopFlag())); } - return R.ok(bmsRegionService.getTree(listUserFlag!=null&&listUserFlag.equals(1), stopFlag)); + return R.ok(bmsRegionService.getTree(so.getListUserFlag()!=null&&so.getListUserFlag().equals(1), so.getStopFlag())); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java index 4d19e27b..4b831a2e 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java @@ -135,6 +135,8 @@ public class BmsSupplierController { query.setLoadType(param.getType()); query.setSelectCenterFlag(2); query.setTargetId(param.getTargetId()); + query.setYearMonthStart(param.getYearMonthStart()); + query.setYearMonthEnd(param.getYearMonthEnd()); List supplierIds = birBudgetTargetService.getCenterByTargetId(query); if(supplierIds.size()==0){ return R.byPageHelperList(new ArrayList()); diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java index 13a441d3..a5d84ce2 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java @@ -389,9 +389,20 @@ public class BmsSupplier implements Serializable { //查询审批辅助的参数 @TableField(exist = false) private Integer type; + @TableField(exist = false) private String targetId; + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthStart; + + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthEnd; + public List listBizRegionIds(){ List list = new ArrayList<>(); list.add(this.getRegion2First()); diff --git a/src/main/java/com/qs/serve/modules/bms/entity/so/BmsBizRegionTreeSo.java b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsBizRegionTreeSo.java new file mode 100644 index 00000000..aa359b08 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsBizRegionTreeSo.java @@ -0,0 +1,44 @@ +package com.qs.serve.modules.bms.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 后继成本中心 查询参数 + * @author YenHex + * @since 2023-05-30 + */ +@Data +public class BmsBizRegionTreeSo implements Serializable { + + private static final long serialVersionUID = 1L; + +// * @param listUserFlag 加载我负责的用户所属的区域 +// * @param loadByCurrent 值=1,过滤当前用户负责数据(优先级最高) +// * @param supplierId +// * @param stopFlag (0,1)是否停用,2->加载所有 + + private Integer listUserFlag; + + private Integer loadByCurrent; + + private String supplierId; + + private Integer onlySupplierFlag; + + private Integer type; + + private String targetId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthEnd; +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/so/BmsCostCenterTreeSo.java b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsCostCenterTreeSo.java new file mode 100644 index 00000000..89719aed --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsCostCenterTreeSo.java @@ -0,0 +1,33 @@ +package com.qs.serve.modules.bms.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 后继成本中心 查询参数 + * @author YenHex + * @since 2023-05-30 + */ +@Data +public class BmsCostCenterTreeSo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer loadByCurrent; + + private Integer type; + + private String targetId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthEnd; +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSaleRegionTreeSo.java b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSaleRegionTreeSo.java new file mode 100644 index 00000000..5e2ab120 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/so/BmsSaleRegionTreeSo.java @@ -0,0 +1,44 @@ +package com.qs.serve.modules.bms.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 后继成本中心 查询参数 + * @author YenHex + * @since 2023-05-30 + */ +@Data +public class BmsSaleRegionTreeSo implements Serializable { + + private static final long serialVersionUID = 1L; + +// * @param listUserFlag 加载我负责的用户所属的区域 +// * @param loadByCurrent 值=1,过滤当前用户负责数据(优先级最高) +// * @param supplierId +// * @param stopFlag (0,1)是否停用,2->加载所有 + + private Integer listUserFlag; + + private Integer loadByCurrent; + + private String supplierId; + + private Integer stopFlag; + + private Integer type; + + private String targetId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime yearMonthEnd; +} + diff --git a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml index 17a618d9..ad6b8861 100644 --- a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml +++ b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml @@ -262,6 +262,11 @@ + + + or (center_type = #{selectId}) + + ) GROUP BY @@ -326,6 +331,12 @@ #{selectId} + + AND key_num >= #{query.yearMonthStartQuery} + + + AND key_num <= #{query.yearMonthEndQuery} + and center_type = 'center'