Commit 1bd2ff0674b501b531518bc13cb472f9ddb38510
Merge remote-tracking branch 'origin/ch' into test
Showing
9 changed files
with
89 additions
and
32 deletions
src/main/java/com/order/erp/controller/OrderOpinionLonController.java
... | ... | @@ -3,10 +3,13 @@ package com.order.erp.controller; |
3 | 3 | import com.order.erp.common.annotation.AnonymousAccess; |
4 | 4 | import com.order.erp.common.constant.ServerResult; |
5 | 5 | import com.order.erp.domain.dto.order.OrderOpinionLogDO; |
6 | +import com.order.erp.domain.vo.order.OrderOpinionLogVO; | |
6 | 7 | import com.order.erp.service.order.OrderOpinionLogService; |
7 | 8 | import io.swagger.annotations.Api; |
8 | 9 | import io.swagger.annotations.ApiOperation; |
10 | +import org.springframework.validation.annotation.Validated; | |
9 | 11 | import org.springframework.web.bind.annotation.PostMapping; |
12 | +import org.springframework.web.bind.annotation.RequestBody; | |
10 | 13 | import org.springframework.web.bind.annotation.RequestMapping; |
11 | 14 | import org.springframework.web.bind.annotation.RestController; |
12 | 15 | |
... | ... | @@ -29,8 +32,8 @@ public class OrderOpinionLonController { |
29 | 32 | @PostMapping("/query_by_id") |
30 | 33 | @ApiOperation("查询订单的跟单结果记录") |
31 | 34 | @AnonymousAccess |
32 | - public ServerResult queryById(OrderOpinionLogDO orderOpinionLogDO){ | |
33 | - return orderOpinionLogService.queryById(orderOpinionLogDO); | |
35 | + public ServerResult queryById(@RequestBody @Validated OrderOpinionLogVO orderOpinionLogVo){ | |
36 | + return orderOpinionLogService.queryById(orderOpinionLogVo); | |
34 | 37 | } |
35 | 38 | |
36 | 39 | } | ... | ... |
src/main/java/com/order/erp/domain/dto/order/OrderOpinionLogDO.java
... | ... | @@ -5,6 +5,7 @@ import com.order.erp.domain.dto.BaseDO; |
5 | 5 | import lombok.*; |
6 | 6 | import lombok.experimental.SuperBuilder; |
7 | 7 | |
8 | +import javax.validation.constraints.NotNull; | |
8 | 9 | import java.io.Serializable; |
9 | 10 | |
10 | 11 | /** |
... | ... | @@ -26,7 +27,7 @@ public class OrderOpinionLogDO extends BaseDO implements Serializable { |
26 | 27 | /** |
27 | 28 | * 订单id |
28 | 29 | */ |
29 | - private long orderId; | |
30 | + private Long orderId; | |
30 | 31 | /** |
31 | 32 | * 意见类型(SGS/Aitex/SHIPPMENT/PP/产品意见) |
32 | 33 | */ | ... | ... |
src/main/java/com/order/erp/domain/dto/order/OrderTrackStageDO.java
src/main/java/com/order/erp/domain/vo/order/OrderOpinionLogVO.java
0 → 100644
1 | +package com.order.erp.domain.vo.order; | |
2 | + | |
3 | +import lombok.*; | |
4 | +import lombok.experimental.SuperBuilder; | |
5 | + | |
6 | +/** | |
7 | + * @Author:ch | |
8 | + * @createTime:2024-08-07 | |
9 | + */ | |
10 | +@Data | |
11 | +@AllArgsConstructor | |
12 | +@ToString | |
13 | +@NoArgsConstructor | |
14 | +@EqualsAndHashCode(callSuper = false) | |
15 | +@SuperBuilder | |
16 | +public class OrderOpinionLogVO { | |
17 | + private Long id; | |
18 | + | |
19 | + /** | |
20 | + * 订单id | |
21 | + */ | |
22 | + private Long orderId; | |
23 | + /** | |
24 | + * 意见类型(SGS/Aitex/SHIPPMENT/PP/产品意见) | |
25 | + */ | |
26 | + private String opinionType; | |
27 | + | |
28 | + /** | |
29 | + * 更新字段 | |
30 | + */ | |
31 | + private String field; | |
32 | +} | ... | ... |
src/main/java/com/order/erp/service/admin/impl/AdminUserServiceImpl.java
... | ... | @@ -187,6 +187,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser |
187 | 187 | throw new BusinessException("手机号已被注册"); |
188 | 188 | } |
189 | 189 | AdminUserDO adminUserDo = BeanUtil.copyProperties(adminUserVO, AdminUserDO.class); |
190 | + if(StringUtils.isNotBlank(adminUserVO.getEmail())){ | |
191 | + adminUserDo.setEmail(adminUserVO.getEmail()); | |
192 | + } | |
190 | 193 | if (StringUtils.isNotBlank(adminUserVO.getUserName())) { |
191 | 194 | adminUserDo.setNickName(adminUserVO.getUserName()); |
192 | 195 | } | ... | ... |
src/main/java/com/order/erp/service/order/OrderBaseInfoService.java
... | ... | @@ -6,7 +6,9 @@ import com.order.erp.common.constant.ServerResult; |
6 | 6 | import com.order.erp.common.excel4j.exceptions.Excel4JException; |
7 | 7 | import com.order.erp.domain.dto.order.OrderBaseInfoDO; |
8 | 8 | import com.order.erp.domain.vo.order.*; |
9 | +import freemarker.template.TemplateException; | |
9 | 10 | |
11 | +import javax.mail.MessagingException; | |
10 | 12 | import javax.servlet.http.HttpServletResponse; |
11 | 13 | import java.io.IOException; |
12 | 14 | import java.util.List; |
... | ... | @@ -89,7 +91,7 @@ public interface OrderBaseInfoService extends IService<OrderBaseInfoDO> { |
89 | 91 | * @param updateVO 数据VO |
90 | 92 | * @return 编辑结果 |
91 | 93 | */ |
92 | - ServerResult edit(OrderUpdateVO updateVO); | |
94 | + ServerResult edit(OrderUpdateVO updateVO) ; | |
93 | 95 | |
94 | 96 | /** |
95 | 97 | * 通过主键删除数据 | ... | ... |
src/main/java/com/order/erp/service/order/OrderOpinionLogService.java
... | ... | @@ -3,8 +3,9 @@ package com.order.erp.service.order; |
3 | 3 | import com.baomidou.mybatisplus.extension.service.IService; |
4 | 4 | import com.order.erp.common.constant.ServerResult; |
5 | 5 | import com.order.erp.domain.dto.order.OrderOpinionLogDO; |
6 | +import com.order.erp.domain.vo.order.OrderOpinionLogVO; | |
6 | 7 | |
7 | 8 | public interface OrderOpinionLogService extends IService<OrderOpinionLogDO> { |
8 | 9 | |
9 | - ServerResult queryById(OrderOpinionLogDO orderOpinionLogDO); | |
10 | + ServerResult queryById(OrderOpinionLogVO orderOpinionLogVo); | |
10 | 11 | } | ... | ... |
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
... | ... | @@ -1471,9 +1471,10 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1471 | 1471 | } |
1472 | 1472 | |
1473 | 1473 | orderOptLogService.save(buildOrderOptLogDo(baseInfoDO.getId(), userId, OrderOptTypeEnum.ORDER_CREATE.getDesc(), null)); |
1474 | - orderOpinionLogService.save(buildOrderOpinionLogDo(baseInfoDO.getId(), | |
1474 | + OrderOpinionLogDO orderOpinionLogDO = buildOrderOpinionLogDo(baseInfoDO.getId(), | |
1475 | 1475 | OrderOpinionLogEnum.ORDER_PRODUCTION_COMMENT.getDesc(), |
1476 | - orderAddVO.getBaseInfo().getProductionComment())); | |
1476 | + orderAddVO.getBaseInfo().getProductionComment()); | |
1477 | + orderOpinionLogService.save(orderOpinionLogDO); | |
1477 | 1478 | return ServerResult.success(); |
1478 | 1479 | } |
1479 | 1480 | |
... | ... | @@ -1584,15 +1585,14 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1584 | 1585 | OrderOptLogDO optLogDO = new OrderOptLogDO(); |
1585 | 1586 | List<OrderOpinionLogDO> orderOpinionLogDOList = new ArrayList<>(); |
1586 | 1587 | if (Objects.nonNull(updateVO.getBaseInfo())) { |
1587 | - buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo); | |
1588 | - orderBaseInfoDo.setId(updateVO.getOrderId()); | |
1589 | - optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO)); | |
1590 | - clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_BASE); | |
1591 | 1588 | if(!(updateVO.getBaseInfo().getProductionComment().equals(orderBaseInfoDo.getProductionComment()))){ |
1592 | 1589 | OrderOpinionLogDO orderOpinionLogDO = buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_PRODUCTION_COMMENT.getDesc(),updateVO.getBaseInfo().getProductionComment()); |
1593 | 1590 | orderOpinionLogDOList.add(orderOpinionLogDO); |
1594 | 1591 | } |
1595 | - | |
1592 | + buildUpdateVO(updateVO.getBaseInfo(), orderBaseInfoDo); | |
1593 | + orderBaseInfoDo.setId(updateVO.getOrderId()); | |
1594 | + optLogDO = buildOrderOptLogDo(updateVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_EDIT.getDesc(), JSONObject.toJSONString(updateVO)); | |
1595 | + clearLockedField(updateVO.getOrderId(), userId, LockedFieldTypeEnum.ORDER_BASE); | |
1596 | 1596 | } |
1597 | 1597 | if (Objects.nonNull(updateVO.getProfitAnalysisInfo())) { |
1598 | 1598 | checkApply(updateVO.getOrderId(), userId, ApplyTypeEnum.ORDER_PROFIT_APPLY); |
... | ... | @@ -1624,11 +1624,14 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1624 | 1624 | trackStageDO.setPpTime(trackStageInfo.getPpTime()); |
1625 | 1625 | } |
1626 | 1626 | if (StringUtils.isNotBlank(trackStageInfo.getPpConfirmResult())) { |
1627 | - trackStageDO.setPpConfirmResult(trackStageInfo.getPpConfirmResult()); | |
1628 | - if(!(trackStageInfo.getPpConfirmResult().equals(trackStageDO.getPpConfirmResult()))){ | |
1629 | - OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_PP_CONFIRRM_RESULT.getDesc(),trackStageInfo.getPpConfirmResult()); | |
1630 | - orderOpinionLogDOList.add(orderOpinionLogDO); | |
1627 | + //由于跟单信息在创建时也是采用edit接口,所以要限制第一次创建时ppconfirmResult为空的情况,这种情况不计算到跟单记录中去。 | |
1628 | + if(!(trackStageInfo.getPpConfirmResult().equals(trackStageDO.getPpConfirmResult())) && | |
1629 | + StringUtils.isNotBlank(trackStageDO.getPpConfirmResult()) ){ | |
1630 | + //用于在跟单记录中展示。 | |
1631 | + OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_PP_CONFIRRM_RESULT.getDesc(),trackStageInfo.getPpConfirmResult()); | |
1632 | + orderOpinionLogDOList.add(orderOpinionLogDO); | |
1631 | 1633 | } |
1634 | + trackStageDO.setPpConfirmResult(trackStageInfo.getPpConfirmResult()); | |
1632 | 1635 | } |
1633 | 1636 | if (StringUtils.isNotBlank(trackStageInfo.getEsoSampleSendTime())) { |
1634 | 1637 | trackStageDO.setEsoSampleSendTime(trackStageInfo.getEsoSampleSendTime()); |
... | ... | @@ -1637,11 +1640,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1637 | 1640 | trackStageDO.setShippmentSampleSendTime(trackStageInfo.getShippmentSampleSendTime()); |
1638 | 1641 | } |
1639 | 1642 | if (StringUtils.isNotBlank(trackStageInfo.getShippmentSampleConfirmResult())) { |
1640 | - trackStageDO.setShippmentSampleConfirmResult(trackStageInfo.getShippmentSampleConfirmResult()); | |
1641 | - if(!(trackStageInfo.getShippmentSampleConfirmResult().equals(trackStageDO.getShippmentSampleConfirmResult()))){ | |
1642 | - OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_SHIPMENT_SAMPLE_CONFIRM_RESULT.getDesc(),trackStageInfo.getShippmentSampleConfirmResult()); | |
1643 | + if(!(trackStageInfo.getShippmentSampleConfirmResult().equals(trackStageDO.getShippmentSampleConfirmResult())) && | |
1644 | + StringUtils.isNotBlank(trackStageDO.getShippmentSampleConfirmResult())) { | |
1645 | + OrderOpinionLogDO orderOpinionLogDO = buildOrderOpinionLogDo(updateVO.getOrderId(), OrderOpinionLogEnum.ORDER_SHIPMENT_SAMPLE_CONFIRM_RESULT.getDesc(), trackStageInfo.getShippmentSampleConfirmResult()); | |
1643 | 1646 | orderOpinionLogDOList.add(orderOpinionLogDO); |
1644 | - } | |
1647 | + }trackStageDO.setShippmentSampleConfirmResult(trackStageInfo.getShippmentSampleConfirmResult()); | |
1645 | 1648 | } |
1646 | 1649 | if (StringUtils.isNotBlank(trackStageInfo.getSelfTestPassTime())) { |
1647 | 1650 | trackStageDO.setSelfTestPassTime(trackStageInfo.getSelfTestPassTime()); |
... | ... | @@ -1650,21 +1653,23 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1650 | 1653 | trackStageDO.setAitexTestSendTime(trackStageInfo.getAitexTestSendTime()); |
1651 | 1654 | } |
1652 | 1655 | if (StringUtils.isNotBlank(trackStageInfo.getAitexTestFinishResult())) { |
1653 | - trackStageDO.setAitexTestFinishResult(trackStageInfo.getAitexTestFinishResult()); | |
1654 | - if(!(trackStageInfo.getAitexTestFinishResult().equals(trackStageDO.getAitexTestFinishResult()))){ | |
1656 | + if(!(trackStageInfo.getAitexTestFinishResult().equals(trackStageDO.getAitexTestFinishResult())) && | |
1657 | + StringUtils.isNotBlank(trackStageDO.getAitexTestFinishResult())){ | |
1655 | 1658 | OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_AITEX_TEST_FINISH_RESULT.getDesc(),trackStageInfo.getAitexTestFinishResult()); |
1656 | 1659 | orderOpinionLogDOList.add(orderOpinionLogDO); |
1657 | 1660 | } |
1661 | + trackStageDO.setAitexTestFinishResult(trackStageInfo.getAitexTestFinishResult()); | |
1658 | 1662 | } |
1659 | 1663 | if (StringUtils.isNotBlank(trackStageInfo.getSgsTestSendTime())) { |
1660 | 1664 | trackStageDO.setSgsTestSendTime(trackStageInfo.getSgsTestSendTime()); |
1661 | 1665 | } |
1662 | 1666 | if (StringUtils.isNotBlank(trackStageInfo.getSgsTestFinishResult())) { |
1663 | - trackStageDO.setSgsTestFinishResult(trackStageInfo.getSgsTestFinishResult()); | |
1664 | - if(!(trackStageInfo.getSgsTestFinishResult().equals(trackStageDO.getSgsTestFinishResult()))){ | |
1667 | + if(!(trackStageInfo.getSgsTestFinishResult().equals(trackStageDO.getSgsTestFinishResult())) && | |
1668 | + StringUtils.isNotBlank(trackStageDO.getSgsTestFinishResult())){ | |
1665 | 1669 | OrderOpinionLogDO orderOpinionLogDO =buildOrderOpinionLogDo(updateVO.getOrderId(),OrderOpinionLogEnum.ORDER_SGS_TEST_FINISH_RESULT.getDesc(),trackStageInfo.getSgsTestFinishResult()); |
1666 | 1670 | orderOpinionLogDOList.add(orderOpinionLogDO); |
1667 | 1671 | } |
1672 | + trackStageDO.setSgsTestFinishResult(trackStageInfo.getSgsTestFinishResult()); | |
1668 | 1673 | } |
1669 | 1674 | if (StringUtils.isNotBlank(trackStageInfo.getBarcodeStickerArrivalTime())) { |
1670 | 1675 | trackStageDO.setBarcodeStickerArrivalTime(trackStageInfo.getBarcodeStickerArrivalTime()); |
... | ... | @@ -1753,13 +1758,20 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1753 | 1758 | .eq(AdminUserDO::getUserName, orderBaseInfoDO.getProductionDepartment())); |
1754 | 1759 | OrderEventJobVO orderEventJobVO = new OrderEventJobVO(); |
1755 | 1760 | orderEventJobVO.setInspectionStageInfo(inspectionStageInfo); |
1761 | + OrderBaseInfoVO orderBaseInfoVo = BeanUtil.copyProperties(orderBaseInfoDo, OrderBaseInfoVO.class); | |
1762 | + orderEventJobVO.setBaseInfo(orderBaseInfoVo); | |
1763 | + List<String> emails = Arrays.asList(ProductionDepartmentUserDO.getEmail().split( "[,,]+")) | |
1764 | + .stream().map(String::trim) | |
1765 | + .collect(Collectors.toList()); | |
1756 | 1766 | //一旦修改完质检信息就自动发送邮件对应的生产科。多次编辑保存多次发送。 |
1757 | 1767 | if (StringUtils.isNotBlank(inspectionStageInfo.getEndCheckApplyTime())) { |
1758 | 1768 | //尾期验货报告。 |
1759 | - emailSendUtils.sendEmail(EmailTemplateEnum.END_CHECK_REPORT_TEMPLATE, ProductionDepartmentUserDO.getEmail(), orderEventJobVO); | |
1769 | + emailSendUtils.sendEmail(EmailTemplateEnum.END_CHECK_REPORT_TEMPLATE, emails, orderEventJobVO); | |
1770 | + }else if(StringUtils.isNotBlank(inspectionStageInfo.getMidCheckApplyTime())){ | |
1771 | + //中期验货报告。 | |
1772 | + emailSendUtils.sendEmail(EmailTemplateEnum.MID_CHECK_REPORT_TEMPLATE, emails, orderEventJobVO); | |
1760 | 1773 | } |
1761 | - //中期验货报告。 | |
1762 | - emailSendUtils.sendEmail(EmailTemplateEnum.MID_CHECK_REPORT_TEMPLATE, ProductionDepartmentUserDO.getEmail(), orderEventJobVO); | |
1774 | + | |
1763 | 1775 | } else { |
1764 | 1776 | inspectionStageDO = new OrderInspectionStageDO(); |
1765 | 1777 | BeanUtils.copyProperties(updateVO.getInspectionStageInfo(), inspectionStageDO); | ... | ... |
src/main/java/com/order/erp/service/order/impl/OrderOpinionLogServiceImpl.java
... | ... | @@ -6,6 +6,7 @@ import com.order.erp.common.constant.Constant; |
6 | 6 | import com.order.erp.common.constant.ServerResult; |
7 | 7 | import com.order.erp.domain.dto.BaseDO; |
8 | 8 | import com.order.erp.domain.dto.order.OrderOpinionLogDO; |
9 | +import com.order.erp.domain.vo.order.OrderOpinionLogVO; | |
9 | 10 | import com.order.erp.mapper.order.OrderOpinionLogMapper; |
10 | 11 | import com.order.erp.service.order.OrderOpinionLogService; |
11 | 12 | import lombok.extern.slf4j.Slf4j; |
... | ... | @@ -23,13 +24,15 @@ import java.util.Objects; |
23 | 24 | @Service |
24 | 25 | public class OrderOpinionLogServiceImpl extends ServiceImpl<OrderOpinionLogMapper, OrderOpinionLogDO> implements OrderOpinionLogService { |
25 | 26 | @Override |
26 | - public ServerResult queryById(OrderOpinionLogDO orderOpinionLogDO) { | |
27 | - if (Objects.isNull(orderOpinionLogDO.getId())) { | |
28 | - return ServerResult.fail("id 不能为空"); | |
27 | + public ServerResult queryById(OrderOpinionLogVO orderOpinionLogVo) { | |
28 | + log.info("orderId"+orderOpinionLogVo.getOrderId()); | |
29 | + System.out.println(orderOpinionLogVo); | |
30 | + if (Objects.isNull(orderOpinionLogVo.getOrderId())) { | |
31 | + return ServerResult.fail("OrderId 不能为空"); | |
29 | 32 | } |
30 | 33 | List<OrderOpinionLogDO> orderOpinionLogDOList = list(new LambdaQueryWrapper<OrderOpinionLogDO>() |
31 | 34 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
32 | - .eq(OrderOpinionLogDO::getOrderId, orderOpinionLogDO.getOrderId()) | |
35 | + .eq(OrderOpinionLogDO::getOrderId, orderOpinionLogVo.getOrderId()) | |
33 | 36 | .orderByDesc(OrderOpinionLogDO::getId)); |
34 | 37 | return ServerResult.success(orderOpinionLogDOList); |
35 | 38 | } | ... | ... |