@ -25,12 +25,15 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils ;
import org.apache.commons.lang3.StringUtils ;
import org.springblade.common.constant.BusinessConstant ;
import org.springblade.common.constant.BusinessConstant ;
import org.springblade.common.constant.CommonConstant ;
import org.springblade.common.constant.CommonConstant ;
import org.springblade.common.utils.CommonUtil ;
import org.springblade.core.mp.base.BaseServiceImpl ;
import org.springblade.core.mp.base.BaseServiceImpl ;
import org.springblade.core.tool.utils.BeanUtil ;
import org.springblade.core.tool.utils.BeanUtil ;
import org.springblade.core.tool.utils.DateUtil ;
import org.springblade.core.tool.utils.Func ;
import org.springblade.core.tool.utils.Func ;
import org.springblade.modules.business.entity.Appeal ;
import org.springblade.modules.business.entity.Appeal ;
import org.springblade.modules.business.entity.AppealReg ;
import org.springblade.modules.business.entity.AppealReg ;
import org.springblade.modules.business.entity.AppealVisitor ;
import org.springblade.modules.business.entity.AppealVisitor ;
import org.springblade.modules.business.entity.ServerWindowsDispute ;
import org.springblade.modules.business.excel.AppealExcel ;
import org.springblade.modules.business.excel.AppealExcel ;
import org.springblade.modules.business.mapper.AppealMapper ;
import org.springblade.modules.business.mapper.AppealMapper ;
import org.springblade.modules.business.mapper.AppealRegMapper ;
import org.springblade.modules.business.mapper.AppealRegMapper ;
@ -38,6 +41,7 @@ import org.springblade.modules.business.mapper.AppealVisitorMapper;
import org.springblade.modules.business.service.IAppealRegService ;
import org.springblade.modules.business.service.IAppealRegService ;
import org.springblade.modules.business.service.IAppealService ;
import org.springblade.modules.business.service.IAppealService ;
import org.springblade.modules.business.service.IAppealVisitorService ;
import org.springblade.modules.business.service.IAppealVisitorService ;
import org.springblade.modules.business.service.IServerWindowsDisputeService ;
import org.springblade.modules.business.vo.AppealListVO ;
import org.springblade.modules.business.vo.AppealListVO ;
import org.springblade.modules.business.vo.AppealRegVO ;
import org.springblade.modules.business.vo.AppealRegVO ;
import org.springblade.modules.system.entity.DictBiz ;
import org.springblade.modules.system.entity.DictBiz ;
@ -49,10 +53,11 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException ;
import java.text.ParseException ;
import java.text.SimpleDateFormat ;
import java.text.SimpleDateFormat ;
import java.util.ArrayList ;
import java.util.* ;
import java.util.Date ;
import java.util.concurrent.ConcurrentHashMap ;
import java.util.List ;
import java.util.function.Function ;
import java.util.Objects ;
import java.util.function.Predicate ;
import java.util.stream.Collectors ;
/ * *
/ * *
* 服务实现类
* 服务实现类
@ -70,6 +75,7 @@ public class AppealRegServiceImpl extends BaseServiceImpl<AppealRegMapper, Appea
private final IAppealService appealService ;
private final IAppealService appealService ;
private final IUserService userService ;
private final IUserService userService ;
private final IDictBizService dictBizService ;
private final IDictBizService dictBizService ;
private final IServerWindowsDisputeService swDisputeService ;
@Override
@Override
public List < AppealListVO > getList ( String appealStatus , String startTime , String endTime , String appealType , String windowId , String username ) {
public List < AppealListVO > getList ( String appealStatus , String startTime , String endTime , String appealType , String windowId , String username ) {
@ -97,6 +103,7 @@ public class AppealRegServiceImpl extends BaseServiceImpl<AppealRegMapper, Appea
// 3. 获取诉求的所有来访人员
// 3. 获取诉求的所有来访人员
List < AppealVisitor > visitors = visitorMapper . selectList (
List < AppealVisitor > visitors = visitorMapper . selectList (
Wrappers . < AppealVisitor > lambdaQuery ( ) . eq ( AppealVisitor : : getAppealId , appealId ) ) ;
Wrappers . < AppealVisitor > lambdaQuery ( ) . eq ( AppealVisitor : : getAppealId , appealId ) ) ;
visitors = visitors . stream ( ) . filter ( CommonUtil . distinctByKey ( AppealVisitor : : getCardno ) ) . collect ( Collectors . toList ( ) ) ;
// 4. 组织返回对象数据
// 4. 组织返回对象数据
vo . setAppealId ( Long . valueOf ( appealId ) ) ;
vo . setAppealId ( Long . valueOf ( appealId ) ) ;
@ -125,14 +132,30 @@ public class AppealRegServiceImpl extends BaseServiceImpl<AppealRegMapper, Appea
// 1. 先保存appeal, 固定数据来源为系统
// 1. 先保存appeal, 固定数据来源为系统
appeal . setSourceType ( BusinessConstant . SOURCE_TYPE_SYSTEM ) ;
appeal . setSourceType ( BusinessConstant . SOURCE_TYPE_SYSTEM ) ;
int nums = Func . isEmpty ( appeal . getId ( ) ) ? appealMapper . insert ( appeal ) : appealMapper . updateById ( appeal ) ;
int nums = 0 ;
appeal . setFirstRegTime ( DateUtil . now ( ) ) ;
if ( Func . isEmpty ( appeal . getId ( ) ) ) {
ServerWindowsDispute swDispute = swDisputeService . getOne ( Wrappers . < ServerWindowsDispute > lambdaQuery ( ) . eq ( ServerWindowsDispute : : getDisputeId , appeal . getDisputeId ( ) ) ) ;
if ( Func . isNotEmpty ( swDispute ) ) {
appeal . setHandleDept ( swDispute . getSwId ( ) ) ;
} else {
appeal . setHandleDept ( BusinessConstant . DEFAULT_HANDLE_DEPT ) ;
}
appeal . setSkipGrant ( BusinessConstant . CODE_FALSE ) ;
appeal . setStatus ( BusinessConstant . APPEAL_STATUS_WAITING ) ;
nums = appealMapper . insert ( appeal ) ;
} else {
nums = appealMapper . updateById ( appeal ) ;
}
if ( nums < = 0 ) {
if ( nums < = 0 ) {
return false ;
return false ;
}
}
// 2. 将appealId赋值给appealReg, 保存appealReg对象
// 2. 将appealId赋值给appealReg, 保存appealReg对象
reg . setId ( null ) ;
reg . setId ( null ) ;
reg . setAppealId ( appeal . getId ( ) ) ;
reg . setPersonNum ( visitors . size ( ) ) ;
reg . setPersonNum ( visitors . size ( ) ) ;
reg . setRegTime ( DateUtil . now ( ) ) ;
save ( reg ) ;
save ( reg ) ;
// 3. 将appealId和appealRegId赋值给来访人员, 保存来访人员
// 3. 将appealId和appealRegId赋值给来访人员, 保存来访人员