Parcourir la source

到货数量处理

yzc il y a 1 an
Parent
commit
883886362b

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/arrival/vo/ArrivalDetailVo.java

@@ -4,6 +4,8 @@ import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * purchase_到货明细单列表查询返回值实体
  *
@@ -14,4 +16,12 @@ import lombok.Setter;
 @Setter
 public class ArrivalDetailVo extends ArrivalDetail {
 
+    private String arrivalCode;
+    private String productName;
+    private String productCode;
+    private BigDecimal productLength;
+    private BigDecimal productWidth;
+    private BigDecimal productHeight;
+    private String productColor;
+
 }

+ 7 - 9
hx-sale/src/main/java/com/fjhx/sale/service/arrival/impl/ArrivalServiceImpl.java

@@ -26,7 +26,6 @@ import com.fjhx.wms.entity.stock.po.StockWait;
 import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import com.fjhx.wms.service.stock.StockWaitDetailsService;
 import com.fjhx.wms.service.stock.StockWaitService;
-import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -35,7 +34,6 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -127,13 +125,13 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
 
             arrivalDetail.setPurchaseId(dto.getPurchaseId());
 
-            //更新到货数量
-            purchaseProductService.update(q -> q
-                    .eq(EhsdPurchaseProduct::getId, ehsdPurchaseProduct.getId())
-                    .setSql("arrival_quantity = arrival_quantity + " + arrivalDetail.getQuantity())
-                    .set(BasePo::getUpdateTime, new Date())
-                    .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
-            );
+//            //更新到货数量
+//            purchaseProductService.update(q -> q
+//                    .eq(EhsdPurchaseProduct::getId, ehsdPurchaseProduct.getId())
+//                    .setSql("arrival_quantity = arrival_quantity + " + arrivalDetail.getQuantity())
+//                    .set(BasePo::getUpdateTime, new Date())
+//                    .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+//            );
 
             //生成待入库明细
             StockWaitDetails stockWaitDetails = new StockWaitDetails();

+ 14 - 8
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -62,6 +62,7 @@ import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseVo;
 import com.fjhx.sale.mapper.arrival.ArrivalDetailMapper;
 import com.fjhx.sale.mapper.purchase.EhsdPurchaseMapper;
+import com.fjhx.sale.mapper.purchase.EhsdPurchaseProductMapper;
 import com.fjhx.sale.service.contract.ContractService;
 import com.fjhx.sale.service.pack.PackDetailProductService;
 import com.fjhx.sale.service.pack.PackDetailService;
@@ -76,6 +77,7 @@ import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.fjhx.supply.service.supplier.SupplierPriceService;
 import com.fjhx.tenant.utils.DeptUstil;
 import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.service.stock.StockWaitDetailsService;
 import com.fjhx.wms.service.stock.StockWaitService;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.BaseSelectDto;
@@ -150,6 +152,10 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
     private StockWaitService stockWaitService;
     @Autowired
     private ArrivalDetailMapper arrivalDetailMapper;
+    @Autowired
+    private EhsdPurchaseProductMapper ehsdPurchaseProductMapper;
+    @Autowired
+    private StockWaitDetailsService stockWaitDetailsService;
 
     /**
      * 分页
@@ -268,12 +274,11 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
             result.setBuyCorporationName(corporation.getName());
         }
         //赋值采购明细
-        List<EhsdPurchaseProduct> ehsdPurchaseProductList = ehsdPurchaseProductService.list(q ->
-                q.eq(EhsdPurchaseProduct::getPurchaseId, ehsdPurchase.getId())
+        List<EhsdPurchaseProductVo> ehsdPurchaseProductVos = ehsdPurchaseProductMapper.getList(IWrapper.<EhsdPurchaseProduct>getWrapper()
+                .eq(EhsdPurchaseProduct::getPurchaseId, ehsdPurchase.getId())
         );
-        List<EhsdPurchaseProductVo> ehsdPurchaseProductVos = BeanUtil.copyToList(ehsdPurchaseProductList, EhsdPurchaseProductVo.class);
         //赋值产品配件信息
-        if (ObjectUtils.isNotEmpty(ehsdPurchaseProductList)) {
+        if (ObjectUtils.isNotEmpty(ehsdPurchaseProductVos)) {
             List<Long> eppIds = ehsdPurchaseProductVos.stream().map(EhsdPurchaseProductVo::getId).collect(Collectors.toList());
             Map<Long, List<EhsdPurchaseProductMountings>> eppMap = ehsdPurchaseProductMountingsService.mapKGroup(
                     EhsdPurchaseProductMountings::getPurchaseProductId, q -> q
@@ -726,11 +731,12 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
     @Override
     public void updateArrivalStatus(Long id) {
         int status;//默认已到货
-        long count = purchaseProductService.count(q -> q
-                .eq(EhsdPurchaseProduct::getPurchaseId, id)
-                .apply("arrival_quantity < quantity")
+
+        List<EhsdPurchaseProductVo> list = ehsdPurchaseProductMapper.getList(IWrapper.<EhsdPurchaseProduct>getWrapper()
+                .eq("epp", EhsdPurchaseProduct::getPurchaseId, id)
+                .apply("epp.arrivalQuantity < epp.quantity")
         );
-        if (count > 0) {
+        if (list.size() > 0) {
             status = 1;//部分到货
         } else {
             status = 2;//已到货

+ 1 - 1
hx-sale/src/main/resources/mapper/arrival/ArrivalDetailMapper.xml

@@ -8,7 +8,7 @@
                pi.custom_code AS productCode,
                pi.length      AS productLength,
                pi.width       AS productWidth,
-               pi.height      AS productHright,
+               pi.height      AS productHeight,
                pi.color       AS productColor
         FROM arrival_detail ad
                  JOIN arrival a ON ad.arrival_id = a.id

+ 27 - 8
hx-sale/src/main/resources/mapper/purchase/EhsdPurchaseProductMapper.xml

@@ -108,14 +108,33 @@
         GROUP BY epp.product_id
     </select>
     <select id="getList" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
-        SELECT ep.`code`                               AS purchaseCode,
-               ep.create_time,
-               epp.*,
-               (SELECT IFNULL(sum(swd.receipt_quantity), 0)
-                FROM stock_wait_details swd
-                WHERE swd.purchase_detail_id = epp.id) AS arrivalQuantity
-        FROM ehsd_purchase_product epp
-                 LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id
+        SELECT *
+        FROM (SELECT ep.`code`                               AS purchaseCode,
+                     ep.create_time,
+                     epp.id,
+                     epp.tenant_id,
+                     epp.purchase_id,
+                     epp.product_id,
+                     epp.product_name,
+                     epp.product_model,
+                     epp.quantity,
+                     epp.exceed_quantity,
+                     epp.price,
+                     epp.amount,
+                     epp.remark,
+                     epp.create_user,
+                     epp.update_user,
+                     epp.update_time,
+                     epp.data_resource,
+                     epp.data_resource_id,
+                     epp.contract_id,
+                     epp.subscribe_detail_id,
+                     epp.old_purchase_product_id,
+                     (SELECT IFNULL(sum(swd.receipt_quantity), 0)
+                      FROM stock_wait_details swd
+                      WHERE swd.purchase_detail_id = epp.id) AS arrivalQuantity
+              FROM ehsd_purchase_product epp
+                       LEFT JOIN ehsd_purchase ep ON epp.purchase_id = ep.id) epp
             ${ew.customSqlSegment}
     </select>
 </mapper>