Bladeren bron

零售单计算价格

阿赫 8 maanden geleden
bovenliggende
commit
4b447a58a1

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

@@ -210,6 +210,33 @@ public class ProductInvoice extends BaseEntity {
      */
     private boolean isOrderUpdate;
 
+    /**
+     * 销售单工艺要求编号
+     */
+    private String saleordertechnologyno;
+
+    public String getSaleordertechnologyno() {
+        return saleordertechnologyno;
+    }
+
+    public void setSaleordertechnologyno(String saleordertechnologyno) {
+        this.saleordertechnologyno = saleordertechnologyno;
+    }
+
+    /**
+     * 销售单状态
+     */
+    private String sstatus;
+
+    public String getSstatus() {
+        return sstatus;
+    }
+
+    public void setSstatus(String sstatus) {
+        this.sstatus = sstatus;
+    }
+
+
     public boolean isOrderUpdate() {
         return isOrderUpdate;
     }

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

@@ -136,6 +136,10 @@ public interface SaleOrderMapper {
      */
     List<SaleProductsVo> printOutsourceOrderList(@Param("noticeNumber") String noticeNumber, @Param("saleNo") String saleNo, @Param("batchNumber") String batchNumber);
 
+    /**
+     * 零售单查询打印出库单列表
+     */
+    List<SaleProductsVo> lsdPrintOutsourceOrderList(@Param("noticeNumber") String noticeNumber, @Param("saleNo") String saleNo, @Param("batchNumber") String batchNumber);
     /**
      * 得到当前订单未阶段性完成的产品数据
      */

+ 11 - 3
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java

@@ -480,9 +480,17 @@ public class SaleOrderServiceImpl implements ISaleOrderService {
         if (productInvoice == null) {
             return new ArrayList<>();
         }
-        // 获取当前订单出库产品信息
-        List<SaleProductsVo> saleProductsVos = saleOrderMapper.printOutsourceOrderList(productInvoice.getNoticeNumber(), saleNo, batchNumber);
-        return saleProductsVos;
+        if (productInvoice.getSaleordertechnologyno().equals("retailOrder") && (productInvoice.getSstatus() != "6")){
+            // 获取当前订单出库产品信息
+            //零售单
+            List<SaleProductsVo> saleProductsVos = saleOrderMapper.lsdPrintOutsourceOrderList(productInvoice.getNoticeNumber(), saleNo, batchNumber);
+            return saleProductsVos;
+        }else{
+            // 获取当前订单出库产品信息
+            List<SaleProductsVo> saleProductsVos = saleOrderMapper.printOutsourceOrderList(productInvoice.getNoticeNumber(), saleNo, batchNumber);
+            return saleProductsVos;
+        }
+
     }
 
     /**

+ 37 - 2
zkqy-custom-business/src/main/resources/mapper/business/ProductInvoiceMapper.xml

@@ -37,6 +37,8 @@
         <result property="transferWarehouse" column="transfer_warehouse"/>
         <result property="deliveryDate" column="deliveryDate"/>
         <result property="deliveryClerk" column="delivery_clerk"/>
+        <result property="saleordertechnologyno" column="sale_order_technology_no"/>
+        <result property="sstatus" column="sstatus"/>
     </resultMap>
 
     <sql id="selectProductInvoiceVo">
@@ -219,8 +221,41 @@
     </delete>
 
     <select id="selectProductInvoiceBySaleOrderNo" resultType="com.zkqy.business.domain.ProductInvoice">
-        <include refid="selectProductInvoiceVo"/>
-        where sale_order_no = #{saleOrderNo} and del_flag = '0'
+        select p.id,
+               p.notice_number,
+               p.notice_date,
+               p.salesman,
+               p.customer_id,
+               p.drawer,
+               p.dispatch_note_remark,
+               p.billing_type,
+               p.truck_registration,
+               p.document_type,
+               p.selling_unit,
+               p.calculation_type,
+               p.audit_opinion,
+               p.status,
+               p.sale_order_no,
+               p.spare1,
+               p.spare2,
+               p.spare3,
+               p.spare4,
+               p.remark,
+               p.del_flag,
+               p.create_by,
+               p.create_by_id,
+               p.create_time,
+               p.update_by,
+               p.update_by_id,
+               p.update_time,
+               p.delivery_warehouse,
+               p.transfer_warehouse,
+               p.delivery_date,
+               p.delivery_clerk,
+               s.sale_order_technology_no,
+               s.status as sstatus
+        from {DBNAME}.product_invoice as p left join {DBNAME}.sale_order as s on p.sale_order_no = s.sale_no and s.del_flag = '0'
+        where p.sale_order_no = #{saleOrderNo} and p.del_flag = '0'
     </select>
     <select id="selectProductInvoiceByNoticeNumber" resultType="com.zkqy.business.domain.ProductInvoice">
         <include refid="selectProductInvoiceVo"/>

+ 47 - 0
zkqy-custom-business/src/main/resources/mapper/business/SaleOrderMapper.xml

@@ -450,6 +450,53 @@
                            on a.productNo = b.productNo AND a.productLevel = b.`level` 	AND a.scolours = b.bcolours;
     </select>
 
+    <select id="lsdPrintOutsourceOrderList" resultType="com.zkqy.business.domain.vo.SaleProductsVo">
+        select a.*,
+               b.productUnitPrice -- 产品单价
+        from (select p.id                                                    as productId,
+                     p.product_name                                          as productName,
+                     p.product_specifications                                as productSpecifications,
+                     por.lot_num                                             as lotNumber,
+                     count(por.box_num)                                      as boxNum,
+                     TRUNCATE(sum(por.suttle), 2)                            as productNumber, -- 产品净重()
+                     por.product_colour                                      as productColour,
+                     por.notice_number                                       as noticeNumber,
+                     pi.sale_order_no                                        as saleNo,
+                     p.product_no                                            as productNo,
+                     por.levels                                              as productLevel,
+                     por.colours                                             as scolours,
+                     IF(batch.batch_number IS NULL, '0', batch.batch_number) as batchNumber,
+                     batch.batch_State                                       as batchState,
+                     batch.id                                                as batchId
+              from (
+                       SELECT p.*,c.sale_product_id,s.colours FROM `huaxian`.product_outbound_record p
+                                                                       LEFT JOIN `huaxian`.product_code_list c ON p.qr_code = c.qr_code
+                                                                       LEFT JOIN `huaxian`.sale_products s ON c.sale_product_id = s.id  GROUP BY p.id
+                   ) por -- 成品出库记录表
+                       left join `huaxian`.production p on p.id = por.product_id -- 产品表
+                       left join `huaxian`.product_invoice pi on por.notice_number = pi.notice_number -- 产品发货单表
+                       left join `huaxian`.product_outbound_record_batch as batch
+                                 on batch.outbound_record_id = por.id and batch.del_flag = '0' -- 成品出库记录批次表
+              where por.del_flag = '0'
+                and pi.notice_number = #{noticeNumber} -- 通知单号
+              group by por.product_id, por.levels, por.lot_num, por.product_colour, por.batch_number) as a
+                 left join (select sp.product_no                                      as productNo,        -- 产品编号
+                                   sp.product_unit_price                              as productUnitPrice, -- 产品单价
+                                   CONCAT(m.materie_encoding, m.materie_color_number) as productColour,     -- 产品转码+色泽
+                                   sp.`level` as `level`,
+                                   sp.colours as bcolours
+                            from `huaxian`.sale_order so -- 订单表
+                                     left join `huaxian`.sale_products sp
+                                               on so.sale_no = sp.sale_order_no and sp.del_flag = '0' -- 销售产品表
+                                     left join `huaxian`.production p
+                                               on sp.product_no = p.product_no and p.del_flag = '0' -- 产品表
+                                     left join `huaxian`.materiel m
+                                               on m.materiel_code = sp.colour_number and m.del_flag = '0' -- 物料信息表
+                            where so.del_flag = '0'
+                              and so.sale_no = #{saleNo}) as b -- 根据销售单编号得到当前订单包含的所有产品
+                           on a.productNo = b.productNo AND a.scolours = b.bcolours;
+    </select>
+
     <select id="printOutsourceOrderListNowEnd" resultType="com.zkqy.business.domain.vo.SaleProductsVo">
         select
             a.* ,

+ 3 - 3
zkqy-ui/src/views/orderMange/retailMange/index.vue

@@ -239,7 +239,7 @@
                     >出库明细
                   </el-button>
                 </el-dropdown-item>
-                <el-dropdown-item v-show="scope.row.status == 5">
+                <el-dropdown-item>
                   <el-button
                     size="mini"
                     type="text"
@@ -536,7 +536,7 @@
                   </el-select>
                 </template>
               </el-table-column>
-              <el-table-column prop="colours" width="150" label="色">
+              <el-table-column prop="colours" width="150" label="色">
                 <template slot-scope="scope">
                   <el-form-item
                     :prop="'colours-' + scope.$index"
@@ -626,7 +626,7 @@
                   </el-form-item>
                 </template>
               </el-table-column>
-              <el-table-column prop="productUnitPrice" label="单价">
+              <el-table-column prop="productUnitPrice" label="单价/KG">
                 <template slot-scope="scope">
                   <el-form-item
                     :prop="'productUnitPrice-' + scope.$index"