|
@@ -3,67 +3,15 @@ package com.abi.qms.platform.service.impl;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.abi.base.foundation.util.RedisClient;
|
|
|
import com.abi.qms.platform.dao.entity.*;
|
|
|
-import com.abi.qms.platform.dao.enums.BoxMappingActiveStatusEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.CodePackageOrderTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.FirstFactoryEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.InvalidEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.MaterialTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.QrPackageApplyStatusEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.QrTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.TrueFalseEnum;
|
|
|
-import com.abi.qms.platform.dao.mapper.BaseActiveMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.BaseBrandMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.BaseMaterialMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrBoxCodeFormatMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrBoxMappingMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrPackageBatchMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrPackageDownloadRecordMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrPackageMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrPackageSapOrderItemMapper;
|
|
|
-import com.abi.qms.platform.dao.mapper.QrRepertoryColumnMapper;
|
|
|
+import com.abi.qms.platform.dao.enums.*;
|
|
|
+import com.abi.qms.platform.dao.mapper.*;
|
|
|
import com.abi.qms.platform.dao.tablestore.entity.QrCode;
|
|
|
import com.abi.qms.platform.dao.vo.result.*;
|
|
|
-import com.abi.qms.platform.dto.req.ActivationRecordReq;
|
|
|
-import com.abi.qms.platform.dto.req.DeleteQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.DownloadQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.GetPackageCodeReq;
|
|
|
-import com.abi.qms.platform.dto.req.GetQrPackageDetailReq;
|
|
|
-import com.abi.qms.platform.dto.req.GetQrSingleCheckDetailCodeReq;
|
|
|
-import com.abi.qms.platform.dto.req.InvalidQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.InvalidQrSingleReq;
|
|
|
-import com.abi.qms.platform.dto.req.ListQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.ListQrPackageWxReq;
|
|
|
-import com.abi.qms.platform.dto.req.PassQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.QrOneBoxCodeMappingReq;
|
|
|
-import com.abi.qms.platform.dto.req.QrOnePackageBatchReq;
|
|
|
-import com.abi.qms.platform.dto.req.RefuseQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.ReplenishActivationReq;
|
|
|
-import com.abi.qms.platform.dto.req.SaveQrPackageReq;
|
|
|
-import com.abi.qms.platform.dto.req.SendMobileMsgReq;
|
|
|
-import com.abi.qms.platform.dto.req.ValidSAPOrderNoAndMaterialReq;
|
|
|
-import com.abi.qms.platform.dto.req.WxQrPackageDetailReq;
|
|
|
-import com.abi.qms.platform.dto.res.ActivationRecordRes;
|
|
|
-import com.abi.qms.platform.dto.res.GetPackageCodeRes;
|
|
|
-import com.abi.qms.platform.dto.res.GetQrPackageDetailRes;
|
|
|
-import com.abi.qms.platform.dto.res.GetQrSingleCheckDetailRes;
|
|
|
-import com.abi.qms.platform.dto.res.ListQrPackageRes;
|
|
|
-import com.abi.qms.platform.dto.res.ListQrPackageWxRes;
|
|
|
-import com.abi.qms.platform.dto.res.ValidSAPOrderNoAndMaterialRes;
|
|
|
-import com.abi.qms.platform.dto.res.WxQrPackageDetailRes;
|
|
|
+import com.abi.qms.platform.dto.req.*;
|
|
|
+import com.abi.qms.platform.dto.res.*;
|
|
|
import com.abi.qms.platform.infrastructure.constant.RedisKey;
|
|
|
import com.abi.qms.platform.infrastructure.mq.GenerateCodeConsumer;
|
|
|
-import com.abi.qms.platform.infrastructure.util.AssertUtil;
|
|
|
-import com.abi.qms.platform.infrastructure.util.FreeMarkerUtils;
|
|
|
-import com.abi.qms.platform.infrastructure.util.OssFileDownloadUtil;
|
|
|
-import com.abi.qms.platform.infrastructure.util.PageUtil;
|
|
|
-import com.abi.qms.platform.infrastructure.util.RandomCodeUtils;
|
|
|
-import com.abi.qms.platform.infrastructure.util.SendmailUtil;
|
|
|
-import com.abi.qms.platform.infrastructure.util.SmsUtil;
|
|
|
-import com.abi.qms.platform.infrastructure.util.UserUtil;
|
|
|
+import com.abi.qms.platform.infrastructure.util.*;
|
|
|
import com.abi.qms.platform.service.FactoryService;
|
|
|
import com.abi.qms.platform.service.MaterialService;
|
|
|
import com.abi.qms.platform.service.QrPackageBookingOrderService;
|
|
@@ -80,6 +28,7 @@ import freemarker.template.Template;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.bouncycastle.util.Pack;
|
|
|
import org.springframework.amqp.core.AmqpTemplate;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -89,11 +38,7 @@ import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.text.MessageFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -495,6 +440,10 @@ public class QrPackageServiceImpl implements QrPackageService {
|
|
|
QrPackageVO qrPackageVO = qrPackageMapper.selectQrPackageDetailById(req.getId());
|
|
|
AssertUtil.isNull(qrPackageVO, "码包不存在");
|
|
|
|
|
|
+ //拼接额外审核原因
|
|
|
+ String reasonDescForAudit = getReasonDescForAudit(qrPackageVO.getReasonApply(), qrPackageVO.getSapOrderNo(), qrPackageVO.getMaterialCode(),qrPackageVO.getId());
|
|
|
+ qrPackageVO.setReasonDescForAudit(reasonDescForAudit);
|
|
|
+
|
|
|
// 查询下载列表
|
|
|
List<QrPackageDownloadRecordVO> qrPackageDownloadRecordList = qrPackageMapper.listQrPackageDownloadRecord(req.getId());
|
|
|
qrPackageVO.setQrPackageDownloadRecordList(qrPackageDownloadRecordList);
|
|
@@ -509,6 +458,41 @@ public class QrPackageServiceImpl implements QrPackageService {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 如果有额外审核原因,则拼接一个备注用于审核时候查看
|
|
|
+ * @param reasonApply
|
|
|
+ * @param sapOrderNo
|
|
|
+ * @param materialCode
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String getReasonDescForAudit(String reasonApply,String sapOrderNo,String materialCode,Long id){
|
|
|
+ //如果没有申请原因,也不用拼接额外的描述
|
|
|
+ if(StringUtils.isBlank(reasonApply) || StringUtils.isBlank(sapOrderNo) || StringUtils.isBlank(materialCode)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询是哪些码包使用了这个sap订单号和物料
|
|
|
+ QueryWrapper<QrPackage> qrPackageQw = new QueryWrapper<>();
|
|
|
+ qrPackageQw.eq("sap_order_no",sapOrderNo);
|
|
|
+ qrPackageQw.eq("material_code",materialCode);
|
|
|
+ qrPackageQw.ne("id",id);
|
|
|
+ qrPackageQw.eq("is_delete",0);
|
|
|
+ List<QrPackage> qrPackageList = qrPackageMapper.selectList(qrPackageQw);
|
|
|
+ if(CollectionUtil.isEmpty(qrPackageList)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //聚合拼接描述
|
|
|
+ long totalQrNumber = qrPackageList.stream().mapToLong(QrPackage::getQrNumber).sum();
|
|
|
+ String packageIds = qrPackageList.stream().map(qrPackage -> String.valueOf(qrPackage.getId())).collect(Collectors.joining(","));
|
|
|
+
|
|
|
+ String desc = String.format("该SAP订单号和物料已申请码包%s,码数量%d", packageIds, totalQrNumber);
|
|
|
+ log.info("getReasonDescForAudit result => "+desc);
|
|
|
+
|
|
|
+ return desc;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 活动详情封装出参,显示品牌名称
|
|
|
*
|