yzc %!s(int64=2) %!d(string=hai) anos
pai
achega
16a33410f8

+ 22 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/logistics/po/LogisticsInfos.java

@@ -6,6 +6,8 @@ import java.util.Date;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * <p>
  * 物流信息
@@ -74,4 +76,24 @@ public class LogisticsInfos extends BasePo {
      */
     private String reservationCode;
 
+    /**
+     * 国家表id
+     */
+    private Long countryId;
+
+    /**
+     * 省份id
+     */
+    private Long provinceId;
+
+    /**
+     * 城市id
+     */
+    private Long cityId;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
 }

+ 16 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/logistics/vo/LogisticsInfosVo.java

@@ -1,5 +1,6 @@
 package com.fjhx.victoriatourist.entity.logistics.vo;
 
+import com.fjhx.area.service.SetCustomizeAreaName;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
 import lombok.Getter;
 import lombok.Setter;
@@ -12,7 +13,7 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-public class LogisticsInfosVo extends LogisticsInfos {
+public class LogisticsInfosVo extends LogisticsInfos implements SetCustomizeAreaName {
 
     /**
      * 物流公司名称
@@ -24,4 +25,18 @@ public class LogisticsInfosVo extends LogisticsInfos {
      */
     private Long purchaseId;
 
+    /**
+     * 国家名称
+     */
+    private String countryName;
+    /**
+     * 省名称
+     */
+    private String cityName;
+    /**
+     * 市名称
+     */
+    private String provinceName;
+
+
 }

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

@@ -7,7 +7,9 @@ import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.kd100.entity.company.po.CompanyInfo;
 import com.fjhx.kd100.entity.logistics.po.LogisticsInfo;
 import com.fjhx.kd100.event.Kd100CallbackEvent;
@@ -28,13 +30,13 @@ import com.fjhx.victoriatourist.service.jd.JdBackDetailsService;
 import com.fjhx.victoriatourist.service.jd.JdBackService;
 import com.fjhx.victoriatourist.service.logistics.LogisticsDetailsService;
 import com.fjhx.victoriatourist.service.logistics.LogisticsInfosService;
-import com.fjhx.common.utils.Assert;
 import com.fjhx.victoriatourist.utils.LogisticsConstant;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -88,6 +90,8 @@ public class LogisticsInfosServiceImpl extends ServiceImpl<LogisticsInfosMapper,
                 record.setLogisticsCompanyName(name);
             }
         }
+        //赋值国省市名称
+        CustomizeAreaUtil.setAreaName(records);
         return page;
     }
 
@@ -95,6 +99,8 @@ public class LogisticsInfosServiceImpl extends ServiceImpl<LogisticsInfosMapper,
     public LogisticsInfosVo detail(Long id) {
         LogisticsInfos LogisticsInfos = this.getById(id);
         LogisticsInfosVo result = BeanUtil.toBean(LogisticsInfos, LogisticsInfosVo.class);
+        //赋值国省市名称
+        CustomizeAreaUtil.setAreaName(Collections.singletonList(result));
         return result;
     }
 

+ 11 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fjhx.victoriatourist.service.purchase.impl;
 
+import ch.qos.logback.core.net.AbstractSSLSocketAppender;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
@@ -188,15 +189,23 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
     @DSTransactional
     @Override
     public void backOuts(StockWaitDto stockWaitDto) {
+        StockWait byId = stockWaitService.getById(stockWaitDto.getId());
+        Assert.notEmpty(byId,"无法查询到待出库信息");
         //创建物流数据
         LogisticsInfos logisticsInfos = new LogisticsInfos();
-        logisticsInfos.setBusinessId(stockWaitDto.getId());
-        logisticsInfos.setBusinessCode(stockWaitDto.getBusinessCode());
+        logisticsInfos.setBusinessId(byId.getId());
+        logisticsInfos.setBusinessCode(byId.getBusinessCode());
         logisticsInfos.setBusinessType(5);//采购退货
         logisticsInfos.setLogisticsCompanyCode(stockWaitDto.getLogisticsCompanyCode());
         logisticsInfos.setCode(stockWaitDto.getLogisticsCode());
         logisticsInfos.setWarehouseId(stockWaitDto.getWarehouseId());
         logisticsInfos.setIsKd100(0);
+
+        logisticsInfos.setCountryId(stockWaitDto.getCountryId());//国家id
+        logisticsInfos.setCityId(stockWaitDto.getCityId());//省id
+        logisticsInfos.setProvinceId(stockWaitDto.getProvinceId());//市id
+        logisticsInfos.setAddress(stockWaitDto.getAddress());
+
         logisticsInfosService.save(logisticsInfos);
 
         List<StockWaitDetails> stockWaitDetailsList = stockWaitDto.getStockWaitDetailsList();
@@ -227,7 +236,6 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
             logisticsDetailsService.save(logisticsDetails);
         }
 
-        StockWait byId = stockWaitService.getById(stockWaitDto.getId());
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setOpType(byId.getType());

+ 5 - 1
hx-victoriatourist/src/main/resources/mapper/logistics/LogisticsInfosMapper.xml

@@ -17,7 +17,11 @@
             li.create_user,
             li.create_time,
             li.update_user,
-            li.update_time
+            li.update_time,
+            li.country_id,
+            li.province_id,
+            li.city_id,
+            li.address
         from logistics_infos li
             ${ew.customSqlSegment}
     </select>

+ 8 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockJournalDetailsController.java

@@ -39,6 +39,14 @@ public class StockJournalDetailsController {
     }
 
     /**
+     * 出入库记录明细分页 维多利亚
+     */
+    @PostMapping("/pageByWdly")
+    public Page<StockJournalDetailsVo> pageByWdly(@RequestBody StockJournalSelectDto dto) {
+        return stockJournalDetailsService.getPageByWdly(dto);
+    }
+
+    /**
      * 出入库记录明细明细
      */
     @PostMapping("/detail")

+ 21 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockWaitDto.java

@@ -5,6 +5,7 @@ import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
 import java.util.List;
 
 /**
@@ -37,4 +38,24 @@ public class StockWaitDto extends StockWait {
      */
     private String logisticsCode;
 
+    /**
+     * 国家表id
+     */
+    private Long countryId;
+
+    /**
+     * 省份id
+     */
+    private Long provinceId;
+
+    /**
+     * 城市id
+     */
+    private Long cityId;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
 }

+ 14 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockJournalDetailsVo.java

@@ -75,4 +75,18 @@ public class StockJournalDetailsVo extends StockJournalDetails {
      */
     private String logisticsCode;
 
+    /**
+     * 产品类型
+     */
+    private String productCustomCode;
+
+    /**
+     * 业务id
+     */
+    private Long businessId;
+
+    /**
+     * 关联单号
+     */
+    private String linkCode;
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockJournalDetailsService.java

@@ -26,6 +26,11 @@ public interface StockJournalDetailsService extends BaseService<StockJournalDeta
     Page<StockJournalDetailsVo> getPage(StockJournalSelectDto dto);
 
     /**
+     * 出入库记录明细分页 维多利亚
+     */
+    Page<StockJournalDetailsVo> getPageByWdly(StockJournalSelectDto dto);
+
+    /**
      * 出入库记录明细明细
      */
     StockJournalDetailsVo detail(Long id);

+ 46 - 18
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockJournalDetailsServiceImpl.java

@@ -1,25 +1,25 @@
 package com.fjhx.wms.service.stock.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
-import com.fjhx.item.entity.product.po.ProductInfo;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
 import com.fjhx.wms.entity.stock.po.StockJournal;
 import com.fjhx.wms.entity.stock.po.StockJournalDetails;
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
 import com.fjhx.wms.mapper.stock.StockJournalDetailsMapper;
 import com.fjhx.wms.service.stock.StockJournalDetailsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsSelectDto;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
-import com.ruoyi.common.utils.wrapper.IWrapper;
-import cn.hutool.core.bean.BeanUtil;
 
 import java.util.List;
 import java.util.Map;
@@ -37,22 +37,27 @@ import java.util.stream.Collectors;
 @Service
 public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDetailsMapper, StockJournalDetails> implements StockJournalDetailsService {
     @Autowired
-    ProductInfoService productInfoService;
+    private ProductInfoService productInfoService;
     @Autowired
-    WarehouseService warehouseService;
+    private WarehouseService warehouseService;
+    @Autowired
+    private StockWaitService stockWaitService;
 
     @Override
     public Page<StockJournalDetailsVo> getPage(StockJournalSelectDto dto) {
         IWrapper<StockJournalDetails> wrapper = getWrapper();
-        wrapper.eq("sj.op_type",dto.getOpType());
-        wrapper.eq("sj.type",dto.getType());
-        wrapper.like("w.name",dto.getKeyword());
-        wrapper.eq("w.id",dto.getWarehouseId());
-        wrapper.eq("sj.to_warehouse_id",dto.getToWarehouseId());
-        wrapper.eq("sjd.product_id",dto.getProductId());
+        wrapper.eq("sj.op_type", dto.getOpType());
+        wrapper.eq("sj.type", dto.getType());
+        wrapper.like("w.name", dto.getKeyword());
+        wrapper.eq("w.id", dto.getWarehouseId());
+        wrapper.eq("sj.to_warehouse_id", dto.getToWarehouseId());
+        wrapper.eq("sjd.product_id", dto.getProductId());
         wrapper.orderByDesc("sj", StockJournal::getCreateTime);
         Page<StockJournalDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<StockJournalDetailsVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
         // 赋值产品属性
         productInfoService.attributeAssign(records, StockJournalDetailsVo::getProductId, (item, product) -> {
             item.setProductCode(product.getCode());
@@ -60,9 +65,10 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
             item.setProductType(product.getType());
             item.setProductName(product.getName());
             item.setProductSpec(product.getSpec());
+            item.setProductCustomCode(product.getCustomCode());
         });
         //赋值操作人名称
-        UserUtil.assignmentNickName(records,StockJournalDetailsVo::getCreateUser,StockJournalDetailsVo::setOpUserName);
+        UserUtil.assignmentNickName(records, StockJournalDetailsVo::getCreateUser, StockJournalDetailsVo::setOpUserName);
         //赋值目标仓库名称
         warehouseService.attributeAssign(records, StockJournalDetailsVo::getToWarehouseId, (item, warehouse) -> {
             item.setToWarehouseName(warehouse.getName());
@@ -71,6 +77,28 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
     }
 
     @Override
+    public Page<StockJournalDetailsVo> getPageByWdly(StockJournalSelectDto dto) {
+        Page<StockJournalDetailsVo> page = getPage(dto);
+        List<StockJournalDetailsVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+        //给采购退货的数据赋值关联单号
+        List<Long> swIds = records.stream().filter(x -> x.getType() == 13).map(StockJournalDetailsVo::getBusinessId).collect(Collectors.toList());
+        if (ObjectUtil.isNotEmpty(swIds)) {
+            Map<Long, StockWait> stockWaitMap = stockWaitService.mapKEntity(StockWait::getId, q -> q.in(StockWait::getId, swIds));
+            for (StockJournalDetailsVo record : records) {
+                StockWait stockWait = stockWaitMap.get(record.getBusinessId());
+                if(ObjectUtil.isEmpty(stockWait)){
+                    continue;
+                }
+                record.setLinkCode(stockWait.getBusinessCode());
+            }
+        }
+        return page;
+    }
+
+    @Override
     public StockJournalDetailsVo detail(Long id) {
         StockJournalDetails StockJournalDetails = this.getById(id);
         StockJournalDetailsVo result = BeanUtil.toBean(StockJournalDetails, StockJournalDetailsVo.class);

+ 3 - 3
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitDetailsServiceImpl.java

@@ -174,9 +174,9 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
             BigDecimal receiptQuantity = stockWaitDetails.getReceiptQuantity();
             receiptQuantity = ObjectUtil.isEmpty(receiptQuantity) ? BigDecimal.ZERO : receiptQuantity;
             stockWaitDetails.setReceiptQuantity(receiptQuantity.add(stockWaitDetailsDto.getQuantity()));
-            if (stockWaitDetails.getReceiptQuantity().compareTo(stockWaitDetails.getQuantity()) > 0) {
-                throw new ServiceException("出库数量+已出库数量不能大于待出库数量");
-            }
+//            if (stockWaitDetails.getReceiptQuantity().compareTo(stockWaitDetails.getQuantity()) > 0) {
+//                throw new ServiceException("出库数量+已出库数量不能大于待出库数量");
+//            }
             updateById(stockWaitDetails);
         }
 

+ 4 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -107,6 +107,10 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         wrapper.eq(StockWait::getBusinessCode, dto.getKeyword());
         wrapper.eq(StockWait::getStatus, dto.getStatus());
         wrapper.eq("sw", StockWait::getBusinessType, dto.getBusinessType());
+
+        //过滤掉待入库待出库已完成数据
+        wrapper.ne("sw", StockWait::getStatus, 2);
+
         Page<StockWaitVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 
         List<StockWaitVo> records = page.getRecords();

+ 2 - 1
hx-wms/src/main/resources/mapper/stock/StockJournalDetailsMapper.xml

@@ -12,7 +12,8 @@
             sjd.product_id,
             sjd.quantity,
             sjd.create_time,
-            sjd.create_user
+            sjd.create_user,
+            sj.business_id
         FROM
             stock_journal sj
                 JOIN stock_journal_details sjd ON sjd.stock_journal_id = sj.id