Browse Source

添加上传标识,若已上传成功的,不再上传

ZhangLeo 2 weeks ago
parent
commit
6b5ee4da70
4 changed files with 25 additions and 10 deletions
  1. 2 2
      api/work.uts
  2. 13 5
      pages/work/record/InfoList.uvue
  3. BIN
      static/db/QT800.db
  4. 10 3
      utils/dataProcessor.uts

+ 2 - 2
api/work.uts

@@ -148,10 +148,10 @@ export async function saveMediaInfo(data ?: UTSJSONObject | null) : Promise<UTSJ
 	const tableName = 'app_media_info';
 
 	// 构造插入的数据字符串,注意数据库字段名和类型
-	const values = `'${data?.getString('workorder') ?? ''}','${data?.getString('invname') ?? ''}','${data?.getString('productcode') ?? ''}','${data?.getString('cardno') ?? ''}','${data?.getString('model') ?? ''}','${data?.getString('graphid') ?? ''}','${data?.getString('ver') ?? ''}','${data?.getString('phase') ?? ''}','${data?.getString('processno') ?? ''}','${data?.getString('progress') ?? ''}',${data?.getNumber('status') ?? 1},'${data?.getString('createtime') ?? ''}',${data?.getNumber('createuser') ?? 0},'${data?.getString('updatetime') ?? ''}',${data?.getNumber('updateuser') ?? 0}`;
+	const values = `'${data?.getString('workorder') ?? ''}','${data?.getString('invname') ?? ''}','${data?.getString('productcode') ?? ''}','${data?.getString('cardno') ?? ''}','${data?.getString('model') ?? ''}','${data?.getString('graphid') ?? ''}','${data?.getString('ver') ?? ''}','${data?.getString('phase') ?? ''}','${data?.getString('processno') ?? ''}','${data?.getString('progress') ?? ''}',${data?.getNumber('status') ?? 1},'${data?.getString('createtime') ?? ''}',${data?.getNumber('createuser') ?? 0},'${data?.getString('updatetime') ?? ''}',${data?.getNumber('updateuser') ?? 0}, 0`;
 
 	// 构造字段名字符串
-	const fields = 'workorder,invname,productno,cardno,model,graphid,ver,phase,processno,progress,status,createtime,createuser,updatetime,updateuser';
+	const fields = 'workorder,invname,productno,cardno,model,graphid,ver,phase,processno,progress,status,createtime,createuser,updatetime,updateuser,uploadflag';
 
 	try {
 		// 调用sqlite的插入方法

+ 13 - 5
pages/work/record/InfoList.uvue

@@ -56,7 +56,7 @@
 		</view>  
 		
 		<view class="info-row">
-			<button class="btn btn-second" @click="upload(item.statusRecordCount === item.totalRecord)">
+			<button class="btn btn-second" @click="upload(item)">
 			  上传数据
 			</button>
 		</view>
@@ -74,7 +74,7 @@
   import { downloadDataFromAPI, uploadDataToAPI } from '@/utils/dataProcessor';
 
   // 产品号输入框数据
-  const productNo = ref('');
+  const productNo = ref('YH07202507000005');
   
   const backPressOptions = reactive({
     from: 'backbutton'
@@ -105,7 +105,8 @@
     status : number,
     totalRecord : number,
     statusRecordCount : number,
-    status4RecordCount : number
+    status4RecordCount : number,
+	uploadflag: number
   }
 
   var initDownloads = [] as Download[]
@@ -186,14 +187,21 @@
     })
   }
   
-  const upload = async (e : any) => {
-	if(e == false) {
+  const upload = async (e : Download) => {
+	if(e.statusRecordCount != e.totalRecord) {
 		uni.showToast({
 		  title: '当前任务还未完成!',
 		  icon: 'error'
 		});
 		return
 	}
+	if(e.uploadflag > 0) {
+		uni.showToast({
+		  title: '当前任务已上传!',
+		  icon: 'error'
+		});
+		return
+	}
     console.log("开始上传...")
     uploadDataToAPI(productNo.value, () => {
 	  // 回调函数中执行刷新,确保数据都保存好,进度条跑完

BIN
static/db/QT800.db


+ 10 - 3
utils/dataProcessor.uts

@@ -1,5 +1,5 @@
 import { getToken, getTokenFromApi } from './auth'
-import { saveMediaInfo, saveMediaRecord, getLatestRecord, removeInfoAndRecord, getJoinList } from '@/api/work'
+import { saveMediaInfo, saveMediaRecord, getLatestRecord, removeInfoAndRecord, getJoinList, updateData } from '@/api/work'
 import { globalConfig } from '@/config'
 
 
@@ -349,7 +349,7 @@ export const uploadDataToAPI = async (productCode : string, callback ?: () => vo
 		}
 
 		// 获取数据
-		const res = await getJoinList('app_media_record as r', 'app_media_info as i', 'r.*,i.productno', 'r.pid=i.pdid', 'i.productno', productCode, null);
+		const res = await getJoinList('app_media_record as r', 'app_media_info as i', 'r.*,i.productno, i.uploadFlag', 'r.pid=i.pdid', 'i.productno', productCode, null);
 		let dataList = res?.['data'] as UTSJSONObject[] ?? Array<UTSJSONObject>();
 		console.log(dataList);
 
@@ -593,7 +593,14 @@ export const uploadDataToAPI = async (productCode : string, callback ?: () => vo
 		if (callback != null) {
 			callback();
 		}
-
+		
+		if (finalFailedCount === 0) {
+			let updatedData = " uploadflag = 1 "
+			updateData('app_media_info', updatedData, 'productno', productCode).then((res : UTSJSONObject) => {
+				console.log(`更新完上传标识 ${productCode}`)
+			});
+		}
+		
 		return finalFailedCount === 0;
 	} catch (error) {
 		console.error(error);