kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

フロント側をFlutter(スマホ)Thymeleaf(PC)、バックエンド側SpringBootの自動作成@自動生成ツール作成中

18:49
②昨日に続いて。洗い出したものを修正し、Vb.net自動作成@自動生成ツールを動かして自動作成した。
AndoroidStudioで出たエラーをさらに洗い出した。明日はこれを修正してまたコンパイルする。
さらに洗い出した内容。(洗い出し2回目)

■「検索・入力Ajax」の取得した値を表示するWidgetがない。とか、
 Form、SrchFormへの値設定の項目がないとか。
①
例:
        child:Column(
          children: <Widget>[
<<追加 start>>
            Rows (
              children: <Widget>[
<<追加 end>>
            TextFormField(
・・・
             onChanged: (value)  async {
                if (_itemForm.item31 != value as int) {
                  // httpアクセス
                  Map<String, dynamic>? map = await CommUtils
                      .createLrgMidSmlChange2(
                      context,
                      value,
                      '',
                      '',
                      '',
                      '',
                      '2',
                      '/elements/elem2',
                      'ary_lrgmidsml_biztype',
                      widget.headers,
                      widget.cookies);
                  setState(() {
<<修正前 start>>
                    _itemForm.bizname = map["LrgName"];
<<修正前 end>>
<<修正後 start>>
                    _itemForm.bizname = map!["LrgName"];
<<修正後 end>>
                  });
・・・
<<追加 start>>
                Text(_itemForm.bizname,
                    textAlign: TextAlign.left,
                    overflow: TextOverflow.clip,
                ),
              ]
            ),
<<追加 end>>
            Text(
              // HTTPで返却されたエラーメッセージを表示する。(エラーなしはText高=0にしている)
              _itemForm.itemErrForm.item31Err.join("\n"),
              textAlign: TextAlign.left,
              overflow: TextOverflow.clip,
              style: TextStyle(height:(_itemForm.itemErrForm.item31Err==[])?0:1.2,
                  fontSize: 12, fontWeight: FontWeight.normal, color: Colors.red),
            ),
<<修正前 start>>
          ]),
<<修正前 end>>
<<修正後 start>>
          ],
<<修正後 end>>

②「検索・入力Ajax」のForm、SrchFormへの値設定の項目がないので作る。
・VB.netのForm作成.vbのLrgmidsmlElements関連作成ForForm関数を参考にして、FlutterForm作成.vbに
 更新画面のPKObjと、Form、SrchFormのDBエレメント名項目を作る。
・更新画面のPKObjを使って更新画面のDBエレメントPKを作成するように修正する。

■エラーメッセージ項目が登録されていない
例①:以下のcheckItem07Err(検索・入力ラジオボタン)の定義がない
              _itemForm.itemErrForm.item07Err.join("\n") + 
              _itemForm.itemErrForm.checkItem07Err.join("\n"),
 ・Vb.netの検索・入力ラジオボタン、検索・入力プルダウンに対する処理に、
 「02_04_05_00_ItmElemErr部品.txt」を使うようにする

例②:以下のcheckItem27HissuErr(画像・必須)、checkItem27Err(画像)の定義がない
              style: TextStyle(height:(_itemForm.itemErrForm.item27FileErr==[] ||
                  _itemForm.itemErrForm.checkItem27HissuErr==[] ||
                  _itemForm.itemErrForm.checkItem27Err==[])?0:1.2,
                  fontSize: 12, fontWeight: FontWeight.normal, color: Colors.red),
 ・対象はひな形たち
 <<修正前>>
 check■{item_name}■
 <<修正後>>
 check■{Item_name}■


■ファイル項目、画像項目が1つでもある場合の処理でint項目の設定にキャストがない
例:以下の「_itemForm.item03」を「_itemForm.item03 as String;」にする
        var request = http.MultipartRequest("POST", url);
        request.fields['formComm.page'] = _itemForm.messageForm.page.toString();
        request.fields['itemForm.item02'] = _itemForm.item02;
        request.fields['itemForm.item03'] = _itemForm.item03;

■「検索・入力Ajax」のforItemFormControllerメソッド、fromItemFormControllerメソッドに
 TextEditingControllerが必要。
例:
 fromItemFormController(
・・・
<<追加 start>>
      TextEditingController item31Controller
<<追加 end>>
      ) {
・・・
<<追加 start>>
    item31 = item31Controller.text as int;
<<追加 end>>

■「ファイルを削除」に間違いがある
例:
              if (_itemForm.item28File != null) {
                //チェックボックス
                _contentWidget = Column(
                  children: [CheckboxListTile(
                    activeColor: Colors.orange,
<<修正前 start>>
                    title: const Text(("ファイル"を削除"),
<<修正前 end>>
<<修正後 start>>
                    title: const Text("ファイルを削除"),
<<修正後 end>>
                    controlAffinity: ListTileControlAffinity.leading,
                    value: _itemForm.item28Del=="1"?true:false,
                    onChanged: (value) {
                      setState(() {
                        _itemForm.item28Del = (value==true?"1":"0");
                      });
                    }
                )]);
              } else {

■2022/06/15に、勉強した成果:『Flutter_JavaSpringプログラム自動作成◎自動生成ツール』をVectorに載せました。Zenn本も書きました。使ってみての感想や間違いの指定や、こうやったほうがいいとかの情報があればメールください。
Vector
www.vector.co.jp
・Zenn本(Flutter_JavaSpringプログラム自動作成)
zenn.dev