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 259 // 填充质检信息
260 260 fillInspectionStageInfo(resultVOList);
261 261 }
  262 +
262 263 if (CollectionUtils.isNotEmpty(resultVOList)) {
263 264 List<Map<String, Object>> list = buildExportMapVOS(resultVOList, lockFieldVO);
264 265 if (CollectionUtils.isNotEmpty(list)) {
... ... @@ -1500,7 +1501,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1500 1501 }
1501 1502  
1502 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 1508 return ServerResult.success();
1505 1509 }
1506 1510  
... ... @@ -1515,6 +1519,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1515 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 1527 * @param updateVO
1520 1528 */
... ... @@ -1605,7 +1613,12 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1605 1613 throw new BusinessException(ServerResultCode.ORDER_BASE_INFO_EMPTY);
1606 1614 }
1607 1615 OrderOptLogDO optLogDO = new OrderOptLogDO();
  1616 + List<OrderOpinionLogDO> orderOpinionLogDOList = new ArrayList<>();
1608 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 1622 buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo);
1610 1623 orderBaseInfoDo.setId(updateVO.getOrderId());
1611 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 1654 trackStageDO.setPpTime(trackStageInfo.getPpTime());
1642 1655 }
1643 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 1664 trackStageDO.setPpConfirmResult(trackStageInfo.getPpConfirmResult());
1645 1665 }
1646 1666 if (StringUtils.isNotBlank(trackStageInfo.getEsoSampleSendTime())) {
... ... @@ -1650,7 +1670,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1650 1670 trackStageDO.setShippmentSampleSendTime(trackStageInfo.getShippmentSampleSendTime());
1651 1671 }
1652 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 1679 if (StringUtils.isNotBlank(trackStageInfo.getSelfTestPassTime())) {
1656 1680 trackStageDO.setSelfTestPassTime(trackStageInfo.getSelfTestPassTime());
... ... @@ -1659,12 +1683,22 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1659 1683 trackStageDO.setAitexTestSendTime(trackStageInfo.getAitexTestSendTime());
1660 1684 }
1661 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 1691 trackStageDO.setAitexTestFinishResult(trackStageInfo.getAitexTestFinishResult());
1663 1692 }
1664 1693 if (StringUtils.isNotBlank(trackStageInfo.getSgsTestSendTime())) {
1665 1694 trackStageDO.setSgsTestSendTime(trackStageInfo.getSgsTestSendTime());
1666 1695 }
1667 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 1702 trackStageDO.setSgsTestFinishResult(trackStageInfo.getSgsTestFinishResult());
1669 1703 }
1670 1704 if (StringUtils.isNotBlank(trackStageInfo.getBarcodeStickerArrivalTime())) {
... ... @@ -1676,6 +1710,18 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1676 1710 if (StringUtils.isNotBlank(trackStageInfo.getLatestBkTime())) {
1677 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 1725 trackStageDO.setOrderId(updateVO.getOrderId());
1680 1726 trackStageDO.setOrderStatus(OrderStatusEnum.TRACK_ING.getStatus());
1681 1727 trackStageService.updateById(trackStageDO);
... ... @@ -1736,6 +1782,26 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1736 1782 inspectionStageDO.setOrderId(updateVO.getOrderId());
1737 1783 inspectionStageDO.setOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus());
1738 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 1805 } else {
1740 1806 inspectionStageDO = new OrderInspectionStageDO();
1741 1807 BeanUtils.copyProperties(updateVO.getInspectionStageInfo(), inspectionStageDO);
... ... @@ -1749,6 +1815,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1749 1815 }
1750 1816 updateById(orderBaseInfoDo);
1751 1817 orderOptLogService.save(optLogDO);
  1818 + orderOpinionLogService.saveBatch(orderOpinionLogDOList);
1752 1819 return ServerResult.success();
1753 1820 }
1754 1821  
... ... @@ -2006,4 +2073,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
2006 2073 }
2007 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 }
... ...