jiangping
2024-02-01 7694708b91af01b0a49912fe119540b01d0c9d5d
开发业务接口
已修改5个文件
193 ■■■■ 文件已修改
company/src/api/business/taxes.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaTaxesWindow.vue 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/taxes.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/taxes.js
@@ -6,6 +6,9 @@
        trim: true
    })
}
export function getDetail (id) {
    return request.get(`business/taxes/${id}`)
}
// 查询
export function doneApply(data) {
    return request.post('/business/taxes/doneApply', data, {
company/src/components/business/OperaTaxesWindow.vue
@@ -1,7 +1,7 @@
<template>
    <GlobalWindow
        :title="title"
        width="100%"
        width="60%"
        submitText="返回修改"
        :visible.sync="visible"
        :confirm-working="isWorking"
@@ -9,45 +9,49 @@
    >
        <div class="info">
            <div class="info_label">
                <span>企业详情(已申请)</span>
              <span v-if="model.status === 0">企业详情(待处理)</span>
              <span v-if="model.status === 1">企业详情(已开票)</span>
              <span v-if="model.status === 2">企业详情(平台撤回)</span>
              <span v-if="model.status === 3">企业详情(已冲红)</span>
            </div>
            <div class="info_list">
                <div class="info_list_item">
                    <div class="info_list_item_label">开票名称:</div>
                    <div class="info_list_item_val">安徽格力人力资源有限公司</div>
                    <div class="info_list_item_val">{{ model.companyName}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">纳税人识别号:</div>
                    <div class="info_list_item_val">913418210000000000</div>
                    <div class="info_list_item_val">{{ model.taxCode }}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">开户行:</div>
                    <div class="info_list_item_val">安徽农村商业银行股份有限公司合肥支行</div>
                    <div class="info_list_item_val">{{ model.taxBank }}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label">账号:</div>
                    <div class="info_list_item_val">
                        20010355666666600000000
                      {{ model.taxAccount }}
                    </div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">地址、电话:</div>
                    <div class="info_list_item_val">安徽省合肥市经济技术开发区莲花路以东、石门路以南莲花路1#     0551-63450845</div>
                    <div class="info_list_item_val">{{ model.taxAddr }}</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">接收方式:</div>
                    <div class="info_list_item_val">电子发票</div>
                    <div v-if="model.type === 0" class="info_list_item_val">电子发票</div>
                    <div v-if="model.type === 1" class="info_list_item_val">纸质发票</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">接收地址:</div>
                    <div class="info_list_item_val">111122223333@qq.com</div>
                    <div class="info_list_item_val">{{ model.addr }}</div>
                </div>
                <div class="info_list_item" style="width: 100%;">
                    <div class="info_list_item_label">开票金额:</div>
                    <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">2000.00</div>
                    <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{ model.price }}</div>
                </div>
            </div>
            <el-table
            <el-table v-if="model.type ==0"
                :data="tableData"
                border
                show-summary
@@ -63,23 +67,102 @@
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="code"
                    prop="solutionName"
                    label="保险方案">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="code"
                    prop="applyCode"
                    label="保单号">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="code"
                    prop="createDate"
                    label="申请开票时间">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="code"
                    prop="fee"
                    label="金额">
                  <template slot-scope="{row}">
                    <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>
                  </template>
                </el-table-column>
            </el-table>
          <el-table v-if="model.type ==1"
                    :data="tableData1"
                    border
                    show-summary
                    :summary-method="getSummaries"
                    style="width: 100%; margin-bottom: 20px;">
            <el-table-column
                label="保单"
                align="center"
                width="80">
              <template slot-scope="scope">
                <span>{{scope.$index + 1}}</span>
              </template>
            </el-table-column>
            <el-table-column
                align="center"
                prop="solutionName"
                label="保险方案">
            </el-table-column>
            <el-table-column
                align="center"
                prop="applyCode"
                label="保单号">
            </el-table-column>
            <el-table-column
                align="center"
                prop="changApplyCode"
                label="批单号">
            </el-table-column>
            <el-table-column
                align="center"
                prop="fee"
                label="金额">
              <template slot-scope="{row}">
                <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>
              </template>
            </el-table-column>
          </el-table>
            <el-table v-if="model.type == 1"
                :data="tableData2"
                border
                show-summary
                :summary-method="getSummaries"
                style="width: 100%; margin-bottom: 20px;">
                <el-table-column
                    label="冲红单"
                    align="center"
                    width="80">
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="solutionName"
                    label="保险方案">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="taxDoneCode"
                    label="发票号">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="taxCreateDate"
                    label="申请开票时间">
                </el-table-column>
                <el-table-column
                    align="center"
                    prop="fee"
                    label="发票金额">
                  <template slot-scope="{row}">
                    <span  style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.fee}}</span>
                  </template>
                </el-table-column>
            </el-table>
        </div>
@@ -89,6 +172,7 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { getDetail } from '@/api/business/taxes'
export default {
  name: 'OperaCompanyWindow',
  extends: BaseOpera,
@@ -96,12 +180,15 @@
  data () {
    return {
      // 表单数据
      model: {},
      form: {
        id: null
      },
      // 验证规则
      rules: {},
      tableData: []
      tableData: [],
      tableData1: [],
      tableData2: []
    }
  },
  created () {
@@ -111,8 +198,28 @@
    })
  },
  methods: {
    open(title,targer){
    open (title, target) {
      this.title = title
      this.visible = true
      this.model = {}
      this.tableData = []
      this.tableData1 = []
      this.tableData2 = []
      this.model = target
      this.getDetails()
    },
    getDetails  () {
      getDetail(this.model.id).then(res => {
        this.model = res
        if (res.type == 0) {
          this.tableData=(res.applyList)
        } else {
          this.tableData1=(res.applyList)
          this.tableData2=(res.delTaxList)
        }
        console.log(this.tableData)
      }).catch(err => {
      })
    },
    getSummaries (param) {
      const { columns, data } = param
@@ -121,7 +228,7 @@
        if (index === 0) {
          sums[index] = '合计'
        } else {
          if (index == 9 || index == 10 || index == 11 || index == 12) {
          if (index == 4) {
            const values = data.map(item => Number(item[column.property]))
            if (!values.every(value => isNaN(value))) {
              sums[index] = values.reduce((prev, curr) => {
@@ -136,13 +243,33 @@
          }
        }
      })
      return sums
      return  sums
    }
  }
}
</script>
<style lang="scss" scoped>
    ::v-deep .el-table__footer-wrapper tbody td {
      cursor: pointer;
      text-align: center;
      &:nth-child(5) {
        color:rgba(249, 86, 1, 0.996078431372549);
      }
    }
    ::v-deep .el-table__header-wrapper   th:first-child .cell{
        color:rgba(249, 86, 1, 0.996078431372549) !important
    }
    ::v-deep  table:first-of-type th:first-child .cell{
         //color:rgba(249, 86, 1, 0.996078431372549) !important
    }
  /*  ::v-deep   .el-table--border th:first-child .cell {
      &:nth-child(2) {
        color:rgba(249, 86, 1, 0.996078431372549);
      }
    }*/
    .info {
        width: 100%;
        .info_label {
@@ -160,12 +287,13 @@
        .info_list {
            width: 100%;
            display: flex;
            align-items: center;
            align-items: left;
            flex-wrap: wrap;
            .info_list_item {
                width: 50%;
                display: flex;
                align-items: start;
                font-size: 14px;
                margin-bottom: 20px;
                .info_list_item_label {
                    width: 150px;
company/src/views/business/taxes.vue
@@ -7,6 +7,7 @@
                    <el-option label="待处理" value="0"></el-option>
                    <el-option label="已开票" value="1"></el-option>
                    <el-option label="平台撤回" value="2"></el-option>
                    <el-option label="已冲红" value="3"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="申请日期" prop="status">
@@ -50,6 +51,7 @@
                        <span v-if="row.status === 0">待处理</span>
                        <span v-if="row.status === 1">已开票</span>
                        <span v-if="row.status === 2">平台撤回</span>
                        <span v-if="row.status === 3">已冲红</span>
                    </template>
                </el-table-column>
                <el-table-column prop="companyName" label="申请企业" min-width="100px"></el-table-column>
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -104,7 +104,7 @@
    InsuranceApply findDetail(Integer id);
     void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO);
    void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO);
    Integer back(InsuranceApply insuranceApply);
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -127,11 +127,12 @@
    private List<TaxDetial> getJoinDetailListById(Integer id) {
        MPJLambdaWrapper<TaxDetial> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(TaxDetial.class);
        queryWrapper.selectAs(Solutions::getName,TaxDetial::getSolutionName);
        queryWrapper.selectAs(Taxes::getDoneCode,TaxDetial::getTaxDoneCode);
        queryWrapper.selectAs(Taxes::getCreateDate,TaxDetial::getTaxCreateDate);
        queryWrapper.selectAs(InsuranceApply::getCode,TaxDetial::getApplyCode);
        queryWrapper.selectAs(ApplyChange::getCode,TaxDetial::getChangApplyCode);
        queryWrapper.select("(CASE t.type\n" +
        queryWrapper.selectAs(ApplyChange::getValidCode,TaxDetial::getChangApplyCode);
/*        queryWrapper.select("(CASE t.type\n" +
                "WHEN 0 THEN (select count(1) from apply_detail c where c.APPLY_ID=t.INSURANCE_APPLY_ID) \n" +
                "ELSE 0  \n" +
                "END) as applyNum,\n" +
@@ -142,10 +143,12 @@
                "(CASE t.type \n" +
                "WHEN 1 THEN  (select count(1) from apply_chagne_detail c where c.APPLY_CHANGE_ID=t.APPLY_CHANGE_ID)  \n" +
                "ELSE 0  \n" +
                "END) as applyChangeAddNum");
                "END) as applyChangeAddNum");*/
        queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,TaxDetial::getInsuranceApplyId);
        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
        queryWrapper.leftJoin(ApplyChange.class,ApplyChange::getId,TaxDetial::getApplyChangeId);
        queryWrapper.leftJoin(Taxes.class,Taxes::getId,TaxDetial::getDelTaxId);
        queryWrapper.eq(  TaxDetial::getTaxId,id);
        List<TaxDetial> detialList =  taxDetailJoinMapper.selectJoinList(TaxDetial.class,queryWrapper.orderByAsc(TaxDetial::getType));
        return detialList;
    }
@@ -236,11 +239,12 @@
            List<TaxDetial> applyList = new ArrayList<>();//投保和加减保
            List<TaxDetial> delList = new ArrayList<>();//冲红单
            if(detialList!=null){
                for(TaxDetial d :delList){
                    d.setSolutionName(model.getSolutionName());
                for(TaxDetial d :detialList){
//                    d.setSolutionName(model.getSolutionName());
                    d.setFee(Constants.formatBigdecimal(d.getFee()));
                    d.setTotalFee(Constants.formatBigdecimal(d.getTotalFee()));
                    if(Constants.equalsInteger(d.getType(),Constants.ZERO) || Constants.equalsInteger(d.getType(),Constants.ONE)){
                    if(Constants.equalsInteger(d.getType(),Constants.ZERO)
                            || Constants.equalsInteger(d.getType(),Constants.ONE)){
                        applyList.add(d);
                    }else  if(Constants.equalsInteger(d.getType(),Constants.TWO)){
                        delList.add(d);