| | |
| | | } |
| | | } |
| | | }, |
| | | "/api-wms/v1/dict/getSilkDictList/{type}": { |
| | | "get": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "数据字典" |
| | | ], |
| | | "summary": "获取庄口列表", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "type": "string", |
| | | "description": "字典类型", |
| | | "name": "type", |
| | | "in": "path", |
| | | "required": true |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/util.ResponseList" |
| | | }, |
| | | { |
| | | "type": "object", |
| | | "properties": { |
| | | "data": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.SilkDict" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-wms/v1/dict/getUserList": { |
| | | "get": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "数据字典" |
| | | ], |
| | | "summary": "获取用户列表", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "name": "id", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "string", |
| | | "name": "nickName", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "string", |
| | | "name": "parentId", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "string", |
| | | "name": "pos", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "string", |
| | | "name": "userName", |
| | | "in": "query" |
| | | }, |
| | | { |
| | | "type": "integer", |
| | | "name": "userType", |
| | | "in": "query" |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/util.ResponseList" |
| | | }, |
| | | { |
| | | "type": "object", |
| | | "properties": { |
| | | "data": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/user.GetUserRequest" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-wms/v1/dict/save": { |
| | | "post": { |
| | | "produces": [ |
| | |
| | | "summary": "添加库存盘点信息", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "description": "入库/出库信息", |
| | | "name": "object", |
| | | "in": "body", |
| | |
| | | ], |
| | | "summary": "应用、验证", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "description": "入参", |
| | | "name": "object", |
| | |
| | | "summary": "修改库存盘点信息", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "description": "入库/出库信息", |
| | | "name": "object", |
| | | "in": "body", |
| | |
| | | ], |
| | | "summary": "更改记录状态", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "type": "integer", |
| | | "description": "id", |
| | |
| | | "summary": "入库/出库列表", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "description": "查询参数", |
| | | "name": "object", |
| | | "in": "body", |
| | |
| | | "summary": "添加入库/出库", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "description": "入库/出库信息", |
| | | "name": "object", |
| | | "in": "body", |
| | |
| | | ], |
| | | "summary": "删除入库/出库信息", |
| | | "parameters": [ |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | }, |
| | | { |
| | | "type": "integer", |
| | | "description": "id", |
| | |
| | | "schema": { |
| | | "$ref": "#/definitions/request.UpdateDepartment" |
| | | } |
| | | } |
| | | ], |
| | | "responses": { |
| | | "200": { |
| | | "description": "成功", |
| | | "schema": { |
| | | "$ref": "#/definitions/util.Response" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "/api-wms/v1/other/saveProductImagesFromExcel": { |
| | | "post": { |
| | | "produces": [ |
| | | "application/json" |
| | | ], |
| | | "tags": [ |
| | | "其他" |
| | | ], |
| | | "summary": "从excel中获取产品图片并保存", |
| | | "parameters": [ |
| | | { |
| | | "description": "属性信息", |
| | | "name": "object", |
| | | "in": "body", |
| | | "required": true, |
| | | "schema": { |
| | | "$ref": "#/definitions/controllers.saveProductImagesFromExcelRequest" |
| | | } |
| | | }, |
| | | { |
| | | "type": "string", |
| | | "description": "token", |
| | | "name": "Authorization", |
| | | "in": "header", |
| | | "required": true |
| | | } |
| | | ], |
| | | "responses": { |
| | |
| | | "ReservationNever" |
| | | ] |
| | | }, |
| | | "controllers.saveProductImagesFromExcelRequest": { |
| | | "type": "object", |
| | | "properties": { |
| | | "excelFilePath": { |
| | | "description": "excel路径 用docker cp传到容器里", |
| | | "type": "string" |
| | | }, |
| | | "imageColumn": { |
| | | "description": "图片所在列名", |
| | | "type": "string" |
| | | }, |
| | | "productIdColumnIndex": { |
| | | "description": "产品ID是第几列(从0开始)", |
| | | "type": "integer" |
| | | }, |
| | | "sheetIndex": { |
| | | "description": "第几个sheet", |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "gorm.DeletedAt": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "warehouseId": { |
| | | "description": "仓库id", |
| | | "type": "integer" |
| | | } |
| | | } |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "accountant": { |
| | | "description": "会计名称", |
| | | "type": "string" |
| | | }, |
| | | "accountantId": { |
| | | "description": "会计id", |
| | | "type": "string" |
| | | }, |
| | | "auditDate": { |
| | | "description": "审批时间", |
| | | "type": "string" |
| | | }, |
| | | "baseOperationType": { |
| | |
| | | ] |
| | | }, |
| | | "checkedBy": { |
| | | "description": "验证者UserId", |
| | | "type": "string" |
| | | }, |
| | | "comment": { |
| | | "description": "备注", |
| | | "type": "string" |
| | | }, |
| | | "companyID": { |
| | | "description": "公司ID-客户", |
| | | "type": "string" |
| | | }, |
| | | "companyName": { |
| | | "description": "公司名称-客户", |
| | | "type": "string" |
| | | }, |
| | | "contacterID": { |
| | | "description": "联系人ID", |
| | | "type": "integer" |
| | | }, |
| | | "contacterName": { |
| | | "description": "联系人姓名", |
| | | "type": "string" |
| | | }, |
| | | "createBy": { |
| | | "description": "创建者UserId", |
| | | "type": "string" |
| | | }, |
| | | "createTime": { |
| | | "type": "string" |
| | | }, |
| | | "custodian": { |
| | | "description": "保管员名称", |
| | | "type": "string" |
| | | }, |
| | | "custodianId": { |
| | | "description": "保管员id", |
| | | "type": "string" |
| | | }, |
| | | "dealerType": { |
| | | "description": "调拨出入库类型", |
| | | "type": "string" |
| | | }, |
| | | "details": { |
| | | "description": "操作明细", |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.OperationDetails" |
| | |
| | | "type": "integer" |
| | | }, |
| | | "logisticCompany": { |
| | | "description": "物流公司信息", |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/models.LogisticCompany" |
| | | } |
| | | ] |
| | | "$ref": "#/definitions/models.LogisticCompany" |
| | | }, |
| | | "logisticCompanyId": { |
| | | "description": "物流公司id", |
| | | "type": "string" |
| | | }, |
| | | "logisticWeight": { |
| | |
| | | "type": "number" |
| | | }, |
| | | "manager": { |
| | | "description": "主管名称", |
| | | "type": "string" |
| | | }, |
| | | "managerId": { |
| | | "description": "主管id", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "operationDate": { |
| | | "description": "安排日期", |
| | | "type": "string" |
| | | }, |
| | | "operationSource": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "receiverAddr": { |
| | | "description": "收货地址", |
| | | "type": "string" |
| | | }, |
| | | "receiverName": { |
| | | "description": "收货人姓名", |
| | | "type": "string" |
| | | }, |
| | | "receiverPhone": { |
| | | "description": "联系电话", |
| | | "type": "string" |
| | | }, |
| | | "remark": { |
| | | "description": "备注", |
| | | "type": "string" |
| | | }, |
| | | "salesDetailsNumber": { |
| | | "description": "销售明细编码", |
| | | "type": "string" |
| | | }, |
| | | "silkMarket": { |
| | | "description": "嘉联仓储添加 SilkMarket", |
| | | "type": "string" |
| | | }, |
| | | "source": { |
| | | "description": "来源系统", |
| | | "type": "string" |
| | | }, |
| | | "sourceNumber": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "warehouse": { |
| | | "description": "仓库信息", |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/models.Warehouse" |
| | | } |
| | | ] |
| | | "$ref": "#/definitions/models.Warehouse" |
| | | }, |
| | | "warehouseId": { |
| | | "description": "仓库id", |
| | | "type": "integer" |
| | | }, |
| | | "waybillNumber": { |
| | |
| | | "type": "number" |
| | | }, |
| | | "auxiliaryAmount": { |
| | | "description": "辅助数量", |
| | | "type": "number" |
| | | }, |
| | | "auxiliaryUnit": { |
| | | "description": "辅助单位", |
| | | "type": "string" |
| | | }, |
| | | "baseOperationType": { |
| | |
| | | "type": "boolean" |
| | | }, |
| | | "operationId": { |
| | | "description": "操作记录id", |
| | | "description": "操作id", |
| | | "type": "integer" |
| | | }, |
| | | "product": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "remark": { |
| | | "description": "备注", |
| | | "type": "string" |
| | | }, |
| | | "salePrice": { |
| | | "description": "销售单价", |
| | | "type": "number" |
| | | }, |
| | | "silkMarket": { |
| | | "description": "嘉联仓储添加 SilkMarket、SilkMarketClose", |
| | | "type": "string" |
| | | }, |
| | | "silkMarketClose": { |
| | | "description": "庄口关闭", |
| | | "type": "string" |
| | | }, |
| | | "stockAmount": { |
| | | "description": "库存数量,盘点时用", |
| | |
| | | "type": "integer" |
| | | }, |
| | | "totalGrossWeight": { |
| | | "description": "总毛重", |
| | | "type": "number" |
| | | }, |
| | | "totalNetWeight": { |
| | | "description": "总净重", |
| | | "type": "number" |
| | | }, |
| | | "updateTime": { |
| | |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "models.SilkDict": { |
| | | "type": "object", |
| | | "properties": { |
| | | "createdAt": { |
| | | "type": "string" |
| | | }, |
| | | "deletedAt": { |
| | | "$ref": "#/definitions/gorm.DeletedAt" |
| | | }, |
| | | "dictType": { |
| | | "description": "字典类型", |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/models.SilkDictType" |
| | | } |
| | | ] |
| | | }, |
| | | "id": { |
| | | "type": "integer" |
| | | }, |
| | | "name": { |
| | | "description": "名称", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | | "description": "编号", |
| | | "type": "string" |
| | | }, |
| | | "remark": { |
| | | "description": "备注", |
| | | "type": "string" |
| | | }, |
| | | "updatedAt": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "models.SilkDictType": { |
| | | "type": "integer", |
| | | "enum": [ |
| | | 1, |
| | | 2, |
| | | 3, |
| | | 4 |
| | | ], |
| | | "x-enum-comments": { |
| | | "DictTypeColor": "颜色", |
| | | "DictTypeMarket": "庄口", |
| | | "DictTypeSpec": "规格", |
| | | "DictTypeWorkshop": "车间" |
| | | }, |
| | | "x-enum-varnames": [ |
| | | "DictTypeMarket", |
| | | "DictTypeWorkshop", |
| | | "DictTypeColor", |
| | | "DictTypeSpec" |
| | | ] |
| | | }, |
| | | "models.SystemConfig": { |
| | | "type": "object", |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "accountant": { |
| | | "description": "会计名称", |
| | | "type": "string" |
| | | }, |
| | | "accountantId": { |
| | | "description": "会计id", |
| | | "type": "string" |
| | | }, |
| | | "baseOperationType": { |
| | | "description": "基础作业类型 1 入库 2 出库 3 内部调拨 4 报废 5 库存盘点", |
| | | "description": "基础作业类型 5库存盘点", |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/constvar.BaseOperationType" |
| | |
| | | "type": "string" |
| | | }, |
| | | "custodian": { |
| | | "description": "保管员名称", |
| | | "type": "string" |
| | | }, |
| | | "custodianId": { |
| | | "description": "保管员id", |
| | | "type": "string" |
| | | }, |
| | | "dealerType": { |
| | | "description": "调拨出入库类型", |
| | | "type": "string" |
| | | }, |
| | | "details": { |
| | | "description": "详情", |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/request.OperationDetails" |
| | |
| | | "type": "integer" |
| | | }, |
| | | "logisticCompanyId": { |
| | | "description": "物流公司id", |
| | | "type": "string" |
| | | }, |
| | | "logisticWeight": { |
| | |
| | | "type": "number" |
| | | }, |
| | | "manager": { |
| | | "description": "主管名称", |
| | | "type": "string" |
| | | }, |
| | | "managerId": { |
| | | "description": "主管id", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "operationDate": { |
| | | "description": "FromLocationId int ` + "`" + `json:\"fromLocationId\" ` + "`" + ` //源位置id\nToLocationId int ` + "`" + `json:\"toLocationId\" ` + "`" + ` //目标位置id", |
| | | "description": "FromLocationId int ` + "`" + `json:\"fromLocationId\" gorm:\"type:int;not null;comment:源位置id\"` + "`" + ` //源位置id\nToLocationId int ` + "`" + `json:\"toLocationId\" gorm:\"type:int;not null;comment:目标位置id\"` + "`" + ` //目标位置id", |
| | | "type": "string" |
| | | }, |
| | | "operationTypeId": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "receiverAddr": { |
| | | "description": "收货地址", |
| | | "type": "string" |
| | | }, |
| | | "receiverName": { |
| | | "description": "收货人姓名", |
| | | "type": "string" |
| | | }, |
| | | "receiverPhone": { |
| | | "description": "联系电话", |
| | | "type": "string" |
| | | }, |
| | | "silkMarket": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "sourceNumber": { |
| | |
| | | }, |
| | | "warehouseCode": { |
| | | "type": "string" |
| | | }, |
| | | "warehouseId": { |
| | | "description": "仓库ID", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "number": { |
| | | "description": "单号", |
| | | "type": "string" |
| | | }, |
| | | "page": { |
| | |
| | | "type": "integer" |
| | | }, |
| | | "sourceNumber": { |
| | | "description": "源单号", |
| | | "type": "string" |
| | | } |
| | | } |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "condition": { |
| | | "description": "模糊查询条件", |
| | | "type": "string" |
| | | }, |
| | | "keyword": { |
| | |
| | | "type": "integer" |
| | | }, |
| | | "amount": { |
| | | "description": "ProductName string ` + "`" + `json:\"productName\" ` + "`" + ` //产品名称", |
| | | "description": "ProductName string ` + "`" + `json:\"productName\" gorm:\"type:varchar(255);not null;comment:产品名称\"` + "`" + ` //产品名称", |
| | | "type": "number" |
| | | }, |
| | | "auxiliaryAmount": { |
| | |
| | | "type": "number" |
| | | }, |
| | | "fromLocationId": { |
| | | "description": "Unit string ` + "`" + `json:\"unit\"` + "`" + ` //单位\nProduct models.Material ` + "`" + `json:\"product\" ` + "`" + ` // 产品", |
| | | "description": "Unit string ` + "`" + `json:\"unit\" gorm:\"type:varchar(31);comment:单位\"` + "`" + ` //单位\nProduct models.Material ` + "`" + `json:\"product\" gorm:\"foreignKey:ProductId;references:ID\"` + "`" + `", |
| | | "type": "integer" |
| | | }, |
| | | "productId": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "remark": { |
| | | "description": "备注", |
| | | "type": "string" |
| | | }, |
| | | "salePrice": { |
| | | "description": "销售单价", |
| | | "type": "number" |
| | | }, |
| | | "silkMarket": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "silkMarketClose": { |
| | | "description": "庄口关闭", |
| | | "type": "string" |
| | | }, |
| | | "stockAmount": { |
| | | "description": "库存数量,盘点时用", |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "baseOperationType": { |
| | | "description": "基础作业类型 1 入库 2 出库 3 内部调拨 4 报废 5 库存盘点", |
| | | "description": "1 入库 2 出库 3 内部调拨 4 报废 5 库存盘点", |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/constvar.BaseOperationType" |
| | |
| | | ] |
| | | }, |
| | | "number": { |
| | | "description": "单号", |
| | | "type": "string" |
| | | }, |
| | | "operationTypeId": { |
| | | "description": "作业类型id", |
| | | "type": "integer" |
| | | }, |
| | | "page": { |
| | |
| | | "type": "integer" |
| | | }, |
| | | "status": { |
| | | "description": "状态", |
| | | "allOf": [ |
| | | { |
| | | "$ref": "#/definitions/constvar.OperationStatus" |
| | | } |
| | | ] |
| | | "$ref": "#/definitions/constvar.OperationStatus" |
| | | } |
| | | } |
| | | }, |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "accountant": { |
| | | "description": "会计名称", |
| | | "type": "string" |
| | | }, |
| | | "accountantId": { |
| | | "description": "会计id", |
| | | "type": "string" |
| | | }, |
| | | "baseOperationType": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "custodian": { |
| | | "description": "保管员名称", |
| | | "type": "string" |
| | | }, |
| | | "custodianId": { |
| | | "description": "保管员id", |
| | | "type": "string" |
| | | }, |
| | | "details": { |
| | | "description": "详情", |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/request.OperationDetails" |
| | |
| | | "type": "integer" |
| | | }, |
| | | "inventoryDealerType": { |
| | | "description": "调拨出入库分类(对应dict字典表的ID)", |
| | | "type": "integer" |
| | | }, |
| | | "locationId": { |
| | |
| | | "type": "number" |
| | | }, |
| | | "manager": { |
| | | "description": "主管名称", |
| | | "type": "string" |
| | | }, |
| | | "managerId": { |
| | | "description": "主管id", |
| | | "type": "string" |
| | | }, |
| | | "number": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "operationDate": { |
| | | "description": "FromLocationId int ` + "`" + `json:\"fromLocationId\" ` + "`" + ` //源位置id\nToLocationId int ` + "`" + `json:\"toLocationId\" ` + "`" + ` //目标位置id", |
| | | "description": "FromLocationId int ` + "`" + `json:\"fromLocationId\" gorm:\"type:int;not null;comment:源位置id\"` + "`" + ` //源位置id\nToLocationId int ` + "`" + `json:\"toLocationId\" gorm:\"type:int;not null;comment:目标位置id\"` + "`" + ` //目标位置id", |
| | | "type": "string" |
| | | }, |
| | | "operationTypeId": { |
| | |
| | | "type": "string" |
| | | }, |
| | | "receiverAddr": { |
| | | "description": "收货地址", |
| | | "type": "string" |
| | | }, |
| | | "receiverName": { |
| | | "description": "收货人姓名", |
| | | "type": "string" |
| | | }, |
| | | "receiverPhone": { |
| | | "description": "联系电话", |
| | | "type": "string" |
| | | }, |
| | | "silkMarket": { |
| | | "description": "庄口", |
| | | "type": "string" |
| | | }, |
| | | "sourceNumber": { |
| | |
| | | "description": "产品id", |
| | | "type": "string" |
| | | }, |
| | | "productCategory": { |
| | | "description": "产品类别", |
| | | "type": "string" |
| | | }, |
| | | "productName": { |
| | | "description": "产品名称", |
| | | "type": "string" |
| | | }, |
| | | "productSpecs": { |
| | | "description": "产品规格", |
| | | "type": "string" |
| | | }, |
| | | "productType": { |
| | |
| | | "items": { |
| | | "$ref": "#/definitions/models.Material" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "user.GetUserRequest": { |
| | | "type": "object", |
| | | "properties": { |
| | | "id": { |
| | | "type": "string" |
| | | }, |
| | | "nickName": { |
| | | "type": "string" |
| | | }, |
| | | "parentId": { |
| | | "type": "string" |
| | | }, |
| | | "pos": { |
| | | "type": "string" |
| | | }, |
| | | "userName": { |
| | | "type": "string" |
| | | }, |
| | | "userType": { |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |