java110
2023-03-29 0b04f664887c73e90bf684a4e69c0fdbfe26349d
service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java
@@ -7,6 +7,7 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.itemRelease.ItemReleaseDto;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.dto.visit.VisitDto;
import com.java110.dto.visitSetting.VisitSettingDto;
import com.java110.dto.workflow.WorkflowDto;
@@ -16,8 +17,10 @@
import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
import com.java110.intf.community.IVisitV1InnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import com.java110.vo.api.visit.ApiVisitDataVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +49,9 @@
    @Autowired
    private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
    @Autowired
    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
@@ -87,7 +93,10 @@
            refreshFormData(datas, reqJson);
            // 输入flowId
            refreshSetting(datas,reqJson);
            refreshSetting(datas, reqJson);
            //刷新 业主
            refreshOwners(datas, reqJson);
        } else {
            datas = new ArrayList<>();
        }
@@ -96,6 +105,39 @@
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        context.setResponseEntity(responseEntity);
    }
    private void refreshOwners(List<JSONObject> datas, JSONObject reqJson) {
        if (datas == null || datas.size() < 1) {
            return;
        }
        List<String> ownerIds = new ArrayList<>();
        for (JSONObject apiVisitDataVo : datas) {
            ownerIds.add(apiVisitDataVo.getString("ownerId"));
        }
        OwnerDto ownerDto = new OwnerDto();
        ownerDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
        ownerDto.setCommunityId(reqJson.getString("communityId"));
        List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
        for (JSONObject apiVisitDataVo : datas) {
            if (apiVisitDataVo.containsKey("ownerId") && StringUtil.isEmpty(apiVisitDataVo.getString("ownerId"))) {
                for (OwnerDto tmpOwnerDto : ownerDtos) {
                    if (!StringUtil.isEmpty(apiVisitDataVo.getString("ownerId")) &&
                            !StringUtil.isEmpty(tmpOwnerDto.getOwnerId()) && !apiVisitDataVo.getString("ownerId").equals(tmpOwnerDto.getOwnerId())) {
                        continue;
                    }
                    apiVisitDataVo.put("ownerName", tmpOwnerDto.getName());
                    apiVisitDataVo.put("ownerTel", tmpOwnerDto.getLink());
                }
            }
        }
    }
@@ -134,12 +176,12 @@
            return;
        }
        if(datas == null || datas.size() < 1){
        if (datas == null || datas.size() < 1) {
            return;
        }
        for(JSONObject data : datas){
            data.put("flowId",visitSettingDtos.get(0).getFlowId());
        for (JSONObject data : datas) {
            data.put("flowId", visitSettingDtos.get(0).getFlowId());
        }
    }