天天看點

我的工作日志6

項目中我負責的部分接近尾聲了。

最近主要是完成三部分内容:

1、ML解析,主要是把資料庫中存儲的一堆名稱和規格型号規則的字元串,按照一定地業務規則和約定解析到用戶端,以客戶能了解的方式展現出來。ML生成編碼,根據使用者輸入的内容,按照規則,生成一串數字碼,作為一種物料的唯一辨別,看到這串碼,客戶就知道這是哪種物料,什麼規格型号等。還有ML的維護,也就是維護這套名稱和規格型号規則的字元串。

感覺是一個挺細膩,繁瑣地活,主要是都用在拆分拼接字元串上了,拆分拼接資料源Datatable,Dataset等。

2、遠端資料同步,主要是在資料庫中寫存儲過程,把要同步資料提取出來,采用一定的規則,寫入到txt檔案中。然後利用公司内部的一個自動傳輸工具傳遞到遠端計算機上,然後遠端計算機的資料庫中寫存儲過程按照先前設定的規則解析txt檔案,插入到資料庫中,完成同步。

利用資料庫job觸發生成檔案和解析檔案存儲過程,傳輸過程有工具自動觸發。測試了一下效率,5000條資料生成檔案大約需要3秒到4秒,解析也差不多這個時間。傳輸需要2秒。是以整個同步大概需要10秒左右,應付目前的需求是沒有問題的,有時間了可以再優化。

3、加入WL管理權限,每個人的物料管理權限可能是好幾個編碼段,同僚提供的接口,傳回的是一個數組,數組一共是有偶數項,也是成對出現,一對是一個編碼段。我們要做的是把這個數組轉化為sql語句的條件,過濾我們原來的資料。我們在B層寫了一個方法,主要解析該數組,傳回sql條件字元串,然後給實體增加了一個屬性,把該字元串賦到該屬性上,在D層,将該sql條件字元串加到我們原來sql語句的後面,這樣保證不會破壞我們原來的方法結構。

這樣拼出的字元串會有很多or and,效率會比較低。

最後,大家讨論一下,改由提供管理的權限的接口,提供該sql條件字元串,而不是提供編碼數組。這樣能減少代碼備援,而且有更大的靈活性,因為可以嘗試寫資料庫函數,可能可以提高查詢效率,大家不用關心處理權限的sql串是什麼,隻要挂在自己的查詢sql串後面即可。

該子產品已經送出測試,下階段就是跟測試打交道了,把他們提的bug修複了,我該階段的任務就算圓滿完成了。