Browse Source

查看码包详情

tanzhongran 3 years ago
parent
commit
2369b06c6b

+ 0 - 25
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrPackageController.java

@@ -118,29 +118,4 @@ public class QrPackageController {
         return BaseResponse.create(result);
     }
 
-
-//    @Autowired
-//    private TableStorePlusUtils tableStorePlusUtils;
-//
-//    @ApiOperation("测试批量")
-//    @GetMapping("/testBatch")
-//    @PassToken
-//    public void testBatch() {
-//        List<TableStoreEntity> qrCodeList = new ArrayList<>();
-//        for(int i=0;i<20000;i++){
-//            QrCode qrCode = new QrCode();
-//            qrCode.setCode(System.currentTimeMillis()+"-"+i);
-//            qrCode.setPackageId(0L);
-//            qrCode.setBatchNumberId(0L);
-//            qrCode.setCreateTime(LocalDateTime.now());
-//            qrCode.setCodeIndex(0L);
-//            qrCode.setQrRepertoryColumnId(0L);
-//            qrCode.setInvalid(0);
-//            qrCodeList.add(qrCode);
-//        }
-//
-//        tableStorePlusUtils.putRow(qrCodeList);
-//
-//    }
-
 }

+ 3 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrPackageVO.java

@@ -86,6 +86,9 @@ public class QrPackageVO implements Serializable {
     @ApiModelProperty(value = "申请原因")
     private String reasonApply;
 
+    @ApiModelProperty(value = "申请原因在审核页面的描述(该SAP订单号和物料已申请码包XXXXX,码数量XXXXX)")
+    private String reasonDescForAudit;
+
     @ApiModelProperty("下载路径")
     private String downloadPath;
 

+ 3 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetQrPackageDetailRes.java

@@ -87,6 +87,9 @@ public class GetQrPackageDetailRes implements Serializable {
 	@ApiModelProperty(value = "申请原因")
 	private String reasonApply;
 
+	@ApiModelProperty(value = "申请原因在审核页面的描述(该SAP订单号和物料已申请码包XXXXX,码数量XXXXX)")
+	private String reasonDescForAudit;
+
 	@ApiModelProperty("下载路径")
 	private String downloadPath;
 

+ 46 - 62
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java

@@ -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;
+    }
+
     /**
      * 活动详情封装出参,显示品牌名称
      *