Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

wxf 2 лет назад
Родитель
Сommit
d462dfc924
29 измененных файлов с 703 добавлено и 5 удалено
  1. 14 0
      hx-mail/src/main/java/com/fjhx/mail/controller/message/MailController.java
  2. 92 0
      hx-mail/src/main/java/com/fjhx/mail/entity/message/dto/SendDto.java
  3. 6 0
      hx-mail/src/main/java/com/fjhx/mail/service/message/InfoService.java
  4. 57 0
      hx-mail/src/main/java/com/fjhx/mail/service/message/impl/InfoServiceImpl.java
  5. 0 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/a-json/QualityInfoApi.json
  6. 19 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/quality/QualityDetailsController.java
  7. 68 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/quality/QualityInfoController.java
  8. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityDetailsDto.java
  9. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityDetailsSelectDto.java
  10. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoDto.java
  11. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoSelectDto.java
  12. 48 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/po/QualityDetails.java
  13. 67 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/po/QualityInfo.java
  14. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityDetailsVo.java
  15. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityInfoVo.java
  16. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/quality/QualityDetailsMapper.java
  17. 26 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/quality/QualityInfoMapper.java
  18. 1 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java
  19. 17 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/QualityDetailsService.java
  20. 46 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/QualityInfoService.java
  21. 21 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityDetailsServiceImpl.java
  22. 57 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityInfoServiceImpl.java
  23. 4 0
      hx-victoriatourist/src/main/resources/mapper/quality/QualityDetailsMapper.xml
  24. 24 0
      hx-victoriatourist/src/main/resources/mapper/quality/QualityInfoMapper.xml
  25. 5 0
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockWaitDetailsVo.java
  26. 6 0
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java
  27. 5 1
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java
  28. 0 4
      hx-wms/src/main/resources/mapper/stock/StockMapper.xml
  29. 1 0
      hx-wms/src/main/resources/mapper/stock/StockWaitDetailsMapper.xml

+ 14 - 0
hx-mail/src/main/java/com/fjhx/mail/controller/message/MailController.java

@@ -4,9 +4,12 @@ import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.fjhx.mail.config.MailServiceConfig;
+import com.fjhx.mail.entity.message.dto.SendDto;
+import com.fjhx.mail.service.message.InfoService;
 import com.ruoyi.common.annotation.NonInterception;
 import com.ruoyi.common.utils.SecurityUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 @Slf4j
@@ -14,6 +17,9 @@ import org.springframework.web.bind.annotation.*;
 @RequestMapping("/mailService")
 public class MailController {
 
+    @Autowired
+    private InfoService infoService;
+
     /**
      * 获取用户邮箱列表
      */
@@ -44,4 +50,12 @@ public class MailController {
         return JSON.parseObject(post);
     }
 
+
+    @NonInterception
+    @PostMapping("/sendMail")
+    public Object sendMail(@RequestBody SendDto dto) {
+        String result = infoService.sendMail(dto);
+        return JSON.parseObject(result);
+    }
+
 }

+ 92 - 0
hx-mail/src/main/java/com/fjhx/mail/entity/message/dto/SendDto.java

@@ -0,0 +1,92 @@
+package com.fjhx.mail.entity.message.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Getter
+@Setter
+public class SendDto {
+
+    /**
+     * 1个人邮箱 2企业邮箱
+     */
+    @NotNull(message = "类型不能未空")
+    private Integer type;
+
+    /**
+     * 邮箱id
+     */
+    @NotNull(message = "邮箱id不能为空")
+    private Long mailboxId;
+
+    /**
+     * 发送
+     */
+    @NotEmpty(message = "发送人不能为空")
+    private List<Address> to;
+
+    /**
+     * 抄送
+     */
+    private List<Address> cc;
+
+    /**
+     * 密送
+     */
+    private List<Address> bcc;
+
+    /**
+     * 回复
+     */
+    private List<Address> replyTo;
+
+    /**
+     * 标题
+     */
+    @NotBlank(message = "标题不能为空")
+    private String subject;
+
+    /**
+     * 正文
+     */
+    private String content;
+
+    /**
+     * 附件
+     */
+    @Valid
+    private List<FileInfo> fileList;
+
+    @Getter
+    @Setter
+    public static class Address {
+        @NotBlank(message = "发件地址不能为空")
+        private String address;
+        private String personal;
+    }
+
+    @Getter
+    @Setter
+    public static class FileInfo {
+
+        /**
+         * 文件名称
+         */
+        @NotBlank(message = "文件名称不能为空")
+        private String fileName;
+
+        /**
+         * 文件路径
+         */
+        @NotBlank(message = "文件路径不能为空")
+        private String fileUrl;
+
+    }
+
+}

+ 6 - 0
hx-mail/src/main/java/com/fjhx/mail/service/message/InfoService.java

@@ -1,5 +1,6 @@
 package com.fjhx.mail.service.message;
 
+import com.fjhx.mail.entity.message.dto.SendDto;
 import com.ruoyi.common.core.domain.entity.SysUser;
 
 import java.util.List;
@@ -11,4 +12,9 @@ public interface InfoService {
      */
     List<SysUser> getUserList();
 
+    /**
+     * 发送邮件
+     */
+    String sendMail(SendDto dto);
+
 }

+ 57 - 0
hx-mail/src/main/java/com/fjhx/mail/service/message/impl/InfoServiceImpl.java

@@ -1,12 +1,23 @@
 package com.fjhx.mail.service.message.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.mail.config.MailServiceConfig;
+import com.fjhx.mail.entity.enterprise.po.EnterpriseDomain;
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
+import com.fjhx.mail.entity.message.dto.SendDto;
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import com.fjhx.mail.service.enterprise.EnterpriseDomainService;
+import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
 import com.fjhx.mail.service.message.InfoService;
+import com.fjhx.mail.service.personal.PersonalMailboxService;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysUserService;
@@ -25,6 +36,15 @@ public class InfoServiceImpl implements InfoService {
     @Autowired
     private ISysUserService sysUserService;
 
+    @Autowired
+    private PersonalMailboxService personalMailboxService;
+
+    @Autowired
+    private EnterpriseMailboxService enterpriseMailboxService;
+
+    @Autowired
+    private EnterpriseDomainService enterpriseDomainService;
+
     @Override
     public List<SysUser> getUserList() {
 
@@ -59,6 +79,43 @@ public class InfoServiceImpl implements InfoService {
         return sysUserList;
     }
 
+    @Override
+    public String sendMail(SendDto dto) {
+        Integer type = dto.getType();
+        Long mailboxId = dto.getMailboxId();
+
+        StringJoiner urlJoiner = new StringJoiner("/");
+        urlJoiner.add("sendMail");
+
+        if (type == 1) {
+            PersonalMailbox personalMailbox = personalMailboxService.getById(mailboxId);
+            if (personalMailbox == null) {
+                throw new ServiceException("未找到个人邮箱");
+            }
+
+            urlJoiner.add(personalMailbox.getSendHost());
+            urlJoiner.add(personalMailbox.getMailUser());
+            urlJoiner.add(personalMailbox.getMailPassword());
+
+        } else {
+
+            EnterpriseMailbox enterpriseMailbox = enterpriseMailboxService.getById(mailboxId);
+            if (enterpriseMailbox == null) {
+                throw new ServiceException("未找到企业邮箱");
+            }
+            EnterpriseDomain enterpriseDomain = enterpriseDomainService.getById(enterpriseMailbox.getDomainId());
+            if (enterpriseDomain == null) {
+                throw new ServiceException("未找到企业邮箱配置");
+            }
+            urlJoiner.add(enterpriseDomain.getSendHost());
+            urlJoiner.add(enterpriseMailbox.getMailUserPrefix() + "@" + enterpriseDomain.getDomainName());
+            urlJoiner.add(enterpriseMailbox.getMailPassword());
+
+        }
+
+        return HttpUtil.post(MailServiceConfig.urlPrefix + urlJoiner, JSON.toJSONString(dto));
+    }
+
     private void subordinateDeptId(Long deptId, Set<Long> deptSet, Map<Long, List<SysDept>> parentDeptMap) {
         deptSet.add(deptId);
 

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/a-json/QualityInfoApi.json


+ 19 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/quality/QualityDetailsController.java

@@ -0,0 +1,19 @@
+package com.fjhx.victoriatourist.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * <p>
+ * 质检明细 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@RestController
+@RequestMapping("/qualityDetails")
+public class QualityDetailsController {
+
+
+}

+ 68 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/quality/QualityInfoController.java

@@ -0,0 +1,68 @@
+package com.fjhx.victoriatourist.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.victoriatourist.service.quality.QualityInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@RestController
+@RequestMapping("/qualityInfo")
+public class QualityInfoController {
+
+    @Autowired
+    private QualityInfoService qualityInfoService;
+
+    /**
+     * 质检分页
+     */
+    @PostMapping("/page")
+    public Page<QualityInfoVo> page(@RequestBody QualityInfoSelectDto dto) {
+        return qualityInfoService.getPage(dto);
+    }
+
+    /**
+     * 质检明细
+     */
+    @PostMapping("/detail")
+    public QualityInfoVo detail(@RequestBody BaseSelectDto dto) {
+        return qualityInfoService.detail(dto.getId());
+    }
+
+    /**
+     * 质检新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody QualityInfoDto qualityInfoDto) {
+        qualityInfoService.add(qualityInfoDto);
+    }
+
+    /**
+     * 质检编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody QualityInfoDto qualityInfoDto) {
+        qualityInfoService.edit(qualityInfoDto);
+    }
+
+    /**
+     * 质检删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        qualityInfoService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityDetailsDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.entity.quality.dto;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检明细新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class QualityDetailsDto extends QualityDetails {
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityDetailsSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检明细列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class QualityDetailsSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.entity.quality.dto;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class QualityInfoDto extends QualityInfo {
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class QualityInfoSelectDto extends BaseSelectDto {
+
+}

+ 48 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/po/QualityDetails.java

@@ -0,0 +1,48 @@
+package com.fjhx.victoriatourist.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检明细
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+@TableName("quality_details")
+public class QualityDetails extends BasePo {
+
+    /**
+     * 质检id
+     */
+    private Long qualityInfoId;
+
+    /**
+     * 产品id
+     */
+    private Long productInfoId;
+
+    /**
+     * 需要质检数量
+     */
+    private BigDecimal totalQuantity;
+
+    /**
+     * 合格数量
+     */
+    private BigDecimal qualifiedQuantity;
+
+    /**
+     * 不合格数量
+     */
+    private BigDecimal disqualificationQuantity;
+
+}

+ 67 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/po/QualityInfo.java

@@ -0,0 +1,67 @@
+package com.fjhx.victoriatourist.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+@TableName("quality_info")
+public class QualityInfo extends BasePo {
+
+    /**
+     * 1采购到货质检 2京东退货质检
+     */
+    private Integer type;
+
+    /**
+     * 质检单号
+     */
+    private String code;
+
+    /**
+     * 业务id(采购待入库id)
+     */
+    private Long bussinessId;
+
+    /**
+     * 业务编码
+     */
+    private String bussinessCode;
+
+    /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
+     * 采购单id
+     */
+    private Long purchaseId;
+
+    /**
+     * 采购单号
+     */
+    private String purchaseCode;
+
+    /**
+     * 状态 1未质检 2部分质检 3已质检
+     */
+    private Integer status;
+
+    /**
+     * 质检结果 1合格 0不合格
+     */
+    private Integer resultType;
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityDetailsVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.entity.quality.vo;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检明细列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class QualityDetailsVo extends QualityDetails {
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityInfoVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.entity.quality.vo;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class QualityInfoVo extends QualityInfo {
+
+}

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/quality/QualityDetailsMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.mapper.quality;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * <p>
+ * 质检明细 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface QualityDetailsMapper extends BaseMapper<QualityDetails> {
+
+}

+ 26 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/quality/QualityInfoMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.victoriatourist.mapper.quality;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface QualityInfoMapper extends BaseMapper<QualityInfo> {
+
+    /**
+     * 质检分页
+     */
+    Page<QualityInfoVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<QualityInfo> wrapper);
+
+}

+ 1 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -274,6 +274,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         //创建京东订单调仓
         StockTransfer stockTransfer = new StockTransfer();
         stockTransfer.setType(2);//京东订单出库
+        stockTransfer.setCode(CodeEnum.STOCK_TRANSFER.getCode());
         stockTransfer.setBusinessId(jdOrder.getId());
         stockTransfer.setBusinessCode(jdOrder.getCode());
         stockTransfer.setInWarehouseId(jdOrderDto.getInWarehouseId());

+ 17 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/QualityDetailsService.java

@@ -0,0 +1,17 @@
+package com.fjhx.victoriatourist.service.quality;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 质检明细 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface QualityDetailsService extends BaseService<QualityDetails> {
+
+}

+ 46 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/QualityInfoService.java

@@ -0,0 +1,46 @@
+package com.fjhx.victoriatourist.service.quality;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
+
+
+/**
+ * <p>
+ * 质检 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface QualityInfoService extends BaseService<QualityInfo> {
+
+    /**
+     * 质检分页
+     */
+    Page<QualityInfoVo> getPage(QualityInfoSelectDto dto);
+
+    /**
+     * 质检明细
+     */
+    QualityInfoVo detail(Long id);
+
+    /**
+     * 质检新增
+     */
+    void add(QualityInfoDto qualityInfoDto);
+
+    /**
+     * 质检编辑
+     */
+    void edit(QualityInfoDto qualityInfoDto);
+
+    /**
+     * 质检删除
+     */
+    void delete(Long id);
+
+}

+ 21 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityDetailsServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.victoriatourist.service.quality.impl;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
+import com.fjhx.victoriatourist.mapper.quality.QualityDetailsMapper;
+import com.fjhx.victoriatourist.service.quality.QualityDetailsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 质检明细 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Service
+public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper, QualityDetails> implements QualityDetailsService {
+
+}

+ 57 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityInfoServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.victoriatourist.service.quality.impl;
+
+import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import com.fjhx.victoriatourist.mapper.quality.QualityInfoMapper;
+import com.fjhx.victoriatourist.service.quality.QualityInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Service
+public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, QualityInfo> implements QualityInfoService {
+
+    @Override
+    public Page<QualityInfoVo> getPage(QualityInfoSelectDto dto) {
+        IWrapper<QualityInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("qi", QualityInfo::getId);
+        Page<QualityInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public QualityInfoVo detail(Long id) {
+        QualityInfo QualityInfo = this.getById(id);
+        QualityInfoVo result = BeanUtil.toBean(QualityInfo, QualityInfoVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(QualityInfoDto qualityInfoDto) {
+        this.save(qualityInfoDto);
+    }
+
+    @Override
+    public void edit(QualityInfoDto qualityInfoDto) {
+        this.updateById(qualityInfoDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 4 - 0
hx-victoriatourist/src/main/resources/mapper/quality/QualityDetailsMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.victoriatourist.mapper.quality.QualityDetailsMapper">
+</mapper>

+ 24 - 0
hx-victoriatourist/src/main/resources/mapper/quality/QualityInfoMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.victoriatourist.mapper.quality.QualityInfoMapper">
+    <select id="getPage" resultType="com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo">
+        select
+            qi.id,
+            qi.type,
+            qi.code,
+            qi.bussiness_id,
+            qi.bussiness_code,
+            qi.warehouse_id,
+            qi.purchase_id,
+            qi.purchase_code,
+            qi.status,
+            qi.result_type,
+            qi.create_user,
+            qi.create_time,
+            qi.update_user,
+            qi.update_time
+        from quality_info qi
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockWaitDetailsVo.java

@@ -50,6 +50,11 @@ public class StockWaitDetailsVo extends StockWaitDetails {
     private String businessCode;
 
     /**
+     * 业务id
+     */
+    private Long businessId;
+
+    /**
      * 业务类型
      */
     private Integer businessType;

+ 6 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -206,16 +206,22 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         wrapper.eq(Stock::getWarehouseId, dto.getId());
         wrapper.like(Stock::getQuantity, dto.getKeyword());
         wrapper.eq("pi.definition", dto.getDefinition());
+        wrapper.isNotNull("ps.id");
+        wrapper.groupBy("ps.id");
         wrapper.orderByDesc("s", Stock::getId);
         Page<StockVo> page = this.baseMapper.pageByProductSpu(dto.getPage(), wrapper);
         //赋值关联产品数
         List<StockVo> records = page.getRecords();
         List<Long> spuids = records.stream().map(StockVo::getProductSpuId).collect(Collectors.toList());
+        if(ObjectUtil.isEmpty(spuids)){
+            return page;
+        }
         List<ProductInfo> productInfoList = productInfoService.list(q -> q.in(ProductInfo::getProductSpuId, spuids));
         Map<Long, List<ProductInfo>> productInfoMap = productInfoList.stream().collect(Collectors.groupingBy(ProductInfo::getProductSpuId));
         for (StockVo record : records) {
             List<ProductInfo> productInfoList1 = productInfoMap.get(record.getProductSpuId());
             record.setLinkProductQuantity(BigDecimal.valueOf(productInfoList1.size()));
+            record.setCombinationQuantity(0l);
         }
         //赋值可组合数量
         List<Long> linkProductIds = new ArrayList<>();

+ 5 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -21,6 +21,7 @@ import com.fjhx.wms.mapper.stock.StockWaitMapper;
 import com.fjhx.wms.service.stock.*;
 import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.fjhx.wms.utils.CodeEnum;
+import com.mysql.cj.QueryInfo;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
@@ -269,7 +270,10 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         //保存出入库明细
         stockJournalDetailsService.saveBatch(stockJournalDetailsList);
 
-        //创建待质检记录
+        //如果是采购到货 创建待质检记录
+        if(stockWait.getBusinessType() == StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType()){
+
+        }
     }
 
     @Override

+ 0 - 4
hx-wms/src/main/resources/mapper/stock/StockMapper.xml

@@ -46,10 +46,6 @@
             stock s
                 LEFT JOIN bytesailing_item.product_info pi ON s.product_id = pi.id
                 LEFT JOIN bytesailing_item.product_spu ps ON pi.product_spu_id = ps.id
-        WHERE
-            NOT ps.id IS NULL
-        GROUP BY
-            ps.id
             ${ew.customSqlSegment}
     </select>
 

+ 1 - 0
hx-wms/src/main/resources/mapper/stock/StockWaitDetailsMapper.xml

@@ -5,6 +5,7 @@
         SELECT
             swd.id,
             sw.business_code,
+            sw.business_id,
             sw.business_type,
             sw.`status`,
             swd.stock_wait_id,

Некоторые файлы не были показаны из-за большого количества измененных файлов