Jelajahi Sumber

维多利亚

24282 2 tahun lalu
induk
melakukan
eddb513ef3
14 mengubah file dengan 341 tambahan dan 30 penghapusan
  1. 86 0
      hx-common/common-tool/src/main/java/com/fjhx/base/BaseSelectDto.java
  2. 15 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/GetDetailsListDto.java
  3. 10 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityDetailsVo.java
  4. 19 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityInfoPageDto.java
  5. 89 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityInfoPageVo.java
  6. 9 5
      hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityDetailsController.java
  7. 26 9
      hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityInfoController.java
  8. 6 0
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityInfoMapper.java
  9. 18 0
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityInfoMapper.xml
  10. 2 1
      hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/impl/LogisticsInfoServiceImpl.java
  11. 2 2
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/QualityDetailsService.java
  12. 6 4
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/QualityInfoService.java
  13. 6 4
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityDetailsServiceImpl.java
  14. 47 5
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityInfoServiceImpl.java

+ 86 - 0
hx-common/common-tool/src/main/java/com/fjhx/base/BaseSelectDto.java

@@ -0,0 +1,86 @@
+package com.fjhx.base;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.log.exception.ServiceException;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Getter
+@Setter
+public class BaseSelectDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 页数
+     */
+    private Integer pageNum;
+
+    /**
+     * 每页条数
+     */
+    private Integer pageSize;
+
+    /**
+     * 关键字查询
+     */
+    private String keyword;
+
+    /**
+     * 通用开始时间
+     */
+    private String beginTime;
+
+    /**
+     * 通用结束时间
+     */
+    private String endTime;
+
+    /**
+     * 返回分页实体
+     */
+    public <T> Page<T> getPage() {
+        return new Page<>(getPageNum(), getPageSize());
+    }
+
+    public Integer getPageNum() {
+        return ObjectUtil.defaultIfNull(pageNum, 1);
+    }
+
+    public Integer getPageSize() {
+        return ObjectUtil.defaultIfNull(pageSize, 10);
+    }
+
+    public Date getBeginTime() {
+        if (ObjectUtil.isEmpty(beginTime)) {
+            return null;
+        }
+
+        try {
+            return DateUtil.beginOfDay(DateUtil.parse(beginTime));
+        } catch (Exception e) {
+            throw new ServiceException("开始时间格式错误");
+        }
+
+    }
+
+    public Date getEndTime() {
+
+        if (ObjectUtil.isEmpty(endTime)) {
+            return null;
+        }
+
+        try {
+            return DateUtil.endOfDay(DateUtil.parse(endTime));
+        } catch (Exception e) {
+            throw new ServiceException("结束时间格式错误");
+        }
+
+    }
+
+}

+ 15 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/GetDetailsListDto.java

@@ -0,0 +1,15 @@
+package com.fjhx.params.quality;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+@Getter
+@Setter
+public class GetDetailsListDto {
+
+    @NotNull(message = "质检id不能为空")
+    private Long qualityInfoId;
+
+}

+ 10 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityDetailsVo.java

@@ -14,4 +14,14 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 public class QualityDetailsVo extends QualityDetails {
 
+    /**
+     * 物品编码
+     */
+    private String productCode;
+
+    /**
+     * 物品名称
+     */
+    private String productName;
+
 }

+ 19 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityInfoPageDto.java

@@ -0,0 +1,19 @@
+package com.fjhx.params.quality;
+
+import com.fjhx.base.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class QualityInfoPageDto extends BaseSelectDto {
+
+    /**
+     * 状态 1未质检 2部分质检 3已质检
+     *
+     * @table quality_info
+     * @field status
+     */
+    private Integer status;
+
+}

+ 89 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityInfoPageVo.java

@@ -0,0 +1,89 @@
+package com.fjhx.params.quality;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Getter
+@Setter
+public class QualityInfoPageVo {
+
+    /**
+     * 质检id
+     *
+     * @table quality_info
+     * @field id
+     */
+    private Long id;
+
+    /**
+     * 状态 1未质检 2部分质检 3已质检
+     *
+     * @table quality_info
+     * @field status
+     */
+    private Integer status;
+
+    /**
+     * 物流/快递单号
+     *
+     * @table logistics_info
+     * @field code
+     */
+    private String logisticsInfoCode;
+
+    /**
+     * 采购人id
+     *
+     * @table purchase
+     * @field create_user
+     */
+    private Long createUser;
+
+    /**
+     * 采购人名称
+     */
+    private String createUserName;
+
+    /**
+     * 采购时间
+     *
+     * @table purchase
+     * @field create_time
+     */
+    private Date createTime;
+
+    /**
+     * 采购单号
+     *
+     * @table purchase
+     * @field code
+     */
+    private String code;
+
+    /**
+     * 供应商
+     *
+     * @table supplier
+     * @field name
+     */
+    private String supplierName;
+
+    /**
+     * 物流公司
+     *
+     * @table logistics_company
+     * @field name
+     */
+    private String logisticsCompanyName;
+
+    /**
+     * 物流编码
+     *
+     * @table logistics_company
+     * @field code
+     */
+    private String logisticsCompanyCode;
+
+}

+ 9 - 5
hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityDetailsController.java

@@ -1,7 +1,11 @@
 package com.fjhx.controller.quality;
 
+import com.fjhx.entity.quality.QualityDetails;
 import com.fjhx.service.quality.QualityDetailsService;
+import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -32,11 +36,11 @@ public class QualityDetailsController {
     //     return R.success();
     // }
     //
-    // @PostMapping("/edit")
-    // public R edit(@RequestBody QualityDetailsVo qualityDetailsVo){
-    //     qualityDetailsService.edit(qualityDetailsVo);
-    //     return R.success();
-    // }
+    @PostMapping("/edit")
+    public R edit(@RequestBody QualityDetails qualityDetails) {
+        qualityDetailsService.edit(qualityDetails);
+        return R.success();
+    }
     //
     // @PostMapping("/delete")
     // public R delete(@RequestBody QualityDetailsVo qualityDetailsVo){

+ 26 - 9
hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityInfoController.java

@@ -1,10 +1,18 @@
 package com.fjhx.controller.quality;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.params.quality.*;
 import com.fjhx.service.quality.QualityInfoService;
+import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 质检 前端控制器
@@ -20,24 +28,33 @@ public class QualityInfoController {
     @Autowired
     private QualityInfoService qualityInfoService;
 
-    // @PostMapping("/page")
-    // public R page(@RequestBody Map<String, Object> condition){
-    //     Page<QualityInfo> result = qualityInfoService.getPage(condition);
-    //     return R.success(result);
-    // }
-    //
+    @PostMapping("/page")
+    public R page(@RequestBody QualityInfoPageDto dto) {
+        Page<QualityInfoPageVo> result = qualityInfoService.getPage(dto);
+        return R.success(result);
+    }
+
+    /**
+     * 明细列表
+     */
+    @PostMapping("/detailsList")
+    public R detailsList(@Validated @RequestBody GetDetailsListDto dto) {
+        List<QualityDetailsVo> result = qualityInfoService.getDetailsList(dto);
+        return R.success(result);
+    }
+
     // @PostMapping("/add")
     // public R add(@RequestBody QualityInfoVo qualityInfoVo){
     //     qualityInfoService.add(qualityInfoVo);
     //     return R.success();
     // }
-    //
+
     // @PostMapping("/edit")
-    // public R edit(@RequestBody QualityInfoVo qualityInfoVo){
+    // public R edit(@RequestBody QualityInfoVo qualityInfoVo) {
     //     qualityInfoService.edit(qualityInfoVo);
     //     return R.success();
     // }
-    //
+
     // @PostMapping("/delete")
     // public R delete(@RequestBody QualityInfoVo qualityInfoVo){
     //     qualityInfoService.delete(qualityInfoVo);

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

@@ -1,7 +1,11 @@
 package com.fjhx.mapper.quality;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.entity.quality.QualityInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.params.quality.QualityInfoPageVo;
+import com.fjhx.utils.wrapperUtil.IWrapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface QualityInfoMapper extends BaseMapper<QualityInfo> {
 
+    Page<QualityInfoPageVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Object> wrapper);
+
 }

+ 18 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityInfoMapper.xml

@@ -2,4 +2,22 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.mapper.quality.QualityInfoMapper">
 
+    <select id="getPage" resultType="com.fjhx.params.quality.QualityInfoPageVo">
+        select qi.id         id,
+               qi.status     status,
+               li.code       logisticsInfoCode,
+               p.create_user createUser,
+               p.create_time createTime,
+               p.code        code,
+               s.name        supplierName,
+               lc.name       logisticsCompanyName,
+               lc.code       logisticsCompanyCode
+        from quality_info qi
+                 inner join logistics_info li on li.id = qi.logistics_info_id
+                 inner join purchase p on p.id = li.business_id
+                 inner join supplier s on s.id = p.supplier_id
+                 left join logistics_company lc on lc.code = li.logistics_company_code
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>

+ 2 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/impl/LogisticsInfoServiceImpl.java

@@ -369,6 +369,7 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
             // 添加发货数量
             logisticsDetail.setReceiptQuantity(receiptQuantity.add(bigDecimal));
         }
+        logisticsDetailsService.saveBatch(logisticsDetails);
 
         // 修改入库状态
         LogisticsInfo logisticsInfo = getById(logisticsInfoId);
@@ -383,7 +384,7 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
         qualityInfo.setCode(CodeEnum.QUALITY.getCode());
         qualityInfo.setLogisticsInfoId(logisticsInfoId);
         qualityInfo.setLogisticsInfoCode(logisticsInfo.getCode());
-        qualityInfo.setResultType(1);
+        qualityInfo.setStatus(1);
         qualityInfo.setResultType(1);
         qualityInfoService.save(qualityInfo);
 

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

@@ -1,9 +1,9 @@
 package com.fjhx.service.quality;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.BaseService;
 import com.fjhx.entity.quality.QualityDetails;
 import com.fjhx.params.quality.QualityDetailsVo;
-import com.fjhx.base.BaseService;
 
 import java.util.Map;
 
@@ -21,7 +21,7 @@ public interface QualityDetailsService extends BaseService<QualityDetails> {
 
     void add(QualityDetailsVo qualityDetailsVo);
 
-    void edit(QualityDetailsVo qualityDetailsVo);
+    void edit(QualityDetails qualityDetails);
 
     void delete(QualityDetailsVo qualityDetailsVo);
 

+ 6 - 4
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/QualityInfoService.java

@@ -1,11 +1,11 @@
 package com.fjhx.service.quality;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.entity.quality.QualityInfo;
-import com.fjhx.params.quality.QualityInfoVo;
 import com.fjhx.base.BaseService;
+import com.fjhx.entity.quality.QualityInfo;
+import com.fjhx.params.quality.*;
 
-import java.util.Map;
+import java.util.List;
 
 /**
  * <p>
@@ -17,7 +17,7 @@ import java.util.Map;
  */
 public interface QualityInfoService extends BaseService<QualityInfo> {
 
-    Page<QualityInfo> getPage(Map<String, Object> condition);
+    Page<QualityInfoPageVo> getPage(QualityInfoPageDto dto);
 
     void add(QualityInfoVo qualityInfoVo);
 
@@ -25,4 +25,6 @@ public interface QualityInfoService extends BaseService<QualityInfo> {
 
     void delete(QualityInfoVo qualityInfoVo);
 
+    List<QualityDetailsVo> getDetailsList(GetDetailsListDto dto);
+
 }

+ 6 - 4
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityDetailsServiceImpl.java

@@ -1,11 +1,11 @@
 package com.fjhx.service.quality.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.quality.QualityDetails;
-import com.fjhx.params.quality.QualityDetailsVo;
 import com.fjhx.mapper.quality.QualityDetailsMapper;
+import com.fjhx.params.quality.QualityDetailsVo;
 import com.fjhx.service.quality.QualityDetailsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.utils.wrapperUtil.IWrapper;
 import org.springframework.stereotype.Service;
 
@@ -36,8 +36,10 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
     }
 
     @Override
-    public void edit(QualityDetailsVo qualityDetailsVo) {
-        updateById(qualityDetailsVo);
+    public void edit(QualityDetails qualityDetails) {
+        updateById(qualityDetails);
+
+
     }
 
     @Override

+ 47 - 5
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityInfoServiceImpl.java

@@ -1,14 +1,24 @@
 package com.fjhx.service.quality.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.purchase.Purchase;
+import com.fjhx.entity.quality.QualityDetails;
 import com.fjhx.entity.quality.QualityInfo;
-import com.fjhx.params.quality.QualityInfoVo;
+import com.fjhx.entity.supplier.Supplier;
 import com.fjhx.mapper.quality.QualityInfoMapper;
+import com.fjhx.params.quality.*;
+import com.fjhx.service.product.ProductInfoService;
+import com.fjhx.service.quality.QualityDetailsService;
 import com.fjhx.service.quality.QualityInfoService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.utils.UserClientUtil;
 import com.fjhx.utils.wrapperUtil.IWrapper;
+import com.fjhx.utils.wrapperUtil.KeywordData;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -22,12 +32,31 @@ import java.util.Map;
 @Service
 public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, QualityInfo> implements QualityInfoService {
 
+    @Autowired
+    private ProductInfoService productInfoService;
+
+    @Autowired
+    private QualityDetailsService qualityDetailsService;
+
     @Override
-    public Page<QualityInfo> getPage(Map<String, Object> condition) {
+    public Page<QualityInfoPageVo> getPage(QualityInfoPageDto dto) {
+
+        IWrapper<Object> wrapper = IWrapper.getWrapper(dto).keyword(new KeywordData("p", Purchase::getCode), new KeywordData("s", Supplier::getName)).eq("qi", QualityInfo::getStatus, dto.getStatus());
+
+        Page<QualityInfoPageVo> page = baseMapper.getPage(dto.getPage(), wrapper);
+        List<QualityInfoPageVo> records = page.getRecords();
 
-        IWrapper<QualityInfo> wrapper = IWrapper.getWrapper(condition);
+        if (records.size() == 0) {
+            return page;
+        }
 
-        return page(condition, wrapper);
+        // 赋值采购人名称
+        Map<Long, String> userNameMap = UserClientUtil.getUserNameMap(records, QualityInfoPageVo::getCreateUser);
+        for (QualityInfoPageVo record : records) {
+            record.setCreateUserName(userNameMap.get(record.getCreateUser()));
+        }
+
+        return page;
     }
 
     @Override
@@ -45,4 +74,17 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
         removeById(qualityInfoVo.getId());
     }
 
+    @Override
+    public List<QualityDetailsVo> getDetailsList(GetDetailsListDto dto) {
+        List<QualityDetails> list = qualityDetailsService.list(q -> q.eq(QualityDetails::getQualityInfoId, dto.getQualityInfoId()));
+        List<QualityDetailsVo> result = BeanUtil.copyToList(list, QualityDetailsVo.class);
+
+        productInfoService.attributeAssign(result, QualityDetails::getProductInfoId, (item, product) -> {
+            item.setProductCode(product.getCode());
+            item.setProductName(product.getName());
+        });
+
+        return result;
+    }
+
 }