diff --git a/src/main/java/com/qs/serve/controller/AdminPortalController.java b/src/main/java/com/qs/serve/controller/AdminPortalController.java index 75f2763c..c18a620d 100644 --- a/src/main/java/com/qs/serve/controller/AdminPortalController.java +++ b/src/main/java/com/qs/serve/controller/AdminPortalController.java @@ -50,6 +50,8 @@ import com.qs.serve.modules.third.ThirdTokenUtil; import com.qs.serve.modules.tzc.entity.TzcPolicy; import com.qs.serve.modules.tzc.service.TzcPolicyService; import com.qs.serve.modules.vtb.entity.VtbVerification; +import com.qs.serve.modules.vtb.entity.VtbVerificationBatch; +import com.qs.serve.modules.vtb.service.VtbVerificationBatchService; import com.qs.serve.modules.vtb.service.VtbVerificationService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -83,6 +85,7 @@ public class AdminPortalController { private SeeYonRequestService seeYonRequestService; private TbsCostApplyService costApplyService; private VtbVerificationService verificationService; + private VtbVerificationBatchService verificationBatchService; private TzcPolicyService policyService; private TbsActivityService activityService; @@ -151,7 +154,10 @@ public class AdminPortalController { if(syId.equals(memberId)){ //待审列表 if (affairState==SyAffairState.next){ - if(templateCode.equals(TbsSeeYonConst.CostCheckConf.Code())){ + if(templateCode.equals(TbsSeeYonConst.BatchCostCheckConf.Code())){ + VtbVerificationBatch object = verificationBatchService.getById(targetId); + jumpUrl = SyKeyLoginUtil.getUnCheckedUrl4BatchVerification(object.getCostApplyId(),affairId,object.getId()); + }else if(templateCode.equals(TbsSeeYonConst.CostCheckConf.Code())){ VtbVerification object = verificationService.getById(targetId); TbsActivity activity = activityService.getById(object.getActivityId()); jumpUrl = SyKeyLoginUtil.getPreCheckUrl4Verification(activity.getCostApplyId(),activity.getId(),object.getId(),affairId); @@ -159,7 +165,10 @@ public class AdminPortalController { jumpUrl = SyKeyLoginUtil.getPreCheckUrl(templateCode,targetId,affairId); } }else { - if(templateCode.equals(TbsSeeYonConst.CostCheckConf.Code())){ + if(templateCode.equals(TbsSeeYonConst.BatchCostCheckConf.Code())){ + VtbVerificationBatch object = verificationBatchService.getById(targetId); + jumpUrl = SyKeyLoginUtil.getCheckedUrl4BatchVerification(object.getCostApplyId(),affairId,object.getId()); + }else if(templateCode.equals(TbsSeeYonConst.CostCheckConf.Code())){ VtbVerification object = verificationService.getById(targetId); TbsActivity activity = activityService.getById(object.getActivityId()); jumpUrl = SyKeyLoginUtil.getCheckedDetailUrl4Verification(activity.getCostApplyId(),activity.getId(),object.getId()); @@ -178,6 +187,9 @@ public class AdminPortalController { }else if(templateCode.equals(TbsSeeYonConst.CostCheckConf.Code())){ VtbVerification object = verificationService.getById(targetId); creator = object.getCreateBy(); + }else if(templateCode.equals(TbsSeeYonConst.BatchCostCheckConf.Code())){ + VtbVerificationBatch object = verificationBatchService.getById(targetId); + creator = object.getCreateBy(); }else if(templateCode.equals(TbsSeeYonConst.PolicyConf.Code())){ TzcPolicy object = policyService.getById(targetId); creator = object.getCreateBy(); diff --git a/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java b/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java index da2c688d..6489ce23 100644 --- a/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java +++ b/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java @@ -103,7 +103,9 @@ public class SyKeyLoginUtil { * @return */ public static String getMyDetailUrl(String templateCode,String targetId){ - if(templateCode.equals(TbsSeeYonConst.CostApplyConf.Code())){ + if(templateCode.equals(TbsSeeYonConst.CostApplyConf.Code()) + || templateCode.equals(TbsSeeYonConst.BatchCostCheckConf.Code()) + ){ return "my-expense-application-detail?id="+targetId; } if(templateCode.equals(TbsSeeYonConst.PolicyConf.Code())){ @@ -112,4 +114,34 @@ public class SyKeyLoginUtil { return "404"; } + + /** + * 获取批量核销已审批详情 + * @param costApplyId + * @param batchId + * @param affairId + * @return + */ + public static String getCheckedUrl4BatchVerification(Long costApplyId, String affairId,Long batchId){ + return "my-expense-application-activity-batch-write-off-approval-approved-detail?" + + "expenseApplicationId=" + costApplyId + + "&approvalId=" + affairId + + "&batchWriteOffId=" + batchId; + + } + + /** + * 获取批量核销已审批详情 + * @param costApplyId + * @param batchId + * @param affairId + * @return + */ + public static String getUnCheckedUrl4BatchVerification(Long costApplyId, String affairId,Long batchId){ + return "my-expense-application-activity-batch-write-off-approval-pending-detail?" + + "expenseApplicationId=" + costApplyId + + "&approvalId=" + affairId + + "&batchWriteOffId=" + batchId; + } + } 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 0a48c8b1..84bda940 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 @@ -156,7 +156,8 @@ public class BmsRegionController { return toTreeNodeList2(allSelectList,stopFlag); } - List pathIds = regionList.stream().map(a->a.getPathIds()).collect(Collectors.toList()); + List pathIds = regionList.stream().filter(b->b.getPathIds()!=null) + .map(BmsRegion::getPathIds).collect(Collectors.toList()); List idList = pathIds.stream() .flatMap(pathId -> Arrays.stream(pathId.split("_"))) .collect(Collectors.toList()); diff --git a/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java b/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java index 2fe2ae7f..90c268ea 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java @@ -32,6 +32,7 @@ import javax.validation.Valid; import java.time.LocalDateTime; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** @@ -67,20 +68,41 @@ public class OmsOrderController { if(param.getCheckEndTime()!=null){ orderWrapper.le(OmsOrder::getCheckTime,param.getCheckEndTime().atTime(23,59,59)); } + List list = omsOrderService.list(orderWrapper); + Set addrIds = list.stream().map(OmsOrder::getSupplierAddrId).collect(Collectors.toSet()); + List supplierAddressList = bmsSupplierAddressService.listByIds(addrIds); + + Set userIds = list.stream().map(OmsOrder::getCheckUserId).collect(Collectors.toSet()); + List userList = sysUserService.listByIds(userIds); + + + Set orderIds = list.stream().map(OmsOrder::getId).collect(Collectors.toSet()); + List orderItems = omsOrderItemService.list(new LambdaQueryWrapper().eq(OmsOrderItem::getOrderId,orderIds)); + Map> orderItemsMap = orderItems.stream().collect(Collectors.groupingBy(OmsOrderItem::getOrderId)); for (OmsOrder order : list) { - BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(order.getSupplierAddrId()); - order.setAddressInfo(supplierAddress); - SysUser sysUser = sysUserService.getById(order.getCheckUserId()); - if(sysUser!=null){ - order.setCheckUserInfo(sysUser.toSysUserVo()); + BmsSupplierAddress supplierAddress = null; + if(order.getSupplierAddrId()!=null){ + for (BmsSupplierAddress address : supplierAddressList) { + if(order.getSupplierAddrId().equals(address.getId())){ + supplierAddress = address; + } + } + order.setAddressInfo(supplierAddress); } - - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(OmsOrderItem::getOrderId,order.getId()); - List items = omsOrderItemService.list(lqw); + if(order.getCheckUserId()!=null){ + SysUser sysUser = null; + for (SysUser user : userList) { + if(user.getId().equals(order.getCheckUserId())){ + sysUser = user; + } + } + if(sysUser!=null){ + order.setCheckUserInfo(sysUser.toSysUserVo()); + } + } + List items = orderItemsMap.get(order.getId()); order.setOrderItems(items); - } return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetBatchController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetBatchController.java index 49438fef..576e77a1 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetBatchController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetBatchController.java @@ -103,7 +103,7 @@ public class TbsBudgetBatchController { } for (TbsBudgetChange change : changeList) { - if(!change.getNewBudgetTitle().equals(change.getBudgetTitle())){ + if(change.getNewBudgetTitle()!=null&&!change.getNewBudgetTitle().equals(change.getBudgetTitle())){ List items = (List)change.getChangeScheduleItemList(); if(items==null){ items = new ArrayList<>(); diff --git a/src/main/java/com/qs/serve/modules/third/PortalFlowController.java b/src/main/java/com/qs/serve/modules/third/PortalFlowController.java index bd2f78bd..5061fa43 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalFlowController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalFlowController.java @@ -7,6 +7,7 @@ import com.qs.serve.modules.sys.service.SysSyncLogService; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.service.impl.*; import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl; +import com.qs.serve.modules.vtb.service.VtbVerificationBatchOperationService; import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -34,6 +35,7 @@ public class PortalFlowController { private final TbsBudgetBatchOperationServiceImpl tbsBudgetBatchOperationService; private final SysSyncLogService sysSyncLogService; private final SeeYonRequestService seeYonRequestService; + private final VtbVerificationBatchOperationService vtbVerificationBatchOperationService; @GetMapping("/compenstate/{flowCode}/{formId}") public R compenstate(@PathVariable("flowCode")String flowCode, @@ -72,11 +74,14 @@ public class PortalFlowController { //协议条款申请 tbsCostTodoOperationService.runCompensate(targetId); }else if(TbsSeeYonConst.BudgetChangeConf.Code().equals(flowCode)){ - //预算变更申请 + //预算 变更申请 tbsBudgetChangeOperationService.runCompensate(targetId); }else if(TbsSeeYonConst.BudgetBatchApplyConf.Code().equals(flowCode)){ - //预算变更申请 + //预算 批量变更申请 tbsBudgetBatchOperationService.runCompensate(targetId); + }else if(TbsSeeYonConst.BatchCostCheckConf.Code().equals(flowCode)){ + //核销 批量申请 + vtbVerificationBatchOperationService.runCompensate(targetId); }else { return R.error("业务["+flowCode+"]未被收录"); } diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java index 7229a31b..83d81a6c 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java @@ -85,7 +85,6 @@ public class VtbVerificationBatchController { vtbVerificationApplication2.buildRelateInfo(verification); } batch.setVerificationList(verificationList); - // return R.ok(batch); } diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationBatchMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationBatchMapper.java index 2e5da101..fe24dce8 100644 --- a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationBatchMapper.java +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationBatchMapper.java @@ -2,6 +2,8 @@ package com.qs.serve.modules.vtb.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.vtb.entity.VtbVerificationBatch; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; /** * Mapper @@ -10,5 +12,18 @@ import com.qs.serve.modules.vtb.entity.VtbVerificationBatch; */ public interface VtbVerificationBatchMapper extends BaseMapper { + /** + * 将批次的退回核销修正为关闭状态 + * @param batchId 批次id + */ + @Update("update vtb_verification" + + //设置关闭 + " set verification_state = 5 where " + + " batch_id = #{batchId}" + + " and del_flag = 0 " + + //核销中 + " and verification_state = 3 ") + void updateBackedItemToClose(@Param("batchId") Long batchId); + } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java index 82a747dc..ba1d90cf 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java @@ -108,6 +108,11 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl vtbVerificationLQW = new LambdaQueryWrapper<>(); vtbVerificationLQW.eq(VtbVerification::getCostApplyId,costApply.getId()); vtbVerificationLQW.eq(VtbVerification::getVerificationState, VtbVerificationState.Commiting);