Commit e7cdb247892b21ec2a5da5323ac866a50150af65

Authored by qdlgxiemaosheng
1 parent 49fab111

feat:利润率计算/利润分析新增两列字段(客户单价/总价人民币)

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,6 +1441,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
1441 buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo); 1441 buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo);
1442 orderBaseInfoDo.setId(updateVO.getOrderId()); 1442 orderBaseInfoDo.setId(updateVO.getOrderId());
1443 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO)); 1443 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO));
  1444 + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_BASE);
1444 } 1445 }
1445 if (Objects.nonNull(updateVO.getProfitAnalysisInfo())) { 1446 if (Objects.nonNull(updateVO.getProfitAnalysisInfo())) {
1446 checkApply(updateVO.getOrderId(), userId, ApplyTypeEnum.ORDER_PROFIT_APPLY); 1447 checkApply(updateVO.getOrderId(), userId, ApplyTypeEnum.ORDER_PROFIT_APPLY);
@@ -1449,7 +1450,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -1449,7 +1450,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
1449 orderBaseInfoDo.setOrderStatus(ApplyStatusEnum.AUDIT_PASS.getStatus().equals(orderFieldLockApplyDO.getStatus()) ? OrderStatusEnum.PROFIT_AUDIT_PASS.getStatus() 1450 orderBaseInfoDo.setOrderStatus(ApplyStatusEnum.AUDIT_PASS.getStatus().equals(orderFieldLockApplyDO.getStatus()) ? OrderStatusEnum.PROFIT_AUDIT_PASS.getStatus()
1450 : OrderStatusEnum.PROFIT_WAIT_AUDIT.getStatus()); 1451 : OrderStatusEnum.PROFIT_WAIT_AUDIT.getStatus());
1451 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_PROFIT_EDIT_APPLY.getDesc(), orderFieldLockApplyDO.getFields()); 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 if (Objects.nonNull(updateVO.getReportInfo())) { 1456 if (Objects.nonNull(updateVO.getReportInfo())) {
@@ -1459,7 +1460,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -1459,7 +1460,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
1459 1460
1460 orderBaseInfoDo.setOrderStatus(OrderStatusEnum.REPORT_WAIT_AUDIT.getStatus()); 1461 orderBaseInfoDo.setOrderStatus(OrderStatusEnum.REPORT_WAIT_AUDIT.getStatus());
1461 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_REPORT_EDIT_APPLY.getDesc(), orderFieldLockApplyDO.getFields()); 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 if (Objects.nonNull(updateVO.getTrackStageInfo())) { 1466 if (Objects.nonNull(updateVO.getTrackStageInfo())) {
@@ -1519,6 +1520,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -1519,6 +1520,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
1519 } 1520 }
1520 orderBaseInfoDo.setOrderStatus(OrderStatusEnum.TRACK_ING.getStatus()); 1521 orderBaseInfoDo.setOrderStatus(OrderStatusEnum.TRACK_ING.getStatus());
1521 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_TRACKER_EDIT_APPLY.getDesc(), JSONObject.toJSONString(updateVO)); 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 if (Objects.nonNull(updateVO.getInspectionStageInfo())) { 1526 if (Objects.nonNull(updateVO.getInspectionStageInfo())) {
@@ -1575,6 +1577,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -1575,6 +1577,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
1575 } 1577 }
1576 orderBaseInfoDo.setOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus()); 1578 orderBaseInfoDo.setOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus());
1577 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_INSPECT_EDIT_APPLY.getDesc(), JSONObject.toJSONString(updateVO)); 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 updateById(orderBaseInfoDo); 1582 updateById(orderBaseInfoDo);
1580 orderOptLogService.save(optLogDO); 1583 orderOptLogService.save(optLogDO);
@@ -1582,6 +1585,39 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -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 * @param baseInfoVO 1621 * @param baseInfoVO
1586 * @param baseInfoDO 1622 * @param baseInfoDO
1587 */ 1623 */