v_KaixiangGuo 3 роки тому
батько
коміт
9c92cb2395

+ 20 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/PackageActiveVO.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.time.LocalDateTime;
 
 
 /**
 /**
  * @author KaixiangGuo
  * @author KaixiangGuo
@@ -15,8 +16,11 @@ import java.io.Serializable;
 @ApiModel
 @ApiModel
 public class PackageActiveVO implements Serializable {
 public class PackageActiveVO implements Serializable {
 
 
-    @ApiModelProperty("码包id")
-    private Long packageId;
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty(value = "活动code(即页面上的手输的活动id)")
+    private String activeCode;
 
 
     @ApiModelProperty("活动名称")
     @ApiModelProperty("活动名称")
     private String activeName;
     private String activeName;
@@ -24,4 +28,18 @@ public class PackageActiveVO implements Serializable {
     @ApiModelProperty("活动域名")
     @ApiModelProperty("活动域名")
     private String activeUrl;
     private String activeUrl;
 
 
+    @ApiModelProperty(value = "活动类型 1-utc 2-bof 3-品质信息")
+    private Integer activeType;
+
+    @ApiModelProperty(value = "活动开始日期")
+    private LocalDateTime beginTime;
+
+    @ApiModelProperty(value = "活动结束日期")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty(value = "品牌code")
+    private String brandCode;
+
+
+
 }
 }

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

@@ -32,7 +32,7 @@ public class QrPackageVO implements Serializable {
     private Long factoryCoverId;
     private Long factoryCoverId;
 
 
     @ApiModelProperty("包材厂名称")
     @ApiModelProperty("包材厂名称")
-    private String factoryCoverName;
+    private String factoryName;
 
 
     @ApiModelProperty(value = "啤酒厂id")
     @ApiModelProperty(value = "啤酒厂id")
     private Long factoryBeerId;
     private Long factoryBeerId;
@@ -40,6 +40,9 @@ public class QrPackageVO implements Serializable {
     @ApiModelProperty("啤酒厂名称")
     @ApiModelProperty("啤酒厂名称")
     private String factoryBeerName;
     private String factoryBeerName;
 
 
+    @ApiModelProperty("SKU名称")
+    private String skuName;
+
     @ApiModelProperty(value = "备用码包")
     @ApiModelProperty(value = "备用码包")
     private String standbyRatio;
     private String standbyRatio;
 
 
@@ -64,6 +67,9 @@ public class QrPackageVO implements Serializable {
     @ApiModelProperty("码数量")
     @ApiModelProperty("码数量")
     private Long qrNumber;
     private Long qrNumber;
 
 
+    @ApiModelProperty("码类型")
+    private Integer qrType;
+
     @ApiModelProperty("申请状态 0-待审核 1-审核通过 2-审核拒绝")
     @ApiModelProperty("申请状态 0-待审核 1-审核通过 2-审核拒绝")
     private Integer applyStatus;
     private Integer applyStatus;
 
 

+ 5 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrPackageReq.java

@@ -23,10 +23,13 @@ public class ListQrPackageReq extends PageReq implements Serializable {
 	@ApiModelProperty("SAP单号")
 	@ApiModelProperty("SAP单号")
 	private String sapOrderNo;
 	private String sapOrderNo;
 
 
-	@ApiModelProperty(value = "物料id")
+	@ApiModelProperty("物料id")
 	private Long materialId;
 	private Long materialId;
 
 
-	@ApiModelProperty(value = "包材厂id")
+	@ApiModelProperty("二维码类型 1-箱码 2-盖码")
+	private Integer qrType;
+
+	@ApiModelProperty("包材厂id")
 	private Long factoryCoverId;
 	private Long factoryCoverId;
 
 
 	@ApiModelProperty("申请状态 0-待审核 1-审核通过 2-审核拒绝")
 	@ApiModelProperty("申请状态 0-待审核 1-审核通过 2-审核拒绝")

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

@@ -42,6 +42,9 @@ public class GetQrPackageDetailRes implements Serializable {
 	@ApiModelProperty("啤酒厂名称")
 	@ApiModelProperty("啤酒厂名称")
 	private String factoryBeerName;
 	private String factoryBeerName;
 
 
+	@ApiModelProperty("SKU名称")
+	private String skuName;
+
 	@ApiModelProperty(value = "备用码包")
 	@ApiModelProperty(value = "备用码包")
 	private String standbyRatio;
 	private String standbyRatio;
 
 
@@ -66,6 +69,9 @@ public class GetQrPackageDetailRes implements Serializable {
 	@ApiModelProperty("码数量")
 	@ApiModelProperty("码数量")
 	private Long qrNumber;
 	private Long qrNumber;
 
 
+	@ApiModelProperty("码类型")
+	private Integer qrType;
+
 	@ApiModelProperty("申请状态 0-待审核 1-审核通过 2-审核拒绝")
 	@ApiModelProperty("申请状态 0-待审核 1-审核通过 2-审核拒绝")
 	private Integer applyStatus;
 	private Integer applyStatus;
 
 
@@ -103,4 +109,27 @@ public class GetQrPackageDetailRes implements Serializable {
 
 
 	@ApiModelProperty(value = "码包批次列表")
 	@ApiModelProperty(value = "码包批次列表")
 	private List<QrPackageBatchVO> qrPackageBatchVOList;
 	private List<QrPackageBatchVO> qrPackageBatchVOList;
+
+	@ApiModelProperty(value = "活动code(即页面上的手输的活动id)")
+	private String activeCode;
+
+	@ApiModelProperty("活动名称")
+	private String activeName;
+
+	@ApiModelProperty("活动域名")
+	private String activeUrl;
+
+	@ApiModelProperty(value = "活动类型 1-utc 2-bof 3-品质信息")
+	private Integer activeType;
+
+	@ApiModelProperty(value = "活动开始日期")
+	@JsonFormat(pattern = "yyyy-MM-dd")
+	private LocalDateTime beginTime;
+
+	@ApiModelProperty(value = "活动结束日期")
+	@JsonFormat(pattern = "yyyy-MM-dd")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "多品牌名称")
+	private String brandNames;
 }
 }

+ 4 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListQrPackageRes.java

@@ -49,7 +49,7 @@ public class ListQrPackageRes extends PageResp implements Serializable {
         private String sapOrderNo;
         private String sapOrderNo;
 
 
         @ApiModelProperty(value = "包材厂id")
         @ApiModelProperty(value = "包材厂id")
-        private Long factoryId;
+        private Long factoryCoverId;
 
 
         @ApiModelProperty("包材厂名称")
         @ApiModelProperty("包材厂名称")
         private String factoryName;
         private String factoryName;
@@ -63,6 +63,9 @@ public class ListQrPackageRes extends PageResp implements Serializable {
         @ApiModelProperty("码数量")
         @ApiModelProperty("码数量")
         private Long qrNumber;
         private Long qrNumber;
 
 
+        @ApiModelProperty("码类型")
+        private Integer qrType;
+
         @ApiModelProperty("已使用码数量")
         @ApiModelProperty("已使用码数量")
         private Long qrNumberUse = 0L;
         private Long qrNumberUse = 0L;
 
 

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

@@ -3,25 +3,14 @@ package com.abi.qms.platform.service.impl;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import com.abi.base.foundation.util.RedisClient;
 import com.abi.base.foundation.util.RedisClient;
 import com.abi.qms.platform.constant.RedisKeysConstant;
 import com.abi.qms.platform.constant.RedisKeysConstant;
-import com.abi.qms.platform.dao.entity.BaseFactory;
-import com.abi.qms.platform.dao.entity.QrPackage;
-import com.abi.qms.platform.dao.entity.QrPackageBatch;
-import com.abi.qms.platform.dao.entity.QrPackageDownloadRecord;
-import com.abi.qms.platform.dao.entity.QrRepertoryColumn;
-import com.abi.qms.platform.dao.entity.UserInfo;
+import com.abi.qms.platform.dao.entity.*;
 import com.abi.qms.platform.dao.enums.FactoryLevelEnum;
 import com.abi.qms.platform.dao.enums.FactoryLevelEnum;
 import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
 import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
 import com.abi.qms.platform.dao.enums.InvalidEnum;
 import com.abi.qms.platform.dao.enums.InvalidEnum;
 import com.abi.qms.platform.dao.enums.QrPackageApplyStatusEnum;
 import com.abi.qms.platform.dao.enums.QrPackageApplyStatusEnum;
 import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
 import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
 import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
 import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
-import com.abi.qms.platform.dao.mapper.BaseActiveMapper;
-import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
-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.QrRepertoryColumnMapper;
+import com.abi.qms.platform.dao.mapper.*;
 import com.abi.qms.platform.dao.tablestore.entity.QrCode;
 import com.abi.qms.platform.dao.tablestore.entity.QrCode;
 import com.abi.qms.platform.dao.vo.result.PackageActiveVO;
 import com.abi.qms.platform.dao.vo.result.PackageActiveVO;
 import com.abi.qms.platform.dao.vo.result.QrBoxMappingVO;
 import com.abi.qms.platform.dao.vo.result.QrBoxMappingVO;
@@ -64,6 +53,7 @@ import com.abi.task.common.utils.PojoConverterUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.collections.CollectionUtils;
 import freemarker.template.Template;
 import freemarker.template.Template;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.ObjectUtils;
@@ -137,6 +127,9 @@ public class QrPackageServiceImpl implements QrPackageService {
     @Autowired
     @Autowired
     private TableStoreUtils tableStoreUtils;
     private TableStoreUtils tableStoreUtils;
 
 
+    @Autowired
+    private BaseBrandMapper baseBrandMapper;
+
     /**
     /**
      * 保存码包
      * 保存码包
      */
      */
@@ -430,7 +423,53 @@ public class QrPackageServiceImpl implements QrPackageService {
         QrPackageVO qrPackage = qrPackageMapper.selectQrPackageDetailById(req.getId());
         QrPackageVO qrPackage = qrPackageMapper.selectQrPackageDetailById(req.getId());
         AssertUtil.isNull(qrPackage, "码包不存在");
         AssertUtil.isNull(qrPackage, "码包不存在");
 
 
-        return PojoConverterUtils.copy(qrPackage, GetQrPackageDetailRes.class);
+        //转化出参
+        GetQrPackageDetailRes res = PojoConverterUtils.copy(qrPackage, GetQrPackageDetailRes.class);
+
+        //查询码包对应活动单条数据
+        PackageActiveVO packageActive = baseActiveMapper.getPackageActive(qrPackage.getId());
+
+        //存在活动数据
+        if (ObjectUtils.isNotEmpty(packageActive)) {
+            getBrandCodeName(res,packageActive);
+        }
+        return res;
+    }
+
+    /**
+     * 活动详情封装出参,显示品牌名称
+     * @param res
+     * @param packageActive
+     */
+    private void getBrandCodeName(GetQrPackageDetailRes res,PackageActiveVO packageActive){
+
+        res.setActiveCode(packageActive.getActiveCode());
+        res.setActiveName(packageActive.getActiveName());
+        res.setActiveUrl(packageActive.getActiveUrl());
+        res.setActiveType(packageActive.getActiveType());
+        res.setBeginTime(packageActive.getBeginTime());
+        res.setEndTime(packageActive.getEndTime());
+        //多品牌名称
+        StringBuffer brandNames = new StringBuffer();
+        //查询品牌一级列表
+        QueryWrapper<BaseBrand> baseBrandQW = new QueryWrapper<>();
+        baseBrandQW.eq("brand_level",1);
+        List<BaseBrand> baseBrands = baseBrandMapper.selectList(baseBrandQW);
+        Map<String, String> brandCodeMap = baseBrands.stream().collect(Collectors.toMap(BaseBrand::getBrandCode, BaseBrand::getBrandName));
+
+        //品牌名称获取
+        String[] brandCodeArray = packageActive.getBrandCode().split(",");
+        for (String brandCode : brandCodeArray) {
+            String codeName = brandCodeMap.get(brandCode);
+            if (StringUtils.isNotBlank(codeName)) {
+                brandNames.append(codeName).append(",");
+            }
+        }
+
+        if (brandNames.length()>0){
+            brandNames.deleteCharAt(brandNames.length()-1);
+            res.setBrandNames(brandNames.toString());
+        }
     }
     }
 
 
     /**
     /**

+ 8 - 3
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BaseActiveMapper.xml

@@ -55,13 +55,18 @@
     <select id="getPackageActive" resultType="com.abi.qms.platform.dao.vo.result.PackageActiveVO">
     <select id="getPackageActive" resultType="com.abi.qms.platform.dao.vo.result.PackageActiveVO">
         SELECT
         SELECT
             ba.id,
             ba.id,
+            ba.active_code,
             ba.active_name,
             ba.active_name,
-            ba.active_url
+            ba.active_url,
+            ba.active_type,
+            ba.begin_time,
+            ba.end_time,
+            ba.brand_code
         FROM
         FROM
             base_active ba
             base_active ba
-            LEFT JOIN base_active_qr_package_mapping bam ON ba.id = bam.active_id
+        LEFT JOIN base_active_qr_package_mapping bam ON ba.id = bam.active_id
         WHERE
         WHERE
-            bam.qr_package_id = #{packageId} limit 1
+        bam.qr_package_id = #{packageId} limit 1
     </select>
     </select>
 
 
 
 

+ 12 - 0
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrPackageMapper.xml

@@ -47,8 +47,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="isDownload" column="is_download"/>
         <result property="isDownload" column="is_download"/>
         <result property="createTime" column="create_time"/>
         <result property="createTime" column="create_time"/>
         <result property="createBy" column="create_by"/>
         <result property="createBy" column="create_by"/>
+        <result property="qrType" column="qr_type"/>
         <result property="updateTime" column="update_time"/>
         <result property="updateTime" column="update_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateBy" column="update_by"/>
+        <!-- SKU名称 -->
+        <result property="skuName" column="sku_name"/>
         <!-- 包材厂 -->
         <!-- 包材厂 -->
         <result property="factoryCoverName" column="factory_cover_name"/>
         <result property="factoryCoverName" column="factory_cover_name"/>
         <!-- 啤酒厂 -->
         <!-- 啤酒厂 -->
@@ -59,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="qrRepertoryId" column="qr_Repertory_id"/>
         <result property="qrRepertoryId" column="qr_Repertory_id"/>
         <result property="qrRepertoryName" column="qr_repertory_name"/>
         <result property="qrRepertoryName" column="qr_repertory_name"/>
         <result property="qrRepertoryType" column="qr_repertory_type"/>
         <result property="qrRepertoryType" column="qr_repertory_type"/>
+        <result property="boxCodeFormatName" column="box_code_format_name"/>
         <!-- 码包下载记录 -->
         <!-- 码包下载记录 -->
         <collection property="qrPackageDownloadRecordList" javaType="java.util.List" ofType="com.abi.qms.platform.dao.vo.result.QrPackageDownloadRecordVO">
         <collection property="qrPackageDownloadRecordList" javaType="java.util.List" ofType="com.abi.qms.platform.dao.vo.result.QrPackageDownloadRecordVO">
             <result property="createTime" column="download_time"/>
             <result property="createTime" column="download_time"/>
@@ -85,6 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             qp.is_download,
             qp.is_download,
             qp.create_time,
             qp.create_time,
             qp.create_by,
             qp.create_by,
+            qp.qr_type,
             bm.material_name,
             bm.material_name,
             bf.factory_name,
             bf.factory_name,
             bcf.name AS box_code_format_name,
             bcf.name AS box_code_format_name,
@@ -104,6 +109,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="param.materialId != null">
             <if test="param.materialId != null">
                 AND qp.material_id = #{param.materialId}
                 AND qp.material_id = #{param.materialId}
             </if>
             </if>
+            <if test="param.qrType != null">
+                AND qp.qr_type = #{param.qrType}
+            </if>
             <if test="param.sapOrderNo != null and param.sapOrderNo != ''">
             <if test="param.sapOrderNo != null and param.sapOrderNo != ''">
                 AND qp.sap_order_no like concat('%',#{param.sapOrderNo},'%')
                 AND qp.sap_order_no like concat('%',#{param.sapOrderNo},'%')
             </if>
             </if>
@@ -135,7 +143,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             qp.create_by,
             qp.create_by,
             qp.update_time,
             qp.update_time,
             qp.update_by,
             qp.update_by,
+            qp.qr_type,
             bm.material_name,
             bm.material_name,
+            bs.sku_name,
+            bcf.name as box_code_format_name,
             bfc.factory_name as factory_cover_name,
             bfc.factory_name as factory_cover_name,
             bfb.factory_name as factory_beer_name,
             bfb.factory_name as factory_beer_name,
             qr.id AS qr_Repertory_id,
             qr.id AS qr_Repertory_id,
@@ -152,6 +163,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN qr_box_code_format bcf ON qp.box_code_format_id = bcf.id
         LEFT JOIN qr_box_code_format bcf ON qp.box_code_format_id = bcf.id
         LEFT JOIN qr_repertory qr ON bcf.qr_repertory_id = qr.id
         LEFT JOIN qr_repertory qr ON bcf.qr_repertory_id = qr.id
         LEFT JOIN base_material bm ON qp.material_id = bm.id
         LEFT JOIN base_material bm ON qp.material_id = bm.id
+        LEFT JOIN base_sku bs on bm.sku_id = bs.id
         LEFT JOIN base_factory bfc ON qp.factory_cover_id = bfc.id
         LEFT JOIN base_factory bfc ON qp.factory_cover_id = bfc.id
         LEFT JOIN base_factory bfb ON qp.factory_beer_id = bfb.id
         LEFT JOIN base_factory bfb ON qp.factory_beer_id = bfb.id
         LEFT JOIN qr_package_download_record qpdr ON qpdr.qr_package_id = qp.id
         LEFT JOIN qr_package_download_record qpdr ON qpdr.qr_package_id = qp.id