Commit 0f226e9d9b92ca2f82b13d3e977e316e96292e4a
1 parent
b3efa9a2
fix:1.修复业务研发净利润与内部生产净利润在锁定表中由于对prefix进行了唯一索引,所以在查询时不能再判断userid申请,无论谁申请都能查到才不会出现唯一索引出错的情况。
2.修复应收款应付款管理,由于数据幂等性,造成利润表插入多条相同orderId数据,在应收款查询出来多条应收应付数据的问题。
Showing
2 changed files
with
10 additions
and
4 deletions
src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java
... | ... | @@ -112,7 +112,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
112 | 112 | ProjectFieldLockRecord recordDO = projectionFieldLockRecordService.getOne(new LambdaQueryWrapper<ProjectFieldLockRecord>() |
113 | 113 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
114 | 114 | .eq(ProjectFieldLockRecord::getProjectNoPrefix, projectNoPrefix) |
115 | - .eq(ProjectFieldLockRecord::getUserId, dataScope.getLoginUserId()) | |
115 | +// .eq(ProjectFieldLockRecord::getUserId, dataScope.getLoginUserId()) | |
116 | 116 | .orderByDesc(ProjectFieldLockRecord::getId) |
117 | 117 | .last("limit 1")); |
118 | 118 | if (Objects.isNull(recordDO)) { |
... | ... | @@ -251,7 +251,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
251 | 251 | ProjectFieldLockRecord recordDO = projectionFieldLockRecordService.getOne(new LambdaQueryWrapper<ProjectFieldLockRecord>() |
252 | 252 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
253 | 253 | .eq(ProjectFieldLockRecord::getProjectNoPrefix, applyDO.getProjectNoPrefix()) |
254 | - .eq(ProjectFieldLockRecord::getUserId, applyDO.getApplyUserId()) | |
254 | +// .eq(ProjectFieldLockRecord::getUserId, applyDO.getApplyUserId()) | |
255 | 255 | .orderByDesc(ProjectFieldLockRecord::getId) |
256 | 256 | .last("limit 1")); |
257 | 257 | if (Objects.isNull(recordDO)) { | ... | ... |
src/main/resources/mapper/InvoiceBillOrderMapper.xml
... | ... | @@ -123,8 +123,14 @@ |
123 | 123 | ON o.id = i.order_id AND i.enable_flag = 10 |
124 | 124 | LEFT JOIN produce_payment_check_bill_order AS p |
125 | 125 | ON o.id = p.order_id AND p.enable_flag = 10 |
126 | - LEFT JOIN order_profit_analysis AS a | |
127 | - ON o.id = a.order_id AND a.enable_flag = 10 | |
126 | + LEFT JOIN ( -- 子查询,当时存储利润数据时,可能幂等性问题造成一个orderId创建了两条或者多条利润数据,现在需要对利润数据进行保留一条,一一对应。 | |
127 | + SELECT * FROM ( | |
128 | + SELECT *, | |
129 | + ROW_NUMBER() OVER(PARTITION BY order_id ORDER BY id ASC) AS rn | |
130 | + FROM order_profit_analysis | |
131 | + WHERE enable_flag = 10 | |
132 | + ) AS temp WHERE temp.rn = 1) AS a | |
133 | + ON o.id = a.order_id | |
128 | 134 | WHERE o.enable_flag = 10 |
129 | 135 | <if test="queryVO.invoiceNo != null and queryVO.invoiceNo != ''"> |
130 | 136 | AND i.invoice_no LIKE CONCAT('%', #{queryVO.invoiceNo}, '%') | ... | ... |