まだ就業時間の9時にもなってない8時45分くらいにTeamsで連絡が入ってきましたよ。
まぁ8時半には作業開始してるけどな。
で、緊急で不具合の対応してほしいということで、早々に取り掛かりますよ。
あぁ・・この機能か・・。
データ登録する機能なんだけどね。
誰がコード実装したのかしらんけどまぁひどいんですわ。
なのであまり関わりたくないと思ってた機能です。
で、不具合というのは同じ内容のデータを複数登録した場合、キー項目となる項目以外は合計して1つのデータにして登録するってとこがおかしいらしい。
どうも入力した分より合計数が少ないと。
まずは動作確認。
あれ、ちゃんと合計したものが出るけど。
とりあえず報告。
Teams経由でいろいろとパターンを確認してると、とある条件の時に合計が合わないことに気づきます。
一応デバッグでコード内を追っていきながら再確認。
するとView側で一覧表のデータを取得してJsonに変換してコントローラーに送るってところでデータが減ってる。
?
Web機能の一覧表、グリッドの機能はParamQueryGridてコントロールを使ってて、もちろんそのメソッドを使ってデータを取りこんでるんだけどな。
GetData()てメソッドが逸れなんだけど、どうもそのメソッドはデータを取得する際に一位のデータ、要は重複しないデータを戻すという仕様らしい。
なので今回のように全く同じ内容のデータが複数行登録されてる場合は重複しないデータだけが取得される。
なので合計しても合わなくなってしまうてことでした。
一括でデータを抽出するメソッドの仕様なので、とりあえず回避策は1行ずつ取得してJsonに追加していくって方法に変更すれば問題なし。
ちゃちゃっと改修して動作確認して、ちゃんと合計が合うようになりましたよ。
一応これで危急の対応は完了。
あとはちょこちょこした改修用件があるのでその対応して本日は終了。
ふ☁☔
0 件のコメント:
コメントを投稿