Parcourir la source

Merge remote-tracking branch 'origin/master'

hmc il y a 1 an
Parent
commit
b782eb135e

+ 15 - 2
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductOutboundRecordController.java

@@ -1,12 +1,15 @@
 package com.zkqy.business.controller;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
 import com.zkqy.business.domain.ProductHandsetOutboundRecord;
+import com.zkqy.business.domain.ProductInvoice;
 import com.zkqy.business.domain.ProductWarehousingRecord;
 import com.zkqy.business.domain.vo.ProductCodeListVO;
 import com.zkqy.business.service.IProductHandsetOutboundRecordService;
+import com.zkqy.business.service.IProductInvoiceService;
 import com.zkqy.business.service.IProductWarehousingRecordService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -42,6 +45,9 @@ public class ProductOutboundRecordController extends BaseController
     @Autowired
     private IProductHandsetOutboundRecordService productHandsetOutboundRecordService;
 
+    @Autowired
+    private IProductInvoiceService productInvoiceService;
+
     /**
      * 查询成品出库记录列表
      */
@@ -143,8 +149,15 @@ public class ProductOutboundRecordController extends BaseController
      * 销售单/零售单出库明细记录
      */
     @GetMapping("/outboundDetails")
-    public AjaxResult outboundDetails(@RequestParam String saleOrderNo){
-        return AjaxResult.success(productOutboundRecordService.outboundDetails(saleOrderNo));
+    public TableDataInfo outboundDetails(@RequestParam String saleOrderNo){
+        List<ProductCodeListVO> productCodeListVOS = new ArrayList<>();
+        ////根据销售单编号查询通知单编号
+        ProductInvoice productInvoice = productInvoiceService.selectProductInvoiceBySaleOrderNo(saleOrderNo);
+        if(productInvoice != null){
+            startPage();
+            productCodeListVOS = productOutboundRecordService.outboundDetails(productInvoice.getNoticeNumber());
+        }
+        return getDataTable(productCodeListVOS);
     }
 
 }

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

@@ -77,4 +77,12 @@ public interface IProductInvoiceService
      */
     ProductInvoiceVO saleStorageDetails(Long id);
 
+    /**
+     * 查询产品发货单
+     *
+     * @param saleOrderNo 产品发货单主键
+     * @return 产品发货单
+     */
+    ProductInvoice selectProductInvoiceBySaleOrderNo(String saleOrderNo);
+
 }

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

@@ -200,6 +200,11 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
         return vo;
     }
 
+    @Override
+    public ProductInvoice selectProductInvoiceBySaleOrderNo(String saleOrderNo) {
+        return productInvoiceMapper.selectProductInvoiceBySaleOrderNo(saleOrderNo);
+    }
+
     //保留两位小数
     public Double handlingWeight(Double weight){
         DecimalFormat df = new DecimalFormat("0.00");

+ 2 - 7
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductOutboundRecordServiceImpl.java

@@ -106,12 +106,7 @@ public class ProductOutboundRecordServiceImpl implements IProductOutboundRecordS
     }
 
     @Override
-    public List<ProductCodeListVO> outboundDetails(String saleOrderNo) {
-        //根据销售单编号查询通知单编号
-        ProductInvoice productInvoice = productInvoiceMapper.selectProductInvoiceBySaleOrderNo(saleOrderNo);
-        if(productInvoice == null){
-            return new ArrayList<>();
-        }
-        return productOutboundRecordMapper.selectOutboundDetails(productInvoice.getNoticeNumber());
+    public List<ProductCodeListVO> outboundDetails(String noticeNumber) {
+        return productOutboundRecordMapper.selectOutboundDetails(noticeNumber);
     }
 }

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

@@ -372,7 +372,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                   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'
+                 AND pi.del_flag = '0' and pi.total_suttle > 0
     </select>
 
     <select id="selectOutboundOrderInfo" resultType="com.zkqy.business.domain.vo.SaleProductsVo">

+ 24 - 22
zkqy-ui/src/views/orderMange/approve.vue

@@ -1320,6 +1320,8 @@ export default {
         if (valid) {
           let { status, orderType, saleLeader, finance, production } =
             this.approveForm;
+          let { salePayType } = this.formData;
+          // 付款方式  1:定金   2:赊欠
           let baseFormInfo = {
             saleLeader,
             finance,
@@ -1339,32 +1341,32 @@ export default {
               saleNo: this.approveNo,
             },
           };
+          payload.commMap = {
+            status,
+            saleApprover: this.nickName,
+            ...baseFormInfo,
+          };
           if (status == "7") {
             // 不通过
-            payload.commMap = {
-              status,
-              saleApprover: this.nickName,
-              ...baseFormInfo,
-            };
+            payload.commMap.status = status;
           } else {
             //通过
-            if (orderType == "2") {
-              //生产
-              payload.commMap = {
-                status: this.approveForm.status,
-                orderType,
-                saleApprover: this.nickName,
-                ...baseFormInfo,
-              };
-            } else if (orderType == "1") {
-              //库存
-              payload.commMap = {
-                // status: "5",
-                status: this.approveForm.status,
-                orderType,
-                saleApprover: this.nickName,
-                ...baseFormInfo,
-              };
+            if (salePayType == 1) {
+              // 定金
+              payload.commMap.status = 8;
+              payload.commMap.orderType = orderType;
+            } else {
+              // 赊欠
+
+              if (orderType == "2") {
+                //生产
+                payload.commMap.status = 3;
+                payload.commMap.orderType = orderType;
+              } else if (orderType == "1") {
+                //库存
+                payload.commMap.status = 5;
+                payload.commMap.orderType = orderType;
+              }
             }
           }
           let res = await batchEdit(payload);

+ 36 - 6
zkqy-ui/src/views/orderMange/codeListManage/printIndex.vue

@@ -137,7 +137,7 @@
                   type="danger"
                   size="mini"
                   :disabled="chooseState"
-                  @click="handleDeleteOne(scope.$index)"
+                  @click="handleDeleteOne(scope.$index, scope.row)"
                   >删除
                 </el-button>
               </template>
@@ -215,12 +215,13 @@
                     clearable
                     filterable
                     size="mini"
+                    @change="machineToolChange"
                   >
                     <el-option
                       v-for="(item, index) in lineOptions"
                       :key="index"
                       :label="item.productionLineName"
-                      :value="item.productionLineNo"
+                      :value="item.id"
                     >
                       <span class="discribe" style="float: left">{{
                         item.productionLineName
@@ -485,6 +486,7 @@ import {
   getQrCode,
   AutoPrinting,
   getPrintDataNew,
+  removeProductCodeASInventory,
 } from "@/api/codeListManage/productCodeList";
 import codeListPrint from "@/utils/print/codeListPrint";
 import { getServerPrintData } from "@/utils/print/printUtils";
@@ -541,6 +543,7 @@ export default {
       },
 
       form: {
+        machineToolNo: "", //机台编号
         // 表单参数
         packaging: "", //包装
         machineTool: "", //机台
@@ -713,6 +716,15 @@ export default {
   },
 
   methods: {
+    // 机台改变回调
+    machineToolChange(id) {
+      if (id) {
+        this.form.machineToolNo = this.lineOptions.find(
+          (item) => item.id == id
+        ).productionLineNo;
+      }
+      this.getAllBatchData(id);
+    },
     // 打印按钮回调
     async printBtnHandler() {
       let res = await this.validateAndPrint();
@@ -865,6 +877,7 @@ export default {
         printFormat,
         levels,
         remark,
+        machineToolNo,
       } = this.form;
       console.log(this.currentRow);
       let {
@@ -880,6 +893,7 @@ export default {
       )?.label;
 
       newData = {
+        machineToolNo,
         // qrCode: this.getBoxOrderNum(), //箱单号
         packaging, //包装方式 1:车丝 2:小包装  3:大包装
         qrCode: this.qrCode, //箱单号
@@ -904,6 +918,7 @@ export default {
         directionOfTwistLabel, //捻向label
         remark,
         productId,
+        qrCodeId: uuidv4().slice(0, 8),
       };
       this.getOrderData(newData);
     },
@@ -1015,8 +1030,20 @@ export default {
       console.log(row);
     },
     // 删除表格一条数据回调
-    handleDeleteOne(index) {
-      this.tableData.splice(index, 1);
+    async handleDeleteOne(index, row) {
+      console.log(row);
+      this.$modal
+        .confirm("是否确认该条打印记录?")
+        .then(function () {
+          return removeProductCodeASInventory(row);
+        })
+        .then(() => {
+          this.tableData.splice(index, 1);
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {
+          this.$modal.msgError("删除失败!请检查库存");
+        });
     },
     // 确认保存修改一条数据
     async handleSaveOne(row) {
@@ -1024,6 +1051,7 @@ export default {
         let { sumBoxNum, sumCanisterNum, sumSuttle, sumGrossWeight } =
           this.count;
         let rowData = JSON.parse(JSON.stringify(row));
+
         let payLoad = {
           ...this.form,
           qrCode: rowData.qrCode,
@@ -1112,6 +1140,7 @@ export default {
             this.printTableData = [rowData];
             let payLoad = {
               ...this.form,
+              qrCodeId: rowData.qrCodeId,
               qrCode: rowData.qrCode,
               lotNum: rowData.lotNum,
               // boxNum: sumBoxNum,
@@ -1397,9 +1426,10 @@ export default {
       });
     },
     // 获取所有批次数据
-    async getAllBatchData() {
+    async getAllBatchData(id) {
       try {
-        let res = await finishedProductList();
+        let payload = { machineTool: id };
+        let res = await finishedProductList(payload);
         if (res.code == 200) {
           this.batchData = res.data;
           this.batchTableData = res.data;

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

@@ -1004,32 +1004,23 @@ export default {
       console.log(value);
       // row.productNo = value;
       if (value) {
-        let target = this.productionOptions.find((item) =>
+        let target = [];
+        // 在全部列表中查找
+        target = this.allProductionOptions.filter((item) =>
           item.productName.includes(value)
         );
         console.log(target);
-        if (target) {
-          this.productionOptions = [target];
-          //找到
+        if (target.length) {
+          this.productionOptions = target;
           return true;
         } else {
-          //前100个没找到
-          // 在全部列表中查找
-          target = this.allProductionOptions.find((item) =>
-            item.productName.includes(value)
-          );
-          console.log(target);
-          if (target) {
-            this.productionOptions = [target];
-            return true;
-          } else {
-            return false;
-          }
+          return false;
         }
       } else {
         this.productionOptions = this.allProductionOptions.slice(0, 500);
       }
     },
+
     // 出库单回调
     async myPrintOutBoundHandler(row, data) {
       console.log("row", row);
@@ -1539,7 +1530,7 @@ export default {
 
           await this.getDropDownData();
           this.productionTableData = sale_products.map((item) => {
-            item.productType = this.productionOptions.find(
+            item.productType = this.allProductionOptions.find(
               (i) => item.productNo == i.productNo
             )?.productType;
             return item;
@@ -2035,7 +2026,7 @@ export default {
         amountTotal += Number(item.productNumber);
         singlTotal += Number(item.productUnitPrice);
         moneyTotal += Number(item.productAmounts);
-        let productData = this.productionOptions.find(
+        let productData = this.allProductionOptions.find(
           (pro) => pro.productNo == item.productNo
         );
         item.sliceTypeLabel =