24 KiB
24 KiB
工单结算单接口文档
打印单最新接口参数
maintain接口
接口:/print/dispatchPrint/genUrl
方法:post
支持场景:
各类结算单
不支持:上海结算单
入参:
{
"pkId": "14581820313319918809",
"rowCode": "costSettlePrint",
"rowId": "12"
}
{
"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
支持各种新版打印类型
{
"code": 200,
"data": "http://s1.f6yc.com/printserver/test/printFile/201912/191213154046701.pdf",
"message": "SUCCESS"
}
jasper取参对照
{
"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 | 联系电话 |
| 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<br> taxRateOutput <br> |
BigDecimal | 销项税率 |
plaintext<br> singleFavourable <br> |
Double | 优惠金额 |
| discountedSubtotal | Double | 折后金额 |
| serviceMemo | String | 单据服务项目备注 |
| discount | Double | 折扣 |
| unusedNumber | Integer | 会员卡项目-未使用次数 |
| number | Integer | 会员卡项目-总次数 |
plaintext<br>favourableVoList <br> |
List | 优惠明细 |
plaintext<br>discountType <br> |
Integer | 优惠类型(编码) |
plaintext<br>discountTypeName <br> |
String | 优惠类型名称 |
| amount | Double | 优惠金额 |
plaintext<br>sourceId <br> |
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<br>cargoSpace <br> |
String | 材料货位 |
| defSeats | List | 材料货位列表 |
plaintext<br>favourableVoList <br> |
List | 优惠明细 |
plaintext<br>discountType <br> |
Integer | 优惠类型(编码) |
plaintext<br>discountTypeName <br> |
String | 优惠类型名称 |
plaintext<br>amount <br> |
Double | 优惠金额 |
plaintext<br>sourceId <br> |
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<br> **cardOwner** <br> |
String | 持卡人 |
| amount | Double | 金额 |
| cardList | array | 套餐卡列表 |
| name | String | 名称 |
| memberCardNo | String | 卡号 |
plaintext<br> **cardOwner** <br> |
String | 持卡人 |
| amount | Double | 金额 |
| combineServiceAndPartList | array | 项目材料组合列表 |
| servicePrintVo | 参见serviceList | |
| partPrintVo | 参见partList |
案例记录:
1.结算前 待付 结算后实付(跟进结算状态判断,7100 为已结算)
$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 ))
- 对应的汉字
$P{balanceStatus}.equals("7100")?$P{payItemTogetherChinese}:$P{settleOweAmoutChinese}
工具类jar包附件下载:
请至钉钉文档查看附件《print-core-1.0.7.jar》
数字金额转中文方法调用示例:
数字金额:$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 原文: https://xcz.yuque.com/ombipo/rpc7ms/ro5fs1