- 博客(10)
- 收藏
- 关注
原创 用友-成本卷积运算
用友系统中的“卷积运算”是一个全自动的成本计算功能,主要用于解决多层级BOM(物料清单)下的产品成本核算问题。你可以把它理解成一个“一键算成本”的智能机器人。它就像一个精通业务的会计,能自动、有序地处理那些层层嵌套、极其繁琐的成本核算工作。它的核心运作逻辑是:系统首先根据生产领用关系,自动构建出成本BOM。在这个结构中,最基础的是第,用原材料生产出的是第,再用这些半成品生产出的是第,以此类推。:系统从最底层的原材料(0层)开始计算成本,然后向上计算出半成品(1层)的成本,最后才是产成品(2层)的成本。
2026-04-03 17:44:02
330
原创 库存不一致问题分析与 Spring 代理机制
Spring 不会直接使用你写的类,而是在运行时动态生成一个"包装类"(代理对象),在你的方法前后插入额外逻辑。你写的类:// 你的业务代码Spring 生成的代理(伪代码):// @Lock4j 加锁tx.begin();// @Transactional 开事务// 调用真实方法// 提交事务// 释放锁你从 Spring 容器中注入的 Bean,实际上是这个代理对象,不是你写的原始类。问题原因修复库存变多/变少自调用绕过代理,@Lock4j失效,并发写覆盖。
2026-03-16 11:11:05
389
原创 清除docker Overlay2占用磁盘空间的文件夹
merged 文件夹: merged 文件夹是一个可读写的文件系统层,它是由基础镜像和 diff 文件夹合并而成的。当您启动一个Docker容器时, merged 文件夹中的内容将作为容器的文件系统。这个文件夹是容器运行时的可写层,您可以在容器中对文件进行修改或添加新文件,这些修改将存储在 merged 文件夹中。diff 文件夹: diff 文件夹是一个只读的文件系统层,它包含了Docker镜像的变更内容。每个Docker镜像都有一个对应的 diff 文件夹,用于存储与基础镜像的差异。
2026-02-10 10:13:05
309
原创 java.lang.UnsupportedOperationException: null异常处理(完美解决)
问题背景:构建完这个集合,在运行时,对这个集合进行根据业务时间排序的时候报了UnsupportedOperationException。),而后续代码可能尝试修改该列表(如。(Java 16+)返回的是。问题代码就是过滤呢一段!这两种方式都能解决。
2026-01-28 10:25:41
67
原创 JSON_TABLE解析存储的JSON字符串
'$[0].education' -- 访问数组第一个元素的 education。及以上版本引入的,如果你使用的是较旧版本(如 MySQL 5.7 或更早),这个函数不可用。# '$.employees [*].salary' -- 访问数组中的所有 salary。# '$.skills[-1]' -- 访问最后一个技能。# '$.person.name' -- 访问嵌套属性。结果会是 JSON 格式(如。),如果要去掉引号,可以用。
2026-01-21 16:20:13
80
原创 JAVA时区问题
【摘要】前端传递时间毫秒值1762272000(对应2025-11-05)存入数据库后变为2025-11-0416:00,出现8小时时差。排查发现System.currentTimeMillis()获取时间正确,而LocalDateTime.now()存在时区问题。二者的主要区别在于:LocalDateTime.now()需处理时区(默认使用系统时区),精度为纳秒级;System.currentTimeMillis()采用UTC时区,精度为毫秒级。最终解决方案是在SpringBoot启动类中通过@PostC
2025-11-05 17:48:49
409
原创 Mybatis Plus实现数据库中逗号分隔查询
本文展示了一个使用LambdaQueryWrapperX实现的数据库分页查询方法。该方法通过条件构造器动态构建查询条件,支持对订单编码、项目、单价、单位等字段的精确或模糊匹配,同时处理状态、创建时间范围等过滤条件。特别之处在于通过FIND_IN_SET函数实现了对逗号分隔存储的公司ID和部门ID的查询,这为处理特殊格式数据提供了解决方案。该方法最终返回符合条件的分页结果集,展示了MyBatis-Plus框架在复杂查询场景下的灵活应用。
2025-10-11 15:28:57
169
原创 Java 实现 Flyway管理SQL脚本
1.仅需要被执行一次的SQL命名以大写的"V"开头,后面跟上"0~9"数字的组合,数字之间可以用“.”或者下划线"_"分割开,然后再以两个下划线分割,其后跟文件名称,最后以.sql结尾。1.仅需要被执行一次的SQL命名以大写的"V"开头,后面跟上"0~9"数字的组合,数字之间可以用“.”或者下划线"_"分割开,然后再以两个下划线分割,其后跟文件名称,最后以.sql结尾。2.可重复运行的SQL,则以大写的“R”开头,后面再以两个下划线分割,其后跟文件名称,最后以.sql结尾。
2025-02-10 11:58:18
607
原创 Spring @Transactional 事务注解失效
2、如果A不加@Transactional注解,B加了@Transactional注解,只有B是有事务的。2、A不加@Transactional注解,B加不加@Transactional注解,事务都是无效的。1、如果A加@Transactional注解,B加不加@Transactional注解,事务是有效的。1、A加@Transactional注解,B加不加@Transactional注解,事务是有效的。1、A加@Transactional注解,不管是不是在一个类中,不管B加不加注解,事务是有效的。
2025-02-10 11:46:02
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅