本页用于说明导入、导出或模板相关操作。操作前建议先下载或备份原模板,再用少量测试数据验证字段、格式和结果。
在制作模板的时候经常会有其他一些公式,不属于各个模板类型的字典的.统一放到这里方便查找调用
类型: 运单
场景:运单操作
格式:Excel
${group.item.yunDanEntity.waybillExtraEntity.senderContry!=null?group.item.yunDanEntity.waybillExtraEntity.senderContry.zhongWenMingCheng:''}
类型: 运单
场景:自定义label
格式:Jasper
$F{zi_zhuan_dan_hao}
$P{shenBaoJiaZhi}为String 类型无法直接格式化为浮动数字需先字符串转换为数字
类型: 运单
场景:系统发票
格式:Jasper
$P{shenBaoJiaZhi} != null ? String.format("%.2f", Double.parseDouble($P{shenBaoJiaZhi}.toString())) : "0.00"
客户关心代理计费重是否跟应收计费重一样,如果不一样,客户会手动同步
类型: 费用
场景:应收费用
格式:Excel
row.yunDanEntity.daiLiJiFeiZhong == row.yingShouJiFeiZhong.yingShouJiFeiZhong ? 'Y' : 'N'
单件表有很多字段放Json里面.不能直接调用,使用这方调用.
类型: 单件
场景:单件模板
格式:Jasper
##模板定义好引用类
<field name="extraPieceModel" class="com.itdida.core.models.ExtraPieceModel"/>
$F{extraPieceModel}.getShippingMark()
这个合计不自动转换为RMB,有什么币种统计什么币种
类型: 费用
场景:应收费用/应付费用
格式:Excel
${feiYongService.sumFeeByCurrency(group.items)}
jasper模板获取运单报关方式中文的公式
类型: 自定义LB
场景:运单操作
格式:Jasper
((com.itdida.core.services.DictionaryService)com.itdida.core.context.SpringContext.getBean(com.itdida.core.services.DictionaryService.class)).get(19).findText($P{yunDanEntity().getBaoGuanFangShi())
如发票导出模板,数据栏单元格第一格需要批注代码,且单元格属于图片单元格也需要批注,可同时添加
类型: 品名
场景:运单
格式:Excel
jx:each(items="rows" var="row" varStatus="status" lastCell="Z18")
jx:image(lastCell="S10" src="utils:ossKey2ByteArray(row.pictureOssKey)" imageType="PNG")
类型: 品名
场景:运单
格式:Excel
原发票模板箱号导入时填的是箱号范围如xxx1-4,导出只能取到一个箱号xxx1
${T(com.itdida.core.utils.StringUtils).getRange(#row.getMergedBoxNos())}
类型: 运单
场景:运单操作
格式:PDF
yunDanEntity.getSkuList()
yunDanEntity.getShenBaoShuLiang()
类型: 运单
场景:运单操作
格式:Excel
${@shenBaoXinXiService.toString(#row.shenBaoXinXiList, 'sku',false,",")}
类型: 运单
场景:运单操作
格式:Excel
${row.zhuanDanApiEntity.stringValue("zhuanDanFaJianRenYouBian")!=null&&row.zhuanDanApiEntity.stringValue("zhuanDanFaJianRenYouBian")!=""?row.zhuanDanApiEntity.stringValue("zhuanDanFaJianRenYouBian"): row.waybillExtraEntity.senderPostcode}
类型: 包号
场景:运单操作
格式:PDF
完整的报价字段参考 报价字典
$P{baoHaoEntity}.getFirstYunDanEntity().getFaHuoQuDao().getChannelAbbr()
类型: 运单
场景:运单操作
格式:Excel结算代理编码 及USD 更换为所需的数据
${@feiYongService.groupFeeByCurrency(@feiYongService.filterFeeByDaiLiCode(#row.getYingFuFeiYongList(),'结算代理编码')).get('USD')}
类型: 运单
场景:运单操作
格式:Excel没有直接的字段,需要配置某一列如AZ 值为下面代码(最新轨迹时间) 然后设置另一列如 AA的值为now()-AZ 即可
${row.agentZuiXinGuiJiShiJian)
类型: 自定义LB
场景:运单操作
格式:Jasper
//如果 sortCode 非空,则将其格式化为长度为 7 的字符串,左先用空格补充,最后用$替换空格.
$P{yunDanEntity}.getWaybillExtraEntity().getSortCode()!=null?String.format("%7s",$P{yunDanEntity}.getWaybillExtraEntity().getSortCode()).replace(' ', '$') :""
类型: 不限
场景:不限
格式:Jasper
//对于运单表的附属字段,如row.extraJson['recipientAddress4'] 很多同事不知道在Jasper环境怎么转换.
$P{yunDanEntity}.getExtraJson().getString("recipientAddress4")
类型: 单件
场景:运单操作
格式:Jasper我们其他所有PDF模板的yunDanEntity都是采用$P
yunDanEntity} 而单件这里有特殊,这里单独列出来提醒注意.
//对于运单表的附属字段,如row.extraJson['recipientAddress4'] 很多同事不知道在Jasper环境怎么转换.
<field name="yunDanEntity" class="com.itdida.core.entities.YunDanEntity"/>
$F{yunDanEntity}.getExtraJson().getString("recipientAddress4")
类型: 品名
场景:运单操作
格式:Excel计算合并了多少个品名数量
${shenBaoXinXiService.mergeSumByFields(row.yunDanEntity.shenBaoXinXiList,row.nameEn,"nameEn").size()}
类型: 品名
场景:运单操作
格式:Excel计算合并了多少个品名数量
${shenBaoXinXiService.mergeSumByFields(row.yunDanEntity.shenBaoXinXiList,row.nameEn,"nameEn").size()}
类型: 单件/品名
场景:运单操作
格式:Excel模板新建一栏 标题为图片.下面代码留空,批注为下面的代码即可
LinJinBin:
jx:each(items="@commonFunctionService.getFileOssKeyByDangAn(#row.yunDanId,47)" var="name" lastCell="I3" area="I3:I3" direction="RIGHT" disableResolve="true")
jx:image(lastCell="I3" src="utils:ossKey2ByteArray(name)" imageType="PNG")
类型:客户联系人
场景:客户联系人
格式:Excel导出客户档案的文件图片 导出的批注增加下方代码即可
jx:image(lastCell="K3" src="utils:ossKey2ByteArray(commonFunctionService.getFileOssKeyByDangAnAndKeHu(row.keHuEntity))" imageType="PNG")
类型:费用
场景:应收费用
格式:Excel根据费用list统计运单件数,计费重,票数
map.put("jianShu", "");
map.put("shouHuoJiFeiZhong", "");
map.put("piaoShu", "");
${feiYongService.sumYunDanInfoByFees(rows).get("piaoShu")}
类型:系统发票
场景:运单操作
格式:Jaspercopy联导出转单API的收件人邮箱的JASPER导出公式
$P{yunDanEntity}.getZhuanDanApiEntity().stringValue("zhuanDanFaJianRenEmail")
其他参数参考 运单字段连接
在导出模板的时候可以按照公式生成对应的文件名
类型:运单
场景:运单操作下载文件名表达公式输入
yunDanEntity.keHuName + T(java.time.LocalDateTime).now().format(T(java.time.format.DateTimeFormatter).ofPattern('yyyyMMddHHmmss'))