tanzhongran hace 4 años
padre
commit
fd47c55493

+ 3 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/FactoryController.java

@@ -111,10 +111,10 @@ public class FactoryController {
     }
 
     @ApiOperation("供应商下拉框(包材厂,二级包材厂,啤酒厂)")
-    @PostMapping("listFactorySelectRes")
-    public BaseResponse<ListFactorySelectRes> listFactorySelectRes(@RequestBody @Validated ListFactorySelectReq req) {
+    @PostMapping("listFactorySelect")
+    public BaseResponse<ListFactorySelectRes> listFactorySelect(@RequestBody @Validated ListFactorySelectReq req) {
         //包材厂下拉框
-        ListFactorySelectRes result = factoryService.listFactorySelectRes(req);
+        ListFactorySelectRes result = factoryService.listFactorySelect(req);
         //包装出参
         return BaseResponse.create(result);
     }

+ 14 - 4
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrPackageMapper.java

@@ -1,10 +1,7 @@
 package com.abi.qms.platform.dao.mapper;
 
 import com.abi.qms.platform.dao.entity.QrPackage;
-import com.abi.qms.platform.dao.vo.result.QrPackageVO;
-import com.abi.qms.platform.dao.vo.result.QrPackageWxVO;
-import com.abi.qms.platform.dao.vo.result.QrSingleCheckVO;
-import com.abi.qms.platform.dao.vo.result.WxQrPackageDetailVO;
+import com.abi.qms.platform.dao.vo.result.*;
 import com.abi.qms.platform.dto.req.ListQrPackageReq;
 import com.abi.qms.platform.dto.req.ListQrPackageWxReq;
 import com.abi.qms.platform.dto.req.WxQrPackageDetailReq;
@@ -32,6 +29,19 @@ public interface QrPackageMapper extends BaseMapper<QrPackage> {
      */
     QrPackageVO selectQrPackageDetailById(Long id);
 
+    /**
+     * 查询码包下载列表
+     * @param qrPackageId
+     * @return
+     */
+    List<QrPackageDownloadRecordVO> listQrPackageDownloadRecord(@Param("qrPackageId") Long qrPackageId);
+
+    /**
+     * 查询码包批次
+     * @param qrPackageId
+     * @return
+     */
+    List<QrPackageBatchVO> listQrBatch(@Param("qrPackageId") Long qrPackageId);
 
     /**
      * 单码查询详细信息

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

@@ -3,6 +3,7 @@ package com.abi.qms.platform.dao.vo.result;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -73,9 +74,6 @@ public class QrPackageVO implements Serializable {
     @ApiModelProperty("码数量")
     private Long qrNumber;
 
-    @ApiModelProperty("SAP采购数量")
-    private Long purchaseCount;
-
     @ApiModelProperty("码类型")
     private Integer qrType;
 
@@ -119,4 +117,13 @@ public class QrPackageVO implements Serializable {
     @ApiModelProperty(value = "是否作废 0-未作废 1-已作废")
     private Integer invalid;
 
+    @ApiModelProperty(value = "二级包材厂id")
+    private Long factoryCoverLevelTwoId;
+
+    @ApiModelProperty(value = "是否一级包材厂")
+    private Integer isFirstFactory;
+
+    @ApiModelProperty("SAP采购数量")
+    private Long purchaseCount;
+
 }

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

@@ -93,6 +93,15 @@ public class GetQrPackageDetailRes implements Serializable {
 	@ApiModelProperty("是否已下载")
 	private Integer isDownload;
 
+	@ApiModelProperty(value = "二级包材厂id")
+	private Long factoryCoverLevelTwoId;
+
+	@ApiModelProperty(value = "是否一级包材厂")
+	private Integer isFirstFactory;
+
+	@ApiModelProperty("SAP采购数量")
+	private Long purchaseCount;
+
 	@ApiModelProperty(value = "创建时间")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private LocalDateTime createTime;
@@ -110,29 +119,6 @@ public class GetQrPackageDetailRes implements Serializable {
 	@ApiModelProperty(value = "修改人id")
 	private Long updateBy;
 
-//	@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;
-
 	@ApiModelProperty(value = "码包下载记录")
 	private List<QrPackageDownloadRecordVO> qrPackageDownloadRecordList;
 

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/FactoryService.java

@@ -54,7 +54,7 @@ public interface FactoryService {
      */
     ListFactoryEnableRes listFactoryEnable();
 
-    ListFactorySelectRes listFactorySelectRes(ListFactorySelectReq req);
+    ListFactorySelectRes listFactorySelect(ListFactorySelectReq req);
 
     /**
      * code+类型查询供应商

+ 3 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java

@@ -299,13 +299,14 @@ public class FactoryServiceImpl implements FactoryService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ListFactorySelectRes listFactorySelectRes(ListFactorySelectReq req) {
+    public ListFactorySelectRes listFactorySelect(ListFactorySelectReq req) {
         if(req.getFactoryTypeList().contains(FactoryTypeEnum.BEER.getCode()) && DataLimitEnum.YES.is(req.getDataLimit())){
             throw new BusinessException("啤酒厂的下拉框不做数据隔离");
         }
         QueryWrapper<BaseFactory> param = new QueryWrapper<>();
         //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
-        if(DataLimitEnum.YES.is(req.getDataLimit())){
+        if(DataLimitEnum.YES.is(req.getDataLimit())
+                &&!TrueFalseEnum.TRUE.is(userUtil.getWholeUser().getIsAbi())){
             param.eq("id", userUtil.getWholeUser().getFactoryId());
         }
         if(req.getFactoryTypeList().contains(FactoryTypeEnum.COVER.getCode()) && Objects.nonNull(req.getIsFirstFactory())){

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

@@ -35,14 +35,7 @@ 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.tablestore.entity.QrCode;
-import com.abi.qms.platform.dao.vo.result.ActivationRecordVO;
-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.QrPackageBatchVO;
-import com.abi.qms.platform.dao.vo.result.QrPackageVO;
-import com.abi.qms.platform.dao.vo.result.QrPackageWxVO;
-import com.abi.qms.platform.dao.vo.result.QrSingleCheckVO;
-import com.abi.qms.platform.dao.vo.result.WxQrPackageDetailVO;
+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;
@@ -251,7 +244,7 @@ public class QrPackageServiceImpl implements QrPackageService {
                 }
                 SaveQrPackageReq.PackageBatchBean batchBean = new SaveQrPackageReq.PackageBatchBean();
                 batchBean.setBatchNumber("000001");
-                batchBean.setBatchQrNumber(req.getQrNumber());
+                batchBean.setBatchQrNumber(batchQrNumber);
                 batchBeanList.add(batchBean);
             }
             req.setPackageBatchBeanList(batchBeanList);
@@ -455,11 +448,11 @@ public class QrPackageServiceImpl implements QrPackageService {
         if (CollectionUtil.isNotEmpty(req.getPackageBatchBeanList())) {
             //同一个码包内,不同批次的批次号不一样
             List<SaveQrPackageReq.PackageBatchBean> packageBatchBeanList = req.getPackageBatchBeanList();
-            //聚合批次号
-            List<String> batchNumberList = packageBatchBeanList.stream().map(SaveQrPackageReq.PackageBatchBean::getBatchNumber).distinct().collect(Collectors.toList());
-            if (batchNumberList.size() < req.getPackageBatchBeanList().size()) {
-                throw new BusinessException("批次号重复,请确认后重试");
-            }
+            //聚合批次号(不用校验重复 by andy)
+//            List<String> batchNumberList = packageBatchBeanList.stream().map(SaveQrPackageReq.PackageBatchBean::getBatchNumber).distinct().collect(Collectors.toList());
+//            if (batchNumberList.size() < req.getPackageBatchBeanList().size()) {
+//                throw new BusinessException("批次号重复,请确认后重试");
+//            }
             //同一个码包内,批次加起来的总数量和码包数量一致
             //计算码包数量总和
             long sum = packageBatchBeanList.stream().mapToLong(SaveQrPackageReq.PackageBatchBean::getBatchQrNumber).sum();
@@ -501,18 +494,19 @@ public class QrPackageServiceImpl implements QrPackageService {
     @Override
     public GetQrPackageDetailRes getQrPackageDetail(GetQrPackageDetailReq req) {
         // 查询码包对象
-        QrPackageVO qrPackage = qrPackageMapper.selectQrPackageDetailById(req.getId());
-        AssertUtil.isNull(qrPackage, "码包不存在");
+        QrPackageVO qrPackageVO = qrPackageMapper.selectQrPackageDetailById(req.getId());
+        AssertUtil.isNull(qrPackageVO, "码包不存在");
 
-        //转化出参
-        GetQrPackageDetailRes res = PojoConverterUtils.copy(qrPackage, GetQrPackageDetailRes.class);
+        // 查询下载列表
+        List<QrPackageDownloadRecordVO> qrPackageDownloadRecordList = qrPackageMapper.listQrPackageDownloadRecord(req.getId());
+        qrPackageVO.setQrPackageDownloadRecordList(qrPackageDownloadRecordList);
 
-//        //查询码包对应活动单条数据
-//        PackageActiveVO packageActive = baseActiveMapper.getPackageActive(qrPackage.getMaterialId());
-//        //存在活动数据
-//        if (ObjectUtils.isNotEmpty(packageActive)) {
-//            getBrandCodeName(res,packageActive);
-//        }
+        // 查询批次列表
+        List<QrPackageBatchVO> qrPackageBatchVOList = qrPackageMapper.listQrBatch(req.getId());
+        qrPackageVO.setQrPackageBatchVOList(qrPackageBatchVOList);
+
+        //转化出参
+        GetQrPackageDetailRes res = PojoConverterUtils.copy(qrPackageVO, GetQrPackageDetailRes.class);
 
         return res;
     }

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

@@ -32,59 +32,6 @@
         <result column="INVALID" property="invalid"/>
     </resultMap>
 
-    <resultMap type="com.abi.qms.platform.dao.vo.result.QrPackageVO" id="QrPackageResult">
-        <result property="id" column="id"/>
-        <result property="materialId" column="material_id"/>
-        <result property="materialCode" column="material_code"/>
-        <result property="factoryCoverId" column="factory_cover_id"/>
-        <result property="factoryBeerId" column="factory_beer_id"/>
-        <result property="standbyRatio" column="standby_ratio"/>
-        <result property="reasonApply" column="reason_apply"/>
-        <result property="boxCodeFormatId" column="box_code_format_id"/>
-        <result property="sapOrderNo" column="sap_order_no"/>
-        <result property="bookingOrder" column="booking_order"/>
-        <result property="qrNumber" column="qr_number"/>
-        <result property="applyStatus" column="apply_status"/>
-        <result property="generateStatus" column="generate_status"/>
-        <result property="downloadPath" column="download_path"/>
-        <result property="isDownload" column="is_download"/>
-        <result property="createTime" column="create_time"/>
-        <result property="createBy" column="create_by"/>
-        <result property="qrType" column="qr_type"/>
-        <result property="updateTime" column="update_time"/>
-        <result property="updateBy" column="update_by"/>
-        <result property="purchaseCount" column="purchase_count"/>
-
-        <!-- 包材厂 -->
-        <result property="factoryCoverName" column="factory_cover_name"/>
-        <!-- 啤酒厂 -->
-        <result property="factoryBeerName" column="factory_beer_name"/>
-        <!-- 二级包材厂 -->
-        <result property="factoryCoverLevelTwoName" column="factory_cover_level_two_name"/>
-
-        <!-- 物料名称 -->
-        <result property="materialName" column="material_name"/>
-        <!-- 码库 -->
-        <result property="qrRepertoryId" column="qr_repertory_id"/>
-        <result property="qrRepertoryName" column="qr_repertory_name"/>
-        <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">
-            <result property="createTime" column="download_time"/>
-            <result property="createByName" column="download_user_name"/>
-        </collection>
-        <!-- 码包批次列表 -->
-        <collection property="qrPackageBatchVOList" javaType="java.util.List"
-                    ofType="com.abi.qms.platform.dao.vo.result.QrPackageBatchVO">
-            <result property="id" column="batch_id"/>
-            <result property="packageId" column="package_id"/>
-            <result property="batchNumber" column="batch_number"/>
-            <result property="batchQrNumber" column="batch_qr_number"/>
-        </collection>
-    </resultMap>
-
     <select id="listQrPackage" resultType="com.abi.qms.platform.dao.vo.result.QrPackageVO">
         SELECT
         qp.id,
@@ -136,7 +83,7 @@
 
     </select>
 
-    <select id="selectQrPackageDetailById" resultMap="QrPackageResult">
+    <select id="selectQrPackageDetailById" resultType="com.abi.qms.platform.dao.vo.result.QrPackageVO">
         SELECT
             qp.id,
             qp.material_id,
@@ -158,36 +105,58 @@
             qp.update_time,
             qp.update_by,
             qp.qr_type,
-            bm.material_name,
+            material.material_name,
             bcf.name as box_code_format_name,
-            bfc.factory_name as factory_cover_name,
-            bfb.factory_name as factory_beer_name,
-            bfc_l2.factory_name as factory_cover_level_two_name,
+            f_cover.factory_name as factory_cover_name,
+            f_cover.is_first_factory,
+            f_beer.factory_name as factory_beer_name,
+            f_cover_l2.factory_name as factory_cover_level_two_name,
+            f_cover_l2.id as factory_cover_level_two_id,
             qr.id AS qr_repertory_id,
             qr.name AS qr_repertory_name,
             qr.type AS qr_repertory_type,
-            qpdr.create_time AS download_time,
-            ui.user_name AS download_user_name,
-            qpb.id as batch_id,
-            qpb.package_id,
-            qpb.batch_number,
-            qpb.batch_qr_number,
             sap_item.purchase_count
         FROM
             qr_package qp
         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 base_material bm ON qp.material_id = bm.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 bfc_l2 ON qp.factory_cover_level_two_id = bfc_l2.id and bfc_l2.factory_type=3
-        LEFT JOIN qr_package_sap_order_item sap_item on sap_item.sap_order_no=qp.sap_order_no and sap_item.sap_material_id=bm.material_code and sap_item.is_delete=0
-        LEFT JOIN qr_package_download_record qpdr ON qpdr.qr_package_id = qp.id
-        LEFT JOIN qr_package_batch qpb ON qpb.package_id = qp.id
-        LEFT JOIN user_info ui ON ui.id = qpdr.create_by
+        LEFT JOIN base_material material ON qp.material_id = material.id
+        LEFT JOIN base_factory f_cover ON qp.factory_cover_id = f_cover.id
+        LEFT JOIN base_factory f_beer ON qp.factory_beer_id = f_beer.id
+        LEFT JOIN base_factory f_cover_l2 ON qp.factory_cover_level_two_id = f_cover_l2.id and f_cover_l2.factory_type=3
+        LEFT JOIN qr_package_sap_order_item sap_item on sap_item.sap_order_no=qp.sap_order_no and sap_item.sap_material_id=material.material_code and sap_item.is_delete=0
+
         WHERE qp.id = #{id}
+
     </select>
 
+    <select id="listQrPackageDownloadRecord" resultType="com.abi.qms.platform.dao.vo.result.QrPackageDownloadRecordVO">
+        select
+            d.create_time,
+            ui.user_name AS create_by_name
+
+        FROM qr_package_download_record d
+        LEFT JOIN user_info ui ON ui.id = d.create_by
+
+        WHERE
+            d.qr_package_id = #{qrPackageId}
+            and is_delete = 0
+    </select>
+
+    <select id="listQrBatch" resultType="com.abi.qms.platform.dao.vo.result.QrPackageBatchVO">
+        SELECT
+            batch.id,
+            batch.package_id,
+            batch.batch_number,
+            batch.batch_qr_number
+        FROM
+            qr_package_batch batch
+        WHERE
+            batch.package_id = #{qrPackageId}
+            and is_delete = 0
+    </select>
+
+
     <select id="getQrSingleCheckDetailById" resultType="com.abi.qms.platform.dao.vo.result.QrSingleCheckVO">
         SELECT
         qp.id,