關於銷幫幫簽訂時間與開始時間錯誤的批量處理工具

2022-05-05 10:30:10 字數 2036 閱讀 8711

在使用銷幫幫的時候錯誤的將簽訂時間和開始時間弄錯了,造成開始時間是正確的簽訂時間,簽訂時間是正確的開始時間。在2023年前需要把錯誤資料處理掉。

方案一:可以通過匯入匯出功能,把資料匯出來,然後更新欄位後重新匯入進去。

缺點:由於有同名的人員,銷幫幫的匯入不能正確處理同名的人員資訊,所以該方案否決。

update table set field1=value1 where id=1 的格式。感覺可行

中間遇到的問題:通過介面api測試時,發現如果修改了字段後,會重新走審批流程。確定這是api的錯誤,銷幫幫會修改該問題。

由於時間緊張,而銷幫幫的問題修復需要時間,所以暫時把簽訂、開始時間從審批中去掉解決該問題。 確定方案可行

方案三:通過模擬修改資料,可以通過抓包模擬正常操作進行資料修改

缺點:1、需要知道所有的字段,然後更新的時候也要更新所有的字段。不能實現類似update table set field=value where id=1 格式的修改

2、 需要實現查詢、資料分析、然後更新 抓包比api複雜。不採用該方法。

通過【合同訂單列表介面】抓取合同的列表資訊

在抓取合同列表資訊時發現的問題

1、 隱藏的字段是不顯示的,雖然這些欄位在審批時會用到,但是依然不顯示。

2、 技術問題:由於資料是json格式的,不想寫個固定的類,然後newtonsoft去轉換,採用了dynamic 型別,只要找到自己要的幾個字段即可。

3、 為了試試技術能力,還特意想吧json的所有的字段都採集下來,然後整理成一張sql表,方便查詢所有的資料。json的dynamic後只有jarray/jobject/jvalue/jproperty 4中型別,根據4種型別遍歷 然後整理成 key=value型別的資料儲存到一張表裡即可。根據需要列轉行即可。

4、 為了確定資料處理過,準備一張表儲存已經處理過的資料,保證不重複處理。

習慣了vs開發各種工具,所以還是使用c#+sqlserver開發

以前作爬蟲留下的習慣,所有的方法只完成乙個功能,資料通過佇列進行中轉,比如採集只需要把資料採集下來,然後分析的另起執行緒進行分析,資料分析完後,有專門的執行緒進行儲存入庫,有專門的佇列儲存執行日誌,專門的執行緒顯示日誌。

1、 採集合同列表資訊

首先點選按鈕開始,按照分頁採集合同列表資訊,如下圖。等待提示全部採集完成後,開始分析資料

2、 資料分析

通過sql初始化合同資訊基本資訊,id,編號,通過【更新到資料庫】按鈕整理需要的字段到合同表中。

在銷幫幫欄位名稱、資料庫欄位名稱中輸入需要轉換的欄位名稱,選擇字段型別,如果是字串,直接複製;如果是時間型別,則轉換為標準的年-月-日 時:分:秒格式的資料;如果是列舉型別,則根據列舉值獲取列舉描述資訊。

3、 資料分析後,會把需要把資料都整理到合同表中

4、 資料處理更新到銷幫幫

資料處理可以分為批量資料處理、單條資料處理。根據已經採集到資料庫的資訊進行批量的銷幫幫資料更新,更新後在對應的表中儲存已修改狀態,防止重複修改。並在銷幫幫新增系統備註字段標識:已經處理 2步驗證 防止重複修改。

為了快熟處理特定條目的資料,可以通過【更新時間到銷幫幫】按鈕單條修改合同資訊,在上面的文字框輸入合同編號,然後點選下方的【更新時間到銷幫幫】按鈕更新單條合同資訊。

通過這次小工具的開發,感覺還是沒有準備好各種基礎工具類,包括orm標準類,日誌處理標準類、http採集標準類等。

唯一有點挑戰的也就是系統標準化、列舉匹配、遞迴函式處理。

這次的json處理,感覺nosql越來越近了,很多東西都不能通過關係型資料庫關聯起來了。如果非要關聯起來會非常的麻煩,比如這次的合同表就有合同基本資訊、模版資訊、負責人、協同人、附件等資訊整個而成。如果整理成關係型資料庫最少得4張表。

各有優劣吧

elementui設定開始時間 結束時間

注 如果想去掉彈框中的 此刻按鈕 此文章 效果1 開始時間不能選擇當前日期之前的日期 效果2 結束時間不能選擇開始日期之前的日期 選擇開始時間 el date picker div littlemargin v model value.promotionendtime value format yy...

PHP獲取本週開始時間

先設定時區 date default timezone set prc 網上的寫法 總覺得這週跨年或者跨月的時候會悲劇 未驗證 echo mktime 0,0,0,date m date d date w date y 同事的寫法 當本日為週日的時候 就坑了 echo strtotime last ...

Layui結束時間不能小於開始時間

1 使用layui日期選擇器的時候,如果包括開始時間和結束時間,可以新增乙個表單驗證,規定開始時間不得小於結束時間 以達到正常的業務需求。class layui inline class layui form label 開始時間 class layui input inline class lay...