From b89c0df6f99cff6a852306da467b053aa4f90df8 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 09 一月 2024 13:47:23 +0800 Subject: [PATCH] ERP接口 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 98 ++++++++++++++++++++++++++++++------------------ 1 files changed, 61 insertions(+), 37 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java index 5675fc4..ce6f23e 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java @@ -209,7 +209,9 @@ company.setEditDate(date); company.setStatus(respone.getStatus()); company.setCode(respone.getCode()); - company.setErpParentId(respone.getParentOrgId()); + if(StringUtils.isNotBlank(respone.getParentOrgId())&&!respone.getParentOrgId().equals("orgRoot")){ + company.setErpParentId(respone.getParentOrgId()); + } company.setErpDate(date); company.setHkStatus(Constants.ZERO); return company; @@ -282,14 +284,14 @@ .eq(Member::getType, Constants.memberType.internal)); dealUserChangeList(list,addList,updateList,delList,allList); if(addList.size()>0){ + memberMapper.insertBatchSomeColumn(addList); for (Member member:addList) { dealRoleEmpower(member,param.getStartTime(), param.getEndTime()); } - memberMapper.insertBatchSomeColumn(addList); } if(updateList.size()>0){ for(Member c : updateList){ - dealRoleEmpower(c,param.getStartTime(), param.getEndTime()); + dealRoleEmpower(c,param.getStartTime(), param.getEndTime()); c.setHkStatus(Constants.ZERO); memberMapper.updateById(c); } @@ -325,7 +327,7 @@ company = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,response.getOrgId()).last("limit 1")); if(Objects.isNull(company)){ continue; - } + } } //鏍规嵁 erpId 鏌ヨ鐢ㄦ埛淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊 Member member = findUserByERPId(allList,response.getId()); @@ -361,17 +363,21 @@ Member member = new Member(); BeanUtils.copyProperties(param,member); member.setCreateDate(new Date()); - member.setHkStatus(Constants.ZERO); + if(StringUtils.isBlank(param.getFaceImg())){ + member.setHkStatus(Constants.THREE); + }else{ + member.setHkStatus(Constants.ZERO); + } member.setErpStatus(Constants.ONE); member.setErpDate(new Date()); member.setErpId(param.getId()); + member.setIdcardType(param.getIdType()); member.setFsStatus(Constants.ZERO); member.setStatus(param.getStatus()); member.setType(Constants.memberType.internal); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); - member.setHkStatus(Constants.ZERO); member.setRoleIds(param.getRoleIds()); member.setCompanyId(Objects.isNull(company)?null:company.getId()); member.setErpOrgId(param.getOrgId()); @@ -614,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)){ @@ -783,8 +789,6 @@ } } - - @Override public void userUpdate(UserUpdateRequest param){ try{ @@ -795,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())//鎵嬫満鍙� ){ @@ -820,11 +824,12 @@ member.setType(Constants.memberType.internal); String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo()); member.setIdcardNo(encryptIdNo); + member.setStartTime(param.getValidStartTime()); + member.setEndTime(param.getValidEndTime()); member.setIdcardDecode(Constants.getTuominStr(param.getIdNo())); member.setErpOrgId(param.getOrgId()); doorIds = getRoleIdByParam(param.getRoleIds(),member); memberMapper.insert(member); - //TODO 娴峰悍鏁版嵁鍒涘缓-------------淇敼------------------- }else{ Integer id = member.getId(); BeanUtils.copyProperties(param,member); @@ -837,10 +842,11 @@ doorIds = getRoleIdByParam(param.getRoleIds(),member); member.setErpDate(new Date()); member.setHkStatus(Constants.ZERO); + member.setStartTime(param.getValidStartTime()); + member.setEndTime(param.getValidEndTime()); memberMapper.updateById(member); //鍒犻櫎鐢ㄦ埛鍗$墖鏁版嵁 浜哄憳瑙掕壊鍏宠仈 memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,member.getId())); - //TODO 娴峰悍鏁版嵁鏇存柊 } //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime()); @@ -874,47 +880,59 @@ } } } - /** * //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 * @param member */ private void dealMemberRoleEmpower(Member member, List<Integer> doorIds,Date startTime,Date endTime ) { //鍒犻櫎鎵�鏈夎�佺殑鎺堟潈淇℃伅 - empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() - .eq(Empower::getMemberId,member.getId()) - .set(Empower::getIsdeleted,Constants.ONE) - .set(Empower::getSendStatus,Constants.ZERO)); + if(!Objects.isNull(member)&&!Objects.isNull(member.getId())){ + empowerMapper.update(null,new UpdateWrapper<Empower>().lambda() + .eq(Empower::getMemberId,member.getId()) + .set(Empower::getIsdeleted,Constants.ONE) + .set(Empower::getSendStatus,Constants.ZERO)); + } + // empowerMapper.delete(new UpdateWrapper<Empower>().lambda() // .eq(Empower::getMemberId,member.getId()) // ); if(doorIds==null || doorIds.size() == 0){ return; } - List<Empower> list = new ArrayList<>(); - List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds)); - if(deviceList == null || deviceList.size() == 0){ - return; + if(StringUtils.isBlank(member.getFaceImg())){ + return; } - for (Device deviceRole:deviceList) { - Empower model = new Empower(); - model.setCreateDate(new Date()); - model.setMemberId(member.getId()); - model.setIsdeleted(Constants.ZERO); - model.setDeviceId(deviceRole.getId()); - model.setSendStatus(Constants.ZERO); - model.setStartTime(startTime); - model.setEndTime(endTime); - model.setSendType(Constants.ZERO); - list.add(model); + if(Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ + //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄� + List<Empower> list = new ArrayList<>(); + List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds)); + if(deviceList == null || deviceList.size() == 0){ + return; + } + for (Device deviceRole:deviceList) { + Empower model = new Empower(); + model.setCreateDate(new Date()); + model.setMemberId(member.getId()); + model.setIsdeleted(Constants.ZERO); + model.setDeviceId(deviceRole.getId()); + model.setSendStatus(Constants.ZERO); + model.setStartTime(startTime); + model.setEndTime(endTime); + //榛樿缁欎簬铏氭嫙鍗� + model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId()); + model.setSendType(Constants.ZERO); + list.add(model); + } + //瀵煎叆鏂板鐨勬巿鏉冧俊鎭� + empowerMapper.insertBatchSomeColumn(list); } - //瀵煎叆鏂板鐨勬巿鏉冧俊鎭� - empowerMapper.insertBatchSomeColumn(list); } private List<Integer> getRoleIdByParam(Integer[] param, Member member) { //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁 - memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); + if(!Objects.isNull(member)&&!Objects.isNull(member.getId())){ + memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); + } if(!Objects.isNull(param)&¶m.length>Constants.ZERO){ //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺 List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() @@ -951,7 +969,6 @@ } memberRoleMapper.insertBatchSomeColumn(memberRoleList); member.setRoleId(ids); - return r; } } @@ -969,6 +986,13 @@ return; } List<Integer> doorIds = getRoleIdByParam(param.getRoleIds(),member); + //鏇存柊鎺堟潈鏈夋晥鏈� + Member update = new Member(); + update.setId(member.getId()); + update.setEditDate(new Date()); + update.setStartTime(param.getValidStartTime()); + update.setEndTime(param.getValidEndTime()); + memberMapper.updateById(update); //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓 dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime()); -- Gitblit v1.9.3