Commit 1bd2ff0674b501b531518bc13cb472f9ddb38510

Authored by 谢茂盛
2 parents 1e436f60 98968e78

Merge remote-tracking branch 'origin/ch' into test

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
... ... @@ -37,7 +37,7 @@ public class OrderTrackStageDO extends BaseDO implements Serializable {
37 37 * pp样品确认意见
38 38 */
39 39 private String ppConfirmResult;
40   - /**tring
  40 + /**
41 41 * pp样品确认时间
42 42 * */
43 43 private String ppConfirmTime;
... ...
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&lt;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&lt;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&lt;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&lt;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&lt;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&lt;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 }
... ...