doum
2026-06-08 fad0704afaf4ed07963d267142cc6f625a09909d
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -4,7 +4,6 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.dingTalk.DingTalk;
import com.doumee.core.dingTalk.DingTalkStream;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.jiandaoyun.api.arch.DeptApiClient;
@@ -145,6 +144,7 @@
            //更新钥匙柜信息
            jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                    .set(JkCabinetGrid::getKeyId,jkCabinetGrid.getKeyId())
                    .set(JkCabinetGrid::getActualLable,keysModel.getRfidLable())
                    .set(JkCabinetGrid::getEditor,loginUserInfo.getId())
                    .set(JkCabinetGrid::getEditDate,DateUtil.getCurrDateTime())
                    .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
@@ -259,6 +259,7 @@
                //更新钥匙柜信息
                jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                        .set(JkCabinetGrid::getKeyId,null)
                        .set(JkCabinetGrid::getActualLable,null)
                        .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
                        .eq(JkCabinetGrid::getId,model.getId()));
                JkKeys keysModel = jkKeysMapper.selectById(model.getKeyId());
@@ -277,6 +278,7 @@
            if(CollectionUtils.isNotEmpty(jkCabinetGridList)){
                jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                        .set(JkCabinetGrid::getKeyId,null)
                        .set(JkCabinetGrid::getActualLable,null)
                        .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
                        .in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
                List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList());
@@ -488,6 +490,14 @@
                                .set(JkKeys::getStatus,dto.getKeyStatus())
                                .eq(JkKeys::getId,jkKeys.getId())
                        );
                        if(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)&&
                                (StringUtils.isBlank(jkCabinetGrid.getActualLable())||!StringUtils.equals(jkCabinetGrid.getActualLable(),jkKeys.getRfidLable()))){
                            //更新钥匙实际编码
                            jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
                                    .set(JkCabinetGrid::getActualLable,jkKeys.getRfidLable())
                                    .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
                            );
                        }
                    }
                }
            }
@@ -754,6 +764,26 @@
        }
    }
    public static void main(String[] args) {
        try {
            JkCabinetGridServiceImpl temp = new JkCabinetGridServiceImpl();
            FormDataApiClient apiClient = new FormDataApiClient("B4eyPmjtnvnameAKq5lbDLdRZi18VQ3p"  ,"https://lcdp.ahyc.com.cn:30443/api/");
            FormDataCreateParam param  =new FormDataCreateParam();
            WarningEvent warningEvent = new WarningEvent();
            warningEvent.setTitle("跨越生产线(测试)");
            warningEvent.setContent("跨越生产线-芜湖北围墙过道东-枪(跨越)");
            param.setData( temp.getJdyChildData(warningEvent,"gaoyf_b"));
            param.setApp_id("6954aca3cdf8fb470ca1aabd");
            param.setEntry_id("6954aca6ff1c406a1d7b9afa");
            param.setIs_start_trigger(false);
            param.setIs_start_trigger(true);
            Map<String, Object>  response =  apiClient.singleDataCreate(param,apiClient.getDefaultVersion());
            log.error(JSONObject.toJSONString(response));
        }catch (Exception e){
        }
    }
    /**
     * 简道云消息推送 定制
@@ -773,6 +803,7 @@
            param.setEntry_id(entryId);
            param.setIs_start_trigger(false);
            param.setIs_start_trigger(true);
            log.error("简道云发送通知[getJDYData]请求入参====>" + JSONObject.toJSONString(param) );
            Map<String, Object>  response =  apiClient.singleDataCreate(param,apiClient.getDefaultVersion());
            /*
             Map<String,Object> map = new HashMap<>();
@@ -793,7 +824,7 @@
                    .addHeader("Content-Type", "application/json")
                    .build();
            Response response = client.newCall(request).execute();*/
            log.error("简道云发送通知返回信息" + JSONObject.toJSONString(response));
            log.error("简道云发送通知[getJDYData]返回信息" + JSONObject.toJSONString(response));
        }catch (Exception e){
            log.error("简道云发送通知返回信息异常:" + e.getMessage());
        }
@@ -1157,6 +1188,7 @@
                        .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
                        .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
                        .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus)
                        .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId)
                        .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
                        .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId)
                        .eq(JkCabinet::getCode,dto.getCode())
@@ -1171,21 +1203,71 @@
        List<SyncGridDTO> gridDTOList = dto.getGridDTOList();
        for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
            List<SyncGridDTO> gridSyncList = gridDTOList.stream().filter(i->StringUtils.isNotBlank(i.getBoardCode())&&
                    StringUtils.isNotBlank(i.getChannelCode())&&StringUtils.isNotBlank(i.getActualLable())&&i.getBoardCode().equals(jkCabinetGrid.getBoardCode())
                    StringUtils.isNotBlank(i.getChannelCode())&&i.getBoardCode().equals(jkCabinetGrid.getBoardCode())
                    && i.getChannelCode().equals(jkCabinetGrid.getChannelCode())).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(gridSyncList)){
                continue;
            }
            SyncGridDTO syncGridDTO = gridSyncList.get(Constants.ZERO);
            if(StringUtils.isBlank(jkCabinetGrid.getKeyCode())
                    || (!jkCabinetGrid.getKeyCode().equals(syncGridDTO.getActualLable())
                    && !jkCabinetGrid.getActualLable().equals(syncGridDTO.getActualLable()))){
                //更新数据 标记对应code
                jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
                        .set(JkCabinetGrid::getActualLable,syncGridDTO.getActualLable())
                        .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
                );
            //为空的情况 或 钥匙与柜格钥匙不一致 标记钥匙不在位
            if(StringUtils.isBlank(syncGridDTO.getActualLable())
                || !jkCabinetGrid.getKeyCode().equals(syncGridDTO.getActualLable())
            ){
                if(Constants.equalsInteger(jkCabinetGrid.getKeyStatus(),Constants.ONE)){
                    jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda()
                            .set(JkKeys::getStatus,Constants.TWO)
                            .eq(JkKeys::getId,jkCabinetGrid.getKeyId())
                    );
                    log.error("钥匙柜信息推送实际钥匙变化:"+jkCabinetGrid.getKeyCode());
                    JkCabinetLog cabinetLog = new JkCabinetLog();
                    cabinetLog.setCabinetId(jkCabinetGrid.getCabinetId());
                    cabinetLog.setGridId(jkCabinetGrid.getId());
                    cabinetLog.setKeyId(jkCabinetGrid.getKeyId());
                    cabinetLog.setCarId(jkCabinetGrid.getCarId());
                    cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkCabinetGrid.getKeyCode());
                    cabinetLog.setType(Constants.ONE);
                    cabinetLog.setStatus(Constants.ZERO);
                    cabinetLog.setAuthType(3);
                    cabinetLog.setKeyStatus(Constants.TWO);
                    cabinetLog.setIsNotice(Constants.ZERO);
                    cabinetLog.setInfo("硬件同步-钥匙不在位");
                    cabinetLog.setIsdeleted(Constants.ZERO);
                    cabinetLog.setCreateDate(new Date());
                    jkCabinetLogMapper.insert(cabinetLog);
                }
            }else{
                if(!Constants.equalsInteger(jkCabinetGrid.getKeyStatus(),Constants.ONE)){
                    jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda()
                            .set(JkKeys::getStatus,Constants.ONE)
                            .eq(JkKeys::getId,jkCabinetGrid.getKeyId())
                    );
                    log.error("钥匙柜信息推送实际钥匙变化:"+jkCabinetGrid.getKeyCode());
                    JkCabinetLog cabinetLog = new JkCabinetLog();
                    cabinetLog.setCabinetId(jkCabinetGrid.getCabinetId());
                    cabinetLog.setGridId(jkCabinetGrid.getId());
                    cabinetLog.setKeyId(jkCabinetGrid.getKeyId());
                    cabinetLog.setCarId(jkCabinetGrid.getCarId());
                    cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkCabinetGrid.getKeyCode());
                    cabinetLog.setType(Constants.ONE);
                    cabinetLog.setStatus(Constants.ZERO);
                    cabinetLog.setAuthType(3);
                    cabinetLog.setKeyStatus(Constants.ONE);
                    cabinetLog.setIsNotice(Constants.ZERO);
                    cabinetLog.setInfo("硬件同步-钥匙在位");
                    cabinetLog.setIsdeleted(Constants.ZERO);
                    cabinetLog.setCreateDate(new Date());
                    jkCabinetLogMapper.insert(cabinetLog);
                }
            }
//            if(StringUtils.isBlank(jkCabinetGrid.getKeyCode())
//                    || (!jkCabinetGrid.getKeyCode().equals(syncGridDTO.getActualLable())
//                    && !jkCabinetGrid.getActualLable().equals(syncGridDTO.getActualLable()))){
//                //更新数据 标记对应code
//                jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
//                        .set(JkCabinetGrid::getActualLable,syncGridDTO.getActualLable())
//                        .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
//                );
//            }
        }
    }