sinake
3 天以前 c1594b6c8de0005a53b03f0d23179d7a5b7537fb
发票管理
已修改7个文件
75 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceInvoiceController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceInvoice.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonorchargeorganService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceInvoiceServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonatecomporganController.java
@@ -166,7 +166,7 @@
                serviceDonatecompletion.setId(serviceDonatecomporgans.get(0).getId());
                i = serviceDonatecomporganService.updateById(serviceDonatecompletion);
            }
            if (i) {
            if (i&&!serviceDonorchargeorgan.getOrganname().equals("遗体")) {
                serviceDonorchargeorgan.setId(null);
                QueryWrapper<ServiceDonorchargeorgan> queryWrapper = new QueryWrapper();
                queryWrapper.eq("InfoID", serviceDonorchargeorgan.getInfoid())
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonorchargeorganController.java
@@ -112,6 +112,15 @@
    }
    /**
     * 器官费用汇总(应收/实收/未回款),按当前查询条件统计全部结果
     */
    @ApiOperation("器官费用汇总")
    @GetMapping("/organfeeSummary")
    public AjaxResult organfeeSummary(ServiceDonorchargeorgan serviceDonorchargeorgan) {
        return AjaxResult.success(serviceDonorchargeorganService.organfeeSummary(serviceDonorchargeorgan));
    }
    /**
     * 器官状态值转文本
     */
    private String organStateName(String organState) {
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceInvoiceController.java
@@ -168,6 +168,7 @@
            String url = url1 + fileName;
            String base64= Base64.getEncoder().encodeToString(file.getBytes());
            List<Map<String,Object>> lists=aliOCR(base64,userId,caseId);
            logger.info(JSON.toJSONString(lists));
            List<ServiceInvoice> invoiceList=new ArrayList<>();
            for(Map<String,Object> row : lists){
                ServiceInvoice invoice=new ServiceInvoice();
@@ -177,14 +178,14 @@
                if(ObjectUtils.isNotEmpty(caseId)) {
                    invoice.setCaseId(Long.parseLong(caseId));
                }
                invoice.setInvoiceType(row.get("发票分类")+"");
                invoice.setInvoiceType(row.get("type")+"");
                invoice.setInvoiceNo(row.get("发票号码")+"");
                invoice.setOccurDate(row.get("开票日期")+"");
                invoice.setInvoiceAmount(row.get("金额")+"");
                invoice.setInvoiceAmount(row.get("发票金额")+"");
                invoice.setSellerName(row.get("受票方名称")+"");
                invoice.setInvoiceUrl(url);
                String invoiceName=newFilename.isEmpty() ? filename : newFilename;
                invoice.setInvoiceName(invoiceName.split(".")[0]);
                invoice.setInvoiceName(invoiceName.substring(0, invoiceName.lastIndexOf(".")));
                invoice.setExtContent(JSON.toJSONString(row));
                invoice.setCreateBy(userId);
                invoice.setCreateTime(DateUtils.getNowDate());
@@ -221,6 +222,7 @@
            HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
            //获取response的body
            String content= EntityUtils.toString(response.getEntity());
            logger.info(content);
            JSONObject jsonContent=JSONObject.parseObject(content);
            JSONArray subMsgs=jsonContent.getJSONArray("subMsgs");
@@ -234,19 +236,20 @@
                for(Map.Entry<String, Object> entry : result.entrySet()){
                    tempList.put(entry.getKey(),entry.getValue());
                }
                if(rowObject.getString("发票分类").equals("银行承兑汇票")){
                if(rowObject.getString("type").equals("银行承兑汇票")){
                    BigDecimal totalAmount= ChineseUtils.chineseToNumber(result.getString("票据金额大写"));
                    tempList.put("金额",totalAmount);
                    tempList.put("发票金额",totalAmount);
                }
                if(rowObject.getString("发票分类").equals("火车票")){
                    tempList.put("金额",result.getString("票价"));
                if(rowObject.getString("type").equals("火车票")){
                    tempList.put("发票金额",result.getString("票价"));
                }
                tempList.put("type",rowObject.getString("type"));
                lists.add(tempList);
            }
            return lists;
        } catch (Exception e) {
            logger.error(e.getMessage());
            return lists;
        }
    }
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceInvoice.java
@@ -119,6 +119,13 @@
    private String reimburseState;
    /**
     * 报销ID
     */
    @ApiModelProperty("报销ID")
    @Excel(name = "报销ID")
    private String reimburseId;
    /**
     * 扩展内容(json存)
     */
    @ApiModelProperty("扩展内容(json存)")
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceDonorchargeorganService.java
@@ -8,6 +8,7 @@
import com.ruoyi.project.domain.SpStatChangeReq;
import java.util.List;
import java.util.Map;
/**
 * 捐献器官Service接口
@@ -48,4 +49,12 @@
     * @return 明细集合
     */
    public List<SpStatChangeDetail> getSpStatChangeDetail(SpStatChangeDetailReq req);
    /**
     * 器官费用汇总(应收/实收/未回款),按查询条件统计全部结果
     *
     * @param serviceDonorchargeorgan 查询条件
     * @return 汇总结果
     */
    public Map<String, Object> organfeeSummary(ServiceDonorchargeorgan serviceDonorchargeorgan);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java
@@ -14,7 +14,10 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 捐献器官Service业务层处理
@@ -120,6 +123,29 @@
    }
    @Override
    public Map<String, Object> organfeeSummary(ServiceDonorchargeorgan serviceDonorchargeorgan) {
        List<ServiceDonorchargeorgan> list = Boolean.TRUE.equals(serviceDonorchargeorgan.getPaymentidIsNotNull())
                ? queryList(serviceDonorchargeorgan)
                : queryListBypaymentidIsNull(serviceDonorchargeorgan);
        BigDecimal organchargeTotal = BigDecimal.ZERO;
        BigDecimal amountTotal = BigDecimal.ZERO;
        for (ServiceDonorchargeorgan item : list) {
            if (item.getOrgancharge() != null) {
                organchargeTotal = organchargeTotal.add(item.getOrgancharge());
            }
            if (item.getAmount() != null) {
                amountTotal = amountTotal.add(item.getAmount());
            }
        }
        Map<String, Object> summary = new HashMap<>(4);
        summary.put("organchargeTotal", organchargeTotal);
        summary.put("amountTotal", amountTotal);
        summary.put("unreceivedTotal", organchargeTotal.subtract(amountTotal));
        summary.put("rowCount", list.size());
        return summary;
    }
    @Override
    public List<SpStatChange> getListBySpStatChange(SpStatChangeReq spStatChangeReq) {
        return serviceDonorchargeorganMapper.getListBySpStatChange(
                spStatChangeReq.getPabegtime(),
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceInvoiceServiceImpl.java
@@ -68,6 +68,9 @@
        if (StringUtils.isNotBlank(serviceInvoice.getReimburseState())) {
            wrappers.eq(ServiceInvoice::getReimburseState, serviceInvoice.getReimburseState());
        }
        if (StringUtils.isNotBlank(serviceInvoice.getReimburseId())) {
            wrappers.eq(ServiceInvoice::getReimburseId, serviceInvoice.getReimburseId());
        }
        wrappers.orderByDesc(ServiceInvoice::getCreateTime).orderByDesc(ServiceInvoice::getId);
        return this.list(wrappers);
    }