wuxw před 2 roky
rodič
revize
0d15b8210c

+ 2 - 0
java110-bean/src/main/java/com/java110/dto/file/FileRelDto.java

@@ -24,6 +24,8 @@ public class FileRelDto extends PageDto implements Serializable {
     public static final String BEFORE_REPAIR_PHOTOS = "23000";  //维修前图片
     public static final String AFTER_REPAIR_PHOTOS = "24000";  //维修后图片
 
+    public static final String REL_TYPE_CE_INVOICE = "29000";//发票
+
     private String relTypeCd;
     private String[] relTypeCds;
     private String saveWay;

+ 20 - 0
java110-bean/src/main/java/com/java110/dto/invoiceApply/InvoiceApplyDto.java

@@ -5,6 +5,7 @@ import com.java110.dto.ownerInvoice.OwnerInvoiceDto;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -33,6 +34,7 @@ public class InvoiceApplyDto extends OwnerInvoiceDto implements Serializable {
     private String createUserName;
     private String remark;
     private String state;
+    private String stateName;
     private String communityId;
 
 
@@ -40,6 +42,8 @@ public class InvoiceApplyDto extends OwnerInvoiceDto implements Serializable {
 
     private String statusCd = "0";
 
+    private List<String> urls;
+
 
     public String getApplyId() {
         return applyId;
@@ -145,4 +149,20 @@ public class InvoiceApplyDto extends OwnerInvoiceDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public List<String> getUrls() {
+        return urls;
+    }
+
+    public void setUrls(List<String> urls) {
+        this.urls = urls;
+    }
+
+    public String getStateName() {
+        return stateName;
+    }
+
+    public void setStateName(String stateName) {
+        this.stateName = stateName;
+    }
 }

+ 3 - 1
java110-db/src/main/resources/mapper/acct/InvoiceApplyV1ServiceDaoImplMapper.xml

@@ -21,9 +21,11 @@
         createUserId,t.owner_name,t.owner_name ownerName,t.invoice_type,t.invoice_type
         invoiceType,t.apply_tel,t.apply_tel applyTel,t.invoice_amount,t.invoice_amount
         invoiceAmount,t.create_user_name,t.create_user_name createUserName,t.remark,t.status_cd,t.status_cd
-        statusCd,t.state,t.community_id,t.community_id communityId,oi.invoice_name invoiceName,oi.invoice_num invoiceNum,oi.invoice_address invoiceAddress
+        statusCd,t.state,t.community_id,t.community_id communityId,oi.invoice_name invoiceName,oi.invoice_num invoiceNum,oi.invoice_address invoiceAddress,
+        td.`name` stateName
         from invoice_apply t
         left join owner_invoice oi on t.oi_id = oi.oi_id
+        left join t_dict td on t.state = td.status_cd and td.table_name = 'invoice_apply' and td.table_columns = 'state'
         where 1 =1
         <if test="applyId !=null and applyId != ''">
             and t.apply_id= #{applyId}

+ 45 - 12
service-acct/src/main/java/com/java110/acct/cmd/invoice/ListInvoiceApplyCmd.java

@@ -20,15 +20,21 @@ import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.file.FileRelDto;
 import com.java110.intf.acct.IInvoiceApplyV1InnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.java110.dto.invoiceApply.InvoiceApplyDto;
+
 import java.util.List;
 import java.util.ArrayList;
+
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.HttpStatus;
 import org.slf4j.Logger;
@@ -48,10 +54,13 @@ import org.slf4j.LoggerFactory;
 @Java110Cmd(serviceCode = "invoice.listInvoiceApply")
 public class ListInvoiceApplyCmd extends Cmd {
 
-  private static Logger logger = LoggerFactory.getLogger(ListInvoiceApplyCmd.class);
+    private static Logger logger = LoggerFactory.getLogger(ListInvoiceApplyCmd.class);
     @Autowired
     private IInvoiceApplyV1InnerServiceSMO invoiceApplyV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         super.validatePageInfo(reqJson);
@@ -62,22 +71,46 @@ public class ListInvoiceApplyCmd extends Cmd {
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-           InvoiceApplyDto invoiceApplyDto = BeanConvertUtil.covertBean(reqJson, InvoiceApplyDto.class);
+        InvoiceApplyDto invoiceApplyDto = BeanConvertUtil.covertBean(reqJson, InvoiceApplyDto.class);
+
+        int count = invoiceApplyV1InnerServiceSMOImpl.queryInvoiceApplysCount(invoiceApplyDto);
 
-           int count = invoiceApplyV1InnerServiceSMOImpl.queryInvoiceApplysCount(invoiceApplyDto);
+        List<InvoiceApplyDto> invoiceApplyDtos = null;
 
-           List<InvoiceApplyDto> invoiceApplyDtos = null;
+        if (count > 0) {
+            invoiceApplyDtos = invoiceApplyV1InnerServiceSMOImpl.queryInvoiceApplys(invoiceApplyDto);
+        } else {
+            invoiceApplyDtos = new ArrayList<>();
+        }
+
+        //todo 查询电子发票
+        queryInvoicePhoto(invoiceApplyDtos);
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, invoiceApplyDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
 
-           if (count > 0) {
-               invoiceApplyDtos = invoiceApplyV1InnerServiceSMOImpl.queryInvoiceApplys(invoiceApplyDto);
-           } else {
-               invoiceApplyDtos = new ArrayList<>();
-           }
+    private void queryInvoicePhoto(List<InvoiceApplyDto> invoiceApplyDtos) {
 
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, invoiceApplyDtos);
+        if (invoiceApplyDtos == null || invoiceApplyDtos.size() != 1) {
+            return;
+        }
 
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(invoiceApplyDtos.get(0).getApplyId());
+        fileRelDto.setRelTypeCd(FileRelDto.REL_TYPE_CE_INVOICE); //业主照片
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH");
 
-           cmdDataFlowContext.setResponseEntity(responseEntity);
+        if (fileRelDtos != null && fileRelDtos.size() > 0) {
+            List<String> urls = new ArrayList<>();
+            for (FileRelDto fileRel : fileRelDtos) {
+                urls.add(imgUrl + fileRel.getFileRealName());
+            }
+            invoiceApplyDtos.get(0).setUrls(urls);
+        }
     }
 }