xx新零售生鲜盘点经验分享

简介: 主要是总结一下xx新零售项目采购生鲜域三次盘点遇到的问题以及解决思路

一,接手生鲜盘点前的情况

在接手盘点前,生鲜这块已经盘点过一次,具体有这些问题:

1,代码逻辑上存在问题,需要整体审核代码修正

2,这次盘点大体都是通过脚本修数解决,有些数据存在空值

3,这次盘点过后,BA就释放离场了,这客观上给新接手的人带来了业务理解上的负担

4,页面打开比较慢,接口中的sql语句性能存在问题

5,生鲜盘点汇总中计算损溢金额的逻辑相对比较复杂,还要涉及到盘点机以及OA那边的审核,需要多次逻辑确认

 a,库存数量=上期盘点数量+本期入库数量+冲红数量+本期移入数量-本期移出数量

 b,盘点金额含税=上期盘点金额含税(直接获取)+本期入库金额含税(单据中取)+冲红数量金额含税+本期移入金额含税-本期移出金额

 c,盘点金额未含税=上期盘点金额未含税(直接获取)+本期入库金额未含税(单据中取)+冲红数量金额未含税+本期移入金额未含税-本期移出未金额

 d,初盘数量=PDA提供的数量

 e,复盘数量=PDA提供的数量

 f,含税当前进价(要现算)=(入库金额含税+移入金额含税)/(入库数量+移入数量)

 g,未含税当前进价(要现算)=(入库金额未含税+移入金额未含税)/(入库数量+移入数量)

 h,损溢金额含税=b-e*f

 i,损溢金额未含税=c-e*g

二,问题的解决思路

1,理清生鲜盘点的业务逻辑,整理逻辑笔记,复述业务逻辑,与BA进行确认,这一步是前提

2,通读业务逻辑代码,找到疑惑点并记录下来,拉会讨论确认,确认有问题及时修复

3,关注影响性能的代码并打上标记并进行优化

4,对表的设计进行了补充,主要在盘点损溢表上新增了字段,能更方便的进行汇总盘点金额

5,为了更好的排查问题,准备好了核对结果的相关脚本

6,为了方便核对结果,写了winform程序的工具

7,与测试人员进行沟通,设计覆盖面全的测试用例

三,第一次生鲜盘点遇到的问题以及解决思路

虽然进行了严格的测试,接手后第一次线上盘点还是暴露了不少问题:

1,有新入库原材料的没能进入应盘材料里

2,盘点出现有些原材料未含税价格为0

3,盘点单点击审核不通过,但是显示已审核

4,盘点损溢表中有的材料在盘点详情表里面没有

5,汇总后库存金额不对

6,财务审核修改复盘数保存提交有问题

7,盘点金额含税有值但是盘点金额未税没有值

解决思路:

1,先把遇到的问题记录下来

2,分析产生问题的原因,因为是线上问题,时间紧迫,不能通过修复代码提交来解决问题,只能通过编写修数脚本,提工单的临时方案来解决

3,临时解决后,核查代码逻辑并进行修复发布

4,针对暴露的问题补充新的测试用例,回归测试等

四,第二次生鲜盘点遇到的问题

虽然按照上面的思路进行了问题的修复,第二次盘点也遇到了一些问题,由于疫情此盘点采取远程模式,问题的解决思路跟第一次一样

1,入库单条码为空的问题

原因:生鲜订单修改新增订单行(商品)时,订单行信息中的商品条码为空,导致生鲜入库单列表中商品条码为空,进而导致pda盘点数据下载失败

2,半成品的问题

原因:这期半成品原材料价格取的还是上期半成品的价格,程序上的bug

3,财务审核修改复盘数保存提交有问题

原因:保存提交估计代码存在bug

4,导出来的生鲜盘点数据发现,库存数量 与上月库存和本月入库数之和不一致

原因:因为上期的盘点数有可能取的不对,造成盘点金额不对,有复盘数但是复盘金额却为0

5, 半成品材料金额没列入到本期的盘点库存中来

原因:这个是prd问题,已经会议讨论过,把上期有半成品材料的盘剩的金额移到本期盘点中来

五,第三次生鲜盘点遇到的问题

有了前两次的盘点经验,第三次生鲜盘点遇到的问题就少多了,只要只有一个

1,生鲜盘点机的pda的半成品价格不对

原因:代码逻辑问题,远程没有盘点机,测试没有覆盖到,但不影响整个盘点结果,下次盘点前修复代码即可

六,总结

主要总结以下几点:

1,实践证明,每次的复盘总结是解决遗留问题行之有效的方法

2,设计测试用例非常关键,要覆盖所有的场景,尤其注意边界临界值上,比如这次遇到的时间节点边界就非常重要

3,测试不够全面,同样的问题本档口不出现,其他档口会出现

4,修数前要分析产生问题的原因,代码可以延期修复,不然同类问题还会重复出现

5,核查脚本的编写,辅助工具的应用能够提高排查问题的效率

6,线上日志的查看对定位排查问题帮助很大

7,与BA多沟通,能发现很多对业务理解的盲点,对解决以及优化问题有很大的帮助

相关文章
|
开发者 容器
ArkUI框架,Flex布局,基础组件及封装,父子组件的双向绑定
Flex组件用于创建弹性布局,开发者可以通过Flex的接口创建容器组件,进而对容器内的其他元素进行弹性布局,例如:使三个元素在容器内水平居中,垂直等间隔分散。 例如:如下的布局代码分别表示:(垂直排列,水平居中,垂直居中)
689 0
ArkUI框架,Flex布局,基础组件及封装,父子组件的双向绑定
|
PHP
使用sdk验签方法详解
说明:正常接口使用 AlipaySignature.rsaCheckV1,sign_type不参与签名     特殊说明:AlipaySignature.rsaCheckV2方法生活号异步通知需要使用,会保留sign_type参数参与验签。
1823 12
|
网络架构 网络协议 网络安全
带你读《计算机网络问题与解决方案:一种构建弹性现代网络的创新方法》之三:网络传输建模
本书分为三个主要部分,涵盖了数据传输、控制平面,以及具体设计(或者更确切地说是技术)场景。
|
3月前
|
机器学习/深度学习 人工智能 资源调度
MicroNAS:面向MCU的零样本神经架构搜索——论文阅读
MicroNAS是一种专为微控制器单元(MCU)设计的零样本神经架构搜索(NAS)框架,无需训练即可通过理论驱动的性能指标评估网络架构。相比传统NAS方法,其搜索效率提升高达1104倍,同时兼顾精度与硬件效率,适用于边缘计算场景。该框架结合神经切线核(NTK)条件数、线性区域计数及硬件感知延迟模型,实现快速、高效的架构搜索,为资源受限设备上的AI部署提供了新思路。
252 2
MicroNAS:面向MCU的零样本神经架构搜索——论文阅读
|
移动开发 小程序 视频直播
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
本文讲述了在使用ZLMediaKit进行视频直播时,遇到移动端通过ExoPlayer和微信小程序播放HLS直播地址失败的问题。错误源于ZLMediaKit对HTTP地址的Cookie校验导致401无权限响应。通过修改ZLMediaKit源码,注释掉相关鉴权代码并重新编译安装,解决了此问题,使得ExoPlayer和小程序能成功播放HLS视频。详细解决方案及FFmpeg集成可参考《FFmpeg开发实战:从零基础到短视频上线》一书。
819 3
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
|
数据可视化 JavaScript Serverless
天猫精灵【电影推荐】
创建一个电影推荐的小技能
3159 1
天猫精灵【电影推荐】
|
存储 编解码 芯片
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
1462 0
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
|
敏捷开发 数据可视化 算法
像CTO一样思考:如何高效管理30人的研发团队?
产能可视化、产出最大化、产效利润化
|
传感器 编解码 算法
Google Earth Engine ——MOD16A2第6版蒸发/热量通量产品是一个以500米像素分辨率制作的8天综合产品,两个潜热层(LE和PLE)的像素值是综合期内所有8天的平均值500m分辨
Google Earth Engine ——MOD16A2第6版蒸发/热量通量产品是一个以500米像素分辨率制作的8天综合产品,两个潜热层(LE和PLE)的像素值是综合期内所有8天的平均值500m分辨
771 0
Google Earth Engine ——MOD16A2第6版蒸发/热量通量产品是一个以500米像素分辨率制作的8天综合产品,两个潜热层(LE和PLE)的像素值是综合期内所有8天的平均值500m分辨