|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qmth.sop.business.activiti.service.ActivitiService;
|
|
|
+import com.qmth.sop.business.bean.dto.DataPermissionDto;
|
|
|
import com.qmth.sop.business.bean.params.AllocationParam;
|
|
|
import com.qmth.sop.business.bean.params.AutoAllocationParam;
|
|
|
import com.qmth.sop.business.bean.params.SopPublishParam;
|
|
@@ -16,6 +17,7 @@ import com.qmth.sop.business.service.*;
|
|
|
import com.qmth.sop.common.base.BaseEntity;
|
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
|
import com.qmth.sop.common.enums.*;
|
|
|
+import com.qmth.sop.common.util.ServletUtil;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -51,23 +53,33 @@ public class TBUserArchivesAllocationServiceImpl extends ServiceImpl<TBUserArchi
|
|
|
private TFCustomFlowService tfCustomFlowService;
|
|
|
@Resource
|
|
|
private ActivitiService activitiService;
|
|
|
+ @Resource
|
|
|
+ private SysUserService sysUserService;
|
|
|
|
|
|
@Override
|
|
|
public IPage<UserArchivesAllocationResult> findCrmAllocationPage(Long serviceUnitId, String province, String city, String area, String customName, Integer gap, Integer pageNumber, Integer pageSize) {
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ Long userId = requestUser.getId();
|
|
|
+ DataPermissionDto dpr = sysUserService.buildUserDataPermission(userId);
|
|
|
+
|
|
|
province = SystemConstant.translateSpecificSign(province);
|
|
|
city = SystemConstant.translateSpecificSign(city);
|
|
|
area = SystemConstant.translateSpecificSign(area);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
|
- return this.baseMapper.findCrmAllocationPage(new Page<>(pageNumber, pageSize), serviceUnitId, province, city, area, customName, gap);
|
|
|
+ return this.baseMapper.findCrmAllocationPage(new Page<>(pageNumber, pageSize), serviceUnitId, province, city, area, customName, gap, dpr);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public UserArchivesAllocationSubTotalResult findCrmAllocationSubTotal(Long serviceUnitId, String province, String city, String area, String customName, Integer gap) {
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ Long userId = requestUser.getId();
|
|
|
+ DataPermissionDto dpr = sysUserService.buildUserDataPermission(userId);
|
|
|
+
|
|
|
province = SystemConstant.translateSpecificSign(province);
|
|
|
city = SystemConstant.translateSpecificSign(city);
|
|
|
area = SystemConstant.translateSpecificSign(area);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
|
- List<UserArchivesAllocationResult> list = this.baseMapper.findCrmAllocationSubTotal(serviceUnitId, province, city, area, customName, gap, null);
|
|
|
+ List<UserArchivesAllocationResult> list = this.baseMapper.findCrmAllocationSubTotal(serviceUnitId, province, city, area, customName, gap, null, dpr);
|
|
|
Integer publishedCrmCount = Math.toIntExact(list.stream().filter(e -> CrmStatusEnum.PUBLISH.equals(e.getCrmStatus())).count());
|
|
|
Integer totalCrmCount = list.size();
|
|
|
|
|
@@ -216,7 +228,7 @@ public class TBUserArchivesAllocationServiceImpl extends ServiceImpl<TBUserArchi
|
|
|
public void autoEditCrmAllocationBatch(AutoAllocationParam autoAllocationParam) {
|
|
|
Long serviceUnitId = autoAllocationParam.getServiceUnitId();
|
|
|
List<Long> crmIdList = autoAllocationParam.getCrmIdList();
|
|
|
- List<UserArchivesAllocationResult> crmSourceList = this.baseMapper.findCrmAllocationSubTotal(serviceUnitId, null, null, null, null, null, crmIdList);
|
|
|
+ List<UserArchivesAllocationResult> crmSourceList = this.baseMapper.findCrmAllocationSubTotal(serviceUnitId, null, null, null, null, null, crmIdList, null);
|
|
|
// crm按照差额倒序
|
|
|
crmSourceList = crmSourceList.stream().filter(e -> e.getUnDistributed() > 0)
|
|
|
.sorted(Comparator.comparing(UserArchivesAllocationResult::getUnDistributed).reversed())
|
|
@@ -395,7 +407,7 @@ public class TBUserArchivesAllocationServiceImpl extends ServiceImpl<TBUserArchi
|
|
|
Long crmId = tbCrm.getId();
|
|
|
List<Long> crmIdList = new ArrayList<>();
|
|
|
crmIdList.add(crmId);
|
|
|
- List<UserArchivesAllocationResult> crmSourceList = this.baseMapper.findCrmAllocationSubTotal(serviceUnitId, null, null, null, null, null, crmIdList);
|
|
|
+ List<UserArchivesAllocationResult> crmSourceList = this.baseMapper.findCrmAllocationSubTotal(serviceUnitId, null, null, null, null, null, crmIdList, null);
|
|
|
if (CollectionUtils.isEmpty(crmSourceList)) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("未找到派单信息");
|
|
|
} else if (crmSourceList.size() > 1) {
|