Explorar o código

优化巡检照片信息

wuxw %!s(int64=6) %!d(string=hai) anos
pai
achega
fcc17d67f1

+ 10 - 0
Api/src/main/java/com/java110/api/bmo/inspectionTask/IInspectionTaskBMO.java

@@ -34,5 +34,15 @@ public interface IInspectionTaskBMO extends IApiBaseBMO {
      JSONObject deleteInspectionTask(JSONObject paramInJson, DataFlowContext dataFlowContext);
 
 
+    /**
+     * 添加物业费用
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    public JSONObject addPhoto(JSONObject paramInJson, DataFlowContext dataFlowContext);
+
+
 
 }

+ 26 - 0
Api/src/main/java/com/java110/api/bmo/inspectionTask/impl/InspectionTaskBMOImpl.java

@@ -94,4 +94,30 @@ public class InspectionTaskBMOImpl extends ApiBaseBMO implements IInspectionTask
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessInspectionTask", businessInspectionTask);
         return business;
     }
+
+    /**
+     * 添加物业费用
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    public JSONObject addPhoto(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.put("fileRelId", "-1");
+        businessUnit.put("relTypeCd", "90000");
+        businessUnit.put("saveWay", "ftp");
+        businessUnit.put("objId", paramInJson.getString("taskDetailId"));
+        businessUnit.put("fileRealName", paramInJson.getString("photoId"));
+        businessUnit.put("fileSaveName", paramInJson.getString("fileSaveName"));
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFileRel", businessUnit);
+
+        return business;
+    }
 }

+ 29 - 0
Api/src/main/java/com/java110/api/listener/inspectionTaskDetail/ListInspectionTaskDetailsListener.java

@@ -4,13 +4,17 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.file.IFileRelInnerServiceSMO;
 import com.java110.core.smo.inspectionTaskDetail.IInspectionTaskDetailInnerServiceSMO;
+import com.java110.dto.file.FileRelDto;
 import com.java110.dto.inspectionTaskDetail.InspectionTaskDetailDto;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeInspectionTaskDetailConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.api.inspectionTaskDetail.ApiInspectionTaskDetailDataVo;
 import com.java110.vo.api.inspectionTaskDetail.ApiInspectionTaskDetailVo;
+import com.java110.vo.api.junkRequirement.ApiJunkRequirementDataVo;
+import com.java110.vo.api.junkRequirement.PhotoVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -28,6 +32,8 @@ public class ListInspectionTaskDetailsListener extends AbstractServiceApiListene
 
     @Autowired
     private IInspectionTaskDetailInnerServiceSMO inspectionTaskDetailInnerServiceSMOImpl;
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
 
     @Override
     public String getServiceCode() {
@@ -70,6 +76,7 @@ public class ListInspectionTaskDetailsListener extends AbstractServiceApiListene
 
         if (count > 0) {
             inspectionTaskDetails = BeanConvertUtil.covertBeanList(inspectionTaskDetailInnerServiceSMOImpl.queryInspectionTaskDetails(inspectionTaskDetailDto), ApiInspectionTaskDetailDataVo.class);
+            refreshPhotos(inspectionTaskDetails);
         } else {
             inspectionTaskDetails = new ArrayList<>();
         }
@@ -85,4 +92,26 @@ public class ListInspectionTaskDetailsListener extends AbstractServiceApiListene
         context.setResponseEntity(responseEntity);
 
     }
+
+    private void refreshPhotos(List<ApiInspectionTaskDetailDataVo> inspectionTaskDetails) {
+        List<PhotoVo> photoVos = null;
+        PhotoVo photoVo = null;
+        for (ApiInspectionTaskDetailDataVo inspectionTaskDetail : inspectionTaskDetails) {
+            if(!"20200407".equals(inspectionTaskDetail.getState())){
+                continue;
+            }
+            FileRelDto fileRelDto = new FileRelDto();
+            fileRelDto.setObjId(inspectionTaskDetail.getTaskDetailId());
+            List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+            photoVos = new ArrayList<>();
+            for (FileRelDto tmpFileRelDto : fileRelDtos) {
+                photoVo = new PhotoVo();
+                photoVo.setUrl("/callComponent/download/getFile/file?fileId=" + tmpFileRelDto.getFileRealName() + "&communityId=" + inspectionTaskDetail.getCommunityId());
+                photoVos.add(photoVo);
+            }
+
+            inspectionTaskDetail.setPhotos(photoVos);
+
+        }
+    }
 }

+ 32 - 1
Api/src/main/java/com/java110/api/listener/inspectionTaskDetail/UpdateInspectionTaskDetailListener.java

@@ -7,9 +7,12 @@ import com.java110.api.bmo.inspectionTaskDetail.IInspectionTaskDetailBMO;
 import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.file.IFileInnerServiceSMO;
 import com.java110.core.smo.inspectionPoint.IInspectionInnerServiceSMO;
 import com.java110.core.smo.inspectionTask.IInspectionTaskInnerServiceSMO;
 import com.java110.core.smo.inspectionTaskDetail.IInspectionTaskDetailInnerServiceSMO;
+import com.java110.dto.file.FileDto;
 import com.java110.dto.inspectionTask.InspectionTaskDto;
 import com.java110.dto.inspectionTaskDetail.InspectionTaskDetailDto;
 import com.java110.entity.center.AppService;
@@ -17,6 +20,7 @@ import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeInspectionTaskDetailConstant;
 import com.java110.utils.util.Assert;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -39,6 +43,9 @@ public class UpdateInspectionTaskDetailListener extends AbstractServiceApiListen
     @Autowired
     private IInspectionTaskBMO inspectionTaskBMOImpl;
 
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
 
     @Autowired
     private IInspectionInnerServiceSMO inspectionInnerServiceSMOImpl;
@@ -56,7 +63,7 @@ public class UpdateInspectionTaskDetailListener extends AbstractServiceApiListen
         Assert.hasKeyAndValue(reqJson, "taskId", "请求报文中未包含taskId");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
         Assert.hasKeyAndValue(reqJson, "inspectionId", "请求报文中未包含inspectionId");
-        Assert.hasKeyAndValue(reqJson, "photo", "请求报文中未包含照片");
+        Assert.hasKeyAndValue(reqJson, "photos", "请求报文中未包含照片");
 
     }
 
@@ -69,6 +76,10 @@ public class UpdateInspectionTaskDetailListener extends AbstractServiceApiListen
 
         AppService service = event.getAppService();
 
+        if (reqJson.containsKey("photos")) {
+            dealPhotos(businesses,reqJson,context);
+        }
+
         //添加单元信息
         reqJson.put("state", "20200407");//巡检点完成
         businesses.add(inspectionTaskDetailBMOImpl.updateInspectionTaskDetail(reqJson, context));
@@ -111,6 +122,26 @@ public class UpdateInspectionTaskDetailListener extends AbstractServiceApiListen
         context.setResponseEntity(responseEntity);
     }
 
+
+    private void dealPhotos(JSONArray businesses, JSONObject reqJson,DataFlowContext context) {
+        JSONArray photos = reqJson.getJSONArray("photos");
+        JSONObject photo = null;
+        for (int photoIndex = 0; photoIndex < photos.size(); photoIndex++) {
+            photo = photos.getJSONObject(photoIndex);
+            FileDto fileDto = new FileDto();
+            fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+            fileDto.setFileName(fileDto.getFileId());
+            fileDto.setContext(photo.getString("photo"));
+            fileDto.setSuffix("jpeg");
+            fileDto.setCommunityId(reqJson.getString("communityId"));
+            String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+            reqJson.put("photoId", fileDto.getFileId());
+            reqJson.put("fileSaveName", fileName);
+
+            businesses.add(inspectionTaskBMOImpl.addPhoto(reqJson, context));
+        }
+    }
+
     @Override
     public String getServiceCode() {
         return ServiceCodeInspectionTaskDetailConstant.UPDATE_INSPECTIONTASKDETAIL;

+ 13 - 0
java110-bean/src/main/java/com/java110/vo/api/inspectionTaskDetail/ApiInspectionTaskDetailDataVo.java

@@ -1,7 +1,10 @@
 package com.java110.vo.api.inspectionTaskDetail;
 
+import com.java110.vo.api.junkRequirement.PhotoVo;
+
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 public class ApiInspectionTaskDetailDataVo implements Serializable {
 
@@ -16,6 +19,8 @@ public class ApiInspectionTaskDetailDataVo implements Serializable {
     private String taskId;
     private String taskDetailId;
 
+    private List<PhotoVo> photos;
+
     private String patrolType;
     private String description;
 
@@ -115,4 +120,12 @@ public class ApiInspectionTaskDetailDataVo implements Serializable {
     public void setDescription(String description) {
         this.description = description;
     }
+
+    public List<PhotoVo> getPhotos() {
+        return photos;
+    }
+
+    public void setPhotos(List<PhotoVo> photos) {
+        this.photos = photos;
+    }
 }