Browse Source

Merge remote-tracking branch 'origin/master'

hmc 1 year ago
parent
commit
c957cbef5b
43 changed files with 799 additions and 324 deletions
  1. 2 2
      zkqy-admin/src/main/resources/application.yml
  2. 9 0
      zkqy-business/src/main/java/com/zkqy/business/controller/CommonController.java
  3. 9 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInvoiceController.java
  4. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleOrderController.java
  5. 9 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleProductsController.java
  6. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductCodeList.java
  7. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductHandsetOutboundRecord.java
  8. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductInventory.java
  9. 10 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductInvoice.java
  10. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductOutboundRecord.java
  11. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductWarehousingRecord.java
  12. 10 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleOrder.java
  13. 3 3
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleProducts.java
  14. 22 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java
  15. 2 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductInvoiceVO.java
  16. 12 1
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleOrderVO.java
  17. 69 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleProductsVo.java
  18. 6 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/SaleOrderMapper.java
  19. 7 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/SaleProductsMapper.java
  20. 8 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleOrderService.java
  21. 7 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleProductsService.java
  22. 12 2
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductHandsetOutboundRecordServiceImpl.java
  23. 19 4
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java
  24. 9 1
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java
  25. 21 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java
  26. 5 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleProductsServiceImpl.java
  27. 11 4
      zkqy-custom-business/src/main/resources/mapper/business/ProductCodeListMapper.xml
  28. 5 1
      zkqy-custom-business/src/main/resources/mapper/business/ProductHandsetOutboundRecordMapper.xml
  29. 5 1
      zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml
  30. 8 3
      zkqy-custom-business/src/main/resources/mapper/business/ProductInvoiceMapper.xml
  31. 7 2
      zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordMapper.xml
  32. 7 2
      zkqy-custom-business/src/main/resources/mapper/business/ProductWarehousingRecordMapper.xml
  33. 33 2
      zkqy-custom-business/src/main/resources/mapper/business/SaleOrderMapper.xml
  34. 21 2
      zkqy-custom-business/src/main/resources/mapper/business/SaleProductsMapper.xml
  35. 44 9
      zkqy-ui/src/App.vue
  36. 10 0
      zkqy-ui/src/api/login.js
  37. 23 0
      zkqy-ui/src/layout/index.vue
  38. 19 11
      zkqy-ui/src/router/index.js
  39. 130 128
      zkqy-ui/src/views/orderMange/ProductInvoice/index.vue
  40. 3 3
      zkqy-ui/src/views/orderMange/approve.vue
  41. 0 1
      zkqy-ui/src/views/orderMange/codeListManage/index.vue
  42. 10 10
      zkqy-ui/src/views/orderMange/index.vue
  43. 146 132
      zkqy-ui/src/views/orderMange/outStock/index.vue

+ 2 - 2
zkqy-admin/src/main/resources/application.yml

@@ -105,8 +105,8 @@ token:
   header: Authorization
   # 令牌密钥
   secret: abcdefghijklmnopqrstuvwxyz
-  # 令牌有效期(默认30分钟)
-  expireTime: 3000000
+  # 令牌有效期(默认30分钟)3000000
+  expireTime: 144000000
 
 # MyBatis配置
 mybatis:

+ 9 - 0
zkqy-business/src/main/java/com/zkqy/business/controller/CommonController.java

@@ -182,4 +182,13 @@ public class CommonController extends BaseController {
     public AjaxResult dragGroupTableInfo(CommonEntity commonEntity) {
         return   AjaxResult.success(dragTableGroupService.selectDragTableGroup(commonEntity.getQueryMap().get("groupKey").toString()));
     }
+
+    /**
+     * 刷新token
+     */
+    @GetMapping("/refreshToken")
+    public AjaxResult refreshToken() {
+        return success();
+    }
+
 }

+ 9 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInvoiceController.java

@@ -2,10 +2,16 @@ package com.zkqy.business.controller;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.zkqy.common.core.domain.entity.SysRole;
+import com.zkqy.common.utils.SecurityUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.User;
 import org.springframework.web.bind.annotation.*;
 import com.zkqy.common.annotation.Log;
 import com.zkqy.common.core.controller.BaseController;
@@ -113,6 +119,9 @@ public class ProductInvoiceController extends BaseController
         return success(productInvoiceService.productInvoiceInfo(saleOrderNo));
     }
 
+    /**
+     * 查询发货单货品信息
+     */
     @GetMapping("/saleStorageDetails")
     public AjaxResult saleStorageDetails(@RequestParam("id") Long id)
     {

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleOrderController.java

@@ -131,5 +131,16 @@ public class SaleOrderController extends BaseController {
         return toAjax(saleOrderService.batchApproval(vo));
     }
 
+    /**
+     * 销售单列表--权限过滤
+     */
+    @GetMapping("/saleOrderList")
+    public TableDataInfo saleOrderList(SaleOrder saleOrder){
+        startPage();
+        List<SaleOrderVO> list = saleOrderService.saleOrderList(saleOrder);
+        return getDataTable(list);
+    }
+
+
 
 }

+ 9 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleProductsController.java

@@ -115,4 +115,13 @@ public class SaleProductsController extends BaseController {
     public AjaxResult remove(@PathVariable List<Long> ids) {
         return toAjax(saleProductsService.deleteSaleProductsByIds(ids));
     }
+
+    /**
+     * 销售出库单货品信息
+     */
+    @GetMapping("/outboundOrderInfo")
+    public AjaxResult outboundOrder(@RequestParam("saleOrderNo") String saleOrderNo){
+        return AjaxResult.success(saleProductsService.selectOutboundOrderInfo(saleOrderNo));
+    }
+
 }

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductCodeList.java

@@ -32,6 +32,9 @@ public class ProductCodeList extends BaseEntity
     @Excel(name = "货品编号")
     private Long productId;
 
+    /** 产品色泽 */
+    private String productColour;
+
     /** 等级 */
     @Excel(name = "等级")
     private String levels;
@@ -347,6 +350,14 @@ public class ProductCodeList extends BaseEntity
         this.totalGrossWeight = totalGrossWeight;
     }
 
+    public String getProductColour() {
+        return productColour;
+    }
+
+    public void setProductColour(String productColour) {
+        this.productColour = productColour;
+    }
+
     @Override
     public String toString() {
         return "ProductCodeList{" +

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductHandsetOutboundRecord.java

@@ -135,6 +135,9 @@ public class ProductHandsetOutboundRecord extends BaseEntity
     @Excel(name = "通知单号")
     private String noticeNumber;
 
+    /** 产品色泽 */
+    private String productColour;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -406,6 +409,14 @@ public class ProductHandsetOutboundRecord extends BaseEntity
         return noticeNumber;
     }
 
+    public String getProductColour() {
+        return productColour;
+    }
+
+    public void setProductColour(String productColour) {
+        this.productColour = productColour;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductInventory.java

@@ -134,6 +134,9 @@ public class ProductInventory extends BaseEntity
     @Excel(name = "合计毛重")
     private Double totalGrossWeight;
 
+    /** 产品色泽 */
+    private String productColour;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -405,6 +408,14 @@ public class ProductInventory extends BaseEntity
         return totalGrossWeight;
     }
 
+    public String getProductColour() {
+        return productColour;
+    }
+
+    public void setProductColour(String productColour) {
+        this.productColour = productColour;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 10 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductInvoice.java

@@ -116,6 +116,8 @@ public class ProductInvoice extends BaseEntity
     @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd")
     private Date deliveryDate;
 
+    /** 发货员 */
+    private String deliveryClerk;
 
     public void setId(Long id) 
     {
@@ -348,6 +350,14 @@ public class ProductInvoice extends BaseEntity
         this.customerName = customerName;
     }
 
+    public String getDeliveryClerk() {
+        return deliveryClerk;
+    }
+
+    public void setDeliveryClerk(String deliveryClerk) {
+        this.deliveryClerk = deliveryClerk;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductOutboundRecord.java

@@ -134,6 +134,9 @@ public class ProductOutboundRecord extends BaseEntity
     /** 通知单号 */
     private String noticeNumber;
 
+    /** 产品色泽 */
+    private String productColour;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -404,6 +407,14 @@ public class ProductOutboundRecord extends BaseEntity
         this.noticeNumber = noticeNumber;
     }
 
+    public String getProductColour() {
+        return productColour;
+    }
+
+    public void setProductColour(String productColour) {
+        this.productColour = productColour;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductWarehousingRecord.java

@@ -130,6 +130,9 @@ public class ProductWarehousingRecord extends BaseEntity
     /** 仓库编号 */
     private Long warehouseId;
 
+    /** 产品色泽 */
+    private String productColour;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -391,6 +394,14 @@ public class ProductWarehousingRecord extends BaseEntity
         this.warehouseId = warehouseId;
     }
 
+    public String getProductColour() {
+        return productColour;
+    }
+
+    public void setProductColour(String productColour) {
+        this.productColour = productColour;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 10 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleOrder.java

@@ -128,6 +128,8 @@ public class SaleOrder extends BaseEntity
     @Excel(name = "交货日期")
     private String lotNumber;
 
+    //超级查询
+    private String queryParam;
 
     public String getLotNumber() {
         return lotNumber;
@@ -380,6 +382,14 @@ public class SaleOrder extends BaseEntity
         return deliveryDate;
     }
 
+    public String getQueryParam() {
+        return queryParam;
+    }
+
+    public void setQueryParam(String queryParam) {
+        this.queryParam = queryParam;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 3 - 3
zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleProducts.java

@@ -36,7 +36,7 @@ public class SaleProducts extends BaseEntity
 
     /** 销售数量 */
     @Excel(name = "销售数量")
-    private Long productNumber;
+    private Double productNumber;
 
     /** 销售重量 kg */
     @Excel(name = "销售重量 kg")
@@ -163,12 +163,12 @@ public class SaleProducts extends BaseEntity
     {
         return productName;
     }
-    public void setProductNumber(Long productNumber) 
+    public void setProductNumber(Double productNumber)
     {
         this.productNumber = productNumber;
     }
 
-    public Long getProductNumber() 
+    public Double getProductNumber()
     {
         return productNumber;
     }

+ 22 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java

@@ -32,6 +32,9 @@ public class ProductCodeListVO extends BaseEntity
     /** 货品编号 */
     private Long productId;
 
+    /** 产品色泽 */
+    private String productColour;
+
     /** 等级 */
     private String levels;
 
@@ -137,6 +140,9 @@ public class ProductCodeListVO extends BaseEntity
     /** 入库时间 */
     private Date warehousingTime;
 
+    /** 通知单号 */
+    private String noticeNumber;
+
     public Long getId() {
         return id;
     }
@@ -463,6 +469,22 @@ public class ProductCodeListVO extends BaseEntity
         this.warehousingTime = warehousingTime;
     }
 
+    public String getNoticeNumber() {
+        return noticeNumber;
+    }
+
+    public void setNoticeNumber(String noticeNumber) {
+        this.noticeNumber = noticeNumber;
+    }
+
+    public String getProductColour() {
+        return productColour;
+    }
+
+    public void setProductColour(String productColour) {
+        this.productColour = productColour;
+    }
+
     @Override
     public String toString() {
         return "ProductCodeListVO{" +

+ 2 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductInvoiceVO.java

@@ -441,6 +441,8 @@ public class ProductInvoiceVO extends BaseEntity
         /** 实发重量 */
         private Double actualWeight;
 
+
+
         public String getProductCode() {
             return productCode;
         }

+ 12 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleOrderVO.java

@@ -24,7 +24,7 @@ public class SaleOrderVO {
     /** 预计下单时间(未使用) */
     private Date saleEstimatedTime;
 
-    /** 交货日期 */
+    /** 交货天数 */
     private String saleLeadTime;
 
     /** 订单销售产品集合编号 */
@@ -96,6 +96,9 @@ public class SaleOrderVO {
     /** 销售单编号集合 */
     private List<Long> idList;
 
+    /** 客户名称 */
+    private String customName;
+
     public Long getId() {
         return id;
     }
@@ -328,6 +331,14 @@ public class SaleOrderVO {
         this.idList = idList;
     }
 
+    public String getCustomName() {
+        return customName;
+    }
+
+    public void setCustomName(String customName) {
+        this.customName = customName;
+    }
+
     @Override
     public String toString() {
         return "SaleOrderVO{" +

+ 69 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleProductsVo.java

@@ -4,14 +4,34 @@ import com.zkqy.business.domain.SaleProducts;
 
 public class SaleProductsVo extends SaleProducts {
 
+    /** 客户名称 */
     private  String customName;
 
+    /** 物料转码 */
     private  String  materieEncoding;
 
+    /** 物料色号 */
     private  String  materieColorNumber;
 
+    /** 产品规格 */
     private  String productSpecifications;
 
+    /** 产品名称 */
+    private String productName;
+
+    /** 批号 */
+    private String lotNumber;
+
+    /** 产品数量 */
+    private Double productNumber;
+
+    /** 产品单价 */
+    private String productUnitPrice;
+
+    /** 产品金额 */
+    private String productAmounts;
+
+
     public String getProductSpecifications() {
         return productSpecifications;
     }
@@ -44,4 +64,53 @@ public class SaleProductsVo extends SaleProducts {
     public void setCustomName(String customName) {
         this.customName = customName;
     }
+
+    @Override
+    public String getProductName() {
+        return productName;
+    }
+
+    @Override
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    @Override
+    public String getLotNumber() {
+        return lotNumber;
+    }
+
+    @Override
+    public void setLotNumber(String lotNumber) {
+        this.lotNumber = lotNumber;
+    }
+
+    @Override
+    public String getProductUnitPrice() {
+        return productUnitPrice;
+    }
+
+    @Override
+    public void setProductUnitPrice(String productUnitPrice) {
+        this.productUnitPrice = productUnitPrice;
+    }
+
+    @Override
+    public String getProductAmounts() {
+        return productAmounts;
+    }
+
+    @Override
+    public void setProductAmounts(String productAmounts) {
+        this.productAmounts = productAmounts;
+    }
+
+    @Override
+    public Double getProductNumber() {
+        return productNumber;
+    }
+
+    public void setProductNumber(Double productNumber) {
+        this.productNumber = productNumber;
+    }
 }

+ 6 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/SaleOrderMapper.java

@@ -91,4 +91,10 @@ public interface SaleOrderMapper
      * 根据销售单合同号查询当前用户编号
      */
     Long selectCustomerIdBySaleNo(String saleNo);
+
+    /**
+     * 查询销售订单列表
+     */
+    List<SaleOrderVO> saleOrderList(SaleOrder saleOrder);
+
 }

+ 7 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/SaleProductsMapper.java

@@ -94,4 +94,11 @@ public interface SaleProductsMapper
      */
     List<ProductInvoiceVO.SaleProductInfo> selectSaleProductsInfo(String saleOrderNo);
 
+    /***
+     * 查询销售出库单详情
+     * @param saleOrderNo
+     * @return
+     */
+    List<SaleProductsVo> selectOutboundOrderInfo(String saleOrderNo);
+
 }

+ 8 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleOrderService.java

@@ -72,5 +72,13 @@ public interface ISaleOrderService
      */
     int batchApproval(SaleOrderVO vo);
 
+    /**
+     * 销售单列表--权限过滤
+     * @param saleOrder
+     * @return
+     */
+    List<SaleOrderVO> saleOrderList(SaleOrder saleOrder);
+
+
 
 }

+ 7 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleProductsService.java

@@ -68,4 +68,11 @@ public interface ISaleProductsService
      * @return 结果
      */
     public int deleteSaleProductsById(Long id);
+
+    /***
+     * 查询销售出库单详情
+     * @param saleOrderNo
+     * @return
+     */
+    List<SaleProductsVo> selectOutboundOrderInfo(String saleOrderNo);
 }

+ 12 - 2
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductHandsetOutboundRecordServiceImpl.java

@@ -113,17 +113,27 @@ public class ProductHandsetOutboundRecordServiceImpl implements IProductHandsetO
     @Override
     @Transactional
     public void productHandsetOutStorage(List<ProductCodeListVO> productCodeListVOList) {
+
+
         for (ProductCodeListVO vo : productCodeListVOList){
             //手持机出库日志
             ProductCodeList productCodeList = productCodeListMapper.selectProductCodeListById(vo.getId());
+            //校验当前码单是否已出库
+            ProductHandsetOutboundRecord productHandsetOutboundRecord1 =
+                    productHandsetOutboundRecordMapper.selectWhetherExist(productCodeList.getQrCode(), vo.getQrCodeId());
+            if (productHandsetOutboundRecord1 != null){
+                continue;
+            }
+
             ProductHandsetOutboundRecord productHandsetOutboundRecord = new ProductHandsetOutboundRecord();
             BeanUtils.copyProperties(productCodeList,productHandsetOutboundRecord);
             productHandsetOutboundRecord.setQrCodeId(vo.getQrCodeId());// 码单号唯一标识
             productHandsetOutboundRecord.setCanisterNum(vo.getCanisterNum()); //筒数
             productHandsetOutboundRecord.setSuttle(vo.getSuttle());//净重
             productHandsetOutboundRecord.setGrossWeight(vo.getGrossWeight());//毛重
-            productHandsetOutboundRecord.setDepositor(vo.getDepositor());//出库人
-            productHandsetOutboundRecord.setWarehousingTime(vo.getWarehousingTime());
+//            productHandsetOutboundRecord.setDepositor(vo.getDepositor());//出库人
+//            productHandsetOutboundRecord.setWarehousingTime(vo.getWarehousingTime());//出库时间
+            productHandsetOutboundRecord.setNoticeNumber(vo.getNoticeNumber());//通知单号
             productHandsetOutboundRecord.setRemark(productCodeList.getRemark());
             productHandsetOutboundRecord.setCreateBy(SecurityUtils.getUsername());
             productHandsetOutboundRecord.setCreateTime(DateUtils.getNowDate());

+ 19 - 4
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java

@@ -120,13 +120,18 @@ public class ProductInventoryServiceImpl implements IProductInventoryService
     @Override
     @Transactional
     public void productStorage(List<ProductCodeListVO> productCodeListVOList) {
+
         for (ProductCodeListVO vo : productCodeListVOList){
             // 日志
             ProductCodeList productCodeList = productCodeListMapper.selectProductCodeListById(vo.getId());
-
+            //校验当前货品是否已入库,已入库跳过本次循环
+            ProductWarehousingRecord productWarehousingRecord1 =
+                    productWarehousingRecordMapper.selectProductWarehousingRecordWhetherExist(productCodeList.getQrCode(), vo.getQrCodeId());
+            if(productWarehousingRecord1 != null){
+                continue;
+            }
             ProductWarehousingRecord productWarehousingRecord = new ProductWarehousingRecord();
             BeanUtils.copyProperties(productCodeList,productWarehousingRecord);
-
             productWarehousingRecord.setQrCodeId(vo.getQrCodeId());
             productWarehousingRecord.setCanisterNum(vo.getCanisterNum());//筒数
             productWarehousingRecord.setSuttle(vo.getSuttle());//净重
@@ -179,8 +184,15 @@ public class ProductInventoryServiceImpl implements IProductInventoryService
     public AjaxResult productOutStorage(List<ProductCodeListVO> productCodeListVOList) {
 
         for (ProductCodeListVO vo : productCodeListVOList){
+
             // 出库日志
             ProductCodeList productCodeList = productCodeListMapper.selectProductCodeListById(vo.getId());
+
+            // 校验当前货品是否已出库,已出库跳过本次循环
+            ProductOutboundRecord productOutboundRecord1 = productOutboundRecordMapper.selectProductOutboundRecordWhetherExist(vo.getQrCode(), vo.getQrCodeId());
+            if(productOutboundRecord1 != null){
+                continue;
+            }
             ProductOutboundRecord productOutboundRecord = new ProductOutboundRecord();
             BeanUtils.copyProperties(productCodeList,productOutboundRecord);
             //二维码唯一标识
@@ -233,12 +245,14 @@ public class ProductInventoryServiceImpl implements IProductInventoryService
     @Override
     @Transactional
     public AjaxResult noticeOutStorage(ProductInvoice productInvoice) {
-        //修改通知单、发货日期、发货仓库、调拨仓库
+        //修改通知单、发货日期、发货仓库、调拨仓库、发货员、
         ProductInvoice productInvoice1 = new ProductInvoice();
         productInvoice1.setId(productInvoice.getId());
         productInvoice1.setDeliveryDate(productInvoice.getDeliveryDate());
         productInvoice1.setDeliveryWarehouse(productInvoice.getDeliveryWarehouse());
         productInvoice1.setTransferWarehouse(productInvoice.getTransferWarehouse());
+        productInvoice1.setDeliveryClerk(productInvoice.getDeliveryClerk());
+        productInvoice1.setStatus("2");
         productInvoiceMapper.updateProductInvoice(productInvoice1);
 
 
@@ -252,7 +266,8 @@ public class ProductInventoryServiceImpl implements IProductInventoryService
 
             ProductOutboundRecord productOutboundRecord = new ProductOutboundRecord();
             BeanUtils.copyProperties(productHandsetOutboundRecord1,productOutboundRecord);
-
+            productOutboundRecord.setWarehousingTime(productInvoice.getDeliveryDate());
+            productOutboundRecord.setDepositor(productInvoice.getDeliveryClerk());
             productOutboundRecordMapper.insertProductOutboundRecord(productOutboundRecord);
 
             //出库 减库存、箱数、筒数、净重、毛重

+ 9 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java

@@ -137,12 +137,20 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
                 if(productOutboundRecord != null){
                     saleProductInfo.setBoxNum(productOutboundRecord.getBoxNum());
                     saleProductInfo.setWeight(productOutboundRecord.getSuttle() == null ? 0 : productOutboundRecord.getSuttle());
+                }else {
+                    saleProductInfo.setBoxNum(0);
+                    saleProductInfo.setWeight(0.0);
                 }
             }
+        }else {
+            for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList){
+                saleProductInfo.setBoxNum(0);
+                saleProductInfo.setWeight(0.0);
+            }
         }
         //查询当前批号库存箱数,重量
         ProductInventory productInventory1 = new ProductInventory();
-        productInventory1.setId(saleProductInfoList.get(0).getProductId());
+        productInventory1.setProductId(saleProductInfoList.get(0).getProductId());
         productInventory1.setLotNum(saleProductInfoList.get(0).getLotNum());
         ProductInventory productInventory = productInventoryMapper.selectProductInventoryByLotNumAndProductId(productInventory1);
         if(productInventory != null){

+ 21 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java

@@ -7,6 +7,7 @@ import com.zkqy.business.domain.SaleProducts;
 import com.zkqy.business.domain.vo.SaleOrderVO;
 import com.zkqy.business.mapper.SaleCraftMapper;
 import com.zkqy.business.mapper.SaleProductsMapper;
+import com.zkqy.common.core.domain.entity.SysRole;
 import com.zkqy.common.utils.DateUtils;
 import com.zkqy.common.utils.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -161,4 +162,24 @@ public class SaleOrderServiceImpl implements ISaleOrderService
     public int batchApproval(SaleOrderVO vo) {
         return saleOrderMapper.batchUpdateSaleOrder(vo);
     }
+
+    @Override
+    public List<SaleOrderVO> saleOrderList(SaleOrder saleOrder) {
+        List<SaleOrderVO> saleOrderVOS = new ArrayList<>();
+        // 查看当前用户角色
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        //查看当前用户角色是否存在销售员角色
+        boolean containsSalesman = roles.stream().anyMatch(role -> "salesman".equals(role.getRoleKey()));
+
+        //查看当前用户是否是租户管理员,是返回全部销售单数据
+        if(SecurityUtils.isLoginUserTenantAdmin()){
+            saleOrderVOS = saleOrderMapper.saleOrderList(saleOrder);
+        }else if(containsSalesman){
+            saleOrder.setCreateById(SecurityUtils.getUserId());
+            saleOrderVOS = saleOrderMapper.saleOrderList(saleOrder);
+        }else {
+            saleOrderVOS = saleOrderMapper.saleOrderList(saleOrder);
+        }
+        return saleOrderVOS;
+    }
 }

+ 5 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleProductsServiceImpl.java

@@ -106,4 +106,9 @@ public class SaleProductsServiceImpl implements ISaleProductsService
     {
         return saleProductsMapper.deleteSaleProductsById(id);
     }
+
+    @Override
+    public List<SaleProductsVo> selectOutboundOrderInfo(String saleOrderNo) {
+        return saleProductsMapper.selectOutboundOrderInfo(saleOrderNo);
+    }
 }

+ 11 - 4
zkqy-custom-business/src/main/resources/mapper/business/ProductCodeListMapper.xml

@@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="qrCode"    column="qr_code"    />
         <result property="lotNum"    column="lot_num"    />
         <result property="productId"    column="product_id"    />
+        <result property="productColour" column="product_colour"/>
         <result property="levels"    column="levels"    />
         <result property="canisterNum"    column="canister_num"    />
         <result property="boxNum"    column="box_num"    />
@@ -46,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="qrCode"    column="qr_code"    />
         <result property="lotNum"    column="lot_num"    />
         <result property="productId"    column="product_id"    />
+        <result property="productColour" column="product_colour"/>
         <result property="levels"    column="levels"    />
         <result property="canisterNum"    column="canister_num"    />
         <result property="boxNum"    column="box_num"    />
@@ -83,7 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <sql id="selectProductCodeListVo">
         select id, qr_code, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time ,
-               total_canister_num, total_box_num, total_suttle, total_gross_weight from {DBNAME}.product_code_list
+               total_canister_num, total_box_num, total_suttle, total_gross_weight,product_colour from {DBNAME}.product_code_list
     </sql>
 
     <select id="selectProductCodeListList" parameterType="com.zkqy.business.domain.vo.ProductCodeListVO" resultMap="ProductCodeListResultVO">
@@ -91,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             pcl.* ,
             p.product_name as product_name,
             p.product_specifications as product_specifications,
-            p.product_color as product_color
+            pcl.product_colour as product_color
         FROM
             {DBNAME}.product_code_list pcl
         LEFT JOIN {DBNAME}.production p ON pcl.product_id = p.id
@@ -102,7 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="lotNum != null  and lotNum != ''"> and pcl.lot_num = #{lotNum}</if>
             <if test="productName != null and productName != ''"> and p.product_name = #{productName}</if>
             <if test="productSpecifications != null and productSpecifications != ''"> and p.product_specifications = #{productSpecifications}</if>
-            <if test="productColor != null and productColor != ''"> and p.product_color = #{productColor}</if>
+            <if test="productColor != null and productColor != ''"> and pcl.product_colour = #{productColor}</if>
     </select>
     
     <select id="selectProductCodeListById" parameterType="Long" resultMap="ProductCodeListResult">
@@ -142,6 +144,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalBoxNum != null">total_box_num,</if>
             <if test="totalSuttle != null">total_suttle,</if>
             <if test="totalGrossWeight != null">total_gross_weight,</if>
+            <if test="productColour != null">product_colour,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -174,6 +177,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalBoxNum != null">#{totalBoxNum},</if>
             <if test="totalSuttle != null">#{totalSuttle},</if>
             <if test="totalGrossWeight != null">#{totalGrossWeight},</if>
+            <if test="productColour != null">#{productColour},</if>
             '0'
          </trim>
     </insert>
@@ -210,6 +214,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalBoxNum != null">total_box_num = #{totalBoxNum},</if>
             <if test="totalSuttle != null">total_suttle = #{totalSuttle},</if>
             <if test="totalGrossWeight != null">total_gross_weight = #{totalGrossWeight},</if>
+            <if test="productColour != null">product_colour = #{productColour},</if>
         </trim>
         where id = #{id}
     </update>
@@ -230,17 +235,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             sp.lot_number AS lotNum,
             p.product_name AS productName,
             p.product_specifications AS productSpecifications,
-            P.product_color AS productColor,
+            concat(ml.materie_encoding,ml.materie_color_number) AS productColor,
             p.id AS productId,
             sc.direction_of_twist AS directionOfTwist
         FROM
             {DBNAME}.sale_products sp
                 LEFT JOIN {DBNAME}.production p ON sp.product_no = p.product_no
                 LEFT JOIN {DBNAME}.sale_craft sc ON sp.sale_order_no = sc.sale_order_no
+                left join {DBNAME}.materiel ml on sp.colour_number = ml.materiel_code
         WHERE
             sp.del_flag = '0'
           AND p.del_flag = '0'
           AND sc.del_flag = '0'
+            and ml.del_flag = '0'
     </select>
 
     <select id="selectMaxCodeList" resultType="string">

+ 5 - 1
zkqy-custom-business/src/main/resources/mapper/business/ProductHandsetOutboundRecordMapper.xml

@@ -40,10 +40,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="depositor"    column="depositor"    />
         <result property="warehouseId"    column="warehouse_id"    />
         <result property="noticeNumber"    column="notice_number"    />
+        <result property="productColour" column="product_colour"/>
     </resultMap>
 
     <sql id="selectProductHandsetOutboundRecordVo">
-        select id, qr_code, qr_code_id, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, warehousing_time, depositor, warehouse_id, notice_number from {DBNAME}.product_handset_outbound_record
+        select id, qr_code, qr_code_id, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, warehousing_time, depositor, warehouse_id, notice_number,product_colour from {DBNAME}.product_handset_outbound_record
     </sql>
 
     <select id="selectProductHandsetOutboundRecordList" parameterType="com.zkqy.business.domain.ProductHandsetOutboundRecord" resultMap="ProductHandsetOutboundRecordResult">
@@ -116,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="depositor != null">depositor,</if>
             <if test="warehouseId != null">warehouse_id,</if>
             <if test="noticeNumber != null">notice_number,</if>
+            <if test="productColour != null">product_colour,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -149,6 +151,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="depositor != null">#{depositor},</if>
             <if test="warehouseId != null">#{warehouseId},</if>
             <if test="noticeNumber != null">#{noticeNumber},</if>
+            <if test="productColour != null">#{productColour},</if>
             '0'
          </trim>
     </insert>
@@ -190,6 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="depositor != null">depositor = #{depositor},</if>
             <if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
             <if test="noticeNumber != null">notice_number = #{noticeNumber},</if>
+            <if test="productColour != null">product_colour = #{productColour},</if>
         </trim>
         where id = #{id}
     </update>

+ 5 - 1
zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml

@@ -40,10 +40,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="totalBoxNum"    column="total_box_num"    />
         <result property="totalSuttle"    column="total_suttle"    />
         <result property="totalGrossWeight"    column="total_gross_weight"    />
+        <result property="productColour" column="product_colour"/>
     </resultMap>
 
     <sql id="selectProductInventoryVo">
-        select id, qr_code, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, warehouse_id, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, total_canister_num, total_box_num, total_suttle, total_gross_weight from {DBNAME}.product_inventory
+        select id, qr_code, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, warehouse_id, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, total_canister_num, total_box_num, total_suttle, total_gross_weight,product_colour from {DBNAME}.product_inventory
     </sql>
 
     <select id="selectProductInventoryList" parameterType="com.zkqy.business.domain.ProductInventory" resultMap="ProductInventoryResult">
@@ -120,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalBoxNum != null">total_box_num,</if>
             <if test="totalSuttle != null">total_suttle,</if>
             <if test="totalGrossWeight != null">total_gross_weight,</if>
+            <if test="productColour != null">product_colour,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="qrCode != null">#{qrCode},</if>
@@ -156,6 +158,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalBoxNum != null">#{totalBoxNum},</if>
             <if test="totalSuttle != null">#{totalSuttle},</if>
             <if test="totalGrossWeight != null">#{totalGrossWeight},</if>
+            <if test="productColour != null">#{productColour},</if>
          </trim>
     </insert>
 
@@ -196,6 +199,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalBoxNum != null">total_box_num = #{totalBoxNum},</if>
             <if test="totalSuttle != null">total_suttle = #{totalSuttle},</if>
             <if test="totalGrossWeight != null">total_gross_weight = #{totalGrossWeight},</if>
+            <if test="productColour != null">product_colour = #{productColour},</if>
         </trim>
         where id = #{id}
     </update>

+ 8 - 3
zkqy-custom-business/src/main/resources/mapper/business/ProductInvoiceMapper.xml

@@ -36,10 +36,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="deliveryWarehouse" column="delivery_warehouse"/>
         <result property="transferWarehouse" column="transfer_warehouse"/>
         <result property="deliveryDate" column="deliveryDate"/>
+        <result property="deliveryClerk" column="delivery_clerk"/>
     </resultMap>
 
     <sql id="selectProductInvoiceVo">
-        select id, notice_number, notice_date, salesman, customer_id, drawer, dispatch_note_remark, billing_type, truck_registration, document_type, selling_unit, calculation_type, audit_opinion, status, sale_order_no, spare1, spare2, spare3, spare4, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, delivery_warehouse, transfer_warehouse, delivery_date from {DBNAME}.product_invoice
+        select id, notice_number, notice_date, salesman, customer_id, drawer, dispatch_note_remark, billing_type, truck_registration, document_type, selling_unit, calculation_type, audit_opinion, status, sale_order_no, spare1, spare2, spare3, spare4, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, delivery_warehouse, transfer_warehouse, delivery_date,delivery_clerk from {DBNAME}.product_invoice
     </sql>
 
     <select id="selectProductInvoiceList" parameterType="com.zkqy.business.domain.ProductInvoice" resultMap="ProductInvoiceResult">
@@ -58,7 +59,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND c.del_flag = '0'
             <if test="noticeNumber != null  and noticeNumber != ''"> and pi.notice_number = #{noticeNumber}</if>
             <if test="noticeDate != null "> and pi.notice_date = #{noticeDate}</if>
-            <if test="customerId != null "> and p.customer_id = #{customerId}</if>
+            <if test="customerId != null "> and c.id = #{customerId}</if>
+            <if test="status != null and status != ''"> and pi.status = #{status}</if>
     </select>
     
     <select id="selectProductInvoiceById" parameterType="Long" resultMap="ProductInvoiceResult">
@@ -94,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deliveryWarehouse != null">delivery_warehouse,</if>
             <if test="transferWarehouse != null">transfer_warehouse,</if>
             <if test="deliveryDate != null">deliveryDate,</if>
+            <if test="deliveryClerk != null">delivery_clerk,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -122,6 +125,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deliveryWarehouse != null">#{deliveryWarehouse},</if>
             <if test="transferWarehouse != null">#{transferWarehouse},</if>
             <if test="deliveryDate != null">#{deliveryDate},</if>
+            <if test="deliveryClerk != null">#{deliveryClerk},</if>
             '0'
          </trim>
     </insert>
@@ -153,7 +157,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="deliveryWarehouse != null">delivery_warehouse = #{deliveryWarehouse},</if>
             <if test="transferWarehouse != null">transfer_warehouse = #{transferWarehouse},</if>
-            <if test="deliveryDate != null">deliveryDate = #{deliveryDate},</if>
+            <if test="deliveryDate != null">delivery_date = #{deliveryDate},</if>
+            <if test="deliveryClerk != null">delivery_clerk = #{deliveryClerk},</if>
         </trim>
         where id = #{id}
     </update>

+ 7 - 2
zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordMapper.xml

@@ -40,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="depositor"    column="depositor"    />
         <result property="warehouseId"    column="warehouse_id"    />
         <result property="noticeNumber" column="notice_number"/>
+        <result property="productColour" column="product_colour"/>
     </resultMap>
 
     <resultMap type="com.zkqy.business.domain.vo.ProductCodeListVO" id="ProductCodeListResultVO">
@@ -83,10 +84,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="warehousingTime"    column="warehousing_time"    />
         <result property="depositor"    column="depositor"    />
         <result property="warehouseId" column="warehouse_id"/>
+        <result property="productColour" column="product_colour"/>
     </resultMap>
 
     <sql id="selectProductOutboundRecordVo">
-        select id, qr_code, qr_code_id, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, warehousing_time, depositor, warehouse_id,notice_number from {DBNAME}.product_outbound_record
+        select id, qr_code, qr_code_id, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, warehousing_time, depositor, warehouse_id,notice_number,product_colour from {DBNAME}.product_outbound_record
     </sql>
 
     <select id="selectProductOutboundRecordList" parameterType="com.zkqy.business.domain.ProductOutboundRecord" resultMap="ProductOutboundRecordResult">
@@ -158,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="depositor != null">depositor,</if>
             <if test="warehouseId != null">warehouse_id,</if>
             <if test="noticeNumber != null">notice_number,</if>
+            <if test="productColour != null">product_colour,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -191,6 +194,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="depositor != null">#{depositor},</if>
             <if test="warehouseId != null">#{warehouseId},</if>
             <if test="noticeNumber != null">#{noticeNumber},</if>
+            <if test="productColour != null">#{productColour},</if>
             '0'
          </trim>
     </insert>
@@ -228,6 +232,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="depositor != null">depositor = #{depositor},</if>
             <if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
             <if test="noticeNumber != null">notice_number = #{noticeNumber},</if>
+            <if test="productColour != null">product_colour = #{productColour},</if>
         </trim>
         where id = #{id}
     </update>
@@ -248,7 +253,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         r.qr_code,
         p.product_name,
         p.product_specifications,
-        p.product_color,
+        r.product_colour as product_color,
         r.lot_num,
         r.levels,
         r.packaging,

+ 7 - 2
zkqy-custom-business/src/main/resources/mapper/business/ProductWarehousingRecordMapper.xml

@@ -39,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="warehousingTime"    column="warehousing_time"    />
         <result property="depositor"    column="depositor"    />
         <result property="warehouseId" column="warehouse_id"/>
+        <result property="productColour" column="product_colour"/>
     </resultMap>
 
     <resultMap type="com.zkqy.business.domain.vo.ProductCodeListVO" id="ProductCodeListResultVO">
@@ -82,10 +83,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="warehousingTime"    column="warehousing_time"    />
         <result property="depositor"    column="depositor"    />
         <result property="warehouseId" column="warehouse_id"/>
+        <result property="productColour" column="product_colour"/>
     </resultMap>
 
     <sql id="selectProductWarehousingRecordVo">
-        select id, qr_code, qr_code_id, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, warehousing_time, depositor,warehouse_id from {DBNAME}.product_warehousing_record
+        select id, qr_code, qr_code_id, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, warehousing_time, depositor,warehouse_id,product_colour from {DBNAME}.product_warehousing_record
     </sql>
 
     <select id="selectProductWarehousingRecordList" parameterType="com.zkqy.business.domain.ProductWarehousingRecord" resultMap="ProductWarehousingRecordResult">
@@ -154,6 +156,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="warehousingTime != null">warehousing_time,</if>
             <if test="depositor != null">depositor,</if>
             <if test="warehouseId != null">warehouse_id,</if>
+            <if test="productColour">product_colour,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -186,6 +189,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="warehousingTime != null">#{warehousingTime},</if>
             <if test="depositor != null">#{depositor},</if>
             <if test="warehouseId != null">#{warehouseId},</if>
+            <if test="productColour">#{productColour},</if>
             '0'
          </trim>
     </insert>
@@ -226,6 +230,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="warehousingTime != null">warehousing_time = #{warehousingTime},</if>
             <if test="depositor != null">depositor = #{depositor},</if>
             <if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
+            <if test="productColour">product_colour = #{productColour},</if>
         </trim>
         where id = #{id}
     </update>
@@ -246,7 +251,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             r.qr_code,
             p.product_name,
             p.product_specifications,
-            p.product_color,
+            r.product_colour as product_color,
             r.lot_num,
             r.levels,
             r.packaging,

+ 33 - 2
zkqy-custom-business/src/main/resources/mapper/business/SaleOrderMapper.xml

@@ -45,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectSaleOrderList" parameterType="com.zkqy.business.domain.SaleOrder" resultMap="SaleOrderResult">
         <include refid="selectSaleOrderVo"/>
-        <where>  
+        where del_flag = '0'
             <if test="saleNo != null  and saleNo != ''"> and sale_no = #{saleNo}</if>
             <if test="saleCustomNo != null  and saleCustomNo != ''"> and sale_custom_no = #{saleCustomNo}</if>
             <if test="saleDate != null  and saleDate != ''"> and sale_date = #{saleDate}</if>
@@ -71,7 +71,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="processKey != null  and processKey != ''"> and process_key = #{processKey}</if>
             <if test="earnestMoney != null  and earnestMoney != ''"> and earnest_money = #{earnestMoney}</if>
             <if test="deliveryDate != null  and deliveryDate != ''"> and delivery_date = #{deliveryDate}</if>
-        </where>
     </select>
     
     <select id="selectSaleOrderById" parameterType="Long" resultMap="SaleOrderResult">
@@ -248,4 +247,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           AND c.del_flag = '0'
     </select>
 
+    <select id="saleOrderList" resultType="com.zkqy.business.domain.vo.SaleOrderVO">
+        SELECT
+            so.id,
+            so.sale_no,
+            so.sale_date,
+            c.custom_name,
+            so.sale_order_estimated_time,
+            so.sale_lead_time,
+            so.sale_amount_in_words,
+            so.sale_pay_type,
+            so.salesman,
+            so.sale_leader,
+            so.finance,
+            so.production,
+            so.sale_approver,
+            so.status,
+            so.order_type
+        FROM
+            {DBNAME}.sale_order so left join {DBNAME}.customer c on so.sale_custom_no = c.custom_no
+        where so.del_flag = '0' and c.del_flag = '0'
+        <if test="queryParam != null and queryParam != ''">
+            AND CONCAT(
+                IFNULL( sale_order.sale_no, '' ),
+                IFNULL( customer.custom_name, '' ),
+                IFNULL( sale_order.sale_lead_time, '' ))
+                LIKE concat('%', #{queryParam}, '%')
+        </if>
+        <if test="createById != null "> and so.create_by_id = #{createById}</if>
+        <if test="orderType != null"> and so.order_type = #{orderType}</if>
+        order by so.id desc
+    </select>
+
 </mapper>

+ 21 - 2
zkqy-custom-business/src/main/resources/mapper/business/SaleProductsMapper.xml

@@ -285,19 +285,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                     pt.product_specifications AS productSpecifications,
                     sp.lot_number AS lotNum,
                     sp.product_unit_price AS unitPrice,
-                    pt.product_color AS productColor,
+                    concat(ml.materie_encoding,ml.materie_color_number)  AS productColor,
                     pt.product_type AS productType,
-                    sp.remark,
+                    sp.remark AS productRemark,
                     sp.product_number AS actualWeight
                 FROM
                     {DBNAME}.sale_products sp
                         LEFT JOIN {DBNAME}.production pt ON sp.product_no = pt.product_no
+                    left join {DBNAME}.materiel ml on sp.colour_number = ml.materiel_code
                 WHERE
                     sp.del_flag = '0'
                   AND pt.del_flag = '0'
+                   and  ml.del_flag = '0'
                   AND sp.sale_order_no = #{saleOrderNo}
             ) AS a
                 LEFT JOIN {DBNAME}.product_inventory pi ON a.productId = pi.product_id
                 AND a.lotNum = pi.lot_num AND pi.del_flag = '0'
     </select>
+
+    <select id="selectOutboundOrderInfo" resultType="com.zkqy.business.domain.vo.SaleProductsVo">
+        SELECT
+            p.product_name as productName,
+            p.product_specifications as productSpecifications,
+            sp.lot_number as lotNumber,
+            sp.product_number as productNumber,
+            sp.product_unit_price as productUnitPrice,
+            sp.product_amounts as productAmounts
+        FROM
+            {DBNAME}.sale_products sp
+                LEFT JOIN {DBNAME}.production p ON sp.product_no = p.product_no
+        WHERE
+            sp.del_flag = '0'
+          AND p.del_flag = '0'
+          and sp.sale_order_no = #{saleOrderNo}
+    </select>
 </mapper>

+ 44 - 9
zkqy-ui/src/App.vue

@@ -1,29 +1,64 @@
 <template>
   <div id="app">
-    <router-view /> 
+    <router-view />
     <theme-picker />
   </div>
 </template>
 
 <script>
 import ThemePicker from "@/components/ThemePicker";
+import { refreshToken } from "@/api/login";
+import { getToken } from "@/utils/auth";
 
 export default {
   name: "App",
   components: { ThemePicker },
-    metaInfo() {
-        return {
-            title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
-            titleTemplate: title => {
-                return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
-            }
+  data() {
+    return {
+      timer: null,
+    };
+  },
+  methods: {
+    async startTokenRefresh() {
+      if (this.timer) {
+        clearInterval(this.timer);
+      }
+      let outTime = 5 * 60 * 60 * 1000;
+      this.timer = setInterval(async () => {
+        try {
+          if (!getToken()) return;
+          const response = await refreshToken();
+          console.log(object);
+        } catch (error) {
+          console.error("token刷新失败:", error);
         }
+      }, outTime);
+    },
+  },
+  mounted() {
+    this.startTokenRefresh();
+  },
+  beforeDestroy() {
+    if (this.timer) {
+      clearInterval(this.timer);
     }
+  },
+  metaInfo() {
+    return {
+      title:
+        this.$store.state.settings.dynamicTitle &&
+        this.$store.state.settings.title,
+      titleTemplate: (title) => {
+        return title
+          ? `${title} - ${process.env.VUE_APP_TITLE}`
+          : process.env.VUE_APP_TITLE;
+      },
+    };
+  },
 };
 </script>
-<style >
+<style>
 #app .theme-picker {
   display: none;
 }
-
 </style>

+ 10 - 0
zkqy-ui/src/api/login.js

@@ -71,3 +71,13 @@ export function getCodeImg() {
   })
 }
 
+// 刷新token
+export function refreshToken() {
+  return request({
+    url: '/dragform/common/refreshToken',
+    headers: {
+      isToken: true
+    },
+    method: 'get'
+  })
+}

+ 23 - 0
zkqy-ui/src/layout/index.vue

@@ -82,6 +82,8 @@ import variables from "@/assets/styles/variables.scss";
 import mecLogoLogin from "@/assets/images/mec-logo-login.svg";
 import mes412 from "@/assets/images/mes412.svg";
 
+import { refreshToken } from "@/api/login";
+
 export default {
   name: "Layout",
   components: {
@@ -97,6 +99,7 @@ export default {
       userName: "默认用户",
       title: "",
       logo: "",
+      timer: null,
     };
   },
   mixins: [ResizeMixin],
@@ -136,6 +139,20 @@ export default {
     },
   },
   methods: {
+    async startTokenRefresh() {
+      if (this.timer) {
+        clearInterval(this.timer);
+      }
+      let outTime = 5 * 60 * 60 * 1000;
+      this.timer = setInterval(async () => {
+        try {
+          const response = await refreshToken();
+          console.log(object);
+        } catch (error) {
+          console.error("token刷新失败:", error);
+        }
+      }, outTime);
+    },
     async logout() {
       // this.tenantInfo.tenantClientLoginUrl 退出登录后跳转到登录页面
       this.$confirm("确定注销并退出系统吗?", "提示", {
@@ -173,6 +190,12 @@ export default {
     var user = JSON.parse(user);
     this.userName = JSON.parse(user.data).username;
     this.getlogo();
+    // this.startTokenRefresh();
+  },
+  beforeDestroy() {
+    if (this.timer) {
+      clearInterval(this.timer);
+    }
   },
 };
 </script>

+ 19 - 11
zkqy-ui/src/router/index.js

@@ -54,6 +54,14 @@ export const constantRoutes = [
       }
     ]
   },
+  // {
+  //   path: '/planTable/index',
+  //   component: () => {
+  //     return import('@/views/orderMange/planTable/index')
+  //   },
+  //   hidden: true
+  // },
+
   {
     path: '/redirect',
     component: Layout,
@@ -225,7 +233,7 @@ export const constantRoutes = [
         path: 'index',
         component: () => import('@/views/index'),
         name: 'Index',
-        meta: {title: '首页', icon: 'dashboard', affix: true}
+        meta: { title: '首页', icon: 'dashboard', affix: true }
       }
     ]
   },
@@ -239,7 +247,7 @@ export const constantRoutes = [
         path: 'profile',
         component: () => import('@/views/system/user/profile/index'),
         name: 'Profile',
-        meta: {title: '个人中心', icon: 'user'}
+        meta: { title: '个人中心', icon: 'user' }
       }
     ]
   },
@@ -258,7 +266,7 @@ export const dynamicRoutes = [
         path: 'role/:userId(\\d+)',
         component: () => import('@/views/system/data/index'),
         name: 'AuthRole',
-        meta: {title: '数据源配置', activeMenu: '/system/data'}
+        meta: { title: '数据源配置', activeMenu: '/system/data' }
       }
     ]
   },
@@ -272,7 +280,7 @@ export const dynamicRoutes = [
         path: 'role/:userId(\\d+)',
         component: () => import('@/views/system/user/authRole'),
         name: 'AuthRole',
-        meta: {title: '分配角色', activeMenu: '/system/user'}
+        meta: { title: '分配角色', activeMenu: '/system/user' }
       }
     ]
   },
@@ -286,7 +294,7 @@ export const dynamicRoutes = [
         path: 'fromModel/:index',
         component: () => import('@/views/system/fromModel/index'),
         name: 'fromModel',
-        meta: {title: '表单建模', activeMenu: '/system/fromModel/index'}
+        meta: { title: '表单建模', activeMenu: '/system/fromModel/index' }
       },
       // {
       //   path: '/fromModel/:index',
@@ -307,7 +315,7 @@ export const dynamicRoutes = [
         path: 'user/:roleId(\\d+)',
         component: () => import('@/views/system/role/authUser'),
         name: 'AuthUser',
-        meta: {title: '分配用户', activeMenu: '/system/role'}
+        meta: { title: '分配用户', activeMenu: '/system/role' }
       }
     ]
   },
@@ -321,7 +329,7 @@ export const dynamicRoutes = [
         path: 'index/:dictId(\\d+)',
         component: () => import('@/views/system/dict/data'),
         name: 'Data',
-        meta: {title: '字典数据', activeMenu: '/system/dict'}
+        meta: { title: '字典数据', activeMenu: '/system/dict' }
       }
     ]
   },
@@ -336,7 +344,7 @@ export const dynamicRoutes = [
         path: 'index/:dictId(\\d+)',
         component: () => import('@/views/system/tenant/dict/data'),
         name: 'TenantData',
-        meta: {title: '字典数据', activeMenu: '/system/tenant/dict'}
+        meta: { title: '字典数据', activeMenu: '/system/tenant/dict' }
       }
     ]
   },
@@ -351,7 +359,7 @@ export const dynamicRoutes = [
         path: 'index/:jobId(\\d+)',
         component: () => import('@/views/monitor/job/log'),
         name: 'JobLog',
-        meta: {title: '调度日志', activeMenu: '/monitor/job'}
+        meta: { title: '调度日志', activeMenu: '/monitor/job' }
       }
     ]
   },
@@ -365,7 +373,7 @@ export const dynamicRoutes = [
         path: 'index/:tableId(\\d+)',
         component: () => import('@/views/tool/gen/editTable'),
         name: 'GenEdit',
-        meta: {title: '修改生成配置', activeMenu: '/tool/gen'}
+        meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
       }
     ]
   }
@@ -386,6 +394,6 @@ Router.prototype.replace = function push(location) {
 
 export default new Router({
   mode: 'history', // 去掉url中的#
-  scrollBehavior: () => ({y: 0}),
+  scrollBehavior: () => ({ y: 0 }),
   routes: constantRoutes
 })

+ 130 - 128
zkqy-ui/src/views/orderMange/ProductInvoice/index.vue

@@ -1,32 +1,33 @@
 <template>
-  <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      size="small"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
-      <el-form-item label="通知单号" prop="noticeNumber">
-        <el-input
-          v-model="queryParams.noticeNumber"
-          placeholder="请输入通知单号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="日期" prop="noticeDate">
-        <el-date-picker
-          clearable
-          v-model="queryParams.noticeDate"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="请选择通知日期"
-        >
-        </el-date-picker>
-      </el-form-item>
-      <!-- <el-form-item label="状态" prop="status">
+  <el-card shadow="always" :body-style="{ padding: '10px' }">
+    <div class="app-container">
+      <el-form
+        :model="queryParams"
+        ref="queryForm"
+        size="small"
+        :inline="true"
+        v-show="showSearch"
+        label-width="68px"
+      >
+        <el-form-item label="通知单号" prop="noticeNumber">
+          <el-input
+            v-model="queryParams.noticeNumber"
+            placeholder="请输入通知单号"
+            clearable
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item label="日期" prop="noticeDate">
+          <el-date-picker
+            clearable
+            v-model="queryParams.noticeDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择通知日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <!-- <el-form-item label="状态" prop="status">
         <el-select
           v-model="queryParams.status"
           value-key=""
@@ -45,45 +46,45 @@
         </el-select>
       </el-form-item> -->
 
-      <el-form-item label="客户" prop="customerId">
-        <!-- <el-input
+        <el-form-item label="客户" prop="customerId">
+          <!-- <el-input
           v-model="queryParams.customerId"
           placeholder="请输入客户编号"
           clearable
           @keyup.enter.native="handleQuery"
         /> -->
-        <el-select
-          v-model="queryParams.customerId"
-          placeholder="请选择客户"
-          clearable
-          filterable
-          @change="handleQuery"
-        >
-          <el-option
-            v-for="item in customerOptions"
-            :key="item.id"
-            :label="item.customName"
-            :value="item.id"
+          <el-select
+            v-model="queryParams.customerId"
+            placeholder="请选择客户"
+            clearable
+            filterable
+            @change="handleQuery"
           >
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item>
-        <el-button
-          type="primary"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >搜索</el-button
-        >
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >重置</el-button
-        >
-      </el-form-item>
-    </el-form>
+            <el-option
+              v-for="item in customerOptions"
+              :key="item.id"
+              :label="item.customName"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            size="mini"
+            @click="handleQuery"
+            >搜索</el-button
+          >
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+            >重置</el-button
+          >
+        </el-form-item>
+      </el-form>
 
-    <el-row :gutter="10" class="mb8">
-      <!-- <el-col :span="1.5">
+      <el-row :gutter="10" class="mb8">
+        <!-- <el-col :span="1.5">
         <el-button
           type="primary"
           plain
@@ -129,32 +130,32 @@
           >导出</el-button
         >
       </el-col> -->
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
-    </el-row>
+        <right-toolbar
+          :showSearch.sync="showSearch"
+          @queryTable="getList"
+        ></right-toolbar>
+      </el-row>
 
-    <el-table
-      v-loading="loading"
-      :data="ProductInvoiceList"
-      @selection-change="handleSelectionChange"
-    >
-      <!-- <el-table-column label="编号" align="center" prop="id" />
-       -->
-      <el-table-column
-        label="日期"
-        align="center"
-        prop="noticeDate"
-        width="180"
+      <el-table
+        v-loading="loading"
+        :data="ProductInvoiceList"
+        @selection-change="handleSelectionChange"
       >
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.noticeDate, "{y}-{m}-{d}") }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="通知单号" align="center" prop="noticeNumber" />
+        <!-- <el-table-column label="编号" align="center" prop="id" />
+       -->
+        <el-table-column
+          label="日期"
+          align="center"
+          prop="noticeDate"
+          width="180"
+        >
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.noticeDate, "{y}-{m}-{d}") }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="通知单号" align="center" prop="noticeNumber" />
 
-      <!-- <el-table-column label="销售员" align="center" prop="salesman" />
+        <!-- <el-table-column label="销售员" align="center" prop="salesman" />
       <el-table-column label="客户编号" align="center" prop="customerId" />
       <el-table-column label="开票员" align="center" prop="drawer" />
       <el-table-column
@@ -162,7 +163,7 @@
         align="center"
         prop="dispatchNoteRemark"
       /> -->
-      <!-- <el-table-column label="开票类型" align="center" prop="billingType" />
+        <!-- <el-table-column label="开票类型" align="center" prop="billingType" />
       <el-table-column
         label="货车登记"
         align="center"
@@ -172,53 +173,54 @@
       <el-table-column label="售货单位" align="center" prop="sellingUnit" />
       <el-table-column label="计算类型" align="center" prop="calculationType" />
       <el-table-column label="审核意见" align="center" prop="auditOpinion" /> -->
-      <el-table-column label="客户名称" align="center" prop="customerName" />
-      <el-table-column label="状态" align="center" prop="status" />
+        <el-table-column label="客户名称" align="center" prop="customerName" />
+        <el-table-column label="状态" align="center" prop="status" />
 
-      <!-- <el-table-column label="销售单合同号" align="center" prop="saleOrderNo" />
+        <!-- <el-table-column label="销售单合同号" align="center" prop="saleOrderNo" />
       <el-table-column label="备注" align="center" prop="remark" /> -->
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
-        <template slot-scope="scope">
-          <el-dropdown>
-            <el-button type="warning" plain size="small">
-              处理<i class="el-icon-arrow-down el-icon--right"></i>
-            </el-button>
-            <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item>
-                <el-button
-                  type="text"
-                  size="mini"
-                  @click="handleDeliverOrder(scope.$index, scope.row)"
-                  >打印发货单</el-button
-                >
-              </el-dropdown-item>
-              <el-dropdown-item>
-                <el-button
-                  type="text"
-                  size="mini"
-                  @click="handleSendOrder(scope.$index, scope.row)"
-                  >打印送货单</el-button
-                >
-              </el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </template>
-      </el-table-column>
-    </el-table>
+        <el-table-column
+          label="操作"
+          align="center"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <el-dropdown>
+              <el-button type="warning" plain size="small">
+                处理<i class="el-icon-arrow-down el-icon--right"></i>
+              </el-button>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item>
+                  <el-button
+                    type="text"
+                    size="mini"
+                    @click="handleDeliverOrder(scope.$index, scope.row)"
+                    >打印发货单</el-button
+                  >
+                </el-dropdown-item>
+                <el-dropdown-item>
+                  <el-button
+                    type="text"
+                    size="mini"
+                    @click="handleSendOrder(scope.$index, scope.row)"
+                    >打印送货单</el-button
+                  >
+                </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </template>
+        </el-table-column>
+      </el-table>
 
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-    <div id="printDom"></div>
-  </div>
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+      <div id="printDom"></div>
+    </div>
+  </el-card>
 </template>
 
 <script>

+ 3 - 3
zkqy-ui/src/views/orderMange/approve.vue

@@ -362,7 +362,7 @@
                   </el-select>
                 </template>
               </el-table-column>
-              <el-table-column prop="productType" label="规格">
+              <el-table-column prop="productType" label="类型">
               </el-table-column>
               <el-table-column prop="productNumber" label="数量/kg">
                 <template slot-scope="scope">
@@ -1188,7 +1188,7 @@ export default {
         saleProductNo: uuidv4(),
         productNo: "", //货品编号
         productName: "", //货品名称
-        productType: "", //规格
+        productType: "", //类型
         productNumber: "", //销售数量
         productWeight: "", //销售重量kg
         productUnitPrice: "", //单价
@@ -1610,7 +1610,7 @@ export default {
             return item;
           });
           this.title = "审批审计单";
-          this.approveForm.status=this.approveFormStatusLabel
+          this.approveForm.status = this.approveFormStatusLabel;
           this.open = true;
         }
       } catch (error) {

+ 0 - 1
zkqy-ui/src/views/orderMange/codeListManage/index.vue

@@ -845,7 +845,6 @@ export default {
         //   label: "订单号",
         // },
       ],
-
       // 自定义数据 end
 
       // 遮罩层

+ 10 - 10
zkqy-ui/src/views/orderMange/index.vue

@@ -432,7 +432,7 @@
                       }}</span>
                       <span
                         style="float: right; color: #8492a6; font-size: 13px"
-                        >{{ item.productType }}</span
+                        >{{ item.productSpecifications }}</span
                       >
                     </el-option>
                   </el-select>
@@ -877,13 +877,13 @@ export default {
             trigger: "change",
           },
         ],
-        lotNumber: [
-          {
-            required: true,
-            message: "请输入批号",
-            trigger: "blur",
-          },
-        ],
+        // lotNumber: [
+        //   {
+        //     required: true,
+        //     message: "请输入批号",
+        //     trigger: "blur",
+        //   },
+        // ],
         saleCustomNo: [
           {
             required: true,
@@ -1164,7 +1164,7 @@ export default {
       this.productionTableData.push({
         saleProductNo: uuidv4(),
         productNo: "", //货品编号
-        productType: "", //货品类型
+        productType: "", //类型
         productName: "", //货品名称
         productNumber: "", //销售数量
         productWeight: "", //销售重量kg
@@ -1569,7 +1569,7 @@ export default {
             delete item.delFlag;
             delete item.sliceTypeLabel;
             delete item.colourNumberLabel;
-            delete item.productType; //删除产品类型
+            delete item.productType; //删除类型
             const matchedOption = this.colourNumberOptions.find(
               (option) => option.materielCode === item.colourNumber
             );

+ 146 - 132
zkqy-ui/src/views/orderMange/outStock/index.vue

@@ -1,144 +1,156 @@
 <template>
-  <div class="app-container">
-    <div class="table-area">
-      <el-table
-        :data="leftTableData"
-        border
-        stripe
-        @selection-change="handleSelectionChange"
-        @cell-click="cellClick"
-      >
-        <el-table-column type="selection" width="55" />
-        <el-table-column type="index" label="序号" width="50" />
-        <el-table-column align="center" prop="customerName" label="客户名称">
-        </el-table-column>
-        <el-table-column align="center" prop="noticeNumber" label="通知单号">
-        </el-table-column>
-        <el-table-column align="center" prop="noticeDate" label="开单日期">
-        </el-table-column>
-      </el-table>
-    </div>
-    <div class="form-area">
-      <el-row :gutter="20">
-        <el-form
-          :model="form"
-          ref="form"
-          label-width="80px"
-          :inline="true"
-          size="mini"
-          :rules="rules"
+  <el-card shadow="always" :body-style="{ padding: '10px' }">
+    <div class="app-container">
+      <div class="table-area">
+        <el-table
+          :data="leftTableData"
+          border
+          stripe
+          @selection-change="handleSelectionChange"
+          @cell-click="cellClick"
         >
-          <el-col :span="16">
-            <el-form-item label="通知单号" prop="noticeNumber">
-              <div class="text-area">
-                <span class="mr10">{{ form.noticeNumber }}</span>
-                <span>{{ form.documentTypeName }}</span>
-              </div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="销售员" prop="salesman">
-              {{ form.salesman }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="16">
-            <el-form-item label="客户名称" prop="customerName">
-              {{ form.customerName }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="售货单位" prop="sellingUnit">
-              {{ form.sellingUnit }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="16">
-            <el-form-item label="货车信息" prop="truckRegistration">
-              {{ form.truckRegistration }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="发货员" prop="deliveryClerk">
-              {{ form.deliveryClerk }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="备注" prop="dispatchNoteRemark">
-              {{ form.dispatchNoteRemark }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="发货日期" prop="deliveryDate">
-              <el-date-picker
-                v-model="form.deliveryDate"
-                type="date"
-                size="mini"
-                placeholder="选择日期"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="发货仓库" prop="deliveryWarehouse">
-              <el-select v-model="form.deliveryWarehouse" clearable filterable>
-                <el-option
-                  v-for="item in warehouseList"
-                  :key="item.id"
-                  :label="item.warehouseName"
-                  :value="item.id"
+          <el-table-column type="selection" width="55" />
+          <el-table-column type="index" label="序号" width="50" />
+          <el-table-column align="center" prop="customerName" label="客户名称">
+          </el-table-column>
+          <el-table-column align="center" prop="noticeNumber" label="通知单号">
+          </el-table-column>
+          <el-table-column align="center" prop="noticeDate" label="开单日期">
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="form-area">
+        <el-row :gutter="20">
+          <el-form
+            :model="form"
+            ref="form"
+            label-width="80px"
+            :inline="true"
+            size="mini"
+            :rules="rules"
+          >
+            <el-col :span="16">
+              <el-form-item label="通知单号" prop="noticeNumber">
+                <div class="text-area">
+                  <span class="mr10">{{ form.noticeNumber }}</span>
+                  <span>{{ form.documentTypeName }}</span>
+                </div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="销售员" prop="salesman">
+                {{ form.salesman }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="16">
+              <el-form-item label="客户名称" prop="customerName">
+                {{ form.customerName }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="售货单位" prop="sellingUnit">
+                {{ form.sellingUnit }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="16">
+              <el-form-item label="货车信息" prop="truckRegistration">
+                {{ form.truckRegistration }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="发货员" prop="deliveryClerk">
+                {{ form.deliveryClerk }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注" prop="dispatchNoteRemark">
+                {{ form.dispatchNoteRemark }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="发货日期" prop="deliveryDate">
+                <el-date-picker
+                  v-model="form.deliveryDate"
+                  type="date"
+                  size="mini"
+                  placeholder="选择日期"
                 >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="调拨仓库" prop="transferWarehouse">
-              <el-select v-model="form.transferWarehouse" clearable filterable>
-                <el-option
-                  v-for="item in warehouseList"
-                  :key="item.id"
-                  :label="item.warehouseName"
-                  :value="item.id"
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="发货仓库" prop="deliveryWarehouse">
+                <el-select
+                  v-model="form.deliveryWarehouse"
+                  clearable
+                  filterable
                 >
-                </el-option>
-              </el-select>
+                  <el-option
+                    v-for="item in warehouseList"
+                    :key="item.id"
+                    :label="item.warehouseName"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="调拨仓库" prop="transferWarehouse">
+                <el-select
+                  v-model="form.transferWarehouse"
+                  clearable
+                  filterable
+                >
+                  <el-option
+                    v-for="item in warehouseList"
+                    :key="item.id"
+                    :label="item.warehouseName"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-form-item>
+              <el-button type="primary" @click="outStockHandler"
+                >出库</el-button
+              >
+              <el-button @click="refreshHandler">刷新</el-button>
             </el-form-item>
-          </el-col>
-          <el-form-item>
-            <el-button type="primary" @click="outStockHandler">出库</el-button>
-            <el-button @click="refreshHandler">刷新</el-button>
-          </el-form-item>
-        </el-form>
-      </el-row>
-      <el-table width="100%" :data="saleProductInfoList" border stripe>
-        <el-table-column align="center" label="编码" prop="productCode">
-        </el-table-column>
-        <el-table-column align="center" label="品名" prop="productName">
-        </el-table-column>
-        <el-table-column
-          align="center"
-          label="规格"
-          prop="productSpecifications"
-        >
-        </el-table-column>
-        <el-table-column align="center" label="色泽" prop="productColor">
-        </el-table-column>
-        <el-table-column align="center" label="批号" prop="lotNum">
-        </el-table-column>
-        <el-table-column align="center" label="等级" prop="levels">
-        </el-table-column>
-        <el-table-column align="center" label="通知">
-          <el-table-column align="center" label="重量" prop="actualWeight">
+          </el-form>
+        </el-row>
+        <el-table width="100%" :data="saleProductInfoList" border stripe>
+          <el-table-column align="center" label="编码" prop="productCode">
+          </el-table-column>
+          <el-table-column align="center" label="品名" prop="productName">
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="规格"
+            prop="productSpecifications"
+          >
+          </el-table-column>
+          <el-table-column align="center" label="色泽" prop="productColor">
+          </el-table-column>
+          <el-table-column align="center" label="批号" prop="lotNum">
+          </el-table-column>
+          <el-table-column align="center" label="等级" prop="levels">
           </el-table-column>
-        </el-table-column>
-        <el-table-column align="center" label="实发">
-          <el-table-column align="center" label="箱数" prop="boxNum">
+          <el-table-column align="center" label="通知">
+            <el-table-column align="center" label="重量" prop="actualWeight">
+            </el-table-column>
           </el-table-column>
-          <el-table-column align="center" label="重量" prop="weight">
+          <el-table-column align="center" label="实发">
+            <el-table-column align="center" label="箱数" prop="boxNum">
+            </el-table-column>
+            <el-table-column align="center" label="重量" prop="weight">
+            </el-table-column>
           </el-table-column>
-        </el-table-column>
-      </el-table>
+        </el-table>
+      </div>
     </div>
-  </div>
+  </el-card>
 </template>
 
 <script>
@@ -211,6 +223,8 @@ export default {
           let res = await noticeOutStorage(payLoad);
           if (res.code == 200) {
             this.$message.success("出库成功");
+            this.initData();
+            this.refreshHandler();
           } else {
             this.$message.error(res.msg);
           }