Quellcode durchsuchen

到货登记列表修改

yzc vor 1 Jahr
Ursprung
Commit
c4a42de2df

+ 0 - 4
hx-purchase/src/main/java/com/fjhx/purchase/entity/arrival/dto/ArrivalDto.java

@@ -14,8 +14,4 @@ import lombok.Setter;
 @Setter
 public class ArrivalDto extends Arrival {
 
-    /**
-     * 发货id
-     */
-    private Long deliverGoodsId;
 }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/arrival/dto/ArrivalSelectDto.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class ArrivalSelectDto extends BaseSelectDto {
 
+    /**
+     * 采购单ID
+     */
+    private Long purchaseId;
+
 }

+ 7 - 5
hx-purchase/src/main/java/com/fjhx/purchase/entity/arrival/po/Arrival.java

@@ -42,6 +42,13 @@ public class Arrival extends BasePo {
     private Integer status;
 
     /**
+     * 维多利亚扩展
+     */
+    private String victoriatouristJson;
+
+    private Long deliverGoodsId;
+
+    /**
      * 到货明细列表
      */
     @TableField(exist = false)
@@ -52,9 +59,4 @@ public class Arrival extends BasePo {
      */
     @TableField(exist = false)
     private Integer arrivalStatus;
-
-    /**
-     * 维多利亚扩展
-     */
-    private String victoriatouristJson;
 }

+ 4 - 1
hx-purchase/src/main/java/com/fjhx/purchase/mapper/arrival/ArrivalDetailMapper.java

@@ -1,8 +1,8 @@
 package com.fjhx.purchase.mapper.arrival;
 
-import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
 import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
@@ -26,6 +26,9 @@ public interface ArrivalDetailMapper extends BaseMapper<ArrivalDetail> {
      */
     Page<ArrivalDetailVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ArrivalDetail> wrapper);
 
+    List<ArrivalDetailVo> getList( @Param("ew") IWrapper<ArrivalDetail> wrapper);
+
+
     /**
      * 统计到货明细总数
      * @return

+ 6 - 5
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/ArrivalDetailService.java

@@ -1,13 +1,12 @@
 package com.fjhx.purchase.service.arrival;
 
-import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
-import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
-import com.fjhx.purchase.entity.arrival.dto.ArrivalDetailSelectDto;
 import com.fjhx.purchase.entity.arrival.dto.ArrivalDetailDto;
+import com.fjhx.purchase.entity.arrival.dto.ArrivalDetailSelectDto;
+import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
+import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
+import com.ruoyi.common.core.service.BaseService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
-import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -28,6 +27,8 @@ public interface ArrivalDetailService extends BaseService<ArrivalDetail> {
      */
     Page<ArrivalDetailVo> getPage(ArrivalDetailSelectDto dto);
 
+    List<ArrivalDetailVo> getList(IWrapper<ArrivalDetail> wrapper);
+
     /**
      * 到货明细单明细--可传多个ID
      */

+ 17 - 2
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalDetailServiceImpl.java

@@ -19,8 +19,8 @@ import com.fjhx.purchase.mapper.arrival.ArrivalDetailMapper;
 import com.fjhx.purchase.service.arrival.ArrivalDetailService;
 import com.fjhx.purchase.service.quality.QualityDetailService;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
-import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
  * 到货明细单 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-07
  */
 @DS(SourceConstant.PURCHASE)
@@ -103,6 +103,21 @@ public class ArrivalDetailServiceImpl extends ServiceImpl<ArrivalDetailMapper, A
         return page;
     }
 
+    @Override
+    public List<ArrivalDetailVo> getList(IWrapper<ArrivalDetail> wrapper){
+        List<ArrivalDetailVo> list = baseMapper.getList(wrapper);
+        //赋值产品信息
+        productInfoService.attributeAssign(list, ArrivalDetail::getBussinessId, (item, productinfo) -> {
+            item.setProductType(productinfo.getType());
+            item.setProductCode(productinfo.getCode());
+            item.setProductCustomCode(productinfo.getCustomCode());
+            item.setProductName(productinfo.getName());
+            item.setProductSpec(productinfo.getSpec());
+            item.setProductUnit(productinfo.getUnit());
+        });
+        return list;
+    }
+
     /**
      * 详情--
      * @param ids

+ 23 - 3
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalServiceImpl.java

@@ -101,11 +101,31 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
     @Override
     public Page<ArrivalVo> getPage(ArrivalSelectDto dto) {
         IWrapper<Arrival> wrapper = getWrapper();
+
+        wrapper.eq("a", Arrival::getPurchaseId, dto.getPurchaseId());
+
         wrapper.orderByDesc("a", Arrival::getId);
         Page<ArrivalVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<ArrivalVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+        setInfo(records);
         return page;
     }
 
+    void setInfo(List<ArrivalVo> records) {
+        List<Long> ids = records.stream().map(Arrival::getId).collect(Collectors.toList());
+        if (ObjectUtil.isEmpty(ids)) {
+            return;
+        }
+        List<ArrivalDetailVo> arrivalDetailVos = arrivalDetailService.getList(IWrapper.<ArrivalDetail>getWrapper().in("ad", ArrivalDetail::getArrivalId, ids));
+        Map<Long, List<ArrivalDetailVo>> collect = arrivalDetailVos.stream().collect(Collectors.groupingBy(ArrivalDetail::getArrivalId));
+        for (ArrivalVo record : records) {
+            record.setArrivalDetailVoList(collect.getOrDefault(record.getId(), new ArrayList<>()));
+        }
+    }
+
     @Override
     public ArrivalVo detail(Long id) {
         Arrival Arrival = this.getById(id);
@@ -247,7 +267,7 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
 
         json.put("arrivalId", arrival.getId());
         json.put("arrivalCode", arrival.getCode());
-        stockWait.setVictoriatouristJson(JSONObject.toJSONString(json,JSONWriter.Feature.WriteLongAsString));
+        stockWait.setVictoriatouristJson(JSONObject.toJSONString(json, JSONWriter.Feature.WriteLongAsString));
 
         stockWait.setPurchaseId(purchase.getId());
         stockWait.setDeliverGoodsId(deliverGoodsId);
@@ -309,7 +329,7 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
 
             //存在到货数量不等于发货数量 创建异常
             if (flag != 0) {
-                wdlyService.addAbnormalInfo(arrival.getId(), arrival.getCode(),deliverGoodsId);
+                wdlyService.addAbnormalInfo(arrival.getId(), arrival.getCode(), deliverGoodsId);
             }
         }
         arrivalDetailService.saveBatch(arrivalDetailList);
@@ -361,7 +381,7 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
      */
     @Override
     public ArrivalVo arrivalInfo(Long deliverGoodsId) {
-        Assert.notEmpty(deliverGoodsId,"发货id不能为空");
+        Assert.notEmpty(deliverGoodsId, "发货id不能为空");
         ArrivalVo arrival = baseMapper.arrivalInfo(deliverGoodsId);
         Assert.notEmpty(arrival, "查询不到到货信息");
         List<ArrivalDetail> arrivalDetailList = arrivalDetailService.list(q -> q.eq(ArrivalDetail::getArrivalId, arrival.getId()));

+ 3 - 0
hx-purchase/src/main/resources/mapper/arrival/ArrivalDetailMapper.xml

@@ -33,4 +33,7 @@
                 JOIN arrival_detail ad ON ad.arrival_id = a.id
             ${ew.customSqlSegment}
     </select>
+    <select id="getList" resultType="com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo">
+        select ad.* from arrival_detail ad ${ew.customSqlSegment}
+    </select>
 </mapper>