# 工单结算单接口文档 # 打印单最新接口参数 #### maintain接口 **接口:/print/dispatchPrint/genUrl** **方法:post** 支持场景: 各类结算单 不支持:上海结算单 **入参:** ```plaintext { "pkId": "14581820313319918809", "rowCode": "costSettlePrint", "rowId": "12" } ``` ```plaintext { "code": 200, "data": { "url": "http://s1.f6yc.com/printserver/test/printFile/201912/191213154046701.pdf" }, "message": "SUCCESS" } ``` #### erp接口 **/print/getPrintPDFPath.do** templateId=56&templateType=newSettlePrint&idSourceBill=10546443563897503197 **rest  get** **支持各种新版打印类型** ```plaintext { "code": 200, "data": "http://s1.f6yc.com/printserver/test/printFile/201912/191213154046701.pdf", "message": "SUCCESS" } ``` #### jasper取参对照 ```plaintext { "data": { "cellPhone": "15421562365", //联系电话 "naCustomer": "0322新", //单位名称 "repairPerson": "", //送修人 "carOwnerName":"", // 车辆所有人 "accountNumber": "", //账号 "billNo": "GD20190517001", //工单号 "carNoWhole": "苏1542", //车牌号 "" "carColor":"" //车身颜色 "orgDetailAddress": "江苏省盐城市阜宁县豆豆",//联系地址 "vin": "11111111111111111", //车辆VIN码 "naEmployee": "员工1(旧1)", //服务顾问 "billDate": "2019-05-17 11:49",//进厂日期 "businessTypeName": "维修", //维修类别 "deliveryTime": "2019-05-17 12:49",//交车时间(出厂时间) "email": "126544@qq.com", //组织邮件 "maintainType": "GD", //工单类型 "billStatus":"6300", //单据状态 "orgContactMobile": "15315256232", //联系电话 "memo": "", //工单备注 "orgMemo":"", // 门店备注 "carMemo":"", // 车辆备注 "printCount": "1", //打印次数 "orgContactNumber": "", //联系电话-承修方信息 "carSeriesName": "商用车", //车系名称 "carBrandName": "商用车", //品牌名称 "balanceStatus": "7000", //结算状态 "printTime": "2019-07-26 11:43:48",//打印时间 "firstSettlementTime":"2019-07-26 11:43:48",//结算时间(第一次收款时间) "orgName": "新公司测试", //单位名称-承修方信息 "abbreviation": "门店简称", //门店简称 "engineNumber": "123", //发动机号 "transmissionNo": "123", //变速箱号 "creationtime": "2019-05-17 11:50:46.0",//创建时间 "creatorName": "员工1(旧1)", //创建人名称 "employeePhone":"18734033191", //服务顾问手机号 "paymentTypeDetails":"记账", //支付方式(记账公司)汇总 "bankAccount": "", //开户银行 "naInsurer":"", //理赔公司名称 "insurancepolicyNo":"", //理赔单理赔保险单号 "mergePackageContent": "1", //套餐合并标识 "totalStuffNum": 1.0, //材料数量合计 "selfTotalStuffNum": 0.0, //自带材料数量合计 "serviceNum": "1", //维修项目小计 "spreadRate": 0.0, //进销差价率 "managementCost": 0.0, //进销差价合计 "amountAll": 160.0, //应收总计 "serviceDisCountSubTotal": 100.0, //项目折后金额合计 "stuffSubtotalAll": 60.0, //材料费小计 "serviceSubtotalAll": 100.0, //工时费小计 "receiptAmount": 160.0, //实收金额 "chineseAmount": "壹佰陆拾元整", //实收金额(大写) "oweAmount": 160.0, //未收金额 "remainAmount":1.0, //结算金额tsf "receivedAmount":1.0, //收款金额tsf "settleOweAmout":1.0, //结算单中用的待付金额(未收) "settleOweAmoutChinese":"壹", //待付金额大写 "settleReceivedAmout":1.0, //实付金额 "settleReceivedAmoutChinese":1.0, //实付金额大写 "totalWorkHour": 1.0, //项目工时合计 "serviceFavourableTotal": 52.0, //项目优惠金额合计 "serviceFavourableCommonTotal": 52.0,//普通项目优惠金额合计 "stuffSubtotalAll": 532.0, //材料费小计 "partFavourableTotal": 102.0, //材料优惠金额合计 "partFavourableCommonTotal": 92.0, //普通材料优惠金额合计 "stuffDisCountTotal": 60.0, //材料折后金额合计 "extraCostTotal": 0.0, //附加费小计 "allOtherCost": 0.0, //附加费合计应收 "packageFavourable": 0.0, //套餐优惠 "czkExpense": 0.0, //储值卡消费金额 "vipExpense": 0.0, //会员卡消费金额 "czkExpenseFavourable": 0.0, //储值卡优惠金额 "czkDiscountFavourable": 0.0, //储值卡办卡优惠金额 "vipExpenseFavourable": 0.0, //计次卡/套餐卡优惠金额 "partinfoDiscountFavourable": 0.0, //材料折扣优惠 "partinfoFavourable": 0.0, //材料项目(非会员项目)客户等级优惠 "couponFavourable": 0.0, //优惠券优惠 "pointFavourable": 0.0, //积分优惠 "discountFavourable": 0.0, //结算时设置的结清优惠 "gatheringFavourable": 0.0, //收银时设置的收银优惠 "customerLevelFavourable": 0.0, //客户级别优惠金额 "serviceFavourable": 0.0, //服务项目(非会员项目)客户等级优惠 "disCountAll": 0.0, //总优惠合计 "disCountAllBak":0.0, //总优惠合计bak "printContent": "", //免责条款 "printContentEntrust":"", //委托单免责条款 "mainCostList": [ //维修结算费用集合 { "subtotal": 60.0, //价格 "sortNumber": "1", //序号 "costName": "材料费" //名称 }, { "subtotal": 100.0, "sortNumber": "2", "costName": "工时费" }, { "subtotal": 160.0, "sortNumber": "3", "costName": "合计" } ], "partList": [ //工单对应配件材料集合 { "unit": "个", //单位 "isBring": 0, //是否自带,1表示自带,0表示非自带 "discountedSubtotal": 60.0, //折后金额 "price": 60.0, //价格 "partName": "分全", //材料名称 "number": 1.0, //数量 "subtotal": 60.0, //金额 "taxRateOutput": 0.13, //销项税率 "singleFavourable":0.0, //优惠金额 "partBrand":"", //配件品牌 "spec":"", //规格型号 "supplierCode":"", //供应商编码(零件号) "customCode":"", //材料编码 "isMember":0, //是否是会员卡材料 1是 "discount":0.5, //折扣 "partMemo":"", //备注 "employeeName":"", //员工名称(维修技师) "cargoSpace":"", //货位 "outStockEmployeeName":"", //领料人 "sortNumber": "1" //序号 } ], "serviceList": [ //工单对应项目集合 { "discountedSubtotal": 100.0,//折后金额 "price": 100.0, //工时单价 "workHour": 1.0, //工时 "subtotal": 100.0, //金额 "taxRateOutput": 0.13, //销项税率 "sortNumber": "1", //序号 "discount":1, //折扣 "singleFavourable":0.0, //优惠金额 "isMember":1, //是否是会员卡项目 1是 0否 "empNameStr":"", //修理工 "unusedNumber":1, //会员卡项目-未使用次数 "number":2, //会员卡项目-总次数 "infiniteFlag":1, //是否无限,0:否,1:是 "serviceName": "0322新" //项目名称 } ], "cardList": [ //会员卡列表 { "favourable": 20, //优惠 "amount": 2019799, //余额 "consumeAmount":10, //本次消费金额 "memberCardNo": "123232rg",//卡号 "name": "测试洗车卡项目2" //卡名称 } ], "czkList": [ //储值卡列表 { "favourable": 20, //优惠 "amount": 2019799, //余额 "consumeAmount":10, //本次消费金额 "memberCardNo": "123232rg",//卡号 "name": "测试洗车卡项目2" //卡名称 } ], "extraPrintVo": { //附加项目 "processItemName": "加工", //加工条目名称 "checkCustomName": "检测费", //检测费名称 "diagnosisCustomName": "诊断费", //诊断费名称 "diagnosisItemName": "维修诊断", //维修诊断项目 "diagnosisMemo": "", //诊断费备注 "diagnosisCost": 0.0, //诊断费 "commissionCustomName": "代办费", //代办费名称 "managementCustomName": "管理费", //管理费名称 "commissionMemo": "", //代办费备注 "processMemo": "", //加工费 "commissionCost": 0.0, //代办费 "checkCost": 0.0, //检测费 "managementCost": 0.0, //管理费 "processCustomName": "加工费", //加工费名称 "processCost": 0.0, //加工费 "managementMemo": "", //管理费备注 "checkMemo": "" //检测费备注 } }, "storeId": 25965086392720693, "tempId": 123 } ``` #### 参数说明(完整) | 字段 | 类型 | 说明 | | --- | --- | --- | | \------基础信息 | | | | **billNo** | String | _工单号_ | | **maintainType** | String | _工单类型_ | | **balanceStatus** | String | _结算状态_
_"7000" -- 未结算(即存在待付金额)_
_"7100" -- 已结算_
_"7200"  -- 部分结算_ | | **creatorName** | String | _创建人名称_ | | **naEmployee** | String | _服务顾问_ | | **spreadRate** | Double | _进销差价率_ | | carCategoryName | String | _客户车辆分类名称_ | | **creationtime** | String | _创建时间_ | | **memo** | String | _工单备注_ | | **printCount** | String | _打印次数_ | | **printTime** | String | _打印时间_ | | **deliveryTime** | String | _交车时间(出厂时间),收款取收款时间,未收款完工的取完工时间,未完工的取预计交车时间_ | | **mergePackageContent** | String | _套餐合并标识_ | | **printContent** | String | _免责条款_ | | **engineNumber** | String | _发动机号_ | | **transmissionNo** | String | 变速箱号 | | **printMaintainGuaZi** | String | _guazi标识_ | | **amountAll** | Double | _应收总计_ | | **disCountAll** | Double | _总优惠合计_ | | **oweAmount** | Double | _未收金额_ | | **vipExpense** | Double | _会员卡消费金额_ | | **vipExpenseFavourable** | Double | _计次卡/套餐卡优惠金额_ | | **czkExpense** | Double | _储值卡消费金额_ | | **czkExpenseFavourable** | Double | _储值卡优惠金额_ | | **czkSettleFavourable** | Double | _储值卡结算优惠金额(仅未收款返回)_ | | **accountAmount** | Double | 记账金额 | | **totalOweAmount** | Double | _未付金额_ | | **serviceFavourable** | Double | _服务项目(非会员项目)客户等级优惠_ | | **partinfoFavourable** | Double | _材料项目(非会员项目)客户等级优惠_ | | **partinfoDiscountFavourable** | Double | _材料折扣优惠_ | | **pointFavourable** | Double | _积分优惠_ | | **packageFavourable** | Double | _套餐优惠_ | | **discountFavourable** | Double | _结算时设置的结清优惠_ | | **gatheringFavourable** | Double | _收银时设置的收银优惠_ | | **couponFavourable** | Double | _优惠券优惠_ | | **customerLevelFavourable** | Double | _客户级别优惠金额_ | | **customerLevelName** | String | _客户级别_ | | **customerDetailAddress** | String | 客户详细地址 | | **channelName** | String | 来店途径名称 | | **receiptMemo** | String | 收银备注 | | **customerSourceName** | String | _客户来源名称_ | | **carSourceName** | String | _车辆来源名称_ | | \-----托修方信息 | | | | **naCustomer** | String | _单位名称/托修方_ | | **repairPerson** | String | _送修人_ | | **carNoWhole** | String | _车牌号整体_ | | **carBrandName** | String | _品牌名称_ | | **carSeriesName** | String | _车系名称_ | | carMemo | String | 车辆备注 | | **businessTypeName** | String | _维修类别_ | | **vin** | String | _车辆VIN码_ | | carFuelTypeNameOriginal | carFuelTypeNameOriginal | 燃料类型 | | **billDate** | String | _进厂日期_ | | **mileage** | java.math.BigDecimal | _出厂里程_ | | **contractNumber** | | _合同编号(空)_ | | **certificateNumber** | | _合格证号(空)_ | | **cellPhone** | String | _联系电话_ | | **email** | String | _组织邮件_ | | \------承修方信息 | | | | **orgName** | String | _单位名称_ | | **abbreviation** | String | 门店简称 | | **orgContactNumber** | String | _联系电话_ | | **orgDetailAddress** | String | _联系地址_ | | **orgContactMobile** | String | _联系电话_ | | **bankAccount** | String | _开户银行_ | | **accountNumber** | String | _账号_ | | **businessLicenseCode** | String | 营业执照编码 | | \------项目信息 | | | | serviceList | array | 项目条目 | | #### orderNumber | String | 序号(验证可用) | | sortNumber | String | _序号_ | | customCode | String | 项目编码 | | serviceName | String | _项目名称_ | | **labelName** | String | _业务分类名称_ | | **nameMember** | String | _会员项目的来源名_ | | **labelName** | String | 业务分类 | | price | Double | _工时单价_ | | workHour | Double | _工时_ | | subtotal | Double | _金额_ | | ```plaintext
taxRateOutput
``` | BigDecimal | _销项税率_ | | ```plaintext
singleFavourable
``` | Double | 优惠金额 | | discountedSubtotal | Double | _折后金额_ | | **serviceMemo** | String | _单据服务项目备注_ | | discount | Double | 折扣 | | unusedNumber | Integer | 会员卡项目-未使用次数 | | number | Integer | 会员卡项目-总次数 | | ```plaintext
favourableVoList
``` | List | 优惠明细 | | ```plaintext
discountType
``` | Integer | 优惠类型(编码) | | ```plaintext
discountTypeName
``` | String | 优惠类型名称 | | amount | Double | 优惠金额 | | ```plaintext
sourceId
``` | String | 优惠项目的主键,如:如果优惠项是优惠券,那么该字段为优惠券的id | | **memo** | String | 项目说明 | | **qualityCheckEmployeeName** | String | 质检人姓名 | | **qualityCheckEmployeeCode** | String | 质检人工号 | | **cooperationMemo** | String | 协作备注 | | **totalWorkHour** | Double | _项目工时合计_ | | **serviceSubtotalAll** | Double | _工时费小计_ | | **serviceNum** | Double | _维修项目小计_ | | **serviceDisCountSubTotal** | Double | _项目折后金额合计_ | | \-------材料信息 | | | | partList | array | 材料条目 | | #### orderNumber | String | 序号(验证可用) | | sortNumber | String | _序号_ | | customCode | String | 材料编码 | | partName | String | _材料名称_ | | **partBrand** | String | _配件品牌_ | | spec | String | 规格型号 | | standard | String | 规格型号(旧) | | **partShowName** | String | _配件名称规格型号品牌_ | | **supplierCode** | String | _供应商编码(零件号)_ | | unit | String | _单位_ | | number | Double | _数量_ | | **nameMember** | String | _会员项目的来源名_ | | price | Double | _价格_ | | cost | Double | _材料成本_ | | subtotal | Double | _退货金额_ | | taxRateOutput | BigDecimal | _销项税率_ | | singleFavourable | Double | 优惠金额 | | discountedSubtotal | Double | _折后金额_ | | **partMemo** | String | _单据服务材料备注_ | | discount | Double | 折扣 | | **applyModel** | String | 适用车型 | | ```plaintext
cargoSpace
``` | String | 材料货位 | | **defSeats** | List | 材料货位列表 | | ```plaintext
favourableVoList
``` | List | 优惠明细 | | ```plaintext
discountType
``` | Integer | 优惠类型(编码) | | ```plaintext
discountTypeName
``` | String | 优惠类型名称 | | ```plaintext
amount
``` | Double | 优惠金额 | | ```plaintext
sourceId
``` | String | 优惠项目的主键,如:如果优惠项是优惠券,那么该字段为优惠券的id | | \-------自带材料(新版维修/贴膜)信息 | | | | **bringPartList** | array | 自带材料条目 | | **partShowName** | String | 自带材料名称(文本) | | **photoList** | List | 自带图片路径(url) | | empNameStr | String | 技师 | | outStockEmployeeName | String | 领料人 | | **isBring** | String | _是否自带_ | | **selfPartList** | array | _工单对应配件自带材料集合(内容同上面材料)_ | | **totalStuffNum** | String | _材料数量合计_ | | **selfTotalStuffNum** | String | _自带材料数量合计_ | | **stuffSubtotalAll** | Double | _材料费小计_ | | **partFavourableTotal** | Double | _材料优惠金额合计_ | | **partFavourableCommonTotal** | Double | _普通材料优惠金额合计_ | | **stuffDisCountTotal** | Double | _材料折后金额合计_ | | **managementCost** | Double | _进销差价合计_ | | \------附加费用信息 | | | | **extraChargeList** | | | | **sortNumber** | String | _序号_ | | **extraName** | String | _附加费名称_ | | **subtotal** | Double | _金额_ | | **memo** | String | _备注_ | | \-----维修结算费用集合(江苏结算单) | | | | **mainCostList** | array | | | **sortNumber** | String | _序号_ | | **costName** | String | _名称_ | | **memo** | String | _备注_ | | **subtotal** | Double | _金额_ | | \----_其他结算费用集合(江苏结算单)_ | | | | **otherCostList** | array | 内容同上 维修结算费用集合 | | **extraCostTotal** | Double | _附加费小计_ | | **allOtherCost** | Double | _附加费合计应收_ | | **favourableExtraCost** | Double | _附加费优惠金额_ | | **receiptAmount** | Double | _实收金额(已收金额-储值卡金额,如未收款,则还加入了欠款金额+客户等级优惠-积分优惠-结清优惠)_ | | **receiptAmountChinese** | String | _实收金额大写(逻辑同上)_ | | **amountReal** | Double | 工单收款后真正的实收 | | **chineseAmount** | String | _实收金额(大写)(逻辑同上)_ | | **payItemTogetherChinese** | String | _付款方式总额大写_ | | **payItemTogetherExcludeAccountAmountChinese** | String | 付款总额(排除记账金额)大写 | | **settleOweAmout** | Double | 结算单中用的待付金额(未收),使用后台逻辑算好 | | **settleOweAmoutChinese** | String | 待付金额大写 | | \-----结算付款方式及优惠保存信息 | array | | | **settlementPayItemList** | | | | **payWay** | String | _付款方式_ | | **payAmount** | Double | _付款金额_ | | **chinesePayAmount** | String | _大写付款方式_ | | **accountAgreementName** | String | _记账客户名称_ | | \-----付款方式信息 | array | | | **payItemList** | | | | **payWay** | String | _付款方式_ | | **payAmount** | Double | _付款金额_ | | **chinesePayAmount** | String | _大写付款方式_ | | \-----附加项目(江苏结算单) | | | | **extraPrintVo** | obj | | | **commissionCustomName** | String | _代办费自定义名称_ | | **commissionCost** | Double | _代办费成本_ | | **commissionMemo** | String | _代办费备注_ | | **diagnosisCustomName** | String | _诊断费自定义名称_ | | **diagnosisCost** | Double | _诊断费成本_ | | **diagnosisItemName** | String | _诊断详细名称_ | | **diagnosisMemo** | String | _诊断费备注_ | | **checkCustomName** | String | _检查费自定义名称_ | | **checkCost** | Double | _检查费成本_ | | **checkMemo** | String | _检查费备注_ | | **processCustomName** | String | _加工费自定义名称_ | | **processCost** | Double | _加工费成本_ | | **processMemo** | String | _加工费备注_ | | **processItemName** | String | _加工详细名称_ | | **managementCustomName** | String | _管理费自定义名称_ | | **managementCost** | Double | _管理费成本_ | | **managementMemo** | String | _管理费备注_ | | \-----二期新增字段 | | | | **oilCapacity** | String | 油量 | | **nextMileage** | Double | _下次保养里程(工单数据源,目前维保、洗车单读取)_ | | **nextMaintainDate** | String | _下次保养日期(工单数据源,目前维保、洗车单读取)_ | | **nextMileageRemind** | Double | _下次服务里程(服务提醒数据源,目前维修、贴膜单读取)_ | | **nextMaintainDateRemind** | Long | _下次服务时间(服务提醒数据源,目前维修、贴膜单读取)_ | | **repairPersonContact** | String | _送修人联系方式_ | | **memberCardNo** | String | _会员号_ | | **points** | String | _积分_ | | **czkList** | array | 储值卡列表 | | **name** | String | 名称 | | **memberCardNo** | String | 卡号 | | ```plaintext
**cardOwner**
``` | String | 持卡人 | | **amount** | Double | 金额 | | **cardList** | array | 套餐卡列表 | | **name** | String | 名称 | | **memberCardNo** | String | 卡号 | | ```plaintext
**cardOwner**
``` | String | 持卡人 | | **amount** | Double | 金额 | | **combineServiceAndPartList** | array | 项目材料组合列表 | | **servicePrintVo** | 参见serviceList | | | **partPrintVo** | 参见partList | | # 案例记录: #### 1.结算前 待付 结算后实付(跟进结算状态判断,7100 为已结算) ```plaintext $P{balanceStatus}.equals("7100")?($P{amountAll}.subtract($P{vipExpense}).subtract($P{czkExpense}).subtract($P{serviceFavourable}.add($P{partFavourableCommonTotal}==null?BigDecimal.ZERO:$P{partFavourableCommonTotal}).add($P{serviceFavourableCommonTotal}==null?BigDecimal.ZERO:$P{serviceFavourableCommonTotal}).add($P{partinfoFavourable}).add($P{discountFavourable}).add($P{couponFavourable}).add($P{pointFavourable}).add($P{gatheringFavourable})).setScale( 2, BigDecimal.ROUND_HALF_EVEN ).toString()+($P{payItemTogether}==null?"":"("+$P{payItemTogether}+")")):($P{amountAll}.subtract($P{vipExpense}).subtract($P{czkExpense}).subtract($P{serviceFavourable}.add($P{partFavourableCommonTotal}==null?BigDecimal.ZERO:$P{partFavourableCommonTotal}).add($P{serviceFavourableCommonTotal}==null?BigDecimal.ZERO:$P{serviceFavourableCommonTotal}).add($P{partinfoFavourable}).add($P{discountFavourable}).add($P{couponFavourable}).add($P{pointFavourable}).add($P{gatheringFavourable})).setScale( 2, BigDecimal.ROUND_HALF_EVEN )) ``` * 对应的汉字 ```plaintext $P{balanceStatus}.equals("7100")?$P{payItemTogetherChinese}:$P{settleOweAmoutChinese} ``` # 工具类jar包附件下载: [请至钉钉文档查看附件《print-core-1.0.7.jar》](https://alidocs.dingtalk.com/i/nodes/vy20BglGWOexYpophlEGoZvGJA7depqY?iframeQuery=anchorId%3DX02mjljl3qzo6fk6o7712b) ### 数字金额转中文方法调用示例: **数字金额**:$P{amount}==null?BigDecimal.ZERO:$P{amount} **转中文**:**com.f6car.printserver.core.CharacterUtil.chinese(**$P{amount}==null?BigDecimal.ZERO:$P{amount}) ### 日期时间戳转日期示例: **日期格式选择:**java.lang.Long **日期时间戳**:$P{nextMaintainDateRemind} **转为目标格式**:$P{nextMaintainDateRemind} == null ? "" : new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date($P{nextMaintainDateRemind})) 其中,"yyyy-MM-dd HH:mm:ss" 根据实际需求指定,比如到日则选择 "yyyy-MM-dd" ### 洗车单 洗车单小票不支持定制,定制洗车单的模板名称必须包含“洗车单”三个字  ,否则无法显示对应模板 > 更新: 2025-02-24 17:08:50 原文: