
# knowledge
**一、运行截图**
![输入图片说明](/imgs/2024-02-27/7sqmTbmpxy34zmov.png)![](https://dev.rzdata.net/download/attachments/51773689/image2024-2-23_14-7-33.png?version=1&modificationDate=1708668455000&api=v2)
**二、应收分析**
应收，顾名思义，即为应该收入的销售单，应收主要与发票、收款、核销业务高度集成。
目前展示的功能为应收单列表，快捷查询应收单；提供申请开票、开票、申请合并开票、合并开票、导出功能。
#### 算法

可开票金额=价税合计-已开票金额-退货金额  
注：退货金额来源于应收单详情的价税合计*退货数量

#### 关键业务流程

1）我的应收  
基于业务条件，并通过登录用户的工号（empno）到订单表进行查询

1.  共享应收

基于业务条件，并通过登录用户的工号（empno）到服务团队人员表（t_crm_serviceman） 通过客户编码(clientcode)跟订单表的客户编码关联查询出t_crm_serviceman 中bill_share_order不等于null (rolecode=负责人时为null)或者shareorder_no(不为不共享=共享->可能为读或者写)或者rolecode=负责人相关订单数据

1.  我负责的部门应收

基于业务条件，并通过登录用户的userid查询部门责任信息表（t_crm_deptduty），如果系统设置--部门设置模块中 部门负责人、部门助理、技术支持等配置了则取部门负责人表的信息查询相关应收单数据

1.  全公司的应收

基于业务条件直接查询应收单表  
4）合并开票会验证客户是否被禁用，禁用得客户无法开票

**三、发票分析**
开票业务在应收和订单中集成，销售通过立即开票或者在应收列表点击申请开票，然后助理审核对接到ERP生成发票数据；通过ERP同步到CRM更新发票里面的状态。
**关键业务流程**
![输入图片说明](/imgs/2024-02-27/71g9Qgf3jtZsyCrQ.png)![](https://dev.rzdata.net/download/attachments/32900500/worddav203afe364bd9ac899a96f79012170090.png?version=1&modificationDate=1679883553000&api=v2)
#### 算法

1.  发票状态判断
2.  退货金额+开票金额=0、价税合计大于0：等待开票
3.  价税合计 = 退货金额或者实际价税合家为0 ：关闭；
4.  退货金额+开票金额>=订单价税合计：全开票；
5.  否则：部分开票
6.  当ERP系统里面发票结案状态为"强结案"，同步到CRM系统时需要将强结案的发票红冲状态修改为"作废"，将目前系统里面发票核销状态显示"已核销"逻辑去除并按原始核销状态的取值逻辑取值；

**四、收款与核销分析**

收款业务主要有收款单核销与收款单确认主要用于关联发票与收款单进行核销操作。
#### 算法

涉及算法的位置：点击核销，打开核销详情页面，匹配发票数，筛选相同开票单位且和当前选中的发票未核销金额相等的发票（最多支持同时匹配3条）。  
注：x=当前发票未核销金额；a=匹配发票未核销金额；b=匹配发票未核销金额；c=匹配发票未核销金额；size=数组长度；i=数组当前下标；minSize=数组最小下标；maxSize=数组最大下标；arr=数组

1.  匹配数1条

a=x

1.  匹配数2条

a+b=x

1.  匹配数3条

a+b+c=x  
该算法的关键在于去除重复匹配的数据，减少循环层数，提高查询效率。  
算法核心：固定i，同时前后移动数组进行比较（这里只说明三条匹配的算法，两条是一样的原理）

1.  当minSize=0且maxSize=0时，minSize=i+1；maxSize=size+1（同时从数组前后进行比比较）
2.  当minSize>=size时，i+1且跳出循环（此时说明当次比较已经完成，跳出循环进行下次比较）
3.  当minSize>=maxSize时，使maxSize=0，maxSize=0，i+1且跳出循环（此时也说明当次比较完成，跳出循环，将下标进行初始化，当前下标+1进行下一次比较）
4.  当a+b+c=x时，使maxSize=0，maxSize=0，i+1且跳出循环，并将arr[i]，arr[minSize]，arr[maxSize]放入结果中（此时说明满足条件，将结果放入满足条件的集合中，跳出循环进行下一次比较）
    
5.  当a+b+c>x时，minSize，i保持不变，maxSize-1，继续进行比较
6.  当a+b+c<x时，maxSize，i保持不变，minSize+1，继续进行比较

#### 关键业务流程
![输入图片说明](/imgs/2024-02-27/QyRs49i3AeCiLNFZ.png)![](https://dev.rzdata.net/download/attachments/32900500/worddave0391ac8f62ed7c5b7c0a6ee64ee585b.png?version=1&modificationDate=1679883554000&api=v2)

五、接口列表
---
title: 诺唯赞CRM
language_tabs:
  - shell: Shell
  - http: HTTP
  - javascript: JavaScript
  - ruby: Ruby
  - python: Python
  - php: PHP
  - java: Java
  - go: Go
toc_footers: []
includes: []
search: true
code_clipboard: true
highlight_theme: darkula
headingLevel: 2
generator: "@tarslib/widdershins v4.0.22"

---

# 诺唯赞CRM

Base URLs:

# Authentication

# 发票明细

## GET 根据发票号查询发票明细列表

GET /api/invoiceDetail/listInvoiceDetail/{invoiceNum}

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|invoiceNum|path|string| 是 |发票号|
|Authorization|header|string| 是 |none|

> 返回示例

> 成功

```json
{
  "resultMsg": "",
  "resultCode": 0,
  "result": [
    {
      "id": "",
      "invoiceid": "",
      "ordercode": "",
      "productnum": "",
      "productcode": "",
      "productname": "",
      "spec": "",
      "salesUnitcode": "",
      "salesUnit": "",
      "taxprice": 0,
      "fileprice": 0,
      "promprice": 0,
      "valuationUnit": "",
      "valuationQuantity": 0,
      "salenum": 0,
      "taxRate": "",
      "amount": 0,
      "total": 0,
      "lotnum": "",
      "busiid": "",
      "sourcecode": "",
      "invoicenum": "",
      "orderdetailid": "",
      "erpdeptcode": "",
      "erpdeptname": "",
      "status": "",
      "sourceId": "",
      "productChainName": "",
      "isgift": "",
      "gifttype": "",
      "ordererName": "",
      "clientname": ""
    }
  ]
}
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|

### 返回数据结构

## POST 根据发票编码查询发票明细列表

POST /api/invoiceDetail/listInvoiceDetailByCodes

> Body 请求参数

```json
[
  "string"
]
```

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |none|
|body|body|array[string]| 否 |none|

> 返回示例

> 成功

```json
{
  "resultMsg": "",
  "resultCode": 0,
  "result": [
    {
      "id": "",
      "invoiceid": "",
      "ordercode": "",
      "productnum": "",
      "productcode": "",
      "productname": "",
      "spec": "",
      "salesUnitcode": "",
      "salesUnit": "",
      "taxprice": 0,
      "fileprice": 0,
      "promprice": 0,
      "valuationUnit": "",
      "valuationQuantity": 0,
      "salenum": 0,
      "taxRate": "",
      "amount": 0,
      "total": 0,
      "lotnum": "",
      "busiid": "",
      "sourcecode": "",
      "invoicenum": "",
      "orderdetailid": "",
      "erpdeptcode": "",
      "erpdeptname": "",
      "status": "",
      "sourceId": "",
      "productChainName": "",
      "isgift": "",
      "gifttype": "",
      "ordererName": "",
      "clientname": ""
    }
  ]
}
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|

### 返回数据结构

## GET 根据应收单编码分组获取开票金额

GET /api/invoiceDetail/getSumTotalGroupByReccode/{reccode}/{ordercode}

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|reccode|query|string| 是 |none|
|ordercode|query|string| 是 |none|
|Authorization|header|string| 是 |none|

> 返回示例

> 成功

```json
[
  {
    "id": "",
    "invoicecode": "",
    "busidate": "",
    "invoicenum": "",
    "invoiceTime": "",
    "invoiceCategory": "",
    "status": "",
    "redorblue": "",
    "total": 0,
    "currency": "",
    "clientname": "",
    "clientcode": "",
    "invoicePname": "",
    "isred": "",
    "rednum": "",
    "istooffice": "",
    "invoicetype": "",
    "isinvoicing": "",
    "iswithgood": "",
    "isintime": "",
    "iswithtax": "",
    "isoffpricetax": "",
    "isgold": "",
    "iselectronic": "",
    "iscombined": "",
    "taxnumber": "",
    "openbank": "",
    "bankacc": "",
    "invoiceHead": "",
    "invoiceAdd": "",
    "phone": "",
    "remark": "",
    "detailList": [
      {
        "id": "",
        "invoiceid": "",
        "ordercode": "",
        "productnum": "",
        "productcode": "",
        "productname": "",
        "spec": "",
        "salesUnitcode": "",
        "salesUnit": "",
        "taxprice": 0,
        "fileprice": 0,
        "promprice": 0,
        "valuationUnit": "",
        "valuationQuantity": 0,
        "salenum": 0,
        "taxRate": "",
        "amount": 0,
        "total": 0,
        "lotnum": "",
        "busiid": "",
        "sourcecode": "",
        "invoicenum": "",
        "orderdetailid": "",
        "erpdeptcode": "",
        "erpdeptname": "",
        "status": "",
        "sourceId": "",
        "productChainName": "",
        "isgift": "",
        "gifttype": "",
        "ordererName": "",
        "clientname": ""
      }
    ],
    "receiptAdd": "",
    "invEmail": "",
    "invUrl": "",
    "writeamount": 0,
    "receivedStatus": "",
    "sourcecode": "",
    "busiid": "",
    "witeoffStatus": "",
    "isAuto": "",
    "redInvoiceWord": "",
    "invoiceWord": "",
    "isCheckAuthenticity": "",
    "invoiceOfd": "",
    "invoiceXml": ""
  }
]
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|

### 返回数据结构

状态码 **200**

|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|*anonymous*|[[InvoiceDetailRes](#schemainvoicedetailres)]|false|none||none|
|» id|string¦null|false|none||发票主键ID|
|» invoicecode|string¦null|false|none||发票编号|
|» busidate|string¦null|false|none||业务日期|
|» invoicenum|string¦null|false|none||发票号|
|» invoiceTime|string¦null|false|none||发票日期|
|» invoiceCategory|string¦null|false|none||开票类型 ：（发票类别）:普票--common;专票--special|
|» status|string¦null|false|none||开票状态 暂存--Z；创建--A；审核中--B；已审核--C；重新审核--D|
|» redorblue|string¦null|false|none||红蓝字|
|» total|number¦null|false|none||开票金额|
|» currency|string¦null|false|none||币别|
|» clientname|string¦null|false|none||客户名称|
|» clientcode|string¦null|false|none||客户编码|
|» invoicePname|string¦null|false|none||开票单位名称|
|» isred|string¦null|false|none||是否红冲|
|» rednum|string¦null|false|none||红冲票号|
|» istooffice|string¦null|false|none||是否寄往办事处|
|» invoicetype|string¦null|false|none||单据类型|
|» isinvoicing|string¦null|false|none||是否立即开票|
|» iswithgood|string¦null|false|none||是否随货同行|
|» isintime|string¦null|false|none||是否及时发送|
|» iswithtax|string¦null|false|none||是否按含税单价录入|
|» isoffpricetax|string¦null|false|none||是否价外税|
|» isgold|string¦null|false|none||是否开金税票|
|» iselectronic|string¦null|false|none||开电子发票：是：Y；否：N；|
|» iscombined|string¦null|false|none||合并开票：是：Y；否：N；|
|» taxnumber|string¦null|false|none||纳税号|
|» openbank|string¦null|false|none||开户银行|
|» bankacc|string¦null|false|none||银行账户|
|» invoiceHead|string¦null|false|none||开票抬头|
|» invoiceAdd|string¦null|false|none||开票地址|
|» phone|string¦null|false|none||电话|
|» remark|string¦null|false|none||备注|
|» detailList|[[InvoiceDetailEntity](#schemainvoicedetailentity)]¦null|false|none||发票明细|
|»» id|string¦null|false|none||唯一ID<br />主键ID|
|»» invoiceid|string¦null|false|none||对应开票表主键|
|»» ordercode|string¦null|false|none||对应订单编码|
|»» productnum|string¦null|false|none||货号|
|»» productcode|string¦null|false|none||产品编码|
|»» productname|string¦null|false|none||产品名称|
|»» spec|string¦null|false|none||规格型号|
|»» salesUnitcode|string¦null|false|none||销售单位编码|
|»» salesUnit|string¦null|false|none||销售单位|
|»» taxprice|number¦null|false|none||含税单价|
|»» fileprice|number¦null|false|none||目录价|
|»» promprice|number¦null|false|none||促销价|
|»» valuationUnit|string¦null|false|none||计价单位|
|»» valuationQuantity|number¦null|false|none||计价数量，这个是用来配合发票金额进行保存的，可以是小数|
|»» salenum|number¦null|false|none||销售数量|
|»» taxRate|string¦null|false|none||税率%|
|»» amount|number¦null|false|none||产品总金额|
|»» total|number¦null|false|none||价税合计=产品总金额 + 税额|
|»» lotnum|string¦null|false|none||批号|
|»» busiid|string¦null|false|none||业务ID：对应的应收单明细ID、订单明细ID|
|»» sourcecode|string¦null|false|none||业务来源编码：订单编码；应收单编码；<br />业务来源编码：订单编码；应收单编码|
|»» invoicenum|string¦null|false|none||发票号|
|»» orderdetailid|string¦null|false|none||订单明细id(订单上开票使用)|
|»» erpdeptcode|string¦null|false|none||ERP部门编码|
|»» erpdeptname|string¦null|false|none||ERP部门名称|
|»» status|string¦null|false|none||状态 启用：QY；禁用：JY|
|»» sourceId|string¦null|false|none||来源ID|
|»» productChainName|string¦null|false|none||物料中文描述|
|»» isgift|string¦null|false|none||是否赠品|
|»» gifttype|string¦null|false|none||赠品类型|
|»» ordererName|string¦null|false|none||订货人|
|»» clientname|string¦null|false|none||客户名称|
|» receiptAdd|string¦null|false|none||文件地址|
|» invEmail|string¦null|false|none||邮箱地址|
|» invUrl|string¦null|false|none||电子发票地址|
|» writeamount|number¦null|false|none||核销金额|
|» receivedStatus|string¦null|false|none||核销情况|
|» sourcecode|string¦null|false|none||业务来源编码：订单编码；应收单编码；|
|» busiid|string¦null|false|none||发票业务id|
|» witeoffStatus|string¦null|false|none||核销状态|
|» isAuto|string¦null|false|none||是否自动开票 Y：是，N：否|
|» redInvoiceWord|string¦null|false|none||红字发票代码|
|» invoiceWord|string¦null|false|none||发票代码|
|» isCheckAuthenticity|string¦null|false|none||是否查验真伪|
|» invoiceOfd|string¦null|false|none||ofd格式|
|» invoiceXml|string¦null|false|none||xml格式|

## GET 根据订单编码分组获取开票金额

GET /api/invoiceDetail/getSumTotalGroupByOrdercode/{ordercode}/{invoicecode}

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|ordercode|query|string| 是 |none|
|invoicecode|query|string| 是 |none|
|Authorization|header|string| 是 |none|

> 返回示例

> 成功

```json
[
  {
    "id": "",
    "invoiceid": "",
    "ordercode": "",
    "productnum": "",
    "productcode": "",
    "productname": "",
    "spec": "",
    "salesUnitcode": "",
    "salesUnit": "",
    "taxprice": 0,
    "fileprice": 0,
    "promprice": 0,
    "valuationUnit": "",
    "valuationQuantity": 0,
    "salenum": 0,
    "taxRate": "",
    "amount": 0,
    "total": 0,
    "lotnum": "",
    "busiid": "",
    "sourcecode": "",
    "invoicenum": "",
    "orderdetailid": "",
    "erpdeptcode": "",
    "erpdeptname": "",
    "status": "",
    "sourceId": "",
    "productChainName": "",
    "isgift": "",
    "gifttype": "",
    "ordererName": "",
    "clientname": ""
  }
]
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|

### 返回数据结构

状态码 **200**

|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|*anonymous*|[[InvoiceDetailEntity](#schemainvoicedetailentity)]|false|none||none|
|» id|string¦null|false|none||唯一ID<br />主键ID|
|» invoiceid|string¦null|false|none||对应开票表主键|
|» ordercode|string¦null|false|none||对应订单编码|
|» productnum|string¦null|false|none||货号|
|» productcode|string¦null|false|none||产品编码|
|» productname|string¦null|false|none||产品名称|
|» spec|string¦null|false|none||规格型号|
|» salesUnitcode|string¦null|false|none||销售单位编码|
|» salesUnit|string¦null|false|none||销售单位|
|» taxprice|number¦null|false|none||含税单价|
|» fileprice|number¦null|false|none||目录价|
|» promprice|number¦null|false|none||促销价|
|» valuationUnit|string¦null|false|none||计价单位|
|» valuationQuantity|number¦null|false|none||计价数量，这个是用来配合发票金额进行保存的，可以是小数|
|» salenum|number¦null|false|none||销售数量|
|» taxRate|string¦null|false|none||税率%|
|» amount|number¦null|false|none||产品总金额|
|» total|number¦null|false|none||价税合计=产品总金额 + 税额|
|» lotnum|string¦null|false|none||批号|
|» busiid|string¦null|false|none||业务ID：对应的应收单明细ID、订单明细ID|
|» sourcecode|string¦null|false|none||业务来源编码：订单编码；应收单编码；<br />业务来源编码：订单编码；应收单编码|
|» invoicenum|string¦null|false|none||发票号|
|» orderdetailid|string¦null|false|none||订单明细id(订单上开票使用)|
|» erpdeptcode|string¦null|false|none||ERP部门编码|
|» erpdeptname|string¦null|false|none||ERP部门名称|
|» status|string¦null|false|none||状态 启用：QY；禁用：JY|
|» sourceId|string¦null|false|none||来源ID|
|» productChainName|string¦null|false|none||物料中文描述|
|» isgift|string¦null|false|none||是否赠品|
|» gifttype|string¦null|false|none||赠品类型|
|» ordererName|string¦null|false|none||订货人|
|» clientname|string¦null|false|none||客户名称|

## GET 根据开票单主键获取明细集合

GET /api/invoiceDetail/getListByInvoiceid/{invoiceid}

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|invoiceid|query|string| 是 |none|
|Authorization|header|string| 是 |none|

> 返回示例

> 成功

```json
{
  "resultMsg": "",
  "resultCode": 0,
  "result": {}
}
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|[AjaxResult](#schemaajaxresult)|

## POST 根据id批量修改SAP发票号

POST /api/invoiceDetail/updateSapInvoiceNumberById

> Body 请求参数

```json
[
  {
    "id": "string",
    "invoiceid": "string",
    "ordercode": "string",
    "productnum": "string",
    "productcode": "string",
    "productname": "string",
    "spec": "string",
    "salesUnitcode": "string",
    "salesUnit": "string",
    "taxprice": 0,
    "fileprice": 0,
    "promprice": 0,
    "valuationUnit": "string",
    "valuationQuantity": 0,
    "salenum": 0,
    "taxRate": "string",
    "amount": 0,
    "total": 0,
    "lotnum": "string",
    "busiid": "string",
    "sourcecode": "string",
    "invoicenum": "string",
    "orderdetailid": "string",
    "erpdeptcode": "string",
    "erpdeptname": "string",
    "status": "string",
    "sourceId": "string",
    "productChainName": "string",
    "isgift": "string",
    "gifttype": "string",
    "ordererName": "string",
    "clientname": "string"
  }
]
```

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |none|
|body|body|[InvoiceDetailEntity](#schemainvoicedetailentity)| 否 |none|

> 返回示例

> 成功

```json
{
  "resultMsg": "",
  "resultCode": 0,
  "result": {}
}
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|[AjaxResult](#schemaajaxresult)|

## POST 根据发票主键id集合获取对应的发票明细集合

POST /api/invoiceDetail/listByInvoiceIdList

> Body 请求参数

```json
[
  "string"
]
```

### 请求参数

|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |none|
|body|body|array[string]| 否 |none|

> 返回示例

> 成功

```json
{
  "resultMsg": "",
  "resultCode": 0,
  "result": [
    {
      "id": "",
      "invoiceid": "",
      "ordercode": "",
      "productnum": "",
      "productcode": "",
      "productname": "",
      "spec": "",
      "salesUnitcode": "",
      "salesUnit": "",
      "taxprice": 0,
      "fileprice": 0,
      "promprice": 0,
      "valuationUnit": "",
      "valuationQuantity": 0,
      "salenum": 0,
      "taxRate": "",
      "amount": 0,
      "total": 0,
      "lotnum": "",
      "busiid": "",
      "sourcecode": "",
      "invoicenum": "",
      "orderdetailid": "",
      "erpdeptcode": "",
      "erpdeptname": "",
      "status": "",
      "sourceId": "",
      "productChainName": "",
      "isgift": "",
      "gifttype": "",
      "ordererName": "",
      "clientname": ""
    }
  ]
}
```

### 返回结果

|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|

### 返回数据结构

# 数据模型

<h2 id="tocS_AjaxResult">AjaxResult</h2>

<a id="schemaajaxresult"></a>
<a id="schema_AjaxResult"></a>
<a id="tocSajaxresult"></a>
<a id="tocsajaxresult"></a>

```json
{
  "resultMsg": "string",
  "resultCode": 0,
  "result": {}
}

```

### 属性

|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|resultMsg|string¦null|false|none||返回信息|
|resultCode|integer¦null|false|none||状态编码|
|result|object|false|none||返回数据|

<h2 id="tocS_"></h2>

<a id="schema"></a>
<a id="schema_"></a>
<a id="tocS"></a>
<a id="tocs"></a>

```json
{}

```

### 属性

*None*

<h2 id="tocS_InvoiceDetailEntity">InvoiceDetailEntity</h2>

<a id="schemainvoicedetailentity"></a>
<a id="schema_InvoiceDetailEntity"></a>
<a id="tocSinvoicedetailentity"></a>
<a id="tocsinvoicedetailentity"></a>

```json
{
  "id": "string",
  "invoiceid": "string",
  "ordercode": "string",
  "productnum": "string",
  "productcode": "string",
  "productname": "string",
  "spec": "string",
  "salesUnitcode": "string",
  "salesUnit": "string",
  "taxprice": 0,
  "fileprice": 0,
  "promprice": 0,
  "valuationUnit": "string",
  "valuationQuantity": 0,
  "salenum": 0,
  "taxRate": "string",
  "amount": 0,
  "total": 0,
  "lotnum": "string",
  "busiid": "string",
  "sourcecode": "string",
  "invoicenum": "string",
  "orderdetailid": "string",
  "erpdeptcode": "string",
  "erpdeptname": "string",
  "status": "string",
  "sourceId": "string",
  "productChainName": "string",
  "isgift": "string",
  "gifttype": "string",
  "ordererName": "string",
  "clientname": "string"
}

```

### 属性

|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|id|string¦null|false|none||唯一ID<br />主键ID|
|invoiceid|string¦null|false|none||对应开票表主键|
|ordercode|string¦null|false|none||对应订单编码|
|productnum|string¦null|false|none||货号|
|productcode|string¦null|false|none||产品编码|
|productname|string¦null|false|none||产品名称|
|spec|string¦null|false|none||规格型号|
|salesUnitcode|string¦null|false|none||销售单位编码|
|salesUnit|string¦null|false|none||销售单位|
|taxprice|number¦null|false|none||含税单价|
|fileprice|number¦null|false|none||目录价|
|promprice|number¦null|false|none||促销价|
|valuationUnit|string¦null|false|none||计价单位|
|valuationQuantity|number¦null|false|none||计价数量，这个是用来配合发票金额进行保存的，可以是小数|
|salenum|number¦null|false|none||销售数量|
|taxRate|string¦null|false|none||税率%|
|amount|number¦null|false|none||产品总金额|
|total|number¦null|false|none||价税合计=产品总金额 + 税额|
|lotnum|string¦null|false|none||批号|
|busiid|string¦null|false|none||业务ID：对应的应收单明细ID、订单明细ID|
|sourcecode|string¦null|false|none||业务来源编码：订单编码；应收单编码；<br />业务来源编码：订单编码；应收单编码|
|invoicenum|string¦null|false|none||发票号|
|orderdetailid|string¦null|false|none||订单明细id(订单上开票使用)|
|erpdeptcode|string¦null|false|none||ERP部门编码|
|erpdeptname|string¦null|false|none||ERP部门名称|
|status|string¦null|false|none||状态 启用：QY；禁用：JY|
|sourceId|string¦null|false|none||来源ID|
|productChainName|string¦null|false|none||物料中文描述|
|isgift|string¦null|false|none||是否赠品|
|gifttype|string¦null|false|none||赠品类型|
|ordererName|string¦null|false|none||订货人|
|clientname|string¦null|false|none||客户名称|

<h2 id="tocS_InvoiceDetailRes">InvoiceDetailRes</h2>

<a id="schemainvoicedetailres"></a>
<a id="schema_InvoiceDetailRes"></a>
<a id="tocSinvoicedetailres"></a>
<a id="tocsinvoicedetailres"></a>

```json
{
  "id": "string",
  "invoicecode": "string",
  "busidate": "string",
  "invoicenum": "string",
  "invoiceTime": "string",
  "invoiceCategory": "string",
  "status": "string",
  "redorblue": "string",
  "total": 0,
  "currency": "string",
  "clientname": "string",
  "clientcode": "string",
  "invoicePname": "string",
  "isred": "string",
  "rednum": "string",
  "istooffice": "string",
  "invoicetype": "string",
  "isinvoicing": "string",
  "iswithgood": "string",
  "isintime": "string",
  "iswithtax": "string",
  "isoffpricetax": "string",
  "isgold": "string",
  "iselectronic": "string",
  "iscombined": "string",
  "taxnumber": "string",
  "openbank": "string",
  "bankacc": "string",
  "invoiceHead": "string",
  "invoiceAdd": "string",
  "phone": "string",
  "remark": "string",
  "detailList": [
    {
      "id": "string",
      "invoiceid": "string",
      "ordercode": "string",
      "productnum": "string",
      "productcode": "string",
      "productname": "string",
      "spec": "string",
      "salesUnitcode": "string",
      "salesUnit": "string",
      "taxprice": 0,
      "fileprice": 0,
      "promprice": 0,
      "valuationUnit": "string",
      "valuationQuantity": 0,
      "salenum": 0,
      "taxRate": "string",
      "amount": 0,
      "total": 0,
      "lotnum": "string",
      "busiid": "string",
      "sourcecode": "string",
      "invoicenum": "string",
      "orderdetailid": "string",
      "erpdeptcode": "string",
      "erpdeptname": "string",
      "status": "string",
      "sourceId": "string",
      "productChainName": "string",
      "isgift": "string",
      "gifttype": "string",
      "ordererName": "string",
      "clientname": "string"
    }
  ],
  "receiptAdd": "string",
  "invEmail": "string",
  "invUrl": "string",
  "writeamount": 0,
  "receivedStatus": "string",
  "sourcecode": "string",
  "busiid": "string",
  "witeoffStatus": "string",
  "isAuto": "string",
  "redInvoiceWord": "string",
  "invoiceWord": "string",
  "isCheckAuthenticity": "string",
  "invoiceOfd": "string",
  "invoiceXml": "string"
}

```

### 属性

|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|id|string¦null|false|none||发票主键ID|
|invoicecode|string¦null|false|none||发票编号|
|busidate|string¦null|false|none||业务日期|
|invoicenum|string¦null|false|none||发票号|
|invoiceTime|string¦null|false|none||发票日期|
|invoiceCategory|string¦null|false|none||开票类型 ：（发票类别）:普票--common;专票--special|
|status|string¦null|false|none||开票状态 暂存--Z；创建--A；审核中--B；已审核--C；重新审核--D|
|redorblue|string¦null|false|none||红蓝字|
|total|number¦null|false|none||开票金额|
|currency|string¦null|false|none||币别|
|clientname|string¦null|false|none||客户名称|
|clientcode|string¦null|false|none||客户编码|
|invoicePname|string¦null|false|none||开票单位名称|
|isred|string¦null|false|none||是否红冲|
|rednum|string¦null|false|none||红冲票号|
|istooffice|string¦null|false|none||是否寄往办事处|
|invoicetype|string¦null|false|none||单据类型|
|isinvoicing|string¦null|false|none||是否立即开票|
|iswithgood|string¦null|false|none||是否随货同行|
|isintime|string¦null|false|none||是否及时发送|
|iswithtax|string¦null|false|none||是否按含税单价录入|
|isoffpricetax|string¦null|false|none||是否价外税|
|isgold|string¦null|false|none||是否开金税票|
|iselectronic|string¦null|false|none||开电子发票：是：Y；否：N；|
|iscombined|string¦null|false|none||合并开票：是：Y；否：N；|
|taxnumber|string¦null|false|none||纳税号|
|openbank|string¦null|false|none||开户银行|
|bankacc|string¦null|false|none||银行账户|
|invoiceHead|string¦null|false|none||开票抬头|
|invoiceAdd|string¦null|false|none||开票地址|
|phone|string¦null|false|none||电话|
|remark|string¦null|false|none||备注|
|detailList|[[InvoiceDetailEntity](#schemainvoicedetailentity)]¦null|false|none||发票明细|
|receiptAdd|string¦null|false|none||文件地址|
|invEmail|string¦null|false|none||邮箱地址|
|invUrl|string¦null|false|none||电子发票地址|
|writeamount|number¦null|false|none||核销金额|
|receivedStatus|string¦null|false|none||核销情况|
|sourcecode|string¦null|false|none||业务来源编码：订单编码；应收单编码；|
|busiid|string¦null|false|none||发票业务id|
|witeoffStatus|string¦null|false|none||核销状态|
|isAuto|string¦null|false|none||是否自动开票 Y：是，N：否|
|redInvoiceWord|string¦null|false|none||红字发票代码|
|invoiceWord|string¦null|false|none||发票代码|
|isCheckAuthenticity|string¦null|false|none||是否查验真伪|
|invoiceOfd|string¦null|false|none||ofd格式|
|invoiceXml|string¦null|false|none||xml格式|

<h2 id="tocS_AjaxResult«List«InvoiceDetailEntity»»">AjaxResult«List«InvoiceDetailEntity»»</h2>

<a id="schemaajaxresult«list«invoicedetailentity»»"></a>
<a id="schema_AjaxResult«List«InvoiceDetailEntity»»"></a>
<a id="tocSajaxresult«list«invoicedetailentity»»"></a>
<a id="tocsajaxresult«list«invoicedetailentity»»"></a>

```json
{
  "resultMsg": "string",
  "resultCode": 0,
  "result": [
    {
      "id": "string",
      "invoiceid": "string",
      "ordercode": "string",
      "productnum": "string",
      "productcode": "string",
      "productname": "string",
      "spec": "string",
      "salesUnitcode": "string",
      "salesUnit": "string",
      "taxprice": 0,
      "fileprice": 0,
      "promprice": 0,
      "valuationUnit": "string",
      "valuationQuantity": 0,
      "salenum": 0,
      "taxRate": "string",
      "amount": 0,
      "total": 0,
      "lotnum": "string",
      "busiid": "string",
      "sourcecode": "string",
      "invoicenum": "string",
      "orderdetailid": "string",
      "erpdeptcode": "string",
      "erpdeptname": "string",
      "status": "string",
      "sourceId": "string",
      "productChainName": "string",
      "isgift": "string",
      "gifttype": "string",
      "ordererName": "string",
      "clientname": "string"
    }
  ]
}

```

### 属性

|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|resultMsg|string¦null|false|none||返回信息|
|resultCode|integer¦null|false|none||状态编码|
|result|[[InvoiceDetailEntity](#schemainvoicedetailentity)]¦null|false|none||返回数据|


<!--stackedit_data:
eyJoaXN0b3J5IjpbMjY1MDkwMzksLTEyNTQ4MTcwNzksLTI3NT
c4Mjc0MywtMjAyNzk0ODQ1MCw0NTY3ODQyMTddfQ==
-->