Explorar o código

feat:接续漏洞修补

lucky hai 2 meses
pai
achega
0ba85a478f

+ 18 - 8
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductCodeListController.java

@@ -11,14 +11,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.zkqy.common.annotation.Log;
 import com.zkqy.common.core.controller.BaseController;
 import com.zkqy.common.core.domain.AjaxResult;
@@ -65,6 +58,23 @@ public class ProductCodeListController extends BaseController {
         List<ProductCodeListVO> list = productCodeListService.selectProductCodeListBySaleProductId(productCodeList);
         return getDataTable(list);
     }
+
+    @GetMapping("/selectProductCodeListBySaleQrCode")
+    @ApiOperation(value = "接续操作")
+    public TableDataInfo selectProductCodeListBySaleQrCode(@RequestParam("qrCode") String  qrCode) {
+        List<ProductCodeListVO> list = productCodeListService.selectProductCodeListBySaleQrCode(qrCode);
+        return getDataTable(list);
+    }
+
+
+    @GetMapping("/productCodeListQueryInBatches")
+    @ApiOperation(value = "接续操作")
+    public TableDataInfo productCodeListQueryInBatches(@RequestParam("productId") String  productId) {
+        List<ProductCodeListVO> list = productCodeListService.selectProductCodeListQueryInBatches(productId);
+        return getDataTable(list);
+    }
+
+
     /**
      * 导出产品码单列表
      */

+ 8 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductCodeListMapper.java

@@ -123,4 +123,12 @@ public interface ProductCodeListMapper {
      * @return
      */
     List<ProductCodeList> selectProductCodeListByQrCodeIn(@Param("list") List<String> list);
+
+    /**
+     * 查询码单列表信息
+     * @return
+     */
+    public List<ProductCodeListVO> selectProductCodeListQueryInBatches(@Param("productId") String productId);
+
+    List<ProductCodeListVO> selectProductCodeListBySaleQrCode(@Param("qrCode") String qrCode);
 }

+ 13 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductCodeListService.java

@@ -21,6 +21,15 @@ public interface IProductCodeListService {
      */
     public ProductCodeListVO selectProductCodeListById(Long id);
 
+
+    /**
+     * 查询产品码单
+     *
+     * @return 产品码单
+     */
+    public List<ProductCodeListVO> selectProductCodeListQueryInBatches(String productId);
+
+
     /**
      * 查询产品码单
      *
@@ -127,4 +136,8 @@ public interface IProductCodeListService {
      */
     List<ProductCodeList> selectProductCodeInfoByParentCode(String qrCode);
 
+    /*
+     根据qrcode查询信息
+     */
+    List<ProductCodeListVO> selectProductCodeListBySaleQrCode(String qrCode);
 }

+ 12 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductCodeListServiceImpl.java

@@ -86,6 +86,12 @@ public class ProductCodeListServiceImpl implements IProductCodeListService {
         return productCodeListVO;
     }
 
+    @Override
+    public List<ProductCodeListVO> selectProductCodeListQueryInBatches(String productId) {
+        List<ProductCodeListVO> productCodeListVOS = productCodeListMapper.selectProductCodeListQueryInBatches(productId);
+        return productCodeListVOS;
+    }
+
     @Override
     public List<ProductCodeListVO> selectProductCodeListBySaleProductId(ProductCodeList productCodeList) {
         return productCodeListMapper.selectProductCodeListBySaleProductId(productCodeList);
@@ -379,4 +385,10 @@ public class ProductCodeListServiceImpl implements IProductCodeListService {
         return productCodeListMapper.selectProductCodeInfoByParentCode(parentCode);
     }
 
+    @Override
+    public List<ProductCodeListVO> selectProductCodeListBySaleQrCode(String qrCode) {
+
+        return productCodeListMapper.selectProductCodeListBySaleQrCode(qrCode);
+    }
+
 }

+ 17 - 0
zkqy-custom-business/src/main/resources/mapper/business/ProductCodeListMapper.xml

@@ -226,6 +226,7 @@
         where id = #{id}
     </select>
 
+<!--    接续查询语句-->
     <select id="selectProductCodeListBySaleProductId" parameterType="com.zkqy.business.domain.ProductCodeList"
             resultMap="ProductCodeListResult">
         <include refid="selectProductCodeListVo"/>
@@ -576,5 +577,21 @@
             </foreach>
         </if>
     </select>
+    <select id="selectProductCodeListQueryInBatches"
+        resultMap="ProductCodeListResult"
+            parameterType="string"
+    >
+        SELECT qr_code,levels,canister_weight,tube_color,COUNT(id) as total_box_num FROM
+        {DBNAME}.product_code_list where qr_code
+                                 not IN(
+        SELECT qr_code FROM {DBNAME}.product_code_list where other_states = 1
+                                              ) and sale_product_id=#{productId} GROUP BY qr_code
+
+    </select>
+    <select id="selectProductCodeListBySaleQrCode" parameterType="String"
+            resultMap="ProductCodeListResult">
+        <include refid="selectProductCodeListVo"/>
+        where qr_code = #{qrCode}
+    </select>
 
 </mapper>

+ 18 - 0
zkqy-ui/src/api/codeListManage/productCodeList.js

@@ -159,3 +159,21 @@ export function listBySaleProductID(params) {
   })
 }
 
+export function productCodeListQueryInBatches(params) {
+  return request({
+    url: `/system/productCodeList/productCodeListQueryInBatches`,
+    method: 'get',
+    params: params,
+  })
+}
+
+export function selectProductCodeListBySaleQrCode(params) {
+  return request({
+    url: `/system/productCodeList/selectProductCodeListBySaleQrCode`,
+    method: 'get',
+    params: params,
+  })
+}
+
+
+

+ 205 - 58
zkqy-ui/src/views/orderMange/codeListManage/printIndex.vue

@@ -494,8 +494,46 @@
           </div>
         </div>
       </div>
-
       <div id="printDom" style="width: 160px; height: 160px"></div>
+      <el-dialog
+        title="接续列表"
+        :visible.sync="jxtc"
+        width="30%"
+        :before-close="handleClose">
+        <el-table
+          ref="singleTable"
+          :data="tableData1"
+          highlight-current-row
+          @current-change="handleCurrentChange1"
+          style="width: 100%">
+          <el-table-column
+            property="qrCode"
+            label="编号"
+            width="120">
+          </el-table-column>
+          <el-table-column
+            property="levels"
+            label="等级"
+            width="120">
+          </el-table-column>
+          <el-table-column
+            property="canisterWeight"
+            label="筒重">
+          </el-table-column>
+          <el-table-column
+            property="tubeColor"
+            label="管色">
+          </el-table-column>
+          <el-table-column
+            property="totalBoxNum"
+            label="箱数">
+          </el-table-column>
+        </el-table>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="jxtc = false">取 消</el-button>
+          <el-button type="primary" @click="jiexuqd">确 定</el-button>
+        </span>
+      </el-dialog>
     </div>
   </el-card>
 </template>
@@ -516,7 +554,7 @@ import {
   AutoPrinting,
   getPrintDataNew,
   removeProductCodeASInventory,
-  listBySaleProductID,
+  listBySaleProductID, productCodeListQueryInBatches, selectProductCodeListBySaleQrCode,
 } from "@/api/codeListManage/productCodeList";
 import codeListPrint from "@/utils/print/codeListPrint";
 import { getServerPrintData } from "@/utils/print/printUtils";
@@ -535,6 +573,25 @@ export default {
   ],
   data() {
     return {
+      tableData1: [{
+        date: '2016-05-02',
+        name: '王小虎',
+        address: '上海市普陀区金沙江路 1518 弄'
+      }, {
+        date: '2016-05-04',
+        name: '王小虎',
+        address: '上海市普陀区金沙江路 1517 弄'
+      }, {
+        date: '2016-05-01',
+        name: '王小虎',
+        address: '上海市普陀区金沙江路 1519 弄'
+      }, {
+        date: '2016-05-03',
+        name: '王小虎',
+        address: '上海市普陀区金沙江路 1516 弄'
+      }],
+      currentRow1: null,
+      jxtc:false,
       summertId: "", //总码单id
       qrCode: "", //码单号
       isStartReadNum: false, //是否开始读取重量
@@ -747,6 +804,7 @@ export default {
     },
   },
   mounted() {
+
     this.summertId = new Date().getTime();
     let { excuteType, qrCode } = this.$route.query;
     if (excuteType == 2) {
@@ -782,6 +840,71 @@ export default {
   },
 
   methods: {
+    handleClose(){
+      //jxtc关闭
+      this.jxtc=false;
+    },
+    async jiexuqd(){
+      console.log(this.currentRow1);
+      let payload={
+        isEnablePaging: false,
+        qrCode:this.currentRow1.qrCode
+      }
+      let res = await selectProductCodeListBySaleQrCode(payload);
+
+      if (res.code == 200) {
+        console.log(res);
+        this.tableData = res.rows.map((item) => {
+          let productionLineNo = this.lineOptions.find(
+            (i) => i.id == item.machineTool
+          )?.productionLineNo;
+          return {
+            ...item,
+            productionLineNo,
+          };
+        });
+
+        if (res.rows.length > 0) {
+          let lastRow = res.rows[res.rows.length - 1];
+          this.summertId = lastRow.parentCode; //取最后一条数据的总码单code为当前总码单code
+          this.qrCode = lastRow.qrCode;
+          let {
+            packaging,
+            machineTool,
+            workShifts,
+            productionDate,
+            levels,
+            foreignTradeNumber,
+            canisterWeight,
+            canisterNum,
+            boxWeight,
+            tubeColor,
+            printFormat,
+            grossWeight,
+            remark,
+          } = lastRow;
+          Object.assign(this.form, {
+            packaging,
+            machineTool,
+            workShifts,
+            productionDate,
+            levels,
+            foreignTradeNumber,
+            canisterWeight,
+            canisterNum,
+            boxWeight,
+            tubeColor,
+            printFormat,
+            grossWeight,
+            remark,
+          });
+        }
+        this.$message.success("接续完成,请继续打印");
+        this.jxtc=false;
+      } else {
+        this.$message.error(res.msg);
+      }
+    },
     handleInput(value) {
       console.log("触发了")
       const currentTime = Date.now(); // 当前时间戳
@@ -877,66 +1000,87 @@ export default {
           this.$message.error("请选择产品");
           return;
         }
-        let payload = {
-          isEnablePaging: false,
-          machineTool,
-          workShifts,
-          levels,
-          lotNum: this.currentRow.lotNum,
-          saleProductId: this.currentRow.id,
-        };
-        let res = await listBySaleProductID(payload);
-        if (res.code == 200) {
-          console.log(res);
-          this.tableData = res.rows.map((item) => {
-            let productionLineNo = this.lineOptions.find(
-              (i) => i.id == item.machineTool
-            )?.productionLineNo;
-            return {
-              ...item,
-              productionLineNo,
-            };
-          });
+        //abc
+        this.pay={
+          productId:this.currentRow.id
+        }
+        //查询是否具有多批的续接信息
+        let resa =  await productCodeListQueryInBatches(this.pay)
+        if(resa.rows.length<=0){
+          this.$message.error("暂无需要接续的产品信息");
+          return;
+        }else if(resa.rows.length==1) {
+          console.log(resa)
+          let payload = {
+            isEnablePaging: false,
+            machineTool,
+            workShifts,
+            levels,
+            lotNum: this.currentRow.lotNum,
+            saleProductId: this.currentRow.id,
+          };
+          let res = await listBySaleProductID(payload);
 
-          if (res.rows.length > 0) {
-            let lastRow = res.rows[res.rows.length - 1];
-            this.summertId = lastRow.parentCode; //取最后一条数据的总码单code为当前总码单code
-            this.qrCode = lastRow.qrCode;
-            let {
-              packaging,
-              machineTool,
-              workShifts,
-              productionDate,
-              levels,
-              foreignTradeNumber,
-              canisterWeight,
-              canisterNum,
-              boxWeight,
-              tubeColor,
-              printFormat,
-              grossWeight,
-              remark,
-            } = lastRow;
-            Object.assign(this.form, {
-              packaging,
-              machineTool,
-              workShifts,
-              productionDate,
-              levels,
-              foreignTradeNumber,
-              canisterWeight,
-              canisterNum,
-              boxWeight,
-              tubeColor,
-              printFormat,
-              grossWeight,
-              remark,
+          if (res.code == 200) {
+            console.log(res);
+            this.tableData = res.rows.map((item) => {
+              let productionLineNo = this.lineOptions.find(
+                (i) => i.id == item.machineTool
+              )?.productionLineNo;
+              return {
+                ...item,
+                productionLineNo,
+              };
             });
+
+            if (res.rows.length > 0) {
+              let lastRow = res.rows[res.rows.length - 1];
+              this.summertId = lastRow.parentCode; //取最后一条数据的总码单code为当前总码单code
+              this.qrCode = lastRow.qrCode;
+              let {
+                packaging,
+                machineTool,
+                workShifts,
+                productionDate,
+                levels,
+                foreignTradeNumber,
+                canisterWeight,
+                canisterNum,
+                boxWeight,
+                tubeColor,
+                printFormat,
+                grossWeight,
+                remark,
+              } = lastRow;
+              Object.assign(this.form, {
+                packaging,
+                machineTool,
+                workShifts,
+                productionDate,
+                levels,
+                foreignTradeNumber,
+                canisterWeight,
+                canisterNum,
+                boxWeight,
+                tubeColor,
+                printFormat,
+                grossWeight,
+                remark,
+              });
+            }
+            this.$message.success("接续完成,请继续打印");
+          } else {
+            this.$message.error(res.msg);
           }
-          this.$message.success("接续完成,请继续打印");
-        } else {
-          this.$message.error(res.msg);
+        }else {
+          //赋值表格信息
+          this.tableData1=resa.rows;
+          this.jxtc=true;
         }
+
+
+
+
       } catch (error) {
         console.log(error);
         this.$message.error("网络异常");
@@ -1596,6 +1740,9 @@ export default {
       let { boxWeight, canisterWeight, canisterNum } = this.form;
       return (Number(boxWeight) - canisterWeight * canisterNum).toFixed(2);
     },
+    async handleCurrentChange1(val) {
+      this.currentRow1 = val;
+    },
     // 表格点击回调
     async handleCurrentChange(val) {
       //判断是否为纺丝部如果是则不做处理