Procházet zdrojové kódy

物流管理增加筛选条件
增加“次品转良品”功能
调整多次采购兼容
异常管理增加“处理方式”字段

yzc před 2 roky
rodič
revize
9aa51eb11c

+ 3 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/abnormal/AbnormalDetails.java

@@ -53,6 +53,9 @@ public class AbnormalDetails extends BaseEntity {
      */
     private Date handleTime;
 
+    /**异常处理方式*/
+    private String processing;
+
     /**
      * 逻辑删除 0未删除 1已删除
      */

+ 3 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/apply/ApplyPurchase.java

@@ -48,6 +48,9 @@ public class ApplyPurchase extends BaseEntity {
      */
     private BigDecimal quantity;
 
+    /**已采购数量*/
+    private BigDecimal purchaseQuantity;
+
     /**
      * 单价
      */

+ 2 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/purchase/Purchase.java

@@ -28,6 +28,8 @@ public class Purchase extends BaseEntity {
      */
     private Long supplierId;
 
+    private Long applyId;
+
     /**
      * 采购单号
      */

+ 3 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/logistics/DataInfoPageDto.java

@@ -13,4 +13,7 @@ public class DataInfoPageDto extends BaseSelectDto {
      */
     private Integer businessType;
 
+    /**物流状态*/
+    private Integer type;
+
 }

+ 12 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/stock/StockController.java

@@ -2,6 +2,7 @@ package com.fjhx.controller.stock;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.Condition;
+import com.fjhx.entity.stock.Stock;
 import com.fjhx.params.stock.PageByCombinationVo;
 import com.fjhx.params.stock.PageByProductVo;
 import com.fjhx.params.stock.PageByWarehouseVo;
@@ -66,5 +67,16 @@ public class StockController {
         return R.success(result);
     }
 
+    /**
+     * 次品转良品
+     *
+     * @return
+     */
+    @PostMapping("/defectiveToQualified")
+    public R defectiveToQualified(@RequestBody Stock stock){
+        stockService.defectiveToQualified(stock);
+        return R.success();
+    }
+
 }
 

+ 1 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/apply/ApplyPurchaseMapper.xml

@@ -10,6 +10,7 @@
             t1.purchase_code,
             t1.goods_id,
             t1.quantity,
+            t1.purchase_quantity,
             t1.unit_price,
             t1.plan_arrival_time,
             t1.receipt_warehouse_id,

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

@@ -419,7 +419,7 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
     @Override
     public Page<DataInfoPageVo> dataInfoPage(DataInfoPageDto dto) {
         IWrapper<Object> wrapper = IWrapper.getWrapper(dto);
-        wrapper.eq("sc.business_type", dto.getBusinessType())
+        wrapper.eq("sc.business_type", dto.getBusinessType()).eq("sc.logistics_status",dto.getType())
                 .keyword(
                         new KeywordData("sc.business_Code"),
                         new KeywordData("lc.name"),

+ 1 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/service/order/OrderDetailsService.java

@@ -4,7 +4,6 @@ import com.fjhx.base.BaseService;
 import com.fjhx.entity.order.OrderDetails;
 import com.fjhx.params.order.IssueDto;
 import com.fjhx.params.order.OrderDetailsEx;
-import org.springblade.core.tool.api.R;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -27,7 +26,7 @@ public interface OrderDetailsService extends BaseService<OrderDetails> {
     void issue(IssueDto issueDto);
 
     /**
-     * 京东订单出库Excle导入*/
+     * 京东订单出库Excel导入*/
     void issueExcelImport(MultipartFile file);
 
 }

+ 2 - 8
hx-service/victoriatourist/src/main/java/com/fjhx/service/order/impl/OrderDetailsServiceImpl.java

@@ -1,14 +1,11 @@
 package com.fjhx.service.order.impl;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.constants.SystemConfigKeyConstant;
 import com.fjhx.entity.abnormal.AbnormalInfo;
-import com.fjhx.entity.jd.JdBackDetails;
 import com.fjhx.entity.logistics.LogisticsCompany;
 import com.fjhx.entity.logistics.LogisticsInfo;
 import com.fjhx.entity.order.OrderDetails;
@@ -38,7 +35,6 @@ import com.fjhx.uitl.kd100.KD100Util;
 import com.fjhx.utils.Assert;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -46,12 +42,10 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.math.BigDecimal;
-import java.net.Socket;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * <p>
@@ -142,7 +136,7 @@ public class OrderDetailsServiceImpl extends ServiceImpl<OrderDetailsMapper, Ord
                 List<OrderDetails> list = list(q -> q.eq(OrderDetails::getOrderId, orderId));
                 for (OrderDetails orderDetails : list) {
                     IssueDto.IssueDetails issueDetails = orderDetailsList.stream().filter(i -> orderDetails.getProductId().equals(i.getProductId())).findFirst().get();
-                    if (orderDetails.getQuantity() != issueDetails.getChangeQuantity()) {
+                    if (!orderDetails.getQuantity().equals(issueDetails.getChangeQuantity())) {
                         flag = true;
                     }
                 }
@@ -279,7 +273,7 @@ public class OrderDetailsServiceImpl extends ServiceImpl<OrderDetailsMapper, Ord
         updateBatchById(orderDetailsList);//统一操作未出库数量
         stockService.updateBatchById(stockList);//统一操作库存
         logisticsInfoService.saveBatch(logisticsInfoList);////统一操作物流信息
-        orderInfoService.updateBatchById(orderInfos);//统一操作订单信息
+        orderInfoService.updateBatchById(orderInfoList);//统一操作订单信息
     }
 
     /**

+ 21 - 5
hx-service/victoriatourist/src/main/java/com/fjhx/service/purchase/impl/PurchaseFlowServiceImpl.java

@@ -82,11 +82,20 @@ public class PurchaseFlowServiceImpl implements PurchaseFlowService {
                                 .eq(Purchase::getId, id)
                                 .update();
 
-                        // 修改申购状态
-                        applyPurchaseService.lambdaUpdate()
-                                .set(ApplyPurchase::getStatus, ApplyPurchaseStatusEnum.STATUS_60.getKey())
-                                .eq(ApplyPurchase::getPurchaseId, id)
-                                .update();
+                        //判断采购数量是否大等于申购数量
+                        ApplyPurchase byId = applyPurchaseService.getOne(q->q.eq(ApplyPurchase::getPurchaseId, id));
+                        if(byId.getPurchaseQuantity().compareTo(byId.getQuantity())>=0) {
+                            // 修改申购状态
+                            applyPurchaseService.lambdaUpdate()
+                                    .set(ApplyPurchase::getStatus, ApplyPurchaseStatusEnum.STATUS_60.getKey())
+                                    .eq(ApplyPurchase::getPurchaseId, id)
+                                    .update();
+                        }else{
+                            applyPurchaseService.lambdaUpdate()
+                                    .set(ApplyPurchase::getStatus, ApplyPurchaseStatusEnum.STATUS_30.getKey())
+                                    .eq(ApplyPurchase::getPurchaseId, id)
+                                    .update();
+                        }
                     }
 
                     /**
@@ -148,6 +157,13 @@ public class PurchaseFlowServiceImpl implements PurchaseFlowService {
             BigDecimal price = new BigDecimal(BigDecimal.ZERO.intValue());
 
             for (ApplyPurchase goods : goodsList) {
+                //计算已采购数量
+                ApplyPurchase byId = applyPurchaseService.getById(goods.getId());
+                BigDecimal purchaseQuantity = byId.getPurchaseQuantity() == null ? BigDecimal.ZERO : byId.getPurchaseQuantity();
+                goods.setPurchaseQuantity(purchaseQuantity.add(goods.getQuantity()));
+                purchase.setApplyId(goods.getId());
+                goods.setQuantity(byId.getQuantity());
+
                 goods.setPurchaseId(purchase.getId());
                 goods.setPurchaseCode(purchase.getCode());
                 goods.setStatus(ApplyPurchaseStatusEnum.STATUS_40.getKey());

+ 3 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/StockService.java

@@ -48,4 +48,7 @@ public interface StockService extends BaseService<Stock> {
      */
     Page<PageByCombinationVo> pageByCombination(Condition condition);
 
+    /**次品转良品*/
+    void defectiveToQualified(Stock stock);
+
 }

+ 11 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockServiceImpl.java

@@ -144,6 +144,17 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         return page;
     }
 
+    /**次品转良品*/
+    @Override
+    public void defectiveToQualified(Stock stock){
+        Assert.notEmpty(stock.getId(), "库存id不能为空");
+        Assert.notEmpty(stock.getQuantity(), "要转换的数量不能为空");
+        Stock stock1 = getById(stock.getId());
+        stock1.setQuantity(stock1.getQuantity().add(stock.getQuantity()));
+        stock1.setDefectiveQuantity(stock1.getDefectiveQuantity().subtract(stock.getQuantity()));
+        updateById(stock1);
+    }
+
     /**
      * 合并变更数量(如果同一种物品在出入库一个仓库,则合并数量)
      */