server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -18,8 +18,8 @@ * @date 2021-10-10 14:40:35 * https://www.bejson.com/othertools/cron/ cron 表达式生成地址 */ @Component @EnableScheduling //@Component //@EnableScheduling public class ScheduleTool { @Autowired server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
@@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest; import com.doumee.core.erp.model.openapi.request.erp.OrgListRequest; import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest; @@ -10,6 +11,7 @@ import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse; import com.doumee.core.erp.model.openapi.response.erp.ErpOrgListResponse; import com.doumee.core.erp.model.openapi.response.erp.ErpUserListResponse; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.HttpsUtil; @@ -82,7 +84,7 @@ if(response!=null && response.getData()!=null && response.getData().getRecords()!=null){ list.addAll(response.getData().getRecords()); if(pageSize*page < response.getData().getTotal() ){ hasLast =true;//还有下一页 hasLast =false;//还有下一页 } page++; } @@ -102,12 +104,6 @@ System.out.println(JSONObject.toJSONString(param)); String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param)); if(StringUtils.isNotBlank(result)){ // TypeReference typeReference = // new TypeReference<ERPApiResponse<ApproveInfoResponse>>(){}; // ERPApiResponse<ApproveInfoResponse> response = JSONObject.parseObject(result, typeReference.getType()); // if(response!=null && response.isSuccess()){ // return response.getData(); // } TypeReference typeReference = new TypeReference<ERPApiResponse<String>>(){}; ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType()); @@ -115,9 +111,9 @@ ApproveInfoResponse approveInfoResponse = new ApproveInfoResponse(); approveInfoResponse.setId(response.getData()); return approveInfoResponse; }else if(response!=null && !response.isSuccess()){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMessage()); } } return null; } server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java
@@ -12,8 +12,8 @@ @Data @ApiModel("访客出入事件同步请求信息") public class VisitListRequest extends BaseRequst { @ApiModelProperty(value = "唯一标识" ,example = "1") private Integer eventId; @ApiModelProperty(value = "唯一标识" ) private String eventId; @ApiModelProperty(value = "访客名称,支持模糊匹配" ) private String visitorName; @ApiModelProperty(value = "访客身份证号" ) server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -126,14 +126,15 @@ 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); //创建审批记录 @@ -560,6 +561,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 +581,17 @@ 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(","))); } @@ -591,7 +604,7 @@ } ApproveInfoResponse response = ErpTool.submitApprove(ErpConstants.approveUrl,param); if(!Objects.isNull(response)){ return response.getId().toString(); return visits.getId().toString(); } return null; } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -620,10 +620,10 @@ queryWrapper.selectAs(DeviceEvent::getUserType,DoorEventListResponse::getType); queryWrapper.selectAs(DeviceEvent::getExtEventInOut,DoorEventListResponse::getEventInOut); queryWrapper.selectAs(DeviceEvent::getExtAccessChannel,DoorEventListResponse::getExtAccessChannel); queryWrapper.selectAs(DeviceEvent::getCreateDate,DoorEventListResponse::getCreateTime); queryWrapper.selectAs(DeviceEvent::getHappenTime,DoorEventListResponse::getCreateTime); queryWrapper.selectAs(Member::getPhone,DoorEventListResponse::getPhone); queryWrapper.selectAs(Member::getErpId,DoorEventListResponse::getUserId); queryWrapper.selectAs(Member::getCompanyId,DoorEventListResponse::getOrgId); queryWrapper.selectAs(Member::getErpOrgId,DoorEventListResponse::getOrgId); queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo); if(!Objects.isNull(doorEventListRequest)){ @@ -799,7 +799,7 @@ ||Objects.isNull(param.getIdType())//证件类型 ||Objects.isNull(param.getSex())//性别 ||Objects.isNull(param.getOrgId())//所属组织编码 ||StringUtils.isBlank(param.getFaceImg())//人脸照片 // ||StringUtils.isBlank(param.getFaceImg())//人脸照片 ||StringUtils.isBlank(param.getCode())//工号 ||StringUtils.isBlank(param.getPhone())//手机号 ){ @@ -830,7 +830,6 @@ member.setErpOrgId(param.getOrgId()); doorIds = getRoleIdByParam(param.getRoleIds(),member); memberMapper.insert(member); //TODO 海康数据创建-------------修改------------------- }else{ Integer id = member.getId(); BeanUtils.copyProperties(param,member); @@ -848,7 +847,6 @@ memberMapper.updateById(member); //删除用户卡片数据 人员角色关联 memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,member.getId())); //TODO 海康数据更新 } //如果有授权门禁数据,进行用户授权数据下发任务创建 dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime());