Commit beeb44bdf6bf9265636087db242f3a0221cd4640

Authored by 谢茂盛
1 parent 07ba3676

feat: ERP升级

1、fix 冲突
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
@@ -259,6 +259,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -259,6 +259,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
259 // 填充质检信息 259 // 填充质检信息
260 fillInspectionStageInfo(resultVOList); 260 fillInspectionStageInfo(resultVOList);
261 } 261 }
  262 +
262 if (CollectionUtils.isNotEmpty(resultVOList)) { 263 if (CollectionUtils.isNotEmpty(resultVOList)) {
263 List<Map<String, Object>> list = buildExportMapVOS(resultVOList, lockFieldVO); 264 List<Map<String, Object>> list = buildExportMapVOS(resultVOList, lockFieldVO);
264 if (CollectionUtils.isNotEmpty(list)) { 265 if (CollectionUtils.isNotEmpty(list)) {
@@ -1500,7 +1501,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1500,7 +1501,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1500 } 1501 }
1501 1502
1502 orderOptLogService.save(buildOrderOptLogDo(baseInfoDO.getId(), userId, OrderOptTypeEnum.ORDER_CREATE.getDesc(), null)); 1503 orderOptLogService.save(buildOrderOptLogDo(baseInfoDO.getId(), userId, OrderOptTypeEnum.ORDER_CREATE.getDesc(), null));
1503 - 1504 + OrderOpinionLogDO orderOpinionLogDO = buildOrderOpinionLogDo(baseInfoDO.getId(),
  1505 + OrderOpinionLogEnum.ORDER_PRODUCTION_COMMENT.getDesc(),
  1506 + orderAddVO.getBaseInfo().getProductionComment());
  1507 + orderOpinionLogService.save(orderOpinionLogDO);
1504 return ServerResult.success(); 1508 return ServerResult.success();
1505 } 1509 }
1506 1510
@@ -1515,6 +1519,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1515,6 +1519,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1515 return OrderOptLogDO.builder().orderId(orderId).userId(userId).fields(jsonString).optType(optType).build(); 1519 return OrderOptLogDO.builder().orderId(orderId).userId(userId).fields(jsonString).optType(optType).build();
1516 } 1520 }
1517 1521
  1522 + private OrderOpinionLogDO buildOrderOpinionLogDo(Long orderId, String type, String field) {
  1523 + return OrderOpinionLogDO.builder().orderId(orderId).opinionType(type).field(field).build();
  1524 + }
  1525 +
1518 /** 1526 /**
1519 * @param updateVO 1527 * @param updateVO
1520 */ 1528 */
@@ -1605,7 +1613,12 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1605,7 +1613,12 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1605 throw new BusinessException(ServerResultCode.ORDER_BASE_INFO_EMPTY); 1613 throw new BusinessException(ServerResultCode.ORDER_BASE_INFO_EMPTY);
1606 } 1614 }
1607 OrderOptLogDO optLogDO = new OrderOptLogDO(); 1615 OrderOptLogDO optLogDO = new OrderOptLogDO();
  1616 + List<OrderOpinionLogDO> orderOpinionLogDOList = new ArrayList<>();
1608 if (Objects.nonNull(updateVO.getBaseInfo())) { 1617 if (Objects.nonNull(updateVO.getBaseInfo())) {
  1618 + if(!(updateVO.getBaseInfo().getProductionComment().equals(orderBaseInfoDo.getProductionComment()))){
  1619 + OrderOpinionLogDO orderOpinionLogDO = buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_PRODUCTION_COMMENT.getDesc(),updateVO.getBaseInfo().getProductionComment());
  1620 + orderOpinionLogDOList.add(orderOpinionLogDO);
  1621 + }
1609 buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo); 1622 buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo);
1610 orderBaseInfoDo.setId(updateVO.getOrderId()); 1623 orderBaseInfoDo.setId(updateVO.getOrderId());
1611 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO)); 1624 optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO));
@@ -1641,6 +1654,13 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1641,6 +1654,13 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1641 trackStageDO.setPpTime(trackStageInfo.getPpTime()); 1654 trackStageDO.setPpTime(trackStageInfo.getPpTime());
1642 } 1655 }
1643 if (StringUtils.isNotBlank(trackStageInfo.getPpConfirmResult())) { 1656 if (StringUtils.isNotBlank(trackStageInfo.getPpConfirmResult())) {
  1657 + //由于跟单信息在创建时也是采用edit接口,所以要限制第一次创建时ppconfirmResult为空的情况,这种情况不计算到跟单记录中去。
  1658 + if(!(trackStageInfo.getPpConfirmResult().equals(trackStageDO.getPpConfirmResult())) &&
  1659 + StringUtils.isNotBlank(trackStageDO.getPpConfirmResult()) ){
  1660 + //用于在跟单记录中展示。
  1661 + OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_PP_CONFIRRM_RESULT.getDesc(),trackStageInfo.getPpConfirmResult());
  1662 + orderOpinionLogDOList.add(orderOpinionLogDO);
  1663 + }
1644 trackStageDO.setPpConfirmResult(trackStageInfo.getPpConfirmResult()); 1664 trackStageDO.setPpConfirmResult(trackStageInfo.getPpConfirmResult());
1645 } 1665 }
1646 if (StringUtils.isNotBlank(trackStageInfo.getEsoSampleSendTime())) { 1666 if (StringUtils.isNotBlank(trackStageInfo.getEsoSampleSendTime())) {
@@ -1650,7 +1670,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1650,7 +1670,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1650 trackStageDO.setShippmentSampleSendTime(trackStageInfo.getShippmentSampleSendTime()); 1670 trackStageDO.setShippmentSampleSendTime(trackStageInfo.getShippmentSampleSendTime());
1651 } 1671 }
1652 if (StringUtils.isNotBlank(trackStageInfo.getShippmentSampleConfirmResult())) { 1672 if (StringUtils.isNotBlank(trackStageInfo.getShippmentSampleConfirmResult())) {
1653 - trackStageDO.setShippmentSampleConfirmResult(trackStageInfo.getShippmentSampleConfirmResult()); 1673 + if(!(trackStageInfo.getShippmentSampleConfirmResult().equals(trackStageDO.getShippmentSampleConfirmResult())) &&
  1674 + StringUtils.isNotBlank(trackStageDO.getShippmentSampleConfirmResult())) {
  1675 + OrderOpinionLogDO orderOpinionLogDO = buildOrderOpinionLogDo(updateVO.getOrderId(), OrderOpinionLogEnum.ORDER_SHIPMENT_SAMPLE_CONFIRM_RESULT.getDesc(), trackStageInfo.getShippmentSampleConfirmResult());
  1676 + orderOpinionLogDOList.add(orderOpinionLogDO);
  1677 + }trackStageDO.setShippmentSampleConfirmResult(trackStageInfo.getShippmentSampleConfirmResult());
1654 } 1678 }
1655 if (StringUtils.isNotBlank(trackStageInfo.getSelfTestPassTime())) { 1679 if (StringUtils.isNotBlank(trackStageInfo.getSelfTestPassTime())) {
1656 trackStageDO.setSelfTestPassTime(trackStageInfo.getSelfTestPassTime()); 1680 trackStageDO.setSelfTestPassTime(trackStageInfo.getSelfTestPassTime());
@@ -1659,12 +1683,22 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1659,12 +1683,22 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1659 trackStageDO.setAitexTestSendTime(trackStageInfo.getAitexTestSendTime()); 1683 trackStageDO.setAitexTestSendTime(trackStageInfo.getAitexTestSendTime());
1660 } 1684 }
1661 if (StringUtils.isNotBlank(trackStageInfo.getAitexTestFinishResult())) { 1685 if (StringUtils.isNotBlank(trackStageInfo.getAitexTestFinishResult())) {
  1686 + if(!(trackStageInfo.getAitexTestFinishResult().equals(trackStageDO.getAitexTestFinishResult())) &&
  1687 + StringUtils.isNotBlank(trackStageDO.getAitexTestFinishResult())){
  1688 + OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_AITEX_TEST_FINISH_RESULT.getDesc(),trackStageInfo.getAitexTestFinishResult());
  1689 + orderOpinionLogDOList.add(orderOpinionLogDO);
  1690 + }
1662 trackStageDO.setAitexTestFinishResult(trackStageInfo.getAitexTestFinishResult()); 1691 trackStageDO.setAitexTestFinishResult(trackStageInfo.getAitexTestFinishResult());
1663 } 1692 }
1664 if (StringUtils.isNotBlank(trackStageInfo.getSgsTestSendTime())) { 1693 if (StringUtils.isNotBlank(trackStageInfo.getSgsTestSendTime())) {
1665 trackStageDO.setSgsTestSendTime(trackStageInfo.getSgsTestSendTime()); 1694 trackStageDO.setSgsTestSendTime(trackStageInfo.getSgsTestSendTime());
1666 } 1695 }
1667 if (StringUtils.isNotBlank(trackStageInfo.getSgsTestFinishResult())) { 1696 if (StringUtils.isNotBlank(trackStageInfo.getSgsTestFinishResult())) {
  1697 + if(!(trackStageInfo.getSgsTestFinishResult().equals(trackStageDO.getSgsTestFinishResult())) &&
  1698 + StringUtils.isNotBlank(trackStageDO.getSgsTestFinishResult())){
  1699 + OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_SGS_TEST_FINISH_RESULT.getDesc(),trackStageInfo.getSgsTestFinishResult());
  1700 + orderOpinionLogDOList.add(orderOpinionLogDO);
  1701 + }
1668 trackStageDO.setSgsTestFinishResult(trackStageInfo.getSgsTestFinishResult()); 1702 trackStageDO.setSgsTestFinishResult(trackStageInfo.getSgsTestFinishResult());
1669 } 1703 }
1670 if (StringUtils.isNotBlank(trackStageInfo.getBarcodeStickerArrivalTime())) { 1704 if (StringUtils.isNotBlank(trackStageInfo.getBarcodeStickerArrivalTime())) {
@@ -1676,6 +1710,18 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1676,6 +1710,18 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1676 if (StringUtils.isNotBlank(trackStageInfo.getLatestBkTime())) { 1710 if (StringUtils.isNotBlank(trackStageInfo.getLatestBkTime())) {
1677 trackStageDO.setLatestBkTime(trackStageInfo.getLatestBkTime()); 1711 trackStageDO.setLatestBkTime(trackStageInfo.getLatestBkTime());
1678 } 1712 }
  1713 + if ((StringUtils.isNotBlank(trackStageInfo.getPpConfirmTime()))) {
  1714 + trackStageDO.setPpConfirmTime(trackStageInfo.getPpConfirmTime());
  1715 + }
  1716 + if ((StringUtils.isNotBlank(trackStageInfo.getShippmentSampleConfirmTime()))) {
  1717 + trackStageDO.setShippmentSampleConfirmTime(trackStageInfo.getShippmentSampleConfirmTime());
  1718 + }
  1719 + if ((StringUtils.isNotBlank(trackStageInfo.getAitexTestFinishTime()))) {
  1720 + trackStageDO.setAitexTestFinishTime(trackStageInfo.getAitexTestFinishTime());
  1721 + }
  1722 + if ((StringUtils.isNotBlank(trackStageInfo.getSgsTestFinishTime()))) {
  1723 + trackStageDO.setSgsTestFinishTime(trackStageInfo.getSgsTestFinishTime());
  1724 + }
1679 trackStageDO.setOrderId(updateVO.getOrderId()); 1725 trackStageDO.setOrderId(updateVO.getOrderId());
1680 trackStageDO.setOrderStatus(OrderStatusEnum.TRACK_ING.getStatus()); 1726 trackStageDO.setOrderStatus(OrderStatusEnum.TRACK_ING.getStatus());
1681 trackStageService.updateById(trackStageDO); 1727 trackStageService.updateById(trackStageDO);
@@ -1736,6 +1782,26 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1736,6 +1782,26 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1736 inspectionStageDO.setOrderId(updateVO.getOrderId()); 1782 inspectionStageDO.setOrderId(updateVO.getOrderId());
1737 inspectionStageDO.setOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus()); 1783 inspectionStageDO.setOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus());
1738 inspectionStageService.updateById(inspectionStageDO); 1784 inspectionStageService.updateById(inspectionStageDO);
  1785 + OrderBaseInfoDO orderBaseInfoDO = baseInfoService.getById(updateVO.getOrderId());
  1786 + AdminUserDO ProductionDepartmentUserDO = userService.getOne(new LambdaQueryWrapper<AdminUserDO>()
  1787 + .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
  1788 + .eq(AdminUserDO::getUserName, orderBaseInfoDO.getProductionDepartment()));
  1789 + OrderEventJobVO orderEventJobVO = new OrderEventJobVO();
  1790 + orderEventJobVO.setInspectionStageInfo(inspectionStageInfo);
  1791 + OrderBaseInfoVO orderBaseInfoVo = BeanUtil.copyProperties(orderBaseInfoDo, OrderBaseInfoVO.class);
  1792 + orderEventJobVO.setBaseInfo(orderBaseInfoVo);
  1793 + List<String> emails = Arrays.asList(ProductionDepartmentUserDO.getEmail().split( "[,,]+"))
  1794 + .stream().map(String::trim)
  1795 + .collect(Collectors.toList());
  1796 + //一旦修改完质检信息就自动发送邮件对应的生产科。多次编辑保存多次发送。
  1797 + if (StringUtils.isNotBlank(inspectionStageInfo.getEndCheckApplyTime())) {
  1798 + //尾期验货报告。
  1799 + emailSendUtils.sendEmail(EmailTemplateEnum.END_CHECK_REPORT_TEMPLATE, emails, orderEventJobVO);
  1800 + }else if(StringUtils.isNotBlank(inspectionStageInfo.getMidCheckApplyTime())){
  1801 + //中期验货报告。
  1802 + emailSendUtils.sendEmail(EmailTemplateEnum.MID_CHECK_REPORT_TEMPLATE, emails, orderEventJobVO);
  1803 + }
  1804 +
1739 } else { 1805 } else {
1740 inspectionStageDO = new OrderInspectionStageDO(); 1806 inspectionStageDO = new OrderInspectionStageDO();
1741 BeanUtils.copyProperties(updateVO.getInspectionStageInfo(), inspectionStageDO); 1807 BeanUtils.copyProperties(updateVO.getInspectionStageInfo(), inspectionStageDO);
@@ -1749,6 +1815,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -1749,6 +1815,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1749 } 1815 }
1750 updateById(orderBaseInfoDo); 1816 updateById(orderBaseInfoDo);
1751 orderOptLogService.save(optLogDO); 1817 orderOptLogService.save(optLogDO);
  1818 + orderOpinionLogService.saveBatch(orderOpinionLogDOList);
1752 return ServerResult.success(); 1819 return ServerResult.success();
1753 } 1820 }
1754 1821
@@ -2006,4 +2073,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O @@ -2006,4 +2073,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
2006 } 2073 }
2007 return ServerResult.success(); 2074 return ServerResult.success();
2008 } 2075 }
  2076 +
  2077 + @Override
  2078 + public List<OrderBaseInfoDO> getEventList() {
  2079 + List<OrderBaseInfoDO> orderBaseInfoDOList = baseMapper.getEventList();
  2080 + return orderBaseInfoDOList;
  2081 + }
2009 } 2082 }