Commit e7cdb247892b21ec2a5da5323ac866a50150af65
1 parent
49fab111
feat:利润率计算/利润分析新增两列字段(客户单价/总价人民币)
Showing
2 changed files
with
64 additions
and
2 deletions
src/main/java/com/order/erp/domain/LockedFieldTypeEnum.java
0 → 100644
1 | +package com.order.erp.domain; | |
2 | + | |
3 | +import lombok.AllArgsConstructor; | |
4 | +import lombok.Getter; | |
5 | + | |
6 | +/** | |
7 | + * @author: xms | |
8 | + * @description: TODO | |
9 | + * @date: 2023/9/13 18:05 | |
10 | + * @version: 1.0 | |
11 | + */ | |
12 | +@Getter | |
13 | +@AllArgsConstructor | |
14 | +public enum LockedFieldTypeEnum { | |
15 | + | |
16 | + ORDER_BASE(10, "基本信息"), | |
17 | + ORDER_PROFIT(20, "利润分析"), | |
18 | + | |
19 | + ORDER_REPORT(30, "项目报告书"), | |
20 | + ORDER_INSPECT(40, "质检"), | |
21 | + ORDER_TRACKER(50, "跟单"), | |
22 | + ; | |
23 | + private Integer type; | |
24 | + | |
25 | + private String desc; | |
26 | +} | ... | ... |
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
... | ... | @@ -1441,6 +1441,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1441 | 1441 | buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo); |
1442 | 1442 | orderBaseInfoDo.setId(updateVO.getOrderId()); |
1443 | 1443 | optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO)); |
1444 | + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_BASE); | |
1444 | 1445 | } |
1445 | 1446 | if (Objects.nonNull(updateVO.getProfitAnalysisInfo())) { |
1446 | 1447 | checkApply(updateVO.getOrderId(), userId, ApplyTypeEnum.ORDER_PROFIT_APPLY); |
... | ... | @@ -1449,7 +1450,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1449 | 1450 | orderBaseInfoDo.setOrderStatus(ApplyStatusEnum.AUDIT_PASS.getStatus().equals(orderFieldLockApplyDO.getStatus()) ? OrderStatusEnum.PROFIT_AUDIT_PASS.getStatus() |
1450 | 1451 | : OrderStatusEnum.PROFIT_WAIT_AUDIT.getStatus()); |
1451 | 1452 | optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_PROFIT_EDIT_APPLY.getDesc(), orderFieldLockApplyDO.getFields()); |
1452 | - //fieldLockRecordService.save(lockProfitField(updateVO.getOrderId(), userId)); | |
1453 | + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_PROFIT); | |
1453 | 1454 | } |
1454 | 1455 | |
1455 | 1456 | if (Objects.nonNull(updateVO.getReportInfo())) { |
... | ... | @@ -1459,7 +1460,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1459 | 1460 | |
1460 | 1461 | orderBaseInfoDo.setOrderStatus(OrderStatusEnum.REPORT_WAIT_AUDIT.getStatus()); |
1461 | 1462 | optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_REPORT_EDIT_APPLY.getDesc(), orderFieldLockApplyDO.getFields()); |
1462 | - //fieldLockRecordService.save(lockReportField(updateVO.getOrderId(), userId)); | |
1463 | + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_REPORT); | |
1463 | 1464 | } |
1464 | 1465 | |
1465 | 1466 | if (Objects.nonNull(updateVO.getTrackStageInfo())) { |
... | ... | @@ -1519,6 +1520,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1519 | 1520 | } |
1520 | 1521 | orderBaseInfoDo.setOrderStatus(OrderStatusEnum.TRACK_ING.getStatus()); |
1521 | 1522 | optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_TRACKER_EDIT_APPLY.getDesc(), JSONObject.toJSONString(updateVO)); |
1523 | + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_TRACKER); | |
1522 | 1524 | } |
1523 | 1525 | |
1524 | 1526 | if (Objects.nonNull(updateVO.getInspectionStageInfo())) { |
... | ... | @@ -1575,6 +1577,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1575 | 1577 | } |
1576 | 1578 | orderBaseInfoDo.setOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus()); |
1577 | 1579 | optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_INSPECT_EDIT_APPLY.getDesc(), JSONObject.toJSONString(updateVO)); |
1580 | + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_INSPECT); | |
1578 | 1581 | } |
1579 | 1582 | updateById(orderBaseInfoDo); |
1580 | 1583 | orderOptLogService.save(optLogDO); |
... | ... | @@ -1582,6 +1585,39 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1582 | 1585 | } |
1583 | 1586 | |
1584 | 1587 | /** |
1588 | + * @param orderId | |
1589 | + * @param userId | |
1590 | + */ | |
1591 | + public void clearLockedField(Long orderId, Long userId, LockedFieldTypeEnum fieldTypeEnum) { | |
1592 | + OrderFieldLockRecordDO recordDO = fieldLockRecordService.getOne(new LambdaQueryWrapper<OrderFieldLockRecordDO>() | |
1593 | + .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | |
1594 | + .eq(OrderFieldLockRecordDO::getOrderId, orderId) | |
1595 | + .eq(OrderFieldLockRecordDO::getUserId, userId) | |
1596 | + .orderByDesc(OrderFieldLockRecordDO::getId) | |
1597 | + .last("limit 1")); | |
1598 | + if (Objects.nonNull(recordDO)) { | |
1599 | + OrderLockFieldVO fieldVO = JSONObject.parseObject(recordDO.getFields(), OrderLockFieldVO.class); | |
1600 | + if (LockedFieldTypeEnum.ORDER_BASE.equals(fieldTypeEnum)) { | |
1601 | + fieldVO.setBaseFields(OrderFieldUtils.initOrderBaseField(OrderLockFieldEnum.LOCKED)); | |
1602 | + } | |
1603 | + if (LockedFieldTypeEnum.ORDER_PROFIT.equals(fieldTypeEnum)) { | |
1604 | + fieldVO.setProfitAnalysisFields(OrderFieldUtils.initProfitAnalysisField(OrderLockFieldEnum.LOCKED)); | |
1605 | + } | |
1606 | + if (LockedFieldTypeEnum.ORDER_REPORT.equals(fieldTypeEnum)) { | |
1607 | + fieldVO.setReportFields(OrderFieldUtils.initReportField(OrderLockFieldEnum.LOCKED)); | |
1608 | + } | |
1609 | + if (LockedFieldTypeEnum.ORDER_TRACKER.equals(fieldTypeEnum)) { | |
1610 | + fieldVO.setTrackStageFields(OrderFieldUtils.initTrackStageField(OrderLockFieldEnum.LOCKED)); | |
1611 | + } | |
1612 | + if (LockedFieldTypeEnum.ORDER_INSPECT.equals(fieldTypeEnum)) { | |
1613 | + fieldVO.setInspectionStageFields(OrderFieldUtils.initInspectionStageField(OrderLockFieldEnum.LOCKED)); | |
1614 | + } | |
1615 | + recordDO.setFields(JSONObject.toJSONString(fieldVO)); | |
1616 | + fieldLockRecordService.updateById(recordDO); | |
1617 | + } | |
1618 | + } | |
1619 | + | |
1620 | + /** | |
1585 | 1621 | * @param baseInfoVO |
1586 | 1622 | * @param baseInfoDO |
1587 | 1623 | */ | ... | ... |