业务费用导入
2022-01-04 14:58:12 2 举报
费用导入业务逻辑
作者其他创作
大纲/内容
校验po和档期二选一必填
保存数据
格式参考OnlineExpNormalImportVO对每个字段的定义,如果不满足就报错
校验商助和部门的合法性
通知
如果是要校验核算部门,要求核算部门必填
业务校验
校验数据格式
供应商信息根据scheduleId返回的信息填写
Y
根据cooperationType设置cooperationTypeName
开始
N
importJitExcel
是否要求po和档期二选一必填
外部接口调用PurchaseService#queryApplySellingData
业务数据校验
createSponsorshipFee
constant表的constant_key为EXP_COOPERATION_TYPE_NOT_EMPTY的constant_value包含了当前expDetailType就校验合作模式(是否要校验B00507没有校验)
user表的user_nickname和user_depart(模糊查)匹配的值查出来,如果为空或者有多个(说明部门不够具体),都返回失败
涉及表:online_exp_head、online_exp_detail、online_exp_sku、online_exp_check(没有加事务,有风险)
信息有效
校验币种编码的合法性
constant表的constant_key为EXP_USE_PO_SCHEDULE_ONCE_RULE的constant_value包含了当前expDetailType就二选一必填(B00507没有校验,导入确认下)
导入普通费用单
1、如果费用单的status是1,发送邮件并且app push通知供应商;2、如果费用单status是1,并且head.createrId非空,邮件通知detail.busiAssistantId----这个判断逻辑???
1、校验条数5000条max2、基础格式校验3、同一批导入,异常类别+条码+送货单号 维度不能重复(表格中数据重复)4、费用类别+po+条码+异常类别+送货单号不能和数据库中数据重复
校验重复性
校验
如果po非空
发送给ebs
expDetailType不是B01009
来货差异导入
合格
是否要校验合作模式
expDetailType是B00503
vendorName,expDetailTpe,scheduleId,expInstruction维度查询费用单,如果费用单非空,并且在online_exp_check查到这些记录么有被驳回过,就认为重复
汇总
数据转换为PriceDiff保存到online_exp_price_diff表
OnlineExpCurrencyDAO#getCurrencyCodeByName方法
\"B001\
importPriceDiff
如果po非空,校验有效性
如果校验brandsn,brandsn要非空
app通知并发有限供应商,发邮件给商助审核
如果scheduleId非空
合作模式是买断立即上架、海淘(买断)、直发、普通经销
1、校验只支持B00501、B01001类型费用2、po非空、商品名称非空、条码所属仓库非空3、拣货单号、送货单号如果非空,不能重复填入4、商助和商助部门如果非空,调用接口校验是否一致5、费用金额不能是负数,必须为数字校验6、扣款主体必须是DeductionMainUtil指定7、deductionType必须是DeductionType指定8、币种编码校验9、调用接口校验po真实性10、校验数据的重复性:detailType和instruction作为联合唯一健校验11、一个po一张费用单,一张费用单下面,sku+orderSn+拣货单号+送货单号维度数据不能重复
文件导入校验数据格式
转换并保存
调用接口获取供应商数据信息
constant表的constant_key为EXP_COST_DEPT_NOT_EMPTY的constant_value包含了当前expDetailType就校验核算部门必填(是否要校验B00507没有校验)
返回供应商数据为空,导入数据无效
外部接口调用PoServiceClient#getPoInfoByPo
expDetailType在数据表是否合法
fileId获取并转为list
保存费用表online_exp_head、online_exp_detail、online_exp_sku、online_exp_check(页面展示日志使用)
如果档期id非空,校验有效性
0 条评论
下一页