Explorar o código

待出库功能修改

yzc hai 1 ano
pai
achega
11a877b4b9

+ 1 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -3087,6 +3087,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
             stockWaitDetails.setQuantity(contractProduct.getQuantity());
             stockWaitDetails.setReceiptQuantity(BigDecimal.ZERO);
             stockWaitDetails.setBusinessDetailsId(contractProduct.getId());
+            stockWaitDetails.setContractDetailId(contractProduct.getId());
             stockWaitDetailsList.add(stockWaitDetails);
         }
         stockWaitDetailsService.saveBatch(stockWaitDetailsList);

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/po/StockWaitDetails.java

@@ -65,4 +65,9 @@ public class StockWaitDetails extends BasePo {
      */
     private Long prodTaskId;
 
+    /**
+     * 合同明细id
+     */
+    private Long contractDetailId;
+
 }

+ 9 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockWaitDetailsVo.java

@@ -99,4 +99,13 @@ public class StockWaitDetailsVo extends StockWaitDetails {
      */
     private String productReverseTexture;
 
+    /**
+     * 合同产品单价
+     */
+    private BigDecimal contractProductPrice;
+    /**
+     * 合同产品出厂价
+     */
+    private BigDecimal contractProductFactoryPrice;
+
 }

+ 49 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockWaitVo.java

@@ -4,6 +4,7 @@ import com.fjhx.wms.entity.stock.po.StockWait;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -22,12 +23,60 @@ public class StockWaitVo extends StockWait {
 
     private String companyName;
 
+    /**
+     * 采购id
+     */
     private Long purchaseUserId;
     private String purchaseUserName;
 
+    /**
+     * 仓库id
+     */
     private Long warehouseId;
     private String warehouseName;
 
+    /**
+     * 出入库人
+     */
     private Long inOutUserId;
     private String inOutUserName;
+
+    /**
+     * 合同编号
+     */
+    private String contractCode;
+    private String contractType;
+
+    /**
+     * 客户id
+     */
+    private Long customerId;
+    private String customerName;
+
+    /**
+     * 生产公司id
+     */
+    private Long prodCompanyId;
+    private String prodCompanyName;
+
+    /**
+     * 跟单员
+     */
+    private Long merchUserId;
+    private String merchUserName;
+
+    /**
+     * 业务员
+     */
+    private Long salesmanId;
+    private String salesmanName;
+
+    /**
+     * 合同总金额
+     */
+    private BigDecimal contractAmount;
+    /**
+     * 合同出场总金额
+     */
+    private BigDecimal contractFactoryAmount;
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/mapper/stock/StockWaitDetailsMapper.java

@@ -8,6 +8,8 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -25,6 +27,9 @@ public interface StockWaitDetailsMapper extends BaseMapper<StockWaitDetails> {
      */
     Page<StockWaitDetailsVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<StockWaitDetails> wrapper);
 
+    List<StockWaitDetailsVo> getList(@Param("ew") IWrapper<StockWaitDetails> wrapper);
+
+
     void updateOrderStatusByContractId(@Param("contractId") Long contractId, @Param("status") Integer status);
 
 }

+ 9 - 4
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitDetailsService.java

@@ -1,12 +1,15 @@
 package com.fjhx.wms.service.stock;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
+import com.fjhx.wms.entity.stock.dto.StockWaitDetailsSelectDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.fjhx.wms.entity.stock.po.StockWaitDetails;
-import com.ruoyi.common.core.service.BaseService;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo;
-import com.fjhx.wms.entity.stock.dto.StockWaitDetailsSelectDto;
-import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
+import com.ruoyi.common.core.service.BaseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+
+import java.util.List;
 
 
 /**
@@ -24,6 +27,8 @@ public interface StockWaitDetailsService extends BaseService<StockWaitDetails> {
      */
     Page<StockWaitDetailsVo> getPage(StockWaitDetailsSelectDto dto);
 
+    List<StockWaitDetailsVo> getList(IWrapper<StockWaitDetails> wrapper);
+
     /**
      * 待出入库明细明细
      */

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

@@ -89,6 +89,11 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
     }
 
     @Override
+    public List<StockWaitDetailsVo> getList(IWrapper<StockWaitDetails> wrapper) {
+        return baseMapper.getList(wrapper);
+    }
+
+    @Override
     public StockWaitDetailsVo detail(Long id) {
         StockWaitDetails StockWaitDetails = this.getById(id);
         StockWaitDetailsVo result = BeanUtil.toBean(StockWaitDetails, StockWaitDetailsVo.class);

+ 18 - 2
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.entity.InOutBo;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.item.entity.product.po.ProductStockInfo;
 import com.fjhx.item.service.product.ProductInfoService;
@@ -66,6 +67,8 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
     private ISysDeptService deptService;
     @Autowired
     private ProductStockInfoService productStockInfoService;
+    @Autowired
+    private CustomerService customerService;
 
     @Override
     public Page<StockWaitVo> getPage(StockWaitSelectDto dto) {
@@ -110,8 +113,8 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
     private void setDetailsInfo(List<StockWaitVo> records) {
         //获取明细列表
         List<Long> swIds = records.stream().map(StockWait::getId).collect(Collectors.toList());
-        List<StockWaitDetails> list = stockWaitDetailsService.list(q -> q.in(StockWaitDetails::getStockWaitId, swIds));
-        List<StockWaitDetailsVo> voList = BeanUtil.copyToList(list, StockWaitDetailsVo.class);
+        List<StockWaitDetailsVo> voList = stockWaitDetailsService.getList(IWrapper.<StockWaitDetails>getWrapper().in(StockWaitDetails::getStockWaitId, swIds));
+        ;
         productInfoService.attributeAssign(voList, StockWaitDetails::getProductId, (item, productInfo) -> {
             item.setProductCode(productInfo.getCustomCode());
             item.setProductCustomCode(productInfo.getCustomCode());
@@ -152,6 +155,9 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         Map<Long, String> companyMap = companyList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
         for (StockWaitVo record : records) {
             record.setCompanyName(companyMap.get(record.getCompanyId()));
+
+            //生产公司
+            record.setProdCompanyName(companyMap.get(record.getProdCompanyId()));
         }
 
         //赋值采购员信息
@@ -163,6 +169,16 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         //赋值入库员名称
         UserUtil.assignmentNickName(records, StockWaitVo::getInOutUserId, StockWaitVo::setInOutUserName);
 
+        //赋值客户信息
+        customerService.attributeAssign(records, StockWaitVo::getCustomerId, (item, customer) -> {
+            item.setCustomerName(customer.getName());
+        });
+
+        //业务员
+        UserUtil.assignmentNickName(records, StockWaitVo::getMerchUserId, StockWaitVo::setMerchUserName);
+        //跟单员
+        UserUtil.assignmentNickName(records, StockWaitVo::getSalesmanId, StockWaitVo::setSalesmanName);
+
     }
 
     @Override

+ 9 - 2
hx-wms/src/main/resources/mapper/stock/StockWaitDetailsMapper.xml

@@ -15,12 +15,19 @@
             swd.create_user,
             swd.create_time,
             swd.update_user,
-            swd.update_time,
-            swd.victoriatourist_json
+            swd.update_time
         FROM stock_wait_details swd
                  JOIN stock_wait sw ON swd.stock_wait_id = sw.id
             ${ew.customSqlSegment}
     </select>
+    <select id="getList" resultType="com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo">
+        SELECT swd.*,
+               cp.price         as contractProductPrice,
+               cp.factory_price as contractProductFactoryPrice
+        FROM stock_wait_details swd
+                 LEFT JOIN contract_product cp ON swd.contract_detail_id = cp.id
+            ${ew.customSqlSegment}
+    </select>
 
     <update id="updateOrderStatusByContractId">
         UPDATE production_order

+ 13 - 6
hx-wms/src/main/resources/mapper/stock/StockWaitMapper.xml

@@ -36,13 +36,20 @@
                sw.update_user,
                sw.update_time,
                sw.company_id,
-               (SELECT p.purchase_user_id FROM ehsd_purchase p WHERE p.id = sw.purchase_id) as purchaseUserId,
-               (SELECT p.warehouse_id FROM ehsd_purchase p WHERE p.id = sw.purchase_id)     as warehouseId,
-               (SELECT w.keeper_id
-                FROM ehsd_purchase p
-                         JOIN warehouse w ON p.warehouse_id = w.id
-                WHERE p.id = sw.purchase_id)                                                as inOutUserId
+               p.purchase_user_id                                                as purchaseUserId,
+               p.warehouse_id                                                    as warehouseId,
+               (SELECT w.keeper_id FROM warehouse w WHERE p.warehouse_id = w.id) as inOutUserId,
+               c.`code`                                                          AS contractCode,
+               c.contract_type                                                   AS contractType,
+               c.buy_corporation_id                                              as customerId,
+               c.company_id                                                      as prodCompanyId,
+               c.merch_user_id                                                   as merchUserId,
+               c.salesman_id                                                     as salesmanId,
+               c.amount                                                          as contractAmount,
+               c.factory_amount                                                  as contractFactoryAmount
         FROM stock_wait sw
+                 LEFT JOIN ehsd_purchase p ON sw.purchase_id = p.id
+                 LEFT JOIN contract c ON sw.contract_id = c.id
             ${ew.customSqlSegment}
     </select>