From 8fdb1a45ddd55c97b51311b2d712400a32830778 Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Mon, 11 Mar 2024 15:25:58 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=93=81=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0133ebeb5b54aed369d35ab277528534ef73f401 | 13 + .../094339bed4ba4403f9b0c60c75ade3f6aa5e96bd | 9 + .../0b7d19b44eabe0d51a7ebb8a0badcbec8bf1236c | 0 .../0c6792b66c9573faf6f7f102bb584f282187174b | 11 + .../0f9efa8480b10f9adaa49898a79423f2ab0f6c1f | 3 + .../10e40d67bd7d0818c5483704f020703d1bef8378 | 2 + .../13dcb74adf880fa445de696c0054cd586cf8b27a | 28 + .../15440390b143518a793fd475726cbb96e5d1efa0 | 0 .../1bd0fad6108c13d02e39735b623b7af835725dc9 | 24 + .../2ad3fe4ba54e76946b9064e2e10aa26f43f04b61 | 4 + .../3828de74f3f9d1252984dd2c3524e61bc6632160 | 0 .../393731eb48daaa1a5f73e039a1985a2f2e7261dd | 4 + .../400fbf00a1743bc1972994d7dffce150f50044f7 | 4 + .../484515574155d74e2c0fb2f642d010e81da02c12 | 0 .../491288c6a971edd368823e6e6d6a676827d0d7b8 | 3 + .../4c8cfb9f6e3870061053a6e1c2ed8f7913178d04 | 0 .../4fc9e6b89767bdae6bb64ea2eb8bdc73585e739c | 0 .../57797c323a45bc67208d3507e8b58517d306782a | 2 + .../5cf8db646567d767805c9e2c9d75f48bf84445e6 | 0 .../5e792c3d58824a1b5f4e3d3d409be838f13c2ea8 | 0 .../600228c110448d16e5738c74733e1807e77f1b53 | 32 ++ .../6380d92563f750329b625bda0586fc4ba3b71943 | 2 + .../659d014d87cf2cb817ac8aa861692dafad6985ad | 14 + .../6a0eb843818d8343bd44f2eb6fb96a2a17ad511d | 0 .../6b42b2e9bd0103ce4b84ace62d3bb90c20fcbc63 | 0 .../796d922b8f48974be99c1f691627d6ead93d3114 | 2 + .../85dbedfade54927efe168608601c3aefd87bec15 | 0 .../89eeb13258719f34694cb541337f127c3bcaeda1 | 3 + .../8c15afe3f84fae04db4771870c3d8152dc6112b7 | 24 + .../8d5ad7519a7c25dad5b9ac989ab15bddd38c1744 | 0 .../9019fde59766868f22fd17bff1ddac61f4908ef3 | 5 + .../962216bab28ad31a04e330ae84fc8491b73be9eb | 0 .../9de12ba5bf4d57379fd943ac5f598bff5f7e9b09 | 5 + .../a47ce58066d26fa89d378900d3c7057e934eea66 | 0 .../a7241c86cb8a37ed0ceeb0177d553b8d09139e0f | 3 + .../a8ae509ac1fa3c77b43dddd6cf62c4d5b1bda604 | 0 .../b0de42f7cfd8eba26add38c170ecd5ad35938d74 | 0 .../cfb3b9e8e5934039226c5f151fead52f255d3821 | 0 .../df8b3befbd76ade64ad578e8f836ebe7dc24a98f | 0 .../e4862e0547db5b758eaf94b49e5b6e4f938c0b99 | 28 + .../e64c9e811d5217de8ee62ae956801ac875abef29 | 0 .../e70f0441bebe61574c00213f32c632aa2897c910 | 6 + .../hd/.idea/sonarlint/issuestore/index.pb | 86 ++- .../hd/logPath_IS_UNDEFINED/2024-03-11.0.log | 0 .../controller/BmClassStandardController.java | 124 +++++ .../service/IBmClassStandardService.java | 88 +++ .../service/dao/BmClassStandard.java | 119 ++++ .../dao/mapper/BmClassStandardMapper.java | 15 + .../dao/mapper/xml/BmClassStandardMapper.xml | 20 + .../service/dto/BmClassStandardTree.java | 121 ++++ .../impl/BmClassStandardServiceImpl.java | 518 ++++++++++++++++++ .../class_standard/UploadDialog.vue | 125 +++++ .../class_standard/classstandard.js | 98 ++++ .../wms/base_manage/class_standard/index.vue | 417 ++++++++++++++ 54 files changed, 1961 insertions(+), 1 deletion(-) create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/0/1/0133ebeb5b54aed369d35ab277528534ef73f401 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/0/9/094339bed4ba4403f9b0c60c75ade3f6aa5e96bd create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/0/b/0b7d19b44eabe0d51a7ebb8a0badcbec8bf1236c create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/0/f/0f9efa8480b10f9adaa49898a79423f2ab0f6c1f create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/1/0/10e40d67bd7d0818c5483704f020703d1bef8378 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/1/3/13dcb74adf880fa445de696c0054cd586cf8b27a create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/1/5/15440390b143518a793fd475726cbb96e5d1efa0 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/1/b/1bd0fad6108c13d02e39735b623b7af835725dc9 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/2/a/2ad3fe4ba54e76946b9064e2e10aa26f43f04b61 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/3/8/3828de74f3f9d1252984dd2c3524e61bc6632160 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/3/9/393731eb48daaa1a5f73e039a1985a2f2e7261dd create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/4/0/400fbf00a1743bc1972994d7dffce150f50044f7 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/4/8/484515574155d74e2c0fb2f642d010e81da02c12 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/4/9/491288c6a971edd368823e6e6d6a676827d0d7b8 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/4/c/4c8cfb9f6e3870061053a6e1c2ed8f7913178d04 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/4/f/4fc9e6b89767bdae6bb64ea2eb8bdc73585e739c create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/5/7/57797c323a45bc67208d3507e8b58517d306782a create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/5/c/5cf8db646567d767805c9e2c9d75f48bf84445e6 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/5/e/5e792c3d58824a1b5f4e3d3d409be838f13c2ea8 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/6/0/600228c110448d16e5738c74733e1807e77f1b53 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/6/3/6380d92563f750329b625bda0586fc4ba3b71943 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/6/5/659d014d87cf2cb817ac8aa861692dafad6985ad create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/6/a/6a0eb843818d8343bd44f2eb6fb96a2a17ad511d create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/6/b/6b42b2e9bd0103ce4b84ace62d3bb90c20fcbc63 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/7/9/796d922b8f48974be99c1f691627d6ead93d3114 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/8/5/85dbedfade54927efe168608601c3aefd87bec15 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/8/9/89eeb13258719f34694cb541337f127c3bcaeda1 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/8/c/8c15afe3f84fae04db4771870c3d8152dc6112b7 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/8/d/8d5ad7519a7c25dad5b9ac989ab15bddd38c1744 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/9/0/9019fde59766868f22fd17bff1ddac61f4908ef3 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/9/6/962216bab28ad31a04e330ae84fc8491b73be9eb create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/9/d/9de12ba5bf4d57379fd943ac5f598bff5f7e9b09 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/a/4/a47ce58066d26fa89d378900d3c7057e934eea66 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/a/7/a7241c86cb8a37ed0ceeb0177d553b8d09139e0f create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/a/8/a8ae509ac1fa3c77b43dddd6cf62c4d5b1bda604 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/b/0/b0de42f7cfd8eba26add38c170ecd5ad35938d74 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/c/f/cfb3b9e8e5934039226c5f151fead52f255d3821 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/d/f/df8b3befbd76ade64ad578e8f836ebe7dc24a98f create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/e/4/e4862e0547db5b758eaf94b49e5b6e4f938c0b99 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/e/6/e64c9e811d5217de8ee62ae956801ac875abef29 create mode 100644 wms_pro/hd/.idea/sonarlint/issuestore/e/7/e70f0441bebe61574c00213f32c632aa2897c910 create mode 100644 wms_pro/hd/logPath_IS_UNDEFINED/2024-03-11.0.log create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/controller/BmClassStandardController.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/IBmClassStandardService.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/BmClassStandard.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/BmClassStandardMapper.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/xml/BmClassStandardMapper.xml create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dto/BmClassStandardTree.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/impl/BmClassStandardServiceImpl.java create mode 100644 wms_pro/qd/src/views/wms/base_manage/class_standard/UploadDialog.vue create mode 100644 wms_pro/qd/src/views/wms/base_manage/class_standard/classstandard.js create mode 100644 wms_pro/qd/src/views/wms/base_manage/class_standard/index.vue diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/0/1/0133ebeb5b54aed369d35ab277528534ef73f401 b/wms_pro/hd/.idea/sonarlint/issuestore/0/1/0133ebeb5b54aed369d35ab277528534ef73f401 new file mode 100644 index 00000000..89981295 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/0/1/0133ebeb5b54aed369d35ab277528534ef73f401 @@ -0,0 +1,13 @@ + +t java:S116"ZRename this field "measure_unit_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +n java:S116#"TRename this field "unit_code" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(٧ +n java:S116("TRename this field "unit_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(︣ +m java:S116-"XRename this field "qty_precision" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +l java:S1162"RRename this field "is_used" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +i java:S1167"TRename this field "create_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116<"VRename this field "create_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116A"VRename this field "create_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ه +n java:S116F"TRename this field "update_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116K"VRename this field "update_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +k java:S116P"VRename this field "update_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +f java:S116U"QRename this field "ext_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(񐽕 \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/0/9/094339bed4ba4403f9b0c60c75ade3f6aa5e96bd b/wms_pro/hd/.idea/sonarlint/issuestore/0/9/094339bed4ba4403f9b0c60c75ade3f6aa5e96bd new file mode 100644 index 00000000..53f0cc80 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/0/9/094339bed4ba4403f9b0c60c75ade3f6aa5e96bd @@ -0,0 +1,9 @@ + +Q +java:S3740#"/Provide the parametrized type for this generic.(ُ8Ȑ1 +L +java:S3740-"/Provide the parametrized type for this generic.(8ɐ1 +Q +java:S37404"/Provide the parametrized type for this generic.(8ɐ1 +k java:S117#"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ُ +e java:S117;"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(h \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/0/b/0b7d19b44eabe0d51a7ebb8a0badcbec8bf1236c b/wms_pro/hd/.idea/sonarlint/issuestore/0/b/0b7d19b44eabe0d51a7ebb8a0badcbec8bf1236c new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b b/wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b new file mode 100644 index 00000000..0f45d7f8 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/0/c/0c6792b66c9573faf6f7f102bb584f282187174b @@ -0,0 +1,11 @@ + +u java:S116%"[Rename this field "local_table_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ֵ +p java:S116*"VRename this field "api_address" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ԛ +n java:S116/"TRename this field "sync_type" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +t java:S1164"ZRename this field "external_system" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ĥ +q java:S1169"WRename this field "mapping_json" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ύ +s java:S116>"YRename this field "last_update_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116C"[Rename this field "last_update_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ȯ +u java:S116H"[Rename this field "last_update_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Λ +B +java:S1948N"&Make "dtos" transient or serializable.(d81 \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/0/f/0f9efa8480b10f9adaa49898a79423f2ab0f6c1f b/wms_pro/hd/.idea/sonarlint/issuestore/0/f/0f9efa8480b10f9adaa49898a79423f2ab0f6c1f new file mode 100644 index 00000000..9520db27 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/0/f/0f9efa8480b10f9adaa49898a79423f2ab0f6c1f @@ -0,0 +1,3 @@ + +E +java:S3740/"/Provide the parametrized type for this generic.( \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/1/0/10e40d67bd7d0818c5483704f020703d1bef8378 b/wms_pro/hd/.idea/sonarlint/issuestore/1/0/10e40d67bd7d0818c5483704f020703d1bef8378 new file mode 100644 index 00000000..bffb945f --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/1/0/10e40d67bd7d0818c5483704f020703d1bef8378 @@ -0,0 +1,2 @@ + +N java:S106."9Replace this use of System.out or System.err by a logger.( \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/1/3/13dcb74adf880fa445de696c0054cd586cf8b27a b/wms_pro/hd/.idea/sonarlint/issuestore/1/3/13dcb74adf880fa445de696c0054cd586cf8b27a new file mode 100644 index 00000000..b3b3d3cd --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/1/3/13dcb74adf880fa445de696c0054cd586cf8b27a @@ -0,0 +1,28 @@ + +q java:S116"WRename this field "product_area" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116 "VRename this field "material_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ä +r java:S116$"XRename this field "material_code" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +r java:S116("XRename this field "material_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +m java:S116,"XRename this field "material_spec" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +n java:S1160"YRename this field "material_model" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ղ +q java:S1164"WRename this field "english_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +q java:S1168"WRename this field "base_unit_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +n java:S116<"YRename this field "assist_unit_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +s java:S116@"YRename this field "approve_fileno" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +m java:S116D"SRename this field "print_no" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116H"[Rename this field "material_type_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(縂 +p java:S116L"VRename this field "len_unit_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +n java:S116\"YRename this field "weight_unit_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(С +q java:S116`"WRename this field "gross_weight" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +o java:S116d"URename this field "net_weight" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +n java:S116h"YRename this field "cubage_unit_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +i java:S116p"TRename this field "create_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116t"VRename this field "create_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116x"VRename this field "create_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ه +n java:S116|"TRename this field "update_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +q java:S116"VRename this field "update_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +l java:S116"VRename this field "update_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +m java:S116"WRename this field "is_used_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +m java:S116"RRename this field "is_used" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +j java:S116"TRename this field "is_delete" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +g java:S116"QRename this field "ext_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(񐽕 \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/1/5/15440390b143518a793fd475726cbb96e5d1efa0 b/wms_pro/hd/.idea/sonarlint/issuestore/1/5/15440390b143518a793fd475726cbb96e5d1efa0 new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/1/b/1bd0fad6108c13d02e39735b623b7af835725dc9 b/wms_pro/hd/.idea/sonarlint/issuestore/1/b/1bd0fad6108c13d02e39735b623b7af835725dc9 new file mode 100644 index 00000000..d3937d77 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/1/b/1bd0fad6108c13d02e39735b623b7af835725dc9 @@ -0,0 +1,24 @@ + +v java:S116!"\Rename this field "storagevehicle_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +r java:S116&"^Rename this field "storagevehicle_code" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(@ +s java:S116+"^Rename this field "storagevehicle_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ƀ +h java:S1160"SRename this field "one_code" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ѩ +m java:S1165"SRename this field "two_code" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +i java:S116:"TRename this field "rfid_code" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ӎ +i java:S116?"TRename this field "create_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116D"VRename this field "create_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116I"VRename this field "create_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ه +n java:S116N"TRename this field "update_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +p java:S116S"VRename this field "update_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +k java:S116X"VRename this field "update_time" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +l java:S116^"RRename this field "is_used" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +s java:S116c"^Rename this field "storagevehicle_type" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +l java:S116h"XRename this field "vehicle_width" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(d +m java:S116n"YRename this field "vehicle_weight" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(j +q java:S116t"WRename this field "vehicle_long" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +m java:S116y"YRename this field "vehicle_height" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(I +t java:S116~"ZRename this field "overstruct_type" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ћ +q java:S116"[Rename this field "occupystruct_qty" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(پׅ +g java:S116"QRename this field "ext_id" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(񐽕 +A +java:S1128"+Remove this unused import 'java.util.Date'.( \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/2/a/2ad3fe4ba54e76946b9064e2e10aa26f43f04b61 b/wms_pro/hd/.idea/sonarlint/issuestore/2/a/2ad3fe4ba54e76946b9064e2e10aa26f43f04b61 new file mode 100644 index 00000000..f5e84c76 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/2/a/2ad3fe4ba54e76946b9064e2e10aa26f43f04b61 @@ -0,0 +1,4 @@ + +Q +java:S3740"/Provide the parametrized type for this generic.(81 +k java:S117"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/3/8/3828de74f3f9d1252984dd2c3524e61bc6632160 b/wms_pro/hd/.idea/sonarlint/issuestore/3/8/3828de74f3f9d1252984dd2c3524e61bc6632160 new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/3/9/393731eb48daaa1a5f73e039a1985a2f2e7261dd b/wms_pro/hd/.idea/sonarlint/issuestore/3/9/393731eb48daaa1a5f73e039a1985a2f2e7261dd new file mode 100644 index 00000000..ce8b944b --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/3/9/393731eb48daaa1a5f73e039a1985a2f2e7261dd @@ -0,0 +1,4 @@ + +y java:S116"dRename this field "storagevehicle_code_begin" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +| java:S116"bRename this field "storagevehicle_code_end" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +s java:S116"^Rename this field "storagevehicle_type" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/4/0/400fbf00a1743bc1972994d7dffce150f50044f7 b/wms_pro/hd/.idea/sonarlint/issuestore/4/0/400fbf00a1743bc1972994d7dffce150f50044f7 new file mode 100644 index 00000000..d43fefd4 --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/4/0/400fbf00a1743bc1972994d7dffce150f50044f7 @@ -0,0 +1,4 @@ + +u java:S116"[Rename this field "local_table_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ֵ + +java:S1128"dRemove this unused import 'org.nl.wms.base_manage.field_mapping.service.dao.BmExternalFieldMapping'.(81 \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/4/8/484515574155d74e2c0fb2f642d010e81da02c12 b/wms_pro/hd/.idea/sonarlint/issuestore/4/8/484515574155d74e2c0fb2f642d010e81da02c12 new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/4/9/491288c6a971edd368823e6e6d6a676827d0d7b8 b/wms_pro/hd/.idea/sonarlint/issuestore/4/9/491288c6a971edd368823e6e6d6a676827d0d7b8 new file mode 100644 index 00000000..719377ba --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/4/9/491288c6a971edd368823e6e6d6a676827d0d7b8 @@ -0,0 +1,3 @@ + +k java:S117I"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +k java:S117N"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ђ \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/4/c/4c8cfb9f6e3870061053a6e1c2ed8f7913178d04 b/wms_pro/hd/.idea/sonarlint/issuestore/4/c/4c8cfb9f6e3870061053a6e1c2ed8f7913178d04 new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/4/f/4fc9e6b89767bdae6bb64ea2eb8bdc73585e739c b/wms_pro/hd/.idea/sonarlint/issuestore/4/f/4fc9e6b89767bdae6bb64ea2eb8bdc73585e739c new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/5/7/57797c323a45bc67208d3507e8b58517d306782a b/wms_pro/hd/.idea/sonarlint/issuestore/5/7/57797c323a45bc67208d3507e8b58517d306782a new file mode 100644 index 00000000..7fc4e2dc --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/5/7/57797c323a45bc67208d3507e8b58517d306782a @@ -0,0 +1,2 @@ + +u java:S116"[Rename this field "local_table_name" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ֵ \ No newline at end of file diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/5/c/5cf8db646567d767805c9e2c9d75f48bf84445e6 b/wms_pro/hd/.idea/sonarlint/issuestore/5/c/5cf8db646567d767805c9e2c9d75f48bf84445e6 new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/5/e/5e792c3d58824a1b5f4e3d3d409be838f13c2ea8 b/wms_pro/hd/.idea/sonarlint/issuestore/5/e/5e792c3d58824a1b5f4e3d3d409be838f13c2ea8 new file mode 100644 index 00000000..e69de29b diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/6/0/600228c110448d16e5738c74733e1807e77f1b53 b/wms_pro/hd/.idea/sonarlint/issuestore/6/0/600228c110448d16e5738c74733e1807e77f1b53 new file mode 100644 index 00000000..3a85a54c --- /dev/null +++ b/wms_pro/hd/.idea/sonarlint/issuestore/6/0/600228c110448d16e5738c74733e1807e77f1b53 @@ -0,0 +1,32 @@ + +E +java:S37400"/Provide the parametrized type for this generic.( +o +java:S11927"TDefine a constant instead of duplicating this literal "storagevehicle_code" 3 times.( +k java:S117."QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(۟ +g java:S117"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.( +x +java:S1488"\Immediately return this expression instead of assigning it to the temporary variable "list".( + +java:S1488"\Immediately return this expression instead of assigning it to the temporary variable "json".(81 +] java:S125(""8Remove this useless assignment to local variable "code".(81 +Z +java:S1854A"8Remove this useless assignment to local variable "code".(81 +Z +java:S1854D"8Remove this useless assignment to local variable "code".(ܽ81 +U +java:S1854G"8Remove this useless assignment to local variable "code".(Ç81 +U +java:S1854J"8Remove this useless assignment to local variable "code".(81 +Z +java:S1854M"8Remove this useless assignment to local variable "code".(81 +F +java:S1481;")Remove this unused "code" local variable.(81 +< java:S131<""Add a default case to this switch.( +X java:S125U" queryList(@RequestParam Map whereJson) { + return new ResponseEntity<>(TableDataInfo.build(classStandardService.dropdownList(whereJson)), HttpStatus.OK); + } + + @PostMapping + public ResponseEntity create(@Validated @RequestBody JSONObject form) { + classStandardService.create(form); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + public ResponseEntity update(@Validated @RequestBody JSONObject form) { + classStandardService.updateForm(form); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + public ResponseEntity delete(@RequestBody String[] ids) { + classStandardService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/loadClass") + public ResponseEntity query(@RequestParam Map whereJson) { + return new ResponseEntity<>(TableDataInfo.build(classStandardService.loadClass(whereJson)), HttpStatus.OK); + } + + @GetMapping("/getClass") + public ResponseEntity queryClassBycode(@RequestParam Map whereJson) { + return new ResponseEntity<>(TableDataInfo.build(classStandardService.queryClassBycode(whereJson)), HttpStatus.OK); + } + + + @GetMapping("/queryClassById") + public ResponseEntity queryClassById(@RequestParam Map whereJson) { + return new ResponseEntity<>(TableDataInfo.build(classStandardService.queryClassById(whereJson)), HttpStatus.OK); + } + + @GetMapping("/getClassTable") + public ResponseEntity queryClassTable(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(classStandardService.queryClassTable(whereJson, page), HttpStatus.OK); + } + + @PostMapping("/superior") + public ResponseEntity getSuperior(@RequestBody String id) { + BmClassStandard classStandard = classStandardService.getById(id); + JSONArray maters = classStandardService.getSuperior(classStandard, new JSONArray()); + return new ResponseEntity<>(classStandardService.buildTree(maters), HttpStatus.OK); + } + + @PostMapping("/superior2") + public ResponseEntity getSuperior2(@RequestBody String param) { + JSONArray arr = JSONArray.parseArray(param); + JSONObject parse = arr.getJSONObject(0); + String id = parse.getString("id"); + if (StringUtils.isEmpty(id)) { + return new ResponseEntity<>(HttpStatus.OK); + } + BmClassStandard classStandard = classStandardService.getById(id); + JSONArray maters = classStandardService.getSuperiorLimit(classStandard, new JSONArray(), parse.getString("parent_id")); + return new ResponseEntity<>(classStandardService.buildTree(maters), HttpStatus.OK); + } + + @GetMapping("/getType") + public ResponseEntity getType(@RequestParam Map whereJson) { + String type_id = MapUtil.getStr(whereJson, "type_id"); + int level = MapUtil.getInt(whereJson, "level"); + return new ResponseEntity<>(classStandardService.getType(type_id, level), HttpStatus.OK); + } + + @GetMapping("/getClassName") + public ResponseEntity getClassName() { + return new ResponseEntity<>(classStandardService.getClassName(), HttpStatus.OK); + } + + @PostMapping("/excelImport") + public ResponseEntity excelImport(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) { + RedissonUtils.lock(() -> { + classStandardService.excelImport(file, request, response); + }, "基础分类导入", null); + return new ResponseEntity<>(HttpStatus.OK); + } + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/IBmClassStandardService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/IBmClassStandardService.java new file mode 100644 index 00000000..ad5f6fd0 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/IBmClassStandardService.java @@ -0,0 +1,88 @@ +package org.nl.wms.base_manage.class_standard.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.base_manage.class_standard.service.dao.BmClassStandard; +import org.springframework.data.domain.Pageable; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 基础数据分类标准表 服务类 + *

+ * + * @author generator + * @since 2023-05-05 + */ +public interface IBmClassStandardService extends IService { + + /** + * 物料类型下拉选 + * @param json + * @return + */ + List dropdownList(Map json); + + /** + * 家在物料列表 + * @param whereJson + */ + List loadClass(Map whereJson); + + + List queryClassBycode(Map whereJson); + + List queryClassById(Map whereJson); + + + /** + * 创建 + * @param form + * @return + */ + String create(JSONObject form); + + /** + * 修改 + * @param form + * @return + */ + String updateForm(JSONObject form); + + /** + * 删除当前及子集 + * @param ids + */ + void deleteAll(String[] ids); + + /** + * c查询子集 + * @param class_id + * @return + */ + List getChildIdStr(String class_id); + + Set getAllChildIdSet(String class_idStr); + + void excelImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException; + + JSONObject queryClassTable(Map whereJson, Pageable page); + + JSONArray getSuperior(BmClassStandard classStandard, JSONArray objects); + + JSONObject buildTree(JSONArray maters); + + JSONArray getSuperiorLimit(BmClassStandard classStandard, JSONArray objects, String parent_id); + + BmClassStandard getType(String type_id, int level); + + JSONArray getClassName(); +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/BmClassStandard.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/BmClassStandard.java new file mode 100644 index 00000000..d1451437 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/BmClassStandard.java @@ -0,0 +1,119 @@ +package org.nl.wms.base_manage.class_standard.service.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 基础数据分类标准表 + *

+ * + * @author generator + * @since 2023-05-05 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bm_class_standard") +public class BmClassStandard implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 分类标识 + */ + @TableId(value = "class_id") + private String class_id; + + /** + * 分类编码 + */ + private String class_code; + + /** + * 分类长编码 + */ + private String long_class_code; + + /** + * 分类名称 + */ + private String class_name; + + /** + * 分类简要描述 + */ + private String class_desc; + + /** + * 上级分类标识 + */ + private String parent_class_id; + + /** + * 子部门数目 + */ + private Integer sub_count; + + /** + * 是否叶子 + */ + private Boolean is_leaf; + + /** + * 是否可修改 + */ + private Boolean is_modify; + + /** + * 级别 + */ + private String class_level; + + /** + * 外部标识 + */ + private String ext_id; + + /** + * 外部上级标识 + */ + private String ext_parent_id; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_id; + + /** + * 修改人姓名 + */ + private String update_name; + + /** + * 修改时间 + */ + private String update_time; + + private Boolean is_delete; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/BmClassStandardMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/BmClassStandardMapper.java new file mode 100644 index 00000000..311a4a64 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/BmClassStandardMapper.java @@ -0,0 +1,15 @@ +package org.nl.wms.base_manage.class_standard.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.base_manage.class_standard.service.dao.BmClassStandard; + +import java.util.List; + +/** + * @Description TODO + * @Author Gengby + * @Date 2024/3/11 + */ +public interface BmClassStandardMapper extends BaseMapper { + List getChildIdStr(String class_id); +} \ No newline at end of file diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/xml/BmClassStandardMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/xml/BmClassStandardMapper.xml new file mode 100644 index 00000000..7bce31df --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dao/mapper/xml/BmClassStandardMapper.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dto/BmClassStandardTree.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dto/BmClassStandardTree.java new file mode 100644 index 00000000..b077d628 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/dto/BmClassStandardTree.java @@ -0,0 +1,121 @@ +package org.nl.wms.base_manage.class_standard.service.dto; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.List; + +/** + *

+ * 基础数据分类标准表 + *

+ * + * @author generator + * @since 2023-05-05 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bm_class_standard") +public class BmClassStandardTree implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 分类标识 + */ + @TableId(value = "class_id") + private String class_id; + + /** + * 分类编码 + */ + private String class_code; + + /** + * 分类长编码 + */ + private String long_class_code; + + /** + * 分类名称 + */ + private String class_name; + + /** + * 分类简要描述 + */ + private String class_desc; + + /** + * 上级分类标识 + */ + private String parent_class_id; + + /** + * 子部门数目 + */ + private Integer sub_count; + + /** + * 是否叶子 + */ + private Boolean is_leaf; + + /** + * 是否可修改 + */ + private Boolean is_modify; + + /** + * 级别 + */ + private String class_level; + + /** + * 外部标识 + */ + private String ext_id; + + /** + * 外部上级标识 + */ + private String ext_parent_id; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_id; + + /** + * 修改人姓名 + */ + private String update_name; + + /** + * 修改时间 + */ + private String update_time; + + + private List itemClassstrandard; + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/impl/BmClassStandardServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/impl/BmClassStandardServiceImpl.java new file mode 100644 index 00000000..fd8ad512 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/class_standard/service/impl/BmClassStandardServiceImpl.java @@ -0,0 +1,518 @@ +package org.nl.wms.base_manage.class_standard.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.poi.excel.ExcelReader; +import cn.hutool.poi.excel.ExcelUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sun.istack.internal.NotNull; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.CopyUtil; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.base_manage.class_standard.service.IBmClassStandardService; +import org.nl.wms.base_manage.class_standard.service.dao.BmClassStandard; +import org.nl.wms.base_manage.class_standard.service.dao.mapper.BmClassStandardMapper; +import org.nl.wms.base_manage.class_standard.service.dto.BmClassStandardTree; +import org.nl.wms.base_manage.material.service.IBmMaterialService; +import org.nl.wms.base_manage.material.service.dao.BmMaterial; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 基础数据分类标准表 服务实现类 + *

+ * + * @author generator + * @since 2023-05-05 + */ +@Service +public class BmClassStandardServiceImpl extends ServiceImpl implements IBmClassStandardService { + + @Autowired + private IBmMaterialService materialService; + + @Override + public List dropdownList(Map whereJson) { + Assert.notNull(whereJson, "参数不能为空"); + QueryWrapper query = new QueryWrapper() + .eq("parent_class_id", "0") + .eq("is_delete", false); + if (whereJson.get("class_code") != null) { + query.eq("class_code", whereJson.get("class_code")); + } + return getMaps(this.listMaps(query)); + } + + @Override + public List loadClass(Map whereJson) { + List> list = this.listMaps(new QueryWrapper() + .eq("is_delete", false) + .eq("parent_class_id", whereJson.get("pid") == null ? "0" : whereJson.get("pid"))); + List result = getMaps(list); + return result; + } + + @NotNull + private List getMaps(List> list) { + List result = new ArrayList<>(); + for (int i = 0; i < list.size(); i++) { + Map item = list.get(i); + if ((int) item.get("sub_count") > 0) { + item.put("hasChildren", true); + item.put("leaf", false); + } else { + item.put("hasChildren", false); + item.put("leaf", true); + } + item.put("id", item.get("class_id")); + item.put("label", item.get("class_name")); + item.put("create_user_name", item.get("create_name")); + item.put("update_user_name", item.get("update_name")); + result.add(item); + } + return result; + } + + + @Override + public List queryClassBycode(Map whereJson) { + BmClassStandard classstandard = null; + if (ObjectUtil.isNotEmpty(whereJson.get("parent_class_code"))) { + classstandard = this.getOne(new QueryWrapper().eq("class_code", whereJson.get("parent_class_code"))); + if (classstandard == null) { + throw new BadRequestException("请输入正确的父节点编号!"); + } + } + QueryWrapper query = new QueryWrapper().eq("is_delete", false); + if (ObjectUtil.isNotEmpty(whereJson.get("class_code"))) { + query.in("class_code", whereJson.get("class_code")); + } + if (ObjectUtil.isNotEmpty(whereJson.get("parent_class_code")) && !whereJson.get("parent_class_code").equals("0")) { + query.eq("class_id", classstandard.getClass_id()); + } + if (ObjectUtil.isNotEmpty(whereJson.get("parent_class_code")) || whereJson.get("parent_class_code").equals("0")) { + query.eq("parent_class_id", "0").or().isNull("parent_class_id"); + } + return getMaps(this.listMaps(query)); + } + + + @Override + public List queryClassById(Map whereJson) { + QueryWrapper query = new QueryWrapper<>(); + query.eq("1", "1"); + if (ObjectUtil.isNotEmpty(whereJson.get("material_id"))) { + BmMaterial one = materialService.getOne(new QueryWrapper().eq("material_id", whereJson.get("material_id"))); + whereJson.put("class_idStr", one.getMaterial_type_id()); + } + query.eq("1", "1"); + if (ObjectUtil.isNotEmpty(whereJson.get("material_id"))) { + BmMaterial one = materialService.getOne(new QueryWrapper().eq("material_id", whereJson.get("material_id"))); + if (null != one) { + whereJson.put("class_idStr", one.getMaterial_type_id()); + } + } + if (ObjectUtil.isNotEmpty(whereJson.get("whereStr"))) { + query.last((String) whereJson.get("whereStr")); + } + if (ObjectUtil.isNotEmpty(whereJson.get("parent_class_id"))) { + query.eq("parent_class_id", whereJson.get("parent_class_id")); + } + if (ObjectUtil.isNotEmpty(whereJson.get("class_idStr"))) { + query.in("class_id", whereJson.get("class_idStr")); + if (ObjectUtil.isNotEmpty(whereJson.get("class_idStr"))) { + query.last("and class_id in (" + whereJson.get("class_idStr") + ")"); + } + } + List> list = this.listMaps(query); + return getMaps(list); + } + + @Override + @Transactional + public String create(JSONObject form) { + BmClassStandard one = this.getOne(new QueryWrapper().eq("class_code", form.getString("class_code"))); + if (one != null) { + throw new BadRequestException(form.getString("class_code") + "存在相同的基础类别编号"); + } + BmClassStandard classstandard = form.toJavaObject(BmClassStandard.class); + classstandard.setClass_id(IdUtil.getStringId()); + classstandard.setCreate_id(SecurityUtils.getCurrentUserId()); + classstandard.setCreate_name(SecurityUtils.getCurrentNickName()); + classstandard.setCreate_time(DateUtil.now()); + classstandard.setIs_leaf(true); + classstandard.setClass_level(Math.ceil(classstandard.getClass_code().length() / 2.0) + ""); + classstandard.setSub_count(0); + classstandard.setLong_class_code(classstandard.getClass_code()); + this.save(classstandard); + ///更新节点 + if (classstandard.getParent_class_id() != null) { + updateSubCnt(classstandard.getParent_class_id()); + } + return classstandard.getClass_id(); + } + + public void updateSubCnt(String class_id) { + if (!StringUtils.isEmpty(class_id) && !class_id.equals("0")) { + BmClassStandard one = this.getOne(new QueryWrapper().eq("class_id", class_id).eq("is_delete", false)); + if (one == null) { + throw new BadRequestException(class_id + "没有对应分类数据"); + } + int count = this.count(new QueryWrapper() + .eq("parent_class_id", class_id)); + + one.setSub_count(count); + one.setIs_leaf(count > 0 ? false : true); + this.updateById(one); + } + } + + @Override + @Transactional + public String updateForm(JSONObject form) { + checkParam(form); + BmClassStandard dto = form.toJavaObject(BmClassStandard.class); + dto.setUpdate_time(DateUtil.now()); + dto.setUpdate_id(SecurityUtils.getCurrentUserId()); + dto.setUpdate_name(SecurityUtils.getCurrentNickName()); + this.updateById(dto); + + //更新父节点中子节点数目 + String oldPid = this.getOne(new QueryWrapper().eq("class_id", form.getString("class_id"))).getParent_class_id(); + updateSubCnt(oldPid); + updateSubCnt(form.getString("parent_class_id")); + return null; + } + + private void checkParam(JSONObject form) { + Assert.notNull(form, "参数不能为空"); + BmClassStandard onebyid = this.getOne(new QueryWrapper().eq("class_id", form.getString("class_id"))); + if (onebyid == null) { + throw new BadRequestException(form.getString("class_id") + "被删除或无权限,操作失败!"); + } + if (form.getString("parent_class_id") != null && form.getString("class_id").equals(form.getString("parent_class_id"))) { + throw new BadRequestException("上级不能为自己"); + } + } + + @Override + public void deleteAll(String[] ids) { + final String TOP_PARENT_ID = "0"; + if (ids == null || ids.length == 0) { + return; + } + List list = CopyUtil.copyList(this.list(), BmClassStandardTree.class); + Map> collect = list.stream().collect(Collectors.groupingBy(BmClassStandardTree::getParent_class_id)); + + Set removeCollect = new HashSet<>(); + for (String id : ids) { + removeCollect.add(id); + List top_parent = collect.remove(id); + if (!CollectionUtils.isEmpty(top_parent)) { + this.getChildTree(top_parent, collect, removeCollect); + } + } + if (!CollectionUtils.isEmpty(removeCollect)) { + this.update(new UpdateWrapper() + .set("is_delete", true) + .set("update_id", SecurityUtils.getCurrentUserId()) + .set("update_name", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).in("class_id", removeCollect)); + } + } + + private List getChildTree(List top_parent, Map> collect, Set removeCollect) { + removeCollect.addAll(top_parent.stream().map(BmClassStandardTree::getClass_id).collect(Collectors.toList())); + + if (CollectionUtils.isEmpty(collect)) { + return top_parent; + } + for (BmClassStandardTree parent : top_parent) { + List child = collect.remove(parent.getClass_id()); + if (CollectionUtils.isEmpty(child)) { + continue; + } + List childMenuTree = getChildTree(child, collect, removeCollect); + if (!CollectionUtils.isEmpty(childMenuTree)) { + parent.setItemClassstrandard(childMenuTree); + } + } + return top_parent; + } + + + @Override + public List getChildIdStr(String class_id) { + if (StringUtils.isEmpty(class_id)) { + return new ArrayList<>(); + } + return this.baseMapper.getChildIdStr(class_id); + } + + @Override + public JSONArray getSuperior(BmClassStandard classStandard, JSONArray ja) { + if (StrUtil.isEmpty(classStandard.getParent_class_id()) || classStandard.getParent_class_id().equals("0")) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmClassStandard::getIs_delete, "0") + .and(q -> q.eq(BmClassStandard::getParent_class_id, "0") + .or().isNull(BmClassStandard::getParent_class_id)); + List bmClassStandards = this.baseMapper.selectList(lqw); + + for (int m = 0; m < bmClassStandards.size(); m++) { + BmClassStandard bmClassStandard = bmClassStandards.get(m); + ja.add(bmClassStandard); + } + return ja; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().eq(BmClassStandard::getParent_class_id, classStandard.getParent_class_id()); + List bmClassStandards = this.baseMapper.selectList(queryWrapper); + for (int n = 0; n < bmClassStandards.size(); n++) { + BmClassStandard bmClassStandard = bmClassStandards.get(n); + ja.add(bmClassStandard); + } + BmClassStandard bmClassStandard = this.baseMapper.selectById(classStandard.getParent_class_id()); + return getSuperior(bmClassStandard, ja); + } + + @Override + public Set getAllChildIdSet(String class_idStr) { + List class_ids = this.list(new QueryWrapper().in("class_id", class_idStr)); + Set set = new HashSet<>(); + set.add(class_idStr); + for (BmClassStandard classstandard : class_ids) { + set.addAll(this.getChildIdStr(classstandard.getClass_id())); + } + return set; + } + + @Override + public void excelImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException { + InputStream inputStream = file.getInputStream(); + ExcelReader excelReader = ExcelUtil.getReader(inputStream); + List> read = excelReader.read(); + + Map errorMap = new HashMap(); + for (int i = 1; i < read.size(); i++) { + List list = read.get(i); + if (ObjectUtil.isEmpty(list)) { + continue; + } + if (ObjectUtil.isEmpty(list.get(0))) { + errorMap.put("第" + (i + 1) + "行:", "分类编码为空!"); + continue; + } + String class_code = String.valueOf(list.get(0)); + BmClassStandard one = this.getOne(new QueryWrapper().eq("class_code", class_code).eq("is_delete", false)); + if (one != null) { + errorMap.put("第" + (i + 1) + "行:", "存在相同的分类编码:" + class_code); + continue; + } else { + one = new BmClassStandard(); + } + + String class_name = (String) list.get(1); + if (ObjectUtil.isEmpty(class_name)) { + errorMap.put("第" + (i + 1) + "行:", "分类名称为空!"); + continue; + } + String class_desc = (String) list.get(2); + if (StrUtil.isNotEmpty(class_desc)) { + one.setClass_desc(class_desc); + } + + one.setClass_id(IdUtil.getStringId()); + one.setClass_code(class_code); + one.setClass_name(class_name); + one.setCreate_id(SecurityUtils.getCurrentUserId()); + one.setCreate_name(SecurityUtils.getCurrentNickName()); + one.setCreate_time(DateUtil.now()); + one.setIs_leaf(true); + one.setSub_count(0); + + if (ObjectUtil.isNotEmpty(list.get(3))) { + String pareant_class_code = String.valueOf(list.get(3)); + ///更新节点 + if (StrUtil.isNotEmpty(pareant_class_code)) { + BmClassStandard parent_one = this.getOne(new QueryWrapper().eq("class_code", pareant_class_code).eq("is_delete", false)); + if (ObjectUtil.isEmpty(parent_one)) { + errorMap.put("第" + (i + 1) + "行:", "父节点对应的编码:" + pareant_class_code + "不存在!"); + } else { + one.setParent_class_id(parent_one.getClass_id()); + this.save(one); + updateSubCnt(parent_one.getParent_class_id()); + } + + } + } + } + if (!CollectionUtils.isEmpty(errorMap)) { + throw new BadRequestException(JSON.toJSONString(errorMap)); + } + } + + @Override + public JSONObject queryClassTable(Map whereJson, Pageable page) { + return null; + } + + @Override + public JSONObject buildTree(JSONArray ja) { + Set trees = new LinkedHashSet<>(); + Set maters = new LinkedHashSet<>(); + List mater_name = new LinkedList<>(); + for (int i = 0; i < ja.size(); i++) { + JSONObject jo = ja.getJSONObject(i); + mater_name.add(jo.getString("class_name")); + } + boolean isChild; + for (int m = 0; m < ja.size(); m++) { + JSONObject jo1 = ja.getJSONObject(m); + isChild = false; + if (jo1.getString("parent_class_id").equals("0") || StrUtil.isEmpty(jo1.getString("parent_class_id"))) { + jo1.put("id", jo1.getString("class_id")); + jo1.put("label", jo1.getString("class_name")); + if (jo1.getInteger("sub_count") > 0) { + jo1.put("hasChildren", true); + jo1.put("leaf", false); + } else { + jo1.put("hasChildren", false); + jo1.put("leaf", true); + } + trees.add(jo1); + } + for (int n = 0; n < ja.size(); n++) { + JSONObject jo2 = ja.getJSONObject(n); + if (!jo2.getString("class_id").equals("0") && jo1.getString("class_id").equals(jo2.getString("parent_class_id"))) { + isChild = true; + if (jo1.getJSONArray("children") == null) { + jo1.put("children", new JSONArray()); + } + JSONArray child_ja = jo1.getJSONArray("children"); + jo2.put("id", jo2.getString("class_id")); + jo2.put("label", jo2.getString("class_name")); + if (jo2.getInteger("sub_count") > 0) { + jo2.put("hasChildren", true); + jo2.put("leaf", false); + } else { + jo2.put("hasChildren", false); + jo2.put("leaf", true); + } + child_ja.add(jo2); + } + } + if (isChild) { + jo1.put("id", jo1.getString("class_id")); + jo1.put("label", jo1.getString("class_name")); + if (jo1.getInteger("sub_count") > 0) { + jo1.put("hasChildren", true); + jo1.put("leaf", false); + } else { + jo1.put("hasChildren", false); + jo1.put("leaf", true); + } + maters.add(jo1); + } else if (!jo1.getString("class_id").equals("0") && !mater_name.contains(jo1.getString("material_type_name"))) { + jo1.put("id", jo1.getString("class_id")); + jo1.put("label", jo1.getString("class_name")); + if (jo1.getInteger("sub_count") > 0) { + jo1.put("hasChildren", true); + jo1.put("leaf", false); + } else { + jo1.put("hasChildren", false); + jo1.put("leaf", true); + } + maters.add(jo1); + } + } + if (maters.size() == 0) { + maters = trees; + } + JSONObject jo = new JSONObject(); + jo.put("totalElements", ja.size()); + jo.put("content", maters.size() == 0 ? ja : trees); + return jo; + } + + @Override + public JSONArray getSuperiorLimit(BmClassStandard classStandard, JSONArray ja, String parent_id) { + if (StrUtil.isEmpty(classStandard.getParent_class_id()) || classStandard.getParent_class_id().equals("0")) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmClassStandard::getIs_delete, "0") + .and(q -> q.eq(BmClassStandard::getParent_class_id, "0") + .or().isNull(BmClassStandard::getParent_class_id)); + List bmClassStandards = this.baseMapper.selectList(lqw); + + for (int m = 0; m < bmClassStandards.size(); m++) { + BmClassStandard bmClassStandard = bmClassStandards.get(m); + ja.add(bmClassStandard); + } + return ja; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().eq(BmClassStandard::getParent_class_id, classStandard.getParent_class_id()); + List bmClassStandards = this.baseMapper.selectList(queryWrapper); + for (int n = 0; n < bmClassStandards.size(); n++) { + BmClassStandard bmClassStandard = bmClassStandards.get(n); + ja.add(bmClassStandard); + } + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper().eq(BmClassStandard::getClass_id, classStandard.getParent_class_id()); + BmClassStandard bmClassStandard = this.baseMapper.selectOne(lambdaQueryWrapper); + if (bmClassStandard.getClass_id().equals(parent_id)) { + ja.add(bmClassStandard); + return ja; + } + return getSuperiorLimit(bmClassStandard, ja, parent_id); + } + + @Override + public BmClassStandard getType(String type_id, int level) { + BmClassStandard bmClassStandard = this.baseMapper.selectById(type_id); + if (ObjectUtil.isEmpty(bmClassStandard)) { + return null; + } + String class_code = bmClassStandard.getClass_code(); + if (class_code.length() / 2 == level) { + return bmClassStandard; + } else { + return getType(bmClassStandard.getParent_class_id(), level); + } + + } + + @Override + public JSONArray getClassName() { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmClassStandard::getIs_delete, "0") + .and(q -> q.eq(BmClassStandard::getParent_class_id, "0") + .or().isNull(BmClassStandard::getParent_class_id)); + List bmClassStandards = this.baseMapper.selectList(lqw); + JSONArray res = new JSONArray(); + for (int i = 0; i < bmClassStandards.size(); i++) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("label", bmClassStandards.get(i).getClass_name()); + jsonObject.put("value", bmClassStandards.get(i).getClass_code()); + res.add(jsonObject); + } + return res; + } +} diff --git a/wms_pro/qd/src/views/wms/base_manage/class_standard/UploadDialog.vue b/wms_pro/qd/src/views/wms/base_manage/class_standard/UploadDialog.vue new file mode 100644 index 00000000..f8bbdb7a --- /dev/null +++ b/wms_pro/qd/src/views/wms/base_manage/class_standard/UploadDialog.vue @@ -0,0 +1,125 @@ + + + + diff --git a/wms_pro/qd/src/views/wms/base_manage/class_standard/classstandard.js b/wms_pro/qd/src/views/wms/base_manage/class_standard/classstandard.js new file mode 100644 index 00000000..7eb86733 --- /dev/null +++ b/wms_pro/qd/src/views/wms/base_manage/class_standard/classstandard.js @@ -0,0 +1,98 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/bmClassStandard', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/bmClassStandard/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/bmClassStandard', + method: 'put', + data + }) +} + +export function getClass(params) { + return request({ + url: 'api/bmClassStandard/loadClass', + method: 'get', + params + }) +} + +export function getClassSuperior(ids) { + const data = ids.length || ids.length === 0 ? ids : Array.of(ids) + return request({ + url: 'api/bmClassStandard/superior', + method: 'post', + data + }) +} +export function getClassSuperior2(ids) { + const data = ids.length || ids.length === 0 ? ids : Array.of(ids) + return request({ + url: 'api/bmClassStandard/superior2', + method: 'post', + data + }) +} + +export function getClassType(params) { + return request({ + url: 'api/bmClassStandard/getClass', + method: 'get', + params + }) +} +export function queryClassById(params) { + return request({ + url: 'api/bmClassStandard/queryClassById', + method: 'get', + params + }) +} +// 传入分类标识和级别 +export function getType(params) { + return request({ + url: 'api/bmClassStandard/getType', + method: 'get', + params + }) +} + +export function getClassTable(params) { + return request({ + url: 'api/bmClassStandard/getClassTable', + method: 'get', + params + }) +} + +export function getClassName() { + return request({ + url: 'api/bmClassStandard/getClassName', + method: 'get' + }) +} + +export function excelImport(data) { + return request({ + url: 'api/bmClassStandard/excelImport', + method: 'post', + data + }) +} + +export default { add, edit, del, getClass, getClassSuperior,getClassSuperior2, getClassType, getClassTable, getType, queryClassById, getClassName, excelImport } diff --git a/wms_pro/qd/src/views/wms/base_manage/class_standard/index.vue b/wms_pro/qd/src/views/wms/base_manage/class_standard/index.vue new file mode 100644 index 00000000..218cdc72 --- /dev/null +++ b/wms_pro/qd/src/views/wms/base_manage/class_standard/index.vue @@ -0,0 +1,417 @@ + + + + +