k94314517
2024-01-11 9ffa4aac7e3ae6b268dbc3567a0749a9898c3708
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -38,6 +38,7 @@
import com.doumee.dao.web.response.VisitDetailVO;
import com.doumee.dao.web.response.VisitRecordVO;
import com.doumee.service.business.ApproveService;
import com.doumee.service.business.InterfaceLogService;
import com.doumee.service.business.VisitsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -84,6 +85,8 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private DeviceJoinMapper deviceJoinMapper;
    @Autowired
    private ErpTool erpTool;
    @Autowired
    private WxPlatNotice wxPlatNotice;
@@ -126,18 +129,19 @@
        visits.setMemberId(member.getId());
        //初始化访客信息
        initVisitInfo(visits,date);
        visitsMapper.insert(visits);
        //发起ERP审批申请
        String erpId = startSendErpCheck(visits,visitMember);
        if(StringUtils.isNotBlank(erpId)){
            visits.setErpId(erpId);
            visitsMapper.updateById(visits);
        }else{
//            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,发起拜访审批申请失败!");
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,发起拜访审批申请失败!");
        }
        visitsMapper.insert(visits);
        initWithVisitInfo(visits);
        updateProblemLog(visits,problemLog,member);
        //创建审批记录
        createApprove(visits,visitMember);
//        createApprove(visits,visitMember);
        //发送微信公众号通知
        wxPlatNotice.sendVisitAuditTemplateNotice(visits,
                systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
@@ -380,9 +384,9 @@
        ApproveParam approveParam = new ApproveParam();
        //发送审批/抄送记录的用户主键集合
        ids.clear();
        if(Objects.isNull(allParam)){
        if(!CollectionUtils.isNotEmpty(allParam)){
            if(Objects.isNull(level)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未配置访客记录审批流,请联系管理员");
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未配置访客审批流,请联系管理员");
            }
        }else{
             approveParam = allParam.get(0);
@@ -560,6 +564,15 @@
        ApproveAddRequest param = new ApproveAddRequest();
        List<Visits> withUserVisitsList = visits.getWithUserList();
        List<UserInfoRequest> withUserList = new ArrayList<>();
        UserInfoRequest mainUser = new UserInfoRequest();
        mainUser.setName(visits.getName());
        mainUser.setIdNo(DESUtil.decrypt(Constants.EDS_PWD, visits.getIdcardNo()));
        mainUser.setSex(visits.getSex());
        mainUser.setPhone(visits.getPhone());
        mainUser.setFaceImg(visits.getFaceImg());
        mainUser.setHealthImg(visits.getImgurl());
        withUserList.add(mainUser);
        if(CollectionUtils.isNotEmpty(withUserVisitsList)){
            for (Visits v:withUserVisitsList) {
                UserInfoRequest userInfoRequest = new UserInfoRequest();
@@ -571,14 +584,16 @@
                userInfoRequest.setHealthImg(v.getImgurl());
                withUserList.add(userInfoRequest);
            }
            param.setWithUserList(withUserList);
        }
        param.setWithUserList(withUserList);
        param.setId(visits.getId());
        param.setBeVisitedUserId(visitMember.getErpId());
        param.setVisitorWorkUint(visits.getCompanyName());
        param.setPurpose(visits.getReason());
        param.setStartTime(DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
        param.setEndTime(DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
        param.setStartTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
        param.setEndTime(DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
        param.setBeVisitedOrgId(visitMember.getErpOrgId());
        if(StringUtils.isNotBlank(visits.getCarNos())){
            param.setCarNo(Arrays.asList(visits.getCarNos().split(",")));
        }
@@ -589,13 +604,16 @@
                 param.setRoleNames(deviceRoleList.stream().map(m->m.getName()).collect(Collectors.toList()));
             }
        }
        ApproveInfoResponse response = ErpTool.submitApprove(ErpConstants.approveUrl,param);
        ApproveInfoResponse response   = erpTool.submitApprove(ErpConstants.approveUrl,param);
        if(!Objects.isNull(response)){
            return response.getId().toString();
            return visits.getId().toString();
        }
        return  null;
    }
    private String visitAppiontment(Visits visits) {
        VisitAppointmentRequest param = new VisitAppointmentRequest();
        param.setVisitStartTime(DateUtil.getISO8601Timestamp(visits.getStarttime()));